:root{--bg:#f8f7f3;--card:#fff;--ink:#1b2a44;--muted:#55627a;--accent:#1f4b8f;--accent-d:#15325f;--soft:#e7eef8;--line:#dfe3ea;--gold:#e2a93b}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:18px;line-height:1.65;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:"Lora",Georgia,serif;line-height:1.25;color:var(--ink);font-weight:600}
h1{font-size:clamp(2rem,4.5vw,3rem);margin:.2em 0 .4em}h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:0 0 .6em}h3{font-size:1.3rem;margin:1.2em 0 .4em}
a{color:var(--accent-d)}a:focus-visible,button:focus-visible{outline:3px solid #c98a2b;outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.6em 1em;z-index:100}.skip:focus{left:1em}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.25rem}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px;flex-wrap:wrap}
.brand{font-family:"Lora",Georgia,serif;font-weight:600;font-size:1.25rem;text-decoration:none;color:var(--ink)}.brand span{color:var(--accent)}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;flex-wrap:wrap}
nav a{display:block;padding:.45em .75em;border-radius:8px;text-decoration:none;color:var(--ink);font-size:1rem}
nav a:hover,nav a[aria-current=page]{background:var(--soft);color:var(--accent-d)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:.4em .8em;font-size:1rem;color:var(--ink)}
@media(max-width:820px){.menu-btn{display:block}nav{width:100%;display:none;padding-bottom:.75rem}nav.open{display:block}nav ul{flex-direction:column}}
.hero{background:linear-gradient(135deg,#e7eef8 0%,#f8f7f3 65%);padding:4.5rem 0 4rem}
.hero p.lead{font-size:1.2rem;color:var(--muted);max-width:640px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;color:var(--accent);font-weight:600}
.btns{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.btn{display:inline-block;padding:.75em 1.3em;border-radius:999px;text-decoration:none;font-weight:600;border:2px solid var(--accent)}
.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-d);border-color:var(--accent-d)}
.btn.ghost{color:var(--accent-d);background:#fff}.btn.ghost:hover{background:var(--soft)}
section{padding:3.5rem 0}section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid{display:grid;gap:1.25rem}.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.5rem}
.card h3{margin-top:0}
.muted{color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:.5rem 0 0}
.tags li{background:var(--soft);color:var(--accent-d);border-radius:999px;padding:.2em .8em;font-size:.92rem}
.therapist{display:grid;grid-template-columns:240px 1fr;gap:2rem;align-items:start}
.therapist img{width:100%;max-width:240px;border-radius:16px;aspect-ratio:4/5;object-fit:cover;background:var(--soft)}
@media(max-width:720px){.therapist{grid-template-columns:1fr}.therapist img{max-width:200px}}
.facts{list-style:none;padding:0;margin:.5rem 0}.facts li{padding:.3em 0;border-bottom:1px dashed var(--line)}
.facts strong{display:inline-block;min-width:9.5em}
table{border-collapse:collapse;width:100%;background:#fff;border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:.7em .9em;border-bottom:1px solid var(--line)}th{background:var(--soft)}
td.c{text-align:center}
.cta{background:var(--accent);color:#fff;border-radius:20px;padding:2.5rem;text-align:center}
.cta h2{color:#fff}.cta .btn.primary{background:#fff;color:var(--accent-d);border-color:#fff}.cta .btn.ghost{background:transparent;color:#fff;border-color:#fff}
.cta p{color:#e9f1ef}
footer.site{background:#15233d;color:#d7e0e3;padding:2.5rem 0 1.5rem;font-size:.97rem}
footer.site a{color:#fff}footer.site h3{color:#fff;font-size:1.1rem;margin-top:0}
.crisis{background:#22355a;border-left:4px solid var(--gold);padding:1rem 1.2rem;border-radius:8px;margin-top:1.5rem}
.small{font-size:.88rem;color:#aebcc2;margin-top:1.5rem}
.brand{display:flex;align-items:center;gap:.6rem}
.logo{height:48px;width:auto;display:block}
.logo-slot{display:none} /* when LOGO is set in build.py an <img class="logo"> renders here */
.gallery{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:1rem}
.gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.gallery figcaption{padding:.5rem .9rem;font-size:.95rem;color:var(--muted)}

.logo{height:44px;width:auto}
.wordmark{line-height:1.15}
.nav-cta{background:var(--accent);color:#fff!important;font-weight:600}
.nav-cta:hover{background:var(--accent-d)!important}
.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:center}
.hero-logo{width:100%;max-width:420px;height:auto;justify-self:center}
@media(max-width:1000px){nav a{padding:.45em .55em;font-size:.95rem}}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr}.hero-logo{grid-row:1;max-width:260px}.logo{height:38px}.brand{font-size:1.1rem}.hero{padding:2.5rem 0 3rem}}
.brand .wordmark,.brand .wordmark span{color:var(--ink)}
header.site .wrap{padding-top:.4rem;padding-bottom:.4rem}
@media(max-width:820px){header.site .wrap{min-height:60px;gap:.5rem}.brand{font-size:1rem;gap:.45rem}.logo{height:34px}.menu-btn{padding:.35em .7em}}
@media(max-width:360px){.brand{font-size:.92rem}.logo{height:30px}}
@media(max-width:820px){.brand{flex:1 1 0;min-width:0}.menu-btn{flex:0 0 auto}}
