/* conditions.css — condition pages and the conditions index. Builds on site.css tokens. */

/* breadcrumb */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 20px;padding:0;list-style:none;font-size:.875rem;color:var(--sub)}
.crumbs li{display:flex;align-items:center;gap:6px}
.crumbs li+li::before{content:"";width:6px;height:6px;border-right:1.5px solid #a1a1a6;border-top:1.5px solid #a1a1a6;transform:rotate(45deg);margin-right:4px}
.crumbs a{color:var(--sub)}
.crumbs [aria-current]{color:var(--ink);font-weight:500}

/* hero */
.cond-hero{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,72px);align-items:center}
.cond-hero-text{flex:1 1 380px;min-width:0}
.cond-hero-text .h1{font-size:clamp(2.75rem,6.4vw,5rem)}
.cond-hero-text .lead{margin-top:20px;max-width:560px}
.cond-hero-media{flex:1.15 1 420px;min-width:0}
.cond-hero-media .art{animation:none}
.cond-hero-media figcaption{margin:12px 4px 0;font-size:.875rem;line-height:1.45;color:var(--sub)}
.cond-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:28px}
.cond-ctas .phone{font-size:1.0625rem;font-weight:500;color:var(--ink)}
.art svg text{font-family:Inter,-apple-system,sans-serif}

/* layout: article + sticky contents */
.cond-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;margin-top:clamp(56px,7vw,96px)}
@media (min-width:1000px){.cond-layout{grid-template-columns:260px minmax(0,1fr);gap:72px}}
.toc{align-self:start;background:#fff;border-radius:24px;padding:24px 24px 20px;box-shadow:0 2px 20px rgba(0,0,0,.04)}
@media (min-width:1000px){.toc{position:sticky;top:80px}}
.toc p{margin:0 0 12px;font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--sub)}
.toc ol{margin:0;padding:0 0 0 20px;display:flex;flex-direction:column;gap:8px;font-size:.9375rem;line-height:1.35}
.toc li::marker{color:#a1a1a6;font-size:.8125rem}
.toc a{color:var(--ink)}

/* article */
.cond-article{max-width:720px}
.cond-article section{scroll-margin-top:84px}
.cond-article section+section{margin-top:clamp(48px,5vw,64px)}
.cond-article h2{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",Inter,sans-serif;font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.12;letter-spacing:-0.025em;font-weight:700;margin:0 0 18px}
.cond-article p{font-size:1.125rem;line-height:1.6;color:#424245;margin:0}
.cond-article p+p,.cond-article ul+p,.cond-article p+ul{margin-top:16px}
.cond-article ul.dots{margin:0;padding:0 0 0 22px;display:flex;flex-direction:column;gap:10px;font-size:1.125rem;line-height:1.5;color:#424245}
.cond-article ul.dots li::marker{color:var(--accent,#0066cc)}
.cond-article strong{color:var(--ink);font-weight:600}
sup.cite{font-size:.7em;line-height:0;margin-left:1px}
sup.cite a{font-weight:600}

/* recovery timeline */
.stages{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.stage{background:#fff;border-radius:22px;padding:24px 24px 22px;box-shadow:0 2px 20px rgba(0,0,0,.04);border-top:4px solid var(--accent,#0066cc)}
.stage .when{margin:0;font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--accent,#0066cc)}
.stage h3{margin:6px 0 8px;font-size:1.25rem;letter-spacing:-0.015em;line-height:1.2}
.stage p{font-size:1rem;line-height:1.5}
.note-box{margin-top:20px;padding:18px 20px;border-radius:18px;background:var(--soft);font-size:1rem!important;line-height:1.5;color:var(--sub)!important}

/* sources */
.sources{margin:0;padding:0 0 0 24px;display:flex;flex-direction:column;gap:12px;font-size:.9375rem;line-height:1.5;color:var(--sub)}
.sources li{scroll-margin-top:84px}
.sources li:target{color:var(--ink)}
.sources a{word-break:break-word}

/* related + stories */
.cond-band{margin-top:clamp(72px,9vw,128px)}
.cond-band .h2{font-size:clamp(2rem,4.4vw,3.25rem)}
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;margin-top:32px}
.rel{display:flex;flex-direction:column;gap:4px;padding:22px 22px 20px;background:#fff;border-radius:22px;box-shadow:0 2px 20px rgba(0,0,0,.04);color:var(--ink);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.rel:hover{text-decoration:none;transform:translateY(-4px);box-shadow:0 14px 36px rgba(0,0,0,.08)}
.rel strong{font-size:1.125rem;letter-spacing:-0.015em}
.rel span{font-size:.9375rem;color:var(--sub);line-height:1.4}
.cond-band .v-grid{margin-top:32px}
.cond-cta{margin-top:clamp(72px,9vw,128px);padding:clamp(40px,6vw,72px);border-radius:32px;background:#1d1d1f;color:#f5f5f7}
.cond-cta .h2{font-size:clamp(2rem,4.4vw,3.25rem);color:#f5f5f7}
.cond-cta p{color:#a1a1a6;font-size:1.125rem;line-height:1.5;margin:14px 0 0;max-width:620px}
.cond-cta .phones{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px;font-size:1rem}
.cond-cta .phones a{color:#f5f5f7}
.cond-cta .phones span{color:#a1a1a6}
.disclaimer{margin-top:28px;font-size:.875rem;line-height:1.5;color:var(--sub)}
.cond-cta,.cond-cta .phones,.disclaimer{text-align:left;justify-content:flex-start}
.disclaimer{max-width:none;margin-left:0;margin-right:0}

/* for patients: PT locations + protocols */
.pt-tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin-bottom:clamp(40px,5vw,56px)}
.pt-tips .v{font-size:1rem;font-weight:500;color:#424245}
.pt-jump{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(40px,5vw,56px)}
.pt-jump a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;background:#e8e8ed;color:var(--ink);font-size:.9375rem;font-weight:500}
.pt-jump a:hover{text-decoration:none;background:#dcdce1}
.pt-region{scroll-margin-top:84px}
.pt-region+.pt-region{margin-top:clamp(40px,5vw,56px)}
.pt-region>.h3{margin-bottom:18px}
.pt-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.pt-card{background:#fff;border-radius:22px;padding:22px 22px 18px;box-shadow:0 2px 20px rgba(0,0,0,.04)}
.pt-card h3{margin:0 0 12px;font-size:1.125rem;line-height:1.3;letter-spacing:-0.015em}
.pt-line{display:flex;gap:8px;align-items:flex-start;padding:4px 0;font-size:.9375rem;line-height:1.4;color:#424245}
.pt-line svg{flex:none;margin-top:2px;color:var(--accent,#0066cc)}
.pt-line:hover span{text-decoration:underline}
.proto-group+.proto-group{margin-top:clamp(40px,5vw,56px)}
.proto-group>.h3{margin-bottom:18px}
.proto-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}
.proto{display:flex;align-items:center;gap:16px;padding:20px 22px;background:#fff;border-radius:22px;box-shadow:0 2px 20px rgba(0,0,0,.04);color:var(--ink)}
.proto:hover{text-decoration:none;box-shadow:0 14px 36px rgba(0,0,0,.08)}
.proto .ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e8f0fb;color:var(--accent,#0066cc);font-size:.75rem;font-weight:700;letter-spacing:.02em}
.proto strong{display:block;font-size:1.0625rem;letter-spacing:-0.01em;line-height:1.3}
.proto span.sub{display:block;margin-top:2px;font-size:.875rem;color:var(--sub)}
.byline{margin:18px 0 0;font-size:.9375rem;line-height:1.45;color:var(--sub)}
