/* Sitewide selected-visual redesign — safe CSS-only content preservation */
:root{--design-paper:#fffcf5;--design-wash:#f4f2e6;--design-wash2:#edf3e5;--design-ink:#223d32;--design-muted:#587060;--design-primary:#2a7847;--design-dark:#153f34;--design-line:#d5e0c9;--design-tint:#dde6cb;--design-art:#f4eeda;--design-shadow:0 16px 42px rgba(19,48,39,.075)}
html{scroll-padding-top:90px}
body.design-sitewide{background:var(--design-paper)!important;color:var(--design-ink)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.63}
body.design-sitewide :is(.site-header,.topbar){position:sticky;top:0;z-index:60;background:rgba(255,253,248,.97);border-bottom:1px solid var(--design-line);color:var(--design-ink);box-shadow:0 2px 12px rgba(22,57,43,.045);backdrop-filter:blur(18px)}
body.design-sitewide :is(.navrow,.nav){max-width:1200px;margin:0 auto;min-height:76px;height:auto;display:flex;align-items:center;gap:24px}
body.design-sitewide :is(.wordmark,.logo){font-family:Georgia,"Times New Roman",serif;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:var(--design-ink);letter-spacing:-.035em;font-weight:800;font-size:23px;text-decoration:none}
body.design-sitewide :is(.logo .brand-country,.wordmark em){color:var(--design-primary)}
body.design-sitewide .site-brand-icon{display:inline-block;width:36px;height:36px;flex:0 0 36px;margin-right:7px;object-fit:contain}
body.design-sitewide .footer .site-brand-icon{width:30px;height:30px;flex-basis:30px}
body.design-sitewide .navlinks{display:flex;gap:clamp(10px,1.65vw,23px);align-items:center}
body.design-sitewide .navlinks a{color:var(--design-ink);font-size:13px;font-weight:750;text-decoration:none;transition:color .15s}
body.design-sitewide .navlinks a:hover,body.design-sitewide .navlinks a:focus-visible{color:var(--design-primary);text-decoration:underline;text-underline-offset:5px}
body.design-sitewide :is(.menu-btn,.menu){color:var(--design-ink);border:1px solid var(--design-line);background:var(--design-paper)}
body.design-sitewide :is(h1,h2,h3){color:var(--design-ink);text-wrap:balance}
body.design-sitewide :is(h1,h2){font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em;line-height:1.12}
body.design-sitewide h1{font-size:clamp(34px,4.25vw,65px);font-weight:760}
body.design-sitewide h2{font-size:clamp(26px,3vw,40px)}
body.design-sitewide h3{font-weight:820}
body.design-sitewide :is(.eyebrow,.kicker,.tag){color:var(--design-primary)}
body.design-sitewide :is(.lead,.intro-row p,.section-head p){color:var(--design-muted)}
body.design-sitewide :is(.btn,.button,button[type="submit"],.searchline button){background:var(--design-primary);color:#fff;border-color:var(--design-primary);border-radius:11px;transition:background .15s,transform .15s,box-shadow .15s}
body.design-sitewide :is(.btn,.button,button[type="submit"],.searchline button):hover{background:var(--design-dark);box-shadow:0 6px 18px rgba(15,57,39,.13)}
body.design-sitewide :is(.btn.secondary,.button.secondary){color:var(--design-primary);border-color:var(--design-line);background:#fff}
body.design-sitewide :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--design-primary)!important;outline-offset:3px}
body.design-sitewide :is(input,select,textarea){border-color:var(--design-line);border-radius:10px}
body.design-sitewide :is(.home-hero,.hero){background:linear-gradient(130deg,var(--design-paper) 0%,var(--design-wash) 100%);border-bottom:1px solid var(--design-line);padding:64px 0 44px}
body.design-sitewide :is(.home-hero .split,.hero .hero-grid){grid-template-columns:minmax(0,1.02fr) minmax(310px,.98fr);gap:clamp(22px,4vw,58px);align-items:center}
body.design-sitewide.design-home :is(.home-hero h1,.hero h1){font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4.7vw,65px);max-width:710px;line-height:1.09}
body.design-sitewide.design-home :is(.home-hero .lead,.hero .lead){max-width:640px;font-size:17px;line-height:1.6}
body.design-sitewide.design-home :is(.home-visual,.design-hero-art){display:block!important;min-height:335px;aspect-ratio:1.5;background-color:var(--design-art);background-image:url('/assets/selected-hero-art.svg');background-position:center;background-size:cover;border-radius:19px;box-shadow:var(--design-shadow);border:1px solid var(--design-line)}
body.design-sitewide.design-home .home-visual>*{display:none!important}
body.design-sitewide.design-home .hero-grid .design-hero-art{grid-column:2;grid-row:1}
body.design-sitewide .design-home-aside{background:var(--design-paper);padding:20px 0 2px}
body.design-sitewide .design-home-aside :is(.evidence-card,.system-card,.hero-card){max-width:1180px;margin:0 auto;background:#fff;border:1px solid var(--design-line);border-radius:16px;box-shadow:var(--design-shadow);color:var(--design-ink)}
body.design-sitewide .design-home-aside :is(.evidence-card,.system-card,.hero-card) *{color:inherit}
body.design-sitewide .design-home-aside :is(.evidence-list,.process-steps){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
body.design-sitewide .design-home-aside .evidence-list>div{padding:12px;background:var(--design-wash2);border-radius:11px}
body.design-sitewide .design-home-aside .evidence-top{padding:0 0 9px}
body.design-sitewide .searchbox{max-width:620px;margin-top:20px}
body.design-sitewide .searchbox :is(input,.searchline input){background:#fff;box-shadow:0 3px 14px rgba(25,44,30,.05);border:1px solid var(--design-line)}
body.design-sitewide .design-shortcuts-wrap{background:var(--design-paper);padding:0 0 12px}
body.design-sitewide .design-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:0}
body.design-sitewide .design-shortcut{display:flex;min-height:104px;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px 9px;text-align:center;background:#fff;border:1px solid var(--design-line);border-radius:13px;box-shadow:0 7px 22px rgba(32,66,44,.045);text-decoration:none;color:var(--design-ink);font-size:13px;font-weight:800;line-height:1.3;transition:transform .18s,border-color .18s}
body.design-sitewide .design-shortcut:hover{transform:translateY(-3px);border-color:var(--design-primary)}
body.design-sitewide .design-shortcut-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--design-line);background:var(--design-wash2);border-radius:11px;font-family:Georgia,serif;font-size:25px;color:var(--design-primary)}
body.design-sitewide :is(.page-hero,.city-hero,.pagehero){position:relative;isolation:isolate;background:linear-gradient(120deg,var(--design-wash2),var(--design-paper));border-bottom:1px solid var(--design-line);overflow:hidden}
body.design-sitewide :is(.page-hero,.city-hero,.pagehero)::before{content:"";position:absolute;right:-6%;bottom:-26%;width:44%;height:135%;background-image:url('/assets/selected-hero-art.svg');background-position:center;background-size:cover;opacity:.18;pointer-events:none;z-index:-1;mask-image:linear-gradient(to right,transparent,black 45%)}
body.design-sitewide :is(.page-hero,.city-hero,.pagehero)>*{position:relative;z-index:1}
body.design-sitewide :is(.page-hero,.city-hero,.pagehero) h1{font-size:clamp(33px,3.7vw,54px);max-width:920px}
body.design-sitewide :is(.page-hero,.city-hero,.pagehero) .lead{font-size:17px;line-height:1.62;max-width:920px}
body.design-sitewide :is(.page-hero,.pagehero){padding-top:55px;padding-bottom:45px}
body.design-sitewide .city-hero .lot-sketch{background:linear-gradient(135deg,#fff,var(--design-wash2));border:1px solid var(--design-line);box-shadow:var(--design-shadow);border-radius:18px}
body.design-sitewide :is(.section.alt,.alt){background:var(--design-wash2)}
body.design-sitewide .section{padding-top:clamp(28px,4vw,57px);padding-bottom:clamp(28px,4vw,57px)}
body.design-sitewide :is(.guide-card,.province-card,.city-card,.tool-card,.job,.problem,.priority,.callout,.fact-card,.season,.source-card,.card,.service-card,.info-card,.article-card,.tool-shell,.quick-read,.fact-strip,.utility-strip,.source-box,.next-step,.note-box){border-color:var(--design-line);box-shadow:0 5px 18px rgba(24,58,42,.035)}
body.design-sitewide :is(.guide-card,.province-card,.city-card,.job,.problem,.priority,.callout,.tool-card,.source-card,.card,.service-card,.info-card,.article-card){border-radius:15px}
body.design-sitewide .province-card:hover,body.design-sitewide .guide-card:hover,body.design-sitewide .city-card:hover{border-color:var(--design-primary);box-shadow:var(--design-shadow)}
body.design-sitewide :is(.province-code,.prov-code,.prov-icon){background:var(--design-wash2);color:var(--design-primary);border:1px solid var(--design-line)}
body.design-sitewide :is(.fact-strip,.quick-read,.proof-band,.utility-strip){background:var(--design-wash2);border-color:var(--design-line)}
body.design-sitewide :is(.fact-strip,.quick-read) b{color:var(--design-primary)}
body.design-sitewide :is(.tool-shell,.tool-card,.callout,.province-rule-callout){border-color:var(--design-line)}
body.design-sitewide :is(.prose,article){overflow-wrap:break-word}
body.design-sitewide .prose :is(h2,h3){scroll-margin-top:115px}
body.design-sitewide .prose h2{border-bottom:1px solid var(--design-line);padding-bottom:13px;margin-top:1.65em}
body.design-sitewide .prose a,body.design-sitewide a.text-link{color:var(--design-primary);text-decoration-thickness:1px;text-underline-offset:3px}
body.design-sitewide :is(.breadcrumb,.crumbs){color:var(--design-muted);font-size:13px}
body.design-sitewide :is(.crumbs,.breadcrumb) a{color:var(--design-primary)}
body.design-sitewide .footer{background:var(--design-dark);color:#eaf3ec;border-top:5px solid var(--design-primary)}
body.design-sitewide .footer :is(a,.wordmark,.logo,h2,h3,.footer-mark){color:#fff}
body.design-sitewide .footer .wordmark em{color:#bde3c8}
body.design-sitewide .footer small{color:#d6e0d8}
body.design-sitewide .coverage-status-wrap{background:var(--design-paper)}
body.design-sitewide .coverage-status-strip{border-color:var(--design-line)}
body.design-sitewide .coverage-status-value{color:var(--design-primary)}
body.design-sitewide :is(.family-city-search,.search-results){z-index:2}
@media(max-width:960px){body.design-sitewide :is(.home-hero .split,.hero .hero-grid){grid-template-columns:1fr 1fr;gap:20px}body.design-sitewide .navlinks{gap:10px}body.design-sitewide .navlinks a{font-size:12px}body.design-sitewide :is(.wordmark,.logo){font-size:19px}body.design-sitewide .site-brand-icon{width:30px;height:30px;flex-basis:30px}body.design-sitewide .design-home-aside .evidence-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){body.design-sitewide :is(.site-header,.topbar){position:sticky}body.design-sitewide :is(.home-hero,.hero){padding:32px 0 26px}body.design-sitewide :is(.home-hero .split,.hero .hero-grid){grid-template-columns:1fr;gap:20px}body.design-sitewide.design-home :is(.home-hero h1,.hero h1){font-size:clamp(35px,9vw,48px)}body.design-sitewide.design-home :is(.home-visual,.design-hero-art){min-height:0;height:235px;aspect-ratio:auto}body.design-sitewide.design-home .hero-grid .design-hero-art{grid-column:1;grid-row:2}body.design-sitewide .design-shortcuts{grid-template-columns:repeat(5,minmax(145px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}body.design-sitewide .design-shortcut{min-height:102px;scroll-snap-align:start}body.design-sitewide .design-home-aside .evidence-list{grid-template-columns:repeat(2,minmax(0,1fr))}body.design-sitewide :is(.page-hero,.city-hero,.pagehero)::before{width:85%;height:80%;opacity:.11}body.design-sitewide :is(.page-hero,.city-hero,.pagehero){padding-top:30px;padding-bottom:30px}body.design-sitewide .section{padding-top:35px;padding-bottom:35px}body.design-sitewide .navlinks{background:var(--design-paper)}body.design-sitewide .navlinks a{font-size:14px}body.design-sitewide .searchbox :is(input,.searchline input){font-size:16px}body.design-sitewide .home-hero .lead{font-size:16px}}
@media(max-width:430px){body.design-sitewide .design-home-aside .evidence-list{grid-template-columns:1fr}body.design-sitewide .design-shortcuts{grid-template-columns:repeat(5,125px)}body.design-sitewide .design-shortcut{min-height:92px}body.design-sitewide .site-brand-icon{width:27px;height:27px;flex-basis:27px;margin-right:2px}}
@media(prefers-reduced-motion:reduce){body.design-sitewide .design-shortcut{transition:none}body.design-sitewide :is(.btn,.button){transition:none}}

:root{--ink:var(--design-ink);--green:var(--design-dark);--green2:var(--design-primary);--navy:var(--design-dark);--teal:var(--design-primary);--paper:var(--design-wash);--paper2:var(--design-paper);--line:var(--design-line);--muted:var(--design-muted);--aqua:var(--design-wash2);--moss:var(--design-wash2);--amberText:var(--design-primary)}

body.design-sitewide .design-home-aside aside{padding:20px 25px}

/* Navigation remains collapsed until its original JS toggles .open. */
@media(max-width:740px){
 body.design-sitewide :is(.menu-btn,.menu){display:block;margin-left:auto;flex:0 0 auto}
 body.design-sitewide .navlinks{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:10px 18px 18px;flex-direction:column;align-items:stretch;gap:0;background:var(--design-paper);border-top:1px solid var(--design-line);border-bottom:1px solid var(--design-line);box-shadow:0 14px 30px rgba(19,48,39,.11)}
 body.design-sitewide .navlinks.open{display:flex}
 body.design-sitewide .navlinks a{padding:11px 8px;font-size:14px}
}
