:root {
  color-scheme: light;
  --ink: #101b22;
  --ink-soft: #26343a;
  --paper: #f3efe7;
  --paper-deep: #e4ddd1;
  --white: #fffaf3;
  --line: #c9c0b2;
  --muted: #6d756f;
  --air: #e2a04c;
  --signal: #51b4c5;
  --covert: #d65e4b;
  --cyber: #8075bb;
  --information: #6aa68e;
  --max: 1240px;
  --sans: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--paper); scroll-behavior: smooth; }
body { min-width: 320px; margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.55; overflow-x: hidden; }
a { color: inherit; text-underline-offset: .18em; }
button { font: inherit; }
::selection { color: var(--white); background: var(--covert); }

.shell { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; }
.skip-link { position: fixed; z-index: 20; top: 10px; left: 10px; padding: .65rem .9rem; color: var(--ink); background: var(--air); transform: translateY(-150%); transition: transform .15s ease; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--air); outline-offset: 4px; }

.hero { position: relative; isolation: isolate; color: var(--white); background: var(--ink); overflow: hidden; }
.hero::before { position: absolute; z-index: -1; inset: 0; content: ""; opacity: .56; background-image: linear-gradient(rgba(154, 196, 200, .11) 1px, transparent 1px), linear-gradient(90deg, rgba(154, 196, 200, .11) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(110deg, #000 0 50%, transparent 88%); }
.hero::after { position: absolute; z-index: -1; right: -14vw; bottom: -26vw; width: 62vw; height: 62vw; content: ""; border: 1px solid rgba(81, 180, 197, .28); border-radius: 50%; box-shadow: 0 0 0 48px rgba(81, 180, 197, .035), 0 0 0 96px rgba(81, 180, 197, .025); }
.topbar { display: flex; align-items: center; justify-content: space-between; min-height: 76px; border-bottom: 1px solid rgba(255, 250, 243, .2); }
.wordmark, .hero-nav a, .language-switch { color: var(--white); font-size: .7rem; font-weight: 700; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; }
.wordmark { white-space: nowrap; }
.topbar__right { display: flex; align-items: center; gap: 28px; }
.hero-nav { display: flex; gap: 22px; }
.hero-nav a { color: #cbd8d5; transition: color .15s ease; }
.hero-nav a:hover, .language-switch:hover { color: var(--air); }
.language-switch { display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .65rem; border: 1px solid rgba(255, 250, 243, .28); }

.hero-layout { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(340px, .98fr); gap: clamp(42px, 7vw, 118px); align-items: center; padding: clamp(82px, 11vw, 160px) 0 82px; }
.hero-copy { max-width: 690px; }
.eyebrow, .micro-label { margin: 0; color: var(--covert); font-size: .67rem; font-weight: 800; letter-spacing: .16em; line-height: 1.35; text-transform: uppercase; }
.eyebrow--light { color: var(--air); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 700; letter-spacing: -.055em; }
h1 { max-width: 8.5ch; margin: 1rem 0 1.5rem; color: var(--white); font-size: clamp(4rem, 8.3vw, 8.8rem); line-height: .86; }
.hero-deck { max-width: 40rem; margin-bottom: 1.8rem; color: #d7e0dc; font-family: var(--serif); font-size: clamp(1.15rem, 1.8vw, 1.46rem); line-height: 1.43; }
.hero-note { display: flex; align-items: center; gap: .65rem; max-width: 34rem; margin: 0; color: #a4b6b1; font-size: .74rem; letter-spacing: .055em; text-transform: uppercase; }
.note-dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--covert); box-shadow: 0 0 0 5px rgba(214, 94, 75, .15); }

.hero-schematic { position: relative; min-height: 405px; padding: 20px; border: 1px solid rgba(255, 250, 243, .28); background: rgba(16, 27, 34, .65); box-shadow: 18px 18px 0 rgba(255, 250, 243, .04); }
.schematic-meta, .schematic-footer { display: flex; align-items: center; justify-content: space-between; color: #a9c1bd; font-size: .65rem; font-weight: 800; letter-spacing: .13em; }
.schematic-meta { padding-bottom: 16px; border-bottom: 1px solid rgba(255, 250, 243, .2); }
.schematic-body { display: grid; grid-template-columns: 1fr 112px; min-height: 285px; }
.schematic-lanes { display: flex; flex-direction: column; justify-content: space-around; padding: 25px 0; }
.schematic-lane { display: grid; grid-template-columns: 26px minmax(60px, 1fr) minmax(92px, 120px); gap: 10px; align-items: center; color: #e9efe8; }
.schematic-lane__index { color: #839790; font-size: .65rem; font-weight: 800; }
.schematic-lane__line { position: relative; display: block; height: 2px; background: currentColor; }
.schematic-lane__line::after { position: absolute; right: -3px; top: -3px; width: 8px; height: 8px; content: ""; border: 2px solid currentColor; border-radius: 50%; background: var(--ink); }
.schematic-lane__label { font-size: .64rem; font-weight: 800; letter-spacing: .12em; }
.schematic-lane--air { color: var(--air); }
.schematic-lane--signal { color: var(--signal); }
.schematic-lane--covert { color: var(--covert); }
.schematic-lane--cyber { color: var(--cyber); }
.schematic-lane--information { color: var(--information); }
.schematic-center { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border-left: 1px solid rgba(255, 250, 243, .28); color: var(--air); text-align: center; }
.schematic-center__mark { display: grid; place-items: center; width: 46px; height: 46px; color: var(--ink); border-radius: 50%; background: var(--air); font-size: 1.6rem; }
.schematic-center strong { font-size: .75rem; letter-spacing: .15em; }
.schematic-center small { color: #a9c1bd; font-size: .57rem; letter-spacing: .12em; }
.schematic-footer { padding-top: 16px; border-top: 1px solid rgba(255, 250, 243, .2); }

.hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 250, 243, .22); border-bottom: 1px solid rgba(255, 250, 243, .22); }
.hero-stat { min-height: 154px; padding: 22px 26px 18px 0; border-right: 1px solid rgba(255, 250, 243, .22); }
.hero-stat + .hero-stat { padding-left: 26px; }
.hero-stat:last-child { border-right: 0; }
.hero-stat strong { display: block; margin-bottom: 8px; color: var(--air); font-family: var(--serif); font-size: clamp(2.4rem, 4vw, 4.2rem); letter-spacing: -.06em; line-height: .9; }
.hero-stat span { display: block; max-width: 18rem; color: #d3ded9; font-size: .75rem; line-height: 1.4; }
.hero-stat small { display: block; margin-top: 12px; color: #849691; font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.hero-stat--editorial strong { color: var(--signal); }
.scroll-cue { display: inline-flex; align-items: center; gap: 12px; margin: 22px 0 30px; color: #a9c1bd; font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.scroll-cue__line { display: block; width: 42px; height: 1px; background: var(--air); }

.section { padding: clamp(78px, 10vw, 148px) 0; }
.section--paper { background: var(--paper); }
.section--blueprint { background: var(--paper-deep); }
.section--ink { color: var(--white); background: var(--ink); }
.section--red { color: var(--white); background: var(--covert); }
.section--night { color: var(--white); background: #16252d; }
.intro-grid, .clocks-grid, .handoff-grid, .ending-grid { display: grid; grid-template-columns: minmax(210px, .7fr) minmax(0, 1.3fr); gap: clamp(36px, 8vw, 128px); }
.section-heading--wide { max-width: 850px; }
h2 { max-width: 12ch; margin: .7rem 0 1.2rem; font-size: clamp(3rem, 6.2vw, 6.8rem); line-height: .9; }
.section-lead, .lead { max-width: 47rem; margin-bottom: 0; font-family: var(--serif); font-size: clamp(1.2rem, 2.1vw, 1.65rem); line-height: 1.43; }
.section-lead--light { color: #d9e3de; }
.section-rule { width: 100%; height: 1px; margin: 32px 0 22px; background: var(--line); }
.section-aside { max-width: 31rem; margin: 0; color: var(--muted); font-size: .9rem; }
.facts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 72px; background: var(--line); }
.fact-card { min-height: 210px; padding: 25px; background: var(--paper); }
.fact-card p { max-width: 20rem; margin: 38px 0 0; font-family: var(--serif); font-size: 1.12rem; line-height: 1.45; }
.fact-card--documented .micro-label { color: var(--signal); }
.fact-card--attributed .micro-label { color: var(--covert); }
.fact-card--unknown .micro-label { color: var(--cyber); }

.lane-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 66px; }
.domain-card { position: relative; min-height: 300px; padding: 18px; border: 1px solid rgba(16, 27, 34, .18); background: rgba(255, 250, 243, .36); overflow: hidden; }
.domain-card::after { position: absolute; right: -48px; bottom: -58px; width: 150px; height: 150px; content: ""; border: 1px solid currentColor; border-radius: 50%; opacity: .35; }
.domain-card__top { display: flex; justify-content: space-between; align-items: baseline; color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .13em; }
.domain-card h3 { max-width: 8ch; margin: 64px 0 14px; font-family: var(--serif); font-size: 1.8rem; line-height: .95; letter-spacing: -.04em; }
.domain-card p { position: relative; z-index: 1; max-width: 13rem; margin-bottom: 0; color: var(--ink-soft); font-size: .83rem; line-height: 1.45; }
.domain-card--air { color: var(--air); }
.domain-card--signal { color: #2495a7; }
.domain-card--covert { color: var(--covert); }
.domain-card--cyber { color: var(--cyber); }
.domain-card--information { color: var(--information); }
.domain-swatch { position: absolute; right: 18px; bottom: 18px; width: 22px; height: 22px; border: 4px solid currentColor; border-radius: 50%; }
.lane-note { display: flex; justify-content: space-between; gap: 30px; margin-top: 16px; padding: 20px 0 0; border-top: 1px solid var(--line); color: var(--muted); }
.lane-note p { margin: 0; font-size: .78rem; }

.section-heading--light .section-lead { color: #d9e3de; }
.timeline-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 56px 0 20px; }
.window-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.js-only { display: none; }
html[data-js="true"] .js-only { display: flex; }
.window-control { padding: 9px 13px; color: #bfcfc9; border: 1px solid rgba(255, 250, 243, .28); border-radius: 999px; background: transparent; cursor: pointer; font-size: .68rem; font-weight: 800; letter-spacing: .09em; }
.window-control:hover, .window-control.is-active { color: var(--ink); border-color: var(--air); background: var(--air); }
.window-status { margin: 0; color: #8fa59f; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.no-js-note { margin: 0; color: #8fa59f; font-size: .73rem; }
html[data-js="true"] .no-js-note { display: none; }
.timeline-list { display: grid; gap: 14px; }
.event-card { padding: 23px; color: var(--ink); border-left: 6px solid var(--signal); background: var(--paper); }
.event-card--air { border-left-color: var(--air); }
.event-card--signal { border-left-color: var(--signal); }
.event-card--covert { border-left-color: var(--covert); }
.event-card--cyber { border-left-color: var(--cyber); }
.event-card--information { border-left-color: var(--information); }
.event-card[hidden] { display: none; }
.event-card__header { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.event-card__header > div { display: flex; align-items: baseline; gap: 16px; }
.event-date { font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.event-domain { color: var(--muted); font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.relationship { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: .61rem; font-weight: 800; letter-spacing: .09em; text-align: right; text-transform: uppercase; }
.relationship i { display: block; width: 9px; height: 9px; border: 2px solid currentColor; border-radius: 50%; }
.relationship--explicit { color: var(--covert); }
.relationship--paired { color: var(--information); }
.relationship--reported { color: #2495a7; }
.relationship--legal { color: var(--cyber); }
.relationship--separate { color: var(--muted); }
.event-card__title { display: grid; grid-template-columns: minmax(180px, .62fr) minmax(0, 1.38fr); gap: 28px; align-items: start; margin: 24px 0 22px; }
.event-card h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.6rem, 2.6vw, 2.55rem); line-height: .95; letter-spacing: -.045em; }
.event-card__title p { margin: 0; color: var(--ink-soft); font-family: var(--serif); font-size: 1rem; line-height: 1.45; }
.evidence-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); }
.evidence-step { min-height: 145px; padding: 15px; background: var(--white); }
.evidence-step__label { display: block; margin-bottom: 18px; color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .12em; }
.evidence-step p { margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.45; }
.evidence-step--observed { border-top: 4px solid var(--signal); }
.evidence-step--attributed { border-top: 4px solid var(--covert); }
.evidence-step--response { border-top: 4px solid var(--air); }
.event-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 19px; }
.status-tag { color: var(--ink); font-size: .62rem; font-weight: 800; letter-spacing: .11em; }
.source-chips { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.source-chip { color: var(--ink-soft); font-size: .65rem; font-weight: 800; letter-spacing: .06em; text-decoration: none; }
.source-chip:hover { color: var(--covert); text-decoration: underline; }
.relationship-note { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px; align-items: center; margin-top: 28px; padding: 22px 0 0; border-top: 1px solid rgba(255, 250, 243, .22); color: #a9bbb5; }
.relationship-note p { max-width: 56rem; margin: 8px 0 0; font-size: .82rem; line-height: 1.5; }
.relationship-key { display: flex; gap: 17px; color: #a9bbb5; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.relationship-key span { display: flex; align-items: center; gap: 8px; }
.relationship-key__line { display: block; width: 28px; height: 2px; background: var(--air); }
.relationship-key__line--open { background: linear-gradient(90deg, var(--covert) 0 35%, transparent 35% 65%, var(--covert) 65%); }

.response-rail { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 64px; }
.response-task { position: relative; min-height: 260px; padding: 18px; border: 1px solid var(--line); background: rgba(255, 250, 243, .5); }
.response-task:not(:last-child)::after { position: absolute; z-index: 1; top: 31px; right: -20px; width: 28px; height: 1px; content: ""; background: var(--covert); }
.response-task:not(:last-child)::before { position: absolute; z-index: 2; top: 27px; right: -20px; width: 8px; height: 8px; content: ""; border-top: 1px solid var(--covert); border-right: 1px solid var(--covert); transform: rotate(45deg); }
.response-task__top { display: flex; justify-content: space-between; align-items: baseline; }
.response-task__number { color: var(--muted); font-size: .65rem; font-weight: 800; }
.response-task h3 { min-height: 57px; margin: 74px 0 12px; font-family: var(--serif); font-size: 1.65rem; line-height: .94; letter-spacing: -.04em; }
.response-task p { min-height: 97px; margin: 0; color: var(--ink-soft); font-size: .83rem; line-height: 1.45; }
.response-task footer { display: flex; align-items: baseline; gap: 7px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: .64rem; text-transform: uppercase; }
.response-task footer strong { color: var(--covert); font-family: var(--serif); font-size: 1.55rem; line-height: 1; }
.response-task--detect { border-top: 5px solid var(--signal); }
.response-task--assess { border-top: 5px solid var(--cyber); }
.response-task--attribute { border-top: 5px solid var(--covert); }
.response-task--explain { border-top: 5px solid var(--information); }
.response-task--decide { border-top: 5px solid var(--air); }
.rail-foot { display: flex; gap: 16px; margin: 18px 0 0; color: var(--muted); font-size: .76rem; }

.section--red .eyebrow { color: #261715; }
.section--red .section-lead { color: #fff0e8; }
.case-control { display: flex; align-items: center; gap: 18px; margin: 52px 0 24px; }
.caption-toggle { padding: 12px 17px; color: var(--white); border: 1px solid rgba(255, 250, 243, .55); background: transparent; cursor: pointer; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.caption-toggle:hover, .caption-toggle[aria-expanded="true"] { color: var(--ink); border-color: var(--air); background: var(--air); }
.case-control span { color: #ffd9c8; font-size: .78rem; }
.case-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.case-plate { min-height: 330px; padding: 24px; color: var(--ink); background: var(--paper); }
.case-plate--attempt { border-top: 8px solid var(--ink); }
.case-plate--fire { border-top: 8px solid var(--air); }
.case-plate__top { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: .66rem; font-weight: 800; letter-spacing: .13em; }
.case-plate__top i { width: 15px; height: 15px; border: 3px solid currentColor; border-radius: 50%; }
.case-plate h3 { max-width: 10ch; margin: 74px 0 14px; font-family: var(--serif); font-size: clamp(2rem, 4vw, 4rem); line-height: .88; letter-spacing: -.055em; }
.case-plate p { max-width: 32rem; margin-bottom: 24px; color: var(--ink-soft); font-family: var(--serif); font-size: 1rem; line-height: 1.46; }
.case-plate__status { display: flex; flex-direction: column; gap: 4px; padding-top: 15px; border-top: 1px solid var(--line); }
.case-plate__status strong { font-size: .75rem; }
.caption-layer { margin-top: 14px; padding: 22px 24px; color: var(--ink); background: var(--air); opacity: .68; transition: opacity .2s ease, transform .2s ease; }
.caption-layer.is-revealed { opacity: 1; transform: translateX(8px); }
.caption-layer__top { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; }
.caption-layer__top span:last-child { font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.caption-layer p { max-width: 54rem; margin: 20px 0 0; font-family: var(--serif); font-size: clamp(1.25rem, 2.5vw, 2rem); line-height: 1.08; }
.case-distinction { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 18px 0 0; color: #ffe0d5; font-size: .84rem; }
.case-distinction > span:first-child { color: var(--air); font-size: 1.4rem; }
.case-source { margin-left: auto; color: #2a1b18; font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.clocks-grid { align-items: start; }
.clock-line { display: grid; grid-template-columns: 1fr 70px 1fr; align-items: center; margin: 40px 0 20px; }
.clock-point { min-height: 175px; padding: 20px; border: 1px solid var(--line); background: rgba(255, 250, 243, .42); }
.clock-point strong { display: block; margin: 25px 0 8px; color: var(--ink); font-family: var(--serif); font-size: 2rem; letter-spacing: -.04em; }
.clock-point p { margin: 0; color: var(--ink-soft); font-size: .8rem; }
.clock-point--amber { border-top: 6px solid var(--air); }
.clock-point--blue { border-top: 6px solid var(--signal); }
.clock-connector { height: 1px; background: var(--ink); }
.clock-note { margin: 0; color: var(--muted); font-size: .8rem; }
.clock-note a { color: var(--ink-soft); font-weight: 800; }

.handoff-grid { align-items: start; }
.handoff-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0; padding: 0; list-style: none; background: var(--line); }
.handoff-step { min-height: 190px; padding: 20px; background: rgba(255, 250, 243, .42); }
.handoff-step__number { display: block; color: var(--covert); font-family: var(--serif); font-size: 2.2rem; line-height: 1; }
.handoff-step strong { display: block; margin: 48px 0 7px; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.handoff-step p { margin: 0; color: var(--ink-soft); font-family: var(--serif); font-size: .98rem; line-height: 1.3; }

.ending-grid { align-items: start; }
.ending-grid h2 { color: var(--white); }
.ending-lead { max-width: 40rem; color: #d7e0dc; font-family: var(--serif); font-size: clamp(1.35rem, 2.5vw, 2rem); line-height: 1.3; }
.ending-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 45px 0 20px; padding: 0; list-style: none; background: rgba(255, 250, 243, .2); }
.ending-steps li { display: flex; gap: 16px; min-height: 105px; padding: 17px; background: rgba(16, 27, 34, .44); }
.ending-steps span { color: var(--air); font-size: .7rem; font-weight: 800; }
.ending-steps p { margin: 0; color: #e1ebe5; font-family: var(--serif); font-size: 1rem; line-height: 1.25; }
.ending-note { margin: 0; color: #a9bbb5; font-size: .78rem; }

.section--sources { padding-bottom: 84px; }
.source-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 62px; }
.source-card { min-height: 250px; padding: 18px; border: 1px solid var(--line); background: rgba(255, 250, 243, .42); }
.source-card .micro-label { color: var(--muted); }
.source-card h3 { min-height: 70px; margin: 50px 0 13px; font-family: var(--serif); font-size: 1.35rem; line-height: .98; letter-spacing: -.035em; }
.source-card p { min-height: 48px; margin-bottom: 23px; color: var(--muted); font-size: .76rem; line-height: 1.4; }
.source-card a { color: var(--covert); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.source-card a:hover { text-decoration: underline; }
.sources-lower { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-top: 55px; padding-top: 20px; border-top: 1px solid var(--line); }
.limits-list { margin: 15px 0 0; padding: 0; list-style: none; }
.limits-list li { position: relative; margin: 0 0 11px; padding-left: 20px; color: var(--ink-soft); font-size: .82rem; }
.limits-list li::before { position: absolute; left: 0; top: .65em; width: 7px; height: 2px; content: ""; background: var(--covert); }
.method-copy { max-width: 34rem; margin: 15px 0 0; color: var(--ink-soft); font-family: var(--serif); font-size: 1rem; line-height: 1.45; }
.updated-line { margin: 18px 0 0; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.source-note { margin: 45px 0 0; padding: 15px 0 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .8rem; }

.site-footer { color: #a9bbb5; background: var(--ink); }
.footer-grid { display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; padding: 34px 0 45px; }
.footer-credit { color: var(--white); font-family: var(--serif); font-size: 1.15rem; text-decoration: none; }
.footer-credit span { color: var(--air); }
.footer-grid p { margin: 8px 0 0; font-size: .72rem; letter-spacing: .04em; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 20px; }
.footer-links a { color: #cbd8d5; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.footer-links a:hover { color: var(--air); }

@media (max-width: 1000px) {
  .hero-layout { grid-template-columns: 1fr; }
  .hero-copy { max-width: 50rem; }
  .hero-schematic { max-width: 650px; }
  .lane-grid { grid-template-columns: repeat(3, 1fr); }
  .domain-card { min-height: 250px; }
  .response-rail { grid-template-columns: repeat(3, 1fr); }
  .response-task:not(:last-child)::after, .response-task:not(:last-child)::before { display: none; }
  .source-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 760px) {
  .shell { width: min(calc(100% - 30px), var(--max)); }
  .topbar { align-items: flex-start; min-height: 70px; padding: 18px 0; }
  .topbar__right { gap: 12px; }
  .hero-nav { display: none; }
  .hero-layout { gap: 44px; padding: 78px 0 60px; }
  h1 { max-width: 8ch; font-size: clamp(3.7rem, 18vw, 6.3rem); }
  .hero-schematic { min-height: 340px; padding: 14px; }
  .schematic-body { grid-template-columns: 1fr 90px; min-height: 235px; }
  .schematic-lane { grid-template-columns: 20px minmax(30px, 1fr) 76px; gap: 6px; }
  .schematic-lane__label { font-size: .55rem; letter-spacing: .08em; }
  .schematic-center__mark { width: 38px; height: 38px; font-size: 1.2rem; }
  .schematic-center strong { font-size: .62rem; }
  .schematic-center small { font-size: .48rem; }
  .hero-stats { grid-template-columns: 1fr; }
  .hero-stat, .hero-stat + .hero-stat { min-height: auto; padding: 20px 0; border-right: 0; border-bottom: 1px solid rgba(255, 250, 243, .22); }
  .hero-stat:last-child { border-bottom: 0; }
  .hero-stat strong { display: inline-block; width: 86px; margin: 0; vertical-align: top; }
  .hero-stat span { display: inline-block; max-width: calc(100% - 95px); vertical-align: top; }
  .hero-stat small { margin: 8px 0 0 91px; }
  .intro-grid, .clocks-grid, .handoff-grid, .ending-grid { grid-template-columns: 1fr; gap: 28px; }
  h2 { max-width: 10ch; font-size: clamp(3rem, 15vw, 5rem); }
  .facts-grid { grid-template-columns: 1fr; margin-top: 50px; }
  .fact-card { min-height: 0; }
  .fact-card p { margin-top: 24px; }
  .lane-grid { grid-template-columns: repeat(2, 1fr); margin-top: 45px; }
  .domain-card { min-height: 260px; padding: 15px; }
  .domain-card h3 { margin-top: 52px; }
  .lane-note { display: block; }
  .lane-note p { margin-top: 10px; }
  .timeline-toolbar { display: block; margin-top: 40px; }
  html[data-js="true"] .window-controls { display: flex; }
  .window-status { margin-top: 14px; }
  .event-card { padding: 18px; }
  .event-card__header { display: block; }
  .event-card__header > div { display: block; }
  .event-domain { display: block; margin-top: 6px; }
  .relationship { margin-top: 14px; text-align: left; }
  .event-card__title { display: block; margin: 22px 0; }
  .event-card h3 { max-width: 13ch; margin-bottom: 16px; }
  .evidence-track { grid-template-columns: 1fr; }
  .evidence-step { min-height: 0; }
  .evidence-step__label { margin-bottom: 8px; }
  .event-card__footer { display: block; }
  .source-chips { justify-content: flex-start; margin-top: 12px; }
  .relationship-note { display: block; }
  .relationship-key { margin-top: 17px; }
  .response-rail { grid-template-columns: 1fr; margin-top: 44px; }
  .response-task { min-height: 0; }
  .response-task h3 { min-height: 0; margin: 42px 0 12px; }
  .response-task p { min-height: 0; }
  .response-task footer { margin-top: 22px; }
  .rail-foot { display: block; }
  .rail-foot .micro-label { display: block; margin-bottom: 8px; }
  .case-control { display: block; margin-top: 40px; }
  .case-control span { display: block; margin-top: 12px; }
  .case-grid { grid-template-columns: 1fr; }
  .case-plate { min-height: 0; }
  .case-plate h3 { margin-top: 52px; }
  .caption-layer.is-revealed { transform: translateX(0); }
  .caption-layer__top { display: block; }
  .caption-layer__top span:last-child { display: block; margin-top: 14px; }
  .case-source { width: 100%; margin: 6px 0 0; }
  .clock-line { grid-template-columns: 1fr; gap: 12px; }
  .clock-connector { width: 1px; height: 30px; margin-left: 28px; }
  .handoff-list { grid-template-columns: 1fr; }
  .handoff-step { min-height: 0; }
  .handoff-step strong { margin-top: 28px; }
  .ending-steps { grid-template-columns: 1fr; margin-top: 30px; }
  .source-grid { grid-template-columns: 1fr; margin-top: 45px; }
  .source-card { min-height: 0; }
  .source-card h3, .source-card p { min-height: 0; }
  .sources-lower { grid-template-columns: 1fr; gap: 38px; }
  .footer-grid { display: block; }
  .footer-links { justify-content: flex-start; margin-top: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
