@font-face{font-family:"Fraunces";src:url(/fonts/Fraunces-var-latin.woff2) format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(/fonts/AtkinsonHyperlegible-400-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(/fonts/AtkinsonHyperlegible-700-latin.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--bg:#F6F8F6;--surface:#FFFFFF;--surface-alt:#E6EEE9;--tint:#DDEBE2;--ink:#0F2A20;--text:#13221B;--text-soft:#475A51;--on-ink:#F3F7F4;--on-ink-soft:#BCD0C4;--accent:#1D6A48;--accent-strong:#154F36;--on-accent:#FFFFFF;--accent-on-ink:#86D0A8;--alert:#9A2A1C;--alert-bg:#FBEDEA;--alert-border:#EBC3BB;--border:#D3DDD7;--border-ink:#2C4A3D;--font-head:"Fraunces",Georgia,"Times New Roman",serif;--font-body:"Atkinson Hyperlegible","Segoe UI",system-ui,-apple-system,sans-serif;--radius:.9rem}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.68 var(--font-body)}
img{max-width:100%;height:auto}
a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.hero :focus-visible,.cta-band :focus-visible,.site-footer :focus-visible{outline-color:var(--accent-on-ink)}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:1rem;top:1rem;z-index:100;background:var(--surface);padding:.6rem 1rem}
h1,h2,h3{font-family:var(--font-head);font-weight:650;line-height:1.14;letter-spacing:-.012em;color:var(--text);text-wrap:balance}
.small{font-size:.9rem}
.container{width:100%;max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.narrow{max-width:47rem}
i[data-lucide]{display:inline-block;width:1.1em;height:1.1em;flex:none}
svg.lucide{width:1.1em;height:1.1em;flex:none;stroke-width:2;vertical-align:-.15em}
.site-header{position:sticky;top:0;z-index:50;background:rgba(246,248,246,.95);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--border)}
.header-row{display:flex;align-items:center;gap:.75rem;min-height:4rem;position:relative;max-width:80rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);margin-right:auto}
.brand .mark{flex:none}
.brand-text{display:flex;flex-direction:column;gap:.2rem;line-height:1.05}
.brand-top{font-family:var(--font-head);font-weight:700;font-size:1rem}
.brand-bottom{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.brand--ink{color:var(--on-ink)} .brand--ink .brand-bottom{color:var(--accent-on-ink)}
.header-phone{display:none;align-items:center;gap:.4rem;font-weight:700;text-decoration:none;color:var(--text);white-space:nowrap}
.nav-cb{position:absolute;opacity:0;pointer-events:none}
.nav-toggle{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.4rem .8rem;border:1px solid var(--border);border-radius:.6rem;background:var(--surface);cursor:pointer;font-weight:700}
.nav-cb:focus-visible+.nav-toggle{outline:3px solid var(--accent);outline-offset:2px}
.nav-list{display:none;list-style:none;margin:0;padding:.75rem clamp(1rem,4vw,2rem) 1.25rem;position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 12px 24px rgba(15,42,32,.08)}
.nav-cb:checked~.nav-list{display:block}
.nav-list a,.sub-label{display:flex;align-items:center;gap:.3rem;padding:.55rem 0;color:var(--text);text-decoration:none;font-weight:700;white-space:nowrap}
.nav-list a:hover{color:var(--accent)}
.sub{list-style:none;margin:0 0 .4rem;padding:0 0 0 1rem;border-left:2px solid var(--tint)}
.sub a{font-weight:400}
.nav-cta{margin-top:.5rem}
.nav-cta .btn{justify-content:center;width:100%;color:var(--on-accent)}
@media (min-width:90rem){.header-phone{display:inline-flex}}
@media (min-width:72rem){
.nav-toggle{display:none}
.nav-list{display:flex;align-items:center;gap:1.1rem;position:static;padding:0;background:none;border:0;box-shadow:none}
.nav-list a,.sub-label{padding:.4rem 0;font-size:.95rem}
.has-sub{position:relative}
.sub{display:none;position:absolute;top:100%;left:-1rem;min-width:17rem;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:.5rem 1rem;box-shadow:0 12px 30px rgba(15,42,32,.12)}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}
.nav-cta{margin:0}
.nav-cta .btn{width:auto;padding:.55rem 1rem}
}
.btn{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.2rem;border-radius:.65rem;border:2px solid transparent;font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn-accent{background:var(--accent);color:var(--on-accent)}
.btn-accent:hover{background:var(--accent-strong)}
.btn-accent-ink{background:var(--accent-on-ink);color:var(--ink)}
.btn-ghost{border-color:var(--on-ink-soft);color:var(--on-ink)}
.btn-ghost:hover{border-color:var(--on-ink)}
.btn-ghost-light{border-color:var(--border);color:var(--text);background:var(--surface)}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.quotes{margin:0}
.quote-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));margin-top:1.25rem}
.quote{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem 1.25rem 1rem}
.quote blockquote{margin:0;border:0;padding:0}
.quote blockquote p{margin:0;font-size:.98rem;line-height:1.65}
.quote figcaption{margin-top:.75rem;font-size:.82rem;color:var(--muted);font-weight:700}
.hero{background:var(--ink);color:var(--on-ink);padding-block:clamp(2.25rem,6vw,4.5rem)}
.hero--photo{background-color:var(--ink);background-size:cover;background-position:center 40%}
.hero--skyline{background-image:linear-gradient(100deg,rgba(15,42,32,.93) 0%,rgba(15,42,32,.87) 50%,rgba(15,42,32,0.82) 100%),url(https://images.unsplash.com/photo-1621603933126-6c216db10045?w=800&q=60&auto=format&fit=crop)}
@media (min-width:48rem){.hero--skyline{background-image:linear-gradient(100deg,rgba(15,42,32,.93) 0%,rgba(15,42,32,.87) 50%,rgba(15,42,32,0.82) 100%),url(https://images.unsplash.com/photo-1621603933126-6c216db10045?w=1400&q=60&auto=format&fit=crop)}}
.hero--winter{background-image:linear-gradient(100deg,rgba(15,42,32,.93) 0%,rgba(15,42,32,.87) 50%,rgba(15,42,32,0.82) 100%),url(https://images.unsplash.com/photo-1681391835354-63aeb171ff41?w=800&q=60&auto=format&fit=crop)}
@media (min-width:48rem){.hero--winter{background-image:linear-gradient(100deg,rgba(15,42,32,.93) 0%,rgba(15,42,32,.87) 50%,rgba(15,42,32,0.82) 100%),url(https://images.unsplash.com/photo-1681391835354-63aeb171ff41?w=1400&q=60&auto=format&fit=crop)}}
.hero--bench{background-image:linear-gradient(100deg,rgba(15,42,32,.93) 0%,rgba(15,42,32,.87) 50%,rgba(15,42,32,0.82) 100%),url(https://images.unsplash.com/photo-1708994916126-10277fa96889?w=800&q=60&auto=format&fit=crop)}
@media (min-width:48rem){.hero--bench{background-image:linear-gradient(100deg,rgba(15,42,32,.93) 0%,rgba(15,42,32,.87) 50%,rgba(15,42,32,0.82) 100%),url(https://images.unsplash.com/photo-1708994916126-10277fa96889?w=1400&q=60&auto=format&fit=crop)}}
.hero--valley{background-image:linear-gradient(100deg,rgba(15,42,32,.93) 0%,rgba(15,42,32,.87) 50%,rgba(15,42,32,0.82) 100%),url(https://images.unsplash.com/photo-1669422498933-6e65208f9a02?w=800&q=60&auto=format&fit=crop)}
@media (min-width:48rem){.hero--valley{background-image:linear-gradient(100deg,rgba(15,42,32,.93) 0%,rgba(15,42,32,.87) 50%,rgba(15,42,32,0.82) 100%),url(https://images.unsplash.com/photo-1669422498933-6e65208f9a02?w=1400&q=60&auto=format&fit=crop)}}
.hero h1{color:var(--on-ink);font-size:clamp(2rem,4.8vw,3.3rem);max-width:21ch;margin:.6rem 0 1.1rem}
.hero .answer{font-size:clamp(1.08rem,2vw,1.28rem);line-height:1.55;max-width:62ch;margin:0 0 1rem}
.hero .answer strong{font-weight:700;color:var(--on-ink)}
.hero .lede{max-width:62ch;color:var(--on-ink-soft)}
.hero .lede p{margin:0 0 .8rem}
.hero a{color:var(--accent-on-ink)}
.hero .btn-accent{color:var(--on-accent)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;font-size:.875rem;color:var(--on-ink-soft)}
.crumbs li+li::before{content:"›";margin-right:.35rem}
.attribution{margin:1.5rem 0 0;font-size:.85rem;color:var(--on-ink-soft)}
.meta-bar{font-size:.85rem;color:var(--text-soft);border-bottom:1px solid var(--border);padding-block:.8rem;background:var(--surface)}
.prose{padding-block:2.25rem .5rem}
.prose h2{font-size:clamp(1.5rem,2.9vw,2rem);margin:2.5rem 0 .85rem}
.prose h2:first-child{margin-top:.5rem}
.prose h3{font-family:var(--font-body);font-weight:700;letter-spacing:0;font-size:1.15rem;margin:1.8rem 0 .5rem}
.prose p{margin:0 0 1.05rem}
.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.2rem}
.prose li{margin:.4rem 0}
.prose li::marker{color:var(--accent)}
.prose table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;margin:1.3rem 0;font-size:.95rem}
.prose caption{text-align:left;font-weight:700;padding-bottom:.4rem}
.prose th,.prose td{border-bottom:1px solid var(--border);padding:.65rem .6rem;text-align:left;vertical-align:top}
.prose thead th{background:var(--surface-alt)}
.prose blockquote{margin:1.5rem 0;padding:1rem 1.25rem;border-left:4px solid var(--accent);background:var(--surface);border-radius:0 .6rem .6rem 0}
.prose blockquote p:last-child{margin:0}
.callout{background:var(--tint);border-radius:var(--radius);padding:1.1rem 1.25rem;margin:1.5rem 0}
.callout p:last-child,.redflag p:last-child{margin:0}
.redflag{background:var(--alert-bg);border:1px solid var(--alert-border);border-left:6px solid var(--alert);border-radius:.6rem;padding:1.1rem 1.25rem;margin:1.75rem 0}
.redflag strong{color:var(--alert)}
.wide-block{padding-block:.5rem 1.5rem}
.band{padding-block:clamp(2.25rem,5vw,3.75rem)}
.band--alt{background:var(--surface-alt)}
.band h2{font-size:clamp(1.45rem,2.6vw,1.85rem);margin:0 0 1rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;margin-block:1rem 1.5rem}
.card{position:relative;display:flex;flex-direction:column;gap:.45rem;padding:1.15rem 1.15rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(15,42,32,.09);border-color:var(--accent)}
.card-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.65rem;background:var(--tint);color:var(--accent)}
.card-icon i,.card-icon svg{width:1.3rem;height:1.3rem}
.card-title{font-family:var(--font-body);font-weight:700;font-size:1.08rem;line-height:1.3}
.card-blurb{color:var(--text-soft);font-size:.95rem;line-height:1.5}
.card-go{margin-top:auto;color:var(--accent);display:flex}
.clinic{display:grid;gap:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.35rem;margin-top:1rem}
.clinic h3{display:flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-weight:700;letter-spacing:0;font-size:1.1rem;margin:0 0 .6rem}
.clinic .nap{margin:0 0 .6rem}
.clinic .small{color:var(--text-soft);margin:0 0 .8rem}
.clinic-links{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:0}
.clinic-links a{display:inline-flex;align-items:center;gap:.35rem;font-weight:700}
.hours{border-collapse:collapse;font-size:.95rem;width:100%}
.hours th,.hours td{text-align:left;padding:.35rem .5rem .35rem 0;border-bottom:1px solid var(--border);vertical-align:top}
.hours th{font-weight:700;padding-right:1rem;white-space:nowrap}
@media (min-width:48rem){.clinic{grid-template-columns:1fr 1fr}}
.faq{padding-block:1.5rem 1rem}
.faq h2{font-size:clamp(1.45rem,2.6vw,1.85rem);margin:1.5rem 0 .5rem}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h3{margin:0;font-family:var(--font-body);font-weight:700;letter-spacing:0;font-size:1.08rem;line-height:1.35}
.faq-item .chev{transition:transform .2s ease;color:var(--accent)}
.faq-item[open] .chev{transform:rotate(180deg)}
.faq-item p{margin:0 0 1.1rem}
.sources{padding-block:.5rem 2.5rem;font-size:.9rem;color:var(--text-soft)}
.sources h2{font-size:1.15rem;margin:1.5rem 0 .5rem}
.sources ol{padding-left:1.3rem;margin:0 0 .6rem}
.sources li{margin:.3rem 0;overflow-wrap:anywhere}
.related .cards{margin-bottom:0}
.cta-band{background:var(--ink);color:var(--on-ink-soft);padding-block:clamp(2.5rem,6vw,4rem)}
.cta-band h2{color:var(--on-ink);font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 .8rem}
.cta-band p{max-width:60ch;margin:0}
.site-footer{background:var(--ink);color:var(--on-ink-soft);border-top:1px solid var(--border-ink);padding-block:3rem 7rem;font-size:.95rem}
.site-footer a{color:var(--on-ink-soft)}
.site-footer a:hover{color:var(--accent-on-ink)}
.footer-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}
.footer-brand{grid-column:1/-1}
.site-footer h2{font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--on-ink);margin:0 0 .6rem}
.footer-list{list-style:none;margin:0;padding:0}
.footer-list li{margin:.35rem 0}
.site-footer .nap{margin:1rem 0 .75rem;color:var(--on-ink)}
.attribution-bar{margin:2.25rem 0 .75rem;padding-top:1.5rem;border-top:1px solid var(--border-ink);color:var(--on-ink)}
.attribution-bar a{color:var(--accent-on-ink);font-weight:700}
.legal{margin:.4rem 0}
@media (min-width:72rem){.footer-brand{grid-column:auto}.site-footer{padding-bottom:3rem}}
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1.4fr;gap:.6rem;padding:.6rem clamp(1rem,4vw,2rem) calc(.6rem + env(safe-area-inset-bottom,0px));background:rgba(246,248,246,.97);border-top:1px solid var(--border)}
.callbar .btn{justify-content:center;min-height:46px;padding:.6rem .8rem}
@media (min-width:72rem){.callbar{display:none}}
.form-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;margin:1rem 0}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.callbar,.cta-band,.related{display:none}}
