/* ==========================================================
   Clinic Pilot — shared design system
   Edit here once; every page updates on rebuild.
   Palette + type from homepage v3 (Fraunces + Figtree).
   ========================================================== */
:root{
  --paper:#FBF9F4; --card:#FFFFFF; --ink:#1F2A26; --soft:#5A6A63; --faint:#8B968F;
  --teal:#2C6455; --teal-mid:#3E8873; --teal-tint:#E7F1EC;
  --clay:#C97B5D; --clay-tint:#F7EBE4;
  --line:#E4DFD2; --line-soft:#EEEAE0;
  /* ── who-we-help discipline accents (round 19) ──
     Each discipline page tints only its hero + primary button; teal stays the
     action colour sitewide. Physio uses the existing clay.
     Ochre and sage were both reserved for chiropractic; the chiro page ships in
     ochre (round 21) with sage kept defined so the swap is a one-word change. */
  --plum:#8E7A9B;  --plum-tint:#EFE9F2;   /* RMT */
  --slate:#5B6E8C; --slate-tint:#E8EDF3;  /* multidisciplinary */
  --ochre:#C29A4A; --ochre-tint:#F7F0E1;  /* chiropractic (in use) */
  --sage:#7D8C6A;  --sage-tint:#EDF0E6;   /* chiropractic (alternate) */
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
/* Fraunces WONK-fix: the variable font's default "wonky" substitution set
   (WONK 1) tilts/flags several letterforms — most visibly the italic j and f —
   for a hand-lettered look. Mark found this reads as crooked. Forcing WONK 0
   (and SOFT 0, its paired axis) on body and letting it inherit straightens
   those letterforms everywhere Fraunces is used, with no other change to
   weight, pairing, or layout. font-variation-settings inherits by default,
   so every element below body picks this up unless it sets its own value. */
body{background:var(--paper);color:var(--ink);font-family:'Figtree',sans-serif;-webkit-font-smoothing:antialiased;font-variation-settings:'WONK' 0,'SOFT' 0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.serif{font-family:'Fraunces',serif;}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px;}
.wrap.narrow{max-width:800px;}

/* announce bar */
.announce{background:var(--teal);color:#EAF3EF;font-size:13px;text-align:center;padding:9px 16px;letter-spacing:.02em;}
.announce b{color:#fff;font-weight:600;}

/* nav */
.navbar{position:sticky;top:0;z-index:50;background:rgba(251,249,244,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
.logo{display:flex;align-items:center;gap:11px;font-weight:700;font-size:21px;letter-spacing:-.01em;}
.logo .mark{display:grid;grid-template-columns:repeat(3,7px);gap:2.5px;}
.logo .mark i{width:7px;height:7px;border-radius:2px;background:var(--teal-mid);display:block;}
.logo .mark i.o{background:transparent;border:1.5px solid var(--teal-mid);}
nav ul{display:flex;gap:28px;list-style:none;font-size:15px;font-weight:500;color:var(--soft);}
nav ul a:hover{color:var(--teal);}
.btn{display:inline-block;background:var(--teal);color:#fff;padding:13px 26px;border-radius:100px;font-weight:600;font-size:15px;transition:.18s;cursor:pointer;border:none;font-family:'Figtree',sans-serif;}
.btn:hover{background:var(--teal-mid);transform:translateY(-1px);}
.btn.ghost{background:transparent;color:var(--teal);border:1.5px solid var(--teal);}
.btn.ghost:hover{background:var(--teal-tint);}
.btn.clay{background:var(--clay);}
.btn.clay:hover{background:#D68B6C;}

/* type */
h1{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(40px,4.8vw,60px);line-height:1.06;letter-spacing:-.015em;}
h1 em,h2 em{font-style:italic;color:var(--teal);}
h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(30px,3.4vw,44px);letter-spacing:-.01em;line-height:1.1;max-width:700px;}
.kicker,.sec-kicker{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-mid);margin-bottom:14px;}
.kicker{margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.kicker::before{content:"";width:30px;height:2px;background:var(--clay);border-radius:2px;}
.lede{margin-top:18px;font-size:17px;line-height:1.65;color:var(--soft);max-width:620px;}
.lede b{color:var(--ink);font-weight:600;}
section{padding:88px 0;}
section.tight{padding:56px 0;}
.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.center{text-align:center;}
.center h2,.center .lede{margin-left:auto;margin-right:auto;}

/* interior page hero */
.page-hero{padding:72px 0 56px;}
.page-hero h1{max-width:820px;}
.page-hero .lede{max-width:680px;}
.page-hero .ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:30px;}
.page-hero .note{margin-top:16px;font-size:13.5px;color:var(--faint);}
.crumbs{padding:20px 0 0;font-size:13px;color:var(--faint);}
.crumbs a:hover{color:var(--teal);}

/* homepage hero */
.hero{display:grid;grid-template-columns:1.02fr 1fr;gap:60px;padding:72px 0 64px;align-items:center;}
.hero p.sub{margin:24px 0 8px;font-size:18px;line-height:1.6;color:var(--soft);max-width:520px;}
.hero p.sub b{color:var(--ink);font-weight:600;}
.kpi-chip{display:inline-flex;align-items:center;gap:9px;margin:16px 0 30px;font-size:13.5px;font-weight:600;background:var(--card);border:1px solid var(--line);padding:9px 16px;border-radius:100px;box-shadow:0 2px 10px rgba(31,42,38,.06);}
.kpi-chip .dot{width:9px;height:9px;border-radius:50%;background:var(--teal-mid);animation:pulse 1.8s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.hero-note{margin-top:16px;font-size:13.5px;color:var(--faint);}

/* schedule visual */
.sched{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(31,42,38,.10);overflow:hidden;}
.sched-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line-soft);}
.sched-head .t{font-weight:600;font-size:14px;}
.sched-head .count{font-size:12.5px;font-weight:600;color:var(--teal);background:var(--teal-tint);padding:4px 12px;border-radius:100px;}
.grid{display:grid;grid-template-columns:50px repeat(4,1fr);font-size:11px;padding:6px 8px 10px;}
.grid .h{padding:8px 4px;text-align:center;font-weight:600;color:var(--faint);letter-spacing:.06em;font-size:10.5px;}
.grid .time{padding:10px 6px;text-align:right;color:var(--faint);font-size:10.5px;}
.slot{margin:3px;padding:8px 9px;min-height:46px;border:1.5px dashed var(--line);border-radius:8px;color:#B9B3A4;font-size:10px;display:flex;flex-direction:column;justify-content:center;gap:2px;}
.slot b{font-size:11.5px;font-weight:600;color:var(--ink);}
.slot .src{font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--teal-mid);font-weight:600;}
.slot.booked{border:1px solid transparent;background:var(--teal-tint);opacity:0;animation:bookIn .5s forwards;}
.slot.you{border:1.5px dashed var(--clay);color:#A96A4E;background:var(--clay-tint);}
.slot.you b{color:#8A4F35;}
@keyframes bookIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
.b1{animation-delay:.3s}.b2{animation-delay:.8s}.b3{animation-delay:1.3s}.b4{animation-delay:1.8s}.b5{animation-delay:2.3s}.b6{animation-delay:2.8s}.b7{animation-delay:3.3s}.b8{animation-delay:3.8s}.b9{animation-delay:4.3s}
.sched-foot{padding:12px 18px;border-top:1px solid var(--line-soft);font-size:11.5px;display:flex;gap:18px;color:var(--faint);}
.key{display:flex;align-items:center;gap:7px;}
.key i{width:11px;height:11px;border-radius:3px;display:block;}
.key .kg{background:var(--teal-tint);border:1px solid var(--teal-mid);}
.key .ke{border:1.5px dashed var(--line);}

/* trust strip */
.trust{padding:20px 0 26px;}
.trust .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.trust .label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);}
.logos{display:flex;gap:12px;flex-wrap:wrap;}
.logos span{font-size:12.5px;font-weight:500;color:var(--faint);border:1px solid var(--line);padding:7px 15px;border-radius:100px;background:var(--card);}

/* pain / checklist card */
.pain-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;}
.sym-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px 30px;box-shadow:0 12px 32px rgba(31,42,38,.07);}
.sym-card .sh{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:8px;display:flex;justify-content:space-between;}
.sym-card .sh span:last-child{color:var(--clay);}
.sym{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line-soft);font-size:15.5px;line-height:1.5;color:var(--soft);}
.sym:last-of-type{border-bottom:none;}
.sym .box{width:20px;height:20px;border:1.5px solid var(--line);border-radius:5px;flex-shrink:0;display:grid;place-items:center;font-weight:700;color:var(--clay);font-size:13px;margin-top:2px;background:var(--card);}
.sym b{color:var(--ink);font-weight:600;}
.sym-score{margin-top:18px;font-size:13.5px;font-weight:600;color:var(--teal);background:var(--teal-tint);padding:12px 16px;border-radius:10px;}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px;}
.step{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:30px 28px;transition:.2s;}
.step:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(31,42,38,.08);}
.step .phase{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);background:var(--teal-tint);padding:6px 14px;border-radius:100px;margin-bottom:18px;}
.step h3{font-family:'Fraunces',serif;font-weight:500;font-size:22px;margin-bottom:10px;}
.step p{font-size:15px;line-height:1.6;color:var(--soft);}
.step .tag{margin-top:18px;font-size:12px;font-weight:600;color:var(--faint);letter-spacing:.06em;text-transform:uppercase;}

/* dark chatbot section */
.chat-sec{background:var(--ink);color:#E9EDEA;}
.chat-sec .sec-kicker{color:#8FC7B4;}
.chat-sec h2{color:#fff;}
.chat-sec h2 em{color:#8FC7B4;}
.chat-sec .lede{color:#AEBBB4;}
.chat-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:20px;}
.phone{background:#2A3833;border:1px solid #3D4F48;border-radius:22px;padding:22px 18px;max-width:400px;box-shadow:0 24px 60px rgba(0,0,0,.4);}
.phone .ph-head{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid #3D4F48;margin-bottom:16px;}
.phone .ph-head .av{width:34px;height:34px;border-radius:50%;background:var(--teal-mid);display:grid;place-items:center;font-weight:700;color:#fff;font-size:14px;}
.phone .ph-head .nm{font-size:14px;font-weight:600;color:#fff;}
.phone .ph-head .st{font-size:11.5px;color:#8FC7B4;}
.bub{max-width:82%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.5;margin-bottom:10px;opacity:0;animation:bookIn .45s forwards;}
.bub.pt{background:#3D4F48;color:#E9EDEA;border-bottom-left-radius:4px;}
.bub.bot{background:#8FC7B4;color:#132A22;margin-left:auto;border-bottom-right-radius:4px;font-weight:500;}
.bub.sys{background:transparent;border:1.5px dashed #3D4F48;color:#8A9B93;font-size:11.5px;max-width:100%;text-align:center;border-radius:10px;}
.c1{animation-delay:.2s}.c2{animation-delay:.9s}.c3{animation-delay:1.6s}.c4{animation-delay:2.3s}.c5{animation-delay:3s}.c6{animation-delay:3.7s}
.chat-points{list-style:none;display:grid;gap:18px;margin-top:34px;}
.chat-points li{display:flex;gap:14px;font-size:16px;line-height:1.55;color:#C4CFC9;}
.chat-points li::before{content:"\2192";color:#8FC7B4;font-weight:700;flex-shrink:0;}
.chat-points b{color:#fff;font-weight:600;}

/* stats + quotes */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;}
.stats.tight{margin-top:28px;}
.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:30px 26px;}
.stat .n{font-family:'Fraunces',serif;font-size:46px;font-weight:500;letter-spacing:-.02em;color:var(--teal);}
.stat p{margin-top:8px;font-size:14.5px;line-height:1.55;color:var(--soft);}
.stat .src{margin-top:14px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px;}
.quotes.two{grid-template-columns:repeat(2,1fr);}
.quote{background:var(--teal-tint);border-radius:16px;padding:26px;}
.quote p{font-family:'Fraunces',serif;font-size:16.5px;line-height:1.55;color:#1E4438;font-style:italic;}
.quote .who{margin-top:16px;font-size:13px;font-weight:600;color:var(--teal);}

/* intake form */
.intake-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:start;}
.intake-form{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:36px;box-shadow:0 20px 48px rgba(31,42,38,.10);}
.intake-form .fh{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-bottom:1.5px solid var(--ink);padding-bottom:14px;margin-bottom:26px;display:flex;justify-content:space-between;}
.intake-form .fh span:last-child{color:var(--clay);}
.ifield{margin-bottom:22px;}
.ifield label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:5px;}
.ifield input,.ifield select,.ifield textarea{width:100%;border:none;border-bottom:1.5px solid var(--line);background:transparent;font-family:'Fraunces',serif;font-size:17px;padding:7px 2px;color:var(--ink);}
.ifield input:focus,.ifield select:focus,.ifield textarea:focus{outline:none;border-bottom-color:var(--teal);background:var(--teal-tint);}
.itwo{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.checkrow{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;}
.checkrow label{display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--ink);font-weight:500;}
.checkrow input{width:16px;height:16px;accent-color:var(--teal);}
.intake-form .btn{width:100%;text-align:center;margin-top:8px;font-size:16px;padding:15px;}
.ifine{margin-top:14px;font-size:12.5px;color:var(--faint);text-align:center;}
.magnet-copy .bullets{list-style:none;margin-top:28px;display:grid;gap:16px;}
.magnet-copy .bullets li{display:flex;gap:12px;font-size:16px;line-height:1.55;color:var(--soft);}
.magnet-copy .bullets li::before{content:"\2713";font-weight:700;color:var(--teal-mid);}
.magnet-copy .bullets b{color:var(--ink);font-weight:600;}

/* FAQ */
.faq-list{margin-top:44px;display:grid;gap:14px;max-width:800px;}
details{background:var(--card);border:1px solid var(--line);border-radius:14px;}
details[open]{box-shadow:0 12px 28px rgba(31,42,38,.07);}
summary{cursor:pointer;list-style:none;padding:20px 24px;font-weight:600;font-size:16.5px;display:flex;justify-content:space-between;align-items:center;gap:16px;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";font-family:'Fraunces',serif;font-size:24px;color:var(--teal-mid);flex-shrink:0;line-height:1;}
details[open] summary::after{content:"\2013";}
details .a{padding:0 24px 22px;font-size:15.5px;line-height:1.65;color:var(--soft);max-width:680px;}
details .a p{margin-bottom:10px;}
details .a p:last-child{margin-bottom:0;}

/* generic cards (hubs) */
.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px;}
.card-grid.three{grid-template-columns:repeat(3,1fr);}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:32px 30px;transition:.2s;}
a.card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(31,42,38,.09);border-color:var(--teal-mid);}
.card .eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-mid);margin-bottom:14px;}
.card h3{font-family:'Fraunces',serif;font-weight:500;font-size:23px;margin-bottom:10px;line-height:1.2;}
.card p{font-size:15px;line-height:1.6;color:var(--soft);}
.card .go{margin-top:18px;font-size:14px;font-weight:600;color:var(--teal);}
.card .big{font-family:'Fraunces',serif;font-size:40px;color:var(--teal);letter-spacing:-.02em;margin-bottom:8px;}

/* checklist bullets (generic) */
.bullets-generic{list-style:none;margin-top:26px;display:grid;gap:15px;}
.bullets-generic li{display:flex;gap:12px;font-size:16px;line-height:1.55;color:var(--soft);}
.bullets-generic li::before{content:"\2713";font-weight:700;color:var(--teal-mid);flex-shrink:0;}
.bullets-generic b{color:var(--ink);font-weight:600;}

/* two-column feature rows */
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:56px;}

/* prose (articles, legal, case studies) */
.prose{max-width:720px;font-size:16.5px;line-height:1.7;color:var(--soft);}
.prose h2{font-size:clamp(24px,2.6vw,32px);margin:44px 0 14px;color:var(--ink);}
.prose h3{font-family:'Fraunces',serif;font-weight:500;font-size:21px;margin:32px 0 10px;color:var(--ink);}
.prose p{margin-bottom:16px;}
.prose ul,.prose ol{margin:0 0 16px 22px;}
.prose li{margin-bottom:8px;}
.prose b,.prose strong{color:var(--ink);}
.prose a{color:var(--teal);font-weight:600;border-bottom:1px solid var(--teal-tint);}
.prose blockquote{border-left:3px solid var(--teal-mid);padding:6px 0 6px 20px;margin:24px 0;font-family:'Fraunces',serif;font-style:italic;color:#1E4438;}
.article-meta{display:flex;gap:14px;align-items:center;font-size:13.5px;color:var(--faint);margin-top:22px;}
.author-box{display:flex;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;margin-top:56px;max-width:720px;}
.author-box .av{width:56px;height:56px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:700;font-size:20px;flex-shrink:0;}
.author-box .bio{font-size:14.5px;line-height:1.6;color:var(--soft);}
.author-box .bio b{color:var(--ink);}

/* calendar embed placeholder */
.cal-embed{background:var(--card);border:1.5px dashed var(--line);border-radius:16px;min-height:420px;display:grid;place-items:center;color:var(--faint);font-size:14.5px;text-align:center;padding:32px;}

/* final CTA + footer */
.final{text-align:center;}
.final h2{margin:0 auto;max-width:720px;}
.final .btn{margin-top:36px;font-size:16px;padding:16px 34px;}
.final .sub-note{margin-top:16px;font-size:13.5px;color:var(--faint);}
footer{border-top:1px solid var(--line);padding:48px 0 40px;font-size:13.5px;color:var(--faint);}
.foot-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px;}
.foot-cols .fc-title{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:14px;}
.foot-cols ul{list-style:none;display:grid;gap:9px;}
.foot-cols a:hover{color:var(--teal);}
.foot-brand{color:var(--soft);line-height:1.6;max-width:280px;}
.foot-bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line-soft);padding-top:24px;}

@media(max-width:920px){
  .hero,.chat-grid,.intake-grid,.pain-grid,.feature-row{grid-template-columns:1fr;gap:44px;}
  .steps,.stats,.quotes,.quotes.two,.card-grid,.card-grid.three{grid-template-columns:1fr;}
  .foot-cols{grid-template-columns:1fr 1fr;}
  .foot-cols>div:first-child{grid-column:1/-1;}
  .foot-cols ul{gap:14px;}
  nav ul{display:none;}
  .hero .kpi-chip,.hero .hero-note{display:none;}
}

/* ── nav dropdowns ── */
.has-drop{position:relative;}
.has-drop .caret{font-size:10px;opacity:.6;}
.drop{position:absolute;top:100%;left:-16px;padding-top:14px;display:none;min-width:290px;z-index:60;}
.has-drop:hover .drop,.has-drop:focus-within .drop{display:block;}
.drop a{display:block;background:var(--card);border:1px solid var(--line);border-top:none;padding:13px 18px;line-height:1.35;}
.drop a:first-child{border-top:1px solid var(--line);border-radius:12px 12px 0 0;}
.drop a:last-child{border-radius:0 0 12px 12px;box-shadow:0 18px 40px rgba(31,42,38,.12);}
.drop a b{display:block;font-size:14px;color:var(--ink);font-weight:600;}
.drop a span{font-size:12px;color:var(--faint);}
.drop a:hover{background:var(--teal-tint);}
.drop a:hover b{color:var(--teal);}

/* ── design-review variation dividers ── */
.var-divider{background:var(--ink);color:#E9EDEA;padding:14px 0;border-top:3px solid var(--clay);}
.var-divider .wrap{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;}
.var-divider .vtag{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:var(--clay);color:#fff;padding:4px 12px;border-radius:100px;}
.var-divider .vname{font-family:'Fraunces',serif;font-style:italic;font-size:17px;}
.var-divider .vwhy{font-size:13px;color:#AEBBB4;}

/* ── how-it-works variation B: treatment timeline ── */
.tl{position:relative;max-width:760px;margin:52px auto 0;}
.tl::before{content:"";position:absolute;left:26px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--teal-mid),var(--clay));border-radius:2px;}
.tl-item{position:relative;padding:0 0 44px 84px;}
.tl-item:last-child{padding-bottom:0;}
.tl-dot{position:absolute;left:0;top:0;width:54px;height:54px;border-radius:50%;background:var(--card);border:2px solid var(--teal-mid);display:grid;place-items:center;font-family:'Fraunces',serif;font-size:19px;color:var(--teal);z-index:1;}
.tl-item:last-child .tl-dot{border-color:var(--clay);color:var(--clay);}
.tl-week{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin-bottom:6px;}
.tl-item h3{font-family:'Fraunces',serif;font-weight:500;font-size:24px;margin-bottom:8px;}
.tl-item p{font-size:15.5px;line-height:1.6;color:var(--soft);max-width:560px;}
.tl-deliver{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.tl-deliver span{font-size:12px;font-weight:600;background:var(--teal-tint);color:var(--teal);padding:5px 12px;border-radius:100px;}

/* ── how-it-works variation C: interactive tabs ── */
.ph-tabs{display:flex;gap:10px;margin-top:44px;flex-wrap:wrap;}
.ph-tab{flex:1;min-width:180px;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:18px 20px;cursor:pointer;font-family:'Figtree',sans-serif;transition:.18s;}
.ph-tab .pt-num{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);}
.ph-tab .pt-name{font-family:'Fraunces',serif;font-size:20px;color:var(--ink);margin-top:4px;}
.ph-tab.active{border-color:var(--teal);background:var(--teal-tint);box-shadow:0 10px 26px rgba(31,42,38,.08);}
.ph-tab.active .pt-num{color:var(--teal);}
.ph-panel{display:none;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:36px;margin-top:18px;box-shadow:0 16px 40px rgba(31,42,38,.07);}
.ph-panel.active{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:center;}
.ph-panel h3{font-family:'Fraunces',serif;font-weight:500;font-size:26px;margin-bottom:12px;}
.ph-panel p{font-size:15.5px;line-height:1.65;color:var(--soft);}
.ph-meter{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;}
.ph-meter .pm-label{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);display:flex;justify-content:space-between;margin-bottom:10px;}
.ph-meter .pm-label b{color:var(--teal);}
.ph-bar{height:12px;background:var(--line-soft);border-radius:100px;overflow:hidden;}
.ph-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal-mid),var(--teal));border-radius:100px;transition:width .8s ease;}
.ph-meter p{font-size:13px;color:var(--faint);margin-top:12px;line-height:1.5;}

/* ── how-it-works variation D: calendar density ── */
.dense{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px;}
.dense-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.2s;}
.dense-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(31,42,38,.09);}
.dense-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:22px 22px 8px;}
.dense-grid i{aspect-ratio:1;border-radius:4px;border:1.5px dashed var(--line);}
.dense-grid i.f{background:var(--teal-tint);border:1px solid var(--teal-mid);}
.dense-grid i.c{background:var(--clay-tint);border:1px solid var(--clay);}
.dense-pct{padding:4px 22px 0;font-family:'Fraunces',serif;font-size:30px;color:var(--teal);}
.dense-pct span{font-size:13px;color:var(--faint);font-family:'Figtree',sans-serif;}
.dense-body{padding:12px 22px 26px;}
.dense-body .phase{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);background:var(--teal-tint);padding:5px 13px;border-radius:100px;margin-bottom:12px;}
.dense-body h3{font-family:'Fraunces',serif;font-weight:500;font-size:21px;margin-bottom:8px;}
.dense-body p{font-size:14.5px;line-height:1.6;color:var(--soft);}

/* ── interactive symptom checklist ── */
.sym-i{cursor:pointer;user-select:none;transition:background .15s;border-radius:8px;}
.sym-i:hover{background:var(--teal-tint);}
.sym-i .box{transition:.15s;color:transparent;}
.sym-i.on .box{background:var(--teal);border-color:var(--teal);color:#fff;}
.sym-i.on span:last-child{color:var(--ink);}
.diag{margin-top:18px;border-radius:12px;padding:16px 18px;font-size:14px;line-height:1.55;font-weight:500;transition:.25s;border:1.5px dashed var(--line);color:var(--faint);}
.diag.d1{border-style:solid;border-color:var(--teal-mid);background:var(--teal-tint);color:var(--teal);}
.diag.d2{border-style:solid;border-color:var(--clay);background:var(--clay-tint);color:#8A4F35;}
.diag.d3{border-style:solid;border-color:var(--clay);background:var(--clay);color:#fff;animation:diagPulse .4s;}
.diag .btn{margin-top:12px;font-size:13.5px;padding:10px 20px;display:inline-block;}
.diag.d3 .btn{background:#fff;color:var(--clay);}
@keyframes diagPulse{0%{transform:scale(.97)}60%{transform:scale(1.01)}100%{transform:scale(1)}}

/* ── big review dropdown ── */
.drop.big{min-width:340px;max-height:72vh;overflow:auto;left:auto;right:-40px;}

/* ── blog filter chips ── */
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:38px;}
.fchip{border:1.5px solid var(--line);background:var(--card);color:var(--soft);font-family:'Figtree',sans-serif;font-size:13.5px;font-weight:600;padding:9px 18px;border-radius:100px;cursor:pointer;transition:.15s;}
.fchip:hover{border-color:var(--teal-mid);color:var(--teal);}
.fchip.active{background:var(--teal);border-color:var(--teal);color:#fff;}
.fchip .cnt{opacity:.6;font-weight:500;margin-left:5px;}
.card[data-cat][hidden]{display:none;}
.cat-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-mid);background:var(--teal-tint);padding:4px 11px;border-radius:100px;margin-bottom:12px;}

/* ── mid-article CTA ── */
.cta-inline{display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--teal);color:#EAF3EF;border-radius:18px;padding:32px 36px;margin:44px 0;max-width:720px;}
.cta-inline .ci-kick{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8FC7B4;margin-bottom:8px;}
.cta-inline .ci-head{font-family:'Fraunces',serif;font-size:24px;color:#fff;margin-bottom:8px;}
.cta-inline p{font-size:14.5px;line-height:1.55;color:#C4DCD2;max-width:380px;}
.cta-inline .ci-actions{display:grid;gap:10px;justify-items:center;}
.cta-inline .btn.clay{white-space:nowrap;}
.cta-inline .ci-alt{font-size:13px;color:#8FC7B4;font-weight:600;}

/* ── comparison table ── */
.cmp{max-width:860px;margin:48px auto 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);}
.cmp-row{display:grid;grid-template-columns:1fr 1.1fr 1.3fr;border-bottom:1px solid var(--line-soft);}
.cmp-row:last-child{border-bottom:none;}
.cmp-row>div{padding:16px 20px;font-size:14.5px;line-height:1.5;}
.cmp-head{background:var(--paper);border-bottom:1.5px solid var(--line);}
.cmp-head .cmp-them{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);}
.cmp-head .cmp-us{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);}
.cmp-k{font-weight:600;color:var(--ink);}
.cmp-them{color:var(--faint);}
.cmp-us{background:var(--teal-tint);color:#1E4438;}
.cmp-us b{color:var(--teal);}
@media(max-width:760px){.cmp-row{grid-template-columns:1fr;}.cmp-k{background:var(--paper);font-size:12px;text-transform:uppercase;letter-spacing:.08em;padding-bottom:6px;}.cmp-head{display:none;}.cmp-them::before{content:"Typical agency: ";font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.08em;}.cmp-us::before{content:"Clinic Pilot: ";font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--teal);}}

/* ── mock Google SERP (Google Ads page) ── */
.serp{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 28px;box-shadow:0 20px 48px rgba(31,42,38,.10);max-width:480px;font-family:Arial,sans-serif;}
.serp .s-bar{display:flex;align-items:center;gap:10px;border:1px solid #DFE1E5;border-radius:100px;padding:10px 18px;font-size:14px;color:#202124;margin-bottom:20px;}
.serp .s-bar .mag{color:#9AA0A6;}
.serp .s-ad{padding:14px 0;border-bottom:1px solid #ECEDEF;}
.serp .s-tag{display:inline-block;font-size:11px;font-weight:700;color:#202124;border:1px solid #202124;border-radius:3px;padding:0 4px;margin-right:8px;vertical-align:1px;}
.serp .s-url{font-size:12px;color:#202124;}
.serp .s-title{font-size:17px;color:#1A0DAB;margin:3px 0 4px;font-weight:400;}
.serp .s-desc{font-size:13px;color:#4D5156;line-height:1.5;}
.serp .s-ext{font-size:12.5px;color:#1A0DAB;margin-top:5px;}
.serp .s-you{background:#F3FBF7;margin:0 -16px;padding:14px 16px;border:1px solid #CBE8DB;border-radius:10px;}
.serp .s-them{opacity:.5;}
.serp .s-note{margin-top:14px;font-size:11.5px;color:var(--faint);font-family:'Figtree',sans-serif;text-align:center;}
/* ── mock map pack (SEO page) ── */
.mappack{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 20px 48px rgba(31,42,38,.10);max-width:480px;font-family:Arial,sans-serif;}
.mappack .mp-map{height:110px;background:linear-gradient(135deg,#DFEDE4,#CFE3D6 55%,#E8F0E9);position:relative;}
.mappack .mp-map .pin{position:absolute;font-size:22px;}
.mappack .mp-body{padding:6px 22px 18px;}
.mappack .mp-item{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #ECEDEF;align-items:center;}
.mappack .mp-item:last-child{border-bottom:none;}
.mappack .mp-name{font-size:14.5px;color:#202124;font-weight:600;}
.mappack .mp-meta{font-size:12px;color:#70757A;margin-top:3px;}
.mappack .mp-stars{color:#FBBC04;font-size:12px;}
.mappack .mp-rank{font-size:11px;font-weight:700;color:var(--teal);background:var(--teal-tint);border-radius:100px;padding:4px 10px;font-family:'Figtree',sans-serif;white-space:nowrap;}
.mappack .mp-item.you{background:#F3FBF7;margin:0 -12px;padding:13px 12px;border:1px solid #CBE8DB;border-radius:10px;}
/* ── SMS thread (follow-up page) ── */
.sms{background:#F7F7F9;border:1px solid var(--line);border-radius:22px;padding:22px 18px;max-width:400px;box-shadow:0 20px 48px rgba(31,42,38,.12);}
.sms .sms-head{text-align:center;font-size:12px;color:var(--faint);padding-bottom:12px;border-bottom:1px solid var(--line-soft);margin-bottom:14px;}
.sms .sms-head b{display:block;font-size:14px;color:var(--ink);}
.sms .day{ text-align:center;font-size:11px;color:var(--faint);margin:12px 0 8px;}
.sms .m{max-width:82%;padding:10px 14px;border-radius:16px;font-size:13.5px;line-height:1.45;margin-bottom:8px;}
.sms .m.out{background:var(--teal);color:#fff;margin-left:auto;border-bottom-right-radius:4px;}
.sms .m.in{background:#E9E9EB;color:#111;border-bottom-left-radius:4px;}

/* ── style lab: background treatments ── */
.bg-dots{background-color:var(--paper);background-image:radial-gradient(rgba(62,136,115,.16) 1.5px, transparent 1.5px);background-size:22px 22px;}
.bg-dots-card{background-color:var(--card);background-image:radial-gradient(rgba(31,42,38,.07) 1.5px, transparent 1.5px);background-size:22px 22px;}
.bg-wash{background:linear-gradient(160deg,var(--teal-tint) 0%,var(--paper) 45%,var(--clay-tint) 100%);}
.bg-blob{position:relative;overflow:hidden;}
.bg-blob .blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none;}
.bg-blob>.wrap{position:relative;z-index:1;}
.wave-top{display:block;width:100%;height:70px;margin-bottom:-1px;}
.overlap-up{margin-top:-72px;position:relative;z-index:2;}
.tilt{transform:rotate(-1.2deg);}
.tilt>*{transform:rotate(1.2deg);}
.frame-line{border:1.5px solid var(--ink);border-radius:24px;padding:56px 48px;position:relative;}
.frame-line .frame-tag{position:absolute;top:-13px;left:36px;background:var(--paper);padding:2px 14px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);}

/* ── mobile navigation ── */
.burger{display:none;background:none;border:none;cursor:pointer;padding:10px 4px;z-index:60;}
.burger span{display:block;width:24px;height:2.5px;background:var(--ink);border-radius:2px;margin:5px 0;transition:.25s;}
.burger.x span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.burger.x span:nth-child(2){opacity:0;}
.burger.x span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.mnav{display:none;}
@media(max-width:920px){
  .burger{display:block;}
  .desk-cta{display:none;}
  .mnav{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--paper);z-index:49;padding-top:var(--header-h,86px);overflow-y:auto;opacity:0;pointer-events:none;transform:translateY(-8px);transition:.25s;}
  .mnav.open{opacity:1;pointer-events:auto;transform:none;}
  .mnav .wrap{display:grid;gap:2px;padding-bottom:48px;}
  .m-link{font-size:19px;font-weight:600;color:var(--ink);padding:13px 0;border-bottom:1px solid var(--line-soft);}
  .m-link.sub{font-size:16px;color:var(--soft);padding-left:18px;font-weight:500;}
  .m-group{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-mid);margin-top:18px;padding-bottom:6px;}
  .m-cta{margin-top:26px;text-align:center;font-size:16px;padding:15px;}
}

/* ── multi-step intake wizard ── */
.wiz-progress{display:flex;align-items:center;gap:10px;margin-bottom:26px;}
.wiz-progress .wp-bar{flex:1;height:6px;background:var(--line-soft);border-radius:100px;overflow:hidden;}
.wiz-progress .wp-bar i{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--teal-mid),var(--teal));border-radius:100px;transition:width .45s ease;}
.wiz-progress .wp-label{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);white-space:nowrap;}
.wiz .wstep{display:none;animation:wizIn .35s ease;}
.wiz .wstep.on{display:block;}
.wiz.nojs .wstep{display:block;}
.wiz.nojs .wiz-nav,.wiz.nojs .wiz-progress{display:none;}
@keyframes wizIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.wiz .wq{font-family:'Fraunces',serif;font-size:20px;color:var(--ink);margin-bottom:18px;line-height:1.35;}
.wiz .wq small{display:block;font-family:'Figtree',sans-serif;font-size:13px;color:var(--faint);margin-top:6px;}
.wiz-nav{display:flex;gap:12px;margin-top:26px;align-items:center;}
.wiz-nav .btn{flex:1;text-align:center;}
.wiz-nav .wback{background:none;border:none;color:var(--faint);font-family:'Figtree',sans-serif;font-size:14px;font-weight:600;cursor:pointer;padding:12px 6px;}
.wiz-nav .wback:hover{color:var(--teal);}
.wiz .werr{color:#A9552F;font-size:13px;font-weight:600;margin-top:10px;display:none;}
.wiz .werr.show{display:block;}
.wiz-done{text-align:center;padding:26px 6px;}
.wiz-done .big{font-size:44px;}
.wiz-done h4{font-family:'Fraunces',serif;font-weight:500;font-size:22px;margin:12px 0 8px;}
.wiz-done p{font-size:14.5px;color:var(--soft);line-height:1.6;}

/* ── motion accessibility ── */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
}

/* ── mobile polish (sitewide) ── */
@media(max-width:920px){
  /* collapse any inline-styled grids on phones… */
  [style*="grid-template-columns"]{grid-template-columns:1fr !important;}
  /* …except the logo marks */
  .logo .mark,span.mark{grid-template-columns:repeat(3,7px) !important;}
  .p2foot .bigmark{grid-template-columns:repeat(3,22px) !important;}
  .bento .b-dots .mk{grid-template-columns:repeat(3,16px) !important;}
}
@media(max-width:560px){
  .wrap{padding:0 20px;}
  section{padding:60px 0;}
  .hero{padding:44px 0 40px;gap:36px;}
  h1{letter-spacing:-.01em;}
  .itwo{grid-template-columns:1fr;gap:0;}
  .intake-form{padding:26px 20px;}
  .calc .cl,.calc .cr{padding:28px 22px;}
  .stat{padding:24px 20px;}
  .stats,.quotes{gap:16px;}
  .cta-inline{padding:26px 22px;}
  .announce{font-size:11.5px;padding:8px 12px;}
  summary{font-size:15px;padding:16px 18px;}
  .card{padding:26px 22px;}
  .step{padding:24px 20px;}
  .foot-cols{gap:24px 20px;}
  /* every scoped sticky stat bar — keep BOTH selectors in sync when adding one */
  .csx-bar .wrap,.svr-bar .wrap,.whr-bar .wrap,.seor-bar .wrap,.gar-bar .wrap,.ab-bar .wrap,.rs-bar .wrap{gap:6px 16px;justify-content:flex-start;}
  .csx-bar .n,.svr-bar .n,.whr-bar .n,.seor-bar .n,.gar-bar .n,.ab-bar .n,.rs-bar .n{font-size:17px;}
  .crumbs{font-size:11.5px;}
  .page-hero{padding:52px 0 40px;}
  .drop{display:none !important;} /* desktop dropdowns never on touch */
}

/* ── article enhancements: reading bar + TOC ── */
.readbar{position:fixed;top:0;left:0;height:3px;background:var(--clay);z-index:95;width:0;transition:width .1s linear;}
.article-grid{display:grid;grid-template-columns:1fr 230px;gap:56px;align-items:start;}
.toc-wrap{position:sticky;top:110px;}
.toc{border-left:2px solid var(--line);padding-left:18px;display:grid;gap:11px;font-size:13.5px;}
.toc .toc-t{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);}
.toc a{color:var(--faint);font-weight:600;line-height:1.4;transition:.15s;}
.toc a:hover{color:var(--ink);}
.toc a.on{color:var(--teal);}
@media(max-width:920px){.article-grid{grid-template-columns:1fr;}.toc-wrap{display:none;}}

/* ── 404 ── */
.nf-hero{text-align:center;padding:88px 0 72px;}
.nf-hero .code{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(90px,14vw,170px);line-height:1;color:var(--teal);}
.nf-slot{max-width:420px;margin:36px auto 0;border:1.5px dashed var(--clay);background:var(--clay-tint);border-radius:14px;padding:20px;color:#8A4F35;font-size:14px;}
.nf-slot b{display:block;font-size:16px;color:#6E3D28;margin-bottom:4px;}
.nf-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px;}
