:root{
  --paper:#F1F3F6; --raise:#FBFCFE; --ink:#14181F; --ink-soft:#39404B;
  --muted:#5B636F; --rule:#D7DCE3; --rule-strong:#B9C1CD;
  --wire:#DA3520; --wire-ink:#B32A17; --wire-tint:rgba(218,53,32,.08);
  --f-display:"Oswald","Arial Narrow","Roboto Condensed","Helvetica Neue",sans-serif;
  --f-body:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --paper:#0E1116; --raise:#161B22; --ink:#E7EAEE; --ink-soft:#C2C8D0;
  --muted:#8B93A0; --rule:#242B34; --rule-strong:#353E4A;
  --wire:#FF5B41; --wire-ink:#FF7961; --wire-tint:rgba(255,91,65,.10);
}}
:root[data-theme=dark]{
  --paper:#0E1116; --raise:#161B22; --ink:#E7EAEE; --ink-soft:#C2C8D0;
  --muted:#8B93A0; --rule:#242B34; --rule-strong:#353E4A;
  --wire:#FF5B41; --wire-ink:#FF7961; --wire-tint:rgba(255,91,65,.10);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);
  font-size:18px;line-height:1.6;font-weight:400;orphans:2;widows:2;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-feature-settings:"kern" 1,"liga" 1;
  hanging-punctuation:first allow-end}
h1,h2,h3,.wordmark{font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
  font-variant-ligatures:common-ligatures discretionary-ligatures}
p,.dek,.standfirst,.page-note,.lede,.sb-lead p,.body li,ol.tl p{text-wrap:pretty}
.byline,.meta,.rl-meta,.sb-item .m,.filerow time,.filerow .n,.tl-m,.src-date,
.nameplate .np-side,.wire-strip,ol.tl time,.sb-head .sb-count{
  font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1}
@view-transition{navigation:auto}
@media (prefers-reduced-motion:no-preference){
  ::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
}
header.mast{view-transition-name:mast}
a{color:inherit;text-decoration:none}
::selection{background:var(--wire);color:#fff}
p a,li a,.body a{color:var(--wire-ink);text-decoration:underline;text-underline-offset:2px;
  text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--wire) 45%,transparent)}
p a:hover,li a:hover{text-decoration-color:var(--wire)}
:focus-visible{outline:2px solid var(--wire);outline-offset:3px}

.shell{max-width:1120px;margin:0 auto;padding:0 26px}
.measure{max-width:680px}

/* ---- masthead / nameplate ---- */
header.mast{border-bottom:2px solid var(--ink)}
.mast .shell{padding-top:16px;padding-bottom:0}
.nameplate{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:16px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:9px 0;margin-bottom:0}
.nameplate .np-side{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.nameplate .np-date{justify-self:start}
.nameplate .np-ed{justify-self:end;text-align:right}
.wordmark{font-family:var(--f-display);font-optical-sizing:auto;font-weight:600;
  font-size:clamp(1.9rem,4.6vw,2.9rem);letter-spacing:.01em;line-height:1.04;color:var(--ink);
  justify-self:center;white-space:nowrap}
.wordmark .dot{color:var(--wire)}
.wire-strip{border-top:1px solid var(--rule);padding:8px 0 9px;display:flex;align-items:center;
  gap:12px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.02em;color:var(--muted)}
.wire-clip{flex:1;min-width:0;white-space:nowrap;overflow:hidden;scrollbar-width:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 48px),transparent);
  mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 48px),transparent)}
.wire-track{display:inline-block;will-change:transform;
  animation:wire-scroll 38s linear infinite}
.wire-track>span{padding-left:0}
.wire-clip:hover .wire-track,.wire-clip:focus-within .wire-track{animation-play-state:paused}
@keyframes wire-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .wire-track{animation:none}
  .wire-track>span[aria-hidden]{display:none}
  .wire-clip{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .wire-strip .motion-btn{display:none}
}
:root.motion-off .wire-track{animation:none}
:root.motion-off .wire-track>span[aria-hidden]{display:none}
:root.motion-off .wire-clip{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.wire-clip:focus-visible{outline:2px solid var(--wire);outline-offset:-2px}
.skip{position:absolute;left:-9999px;top:0;z-index:100}
.skip:focus{left:12px;top:10px;background:var(--wire-ink);color:#fff;padding:8px 13px;
  font-family:var(--f-mono);font-size:.72rem;letter-spacing:.04em;border-radius:3px}
.wire-clip::-webkit-scrollbar{display:none}
.wire-strip b{color:var(--wire-ink);font-weight:500}
.wire-strip a{color:var(--ink-soft)}
.wire-strip a:hover{color:var(--wire-ink)}
.wire-strip .sep{color:var(--rule-strong);margin:0 .55em}

nav.sections{border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:20;
  background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(6px)}
nav.sections .shell{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding-top:0;padding-bottom:0}
nav.sections .shell::-webkit-scrollbar{display:none}
nav.sections a{font-family:var(--f-body);font-weight:600;font-size:.8rem;letter-spacing:.01em;
  color:var(--muted);padding:11px 12px;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
nav.sections a:hover{color:var(--ink)}
nav.sections a[aria-current=page]{color:var(--ink);border-bottom-color:var(--wire)}

main{padding:34px 0 10px}
.eyebrow{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--wire-ink);font-weight:500}
h1.page{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;
  font-size:clamp(1.7rem,4vw,2.3rem);letter-spacing:.01em;line-height:1.08;margin:.25em 0 .1em;
  text-wrap:balance}
.page-note{color:var(--muted);font-size:1rem;max-width:56ch;margin:.4em 0 0}
.prose{max-width:640px;margin-top:26px}
.prose h2{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;
  font-size:1.24rem;letter-spacing:.01em;margin:1.9em 0 .35em;color:var(--ink)}
.prose h2:first-child{margin-top:0}
.prose p{font-size:.98rem;line-height:1.62;color:var(--ink-soft);margin:.7em 0}
.prose a{color:var(--wire-ink);text-decoration:underline;text-underline-offset:2px}
.prose strong{color:var(--ink);font-weight:600}
.prose-upd{font-family:var(--f-mono);font-size:.66rem!important;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted)!important;margin-top:2.4em;
  border-top:1px solid var(--rule);padding-top:14px}
.feed-line{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.03em;color:var(--muted);
  margin:0 0 20px}
.feed-line a{color:var(--wire-ink)}
.archive{margin-top:6px}
.arch-day{margin:0 0 26px}
.arch-date{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--wire-ink);font-weight:500;margin:0 0 4px;padding-bottom:7px;
  border-bottom:2px solid var(--ink)}
.arch-date span{color:var(--muted)}
.arch-row{display:grid;grid-template-columns:130px 1fr auto;gap:16px;align-items:baseline;
  padding:12px 0;border-bottom:1px solid var(--rule)}
.arch-row .tag{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted)}
.arch-row .h{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;font-size:1.1rem;
  line-height:1.2;letter-spacing:.015em}
.arch-row:hover .h{color:var(--wire-ink)}
.arch-row .n{font-family:var(--f-mono);font-size:.6rem;color:var(--muted);white-space:nowrap}
@media(max-width:640px){.arch-row{grid-template-columns:1fr;gap:3px}.arch-row .tag{order:-1}}
.rule{border:0;border-top:1px solid var(--rule);margin:26px 0}
.rule.strong{border-top-color:var(--rule-strong)}

/* ---- front page: lead + rail ---- */
.front{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:0;
  border-bottom:2px solid var(--ink)}
.front-main{min-width:0;padding-right:34px;border-right:1px solid var(--rule-strong);padding-bottom:30px}
.front-rail{min-width:0;padding-left:26px;padding-bottom:30px}
.rail-h{position:relative;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--wire-ink);font-weight:500;margin:0 0 10px;
  padding-bottom:8px;border-bottom:1px solid var(--rule-strong)}
.rail-tick{position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:var(--wire);
  transform:scaleX(0);transform-origin:0 50%;opacity:0}
ol.rail-list{list-style:none;padding:0;margin:0}
ol.rail-list li{padding:11px 0;border-bottom:1px solid var(--rule);
  display:flex;flex-direction:column;justify-content:center}
ol.rail-list li:last-child{border-bottom:0}
ol.rail-list .rl-meta{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--muted);display:block;margin-bottom:3px}
ol.rail-list .rl-meta .c{color:var(--wire-ink)}
ol.rail-list a{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;
  font-size:1rem;line-height:1.2;letter-spacing:.015em;color:var(--ink);display:block}
ol.rail-list a:hover{color:var(--wire-ink)}
/* rotating "wire" ticker — only once JS activates it (see _SCRIPT) */
.rail-clip.ticking{overflow:hidden;height:420px}
.rail-clip.ticking ol.rail-list li{height:84px;flex:none;justify-content:flex-start;
  padding:12px 0 10px;overflow:hidden}
.rail-clip.ticking ol.rail-list li a{display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden}
.rail-tick.run{transition:transform 15s linear;transform:scaleX(1);opacity:.9}
/* WCAG 2.2.2 — a visible control to stop the marquee + ticker (see _SCRIPT) */
.motion-btn{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);background:none;border:0;cursor:pointer;
  padding:2px 4px;line-height:1}
.motion-btn:hover{color:var(--wire-ink)}
.rail-h .motion-btn{position:absolute;right:0;top:-1px}
.wire-strip .motion-btn{flex:none}
:root.motion-off .rail-tick.run{transition:none;transform:scaleX(0)}
@media(max-width:820px){
  .front{grid-template-columns:minmax(0,1fr)}
  .front-main{padding-right:0;border-right:0;border-bottom:1px solid var(--rule-strong)}
  .front-rail{padding-left:0;padding-top:22px}
}

/* ---- front carousel: top 5 ranked, replaces lead + two-up ---- */
.cx{position:relative;min-width:0;padding-bottom:14px;border-bottom:2px solid var(--ink)}
.cx-view{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain}
.cx-view::-webkit-scrollbar{display:none}
.cx-track{list-style:none;margin:0;padding:0;display:flex}
.cx-slide{scroll-snap-align:start;scroll-margin-top:84px;flex:0 0 100%;min-width:0;position:relative;
  display:grid;grid-template-columns:1fr;align-content:center;gap:9px;box-sizing:border-box;
  height:clamp(366px,46vh,424px);padding:18px 44px;overflow:hidden}
.cx-slide.has-art{grid-template-columns:minmax(0,1fr) 33%;gap:0 30px;align-items:center}
.cx-ord{position:absolute;right:34px;bottom:-30px;z-index:0;pointer-events:none;user-select:none;
  font-family:var(--f-display);font-optical-sizing:auto;font-weight:600;letter-spacing:-.03em;
  font-size:clamp(5.5rem,15vh,9rem);line-height:1;color:var(--rule)}
.cx-slide.has-art .cx-ord{display:none}
.cx-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;max-width:38ch}
.cx-slide:not(.has-art) .cx-body{max-width:46ch}
.cx-kick{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--wire-ink);font-weight:500}
.cx-h{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;
  font-size:clamp(1.5rem,1.05rem + 1.7vw,2.1rem);line-height:1.1;letter-spacing:.01em;margin:.02em 0;
  text-wrap:balance;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cx-h a:hover{color:var(--wire-ink)}
.cx-why{font-size:.92rem;line-height:1.44;color:var(--ink-soft);margin:2px 0 0;
  border-left:2px solid var(--wire);padding-left:13px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cx-why b{font-family:var(--f-mono);font-size:.55rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--wire-ink);font-weight:500;display:block;margin-bottom:2px}
.cx-meta{font-family:var(--f-mono);font-size:.63rem;letter-spacing:.02em;color:var(--muted);
  margin-top:4px}
.cx-art{margin:0;position:relative;align-self:stretch;border:1px solid var(--rule-strong);
  background-size:cover;background-position:center;background-repeat:no-repeat}
.cx-credit{position:absolute;left:0;bottom:0;font-family:var(--f-mono);font-size:.53rem;
  letter-spacing:.04em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.6);
  padding:3px 7px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-credit a{color:#fff;text-decoration:underline}
.cx-arrow{position:absolute;top:calc(50% - 15px);z-index:2;font-family:var(--f-display);
  font-size:1.6rem;line-height:1;color:var(--rule-strong);text-decoration:none;padding:6px 10px}
.cx-prev{left:0}.cx-next{right:0}
.cx-arrow:hover{color:var(--wire-ink)}
.cx-nav{display:flex;align-items:center;gap:14px;margin-top:8px;padding:0 42px}
.cx-dots{list-style:none;display:flex;gap:7px;margin:0;padding:0}
.cx-dots li{display:block}
.cx-dots a{display:block;width:24px;height:4px;background:var(--rule-strong);position:relative;
  overflow:hidden}
.cx-dots a:hover{background:var(--muted)}
.cx-dots .is-on a{background:var(--wire-ink)}
.cx-fill{position:absolute;inset:0;background:var(--wire);transform:translateX(-101%)}
.cx-dots .is-on .cx-fill.run{transition:transform 8s linear;transform:translateX(0)}
:root.motion-off .cx-dots .cx-fill.run,
:root.motion-off .cx-dots .cx-fill{transition:none;transform:translateX(-101%)}
.cx-nav .motion-btn{margin-left:auto}
.cx-solo .cx-slide{padding-left:0;padding-right:0}
@media (prefers-reduced-motion:reduce){.cx-view{scroll-behavior:auto}}
@media(max-width:820px){
  .cx-slide{height:auto;min-height:284px;align-content:start;padding:16px 26px;gap:7px}
  .cx-slide.has-art{grid-template-columns:1fr;align-items:start}
  .cx-slide.has-art .cx-art{order:-1;height:150px;margin-bottom:10px}
  .cx-slide .cx-body,.cx-slide:not(.has-art) .cx-body{max-width:none}
  .cx-h{-webkit-line-clamp:4}
  .cx-ord,.cx-arrow{display:none}
  .cx-nav{padding:0 26px}
}

/* ---- lead story (category pages) ---- */
.lead{display:grid;grid-template-columns:1fr;gap:6px;padding-bottom:30px;
  border-bottom:2px solid var(--ink)}
.lead .cat{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--wire-ink);font-weight:500}
.lead h2{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;
  font-size:clamp(1.9rem,5vw,2.75rem);line-height:1.1;letter-spacing:.01em;margin:.12em 0 .1em;
  text-wrap:balance}
.lead h2 a:hover{color:var(--wire-ink)}
.lead .dek{font-size:1.12rem;line-height:1.5;color:var(--ink-soft);max-width:60ch;margin:.3em 0 0}
.lead .why{margin-top:16px;border-left:2px solid var(--wire);padding:2px 0 2px 16px;
  font-size:1rem;color:var(--ink);max-width:56ch}
.lead .why b{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--wire-ink);display:block;margin-bottom:3px;font-weight:500}
.lead .meta{font-family:var(--f-mono);font-size:.68rem;color:var(--muted);margin-top:14px;
  letter-spacing:.02em}

/* ---- secondary 2-up ---- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 4px}
.two article{padding:24px 26px 24px 0;border-right:1px solid var(--rule)}
.two article:last-child{padding-right:0;padding-left:26px;border-right:0}
.two .cat{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--wire-ink);font-weight:500}
.two h3{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;font-size:1.42rem;
  line-height:1.1;letter-spacing:.01em;margin:.2em 0 .18em;text-wrap:balance}
.two h3 a:hover{color:var(--wire-ink)}
.two .dek{font-size:.96rem;color:var(--ink-soft);margin:0}
.two .meta{font-family:var(--f-mono);font-size:.64rem;color:var(--muted);margin-top:10px}

/* ---- section mini-fronts ---- */
.sections-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;margin-top:2px}
.section-block{padding:22px 0 24px;border-top:1px solid var(--rule-strong)}
.sb-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.sb-head a.sb-title{font-family:var(--f-display);font-optical-sizing:auto;font-weight:600;
  font-size:1.16rem;letter-spacing:.01em;color:var(--ink)}
.sb-head a.sb-title:hover{color:var(--wire-ink)}
.sb-head .sb-count{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap}
.sb-lead{display:block;margin-bottom:10px}
.sb-lead .h{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;font-size:1.3rem;
  line-height:1.12;letter-spacing:.01em;color:var(--ink);display:block;margin-bottom:5px}
.sb-lead:hover .h{color:var(--wire-ink)}
.sb-lead p{font-size:.93rem;color:var(--ink-soft);margin:0}
.sb-item{display:block;padding:9px 0;border-top:1px solid var(--rule)}
.sb-item .h{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;font-size:1rem;
  line-height:1.18;color:var(--ink)}
.sb-item:hover .h{color:var(--wire-ink)}
.sb-item .m{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.05em;text-transform:uppercase;
  color:var(--muted);display:block;margin-bottom:2px}
.sb-empty{font-size:.92rem;color:var(--muted);margin:2px 0 0}
.sb-more{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--wire-ink);display:inline-block;margin-top:12px}
.sb-more:hover{color:var(--wire)}
@media(max-width:820px){.sections-grid{grid-template-columns:1fr;gap:0}}

/* ---- the file: dense dated list ---- */
.filelist{border-top:1px solid var(--rule-strong)}
.filerow{display:grid;grid-template-columns:88px 1fr auto;gap:18px;align-items:baseline;
  padding:15px 0;border-bottom:1px solid var(--rule)}
.filerow time{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.06em;color:var(--muted);
  white-space:nowrap}
.filerow .h{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;font-size:1.14rem;
  line-height:1.22;letter-spacing:.01em}
.filerow .h .tag{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--wire-ink);font-weight:500;margin-right:.6em;white-space:nowrap}
.filerow:hover .h{color:var(--wire-ink)}
.filerow .n{font-family:var(--f-mono);font-size:.62rem;color:var(--muted);white-space:nowrap}
.filerow .draft{color:var(--wire-ink)}

/* ---- subject index cards ---- */
.subgrid{display:grid;gap:0;border-top:1px solid var(--rule-strong)}
.subrow{display:block;padding:18px 0;border-bottom:1px solid var(--rule)}
.subrow .top{display:flex;justify-content:space-between;gap:12px;font-family:var(--f-mono);
  font-size:.63rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap}
.nowrap{white-space:nowrap}
.subrow .top .c{color:var(--wire-ink);font-weight:500}
.subrow h3{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;font-size:1.4rem;
  letter-spacing:.01em;margin:.15em 0 .12em}
.subrow:hover h3{color:var(--wire-ink)}
.subrow p{font-size:.97rem;color:var(--ink-soft);margin:0;max-width:64ch}

/* ---- article ---- */
.story-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:0 52px;
  align-items:start;max-width:980px}
.story-body{min-width:0;max-width:660px}
.story-rail{position:sticky;top:72px}
.story-rail .rail-block{margin-bottom:26px}
.story-rail .rail-block .sec{margin-top:0}
.story-rail ol.sources{font-size:.8rem}
.story-rail ol.sources li{padding:8px 0 8px 26px}
.story-rail ol.sources li::before{top:9px}
.story-rail .subj-link{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;
  font-size:1.04rem;line-height:1.2;letter-spacing:.015em;color:var(--ink);display:block}
.story-rail .subj-link:hover{color:var(--wire-ink)}
@media(max-width:980px){
  .story-grid{grid-template-columns:1fr;max-width:680px}
  .story-rail{position:static;margin-top:36px;border-top:2px solid var(--wire);padding-top:14px}
  .story-rail ol.sources{font-size:.86rem}
}
@media print{.story-grid{grid-template-columns:1fr}.story-rail{position:static}}
article.story .eyebrow{display:inline-block;margin-bottom:.5em}
article.story h1{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;
  font-size:clamp(1.85rem,5vw,2.6rem);line-height:1.1;letter-spacing:.01em;margin:.05em 0 .35em;
  text-wrap:balance}
.byline{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.03em;color:var(--muted);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:11px 0;margin-bottom:6px}
.byline .live{color:var(--wire-ink);font-weight:500}
.subjline{font-family:var(--f-mono);font-size:.72rem;color:var(--muted);margin:14px 0 26px}
.subjline a{color:var(--wire-ink);text-decoration:underline;text-underline-offset:2px}
figure.hero{margin:18px 0 4px}
figure.hero img{display:block;width:100%;height:auto;border-radius:3px;
  border:1px solid var(--rule);background:var(--rule)}
figure.hero figcaption{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);margin-top:6px}
figure.hero figcaption a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.body{font-size:1.14rem;line-height:1.66}
.body p{margin:1.05em 0}
.body>p:first-of-type{margin-top:.2em}
.body>p:first-of-type::first-letter{font-family:var(--f-display);font-weight:600;
  float:left;font-size:2.7em;line-height:.9;
  padding:.06em .12em 0 0;color:var(--wire-ink)}
.body a{color:var(--wire-ink)}
.body code{font-family:var(--f-mono);font-size:.82em;background:var(--wire-tint);
  padding:.08em .32em;border-radius:3px}
.why-box{margin:30px 0;border-top:2px solid var(--wire);border-bottom:1px solid var(--rule);padding:16px 0}
.why-box b{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--wire-ink);font-weight:500;display:block;margin-bottom:6px}
.why-box p{font-size:1.05rem;line-height:1.5;margin:0;color:var(--ink)}
h3.sec{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--muted);font-weight:500;margin:34px 0 10px}
ol.sources{list-style:none;counter-reset:s;padding:0;margin:0;font-size:.92rem}
ol.sources li{counter-increment:s;position:relative;padding:10px 0 10px 30px;
  border-bottom:1px solid var(--rule);font-family:var(--f-body)}
ol.sources li::before{content:counter(s);position:absolute;left:0;top:11px;font-family:var(--f-mono);
  font-size:.66rem;color:var(--wire-ink);font-weight:500}
ol.sources a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;
  text-decoration-color:var(--rule-strong)}
ol.sources a:hover{text-decoration-color:var(--wire)}
ol.sources .src-date{font-family:var(--f-mono);font-size:.66rem;color:var(--muted);margin-left:.5em}

/* ---- in-subject prev/next ---- */
.subjnav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:40px 0 0;
  border-top:1px solid var(--rule-strong);padding-top:18px}
.subjnav a{display:block}
.subjnav .dir{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--wire-ink);display:block;margin-bottom:4px}
.subjnav .t{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;font-size:1rem;
  line-height:1.16;color:var(--ink)}
.subjnav a:hover .t{color:var(--wire-ink)}
.subjnav .next{text-align:right}
.subjnav .placeholder{color:var(--muted)}

.banner{border:1px solid var(--wire);background:var(--wire-tint);padding:11px 14px;border-radius:3px;
  font-family:var(--f-mono);font-size:.72rem;line-height:1.5;color:var(--ink);margin:0 0 24px}
.backlink{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--wire-ink);display:block;margin-bottom:22px}
.backlink:hover{color:var(--wire)}

/* ---- subject page: standfirst, coverage, timeline ---- */
.standfirst{font-family:var(--f-display);font-optical-sizing:auto;font-weight:400;
  font-size:clamp(1.2rem,2.6vw,1.42rem);line-height:1.42;color:var(--ink);
  margin:4px 0 18px;text-wrap:pretty;max-width:40ch;max-width:38em}
.coverage{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;
  margin:16px 0 4px;padding-bottom:20px;border-bottom:1px solid var(--rule)}
.cov-label{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--muted)}
.cov-chips{display:flex;flex-wrap:wrap;gap:6px}
.cov-chip{font-family:var(--f-mono);font-size:.66rem;color:var(--ink-soft);
  border:1px solid var(--rule-strong);border-radius:3px;padding:2px 7px;white-space:nowrap}
.sigband{position:relative;height:58px;margin:8px 0 18px;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.sigband .sigfield{position:absolute;inset:0;width:100%;height:100%;opacity:.32}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sigband .sigfield{opacity:.42}}
:root[data-theme=dark] .sigband .sigfield{opacity:.42}
@media print{.sigband{display:none}}
ol.tl{list-style:none;padding:0;margin:8px 0 0}
ol.tl li{position:relative;padding:0 0 26px 28px;border-left:2px solid var(--rule-strong)}
ol.tl li::before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;
  border-radius:50%;background:var(--paper);border:2px solid var(--wire)}
ol.tl li:first-child::before{width:12px;height:12px;left:-7px;background:var(--wire)}
ol.tl li:last-child{border-left-color:transparent;padding-bottom:4px}
ol.tl time{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tl-badge{font-size:.9em;letter-spacing:.1em;color:var(--wire-ink);
  border:1px solid color-mix(in srgb,var(--wire) 40%,transparent);border-radius:3px;padding:0 5px}
.tl-badge.first{color:var(--muted);border-color:var(--rule-strong)}
ol.tl a.h{display:block;font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;
  font-size:1.28rem;line-height:1.14;letter-spacing:.01em;margin:5px 0 5px;color:var(--ink)}
ol.tl a.h:hover{color:var(--wire-ink)}
ol.tl p{font-size:.95rem;color:var(--ink-soft);margin:0}
ol.tl .tl-m{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--muted);display:block;margin-top:5px}
ul.rel{list-style:none;padding:0;margin:6px 0 0}
ul.rel li{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:11px 0;border-top:1px solid var(--rule)}
ul.rel a{font-family:var(--f-display);font-optical-sizing:auto;font-weight:500;font-size:1.06rem;
  letter-spacing:.015em;color:var(--ink)}
ul.rel a:hover{color:var(--wire-ink)}
ul.rel span{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap}

footer.site{border-top:2px solid var(--ink);margin-top:60px}
footer.site .shell{padding-top:20px;padding-bottom:40px;font-family:var(--f-mono);font-size:.66rem;
  line-height:1.9;color:var(--muted);letter-spacing:.02em}
footer.site a:hover{color:var(--wire-ink)}
footer.site .foot-fine{color:var(--rule-strong)}
.lede{font-size:1.05rem;color:var(--ink-soft);max-width:58ch}

@media(max-width:640px){
  .nameplate{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 14px;text-align:center}
  .nameplate .wordmark{flex-basis:100%;order:-1;font-size:2.1rem}
  .nameplate .np-side{justify-self:center}
  .nameplate .np-date,.nameplate .np-ed{text-align:center;font-size:.58rem}
  nav.sections .shell{gap:0}
}
@media(max-width:720px){
  body{font-size:17px}
  .two{grid-template-columns:1fr}
  .two article{padding:20px 0;border-right:0;border-bottom:1px solid var(--rule)}
  .two article:last-child{padding-left:0}
  .filerow{grid-template-columns:1fr;gap:5px}
  .filerow time{order:-1}
  .lead h2{font-size:clamp(1.7rem,7.5vw,2.15rem)}
}

/* ---- scroll-driven: reveal panels as they enter, wire progress on reads ---- */
.read-progress{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--wire);
  transform:scaleX(0);transform-origin:0 50%;z-index:60;opacity:.9}
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .two article,.filerow,.subrow,ol.tl>li{
      animation:wire-rise linear both;
      animation-timeline:view();
      animation-range:cover 0% cover 24%;
    }
    @keyframes wire-rise{
      from{opacity:0;transform:translateY(20px)}
      to{opacity:1;transform:none}
    }
  }
  @supports (animation-timeline:scroll()){
    .read-progress{animation:wire-grow linear both;animation-timeline:scroll(root block)}
    @keyframes wire-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  }
}

/* ---- print: a clean broadsheet, no chrome ---- */
@media print{
  :root{--paper:#fff;--ink:#000;--ink-soft:#1a1a1a;--muted:#555;--rule:#ccc;
    --rule-strong:#999;--wire:#000;--wire-ink:#000;--wire-tint:transparent}
  nav.sections,.wire-strip,.read-progress,.front-rail,.subjnav,.backlink,
  .banner,footer.site .shell a{display:none!important}
  header.mast{border-bottom:2px solid #000}
  .front{grid-template-columns:1fr;border-bottom:2px solid #000}
  .front-main{border-right:0;padding-right:0}
  a{color:#000;text-decoration:none}
  .body a[href^="http"]::after{content:" <" attr(href) ">";font-size:.8em;color:#555;word-break:break-all}
  article.story,.section-block,.lead,ol.tl li,ol.sources li{break-inside:avoid}
  h1,h2,h3{break-after:avoid}
  body{font-size:11pt}
  .shell{max-width:none;padding:0}
}