/* Same editorial language; each story owns its illustration and interaction. */
.story-page { background:var(--paper); }
.story-hero { background:var(--ink); color:var(--paper); padding:48px var(--edge) 70px; }
.story-kicker,.story-section-label { display:block; font:10px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.1em; color:var(--orange); margin-bottom:26px; }
.story-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,5vw,80px); align-items:center; }
.story-copy h1 { font-size:clamp(48px,6.2vw,92px); line-height:.99; max-width:12ch; letter-spacing:-.06em; margin-bottom:30px; }
.story-copy h1 em { color:var(--orange); }
.story-copy>p { color:#b9c1b3; font-size:16px; max-width:46ch; margin:20px 0; line-height:1.7; }
.story-copy .button { margin-top:12px; }
.story-meta { font:10px/1.6 var(--mono); color:#99a594; margin-top:25px; display:flex; flex-wrap:wrap; gap:8px 24px; }
.story-stage { position:relative; min-width:0; }
.story-section { padding:72px var(--edge); border-bottom:1px solid var(--line); }
.story-section-heading { font-size:clamp(34px,4.5vw,62px); line-height:1.1; max-width:18ch; margin-bottom:28px; }
.story-body { max-width:65ch; font-size:16px; line-height:1.8; }
.story-body p+p { margin-top:18px; }
.story-section .story-grid { align-items:start; }
.story-cta { background:var(--ink); color:var(--paper); padding:65px var(--edge); display:flex; align-items:center; justify-content:space-between; gap:35px; }
.story-cta h2 { font-size:clamp(32px,4vw,55px); max-width:18ch; }
.story-cta p { color:#b9c1b3; max-width:55ch; margin-top:18px; }
.story-controls { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:20px; }
.story-controls button { cursor:pointer; border:1px solid #586552; background:transparent; color:var(--paper); font:10px var(--mono); padding:11px 14px; }
.story-controls button[aria-pressed=true] { background:var(--orange); border-color:var(--orange); color:var(--ink); }
.story-controls button:hover { border-color:var(--orange); }
.story-status { font:11px/1.65 var(--mono); color:#b9c1b3; margin-top:16px; min-height:3.3em; }
.story-evidence { padding:28px; border:1px solid var(--line); background:#fffdf4; }
.story-evidence h3 { font-size:24px; margin-bottom:18px; }
.story-evidence p { margin:12px 0; font-size:14px; }
.story-evidence a { color:var(--ink); }
.story-related { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:35px; }
.story-related a { border:1px solid var(--line); padding:25px; font-size:19px; text-decoration:none; display:flex; justify-content:space-between; gap:20px; }
.story-related a:hover { background:#e8e8de; }
.story-page .film-wrap { max-width:1000px; }
.story-page video,.story-page img { max-width:100%; }
@media(max-width:900px) { .story-grid { grid-template-columns:1fr; } .story-copy h1 { max-width:16ch; } .story-stage { max-width:680px; width:100%; } .story-cta { align-items:flex-start; flex-direction:column; } }
@media(max-width:600px) { .story-hero { padding:30px 22px 45px; } .story-copy h1 { font-size:52px; } .story-section { padding:45px 22px; } .story-related { grid-template-columns:1fr; } .story-cta { padding:45px 22px; } .story-controls { gap:6px; } .story-controls button { padding:10px; } }
