:root { --ink:#17202a; --navy:#20364d; --red:#9d332f; --gold:#b89443; --paper:#fbfaf6; --line:#d8d6cf; --muted:#5f6670; }
* { box-sizing:border-box; }
html { color-scheme:light; font-family:Arial, Helvetica, sans-serif; background:var(--paper); color:var(--ink); }
body { margin:0; line-height:1.58; }
a { color:var(--navy); text-underline-offset:3px; }
.editorial-header { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:18px max(24px, calc((100vw - 1120px) / 2)); border-bottom:1px solid var(--line); background:#fff; }
.wordmark { color:var(--navy); font-family:Georgia, serif; font-size:1.35rem; font-weight:800; text-decoration:none; }
nav { display:flex; flex-wrap:wrap; gap:18px; font-size:.9rem; font-weight:700; }
nav a { text-decoration:none; }
main { max-width:1120px; margin:auto; padding:64px 24px 72px; }
article { max-width:820px; }
.eyebrow { margin:0 0 12px; color:var(--red); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
h1,h2 { font-family:Georgia, serif; color:var(--navy); }
h1 { max-width:780px; margin:0; font-size:clamp(2.4rem, 7vw, 5.4rem); line-height:.98; font-weight:700; letter-spacing:0; }
.dek { max-width:760px; margin:26px 0; color:#343c45; font-family:Georgia, serif; font-size:1.32rem; line-height:1.55; }
.story-actions { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0 56px; }
.story-actions a,.editorial-links a { display:inline-flex; align-items:center; min-height:44px; padding:10px 14px; border:1px solid var(--navy); font-weight:750; text-decoration:none; }
.story-actions .primary { background:var(--navy); color:white; }
section { padding:30px 0; border-top:1px solid var(--line); }
h2 { margin:0 0 12px; font-size:1.65rem; }
p,li { max-width:72ch; }
li + li { margin-top:9px; }
.editorial-links { display:flex; flex-wrap:wrap; gap:10px; }
aside { margin-top:34px; padding:22px 24px; border-left:5px solid var(--gold); background:#fff; }
aside p { margin:7px 0 0; }
footer { display:flex; justify-content:space-between; gap:24px; padding:30px max(24px, calc((100vw - 1120px) / 2)); border-top:1px solid var(--line); background:#fff; color:var(--muted); font-size:.88rem; }
footer p { margin:0; }
@media (max-width:720px) { .editorial-header,footer { align-items:flex-start; flex-direction:column; } main { padding-top:44px; } h1 { font-size:2.7rem; } nav { gap:12px; } }
