/* End Hazing in Medicine — warm editorial skin. Zero deps. OKLCH throughout.
   Tier 1 primitives (raw) -> Tier 2 aliases (intent, what components read) -> Tier 3 component.
   Values carried exactly from the approved gate slice (site-preview/slice.css). */
/* Self-hosted latin subsets (from Google Fonts css2 API, Chrome UA, 2026-09-30).
   Both families are variable files: one Fraunces file serves 600+700, one Source Sans 3 file serves 400+600+700+800. */
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/fraunces-opsz-wght-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/fraunces-opsz-wght-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/sourcesans3-wght-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/sourcesans3-wght-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/sourcesans3-wght-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/sourcesans3-wght-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  /* Tier 1 — color primitives: one clay ramp + warm neutrals + amber accent */
  --clay-950: oklch(0.26 0.055 52);
  --clay-800: oklch(0.38 0.09 50);
  --clay-700: oklch(0.47 0.115 48);
  --clay-100: oklch(0.93 0.035 75);
  --canvas: oklch(0.957 0.018 88);
  --surface: oklch(0.993 0.006 92);
  --ink: oklch(0.27 0.025 65);
  --muted: oklch(0.52 0.03 70);
  --line: oklch(0.85 0.02 85);
  --amber: oklch(0.78 0.12 80);
  --cream: oklch(0.985 0.01 90);
  /* Tier 1 — type primitives: 2 families, modular steps */
  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Source Sans 3", system-ui, sans-serif;
  --text-xs: 0.85rem;
  --text-sm: 0.95rem;
  --text-base: 1.02rem;
  --text-lg: clamp(1.15rem, 2.4vw, 1.35rem);
  --text-xl: clamp(1.4rem, 3.4vw, 1.9rem);
  --text-2xl: clamp(1.5rem, 3.4vw, 2.1rem);
  --text-display: clamp(2rem, 5.2vw, 3.4rem);
  --text-quote: clamp(1.35rem, 3.6vw, 1.9rem);
  /* Tier 1 — radii + motion + depth */
  --r-2xs: 2px;
  --r-xs: 4px;
  --r-s: 8px;
  --r-m: 12px;
  --r-l: 20px;
  --r-pill: 999px;
  --dur-fast: 150ms;
  --dur-base: 300ms;
  --dur-slow: 500ms;
  --dur-bar: 900ms;
  --ease-out: cubic-bezier(0.2, 0, 0, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --z-sticky: 30;
  --z-progress: 60;
  /* Tier 1 — spacing scale (4pt base) + rhythm + depth */
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 48px;
  --space-xl: 96px;
  --section-gap: clamp(3rem, 7vw, 5rem);
  --shadow-lift: 0 10px 30px oklch(0.26 0.055 52 / 0.14);
  /* Tier 2 — semantic aliases (components read these, never Tier 1) */
  --bg-base: var(--canvas);
  --bg-raised: var(--surface);
  --bg-tint: var(--clay-100);
  --fg-default: var(--ink);
  --fg-muted: var(--muted);
  --fg-figure: var(--clay-800);
  --brand: var(--clay-700);
  --brand-deep: var(--clay-800);
  --chrome: var(--clay-950);
  --on-chrome: var(--cream);
  --accent-warm: var(--amber);
  --border: var(--line);
  --focus: var(--clay-700);
  --focus-on-dark: var(--amber);
  /* Tier 3 — component tokens */
  --btn-bg: var(--brand);
  --btn-fg: var(--on-chrome);
  --crisis-bg: var(--accent-warm);
  --crisis-fg: var(--chrome);
  --bar-track: var(--bg-tint);
  --bar-fill: var(--brand-deep);
  --bar-fill-hot: var(--brand);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-base);color:var(--fg-default);
  font-family:var(--font-body);font-size:1.1rem;line-height:1.65;
  font-kerning:normal;font-optical-sizing:auto}
::selection{background:var(--bg-tint);color:var(--chrome)}
img{max-width:100%}
h1,h2{font-family:var(--font-display);font-weight:600;line-height:1.12;
  letter-spacing:-0.01em;text-wrap:balance;margin:0 0 0.6em}
h1{font-size:var(--text-display)}
h2{font-size:var(--text-2xl)}
h3{font-family:var(--font-body);font-weight:700;font-size:var(--text-base);
  line-height:1.4;letter-spacing:0;margin:0 0 0.6em;text-wrap:balance}
p{margin:0 0 1em;max-width:64ch;text-wrap:pretty}
/* Dark-Type Compensation Rule: light-on-clay reads lighter; give it air. */
.band-clay p,.band-clay li,.story-feature p,.story-feature li,footer p{
  line-height:1.71;letter-spacing:0.01em}
a{color:var(--brand);text-underline-offset:3px;text-decoration-thickness:1.5px;
  transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--brand-deep)}
section[id],article[id]{scroll-margin-top:1.5rem}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-2xs)}
:is(.masthead,.band-clay,.story-feature,footer) :focus-visible{outline-color:var(--focus-on-dark)}
.num,.ledger-val,td,.bar-val{font-variant-numeric:tabular-nums}
.wrap{max-width:72rem;margin:0 auto;
  padding-left:calc(clamp(1rem,4vw,2.5rem) + env(safe-area-inset-left, 0px));
  padding-right:calc(clamp(1rem,4vw,2.5rem) + env(safe-area-inset-right, 0px))}
.hero>*,.band-grid>*,.story-duo>*,.foot-grid>*,.ledger-row>*{min-width:0}
.prose{max-width:64ch}
.skip{position:absolute;left:-999px;top:0;background:var(--chrome);color:var(--on-chrome);
  padding:0.7rem 1.2rem;z-index:99}
.skip:focus{left:0}

/* Masthead */
.masthead{background:var(--chrome);color:var(--on-chrome)}
.masthead-in{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.4rem 2rem;
  padding-top:1rem;padding-bottom:1rem}
.wordmark{font-family:var(--font-display);font-weight:600;font-size:1.45rem;
  color:var(--on-chrome);text-decoration:none;line-height:1.2;overflow-wrap:break-word}
.wordmark span{color:var(--accent-warm)}
.wordmark:hover{color:var(--accent-warm)}
.masthead nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;
  gap:0.15rem 1.1rem;font-size:1rem;font-weight:600}
.masthead nav a{color:var(--on-chrome);text-decoration:none;padding:0.5rem 0.1rem;min-height:44px;
  display:inline-flex;align-items:center;border-bottom:3px solid transparent;
  transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.masthead nav a:hover{color:var(--accent-warm)}
.masthead nav a[aria-current="page"]{border-bottom-color:var(--accent-warm)}

/* Hero */
.hero{display:grid;gap:2rem;padding:clamp(2rem,5vw,3.5rem) 0}
.hero-simple{display:block}
@media(min-width:55rem){.hero{grid-template-columns:1.05fr 0.95fr;align-items:center}}
.kicker{font-size:var(--text-xs);font-weight:700;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--brand);margin:0 0 1rem;
  display:flex;align-items:center;gap:0.8rem}
.kicker::after{content:"";height:3px;width:4rem;background:var(--brand)}
/* Homepage photo hero: committed tint panel (live variant B, 2026-09-30). */
.hero:not(.hero-simple){background:var(--bg-tint);border-radius:var(--r-l);
  padding:clamp(1.6rem,4vw,2.8rem)}
.hero:not(.hero-simple) h1{font-size:clamp(2.2rem,5.6vw,3.8rem)}
.lede{font-size:var(--text-lg);line-height:1.55;text-wrap:pretty}
.hero-simple .lede{max-width:56ch}
.hero-cta{margin-top:1.6rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}
.hero-cta .textlink{font-weight:700}
.hero-photo,.band-photo{margin:0}
.hero-photo img,.band-photo img{display:block;width:100%;height:auto;border-radius:var(--r-l);
  aspect-ratio:4/3;object-fit:cover;background:var(--bg-tint)}
/* Split rails: prose + graphic side by side on wide screens, stacked below. */
.split{display:grid;gap:var(--section-gap) clamp(2rem,4vw,3.5rem);margin-block:var(--section-gap)}
.split>*{min-width:0}
.split>.rail{align-self:start}
.split>.rail figure{margin:0}
.split>.rail img,.split>.rail svg{display:block;width:100%;height:auto}
.split>.rail img{aspect-ratio:4/3;object-fit:cover;background:var(--bg-tint);border-radius:var(--r-l)}
.split .chart{background:var(--bg-tint);border-radius:var(--r-l);padding:clamp(1rem,2.5vw,1.5rem)}
.rail-stack{display:grid;gap:var(--space-lg)}
@media(min-width:55rem){.split{grid-template-columns:minmax(0,1fr) minmax(0,0.72fr)}.split.flip>.rail{order:-1}}
@media(min-width:55rem){.split.wide-rail{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
/* Full-width charts: duo side by side on wide screens, singles capped. Rails keep photos only. */
.chart-duo{display:grid;gap:var(--space-lg)}
@media(min-width:55rem){.chart-duo{grid-template-columns:1fr 1fr}}
.chart-wide{max-width:56rem;margin-inline:auto}
.chart-duo,.chart-wide{margin-block:var(--space-md)}
.chart-duo .chart,.chart-wide .chart{background:var(--bg-tint);border-radius:var(--r-l);padding:clamp(1rem,2.5vw,1.5rem)}
.chart-duo figure,.chart-wide figure{margin:0}
.chart-duo svg,.chart-wide svg{display:block;width:100%;height:auto}
/* Signature hero entrance: masked line-rise, homepage h1 only. Visible by
   default; .enter is added by JS only when motion is OK. */
@media(prefers-reduced-motion:no-preference){
  .hero-title.enter{animation:hero-rise var(--dur-slow) var(--ease-out-expo) both}
  @keyframes hero-rise{
    from{transform:translateY(0.55em);clip-path:inset(0 0 100% 0)}
    to{transform:translateY(0);clip-path:inset(0 0 0 0)}
  }
}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;
  padding:0.7rem 1.7rem;border-radius:var(--r-pill);
  background:var(--btn-bg);color:var(--btn-fg);
  font-weight:700;font-size:var(--text-base);text-decoration:none;border:2px solid var(--btn-bg);
  transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.btn:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:var(--btn-fg)}
.btn:active{transform:translateY(1px)}
.copy{font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;
  border:1.5px solid var(--brand);background:transparent;color:var(--brand);
  border-radius:var(--r-s);padding:0.45rem 0.9rem;min-height:44px;min-width:44px;cursor:pointer;
  margin-left:0.7rem;vertical-align:middle;
  transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.copy:hover{background:var(--brand);color:var(--on-chrome)}
.copy-standalone{margin-left:0}
.copy.copied{background:var(--brand-deep);color:var(--on-chrome);border-color:var(--brand-deep)}
.copy-on-dark{border-color:var(--on-chrome);color:var(--on-chrome)}
.copy-on-dark:hover{background:var(--on-chrome);color:var(--chrome);border-color:var(--on-chrome)}
.copy-on-dark.copied{background:var(--accent-warm);color:var(--chrome);border-color:var(--accent-warm)}

/* Ledger */
section{margin:var(--section-gap) 0}
main>div>section:first-child,main section:first-child{margin-top:var(--space-md)}
.ledger{background:var(--bg-raised);border:1px solid var(--border);
  border-radius:var(--r-l);margin:2rem 0;overflow:hidden}
.ledger-row{display:grid;grid-template-columns:1fr auto;gap:0.3rem 1.5rem;
  align-items:center;padding:1.1rem 1.4rem;border-bottom:1px solid var(--border);
  transition:background-color var(--dur-fast) var(--ease-out)}
.ledger-row:hover{background:var(--bg-tint)}
.ledger-row:last-child{border-bottom:none}
.ledger-row>span:last-child{display:flex;align-items:center;justify-content:flex-end}
.ledger-key{font-weight:600;font-size:var(--text-base)}
.ledger-val{font-weight:800;font-size:var(--text-xl);color:var(--fg-figure);white-space:nowrap}
.src{font-size:var(--text-sm);color:var(--fg-muted)}
.src a{font-weight:700}
.src a,.sources a,.crisis-in a,.pull figcaption a{overflow-wrap:anywhere}

/* Manifesto list (home proposals preview): ruled, staggered, not a grid */
.manifesto{list-style:none;margin:2rem 0;padding:0;border-top:3px solid var(--fg-default)}
.manifesto li{padding:1.1rem 0;border-bottom:1px solid var(--border);max-width:56ch}
/* Stagger removed 2026-09-30: even-item indent read as broken alignment on desktop. */
.manifesto strong{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);display:block}

/* Pull quote */
.pull{border:2px solid var(--brand-deep);border-radius:var(--r-m);
  padding:clamp(1.4rem,4vw,2.4rem);margin:2.5rem 0;background:var(--bg-raised);
  transition:box-shadow var(--dur-base) var(--ease-out)}
.pull:hover{box-shadow:var(--shadow-lift)}
.pull blockquote{margin:0;font-family:var(--font-display);font-weight:600;
  font-size:var(--text-xl);line-height:1.35;text-wrap:balance}
.pull figcaption{font-size:var(--text-sm);color:var(--fg-muted);margin-top:0.9rem}

/* Tables */
.table-scroll{overflow-x:auto;margin:1.5rem 0;border:1px solid var(--border);
  border-radius:var(--r-m);background:var(--bg-raised)}
table{border-collapse:collapse;width:100%;min-width:30rem;font-size:var(--text-base)}
caption{text-align:left;font-weight:700;padding:0.9rem 1.1rem;
  background:var(--brand-deep);color:var(--on-chrome);font-size:var(--text-base)}
th,td{text-align:left;padding:0.75rem 1.1rem;border-bottom:1px solid var(--border)}
th{background:var(--bg-tint);font-weight:700}
tr:last-child th,tr:last-child td{border-bottom:none}
tr.total th,tr.total td{background:var(--bg-tint);font-weight:800}
td.n,th.n{text-align:right;white-space:nowrap}

/* Recommendation band */
.band-clay{background:var(--chrome);color:var(--on-chrome);
  padding:clamp(2rem,5vw,3.5rem) 0;margin:var(--section-gap) 0}
.band-clay h2{color:var(--on-chrome)}
.band-clay p{color:var(--on-chrome)}
.band-grid{display:grid;gap:2rem}
@media(min-width:55rem){.band-grid{grid-template-columns:1fr 1fr;align-items:center}}
.band-clay a{color:var(--accent-warm);font-weight:700}
.band-clay a:hover{color:var(--on-chrome)}

.band-clay .calc li.result{color:var(--fg-default)}

/* Hour bars (data viz) */
.bars{list-style:none;margin:2rem 0;padding:0;display:grid;gap:1.1rem}
.bar-row{display:grid;grid-template-columns:minmax(9rem,15rem) 1fr auto;gap:0.6rem 1rem;align-items:center}
.bar-label{font-weight:700;font-size:var(--text-base)}
.bar{height:1.9rem;background:var(--bar-track);border:1px solid var(--brand-deep);border-radius:var(--r-xs);overflow:hidden}
.bar-fill{display:block;height:100%;width:var(--w);background:var(--bar-fill);transform-origin:left center}
.bar-fill.hot{background:var(--bar-fill-hot)}
.bar-val{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);white-space:nowrap;color:var(--fg-figure)}
@media(max-width:40rem){.bar-row{grid-template-columns:1fr}.bar-val{white-space:normal}}
@media(prefers-reduced-motion:no-preference){.bar-fill{transition:transform var(--dur-bar) var(--ease-out-expo)}}

/* Crisis box: pinned, full-bleed, amber. Never decorative motion here. */
.crisis-pin{position:sticky;top:0;z-index:var(--z-sticky);background:var(--crisis-bg);color:var(--crisis-fg);
  border-bottom:3px solid var(--crisis-fg)}
.crisis-in{padding:0.9rem clamp(1rem,4vw,2.5rem);max-width:72rem;margin:0 auto}
.crisis-in strong{font-size:var(--text-base)}
.crisis-in p{margin:0.2rem 0;font-size:var(--text-sm);max-width:none}
.crisis-in a{color:var(--crisis-fg);font-weight:800}
.crisis-actions{display:flex;flex-wrap:wrap;gap:0.5rem 0.7rem;margin-top:0.55rem}
.crisis-actions a{display:inline-flex;align-items:center;min-height:44px;padding:0.4rem 1.1rem;border:2px solid var(--crisis-fg);
  border-radius:var(--r-pill);text-decoration:none;font-weight:800;background:transparent}
.crisis-actions a:hover{background:var(--crisis-fg);color:var(--crisis-bg)}

/* Stat band */
.statband{border:1px solid var(--border);border-top:3px solid var(--fg-default);
  border-radius:var(--r-m);background:var(--bg-raised);
  padding:1.4rem clamp(1rem,3vw,1.6rem);margin:1.5rem 0}
.statband .fig{font-family:var(--font-display);font-weight:600;font-size:var(--text-display);line-height:1;display:block;color:var(--fg-figure)}
.statband p{margin:0.5rem 0 0}

/* Calc steps (overtime math): ordered ledger */
.calc{list-style:none;margin:1.5rem 0;padding:0;border-top:3px solid var(--fg-default)}
.calc li{display:flex;justify-content:space-between;gap:0.2rem 1rem;padding:0.7rem 1rem;border-bottom:1px solid var(--border);flex-wrap:wrap}
.calc li.result{font-weight:800;background:var(--bg-tint)}
.calc .n{font-variant-numeric:tabular-nums;white-space:nowrap}
.band-clay .calc{border-top-color:var(--on-chrome)}
.band-clay .calc li{border-bottom-color:var(--brand-deep)}

/* Stories */
.story{margin:0 0 3rem}
.story-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.3rem 1rem}
.story-head h2{margin:0}
.story-role{color:var(--fg-muted);margin:0}
.story-quote{font-family:var(--font-display);font-weight:600;font-size:var(--text-quote);
  line-height:1.35;margin:1rem 0;max-width:34ch;text-wrap:balance}
.story-feature{background:var(--chrome);color:var(--on-chrome);
  padding:clamp(1.6rem,5vw,3rem);margin:0 0 3rem;border-radius:var(--r-l)}
.story-feature .story-head h2{color:var(--on-chrome)}
.story-feature .story-role{color:var(--accent-warm)}
.story-feature .src{color:var(--on-chrome)}
.story-feature a{color:var(--accent-warm)}
.story-feature a:hover{color:var(--on-chrome)}
.story-feature .story-quote{margin-left:0}
.story-duo{display:grid;gap:0 2.5rem}
@media(min-width:55rem){.story-duo{grid-template-columns:1.4fr 1fr}.story-duo aside{align-self:start}}
.story-duo aside .story-quote{font-size:var(--text-xl)}
.empty-slots{display:grid;gap:1.2rem;margin:2rem 0}
@media(min-width:55rem){.empty-slots{grid-template-columns:repeat(3,1fr)}}
.slot{border:2px dashed var(--brand);border-radius:var(--r-m);padding:1.4rem;background:transparent;
  transition:border-style var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}
.slot:hover{border-style:solid;background:var(--bg-raised)}
.slot .tag{display:inline-block;font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:0.08em;
  border:2px solid var(--brand);color:var(--brand);border-radius:var(--r-xs);padding:0.15rem 0.6rem;margin-bottom:0.8rem}
.slot h3{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);line-height:1.3}
.slot p{font-size:var(--text-sm);color:var(--fg-muted);margin:0}

/* Source list */
.sources{list-style:none;margin:1.5rem 0;padding:0;border-top:3px solid var(--fg-default)}
.sources li{padding:0.9rem 0;border-bottom:1px solid var(--border);font-size:var(--text-base)}
.sources a{font-weight:700}

/* Superscript citations: <sup class="cite"><a href="ORIGINAL-URL">[N]</a></sup>,
   N = stat-table row, 1:1, never renumbered. Arithmetic rows link to
   about.html#ref-N (site-calculation entry showing inputs). */
sup.cite{font-size:0.78em;font-weight:700;line-height:0;letter-spacing:0.01em;white-space:nowrap}
sup.cite a{color:var(--brand-deep);text-decoration:none;border-bottom:1.5px solid currentColor;
  padding:0 0.12em;border-radius:var(--r-2xs)}
sup.cite a:hover{background:var(--bg-tint)}
sup.cite a:active{background:var(--bg-tint)}
/* Dark-clay variant (contextual: masthead, bands, feature, footer) */
.masthead sup.cite a,.band-clay sup.cite a,.story-feature sup.cite a,footer sup.cite a{color:var(--accent-warm)}
.masthead sup.cite a:hover,.band-clay sup.cite a:hover,.story-feature sup.cite a:hover,footer sup.cite a:hover{background:none;color:var(--on-chrome)}

/* Generated reference list (about.html; see scripts/build-refs.py) */
.ref-jump{background:var(--bg-raised);border:1px solid var(--border);
  border-radius:var(--r-m);padding:1rem 1.3rem;margin:1.5rem 0}
.ref-jump p{margin:0 0 0.5rem;font-weight:700;font-size:var(--text-sm)}
.ref-jump ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0.35rem 1.1rem;font-size:var(--text-sm)}
.ref-group-h{margin-top:2.2rem}
.ref-range{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--fg-muted)}
.refs{margin:0.5rem 0 0;padding-left:1.6rem;display:grid;gap:0.75rem;font-size:var(--text-sm)}
.refs li::marker{font-weight:800;color:var(--brand-deep)}
.refs a{font-weight:700;overflow-wrap:anywhere}
.ref-same{color:var(--fg-muted)}
.ref-access{color:var(--fg-muted);white-space:nowrap}
.ref-calc{font-weight:800}
.ref-gap{color:var(--fg-muted);font-style:italic}

@media print{
  body{background:#fff;font-size:1rem}
  sup.cite a{color:#000;background:none;border-bottom:none}
  .ref-jump,.masthead nav,.hero-cta,.copy,.cta-row,.crisis-actions,.progress{display:none}
  .refs{font-size:0.85rem}
  .band-clay,.story-feature,footer{color:#000;background:none}
  .band-clay h2,.band-clay p,.story-feature .story-head h2{color:#000}
  .band-clay a,.story-feature a,footer a{color:#000}
  section,.band-clay,.pull{break-inside:avoid}
}

/* CTA row + footer */
.cta-row{margin:3rem 0 1rem}
footer{background:var(--chrome);color:var(--on-chrome);margin-top:3rem}
footer .wrap{padding-top:2.5rem;padding-bottom:max(2.5rem, env(safe-area-inset-bottom, 0px))}
/* Reading progress hairline (overdrive): JS-injected, state feedback only. */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:var(--z-progress);
  pointer-events:none;background:transparent}
.progress span{display:block;height:100%;background:var(--brand);
  transform:scaleX(0);transform-origin:left center}
footer p{font-size:var(--text-sm);max-width:70ch}
footer a{color:var(--accent-warm);font-weight:700}
footer a:hover{color:var(--on-chrome)}
.foot-grid{display:grid;gap:1.5rem}
@media(min-width:55rem){.foot-grid{grid-template-columns:1.2fr 1fr}}
.foot-crisis{border:2px solid var(--accent-warm);border-radius:var(--r-s);padding:1.1rem 1.3rem}
.foot-crisis strong{color:var(--accent-warm)}
.sr-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media(max-width:34rem){
  .ledger-row{grid-template-columns:1fr}
  .ledger-row>span:last-child{justify-content:flex-start}
  .ledger-val{white-space:normal}
}
@media(max-width:40rem){
  .masthead-in{padding-top:0.7rem;padding-bottom:0.7rem;gap:0.2rem 1.5rem}
  .wordmark{font-size:1.2rem}
  .masthead nav ul{gap:0 0.9rem;font-size:0.95rem}
  .hero-cta{gap:0.8rem}
}
@media(max-width:25rem){
  body{font-size:1rem}
  .hero-cta .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}
