.story-hero{margin:0 auto;padding:clamp(3rem,7vw,6rem) 5vw 3rem;max-width:1320px}
.story-hero .eyebrow{color:#5665a8;text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.story-hero h1{max-width:1100px;margin:.5rem 0 1.5rem;font-size:clamp(2.7rem,5.5vw,5.5rem);line-height:1.04;overflow-wrap:normal;hyphens:auto}
.story-lead{max-width:76ch;font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.6}
.story-toc{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}
.story-toc a{padding:.65rem .9rem;border:1px solid #cdd3e4;border-radius:999px;background:#f3f5fb;color:#24325f;text-decoration:none;font-weight:700}
.story-toc a:hover,.story-toc a:focus-visible{background:#dfe5f5}
.story-content{width:min(90%,900px);margin:0 auto;padding:0 0 5rem}
.story-content section{padding:1.5rem 0;border-top:1px solid #d9deeb;scroll-margin-top:9rem}
.story-content h2{margin:.4rem 0 1rem;font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.15}
.story-content p,.story-content li{font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.7}
.story-content a{color:#354b9e;text-underline-offset:.16em}
.story-photo{margin:1.6rem 0 2rem}.story-photo img{display:block;width:100%;height:auto;border-radius:5mm}.story-photo figcaption{padding:.7rem 0;color:#39404f;font-size:.95rem;line-height:1.5}
.story-facts,.story-sources{padding-left:1.4rem}
.story-related{display:grid;gap:.8rem;margin-top:2rem;padding:clamp(1.4rem,4vw,2.5rem);border-radius:5mm;background:#eef0f8}
.story-related h2{margin:0 0 .4rem}
@media(max-width:700px){.story-hero{padding:2.5rem 5vw}.story-content{width:90%}.story-content section{scroll-margin-top:6rem}}
