/*
Theme Name: E. Scott Financial
Template: twentytwentyfive
Description: Child theme for E. Scott Financial Services. Built by Peak Service.
Version: 1.0.0
Text Domain: escott-financial
*/
:root{--es-navy:#0C2459;--es-deep:#071A3F;--es-green:#2E7316;--es-green-mid:#3B8A1D;--es-green-lt:#7CC04A;--es-ink:#14203A;--es-muted:#545F73;--es-line:#DCE2D8;--es-paper:#F4F6F0;--es-serif:"Cinzel","Trajan Pro",Georgia,serif;--es-sans:"Montserrat",system-ui,sans-serif}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--es-sans)}
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block-start:0}
.es-main{margin:0}
.es-main>.entry-content,.es-main>.wp-block-post-content{margin:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:where(a,button):focus-visible{outline:2px solid var(--es-green-mid);outline-offset:3px}

/* Buttons */
.es-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border-radius:4px;font-family:var(--es-sans);font-weight:600;font-size:15px;letter-spacing:.01em;text-decoration:none;line-height:1.2;white-space:nowrap;transition:background-color .15s ease,transform .15s ease}
.es-btn:active{transform:translateY(1px)}
.es-btn--green{background:var(--es-green);color:#fff}
.es-btn--green:hover{background:#25600F;color:#fff}

/* Header: navy utility strip + white bar */
.es-site-header{position:relative;z-index:30;background:#fff;border-bottom:1px solid var(--es-line)}
.es-util{background:var(--es-deep);color:#C9D2E3;font-size:13px}
.es-util__in{max-width:1240px;margin:0 auto;padding:9px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.es-util p{margin:0}
.es-util__tag{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:11.5px;color:#fff}
.es-util__tag span{width:5px;height:5px;border-radius:50%;background:var(--es-green-lt);display:inline-block}
.es-util__meta a{color:#fff;font-weight:600;text-decoration:none;margin-left:16px;padding-left:16px;border-left:1px solid rgba(255,255,255,.2)}
.es-util__meta a:hover{color:var(--es-green-lt)}
.es-bar__in{max-width:1240px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:28px}
.es-logo{display:inline-flex;text-decoration:none;flex:0 0 auto}
.es-logo__img{display:block;height:74px;width:auto}
.es-nav.wp-block-navigation{flex:1 1 auto;font-size:15.5px;gap:4px}
.es-nav .wp-block-navigation__container{gap:4px}
.es-nav .wp-block-navigation-item__content{padding:10px 14px!important;color:var(--es-ink);font-weight:600;text-decoration:none;position:relative}
.es-nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--es-green-mid);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.es-nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content:hover::after,.es-nav .current-menu-item>.wp-block-navigation-item__content::after{transform:scaleX(1)}
.es-nav .wp-block-navigation__responsive-container:not(.is-menu-open),.es-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container,.es-nav .wp-block-navigation__container>.wp-block-navigation-item{background:transparent!important}
.es-nav .wp-block-navigation-item.has-child{position:relative}
.es-nav .wp-block-navigation-submenu__toggle{padding-right:34px!important}
.es-nav .wp-block-navigation-item.has-child>.wp-block-navigation__submenu-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);margin:0;pointer-events:none;width:10px;height:10px}
.es-nav .wp-block-navigation__submenu-container{border:1px solid var(--es-line)!important;border-top:3px solid var(--es-green-mid)!important;border-radius:0 0 6px 6px;padding:8px!important;min-width:240px!important;top:calc(100% + 4px)!important;background:#fff!important;box-shadow:0 14px 30px rgba(12,36,89,.10)}
.es-nav .wp-block-navigation__submenu-container .wp-block-navigation-item{background:transparent!important}
.es-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:10px 14px!important;font-weight:500;border-radius:4px}
.es-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--es-paper);color:var(--es-navy)}
.es-bar__cta{flex:0 0 auto}
@media (min-width:600px){
.es-nav .wp-block-navigation-item.has-child:hover>.wp-block-navigation__submenu-container,.es-nav .wp-block-navigation-item.has-child:focus-within>.wp-block-navigation__submenu-container{visibility:visible!important;opacity:1!important;width:auto!important;height:auto!important;overflow:visible!important}
.es-nav .wp-block-navigation__submenu-container::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.es-nav .wp-block-navigation-item.has-child:hover>.wp-block-navigation__submenu-icon{transform:translateY(-50%) rotate(180deg)}
}
@media (max-width:1024px){.es-util__tag{display:none}.es-util__in{justify-content:flex-end}.es-logo__img{height:62px}.es-nav .wp-block-navigation-item__content{padding:9px 10px!important}.es-bar__in{gap:16px}}
@media (max-width:599px){
.es-util__meta{font-size:12px}.es-util__meta a{margin-left:10px;padding-left:10px}
.es-bar__in{padding:10px 16px;gap:10px}.es-logo__img{height:54px}.es-bar__cta{display:none}
.es-nav.wp-block-navigation{justify-content:flex-end}
.es-nav .wp-block-navigation__responsive-container-open{color:var(--es-navy);width:46px;height:46px;display:flex;align-items:center;justify-content:center}
.es-nav .wp-block-navigation__responsive-container-open svg{width:30px;height:30px}
.es-nav .wp-block-navigation__responsive-container.is-menu-open{padding:24px}
.es-nav .is-menu-open .wp-block-navigation-item__content{font-size:21px;font-family:var(--es-serif);padding:10px 0!important}
.es-nav .is-menu-open .wp-block-navigation-item__content::after{display:none}
.es-nav .is-menu-open .wp-block-navigation__submenu-container{border:0!important;box-shadow:none;padding:0 0 0 14px!important}
.es-nav .is-menu-open .wp-block-navigation-item.has-child>.wp-block-navigation__submenu-icon{display:none}
.es-nav .is-menu-open .wp-block-navigation-submenu__toggle{padding-right:0!important}
}

/* Footer */
.es-footer{position:relative;overflow:hidden;background:var(--es-deep);color:#C3CCDD;padding:88px 24px 28px;font-size:15px;line-height:1.65}
.es-footer__arc{position:absolute;right:-120px;top:-40px;width:620px;height:300px;background:url(assets/icons/arc.svg) no-repeat center/contain;opacity:.35;pointer-events:none}
.es-footer a{color:#E3E8F1;text-decoration:none}
.es-footer a:hover{color:var(--es-green-lt)}
.es-footer__grid{position:relative;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:48px}
.es-footer__grid>*{margin:0}
.es-footer__brand p{max-width:360px}
.es-footer .es-logo__img{height:96px;margin-bottom:10px}
.es-footer__title{color:#fff;font-weight:600;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px}
.es-footer__links{list-style:none;padding:0;margin:0}
.es-footer__links li{margin:0 0 8px}
.es-footer__contact a{color:#fff;font-weight:600}
.es-footer__bar{position:relative;max-width:1240px;margin:64px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px}
.es-footer__bar p{margin:0}
.es-footer__legal a{margin-right:18px}
.es-footer__legal a:last-child{margin-right:0}
.es-credit{display:inline-flex;align-items:center;gap:7px;color:#fff}
.es-footer .es-credit a{display:inline-flex;align-items:center;gap:8px;color:var(--es-green-lt);font-weight:600}
.es-credit a span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.es-credit img{display:block;height:24px;width:auto}
.es-footer .es-credit a:hover{color:#fff}
@media (max-width:900px){.es-footer__grid{grid-template-columns:1fr 1fr}.es-footer__brand{grid-column:1/-1}}
@media (max-width:560px){.es-footer{padding:60px 20px 24px}.es-footer__grid{grid-template-columns:1fr;gap:32px}.es-footer__bar{flex-direction:column;align-items:flex-start;gap:10px}}

/* Elementor content details */
.es-main .elementor a{text-decoration:none}
.e-svg-base svg{display:block}
.e-svg-base svg[stroke]{fill:none;stroke-width:2.2}
[data-interaction-id$="-num"]{font-variant-numeric:lining-nums tabular-nums}
/* Eyebrow mark: rising bars + arrow from the logo */
[data-interaction-id$="-eyebrow"]::before{content:"";display:inline-block;width:26px;height:14px;margin-right:10px;vertical-align:-1px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 14'%3E%3Crect x='0' y='9' width='4' height='5' fill='%237CC04A'/%3E%3Crect x='6' y='6' width='4' height='8' fill='%237CC04A'/%3E%3Crect x='12' y='3' width='4' height='11' fill='%237CC04A'/%3E%3Cpath d='M1 8.5L22 1.5M17.5 0.8l4.9.6-1.8 4.4' stroke='%237CC04A' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain}
/* Arc behind framed photos */
[data-id$="-arcwrap"]::before{content:"";position:absolute;z-index:0;left:-14%;right:-14%;top:-11%;height:62%;background:url(assets/icons/arc.svg) no-repeat center/100% 100%;pointer-events:none}
[data-id$="-arcwrap"]>*{position:relative;z-index:1}
/* Serif italic emphasis inside headings */
.e-heading-base em,h1 em,h2 em{font-style:italic;color:var(--es-green-mid);font-weight:500}
[data-id="hero"] h1 em,[data-id$="-dark"] h2 em{color:var(--es-green-lt)}
/* City link chips */
[data-id="areas-grid"]>a{width:auto!important;transition:background-color .15s ease,border-color .15s ease}
/* Process meter */
.s-process-steps,.s-steps-row{position:relative}
.s-process-steps::before,.s-steps-row::before{content:"";position:absolute;left:0;top:-2px;height:3px;width:100%;background:var(--es-green-mid);transform:scaleX(0);transform-origin:left center;transition:transform 1.8s cubic-bezier(.45,0,.2,1);pointer-events:none}
.ab-meter-on.s-process-steps::before,.ab-meter-on.s-steps-row::before{transform:scaleX(1)}
.ab-meter .ab-meter-dot{transition:background-color .35s ease,box-shadow .35s ease}
.ab-meter .ab-meter-dot.ab-lit{background:var(--es-green-mid)!important;box-shadow:0 0 0 5px rgba(59,138,29,.2)}
@media (max-width:767px){.s-process-steps::before,.s-steps-row::before{display:none}}
@media (prefers-reduced-motion:reduce){.s-process-steps::before,.s-steps-row::before{transition:none}}
/* Legal pages */
.ab-legal-text p,.ab-legal-text li{margin:0 0 14px}
.ab-legal-text ul{padding-left:22px;margin:0 0 14px}
.ab-legal-text li::marker{color:var(--es-green-mid)}
.ab-legal-text a{color:var(--es-navy);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ab-legal-text strong{color:var(--es-ink)}
/* Blog */
.wp-block-post-title{font-family:var(--es-serif)}
[data-id="cta-dark"] h2 em{color:#fff}
[data-id="cta-dark"]{background-image:url("/wp-content/themes/escott-financial/assets/icons/arc.svg");background-repeat:no-repeat;background-position:right -80px top -30px;background-size:640px 300px}
@media (max-width:599px){.es-util__in{justify-content:center}.es-util__meta{font-size:0}.es-util__meta a{font-size:13px;border:0;margin:0;padding:0}}
/* Larger header logo (2026-10-31) */
.es-site-header .es-logo__img{height:100px}
@media (max-width:1024px){.es-site-header .es-logo__img{height:80px}}
@media (max-width:599px){.es-site-header .es-logo__img{height:64px}}
/* Header blends into the hero, larger nav (2026-10-31) */
.es-site-header{background:var(--es-paper);border-bottom:0}
.es-bar__in{padding:18px 24px 10px}
.es-site-header .es-logo__img{height:92px}
.es-nav.wp-block-navigation{font-size:18px}
.es-nav .wp-block-navigation-item__content{padding:10px 16px!important}
.es-nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after{left:16px;right:16px}
.es-bar__cta{font-size:16px;padding:15px 26px}
.es-util__tag{font-size:12.5px}
@media (max-width:1180px){.es-nav .wp-block-navigation-item__content{font-size:14px!important}.es-nav.wp-block-navigation{font-size:16.5px}.es-nav .wp-block-navigation-item__content{padding:9px 11px!important}}
@media (max-width:1024px){.es-site-header .es-logo__img{height:74px}}
@media (max-width:599px){.es-site-header .es-logo__img{height:60px}.es-bar__in{padding:12px 16px 8px}}
/* Typography matched to the logo (2026-10-31): Cinzel headings like E.SCOTT, Montserrat like FINANCIAL SERVICES */
.e-heading-base em,h1 em,h2 em{font-style:normal!important;font-weight:inherit!important}
.es-nav .wp-block-navigation-item__content{font-family:var(--es-sans);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:16px}
.es-btn,.es-bar__cta{font-family:var(--es-sans);letter-spacing:.04em}
.es-footer__title{font-family:var(--es-sans);letter-spacing:.2em}
.es-nav .is-menu-open .wp-block-navigation-item__content{font-family:var(--es-serif);text-transform:none;letter-spacing:0}
.wp-block-post-title{font-family:var(--es-serif)}
@media (max-width:1024px){.es-main h2{font-size:32px!important}}
@media (max-width:599px){.es-main h2{font-size:26px!important}.es-main h1{font-size:31px!important}}
/* Nav polish (2026-10-31): logo-style caps, navy, arrow spacing, single-line dropdown */
.es-nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content{color:var(--es-navy);letter-spacing:.1em}
.es-nav .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content:hover{color:var(--es-green)}
.es-nav .wp-block-navigation-item.has-child>.wp-block-navigation-submenu__toggle{padding-right:38px!important}
.es-nav .wp-block-navigation-item.has-child>.wp-block-navigation__submenu-icon{right:16px;color:var(--es-navy)}
.es-nav .wp-block-navigation__container>.wp-block-navigation-item.has-child>.wp-block-navigation-item__content::after{right:38px}
.es-nav .wp-block-navigation__submenu-container{min-width:260px!important}
.es-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{text-transform:none!important;letter-spacing:0!important;font-size:15.5px!important;font-weight:500!important;white-space:nowrap;color:var(--es-ink)}
.es-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{color:var(--es-green)}
/* Readability (2026-11-01) */
body{color:#14203A}.es-footer{color:#DCE3EF;font-weight:500}.ab-legal-text{font-weight:500}
