:root{
  --ink:#20261F;
  --ink-2:#2B3329;
  --paper:#F4EEE0;
  --orange:#DE6A22;
  --orange-deep:#B3500F;
  --clay:#8A5A38;
  --line:#DED2B4;
  --white:#FFFFFF;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{ margin:0; background:var(--paper); color:var(--ink); font-family:'IBM Plex Sans', sans-serif; font-size:16.5px; line-height:1.6; }
h1,h2,h3{ font-family:'Newsreader', serif; font-weight:600; color:inherit; margin:0 0 0.45em; }
strong{ font-weight:600; color:var(--ink-2); }
p{margin:0 0 1em; max-width:60ch;}
a{color:var(--orange-deep);}
.wrap{max-width:1080px; margin:0 auto; padding:0 24px;}

header{ background:var(--paper); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; }
nav{ display:flex; align-items:center; justify-content:space-between; padding:18px 24px; max-width:1080px; margin:0 auto; }
.brand{ display:flex; align-items:center; gap:9px; font-family:'Newsreader', serif; font-weight:500; font-size:1.1rem; color:var(--ink); text-decoration:none; }
.brand svg{width:22px; height:22px; flex-shrink:0;}
.nav-links{display:flex; gap:26px; align-items:center;}
.nav-links a{color:var(--ink); text-decoration:none; font-size:0.93rem;}
.nav-links a:hover{color:var(--orange-deep);}
.nav-links a.active{color:var(--orange-deep); font-weight:500;}
.btn{ display:inline-block; background:var(--orange); color:var(--white) !important; padding:10px 20px; border-radius:3px; text-decoration:none; font-weight:500; font-size:0.92rem; border:none; cursor:pointer; }
.btn:hover{background:var(--orange-deep);}
.btn-quiet{ background:none; color:var(--paper) !important; border:1px solid rgba(244,238,224,0.5); }
.btn-quiet:hover{background:rgba(244,238,224,0.12);}
@media (max-width:720px){ .nav-links a:not(.btn){display:none;} }

.hero{ background:var(--ink); color:var(--paper); padding:76px 0 84px; }
.hero .wrap{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:48px; align-items:center; }
.hero h1{ font-size:2.5rem; line-height:1.14; color:var(--white); max-width:13ch; }
.hero p{ color:#C7CBBF; font-size:1.08rem; max-width:44ch; }
.hero-ctas{display:flex; gap:12px; margin-top:26px; flex-wrap:wrap;}
.hero-photo{ width:100%; height:340px; object-fit:cover; border-radius:6px; display:block; }
@media (max-width:820px){
  .hero .wrap{grid-template-columns:1fr;}
  .hero h1{font-size:2rem; max-width:none;}
  .hero-photo{height:240px; margin-top:8px;}
}

.page-hero{ background:var(--ink); color:var(--paper); padding:56px 0; }
.page-hero h1{ color:var(--white); font-size:2.1rem; max-width:20ch; }
.page-hero p{ color:#C7CBBF; font-size:1.05rem; max-width:52ch; margin-bottom:0; }

section{padding:64px 0;}
.section-head{max-width:560px; margin-bottom:36px;}
.section-head h2{font-size:1.65rem;}

.story{ display:grid; grid-template-columns:1fr 1fr; gap:52px; }
.story blockquote{ font-family:'Newsreader', serif; font-size:1.3rem; font-style:italic; line-height:1.45; color:var(--ink-2); margin:0; border-left:2px solid var(--orange); padding-left:20px; }
@media (max-width:820px){ .story{grid-template-columns:1fr;} }

.specialty-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px 28px; margin-bottom:8px; }
.specialty-grid div{ padding:12px 0; border-bottom:1px solid var(--line); font-size:0.98rem; }
.specialty-grid .clin{ display:block; font-size:0.8rem; color:#8A5A38; font-style:italic; margin-top:2px; }
@media (max-width:700px){ .specialty-grid{grid-template-columns:repeat(2,1fr);} }

.offer-list{ margin-top:44px; }
.offer{ display:grid; grid-template-columns:1fr; gap:4px; padding:18px 0; border-top:1px solid var(--line); }
.offer:last-child{border-bottom:1px solid var(--line);}
.offer h3{font-size:1.05rem; margin-bottom:2px;}
.offer p{margin-bottom:0; font-size:0.95rem; color:#4A4B3F;}

.detail-service{ padding:30px 0; border-top:1px solid var(--line); }
.detail-service:last-child{border-bottom:1px solid var(--line);}
.detail-service h3{font-size:1.25rem; margin-bottom:8px;}
.detail-service p{font-size:0.98rem; color:#3E4438; max-width:68ch;}
.detail-service .tag{ display:inline-block; font-size:0.78rem; color:var(--clay); background:#EADFC5; padding:4px 10px; border-radius:20px; margin-top:8px; }

.insurance{ background:#EADFC5; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.insurance .wrap{ padding:40px 24px; }
.insurance h2{font-size:1.35rem;}
.insurance p{max-width:70ch;}
.payer-badges{ display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
.badge{ background:var(--white); border:1px solid #C9BC98; color:var(--ink); font-size:0.85rem; padding:7px 14px; border-radius:20px; }
.badge-primary{ background:var(--orange); border-color:var(--orange); color:var(--white); font-weight:500; }

.area-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px 24px; }
.area-grid div{ display:flex; justify-content:space-between; gap:10px; padding:12px 0; border-bottom:1px solid var(--line); font-size:0.92rem; }
.area-grid span{ color:var(--clay); font-size:0.85rem; }
@media (max-width:700px){ .area-grid{grid-template-columns:1fr;} }

.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
.step-num{font-family:'Newsreader', serif; font-size:1.4rem; color:var(--orange); margin-bottom:6px;}
@media (max-width:800px){ .steps{grid-template-columns:1fr;} }

.mission-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:8px; }
.mission-card{ background:var(--white); border:1px solid var(--line); border-radius:6px; padding:24px; }
.mission-card h3{font-size:1.05rem; margin-bottom:8px;}
.mission-card p{font-size:0.95rem; color:#4A4B3F; margin-bottom:0;}
@media (max-width:700px){ .mission-grid{grid-template-columns:1fr;} }

.waitlist{ background:var(--white); border:1px solid var(--line); border-radius:6px; padding:36px; }
.waitlist-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:44px;}
@media (max-width:860px){ .waitlist-grid{grid-template-columns:1fr;} }

label{display:block; font-size:0.88rem; font-weight:500; margin-bottom:6px;}
input[type=text], input[type=email], input[type=tel], textarea{
  width:100%; padding:10px 12px; border:1px solid #CFC2A0; border-radius:3px;
  font-family:'IBM Plex Sans', sans-serif; font-size:0.96rem;
  background:var(--paper); color:var(--ink); margin-bottom:16px;
}
input:focus, textarea:focus{ outline:2px solid var(--orange); outline-offset:1px; }
fieldset{border:none; padding:0; margin:0 0 16px;}
fieldset legend{font-size:0.88rem; font-weight:500; margin-bottom:8px; padding:0;}
.radio-row{display:flex; gap:16px; flex-wrap:wrap;}
.radio-row label{display:flex; align-items:center; gap:6px; font-weight:400; margin-bottom:0; font-size:0.93rem;}
.radio-row input{width:auto; margin:0;}
.hp-field{position:absolute; left:-9999px;}

.crisis-line{ font-size:0.86rem; color:var(--clay); border-top:1px solid var(--line); padding-top:14px; margin-top:4px; }

details{ border-top:1px solid var(--line); padding:16px 0; }
details:last-of-type{ border-bottom:1px solid var(--line); }
summary{ cursor:pointer; font-family:'Newsreader', serif; font-size:1.02rem; list-style:none; display:flex; justify-content:space-between; align-items:center; }
summary::-webkit-details-marker{display:none;}
summary::after{ content:"+"; font-size:1.3rem; color:var(--orange); font-family:'IBM Plex Sans', sans-serif; }
details[open] summary::after{ content:"–"; }
details p{ margin-top:12px; font-size:0.95rem; color:#4A4B3F; }

footer{ background:var(--ink); color:#AEB4A5; padding:40px 0 26px; font-size:0.88rem; }
footer a{color:#E6A876;}
.footer-grid{ display:flex; justify-content:space-between; gap:28px; flex-wrap:wrap; padding-bottom:22px; border-bottom:1px solid #3A473F; }
.footer-brand{ display:flex; align-items:center; gap:8px; font-family:'Newsreader', serif; color:var(--white); font-size:1.05rem; }
.footer-legal{ padding-top:18px; color:#7C8577; font-size:0.8rem; }
