/* NOTE: the desktop/landing overrides live at the END of this file (search "LANDING"). */
/* Sochwell Treatment page — art direction ported verbatim from the printed brochure
   (Newsreader + Hanken Grotesk + Tiro Devanagari, navy/coral/paper palette, SVG grain,
   organic blob medallions). Every selector is scoped under .t-doc so it cannot affect the
   rest of the site. Generated from the brochure source; edit here, not there. */
.t-wrap,.t-doc{--navy:#242161;--coral:#F15B42;--coral-ink:#C0442E;--paper:#FDFAF7;
 --blush:#FBEFE9;--peri:#EFEEF7;--ink:#3A3752;--muted:#6B6880;--hair:#E8E2DC;
 --rail:26px;--gut:22px}.t-doc{box-sizing:border-box}.t-doc{-webkit-text-size-adjust:100%;scroll-behavior:smooth}.t-doc{margin:0;background:var(--paper);color:var(--ink);font-size:15.5px;line-height:1.62;
 font-family:"Hanken Grotesk",system-ui,sans-serif;-webkit-font-smoothing:antialiased}.t-doc .doc{max-width:760px;margin:0 auto;box-shadow:0 0 0 1px rgba(36,33,97,.05)}.t-doc .hi{font-family:"Tiro Devanagari Hindi",serif;line-height:1.95}.t-doc a{color:var(--coral-ink)}.t-doc .hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;
 padding:calc(env(safe-area-inset-top) + 40px) var(--gut) 54px}.t-doc .knot{position:absolute;right:-90px;top:-40px;width:300px;opacity:.09;pointer-events:none}.t-doc .lock{height:30px;width:auto;display:block;margin-bottom:50px;position:relative}.t-doc .eyebrow{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
 color:#9D9AC4;margin-bottom:15px;position:relative}.t-doc .hero h1{position:relative;margin:0;font-family:"Newsreader",serif;font-weight:300;
 font-size:clamp(37px,8.4vw,55px);line-height:1.06;letter-spacing:-.022em;color:#fff}.t-doc .hero h1 em{font-style:italic;color:#FFC9BC}.t-doc .hero .hi{position:relative;margin:14px 0 0;font-size:17px;color:#B8B4DA}.t-doc .hero blockquote{position:relative;margin:28px 0 0;padding:0;font-family:"Newsreader",serif;
 font-style:italic;font-size:17.5px;line-height:1.62;color:#D9D6EC;max-width:44ch}.t-doc .body{position:relative;background:var(--paper);
 padding:0 var(--gut) 0 calc(var(--rail) + 30px)}.t-doc .body::before{content:"";position:absolute;left:var(--rail);top:0;bottom:62px;width:1.5px;
 background:var(--coral);opacity:.5;-webkit-print-color-adjust:exact;print-color-adjust:exact}.t-doc section{position:relative;padding:46px 0 6px;scroll-margin-top:20px}.t-doc section::before{content:"";position:absolute;left:-36.25px;top:54px;width:11px;height:11px;
 border-radius:50%;background:var(--paper);border:1.5px solid var(--coral);
 -webkit-print-color-adjust:exact;print-color-adjust:exact}.t-doc .loopwrap{position:relative;height:62px}.t-doc .loop{position:absolute;left:calc(var(--rail) - 26px);bottom:0;width:60px;height:62px;
 overflow:visible}.t-doc .loop path{fill:none;stroke:var(--coral);stroke-width:1.5;opacity:.5;stroke-linecap:round}.t-doc h2{margin:0 0 10px;font-family:"Newsreader",serif;font-weight:300;
 font-size:clamp(26px,5.4vw,34px);line-height:1.16;letter-spacing:-.015em;color:var(--navy)}.t-doc .kicker{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
 color:var(--coral-ink);margin-bottom:11px}.t-doc .intro{margin:0 0 22px;font-size:16px;color:#4A4766;max-width:50ch}.t-doc .small{font-size:13px;color:var(--muted);line-height:1.6;margin:18px 0 0;max-width:52ch}.t-doc ul.plain{list-style:none;margin:0;padding:0}.t-doc ul.plain li{position:relative;padding:9px 0 9px 22px;font-size:15px;
 border-bottom:1px solid var(--hair);max-width:52ch}.t-doc ul.plain li:last-child{border-bottom:0}.t-doc ul.plain li::before{content:"";position:absolute;left:0;top:18px;width:10px;height:1.5px;
 background:var(--coral);opacity:.65}.t-doc .stage{position:relative;padding:0 0 30px 48px}.t-doc .stage::before{content:"";position:absolute;left:14px;top:34px;bottom:2px;width:1.5px;
 background:var(--coral);opacity:.28}.t-doc .stage:last-child{padding-bottom:4px}.t-doc .stage:last-child::before{display:none}.t-doc .num{position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;
 border:1.5px solid var(--coral);color:var(--coral-ink);background:var(--paper);
 font-family:"Newsreader",serif;font-size:15px;line-height:27px;text-align:center;
 -webkit-print-color-adjust:exact;print-color-adjust:exact}.t-doc .stage-head{display:flex;align-items:center;gap:14px;margin:0 0 9px}.t-doc .stage-head .illo{width:72px;height:72px;flex:none;display:block}.t-doc .stage h3{margin:0;font-family:"Newsreader",serif;font-weight:400;font-size:21px;
 color:var(--navy);letter-spacing:-.01em}.t-doc .stage p{margin:0;font-size:14.8px;line-height:1.62;color:#4A4766;max-width:49ch}.t-doc .levels{display:grid;gap:12px;margin-top:4px}.t-doc .lvl{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:17px 19px}.t-doc .lvl-tag{display:inline-block;font-size:9.5px;font-weight:600;letter-spacing:.16em;
 text-transform:uppercase;color:var(--coral-ink);background:var(--blush);
 border-radius:20px;padding:3px 10px;margin-bottom:8px}.t-doc .lvl h3{margin:0 0 5px;font-family:"Newsreader",serif;font-weight:400;font-size:21px;
 color:var(--navy)}.t-doc .lvl p{margin:0;font-size:14.5px;line-height:1.58;color:#4A4766;max-width:46ch}.t-doc .svcs{display:grid;gap:20px}.t-doc .svcgrp h3{margin:0 0 8px;font-size:10.5px;font-weight:600;letter-spacing:.17em;
 text-transform:uppercase;color:var(--coral-ink)}.t-doc .svcgrp ul{margin:0;padding:0;list-style:none}.t-doc .svcgrp li{position:relative;padding:7px 0 7px 20px;font-size:14.8px;line-height:1.55;
 border-bottom:1px solid var(--hair);max-width:52ch}.t-doc .svcgrp li:last-child{border-bottom:0}.t-doc .svcgrp li::before{content:"";position:absolute;left:0;top:16px;width:9px;height:1.5px;
 background:var(--coral);opacity:.6}.t-doc .divider{position:relative;margin:44px -22px 0;background:var(--navy);color:#fff;
 padding:34px 22px 30px}.t-doc .divider .kicker{color:#9D9AC4;margin-bottom:8px}.t-doc .divider h2{color:#fff;margin:0}.t-doc .divider .hi{margin:8px 0 0;font-size:16px;color:#B8B4DA}
@media(min-width:620px){.t-doc .divider{margin-left:calc(-1 * (var(--rail) + 30px));margin-right:-52px;
   padding-left:calc(var(--rail) + 30px);padding-right:52px}.t-doc .svcs{grid-template-columns:1fr 1fr;gap:22px 30px}
}.t-doc .herograin{position:absolute;inset:0;width:100%;height:100%;opacity:.11;
 pointer-events:none}.t-doc .lvl{display:flex;gap:15px;align-items:flex-start}.t-doc .lvl .illo{width:74px;height:74px;flex:none;display:block}.t-doc .lvl-txt{flex:1;min-width:0}.t-doc .svcdot{width:19px;height:19px;display:inline-block;vertical-align:-4px;
 margin-right:8px}.t-doc .svcgrp h3{display:flex;align-items:center}
@media(max-width:420px){.t-doc .lvl .illo{width:62px;height:62px}}.t-doc .fees{display:grid;gap:10px;grid-template-columns:1fr 1fr}.t-doc .fee{background:#fff;border:1px solid var(--hair);border-radius:14px;padding:14px 16px}.t-doc .fee-lbl{display:block;font-size:14px;color:var(--navy);font-weight:500;line-height:1.3}.t-doc .fee-mode{display:block;margin-top:2px;font-size:12px;color:var(--muted)}.t-doc .fee-amt{display:block;margin-top:9px;font-family:"Newsreader",serif;font-size:26px;
 color:var(--navy);font-variant-numeric:tabular-nums;line-height:1}.t-doc .plan{margin-top:14px;background:#fff;border:1px solid #F0CCC2;border-left:3px solid
 var(--coral);border-radius:14px;padding:16px 18px}.t-doc .plan-lbl{display:block;font-size:10px;font-weight:600;letter-spacing:.17em;
 text-transform:uppercase;color:var(--coral-ink);margin-bottom:6px}.t-doc .plan>p{margin:0 0 13px;font-size:14px;line-height:1.58;color:#4A4766;max-width:48ch}.t-doc .plan-rows{display:grid;grid-template-columns:1fr 1fr;gap:12px}.t-doc .plan-rows>div{border-top:1px solid var(--hair);padding-top:9px}.t-doc .plan-rows span{display:block;font-size:12px;color:var(--muted)}.t-doc .plan-rows b{display:block;margin-top:3px;font-family:"Newsreader",serif;font-weight:400;
 font-size:24px;color:var(--navy);font-variant-numeric:tabular-nums;line-height:1.1}.t-doc .plan-rows em{display:block;font-style:normal;font-size:11.5px;color:var(--muted);
 margin-top:2px}.t-doc .plan-note{margin:13px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted);
 max-width:48ch}
@media(max-width:420px){.t-doc .plan-rows{grid-template-columns:1fr;gap:9px}}.t-doc .concession{margin:16px 0 0;background:var(--blush);border-radius:14px;padding:15px 17px;
 font-size:14px;line-height:1.58;color:#6B3A2E;max-width:52ch}.t-doc .concession b{font-weight:600;color:var(--coral-ink)}
@media(max-width:420px){.t-doc .fees{grid-template-columns:1fr}}.t-doc .severity{margin-top:30px;background:#fff;border:1px solid #F0CCC2;
 border-left:3px solid var(--coral);border-radius:16px;padding:20px 22px}.t-doc .severity>p{margin:0 0 13px;font-size:14.8px;line-height:1.6;color:#4A4766;max-width:50ch}.t-doc .severity ul{margin:0;padding:0;list-style:none}.t-doc .severity li{position:relative;padding:7px 0 7px 20px;font-size:14.5px;line-height:1.55;
 color:#4A4766;border-bottom:1px solid var(--hair);max-width:50ch}.t-doc .severity li:last-child{border-bottom:0}.t-doc .severity li::before{content:"";position:absolute;left:0;top:16px;width:9px;height:1.5px;
 background:var(--coral)}.t-doc .urgent{margin:15px 0 0!important;padding-top:13px;border-top:1px solid var(--hair);
 font-size:14.5px;line-height:1.58;color:var(--coral-ink);font-weight:500}.t-doc .urgent b{color:var(--navy);font-weight:600}.t-doc .tl-block{margin-top:16px;background:#fff;border-radius:13px;padding:15px 17px}.t-doc .tl-block p{margin:0;font-size:14px;line-height:1.6;color:#4A4766;max-width:50ch}.t-doc .tl-block ul{margin:0;padding:0;list-style:none}.t-doc .tl-block li{position:relative;padding:6px 0 6px 19px;font-size:14px;line-height:1.55;
 color:#4A4766;max-width:50ch}.t-doc .tl-block li::before{content:"";position:absolute;left:0;top:14px;width:9px;height:1.5px;
 background:var(--coral);opacity:.7}.t-doc .tl-block.here{border:1px solid #F0CCC2}.t-doc .tl>.tl-head:first-child{padding-top:2px}.t-doc .tl{margin:20px 0 4px;background:var(--peri);border-radius:18px;padding:20px 20px 18px}.t-doc .tlfig{margin:0 0 16px}.t-doc .tlfig img{width:100%;max-width:340px;height:auto;display:block;border-radius:11px}.t-doc .tlfig+.tlfig,.t-doc .tl-head+.tlfig{margin-top:14px}.t-doc .tlfig figcaption{margin-top:7px;font-size:12.5px;line-height:1.5;color:var(--muted);
 max-width:46ch}.t-doc .tlfig em{font-style:italic;color:var(--navy)}.t-doc .tl-head p{margin:0 0 14px;font-size:14.5px;line-height:1.58;color:#4A4766;max-width:48ch}.t-doc ol.tlist{list-style:none;margin:0;padding:0}.t-doc ol.tlist li{position:relative;display:flex;gap:14px;padding:0 0 16px}.t-doc ol.tlist li::before{content:"";position:absolute;left:19px;top:20px;bottom:0;width:1.5px;
 background:var(--coral);opacity:.3}.t-doc ol.tlist li:last-child{padding-bottom:0}.t-doc ol.tlist li:last-child::before{display:none}.t-doc .yr{flex:none;width:40px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;
 font-weight:600;color:var(--coral-ink);padding-top:1px}.t-doc .tl-h{display:block;font-family:"Newsreader",serif;font-size:17px;color:var(--navy);
 line-height:1.25}.t-doc .tl-t{display:block;margin-top:2px;font-size:13.8px;line-height:1.55;color:#57536F;
 max-width:44ch}.t-doc .tl-foot{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(36,33,97,.12);
 font-size:13px;line-height:1.55;color:var(--muted);max-width:48ch}.t-doc .illo.wide{width:100%;max-width:340px;height:auto}.t-doc .chart{margin:2px 0 12px;padding:0}.t-doc .chart svg{width:100%;height:auto;display:block;max-width:340px}.t-doc .chart figcaption{margin-top:5px;font-size:12.5px;line-height:1.5;color:var(--muted);
 max-width:46ch}.t-doc .phases{display:grid;gap:10px;margin:4px 0 12px}.t-doc .phase{background:#fff;border:1px solid var(--hair);border-radius:13px;padding:13px 16px}.t-doc .phase h4{margin:0 0 4px;font-family:"Newsreader",serif;font-weight:400;font-size:17px;
 color:var(--navy)}.t-doc .phase p{margin:0;font-size:14px;line-height:1.58;color:#57536F}.t-doc .phasenote{margin:0 0 13px;font-size:13.5px;line-height:1.58;color:var(--coral-ink);
 max-width:50ch}.t-doc .jump{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 26px}.t-doc .jump a{font-size:12.5px;padding:7px 13px;border:1px solid var(--hair);border-radius:20px;
 color:var(--navy);text-decoration:none;background:#fff}.t-doc .cond{padding:30px 0;border-top:1px solid var(--hair);scroll-margin-top:16px}.t-doc .cond:first-of-type{border-top:0;padding-top:4px}.t-doc .cond-head{display:flex;gap:16px;align-items:center;margin-bottom:14px}.t-doc .illo{width:78px;height:78px;flex:none;display:block}.t-doc .cond h3{margin:0;font-family:"Newsreader",serif;font-weight:400;font-size:22px;
 line-height:1.18;color:var(--navy);letter-spacing:-.01em}.t-doc .cond-hi{display:block;font-size:14.5px;color:var(--muted);margin-top:2px}.t-doc .cond-lede{margin:0 0 15px;font-family:"Newsreader",serif;font-style:italic;font-size:17px;
 line-height:1.5;color:#4A4766;max-width:46ch}.t-doc .bit{margin:0 0 13px}.t-doc .bit .lbl{display:block;font-size:10px;font-weight:600;letter-spacing:.17em;
 text-transform:uppercase;color:var(--coral-ink);margin-bottom:3px}.t-doc .bit p{margin:0;font-size:14.5px;line-height:1.6;color:#4A4766;max-width:50ch}.t-doc .pill{display:inline-block;font-size:12.5px;color:var(--navy);background:var(--peri);
 border-radius:20px;padding:5px 13px}.t-doc .crisis{margin-top:15px;background:#fff;border:1px solid #F0CCC2;
 border-left:3px solid var(--coral);border-radius:13px;padding:13px 16px;font-size:14px;
 line-height:1.58;color:#57536F;max-width:50ch}.t-doc .crisis strong{color:var(--coral-ink);font-weight:600}.t-doc .crisis b{color:var(--navy)}.t-doc ol.day{list-style:none;margin:0;padding:0}.t-doc ol.day li{padding:0 0 20px}.t-doc ol.day li:last-child{padding-bottom:2px}.t-doc .when{display:block;font-family:"Newsreader",serif;font-style:italic;font-size:17px;
 color:var(--navy);margin-bottom:3px}.t-doc .what{display:block;font-size:15px;color:#4A4766;max-width:48ch}.t-doc .panel.blush{background:var(--blush)}.t-doc .note-badge{font-size:14px;line-height:1.6;color:#6B3A2E;background:#fff;
 border-radius:13px;padding:14px 16px;margin:0 0 20px;max-width:52ch}.t-doc .note-badge b{font-weight:600;color:var(--coral-ink)}.t-doc .panel.blush .diff{border-top-color:rgba(192,68,46,.16)}.t-doc .panel{background:var(--peri);border-radius:20px;padding:26px 22px 22px}.t-doc .panel h2{margin-top:0}.t-doc .diff{padding:15px 0;border-top:1px solid rgba(36,33,97,.1)}.t-doc .diff:first-of-type{border-top:0;padding-top:2px}.t-doc .diff h3{margin:0 0 3px;font-family:"Newsreader",serif;font-weight:400;font-size:19px;
 color:var(--navy)}.t-doc .diff p{margin:0;font-size:14.5px;color:#57536F;max-width:48ch}.t-doc .rrow{padding:18px 0;border-bottom:1px solid var(--hair)}.t-doc .rrow:last-of-type{border-bottom:0}.t-doc .rn{font-size:16px;color:var(--navy);font-weight:500;margin-bottom:11px}.t-doc .rn span{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:1px}.t-doc .rg{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.t-doc .rc{background:#fff;border:1px solid var(--hair);border-radius:12px;padding:9px 6px;
 text-align:center}.t-doc .rd{display:block;font-size:10.5px;color:var(--muted)}.t-doc .rpd{display:block;margin-top:3px;font-size:10px;color:var(--muted);
 font-variant-numeric:tabular-nums}.t-doc .rv{display:block;margin-top:3px;font-size:15px;color:var(--navy);font-weight:500;
 font-variant-numeric:tabular-nums}.t-doc .rrow.dim .rn{opacity:.62}.t-doc .tag{display:inline-block;font-style:normal;font-size:10px;font-weight:600;
 letter-spacing:.13em;text-transform:uppercase;color:var(--coral-ink);background:var(--blush);
 border-radius:20px;padding:3px 9px;margin-top:6px}.t-doc .rrow.dim .rg{filter:blur(3.5px);opacity:.5;transition:filter .28s,opacity .28s;
 pointer-events:none}.t-doc .rrow.dim.show .rg{filter:none;opacity:1}.t-doc .revealbtn{margin-top:11px;font:inherit;font-size:12.5px;color:var(--coral-ink);
 background:none;border:1px solid #F0CCC2;border-radius:20px;padding:6px 14px;
 cursor:pointer;min-height:36px}.t-doc .dimnote{margin:11px 0 0;font-size:13px;line-height:1.55;color:var(--muted);max-width:46ch}.t-doc .t2note{margin-top:18px;background:var(--peri);border-radius:14px;padding:15px 17px}.t-doc .t2note .lbl{display:block;font-size:10px;font-weight:600;letter-spacing:.15em;
 text-transform:uppercase;color:var(--coral-ink);margin-bottom:4px}.t-doc .t2note p{margin:0;font-size:14px;line-height:1.55;color:#57536F;max-width:50ch}.t-doc .tbd{display:inline-block;background:#FFF3D6;border:1px dashed #C8A44A;border-radius:5px;
 padding:1px 7px;font-size:12.5px;color:#7A5E12;font-weight:500}.t-doc .contact{background:#fff;border:1px solid var(--hair);border-radius:18px;padding:22px;
 margin-top:4px}.t-doc .contact dl{margin:0}.t-doc .contact dt{font-size:10px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;
 color:var(--coral-ink);margin-bottom:3px}.t-doc .contact dd{margin:0 0 15px;font-size:15.5px;color:var(--navy);line-height:1.5}.t-doc .contact dd:last-child{margin-bottom:0}.t-doc .maprow{display:flex;gap:14px;align-items:center}.t-doc .qrbox{flex:none;background:#fff;border:1px solid var(--hair);border-radius:10px;
 padding:7px;line-height:0}.t-doc .qr{width:76px;height:76px;display:block;-webkit-print-color-adjust:exact;
 print-color-adjust:exact}.t-doc .maptxt{font-size:14px;line-height:1.5;color:#57536F}.t-doc .close{position:relative;background:var(--navy);color:#fff;padding:50px var(--gut) 44px;
 overflow:hidden}.t-doc .close .knot{right:-70px;bottom:-70px;top:auto;width:230px;opacity:.08}.t-doc .close h2{color:#fff;position:relative;margin-bottom:13px}.t-doc .close p{position:relative;margin:0 0 10px;font-size:16px;color:#D9D6EC;max-width:42ch}.t-doc .close .hi{color:#B8B4DA;font-size:16px}.t-doc .fine{background:var(--paper);padding:26px var(--gut) 34px;font-size:11.5px;
 line-height:1.7;color:var(--muted)}.t-doc .fine img{height:22px;width:auto;display:block;margin-bottom:14px;opacity:.85}

@media(min-width:620px){.t-doc :root{--rail:44px;--gut:52px}.t-doc .rg{grid-template-columns:repeat(6,1fr)}.t-doc .knot{width:400px;right:-120px}
}
@media(max-width:480px){.t-doc .illo{width:64px;height:64px}.t-doc .stage-head .illo{width:60px;height:60px}.t-doc .cond h3{font-size:20px}}
@media print{.t-doc{background:#fff}.t-doc .doc{max-width:none;box-shadow:none}.t-doc section,.t-doc .panel,.t-doc .rrow,.t-doc .cond,.t-doc .stage{page-break-inside:avoid}.t-doc .hero,.t-doc .close{-webkit-print-color-adjust:exact;print-color-adjust:exact}.t-doc .rrow.dim .rg{filter:none;opacity:.72}.t-doc .revealbtn,.t-doc .jump{display:none}.t-doc @page{size:A4;margin:11mm}
}
@media(prefers-reduced-motion:reduce){.t-doc,.t-doc{scroll-behavior:auto!important;
 transition:none!important}}


/* ==== LANDING: desktop widening + section nav + sticky CTA ================================
   The brochure was a 760px print column. On a landing page it must fill the screen, so from
   1000px up the document widens and its grids open out; below that the original single-column
   brochure layout is untouched (it is already the mobile design). */
.t-wrap{position:relative}
.t-doc .doc{max-width:760px}
@media(min-width:1000px){
  .t-doc .doc{max-width:1080px;box-shadow:0 0 0 1px rgba(36,33,97,.05),0 24px 60px -30px rgba(36,33,97,.18)}
  .t-doc .hero{padding:64px 56px 66px}
  .t-doc .hero h1{font-size:clamp(46px,4.6vw,64px)}
  .t-doc .hero .lede{font-size:19px;max-width:52ch}
  .t-doc .body{padding:0 56px 0 calc(var(--rail) + 56px)}
  .t-doc section{padding:62px 0 10px}
  .t-doc h2{font-size:clamp(30px,2.9vw,40px)}
  .t-doc .intro{font-size:17px;max-width:62ch}
  .t-doc .levels{grid-template-columns:repeat(3,1fr);gap:18px}
  .t-doc .lvl{flex-direction:column;gap:12px}
  .t-doc .lvl p,.t-doc .lvl h3{max-width:none}
  .t-doc .svcs{grid-template-columns:repeat(2,1fr);gap:26px 44px}
  .t-doc .fees{grid-template-columns:repeat(4,1fr)}
  .t-doc .phases{grid-template-columns:1fr 1fr;gap:14px}
  .t-doc .plan-rows{grid-template-columns:repeat(3,1fr)}
  .t-doc .divider{margin-left:calc(-1 * (var(--rail) + 56px));margin-right:-56px;padding:46px 56px 40px}
  .t-doc .cgrid{grid-template-columns:repeat(3,1fr);gap:16px}
  .t-doc .tl{padding:26px 30px}
  .t-doc .stage p,.t-doc .intro,.t-doc ul.plain li,.t-doc .svcgrp li{max-width:64ch}
  .t-doc .cond-body{columns:2;column-gap:44px}
  .t-doc .cond-body>*{break-inside:avoid}
}
@media(min-width:1280px){ .t-doc .doc{max-width:1180px} }

/* Section nav — sticky rail on desktop, scrollable chips on mobile */
.t-nav{position:sticky;top:64px;z-index:20;background:rgba(253,250,247,.94);backdrop-filter:blur(8px);
 border-bottom:1px solid var(--hair);padding:9px 14px}
.t-nav-in{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;max-width:1180px;margin:0 auto}
.t-nav-in::-webkit-scrollbar{display:none}
.t-nav button{flex:none;cursor:pointer;font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:12.5px;font-weight:600;
 letter-spacing:.01em;color:#57536F;background:#fff;border:1px solid var(--hair);border-radius:999px;padding:7px 13px;white-space:nowrap;
 transition:background .15s,color .15s,border-color .15s}
.t-nav button:hover{border-color:#E0C9BF;color:var(--navy)}
.t-nav button.on{background:var(--navy);border-color:var(--navy);color:#fff}
@media(min-width:1100px){
  .t-nav{position:fixed;top:50%;left:16px;transform:translateY(-50%);width:196px;padding:0;background:none;border:0;backdrop-filter:none}
  .t-nav-in{flex-direction:column;overflow:visible;gap:1px;max-width:none}
  .t-nav button{text-align:left;background:none;border:0;border-left:2px solid var(--hair);border-radius:0;padding:7px 12px;
   font-size:12.5px;color:#7A7690;white-space:normal}
  .t-nav button:hover{border-left-color:#E0C9BF;color:var(--navy);background:none}
  .t-nav button.on{background:none;color:var(--coral-ink);border-left-color:var(--coral);font-weight:700}
}
/* Sticky action bar — the page is long, so the next step is always one tap away */
.t-cta{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:10px;align-items:center;justify-content:center;
 padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(36,33,97,.97);
 box-shadow:0 -8px 24px -12px rgba(36,33,97,.5);transform:translateY(110%);transition:transform .28s cubic-bezier(.4,0,.2,1)}
.t-cta.show{transform:none}
.t-cta p{margin:0;flex:1;max-width:36ch;color:#D9D6EC;font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:13px;line-height:1.4}
.t-cta a,.t-cta button{flex:none;cursor:pointer;font-family:"Hanken Grotesk",system-ui,sans-serif;font-weight:600;font-size:14px;
 border-radius:999px;padding:11px 20px;border:0;text-decoration:none;display:inline-flex;align-items:center;gap:7px}
.t-cta .primary{background:var(--coral);color:#fff}
.t-cta .ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.28)}
@media(max-width:700px){.t-cta p{display:none}.t-cta{justify-content:stretch}.t-cta a,.t-cta button{flex:1;justify-content:center}}


/* Timeline era labels ("Ancient Greece", "For centuries", "c. 400 BCE") wrap onto two lines and
   were colliding with the connector rule and the entry text. Give them room and pull the text clear. */
.t-doc .yr{width:66px;line-height:1.3;word-break:normal;overflow-wrap:break-word;hyphens:none;text-align:right;padding-right:10px}
.t-doc ol.tlist li{padding-left:0}
.t-doc ol.tlist li::before{left:66px}
.t-doc .tl-h,.t-doc .tl-t{padding-left:14px}
@media(max-width:420px){.t-doc .yr{width:58px;font-size:10.5px}.t-doc ol.tlist li::before{left:58px}}
@media(min-width:1000px){.t-doc .yr{width:78px}.t-doc ol.tlist li::before{left:78px}}


/* ==== WIDE: use the empty margins ========================================================
   Instead of a narrow column floating in space, from 1100px the page becomes a real two-column
   layout — the section nav takes the left margin as a proper column, the document fills the rest,
   and the illustration medallions move out into the right margin beside their text. */
@media(min-width:1100px){
  .t-wrap{display:grid;grid-template-columns:212px minmax(0,1fr);gap:36px;align-items:start;
   max-width:1460px;margin:0 auto;padding:0 28px}
  .t-nav{position:sticky;top:96px;left:auto;transform:none;width:auto;padding:0 0 0 4px;grid-column:1}
  .t-doc{grid-column:2}
  .t-doc .doc{max-width:none;box-shadow:0 0 0 1px rgba(36,33,97,.05),0 24px 60px -34px rgba(36,33,97,.16)}
  /* the closing CTA + hero should still span the document column edge-to-edge */
  .t-wrap>div[style*="--navy-600"]{grid-column:1 / -1;border-radius:0}
  .t-doc .hero{padding:72px 64px 74px}
  .t-doc .body{padding:0 64px 0 calc(var(--rail) + 64px)}
  .t-doc .divider{margin-left:calc(-1 * (var(--rail) + 64px));margin-right:-64px;padding:50px 64px 44px}
  /* medallions out into the margin */
  .t-doc .stage-head{align-items:flex-start}
  .t-doc .stage-head .illo{width:88px;height:88px}
  .t-doc .lvl .illo{width:86px;height:86px}
  .t-doc .illo.wide{max-width:100%}
  .t-doc .chart svg{max-height:none}
}
@media(min-width:1500px){
  .t-wrap{grid-template-columns:236px minmax(0,1fr);gap:48px}
  .t-doc .hero h1{font-size:clamp(52px,3.9vw,70px)}
  .t-doc .cond-body{column-gap:56px}
}
/* Tablet: keep the chip nav, but let the document breathe wider than the print column */
@media(min-width:760px) and (max-width:1099px){
  .t-doc .doc{max-width:100%}
  .t-wrap{max-width:980px;margin:0 auto}
  .t-doc .hero{padding:56px 40px 58px}
  .t-doc .body{padding:0 40px 0 calc(var(--rail) + 40px)}
  .t-doc .divider{margin-left:calc(-1 * (var(--rail) + 40px));margin-right:-40px;padding:40px 40px 36px}
  .t-doc .levels{grid-template-columns:1fr 1fr;gap:16px}
  .t-doc .fees{grid-template-columns:1fr 1fr}
}


/* ==== TYPE SCALE: comfortable reading at desktop size ====================================
   The brochure was set for a printed page held in the hand. On a large screen the same sizes read
   small, so the whole scale steps up from 1000px while line length stays in the 62-68ch comfort
   band. Mobile keeps the original brochure sizes. */
@media(min-width:1000px){
  .t-doc{font-size:17.5px}
  .t-doc .intro{font-size:19px;line-height:1.66}
  .t-doc .lede{font-size:20px;line-height:1.62}
  .t-doc .stage p,.t-doc .lvl p,.t-doc .phase p{font-size:17px;line-height:1.66}
  .t-doc ul.plain li,.t-doc .svcgrp li,.t-doc .severity li{font-size:17px;line-height:1.6;padding-top:10px;padding-bottom:10px}
  .t-doc .severity>p,.t-doc .plan>p{font-size:17px;line-height:1.66}
  .t-doc .lvl h3{font-size:24px}
  .t-doc .stage-head h3{font-size:23px}
  .t-doc .phase h4{font-size:19px}
  .t-doc .tl-h{font-size:20px}
  .t-doc .tl-t,.t-doc .tl-block li{font-size:16px;line-height:1.62}
  .t-doc .tlfig{font-size:17px}
  .t-doc .tl-head p{font-size:17px;line-height:1.66}
  .t-doc .tl-foot,.t-doc .small,.t-doc .plan-note{font-size:14.5px;line-height:1.6}
  .t-doc .concession{font-size:16.5px;line-height:1.64}
  .t-doc .urgent{font-size:17px}
  .t-doc .kicker{font-size:11.5px}
  .t-doc .fee .amt{font-size:30px}
  .t-doc .plan-rows b{font-size:27px}
  .t-doc .cond-body p,.t-doc .cond-body li{font-size:16.5px;line-height:1.68}
  .t-nav button{font-size:13.5px;padding:8px 12px}
}
@media(min-width:1500px){
  .t-doc{font-size:18.5px}
  .t-doc .intro{font-size:20.5px}
  .t-doc .stage p,.t-doc .lvl p,.t-doc .phase p,.t-doc ul.plain li,.t-doc .svcgrp li,.t-doc .severity li{font-size:18px}
  .t-doc .cond-body p,.t-doc .cond-body li{font-size:17.5px}
}
/* Mobile: guarantee nothing overflows the viewport at small widths */
@media(max-width:480px){
  .t-doc .doc{max-width:100%}
  .t-doc .stage-head{flex-wrap:wrap;gap:10px}
  .t-doc .fees,.t-doc .plan-rows,.t-doc .cgrid{grid-template-columns:1fr}
  .t-doc .cond-body{columns:1}
  .t-doc img,.t-doc svg{max-width:100%;height:auto}
  .t-doc .tl{padding:18px 16px}
  .t-doc .divider{margin-left:calc(-1 * var(--gut));margin-right:calc(-1 * var(--gut));padding-left:var(--gut);padding-right:var(--gut)}
}


/* ==== DESKTOP: use the page, don't hug the middle ======================================
   The brochure caps most text at 44–52ch (right for a printed page). On a wide screen that
   left a dense strip in the centre with empty space either side, and broke lines early. From
   1000px the caps are relaxed to a generous measure and the condition body stops splitting
   into two narrow columns. */
@media(min-width:1000px){
  .t-doc .intro,.t-doc .small,.t-doc ul.plain li,.t-doc .stage p,.t-doc .lvl p,.t-doc .svcgrp li,
  .t-doc .plan>p,.t-doc .plan-note,.t-doc .concession,.t-doc .severity>p,.t-doc .severity li,
  .t-doc .tl-block li,.t-doc .tl-t,.t-doc .tl-foot,.t-doc .tlfig,.t-doc .tl-head p,
  .t-doc .phasenote,.t-doc .cond-lede,.t-doc .bit p,.t-doc .hero .hi{max-width:none}
  .t-doc .cond-body{columns:auto;column-gap:0}
  .t-doc .bit p,.t-doc .cond-lede{max-width:86ch}
  .t-doc .intro,.t-doc .stage p,.t-doc .lvl p{max-width:84ch}
  .t-doc .bit{margin-bottom:18px}
  .t-doc .bit p{font-size:17.5px;line-height:1.7}
  .t-doc .cond-lede{font-size:19px}
  .t-doc .cond h3{font-size:27px}
  .t-doc .crisis{font-size:16.5px;line-height:1.62;max-width:none}
  .t-doc .jump a{font-size:14px;padding:9px 16px}
}
@media(min-width:1500px){
  .t-doc .bit p{font-size:18.5px}
  .t-doc .cond-lede{font-size:20px}
}


/* The grid reserves a 236px nav column, so the document sat right-of-centre with an empty strip
   on the left. Centre the whole wrap (nav + document) in the viewport instead. */
@media(min-width:1100px){
  .t-wrap{max-width:1400px;margin-left:auto;margin-right:auto;justify-content:center}
}
@media(min-width:1500px){ .t-wrap{max-width:1500px} }


/* ==== FINAL DESKTOP MEASURE ============================================================
   The brochure caps nearly every text element at 44–52ch. Relaxing them one by one missed
   many, so from 1000px ALL text elements inside the document lose their cap and fill the
   column; images/SVGs keep theirs (excluded below). A single generous cap is applied to the
   document column itself, so lines never get uncomfortably long on ultra-wide screens. */
@media(min-width:1000px){
  .t-doc .body p,.t-doc .body li,.t-doc .body span,.t-doc .body blockquote,.t-doc .body h2,
  .t-doc .body h3,.t-doc .body h4,.t-doc .body div:not(.illo):not(.chart),
  .t-doc .hero p,.t-doc .hero .hi,.t-doc .divider p,.t-doc .divider .hi{max-width:none}
  .t-doc .body img,.t-doc .body svg,.t-doc .illo,.t-doc .illo.wide{max-width:100%}
  .t-doc{font-size:18px}
  .t-doc .body{padding-right:40px}
  .t-doc .hero .hi{font-size:19px;line-height:1.66}
  .t-doc .what,.t-doc .diff p,.t-doc .note-badge,.t-doc .crisis,.t-doc .concession,
  .t-doc .tl-block li,.t-doc .tl-t{font-size:16.5px;line-height:1.64}
  .t-doc .bit p,.t-doc .stage p,.t-doc .lvl p,.t-doc .intro,.t-doc ul.plain li,
  .t-doc .svcgrp li,.t-doc .severity>p,.t-doc .severity li{font-size:17.5px;line-height:1.68}
}


/* Definitive sweep: some panels sit deeper than the selectors above reach, so at desktop every
   text element in the document drops its print-era cap outright. Images/SVGs keep theirs. */
@media(min-width:1000px){
  .t-doc .body p,.t-doc .body li,.t-doc .body span:not(.pill):not(.tag):not(.yr),
  .t-doc .body blockquote,.t-doc .body .tl-block,.t-doc .body .panel,.t-doc .body .crisis,
  .t-doc .body .note-badge,.t-doc .body .concession,.t-doc .body .diff,
  .t-doc .body .severity,.t-doc .body .plan{max-width:none!important}
}


/* ==== DESKTOP FIGURES & LABELS =========================================================
   Consequences of the wider column: the brochure illustrations were sized to fill a narrow
   print measure, so at full width they became enormous, and the 10px print eyebrows now read
   SMALLER than 18px body text. Cap the figures, centre them with their caption, and lift every
   label back above body size. */
@media(min-width:1000px){
  /* figures: capped, centred, caption directly beneath at the same width */
  .t-doc .chart{max-width:560px;margin-left:auto;margin-right:auto}
  .t-doc .chart svg,.t-doc .illo.wide{width:100%;max-width:560px;height:auto;display:block;margin:0 auto}
  .t-doc .tlfig,.t-doc figcaption{max-width:560px!important;margin-left:auto;margin-right:auto;
    text-align:center;font-size:15px;line-height:1.6;padding-top:10px}
  /* eyebrow labels must stay clearly above body size */
  .t-doc .kicker{font-size:12.5px;letter-spacing:.16em}
  .t-doc .bit .lbl,.t-doc .plan-lbl,.t-doc .svcgrp h3,.t-doc .tag,
  .t-doc .lvl .tag,.t-doc .yr{font-size:13px;letter-spacing:.14em}
  .t-doc .cond h3{font-size:31px}
  .t-doc .cond-hi{font-size:17px}
  .t-doc .cond-lede{font-size:20px;line-height:1.6}
  .t-doc .crisis{font-size:17px;line-height:1.62}
}
@media(min-width:1500px){
  .t-doc .chart,.t-doc .chart svg,.t-doc .illo.wide,.t-doc .tlfig,.t-doc figcaption{max-width:620px}
}


/* ==== SYMMETRY + MODERN SECTION NAVIGATOR ==============================================
   1. The body reserved rail+padding on the LEFT (for the coral spine) but only padding on the
      right, so the page sat visibly off-centre. Both sides now use the same measure; the spine
      keeps its own absolute position, so nothing moves but the balance.
   2. The desktop section rail becomes a dot navigator: a hairline track, a dot per section that
      fills and grows when active, labels that lift out of grey as you approach them. */
@media(min-width:1000px){
  .t-doc .body{padding-left:calc(var(--rail) + 56px);padding-right:calc(var(--rail) + 56px)}
  .t-doc .divider{margin-left:calc(-1 * (var(--rail) + 56px));margin-right:calc(-1 * (var(--rail) + 56px));
    padding-left:calc(var(--rail) + 56px);padding-right:calc(var(--rail) + 56px)}
}
@media(min-width:1280px){
  .t-doc .body{padding-left:calc(var(--rail) + 64px);padding-right:calc(var(--rail) + 64px)}
  .t-doc .divider{margin-left:calc(-1 * (var(--rail) + 64px));margin-right:calc(-1 * (var(--rail) + 64px));
    padding-left:calc(var(--rail) + 64px);padding-right:calc(var(--rail) + 64px)}
  .t-doc .hero{padding-left:calc(var(--rail) + 64px);padding-right:calc(var(--rail) + 64px)}
  .t-doc .close{padding-left:calc(var(--rail) + 64px);padding-right:calc(var(--rail) + 64px)}
}

@media(min-width:1100px){
  .t-nav-in{position:relative;padding-left:22px;gap:0}
  /* hairline track behind the dots */
  .t-nav-in::before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:1.5px;
    background:linear-gradient(180deg,transparent,var(--hair) 12%,var(--hair) 88%,transparent)}
  .t-nav button{position:relative;display:block;width:100%;text-align:left;border:0;background:none;
    border-radius:10px;padding:9px 10px 9px 4px;font-size:13px;font-weight:600;letter-spacing:.005em;
    color:#9793AC;transition:color .22s cubic-bezier(.2,.7,.3,1),transform .22s cubic-bezier(.2,.7,.3,1),background .22s}
  /* the dot */
  .t-nav button::before{content:"";position:absolute;left:-22px;top:50%;width:7px;height:7px;margin-top:-3.5px;
    border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 1.5px #CFC9DA;
    transition:box-shadow .22s,background .22s,transform .26s cubic-bezier(.2,.7,.3,1)}
  /* soft halo, only when active */
  .t-nav button::after{content:"";position:absolute;left:-30px;top:50%;width:23px;height:23px;margin-top:-11.5px;
    border-radius:50%;background:var(--coral);opacity:0;transform:scale(.4);
    transition:opacity .3s,transform .3s cubic-bezier(.2,.7,.3,1);pointer-events:none}
  .t-nav button:hover{color:var(--navy);transform:translateX(3px);background:rgba(36,33,97,.035)}
  .t-nav button:hover::before{box-shadow:inset 0 0 0 1.5px var(--coral)}
  .t-nav button.on{color:var(--navy);font-weight:700}
  .t-nav button.on::before{background:var(--coral);box-shadow:inset 0 0 0 1.5px var(--coral),0 0 0 3px rgba(241,91,66,.16);transform:scale(1.25)}
  .t-nav button.on::after{opacity:.09;transform:scale(1)}
  @media(prefers-reduced-motion:reduce){.t-nav button,.t-nav button::before,.t-nav button::after{transition:none}}
}


/* Rail type: chapter names read as part of the story, not as fine print. */
@media(min-width:1100px){
  .t-nav{width:236px}
  .t-nav button{font-size:15px;line-height:1.32;padding:11px 12px 11px 4px;letter-spacing:-.002em}
  .t-nav button.on{font-size:15.5px}
}
@media(min-width:1500px){
  .t-nav{width:256px}
  .t-nav button{font-size:16px;padding:12px 12px 12px 4px}
  .t-nav button.on{font-size:16.5px}
}


/* Progressive disclosure — collapsed detail, opened on demand. */
.t-doc .t-more{display:none}
.t-doc .t-open>.t-more{display:block;animation:tmore .32s ease}
@keyframes tmore{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.t-doc .t-more-btn{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:9px 16px;
 border:1px solid var(--hair);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer;
 font-family:"Hanken Grotesk",system-ui,sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.01em;
 transition:background .18s,border-color .18s,transform .18s}
.t-doc .t-more-btn:hover{background:var(--blush);border-color:#DFD5CC;transform:translateY(-1px)}
.t-doc .t-more-btn svg{transition:transform .24s ease}
.t-doc .t-open>.t-more-btn svg{transform:rotate(180deg)}
.t-doc article.cond{padding-bottom:22px}
@media(min-width:1100px){.t-doc .t-more-btn{font-size:14.5px;padding:10px 18px}}


/* ---- Landing-page restructure: tiles, condition grid, inpatient band, stage path ---- */

/* Services as tiles — illustration + name; the list opens on tap. */
.t-doc .svcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.t-doc .svc-tile{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:18px 18px 16px;
 transition:box-shadow .2s,transform .2s,border-color .2s}
.t-doc .svc-tile:hover{box-shadow:0 8px 26px rgba(58,55,82,.07);transform:translateY(-2px);border-color:#DFD5CC}
.t-doc .svc-tile h3{margin:0;display:flex;align-items:center;gap:11px;font-size:17px}
.t-doc .svc-tile.t-open{grid-column:1/-1;background:var(--blush)}

/* Conditions as a grid of medallion tiles; an open one takes the full width. */
.t-doc .cond-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:22px}
.t-doc .cond-grid article.cond{margin:0;background:#fff;border:1px solid var(--hair);border-radius:18px;
 padding:20px 20px 18px;transition:box-shadow .2s,transform .2s,border-color .2s}
.t-doc .cond-grid article.cond:hover{box-shadow:0 10px 30px rgba(58,55,82,.08);transform:translateY(-2px);border-color:#DFD5CC}
.t-doc .cond-grid article.cond.t-open{grid-column:1/-1;background:var(--paper,#FDFAF7);box-shadow:0 12px 34px rgba(58,55,82,.09)}
.t-doc .cond-grid .cond-head{margin-bottom:8px}
.t-doc .cond-grid .cond-head .illo{width:62px;height:62px}
.t-doc .cond-grid article.cond.t-open .cond-head .illo{width:84px;height:84px}
.t-doc .cond-lede{margin:0}

/* Inpatient band — OPD above, IPD clearly its own place. */
.t-doc .t-band{background:linear-gradient(180deg,var(--peri) 0%,rgba(239,238,247,.35) 100%);
 border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin:46px 0;padding:8px 0 26px}
.t-doc .t-band-head{padding:38px var(--gut) 6px;max-width:1180px;margin:0 auto}
.t-doc .t-band-head h2{margin:.1em 0 .35em}
.t-doc .t-band>section{padding-top:14px;padding-bottom:14px}

/* The four stages as a meandering path. */
.t-doc .stage-path{position:relative;margin-top:26px}
.t-doc .stage-path:before{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:2px;
 background:repeating-linear-gradient(180deg,#D9D2E6 0 8px,transparent 8px 16px);transform:translateX(-50%)}
.t-doc .stage-path .stage{position:relative;background:#fff;border:1px solid var(--hair);border-radius:18px;
 padding:18px 20px;margin:0 0 18px;width:calc(50% - 34px);transition:box-shadow .2s,transform .2s}
.t-doc .stage-path .stage:hover{box-shadow:0 10px 28px rgba(58,55,82,.08);transform:translateY(-2px)}
.t-doc .stage-path .stage.left{margin-right:auto}
.t-doc .stage-path .stage.right{margin-left:auto}
.t-doc .stage-path .stage.t-open{width:100%;margin-left:0;margin-right:0}
.t-doc .stage-path .stage .num{position:absolute;top:20px;width:34px;height:34px;border-radius:50%;
 display:grid;place-items:center;background:var(--coral,#F15B42);color:#fff;font-weight:600;font-size:15px}
.t-doc .stage-path .stage.left .num{right:-51px}
.t-doc .stage-path .stage.right .num{left:-51px}
.t-doc .stage-path .stage.t-open .num{position:static;margin-bottom:10px}
@media(max-width:820px){
  .t-doc .stage-path:before{left:17px;transform:none}
  .t-doc .stage-path .stage{width:auto;margin-left:44px!important;margin-right:0!important}
  .t-doc .stage-path .stage .num{left:-44px!important;right:auto!important;width:30px;height:30px;font-size:14px}
}


/* Fees: our amount leads, the typical market rate sits under it in small type. */
.t-doc .fee-mkt{display:block;font-size:12.5px;color:var(--muted);letter-spacing:.01em;margin-top:2px;
 font-family:"Hanken Grotesk",system-ui,sans-serif}
.t-doc .fee-amt{line-height:1.15}
@media(min-width:1100px){.t-doc .fee-mkt{font-size:13px}}


/* Fee + time comparison. The point is the appointment length as much as the price, so our column
   is visually the hero and the market column reads as quiet reference. */
.t-doc .cmp{margin-top:26px;background:#fff;border:1px solid var(--hair);border-radius:20px;
 padding:22px 22px 16px;box-shadow:0 8px 26px rgba(58,55,82,.05)}
.t-doc .cmp-head .lbl{display:inline-block;font-family:"Hanken Grotesk",system-ui,sans-serif;font-weight:600;
 font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#9D9AC4;margin-bottom:6px}
.t-doc .cmp-head p{margin:0 0 16px;color:var(--muted);font-size:15px;line-height:1.55;max-width:none}
.t-doc .cmp-t{width:100%;border-collapse:collapse;font-family:"Hanken Grotesk",system-ui,sans-serif}
.t-doc .cmp-t th{text-align:left;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
 color:var(--muted);font-weight:600;padding:0 12px 10px;border-bottom:1px solid var(--hair)}
.t-doc .cmp-t th.us{color:var(--coral,#F15B42)}
.t-doc .cmp-t td{padding:14px 12px;border-bottom:1px solid #F1ECE7;vertical-align:top;font-size:15px;color:var(--muted)}
.t-doc .cmp-t tr:last-child td{border-bottom:0}
.t-doc .cmp-t td.rl{color:var(--ink);font-weight:600;width:30%}
.t-doc .cmp-t td.us{background:linear-gradient(180deg,rgba(251,239,233,.75),rgba(251,239,233,.35));color:var(--ink)}
.t-doc .cmp-t tbody tr:first-child td.us{border-radius:12px 12px 0 0}
.t-doc .cmp-t tbody tr:last-child td.us{border-radius:0 0 12px 12px}
.t-doc .cmp-t td b{display:block;font-family:"Newsreader",serif;font-weight:400;font-size:22px;color:var(--ink);line-height:1.2}
.t-doc .cmp-t td.us b{color:var(--coral,#F15B42)}
.t-doc .cmp-t td em{display:block;font-style:normal;font-size:12.5px;color:var(--muted);margin-top:3px}
.t-doc .cmp-note{margin:14px 0 0;font-size:12.5px;color:var(--muted);max-width:none}
@media(min-width:1100px){.t-doc .cmp{padding:28px 28px 20px}.t-doc .cmp-t td{font-size:16px;padding:16px 14px}.t-doc .cmp-t td b{font-size:25px}}
@media(max-width:700px){
  .t-doc .cmp-t,.t-doc .cmp-t tbody,.t-doc .cmp-t tr,.t-doc .cmp-t td{display:block;width:auto}
  .t-doc .cmp-t thead{display:none}
  .t-doc .cmp-t tr{border:1px solid var(--hair);border-radius:14px;margin-bottom:12px;overflow:hidden}
  .t-doc .cmp-t td{border-bottom:0;padding:12px 14px}
  .t-doc .cmp-t td.rl{width:auto;background:var(--peri);font-size:13.5px}
  .t-doc .cmp-t td.us:before{content:"At Sochwell";display:block;font-size:11px;letter-spacing:.1em;
   text-transform:uppercase;color:var(--coral,#F15B42);font-weight:600;margin-bottom:2px}
  .t-doc .cmp-t td:not(.rl):not(.us):before{content:"Usual private practice";display:block;font-size:11px;
   letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:2px}
  .t-doc .cmp-t tbody tr td.us{border-radius:0}
}


/* Therapies — each one carries its own grain medallion, as cards rather than a plain list. */
.t-doc .panel.blush .diff.thx{background:#fff;border:1px solid var(--hair);border-radius:18px;
 padding:18px 20px 16px;margin:0;transition:box-shadow .2s,transform .2s,border-color .2s}
.t-doc .panel.blush .diff.thx:hover{box-shadow:0 10px 28px rgba(58,55,82,.08);transform:translateY(-2px);border-color:#DFD5CC}
.t-doc .diff.thx h3{display:flex;align-items:center;gap:13px;margin:0 0 8px;font-size:17.5px}
.t-doc .diff.thx h3 .illo{width:60px;height:60px;flex:none}
.t-doc .diff.thx p{margin:0}
@media(min-width:760px){
  .t-doc .panel.blush .diff.thx{display:grid;grid-template-columns:1fr;gap:0}
  .t-doc .thx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
}
@media(min-width:1100px){.t-doc .diff.thx h3{font-size:19px}.t-doc .diff.thx h3 .illo{width:70px;height:70px}}


/* Desktop rail, clarified. It was reading as washed-out grey over the hero's constellation art,
   with truncated labels; give it its own quiet surface, real ink contrast and room for two lines. */
@media(min-width:1100px){
  .t-doc-nav-spacer{display:none}
  .t-nav{left:20px;width:246px;padding:16px 8px 16px 0;background:rgba(255,255,255,.86);
   backdrop-filter:blur(10px) saturate(1.05);border:1px solid rgba(232,226,220,.9);border-radius:18px;
   box-shadow:0 14px 40px -18px rgba(58,55,82,.28)}
  .t-nav:before{content:"On this page";display:block;margin:0 0 10px 18px;
   font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.16em;
   text-transform:uppercase;color:#A6A2BC}
  .t-nav-in{gap:0}
  .t-nav button{position:relative;border-left:0;padding:9px 14px 9px 30px;color:#4A4763;font-weight:500;
   font-size:14.5px;line-height:1.35;letter-spacing:-.002em;border-radius:0 10px 10px 0;
   transition:color .16s,background .16s}
  /* dot marker on the spine */
  .t-nav button:before{content:"";position:absolute;left:13px;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;
   background:#DED8E9;transition:background .16s,transform .16s,box-shadow .16s}
  /* the spine itself */
  .t-nav-in:before{content:"";position:absolute;left:15px;top:6px;bottom:6px;width:1.5px;background:#EDE8E3}
  .t-nav-in{position:relative}
  .t-nav button:hover{color:var(--ink);background:rgba(251,239,233,.6)}
  .t-nav button:hover:before{background:#E0B7A8;transform:scale(1.15)}
  .t-nav button.on{color:var(--coral-ink,#B4462F);font-weight:700;background:rgba(251,239,233,.9)}
  .t-nav button.on:before{background:var(--coral,#F15B42);transform:scale(1.35);
   box-shadow:0 0 0 4px rgba(241,91,66,.16)}
}
@media(min-width:1500px){
  .t-nav{width:268px;left:28px}
  .t-nav button{font-size:15.5px;padding:10px 16px 10px 32px}
}


/* Rail foot — art + a quiet CTA in the space below the section list. Hidden on mobile, where the
   rail is a horizontal chip strip and the sticky bar already carries the action. */
.t-nav-foot{display:none}
@media(min-width:1100px){
  .t-nav-foot{display:block;margin:14px 12px 2px 16px;padding-top:16px;border-top:1px solid #EDE8E3;text-align:left}
  .t-nav-foot svg{width:62px;height:62px;display:block;margin-bottom:10px}
  .t-nav-foot p{margin:0 0 12px;font-family:"Newsreader",Georgia,serif;font-weight:300;font-size:16px;
   line-height:1.4;color:var(--ink);max-width:none}
  .t-nav-foot button{width:100%;padding:9px 12px;border-radius:999px;border:0;cursor:pointer;
   background:var(--coral,#F15B42);color:#fff;font-family:"Hanken Grotesk",system-ui,sans-serif;
   font-weight:600;font-size:13.5px;letter-spacing:.01em;transition:filter .16s,transform .16s}
  .t-nav-foot button:hover{filter:brightness(1.06);transform:translateY(-1px)}
  .t-nav-foot a{display:block;margin-top:8px;text-align:center;font-family:"Hanken Grotesk",system-ui,sans-serif;
   font-size:12.5px;color:var(--muted);text-decoration:none}
  .t-nav-foot a:hover{color:var(--ink);text-decoration:underline}
  /* the card may now exceed the viewport on short screens — let it scroll rather than clip */
  .t-nav{max-height:calc(100vh - 40px);overflow-y:auto;scrollbar-width:none}
  .t-nav::-webkit-scrollbar{display:none}
}


/* Section kickers ("HOW WE CAN HELP") — the coral labels were set at print size, too small to act
   as the entry point to each section on screen. */
.t-doc .kicker{font-size:13px;letter-spacing:.15em;margin-bottom:12px}
.t-doc .lvl-tag{font-size:11px;letter-spacing:.13em}
.t-doc .plan-lbl{font-size:13px;letter-spacing:.13em}
.t-doc .cmp-head .lbl{font-size:13px;letter-spacing:.13em}
@media(min-width:760px){.t-doc .kicker{font-size:14px}}
@media(min-width:1100px){
  .t-doc .kicker{font-size:15px;letter-spacing:.14em;margin-bottom:14px}
  .t-doc .lvl-tag{font-size:12px}
  .t-doc .plan-lbl,.t-doc .cmp-head .lbl{font-size:14px}
}
@media(min-width:1500px){.t-doc .kicker{font-size:16px}}


/* ---- The four stages, beautified ----
   A journey rather than four boxes: a soft gradient spine, a serif numeral in a tinted disc that
   shifts warm→calm as recovery progresses, the illustration given room, and a one-line summary so
   the whole arc reads before anything is opened. */
.t-doc .stage-path{position:relative;margin-top:34px;padding:4px 0}
.t-doc .stage-path:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;transform:translateX(-50%);
 background:linear-gradient(180deg,rgba(241,91,66,.55) 0%,rgba(201,199,228,.9) 45%,rgba(143,168,147,.75) 100%);
 border-radius:3px;opacity:.65}
.t-doc .stage-path .stage{position:relative;background:#fff;border:1px solid var(--hair);border-radius:22px;
 padding:22px 24px 20px;margin:0 0 26px;width:calc(50% - 46px);
 box-shadow:0 10px 30px -18px rgba(58,55,82,.45);transition:box-shadow .22s,transform .22s,border-color .22s}
.t-doc .stage-path .stage:hover{box-shadow:0 18px 40px -20px rgba(58,55,82,.5);transform:translateY(-3px);border-color:#E3D8D0}
.t-doc .stage-path .stage.left{margin-right:auto}
.t-doc .stage-path .stage.right{margin-left:auto}
.t-doc .stage-path .stage.t-open{width:100%;margin-left:0;margin-right:0;background:linear-gradient(180deg,#fff,var(--paper))}
/* connector from card to spine */
.t-doc .stage-path .stage:after{content:"";position:absolute;top:34px;width:30px;height:1.5px;background:#E4DDEC}
.t-doc .stage-path .stage.left:after{right:-30px}
.t-doc .stage-path .stage.right:after{left:-30px}
.t-doc .stage-path .stage.t-open:after{display:none}
/* numeral disc on the spine */
.t-doc .stage-path .stage .num{position:absolute;top:20px;width:44px;height:44px;border-radius:50%;
 display:grid;place-items:center;font-family:"Newsreader",Georgia,serif;font-weight:400;font-size:20px;
 color:#fff;background:var(--coral,#F15B42);box-shadow:0 0 0 6px var(--paper),0 6px 18px -6px rgba(58,55,82,.5)}
.t-doc .stage-path .stage.s2 .num{background:#B9648C}
.t-doc .stage-path .stage.s3 .num{background:#7E7BB8}
.t-doc .stage-path .stage.s4 .num{background:#6E9177}
.t-doc .stage-path .stage.left .num{right:-68px;left:auto}
.t-doc .stage-path .stage.right .num{left:-68px;right:auto}
.t-doc .stage-path .stage.t-open .num{position:static;margin-bottom:12px;box-shadow:0 6px 18px -6px rgba(58,55,82,.4)}
/* head: illustration + step label + title */
.t-doc .stage-head{display:flex;align-items:center;gap:15px;margin-bottom:10px}
.t-doc .stage-head .illo{width:68px;height:68px;flex:none}
.t-doc .stage-head h3{margin:0;font-size:21px;line-height:1.2}
.t-doc .stage-step{display:block;font-family:"Hanken Grotesk",system-ui,sans-serif;font-weight:700;
 font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#A6A2BC;margin-bottom:3px}
.t-doc .stage-line{margin:0;color:var(--muted);font-size:15px;line-height:1.55;max-width:none}
.t-doc .stage-path .stage .t-more p{margin-top:14px}
@media(min-width:1100px){
  .t-doc .stage-head .illo{width:76px;height:76px}
  .t-doc .stage-head h3{font-size:23px}
  .t-doc .stage-line{font-size:16px}
}
@media(max-width:820px){
  .t-doc .stage-path:before{left:22px;transform:none}
  .t-doc .stage-path .stage{width:auto;margin-left:58px!important;margin-right:0!important;padding:18px 18px 16px}
  .t-doc .stage-path .stage:after{left:-36px!important;right:auto!important;width:36px;top:30px}
  .t-doc .stage-path .stage .num{left:-58px!important;right:auto!important;width:36px;height:36px;font-size:17px;
   box-shadow:0 0 0 5px var(--paper),0 5px 14px -6px rgba(58,55,82,.5)}
  .t-doc .stage-head .illo{width:56px;height:56px}
  .t-doc .stage-head h3{font-size:19px}
}


/* ---- Phone navigation ----
   A 13-item horizontal chip strip meant endless sideways scrubbing and no sense of place. Instead:
   a single sticky line that names the section you are in, opening a bottom sheet with the contents. */
.t-jump{display:none}
@media(max-width:1099px){
  .t-nav{display:none}
  .t-jump{position:sticky;top:56px;z-index:22;display:flex;align-items:center;gap:10px;width:100%;
   padding:11px 16px calc(11px + env(safe-area-inset-left,0px));border:0;border-bottom:1px solid var(--hair);
   background:rgba(253,250,247,.96);backdrop-filter:blur(10px);cursor:pointer;text-align:left;
   font-family:"Hanken Grotesk",system-ui,sans-serif}
  .t-jump-l{font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#A6A2BC;flex:none}
  .t-jump-c{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap;
   overflow:hidden;text-overflow:ellipsis}
  .t-jump svg{flex:none;color:var(--coral,#F15B42)}
  .t-sheet-wrap{position:fixed;inset:0;z-index:60;background:rgba(36,33,97,.34);backdrop-filter:blur(2px);
   display:flex;align-items:flex-end;animation:tfade .2s ease}
  .t-sheet{width:100%;max-height:82vh;overflow-y:auto;background:var(--paper,#FDFAF7);
   border-radius:22px 22px 0 0;padding:10px 14px calc(18px + env(safe-area-inset-bottom));
   box-shadow:0 -18px 50px -20px rgba(36,33,97,.6);animation:tup .26s cubic-bezier(.22,1,.36,1)}
  .t-sheet-grip{width:42px;height:4px;border-radius:4px;background:#DED8E9;margin:2px auto 12px}
  .t-sheet-h{font-family:"Newsreader",Georgia,serif;font-weight:300;font-size:21px;color:var(--ink);
   margin:0 4px 10px}
  .t-sheet-list{display:flex;flex-direction:column}
  .t-sheet-list button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;
   background:none;border:0;border-bottom:1px solid #F1ECE7;padding:13px 6px;
   font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:16px;font-weight:500;color:var(--ink)}
  .t-sheet-list button .n{font-family:"Newsreader",Georgia,serif;font-size:14px;color:#B3AFC8;flex:none;width:22px}
  .t-sheet-list button.on{color:var(--coral-ink,#C0442E);font-weight:700}
  .t-sheet-list button.on .n{color:var(--coral,#F15B42)}
  .t-sheet-x{width:100%;margin-top:14px;padding:12px;border:0;border-radius:999px;cursor:pointer;
   background:var(--navy,#242161);color:#fff;font-family:"Hanken Grotesk",system-ui,sans-serif;
   font-weight:600;font-size:15px}
}
@keyframes tfade{from{opacity:0}to{opacity:1}}
@keyframes tup{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}


/* ---- Legibility pass ----
   Many readers here are older, tired, or reading on a phone in a waiting room. Body copy steps up
   across the board with a little extra line-height and looser tracking; nothing below 16px. */
.t-doc{font-size:17px;line-height:1.68;letter-spacing:.004em}
.t-doc p,.t-doc li,.t-doc dd,.t-doc dt{font-size:17px;line-height:1.68}
.t-doc .intro{font-size:18.5px;line-height:1.62}
.t-doc .small,.t-doc .cmp-note,.t-doc .plan-note{font-size:15px;line-height:1.6}
.t-doc .cond-lede{font-size:17.5px;line-height:1.55}
.t-doc .stage-line{font-size:16.5px}
.t-doc .bit p{font-size:17px}
.t-doc .bit .lbl{font-size:13px;letter-spacing:.12em}
.t-doc .t-more-btn{font-size:15px;padding:11px 18px}
.t-doc .cmp-t td{font-size:16.5px}
.t-doc .cmp-t td em,.t-doc .fee-mkt{font-size:14px}
.t-doc .cmp-t th{font-size:13.5px}
.t-doc h3{font-size:19.5px}
.t-doc .svc-tile li{font-size:16.5px;line-height:1.6}
@media(min-width:760px){
  .t-doc,.t-doc p,.t-doc li,.t-doc dd,.t-doc dt{font-size:18px}
  .t-doc .intro{font-size:20px}
  .t-doc .cond-lede{font-size:18.5px}
  .t-doc .small,.t-doc .cmp-note,.t-doc .plan-note{font-size:15.5px}
}
@media(min-width:1100px){
  .t-doc,.t-doc p,.t-doc li,.t-doc dd,.t-doc dt{font-size:18.5px;line-height:1.7}
  .t-doc .intro{font-size:21px}
  .t-doc .cond-lede{font-size:19.5px}
  .t-doc h3{font-size:21px}
  .t-doc .stage-line{font-size:17.5px}
  .t-doc .cmp-t td{font-size:17.5px}
  .t-doc .t-more-btn{font-size:15.5px}
  .t-doc .small,.t-doc .cmp-note,.t-doc .plan-note{font-size:16px}
}
@media(min-width:1500px){
  .t-doc,.t-doc p,.t-doc li,.t-doc dd,.t-doc dt{font-size:19.5px}
  .t-doc .intro{font-size:22px}
}
/* Hindi lines carry a touch more size — Devanagari reads smaller at the same point size. */
.t-doc .hi{font-size:1.06em;line-height:1.7}


/* ---- Legibility, specificity-matched ----
   The brochure's own per-block rules (.t-doc .lvl p etc.) are 0,2,1 and carry no media query, so the
   plain .t-doc p rules above lost to them and this copy stayed at 14–15px at every width. These
   selectors match the brochure's specificity so nothing on the page reads below 16px. */
.t-doc .lvl p,.t-doc .stage p,.t-doc .phase p,.t-doc .diff p,.t-doc .panel p,
.t-doc .severity li,.t-doc ul.plain li,.t-doc .day .what,.t-doc .cmp-t td,
.t-doc .bit p,.t-doc .svcgrp li,.t-doc dl dd{font-size:17px;line-height:1.66}
.t-doc .stage p.stage-line{font-size:16.5px;line-height:1.6}
.t-doc .fee-lbl,.t-doc .day .when{font-size:16px}
.t-doc .lvl h3,.t-doc .diff h3,.t-doc .phase h3{font-size:19.5px}
@media(min-width:760px){
  .t-doc .lvl p,.t-doc .stage p,.t-doc .phase p,.t-doc .diff p,.t-doc .panel p,
  .t-doc .severity li,.t-doc ul.plain li,.t-doc .day .what,.t-doc .cmp-t td,
  .t-doc .bit p,.t-doc .svcgrp li,.t-doc dl dd{font-size:17.5px}
}
@media(min-width:1100px){
  .t-doc .lvl p,.t-doc .stage p,.t-doc .phase p,.t-doc .diff p,.t-doc .panel p,
  .t-doc .severity li,.t-doc ul.plain li,.t-doc .day .what,.t-doc .cmp-t td,
  .t-doc .bit p,.t-doc .svcgrp li,.t-doc dl dd{font-size:18.5px;line-height:1.7}
  .t-doc .stage p.stage-line{font-size:17.5px}
  .t-doc .lvl h3,.t-doc .diff h3,.t-doc .phase h3{font-size:21px}
  .t-doc .fee-lbl,.t-doc .day .when{font-size:17px}
}
@media(min-width:1500px){
  .t-doc .lvl p,.t-doc .stage p,.t-doc .phase p,.t-doc .diff p,.t-doc .panel p,
  .t-doc .severity li,.t-doc ul.plain li,.t-doc .day .what,.t-doc .cmp-t td,
  .t-doc .bit p,.t-doc .svcgrp li,.t-doc dl dd{font-size:19.5px}
}


/* Phone: a five-item service list under each tile is a wall of text before anyone has chosen a
   direction. Show the first three, reveal the rest on tap. */
@media(max-width:760px){
  .t-doc .svc-tile li:nth-child(n+4){display:none}
  .t-doc .svc-tile.t-open li:nth-child(n+4){display:list-item}
  .t-doc .svc-tile ul{margin-bottom:6px}
}


/* Desktop shows every service inline, so the reveal control is phone-only. */
.t-doc .svc-btn{margin-top:10px}
@media(min-width:761px){.t-doc .svc-btn{display:none}}


/* Folded sub-topics (a duplicate section merged into the section that owns the subject). */
.t-doc .t-folded{margin-top:28px;padding-top:22px;border-top:1px solid var(--hair)}
.t-doc .t-folded>h3{font-family:"Newsreader",serif;font-weight:400;font-size:23px;margin:0 0 12px;color:var(--ink)}
@media(min-width:1100px){.t-doc .t-folded>h3{font-size:25px}}


/* ---- Section artwork ----------------------------------------------------
   Commissioned paper-collage pieces, one per major section. Wide pieces run the
   text measure; tall ones float beside the copy on desktop so the section does
   not turn into a column of stacked pictures. */
.t-doc .t-art{margin:26px 0 30px;padding:0;border-radius:18px;overflow:hidden;
  box-shadow:0 18px 40px -26px rgba(36,33,97,.45);background:var(--blush)}
.t-doc .t-art img{display:block;width:100%;height:auto}
.t-doc .t-art.wide{max-width:none}
@media(min-width:900px){
  .t-doc .t-art.tall{float:right;width:38%;max-width:380px;margin:6px 0 22px 34px;shape-outside:inset(0 round 18px)}
  .t-doc section{overflow:hidden}   /* contain the float within its own section */
}
@media(max-width:899px){
  .t-doc .t-art{margin:20px 0 24px;border-radius:14px}
  .t-doc .t-art.tall{width:100%;float:none;margin-left:0}
}

.t-doc .t-art.wide img{max-height:420px;object-fit:cover;object-position:center}
@media(max-width:899px){.t-doc .t-art.wide img{max-height:300px}}


/* Therapies grid: equal-height cards. Ragged card bottoms (a 3-line card beside an 11-line one) read
   as broken layout rather than as a set — stretch each card and let the copy sit top-aligned. */
.t-doc .thx-grid{align-items:stretch}
.t-doc .diff.thx{grid-template-rows:auto auto 1fr;height:100%}
.t-doc .diff.thx h3{margin-top:0}


/* Therapy card pictures — a consistent band at the top of each card, so five different source
   images (portrait and landscape) still line up as one set. */
.t-doc .diff .thx-img{margin:-2px -2px 14px;border-radius:12px;overflow:hidden;background:var(--blush);aspect-ratio:16/10}
.t-doc .diff .thx-img img{width:100%;height:100%;object-fit:cover;display:block}
/* With a picture present the little medallion is redundant — keep the label, drop the icon. */
.t-doc .diff:has(.thx-img) h3 .illo{display:none}
.t-doc .diff:has(.thx-img) h3{gap:0}


/* Rail is a MOBILE aid only — on desktop the sections are already distinct, so ten links duplicated
   the page's structure and stole 250px from the reading measure. */
@media(min-width:1100px){
  .t-wrap .t-nav{display:none!important}
  .t-wrap{display:block!important}
  .t-wrap .t-doc{margin-left:auto;margin-right:auto}
}


/* Day rhythm band — sits above the hour-by-hour list. */
.t-doc .day-arc{margin:6px 0 22px;padding:0;max-width:640px}
@media(max-width:640px){.t-doc .day-arc{display:none}}


/* Service lists are LABELS, not body copy. They were inheriting the 17–19.5px reading size from the
   prose rules, so short items like "OCD" sat on a 30px row and long ones wrapped to three lines —
   a wall to scan. Compact type, tight rows, no per-item rules, and the dash sits inline. */
.t-doc .svcgrp li,
.t-doc .svc-tile li{font-size:15px!important;line-height:1.45!important;padding:5px 0 5px 16px!important;
 border-bottom:0!important;max-width:none!important}
.t-doc .svcgrp li::before,.t-doc .svc-tile li::before{top:11px;width:7px}
.t-doc .svcgrp ul,.t-doc .svc-tile ul{display:flex;flex-direction:column;gap:1px}
@media(min-width:1100px){
  .t-doc .svcgrp li,.t-doc .svc-tile li{font-size:15.5px!important}
}


/* Cards size to their CONTENT. Forcing equal heights (r765) stretched every short card — Neurology,
   Brain training, Specialist clinics — into a tall box with a big empty floor, which is worse than a
   ragged edge. Pictures follow their list directly rather than being pinned to a stretched foot. */
.t-doc .svcs{align-items:start}
.t-doc .svcgrp{display:block}
.t-doc .svc-pic{margin:14px 0 0;padding:0;display:flex;justify-content:center}
.t-doc .svc-pic img{display:block;height:120px;width:auto;max-width:100%;object-fit:contain;border-radius:10px}
@media(max-width:620px){.t-doc .svc-pic{display:none}}

/* The care-app and brain-training cards are the final row and left two empty tracks beside them. Each
   spans two columns so the row fills the width — and the wider measure shortens both lists, which sets
   the picture beside the text instead of stranding it under a narrow column. */
@media(min-width:1100px){
  /* Wide cards run HORIZONTAL: list left, picture right. Threshold is 1100px, not 900px — at ~460px of
     card width a side-by-side split leaves the list ~190px, and 3 fixed columns in 190px overflowed
     into each other (text physically colliding). Below this the plain stacked card from r766 stands.
     Column COUNT is chosen by the browser from a minimum width, and the figure is flexible and allowed
     to wrap, so the list can never be starved again. */
  .t-doc .svcgrp-wide{grid-column:1 / -1}
  .t-doc .svcgrp-wide .svc-body{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
  .t-doc .svcgrp-wide .svc-body ul{display:block!important;flex:1 1 420px;min-width:0;
    column-width:190px;column-count:auto;column-gap:32px}
  .t-doc .svcgrp-wide li{break-inside:avoid}
  .t-doc .svcgrp-wide .svc-pic{margin:0;flex:0 1 190px;max-width:32%}
  .t-doc .svcgrp-wide .svc-pic img{height:auto;max-height:170px;width:100%;object-fit:contain}
}

/* Door collage in the hero's empty right half. Absolutely placed, NOT a grid: turning .hero into a
   grid and forcing every child into column 1 stacked the headline into a narrow, very tall column with
   the picture stranded at the top. The hero is already position:relative (its grain layer is absolute),
   so the art can sit centred on the right while the text keeps its normal flow. */
@media(min-width:900px){
  .t-doc .hero{padding-right:calc(42% + 34px)}
  .t-doc .hero .hero-art{position:absolute;right:30px;top:34px;bottom:34px;
    width:38%;max-width:520px;margin:0;padding:0;z-index:2}
  .t-doc .hero .hero-art img{display:block;width:100%;height:100%;object-fit:cover;
    border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.3)}
}
@media(max-width:899px){.t-doc .hero .hero-art{display:none}}

/* Level one: five cards in a TWO-column block on the left, picture filling the right. The auto-fit grid
   put three across and then stranded two on a second row with a wide gap beside them. A grid box ignores
   floats, so the grid is width-capped to sit clear of the floated figure. */
@media(min-width:1000px){
  #online-consultations .svcs{grid-template-columns:repeat(2,minmax(0,1fr));width:58%}
  #online-consultations .t-art.tall{width:38%;max-width:none;margin-top:0}
  #online-consultations .t-art.tall img{height:100%;object-fit:cover}
  #online-consultations .t-art.tall{display:flex}
}

/* "Why this works" as cards, not a divided list. Scoped to .panel > .diff — the r779 rules used a
   .diffs wrapper that does not exist in this markup, so none of them matched. :not(.thx) keeps the
   therapies cards (.diff.thx in .thx-grid), which already have their own styling, untouched. */
.t-doc .panel:has(> .diff){display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;align-items:start}
.t-doc .panel > .diff:not(.thx){background:#fff;border:1px solid var(--hair);border-top:1px solid var(--hair);
 border-radius:14px;padding:16px 18px}
.t-doc .panel > .diff:not(.thx) h3{margin:0 0 5px}
.t-doc .panel > .diff:not(.thx) p{margin:0;max-width:none}
.t-doc .panel:has(> .diff) > .kicker,.t-doc .panel:has(> .diff) > h2,
.t-doc .panel:has(> .diff) > p:not(.diff p){grid-column:1 / -1;margin-top:0}
@media(max-width:620px){.t-doc .panel:has(> .diff){display:block}.t-doc .panel > .diff:not(.thx){margin-bottom:10px}}

/* Contact card in two columns via MULTI-COLUMN, not grid. Forcing grid-column without grid-row made
   auto-placement open a new implicit row per item, leaving a 255px hole in column 1 and detaching each
   label from its value. Column flow cannot leave holes, and break-after keeps dt with its dd. */
@media(min-width:820px){
  .t-doc .contact dl{columns:2;column-gap:40px}
  .t-doc .contact dl dt{break-after:avoid;break-inside:avoid}
  .t-doc .contact dl dd{break-inside:avoid;margin-bottom:14px}
}

/* Level two's collage as a grid CELL, so the section's grid owns the full column width and the
   full-width cards below it actually reach the edge. */
.t-doc .svc-cell-art{margin:0;padding:0;align-self:start;border-radius:14px;overflow:hidden;background:var(--blush)}
.t-doc .svc-cell-art img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}
@media(min-width:900px){.t-doc .svc-cell-art{grid-column:span 2}}
@media(max-width:620px){.t-doc .svc-cell-art{display:none}}

/* Admission signs as cards. Scoped to the .admit-signs class added in site-treatment.jsx: the r792
   rules used a .severity wrapper that does not exist here, and a bare ul.plain rule would also restyle
   the paperwork list below and the entitlement copy elsewhere. */
@media(min-width:760px){
  .t-doc .admit-signs{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
}
.t-doc .admit-signs li{background:#fff;border:1px solid var(--hair)!important;border-radius:14px;
 padding:14px 16px 14px 34px!important;max-width:none!important}
.t-doc .admit-signs li::before{left:16px;top:22px;width:10px;height:2px;opacity:.9}
.t-doc .admit-signs li b{font-weight:700;color:var(--coral-ink)}

/* The day rhythm lives IN the list: each part's name is a coloured block beside its own line, so there
   is no separate band repeating the same four words. */
@media(min-width:700px){
  .t-doc ol.day > li{display:grid!important;grid-template-columns:132px 1fr;gap:16px;align-items:start}
}
.t-doc ol.day > li .when{display:inline-block;padding:7px 14px;border-radius:11px;font-style:normal;
 font-family:"Hanken Grotesk",system-ui,sans-serif;font-weight:600;font-size:14px;color:var(--navy);text-align:center;min-width:112px}
.t-doc ol.day > li.day-0 .when{background:#F7C9A0}
.t-doc ol.day > li.day-1 .when{background:#F19A7E}
.t-doc ol.day > li.day-2 .when{background:#8FA893}
.t-doc ol.day > li.day-3 .when{background:#242161;color:#FDF8F3}
.t-doc ol.day > li .what{margin:0}
