/* Jeffrey White Realtor — premium system layer
   8px rhythm · 12-column grid · local font files · accessible controls */
@font-face{font-family:DMSerif;src:url('../fonts/dm-serif.woff2') format('woff2');font-display:swap;font-weight:400 700}
@font-face{font-family:InterLocal;src:url('../fonts/inter.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{
 --jw-forest:#173b32;--jw-forest-deep:#102b25;--jw-forest-soft:#285247;
 --jw-brass:#b88a52;--jw-brass-dark:#79552f;--jw-brass-light:#ead7bb;
 --jw-ink:#202d28;--jw-muted:#56665f;--jw-paper:#fbfaf7;--jw-surface:#f3f2ec;
 --jw-line:#dfe4dc;--jw-white:#fff;--jw-focus:#155eef;
 --jw-serif:'DMSerif',Georgia,serif;--jw-sans:'InterLocal',Inter,Arial,sans-serif;
 --jw-space-1:8px;--jw-space-2:16px;--jw-space-3:24px;--jw-space-4:32px;--jw-space-5:40px;--jw-space-6:48px;--jw-space-8:64px;--jw-space-10:80px;--jw-space-12:96px;
 --jw-content:1280px;--jw-radius-sm:4px;--jw-radius-md:10px;--jw-radius-lg:18px;
 --jw-shadow-sm:0 4px 14px rgba(20,42,34,.06);--jw-shadow-md:0 12px 34px rgba(20,42,34,.10);--jw-shadow-lg:0 24px 64px rgba(20,42,34,.16);
}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{font-family:var(--jw-sans)!important;color:var(--jw-ink)!important;background:var(--jw-paper);font-size:16px;line-height:1.72;letter-spacing:-.006em;text-rendering:optimizeLegibility}
.container{width:min(100% - 48px,var(--jw-content))!important;padding-inline:0!important}
main{overflow:clip}
img{max-width:100%;height:auto}
h1,h2,h3,h4,.section-title,.property-price,.page-hero--split h1,.page-hero-image-caption strong{font-family:var(--jw-serif)!important;font-weight:400!important;letter-spacing:-.025em!important;line-height:1.08!important}
h1{font-size:clamp(2.6rem,5.2vw,5.25rem)!important;text-wrap:balance}
h2,.section-title{font-size:clamp(2rem,3.3vw,3.35rem)!important;text-wrap:balance}
h3{font-size:clamp(1.3rem,1.8vw,1.75rem)!important}
p,li{max-width:75ch}
.lede{font-size:clamp(1rem,1.3vw,1.18rem)!important;line-height:1.8!important}
.eyebrow{font-family:var(--jw-sans)!important;font-size:.75rem!important;line-height:1.4;letter-spacing:.13em!important;color:var(--jw-brass-dark)!important}
.section{padding-block:clamp(56px,7.5vw,104px)!important}
.section--tight{padding-block:clamp(36px,5vw,64px)!important}
.section-head{max-width:760px;margin-bottom:clamp(28px,4vw,48px)!important}
.section-head.center{margin-inline:auto}
/* Reusable 12-column layout utility */
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.span-1{grid-column:span 1}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-9{grid-column:span 9}.span-10{grid-column:span 10}.span-11{grid-column:span 11}.span-12{grid-column:span 12}
/* Sticky navigation: one consistent treatment across every HTML page */
.site-header{position:sticky!important;top:0!important;z-index:500!important;background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--jw-line)!important;box-shadow:0 4px 20px rgba(19,42,35,.055)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.site-header::before{background:transparent!important}
.header-inner{width:min(100% - 48px,1400px)!important;max-width:1400px!important;min-height:88px!important;padding:12px 0!important;gap:clamp(16px,2vw,32px)!important;margin-inline:auto!important}
.brand{min-width:220px!important;gap:12px!important;text-decoration:none!important}
.brand-mark{width:48px!important;height:48px!important;border-radius:50%!important;background:var(--jw-forest)!important;color:#f0d6ae!important;font-family:var(--jw-serif)!important;font-size:18px!important;box-shadow:none!important}
.brand-text{font-family:var(--jw-serif)!important;font-size:clamp(19px,1.7vw,25px)!important;font-weight:400!important;line-height:1.08!important;color:var(--jw-forest)!important;white-space:nowrap!important}
.brand-text small{font-family:var(--jw-sans)!important;font-size:9px!important;font-weight:700!important;letter-spacing:.13em!important;color:#62736b!important;margin-top:5px!important}
.main-nav{flex:1 1 auto!important;min-width:0!important;justify-content:flex-end!important;align-items:center!important;overflow:visible!important}
.main-nav ul.nav-list{align-items:center!important;justify-content:flex-end!important;gap:clamp(2px,.45vw,8px)!important}
.main-nav ul.nav-list>li{position:relative;flex-shrink:0}
.main-nav ul.nav-list>li>a{font-family:var(--jw-sans)!important;font-size:clamp(12px,.91vw,14px)!important;font-weight:600!important;line-height:1.3!important;color:#2e4038!important;padding:12px clamp(5px,.55vw,9px)!important;border-radius:4px!important;white-space:nowrap!important;text-decoration:none!important;transition:background .18s ease,color .18s ease!important}
.main-nav ul.nav-list>li>a:hover,.main-nav ul.nav-list>li>a:focus-visible{background:#f3f1e9!important;color:var(--jw-brass-dark)!important}
.main-nav ul.nav-list>li>a[aria-current=page]{background:transparent!important;color:var(--jw-brass-dark)!important}
.main-nav ul.nav-list>li>a[aria-current=page]:after{content:'';position:absolute;left:8px;right:8px;bottom:4px;height:2px;background:var(--jw-brass)!important}
.main-nav .nav-cta{display:block!important;margin-left:8px!important}
.main-nav .nav-cta>a.btn{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px!important;padding:13px 17px!important;border:1px solid var(--jw-brass)!important;border-radius:4px!important;background:var(--jw-brass)!important;color:#172c25!important;font-family:var(--jw-sans)!important;font-size:12px!important;font-weight:750!important;white-space:nowrap!important;box-shadow:none!important}
.main-nav .nav-cta>a.btn:hover,.main-nav .nav-cta>a.btn:focus-visible{background:var(--jw-forest)!important;border-color:var(--jw-forest)!important;color:#fff!important}
.main-nav .submenu{min-width:270px!important;background:#fff!important;border:1px solid var(--jw-line)!important;border-radius:8px!important;padding:8px!important;box-shadow:var(--jw-shadow-lg)!important}
.main-nav .submenu a{font-size:14px!important;line-height:1.45!important;white-space:normal!important;padding:11px 12px!important;border-radius:5px!important;color:#2e4038!important}
.main-nav .submenu a:hover,.main-nav .submenu a:focus-visible{background:var(--jw-surface)!important;color:var(--jw-brass-dark)!important}
.nav-toggle{display:none!important}
.nav-scrim{display:none!important}
/* Buttons: explicit contrast in light and dark surfaces */
.btn{font-family:var(--jw-sans)!important;min-height:48px!important;padding:13px 20px!important;border-radius:4px!important;font-size:.91rem!important;font-weight:700!important;line-height:1.3!important;text-decoration:none!important;box-shadow:none!important;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease!important}
.btn:hover{transform:translateY(-2px);box-shadow:var(--jw-shadow-sm)!important}
.btn-primary,.main-nav .nav-cta>a.btn{background:var(--jw-brass)!important;border-color:var(--jw-brass)!important;color:#172c25!important}
.btn-primary:hover,.btn-primary:focus-visible{background:var(--jw-forest)!important;border-color:var(--jw-forest)!important;color:#fff!important}
.btn-outline,.btn-secondary{background:#fff!important;color:var(--jw-forest)!important;border:1px solid #718278!important;text-shadow:none!important;opacity:1!important}
.btn-outline:hover,.btn-secondary:hover{background:var(--jw-forest)!important;color:#fff!important;border-color:var(--jw-forest)!important}
.btn-ghost{background:rgba(16,43,37,.72)!important;color:#fff!important;border:1px solid rgba(255,255,255,.85)!important;text-shadow:none!important}
.btn-ghost:hover,.btn-ghost:focus-visible{background:#fff!important;color:var(--jw-forest)!important}
.btn-light{background:#fff!important;color:var(--jw-forest)!important;border:1px solid #fff!important}
:focus-visible{outline:3px solid var(--jw-focus)!important;outline-offset:3px!important}
/* Home hero: spacious, editorial, readable over a daylight interior */
.hero--home{min-height:min(790px,calc(100svh - 88px))!important;display:flex;align-items:center;padding-block:clamp(72px,8vw,112px) clamp(54px,6vw,80px)!important;background:#dfe2da!important}
.hero--home .hero-media{position:absolute!important;inset:0!important;background:#dfe2da url('../images/interior.webp') center 48%/cover no-repeat!important}
.hero--home .hero-media::after{background:linear-gradient(90deg,rgba(12,31,28,.72) 0%,rgba(12,31,28,.43) 54%,rgba(12,31,28,.18) 100%),linear-gradient(0deg,rgba(12,31,28,.38),rgba(12,31,28,.08) 60%)!important}
.hero--home .hero-grid{display:block!important;width:min(100% - 48px,1160px)!important;margin-inline:auto!important}
.hero-copy--center{max-width:1000px!important;margin-inline:auto!important;text-align:center!important}
.hero-copy--center .eyebrow{justify-content:center;color:#f0d1a7!important}
.hero-copy--center h1{max-width:19ch!important;margin:0 auto!important;font-size:clamp(2.8rem,5.8vw,5.5rem)!important;line-height:1.03!important;letter-spacing:-.035em!important;text-wrap:balance!important}
.hero-copy--center .lede{max-width:66ch!important;margin:24px auto 0!important;font-size:clamp(1rem,1.35vw,1.2rem)!important;color:#fff!important;line-height:1.8!important}
.hero-copy--center .hero-ctas,.hero-copy--center .hero-badges{justify-content:center!important}
.hero-copy--center .hero-ctas{gap:12px!important;margin-top:30px!important}
.hero-copy--center .hero-stats{max-width:860px!important;margin:44px auto 0!important}
.hero-copy--center .image-credit{color:#fff!important}
/* Editorial cards and content rhythm */
.card,.service-card,.resource-card,.contact-card,.faq-item,.article-aside-cta,.calc{border-radius:var(--jw-radius-md)!important;border-color:var(--jw-line)!important;box-shadow:var(--jw-shadow-sm)!important}
.card,.service-card{padding:clamp(24px,2.5vw,36px)!important}
.card:hover,.service-card:hover,.resource-card:hover{box-shadow:var(--jw-shadow-md)!important}
.card p,.service-card p,.review-card p,.resource-card-copy p,.content-prose p,.faq-item p{color:#4b5d54!important}
.card-link,.resource-link,.text-link,.resource-card-copy .card-link{color:#714c28!important;font-weight:700!important;text-decoration:underline;text-decoration-color:#c4a276;text-underline-offset:4px}
.featured-homes,.section--tint{background:var(--jw-surface)!important}
.property-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
.property-card{border-radius:8px!important;overflow:hidden!important;box-shadow:var(--jw-shadow-sm)!important;transform:none!important}
.property-card:hover,.property-card:focus,.property-card:focus-within{transform:translateY(-4px)!important;box-shadow:var(--jw-shadow-md)!important}
.property-photo{height:clamp(310px,28vw,390px)!important;overflow:hidden!important}
.property-photo>img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;transform:none!important}
.property-overlay{inset:0!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:0!important;padding:clamp(58px,5vw,72px) 22px 22px!important;overflow-y:auto!important;overflow-x:hidden!important;background:linear-gradient(180deg,rgba(13,34,28,.92) 0%,rgba(13,34,28,.96) 45%,rgba(13,34,28,.985) 100%)!important;opacity:0!important;visibility:hidden!important;transform:none!important;transition:opacity .25s ease,visibility .25s ease!important}
.property-card:hover .property-overlay,.property-card:focus .property-overlay,.property-card:focus-within .property-overlay{opacity:1!important;visibility:visible!important}
.property-price{display:block!important;position:relative!important;color:#fff!important;font-size:clamp(1.8rem,2.5vw,2.3rem)!important;line-height:1.15!important;margin:0 0 8px!important;overflow-wrap:anywhere;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.property-address,.property-description{color:#f3f5f2!important;line-height:1.55!important}
.property-facts{display:flex!important;flex-wrap:wrap!important;gap:10px 18px!important;border-color:rgba(255,255,255,.42)!important}
.property-facts span,.property-facts b{color:#fff!important}
.property-action{display:inline-flex!important;align-items:center;justify-content:center;align-self:flex-start;min-height:44px!important;max-width:100%;margin-top:8px!important;padding:11px 14px!important;background:#e4c398!important;border:1px solid #e4c398!important;color:#172c25!important;font-size:.75rem!important;font-weight:800!important;line-height:1.35!important;white-space:normal!important;text-decoration:none!important}
.property-status{z-index:2!important;background:#fff!important;color:#1e4035!important;font-size:.68rem!important}
.property-caption{background:#fff!important;padding:20px!important}
.property-caption h3{color:var(--jw-forest)!important}
.property-caption p{color:#5b6b63!important}
.property-disclaimer{color:#53635b!important}
/* Forms, calculators, FAQs and supporting panels */
.field label,.calc .field label,.calc label{color:#263b32!important;font-size:.94rem!important;font-weight:700!important}
.field input,.field select,.field textarea,.calc input,.calc select{min-height:48px;color:#20332e!important;background:#fff!important;border:1px solid #aebdb2!important;border-radius:4px!important;padding:12px 14px!important}
.field input::placeholder,.field textarea::placeholder{color:#68776f!important;opacity:1!important}
.calc .calc-result{background:#eef2ed!important;color:#20332e!important;border:1px solid #c6d3c8!important;border-left:4px solid var(--jw-brass)!important;border-radius:6px!important;padding:20px!important}
.calc .calc-label,.calc .calc-sub{color:#4c5e54!important}
.calc .calc-value{color:#173b32!important;font-size:clamp(1.7rem,3vw,2.4rem)!important;line-height:1.2!important;overflow-wrap:anywhere}
.section--navy,.section--dark,.trust-strip{background:var(--jw-forest-deep)!important;color:#fff!important}
.section--navy p,.section--dark p,.trust-strip,.cta-band p,.site-footer p,.site-footer a{color:#e8eee9!important}
.cta-band{background:linear-gradient(120deg,#173b32,#244d40)!important;color:#fff!important}
.site-footer{background:#102b25!important;color:#fff!important}
.site-footer h2,.site-footer h3,.site-footer .brand{color:#fff!important}
.site-footer a:hover{color:#f0d1a7!important}
.area-chip{color:#20332e!important;background:#fff!important;border-color:#d6ded6!important}
/* Native image quality and stable geometry */
.property-photo img,.resource-card img,.resource-image-link img,.article-cover img,.page-hero-visual img{display:block;max-width:100%;height:auto;object-fit:cover}
.resource-card>img,.resource-image-link img,.resource-card--media .resource-image-link img{width:100%;aspect-ratio:16/10;height:auto!important;object-fit:cover!important}
/* Motion hooks are progressively enhanced by enhancements.js */
.has-motion .motion-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.has-motion .motion-reveal.is-visible{opacity:1;transform:none}
.has-motion .motion-delay-1{transition-delay:.06s}.has-motion .motion-delay-2{transition-delay:.12s}.has-motion .motion-delay-3{transition-delay:.18s}
@media(min-width:1180px){.nav-toggle{display:none!important}.main-nav{position:static!important;inset:auto!important;width:auto!important;height:auto!important;max-height:none!important;visibility:visible!important;opacity:1!important;transform:none!important;padding:0!important;box-shadow:none!important;border:0!important;overflow:visible!important}.nav-scrim{display:none!important}.main-nav ul.nav-list{flex-direction:row!important}.main-nav .submenu{display:none}.main-nav .has-sub:hover>.submenu,.main-nav .has-sub:focus-within>.submenu,.main-nav .has-sub.is-open>.submenu{display:block!important}}
@media(max-width:1179px){
 .header-inner{min-height:78px!important;width:calc(100% - 40px)!important}
 .brand{min-width:0!important;flex:1 1 auto!important}.brand-text{font-size:21px!important}.brand-text small{font-size:8px!important}
 .nav-toggle{display:flex!important;flex:0 0 46px!important;align-items:center;justify-content:center;width:46px!important;height:46px!important;position:relative;z-index:610!important;border:1px solid #c7d2c9!important;border-radius:5px!important;background:#fff!important;cursor:pointer}
 .main-nav{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:min(430px,90vw)!important;height:100dvh!important;max-height:100dvh!important;display:block!important;overflow-y:auto!important;padding:100px 24px 32px!important;background:#fff!important;box-shadow:-18px 0 45px rgba(19,42,35,.17)!important;border-left:1px solid var(--jw-line)!important;transform:translateX(105%)!important;visibility:hidden!important;opacity:1!important;transition:transform .25s ease,visibility .25s!important;z-index:600!important}
 .main-nav.is-open{transform:translateX(0)!important;visibility:visible!important}
 .main-nav ul.nav-list{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:3px!important;width:100%!important}
 .main-nav ul.nav-list>li{width:100%!important}.main-nav ul.nav-list>li>a{width:100%!important;justify-content:space-between!important;padding:13px 12px!important;min-height:48px!important;font-size:16px!important;white-space:normal!important;border-bottom:1px solid #eef0eb!important}
 .main-nav ul.nav-list>li>a[aria-current=page]:after{left:12px;right:auto;width:32px;bottom:4px}
 .main-nav .submenu{position:static!important;min-width:0!important;max-width:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;background:#f5f4ef!important;padding:4px 8px 8px 14px!important;margin:0 0 8px!important}
 .main-nav .has-sub:not(.is-open)>.submenu{display:none!important}.main-nav .has-sub.is-open>.submenu{display:block!important}
 .main-nav .nav-cta{margin:16px 0 0!important}.main-nav .nav-cta>a.btn{width:100%!important;min-height:50px!important;font-size:14px!important;justify-content:center!important}
 .nav-scrim{display:block!important;position:fixed!important;inset:0!important;background:rgba(12,28,24,.48)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;z-index:590!important;transition:opacity .2s,visibility .2s!important}
 .nav-scrim.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
 .hero--home{min-height:690px!important}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:767px){
 .container{width:calc(100% - 40px)!important}
 .section{padding-block:56px!important}
 .hero--home{min-height:680px!important;padding-block:64px 40px!important}
 .hero--home .hero-grid{width:calc(100% - 40px)!important}
 .hero-copy--center h1{font-size:clamp(2.5rem,8.5vw,4rem)!important;max-width:18ch!important;line-height:1.06!important}
 .hero-copy--center .lede{font-size:1rem!important;margin-top:20px!important}
 .hero-copy--center .hero-ctas{display:grid!important;grid-template-columns:1fr;max-width:360px;margin:24px auto 0!important}
 .hero-copy--center .hero-ctas .btn{width:100%!important}
 .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
 .property-grid{grid-template-columns:1fr!important;gap:20px!important}
 .property-photo{height:390px!important}
 .property-overlay{opacity:1!important;visibility:visible!important;transform:none!important;padding:66px 20px 20px!important;background:linear-gradient(180deg,rgba(13,34,28,.60),rgba(13,34,28,.94) 34%,rgba(13,34,28,.985))!important}
 .property-status{opacity:1!important;visibility:visible!important;top:12px!important;left:12px!important}
 .property-price{font-size:2rem!important}
 .grid-12{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.span-1,.span-2,.span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-9,.span-10,.span-11,.span-12{grid-column:span 6}
}
@media(max-width:420px){.header-inner{width:calc(100% - 28px)!important}.brand-mark{width:42px!important;height:42px!important}.brand-text{font-size:19px!important}.brand-text small{font-size:7px!important;letter-spacing:.1em!important}.main-nav{width:92vw!important;padding-inline:18px!important}.property-photo{height:370px!important}.property-facts{gap:8px 14px!important}.property-facts span{font-size:.72rem!important}.property-action{font-size:.7rem!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.has-motion .motion-reveal,.has-motion .motion-reveal.is-visible{opacity:1!important;transform:none!important}}
