/* Shared /topics/ guide shell. Wider composition, comfortable reading measure. */
.topic-guide-page { --topic-paper:#f5f3ef; --topic-ink:#09294d; --topic-muted:#526174; --topic-line:#d8dfe5; --topic-accent:#b50050; }
.topic-guide-page #main { background:#fff; color:var(--topic-ink); }
.topic-guide-page #main > .wrap, .topic-guide-page #main > section > .wrap, .topic-guide-page .topic-guide-opening { max-width:1200px; }
.topic-guide-hero { position:relative; isolation:isolate; overflow:hidden; background:var(--topic-paper); border-bottom:1px solid var(--topic-line); }
.topic-guide-image { position:absolute; z-index:-2; inset:0 0 0 auto; width:45%; height:100%; object-fit:cover; object-position:center; }
.topic-guide-hero::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,var(--topic-paper) 53%,rgba(245,243,239,.94) 59%,rgba(245,243,239,0) 78%); pointer-events:none; }
.topic-guide-opening { padding-block:clamp(2rem,4vw,3.5rem); }
.topic-guide-intro { max-width:720px; width:65%; }
.topic-guide-hero--text .topic-guide-intro { width:100%; max-width:960px; }
.topic-guide-hero--text::after { display:none; }
.topic-guide-page .topic-guide-hero--text .lead { max-width:800px; }
.topic-guide-page .topic-guide-intro .eyebrow { display:block; width:fit-content; margin:0 0 1.15rem; padding:0; border:0; border-radius:0; background:transparent; color:var(--topic-accent); font-size:.75rem; letter-spacing:.09em; line-height:1.6; }
.topic-guide-page .topic-guide-intro .eyebrow a { color:var(--topic-accent); text-underline-offset:.25em; }
.topic-guide-page .topic-guide-intro h1 { max-width:none; margin:0 0 1.1rem; color:var(--topic-ink); font-size:clamp(2rem,3.5vw,3.15rem); line-height:1.1; letter-spacing:-.035em; text-wrap:balance; }
.topic-guide-page .topic-guide-intro .lead { max-width:640px; margin:0; color:#3b4d60; font-size:clamp(1.05rem,1.4vw,1.16rem); line-height:1.65; }
.topic-guide-meta { display:flex; flex-wrap:wrap; gap:.35rem 1.15rem; margin-top:1.25rem; font-size:.8rem; color:var(--topic-muted); }
.topic-guide-meta span + span { padding-left:1.15rem; border-left:1px solid #aab2bb; }
.topic-guide-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem 1.5rem; margin-top:1.15rem; }
.topic-guide-page .topic-guide-actions .button { gap:1rem; }
.topic-guide-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:1rem; min-height:44px; color:var(--topic-ink); font-size:.95rem; font-weight:700; text-underline-offset:.3em; }
.topic-guide-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:clamp(2rem,5vw,5rem); align-items:start; padding-block:3rem 4rem; }
.topic-guide-sidebar { position:sticky; top:var(--anchor-offset,148px); max-height:calc(100svh - var(--anchor-offset,148px) - 1rem); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.topic-guide-nav-title { margin:0 0 .85rem; padding-top:1rem; border-top:3px solid var(--topic-accent); color:var(--topic-ink); font-size:.8rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.topic-guide-contents { list-style:none; padding:0; margin:0; counter-reset:topic-section; }
.topic-guide-contents li { counter-increment:topic-section; border-bottom:1px solid var(--topic-line); }
.topic-guide-contents a { display:flex; align-items:baseline; gap:.7rem; min-height:44px; padding:.7rem .25rem; color:#3b4d60; text-decoration:none; font-size:.86rem; line-height:1.45; transition:background-color .15s,color .15s; }
.topic-guide-contents a::before { content:counter(topic-section,decimal-leading-zero); flex:0 0 1.2rem; font-size:.7rem; color:var(--topic-accent); font-variant-numeric:tabular-nums; }
.topic-guide-contents a:hover { background:#f7f1f4; color:var(--topic-accent); }
.topic-guide-back { display:flex; align-items:center; min-height:44px; margin-top:.5rem; color:var(--topic-muted); font-size:.85rem; text-underline-offset:.25em; }
.topic-guide-mobile-nav { display:none; }
.topic-guide-prose { min-width:0; max-width:790px; font-size:1.08rem; line-height:1.8; color:#293e53; overflow-wrap:break-word; }
.topic-guide-page :is(#topic-reading,h2[id]) { scroll-margin-top:calc(var(--anchor-offset,148px) + 1rem); }
.topic-guide-prose > p { margin:0 0 1.35rem; }
.topic-guide-prose > p:first-child { font-size:1.18rem; line-height:1.75; color:var(--topic-ink); }
.topic-guide-page .topic-guide-prose h2 { color:var(--topic-ink); font-size:clamp(1.5rem,2.2vw,1.9rem); line-height:1.25; letter-spacing:-.025em; }
.topic-guide-prose > h2, .topic-guide-prose > section > h2 { margin:2.4rem 0 1rem; padding-top:1.4rem; border-top:1px solid var(--topic-line); }
.topic-guide-prose > section:first-child > h2 { margin-top:0; padding-top:0; border:0; }
.topic-guide-prose .symptom-list { display:block; padding-left:1.35rem; margin-block:1rem 1.5rem; list-style:disc; }
.topic-guide-prose ol.symptom-list { list-style:decimal; }
.topic-guide-prose .symptom-list li { margin-bottom:.55rem; padding:0 0 0 .25rem; border:0; border-radius:0; background:transparent; }
.topic-guide-prose .symptom-list li::marker { color:var(--topic-accent); }
.topic-guide-prose a:not(.button) { text-underline-offset:.2em; }
.topic-guide-page .topic-guide-prose .patient-story { border:0; border-left:3px solid var(--topic-accent); border-radius:0; box-shadow:none; background:var(--topic-paper); color:#293e53; }
.topic-guide-prose .patient-story h3 { font-size:1.4rem; line-height:1.35; color:var(--topic-ink); }
.topic-guide-page .topic-guide-prose .patient-story .eyebrow { background:none; border:0; padding:0; color:var(--topic-accent); font-size:.72rem; }
.topic-guide-prose .patient-story .muted { color:var(--topic-muted); }
.topic-guide-prose .handoff-panel { padding:1.5rem; border:1px solid #cedbe6; border-radius:8px; box-shadow:none; background:#eff5f9; }
.topic-guide-prose .handoff-panel p { color:#293e53; }
.topic-guide-prose .handoff-panel .button-row { display:flex; flex-wrap:wrap; gap:.75rem; }
.topic-guide-page .topic-guide-prose .faq-item { border:0; border-bottom:1px solid var(--topic-line); border-radius:0; box-shadow:none; background:transparent; margin:0; }
.topic-guide-page .topic-guide-prose .faq-item summary { min-height:52px; padding:1rem 2.2rem 1rem .25rem; color:var(--topic-ink); }
.topic-guide-page .topic-guide-prose .faq-item[open] { background:#f7f9fb; }
.topic-guide-prose .faq-answer { padding:.25rem 1rem 1rem; }
.topic-guide-prose .related-reading ul { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 1.5rem; }
.topic-guide-prose .related-reading li { padding:.75rem 0; margin:0; border-bottom:1px solid var(--topic-line); font-size:.9rem; line-height:1.5; }
.topic-guide-prose .related-reading li a { display:flex; align-items:center; min-height:44px; color:var(--topic-ink); }
.topic-guide-next { background:var(--topic-paper); border-block:1px solid var(--topic-line); padding-block:2.5rem; }
.topic-guide-next-heading { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:1.5rem; }
.topic-guide-next-heading .eyebrow { margin:0 0 .5rem; color:var(--topic-accent); }
.topic-guide-next-heading h2 { margin:0; font-size:clamp(1.5rem,2.4vw,2rem); }
.topic-guide-topic-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 2rem; }
.topic-guide-topic-links a { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 0; min-height:52px; border-top:1px solid #c9d0d7; color:var(--topic-ink); font-size:.95rem; font-weight:650; text-decoration:none; }
.topic-guide-topic-links a:hover { color:var(--topic-accent); text-decoration:underline; text-underline-offset:.2em; }
.topic-guide-tracking { padding-block:1.5rem 2.5rem; }
.topic-guide-resources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.75rem; }
.topic-guide-resources > a { display:block; padding:1.3rem 0; border-bottom:1px solid var(--topic-line); color:var(--topic-ink); text-decoration:none; }
.topic-guide-resource-kicker { font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; font-weight:700; color:var(--topic-accent); }
.topic-guide-resources h3 { margin:.4rem 0 .65rem; font-size:1.2rem; line-height:1.4; }
.topic-guide-resources h3 span { color:var(--topic-accent); }
.topic-guide-resources p { color:var(--topic-muted); font-size:.96rem; line-height:1.6; margin:0; }
.topic-guide-resources a:hover h3 { color:var(--topic-accent); text-decoration:underline; text-underline-offset:.2em; }
.topic-guide-support .button-row { display:flex; flex-wrap:wrap; gap:.75rem; }
.topic-guide-page a:focus-visible, .topic-guide-page summary:focus-visible { outline:3px solid var(--warning,#ffdd00); outline-offset:3px; }
@media (min-width:1600px) { .topic-guide-image { width:calc(50% - 80px); } }
@media (max-width:900px) {
  .topic-guide-intro { width:72%; }
  .topic-guide-hero::after { background:linear-gradient(90deg,var(--topic-paper) 58%,rgba(245,243,239,.93) 67%,rgba(245,243,239,.3)); }
  .topic-guide-layout { grid-template-columns:1fr; gap:1.75rem; padding-block:1.5rem 2.5rem; }
  .topic-guide-sidebar { position:static; max-height:none; overflow:visible; }
  .topic-guide-desktop-nav { display:none; }
  .topic-guide-mobile-nav { display:block; border-block:1px solid var(--topic-line); }
  .topic-guide-mobile-nav summary { min-height:52px; padding:.85rem .25rem; color:var(--topic-ink); font-weight:700; cursor:pointer; }
  .topic-guide-mobile-nav summary > span { margin-left:.75rem; font-size:.8rem; font-weight:400; color:var(--topic-muted); }
  .topic-guide-mobile-nav .topic-guide-contents { padding-bottom:1rem; }
  .topic-guide-contents a { font-size:.95rem; }
  .topic-guide-prose { max-width:none; }
  .topic-guide-topic-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .topic-guide-opening { padding-block:1.75rem; }
  .topic-guide-intro { width:100%; }
  .topic-guide-image { position:relative; display:block; width:100%; height:150px; object-position:center 55%; }
  .topic-guide-hero::after { display:none; }
  .topic-guide-page .topic-guide-intro h1 { font-size:2rem; }
  .topic-guide-page .topic-guide-intro .lead { font-size:1.02rem; }
  .topic-guide-prose { font-size:1.03rem; line-height:1.75; }
  .topic-guide-prose .related-reading ul, .topic-guide-resources, .topic-guide-topic-links { grid-template-columns:1fr; }
  .topic-guide-next { padding-block:2rem; }
}
@media (prefers-reduced-motion:reduce) { .topic-guide-page *, .topic-guide-page *::before, .topic-guide-page *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
@media print {
  .topic-guide-sidebar, .topic-guide-actions, .topic-guide-next, .topic-guide-tracking, .topic-guide-image { display:none; }
  .topic-guide-intro { width:100%; max-width:none; }
  .topic-guide-layout { display:block; padding-block:1rem; }
  .topic-guide-prose { max-width:none; }
  .topic-guide-hero::after { display:none; }
}
