:root {
  --ink-900:#0D141B; --ink-800:#152029; --ink-700:#25333F; --ink-600:#3A4A58;
  --ink-500:#485867; --ink-400:#5C6572; --ink-300:#798089;
  --paper:#FAF8F3; --paper-raised:#FFFFFF; --paper-sunken:#F2EFE7;
  --paper-deep:#EAE6DB; --rule:#DED9CD; --rule-strong:#C9C2B2;
  --green-900:#053A26; --green-700:#0B6B41; --green-500:#189963; --green-100:#E4EFE8;
  --cobalt-700:#2F5FA8; --cobalt-500:#4C87D8; --cobalt-100:#E6EDF7;
  --up:#0B6B41; --down:#A6342C; --warn:#8A6212; --warn-bg:#FBF3DC;
  --accent:var(--green-700); --accent-ink:var(--green-900); --on-accent:#0D141B;

  --slab:#0D141B; --slab-ink:#FAF8F3; --slab-ink-dim:#CBD3DA;
  --slab-note:#8E9BA7; --slab-field:#1B2833;
  --slab-field-rule:#576775; --slab-placeholder:#8393A0;
  --surface-1:#FAF8F3;
  --series-1:#0B6B41; --series-2:#2F5FA8; --series-3:#9E7A10; --series-4:#C36C93; --series-5:#6247AE; --series-6:#C05A2E; --series-7:#2A9D8F; --series-8:#BE3535;

  --grid:#E6E1D5; --baseline:#918A7B; --axis-ink:#5C6572;

  --font-display:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "Source Serif 4", Charter, Georgia, Cambria, "Times New Roman", serif;
  --font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono:ui-monospace, "SF Mono", SFMono-Regular, "JetBrains Mono", "IBM Plex Mono", Menlo, Consolas, monospace;

  --step--2:0.6875rem; --step--1:0.8125rem; --step-0:1rem; --step-1:1.1875rem;
  --step-2:1.4375rem; --step-3:1.75rem; --step-4:2.125rem; --step-5:2.625rem; --step-6:3.25rem;

  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
  --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px;

  --measure:66ch;
  --shell:1320px;
  --gutter:20px;
  --hair:1px solid var(--rule);
  --hair-strong:1px solid var(--rule-strong);
  --radius:2px;
  --focus:#2F5FA8;
}
@media (min-width:900px){ :root{ --gutter:32px; } }

:root[data-theme="dark"]{
  color-scheme:dark;
  --ink-900:#F4F1EA; --ink-800:#E4E0D6; --ink-700:#CFCABE; --ink-600:#ADA79A;
  --ink-500:#9F9988; --ink-400:#908A7B; --ink-300:#736E62;
  --paper:#0F161C; --paper-raised:#18212A; --paper-sunken:#0A1014; --paper-deep:#060B0E;
  --rule:#26313A; --rule-strong:#39454F;
  --green-100:#052519; --green-500:#189963; --green-700:#1F9D66; --green-900:#B9E3CC;
  --cobalt-100:#091C33; --cobalt-500:#4C87D8; --cobalt-700:#4C87D8;
  --up:#1F9D66; --down:#DE645C; --warn:#D4A72C; --warn-bg:#2A2210;
  --accent:#1F9D66; --accent-ink:#7FD6A8; --on-accent:#0D141B;
  --surface-1:#141B22;
  --series-1:#189963; --series-2:#4C87D8; --series-3:#B4901F; --series-4:#C3708F; --series-5:#7E6CCB; --series-6:#CE6E3E; --series-7:#2CA896; --series-8:#D44E4A;
  --grid:#232C34; --baseline:#5F6C76; --axis-ink:#9F9988;
  --focus:#7FA9E8;
}
@media (prefers-color-scheme:dark){
  :root:where(:not([data-theme="light"])){
  color-scheme:dark;
  --ink-900:#F4F1EA; --ink-800:#E4E0D6; --ink-700:#CFCABE; --ink-600:#ADA79A;
  --ink-500:#9F9988; --ink-400:#908A7B; --ink-300:#736E62;
  --paper:#0F161C; --paper-raised:#18212A; --paper-sunken:#0A1014; --paper-deep:#060B0E;
  --rule:#26313A; --rule-strong:#39454F;
  --green-100:#052519; --green-500:#189963; --green-700:#1F9D66; --green-900:#B9E3CC;
  --cobalt-100:#091C33; --cobalt-500:#4C87D8; --cobalt-700:#4C87D8;
  --up:#1F9D66; --down:#DE645C; --warn:#D4A72C; --warn-bg:#2A2210;
  --accent:#1F9D66; --accent-ink:#7FD6A8; --on-accent:#0D141B;
  --surface-1:#141B22;
  --series-1:#189963; --series-2:#4C87D8; --series-3:#B4901F; --series-4:#C3708F; --series-5:#7E6CCB; --series-6:#CE6E3E; --series-7:#2CA896; --series-8:#D44E4A;
  --grid:#232C34; --baseline:#5F6C76; --axis-ink:#9F9988;
  --focus:#7FA9E8; }
}

*,*::before,*::after{ box-sizing:border-box; }

[hidden]{ display:none !important; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } *{ animation-duration:.001ms !important; transition-duration:.001ms !important; } }
body{
  margin:0; background:var(--paper); color:var(--ink-800);
  font-family:var(--font-sans); font-size:var(--step-0); line-height:1.55;
  font-synthesis-weight:none; text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{ font-family:var(--font-display); color:var(--ink-900); font-weight:600; line-height:1.14; letter-spacing:-0.011em; margin:0; text-wrap:balance; }
h1{ font-size:var(--step-5); } h2{ font-size:var(--step-3); } h3{ font-size:var(--step-1); } h4{ font-size:var(--step-0); }
p{ margin:0 0 var(--space-4); }
a{ color:inherit; text-decoration:none; }
a:where(.prose a, .body a){ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; text-decoration-color:var(--rule-strong); }
a:where(.prose a, .body a):hover{ text-decoration-color:var(--accent); color:var(--accent-ink); }
:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; border-radius:1px; }
img,svg{ max-width:100%; }
hr{ border:0; border-top:var(--hair); margin:var(--space-6) 0; }
::selection{ background:var(--green-100); }

.shell{ max-width:var(--shell); margin:0 auto; padding-inline:var(--gutter); }
.grid{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--space-5) var(--gutter); }
.skip{ position:absolute; left:-9999px; top:0; background:var(--ink-900); color:var(--paper); padding:var(--space-3) var(--space-4); z-index:100; }
.skip:focus{ left:var(--space-4); top:var(--space-2); }
.section{ padding-block:var(--space-7); border-top:var(--hair-strong); }
.section--flush{ border-top:0; }
.section__head{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-4); margin-bottom:var(--space-5); flex-wrap:wrap; }
.section__title{ font-family:var(--font-sans); font-size:var(--step--1); font-weight:650; letter-spacing:.09em; text-transform:uppercase; color:var(--ink-700); }
.section__standfirst{ font-family:var(--font-display); font-size:var(--step-1); color:var(--ink-600); max-width:52ch; margin:0; }
.section__more{ font-size:var(--step--1); font-weight:600; color:var(--accent-ink); border-bottom:1px solid var(--rule-strong); }
.section__more:hover{ border-bottom-color:var(--accent); }

.masthead{ background:var(--paper); border-bottom:2px solid var(--ink-900); }
.masthead__bar{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); padding-block:var(--space-2); border-bottom:var(--hair); font-size:var(--step--2); color:var(--ink-500); letter-spacing:.04em; text-transform:uppercase; }
.masthead__date{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
.masthead__util{ display:flex; gap:var(--space-4); align-items:center; }
.masthead__main{ display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-5); padding-block:var(--space-5) var(--space-4); flex-wrap:wrap; }
.wordmark{ display:inline-flex; align-items:center; gap:.6em; font-family:var(--font-display); font-size:clamp(1.75rem,4.6vw,3rem); font-weight:600; letter-spacing:-0.012em; color:var(--ink-900); line-height:1; }
.wordmark__mark{ display:block; flex:none; width:1.46em; height:1.46em; margin-top:-.05em; }
.wordmark__type{ display:block; }
.masthead__tag{ font-size:var(--step--1); color:var(--ink-600); max-width:40ch; margin:var(--space-2) 0 0; }
.nav{ border-top:var(--hair); }
.nav__list{ display:flex; gap:var(--space-5); list-style:none; margin:0; padding:0; overflow-x:auto; scrollbar-width:none; }
.nav__list::-webkit-scrollbar{ display:none; }
.nav__link{ display:block; padding-block:var(--space-3); font-size:var(--step--1); font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-700); white-space:nowrap; border-bottom:2px solid transparent; }
.nav__link:hover{ color:var(--accent-ink); border-bottom-color:var(--rule-strong); }
.nav__link[aria-current]{ color:var(--ink-900); border-bottom-color:var(--accent); }
.nav--sub .nav__list{ gap:var(--space-4); }
.nav--sub .nav__link{ text-transform:none; letter-spacing:0; font-weight:500; color:var(--ink-500); padding-block:var(--space-2); }

@media (max-width:899px){
  .nav__list{ flex-wrap:wrap; overflow-x:visible; column-gap:var(--space-4); row-gap:0; padding-block:var(--space-2); }
  .nav__link{ padding-block:6px; }

  .nav--sub .nav__list{ column-gap:var(--space-3); row-gap:0; }
  .nav--sub .nav__link{ padding-block:5px; }
  .masthead__main{ padding-block:var(--space-4) var(--space-3); }
}

.search-open{ display:inline-flex; align-items:center; gap:var(--space-2); font-size:var(--step--2); text-transform:uppercase; letter-spacing:.06em; color:var(--ink-600); border:var(--hair-strong); border-radius:var(--radius); padding:5px var(--space-3); background:var(--paper-raised); }
.search-open:hover{ border-color:var(--ink-400); color:var(--ink-900); }
.search-open kbd{ font-family:var(--font-mono); font-size:10px; border:var(--hair); border-radius:2px; padding:1px 4px; background:var(--paper-sunken); }

.pulse{ border-bottom:var(--hair-strong); background:var(--paper-sunken); }
.pulse__inner{ display:flex; gap:0; overflow-x:auto; scrollbar-width:none; }
.pulse__inner::-webkit-scrollbar{ display:none; }
.pulse__item{ flex:0 0 auto; min-width:170px; padding:var(--space-3) var(--space-4) var(--space-3) 0; margin-right:var(--space-4); border-right:var(--hair); }
.pulse__item:last-child{ border-right:0; }
.pulse__label{ display:block; font-size:var(--step--2); text-transform:uppercase; letter-spacing:.07em; color:var(--ink-500); margin-bottom:2px; }
.pulse__value{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; font-size:var(--step-0); font-weight:600; color:var(--ink-900); }
.pulse__delta{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; font-size:var(--step--2); margin-left:6px; }
.delta-up{ color:var(--up); } .delta-down{ color:var(--down); } .delta-flat{ color:var(--ink-400); }
.pulse__meta{ display:block; font-size:10px; color:var(--ink-400); font-family:var(--font-mono); margin-top:2px; }

.kicker{ display:inline-block; font-size:var(--step--2); font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-ink); }
.kicker--muted{ color:var(--ink-500); }
.meta{ font-size:var(--step--2); color:var(--ink-500); font-family:var(--font-mono); letter-spacing:.02em; }
.meta a{ border-bottom:1px solid var(--rule); }
.meta a:hover{ border-bottom-color:var(--accent); color:var(--accent-ink); }

.tag{ display:inline-block; font-size:var(--step--2); letter-spacing:.03em; color:var(--ink-600); border:var(--hair-strong); border-radius:999px; padding:3px 10px; background:var(--paper-raised); }
.tag:hover{ border-color:var(--ink-400); color:var(--ink-900); }
.tags{ display:flex; flex-wrap:wrap; gap:6px; }

.badge{ display:inline-flex; align-items:center; gap:5px; white-space:nowrap; font-size:var(--step--2); font-weight:600; letter-spacing:.04em; text-transform:uppercase; padding:2px 7px; border-radius:2px; }
.badge--type{ background:var(--paper-deep); color:var(--ink-700); }
.badge--live{ background:var(--green-100); color:var(--green-900); }
.badge--stale{ background:var(--warn-bg); color:var(--warn); }
.badge--regulatory{ background:var(--cobalt-100); color:var(--cobalt-700); }

.lead{ display:grid; gap:var(--space-6) var(--gutter); grid-template-columns:minmax(0,1fr); }
@media (min-width:900px){ .lead{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); } }
.lead__main .story__headline{ font-size:clamp(1.9rem,3.4vw,var(--step-6)); }
.lead__aside{ display:grid; gap:var(--space-5); align-content:start; border-left:var(--hair); padding-left:var(--gutter); }
@media (max-width:899px){ .lead__aside{ border-left:0; padding-left:0; border-top:var(--hair-strong); padding-top:var(--space-5); } }

.story{ display:block; }
.story__headline{ font-family:var(--font-display); font-weight:600; color:var(--ink-900); line-height:1.15; letter-spacing:-0.013em; margin:var(--space-2) 0; text-wrap:balance; }
.story a.story__headline:hover, .story__headline a:hover{ color:var(--accent-ink); }
.story__standfirst{ color:var(--ink-600); margin:0 0 var(--space-3); max-width:60ch; }
.story--lead .story__standfirst{ font-family:var(--font-display); font-size:var(--step-1); color:var(--ink-700); }
.story--sm .story__headline{ font-size:var(--step-1); }
.story--xs .story__headline{ font-size:var(--step-0); font-weight:600; letter-spacing:-0.005em; }
.story__foot{ display:flex; gap:var(--space-3); align-items:baseline; flex-wrap:wrap; }

.stack{ display:grid; gap:0; }
.stack > * { padding-block:var(--space-4); border-top:var(--hair); }
.stack > *:first-child{ border-top:0; padding-top:0; }

.list-rule{ list-style:none; margin:0; padding:0; }
.list-rule > li{ padding-block:var(--space-4); border-top:var(--hair); }
.list-rule > li:first-child{ border-top:0; }

.desks{ display:grid; gap:var(--space-5) var(--gutter); grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.desk{ border-top:2px solid var(--ink-900); padding-top:var(--space-3); }
.desk__name{ font-family:var(--font-display); font-size:var(--step-1); margin-bottom:var(--space-1); }
.desk__standfirst{ font-size:var(--step--1); color:var(--ink-600); margin:0 0 var(--space-3); }
.desk__count{ font-family:var(--font-mono); font-size:var(--step--2); color:var(--ink-400); }

.page-head{ margin-bottom:var(--space-6); }
.page-head .kicker{ display:block; margin-bottom:var(--space-2); }
.page-head__title{ font-family:var(--font-display); font-size:clamp(2rem,4.4vw,var(--step-6)); line-height:1.04; letter-spacing:-.015em; font-weight:600; max-width:26ch; margin:0 0 var(--space-3); }
.page-head__standfirst{ font-family:var(--font-display); font-size:var(--step-1); line-height:1.5; color:var(--ink-600); max-width:58ch; margin:0; }
.page-head--article{ max-width:var(--measure); }
.page-head--article .page-head__title{ font-size:clamp(1.9rem,3.6vw,var(--step-5)); max-width:32ch; }
.page-head--article .page-head__standfirst{ font-size:var(--step-2); line-height:1.35; }
.page-head--article .byline{ margin-top:var(--space-5); }

.run{ margin-bottom:var(--space-7); }
.run:last-child{ margin-bottom:0; }
.run__label{ font-family:var(--font-mono); font-size:var(--step--2); font-weight:650; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-500); padding-bottom:var(--space-2); margin:0 0 var(--space-4); border-bottom:var(--hair-strong); }

.entry{ border-top:var(--hair-strong); padding-top:var(--space-3); }
.entry__name{ font-family:var(--font-display); font-size:var(--step-1); line-height:1.2; font-weight:600; margin:0 0 var(--space-2); }
.entry__name a{ color:var(--ink-900); }
.entry__name a:hover{ color:var(--accent-ink); }
.entry__def{ font-size:var(--step--1); line-height:1.55; color:var(--ink-700); margin:0 0 var(--space-2); }
.entry .meta{ display:block; }

.entry__name--sm{ font-size:var(--step-0); margin-bottom:var(--space-1); }

.segments{ border-top:var(--hair-strong); }
.segment{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:var(--space-6); padding-block:var(--space-5); border-bottom:var(--hair); }
.segment__name{ font-family:var(--font-display); font-size:var(--step-1); line-height:1.2; font-weight:600; margin:0 0 var(--space-2); }
.segment__def{ font-size:var(--step--1); line-height:1.55; color:var(--ink-700); margin:0; max-width:52ch; }
.segment .num{ font-size:var(--step--1); }

.segments__rest{ padding-top:var(--space-5); max-width:var(--measure); }
.segments__rest .segment__name{ font-size:var(--step-0); }
.segments__rest .link-list{ margin-top:var(--space-3); }
@media (max-width:820px){
  .segment{ grid-template-columns:minmax(0,1fr); gap:var(--space-3); }

  .segment .link-list{ border-top:var(--hair); padding-top:var(--space-2); }
}

.link-list{ list-style:none; margin:0; padding:0; }
.link-list > li{ padding-block:var(--space-2); border-top:var(--hair); overflow-wrap:anywhere; }
.link-list > li:first-child{ border-top:0; padding-top:0; }
.link-list a{ color:var(--ink-800); }
.link-list a:hover{ color:var(--accent-ink); }
.link-list--num{ counter-reset:ll; }
.link-list--num > li{ counter-increment:ll; position:relative; padding-left:1.9em; }

.link-list--num > li::before{ content:counter(ll,decimal-leading-zero); position:absolute; left:0; top:var(--space-2); font-family:var(--font-mono); font-size:var(--step--2); color:var(--ink-400); }
.link-list--num > li:first-child::before{ top:0; }
.link-list--figures > li{ display:flex; gap:var(--space-3); align-items:baseline; justify-content:space-between; }
.link-list__name{ min-width:0; }
.link-list--figures .num{ flex:none; font-size:var(--step--2); color:var(--ink-700); }
.link-list--figures .meta{ flex:none; display:inline; }

.rules{ list-style:none; counter-reset:rl; margin:0 0 var(--space-6); padding:0; }
.rules > li{ margin-bottom:0; }
.rule{ counter-increment:rl; position:relative; padding:var(--space-5) 0 var(--space-5) 2.6em; border-top:var(--hair); }
.rule::before{ content:counter(rl,decimal-leading-zero); position:absolute; left:0; top:calc(var(--space-5) + .15em); font-family:var(--font-mono); font-size:var(--step--1); color:var(--accent-ink); }
.rule:target{ background:var(--paper-sunken); }
.rule__title{ font-family:var(--font-display); font-size:var(--step-1); line-height:1.25; font-weight:600; margin:0 0 var(--space-2); }
.rule p{ font-size:var(--step-0); color:var(--ink-700); margin:0; }

.filter-bar{ display:grid; gap:var(--space-3); padding-bottom:var(--space-4); margin-bottom:var(--space-4); border-bottom:var(--hair-strong); }
.filter-bar .filters{ margin-bottom:0; }

.filters{ display:flex; gap:var(--space-2); flex-wrap:wrap; align-items:center; margin-bottom:var(--space-5); }
.filters__label{ font-size:var(--step--2); text-transform:uppercase; letter-spacing:.08em; color:var(--ink-500); margin-right:var(--space-2); }
.chip{ font:inherit; font-size:var(--step--1); cursor:pointer; background:var(--paper-raised); border:var(--hair-strong); border-radius:999px; padding:4px 12px; color:var(--ink-700); }
.chip:hover{ border-color:var(--ink-400); }
.chip[aria-pressed="true"]{ background:var(--ink-900); border-color:var(--ink-900); color:var(--paper); }
.range{ display:inline-flex; border:var(--hair-strong); border-radius:var(--radius); overflow:hidden; background:var(--paper-raised); }
.range button{ font:inherit; font-family:var(--font-mono); font-size:var(--step--2); cursor:pointer; background:transparent; border:0; border-right:var(--hair); padding:5px 10px; color:var(--ink-600); }
.range button:last-child{ border-right:0; }
.range button[aria-pressed="true"]{ background:var(--ink-900); color:var(--paper); }

.num, .data-table td.num, .stat__value{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
.table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin-bottom:var(--space-4); }
.data-table{ width:100%; border-collapse:collapse; font-size:var(--step--1); }

.data-table caption{ text-align:left; font-size:var(--step--2); color:var(--ink-500); padding-bottom:var(--space-2); max-width:min(82ch, calc(100vw - var(--gutter) * 2)); }
.data-table th{ text-align:left; font-weight:650; font-size:var(--step--2); text-transform:uppercase; letter-spacing:.06em; color:var(--ink-600); padding:var(--space-2) var(--space-3); }

.data-table thead th{ border-bottom:var(--hair-strong); }
.data-table tbody th{ border-bottom:var(--hair); }

.data-table thead th{ white-space:nowrap; }
.data-table td{ padding:var(--space-3); border-bottom:var(--hair); vertical-align:top; }
.data-table tbody tr:hover{ background:var(--paper-sunken); }

.data-table .ta-right, .data-table td.num, .data-table th.num{ text-align:right; }

.data-table td.num{ white-space:nowrap; }

.data-table th.period{ white-space:nowrap; }

.data-table th.note-col{ width:44%; }

.data-table th.name-col{ min-width:15rem; }

.data-table td.term{ white-space:nowrap; }
.data-table .ta-center{ text-align:center; }

.stats{ display:grid; gap:0; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); border-top:var(--hair-strong); }
.stat{ padding:var(--space-4) var(--space-4) var(--space-4) 0; border-right:var(--hair); }
.stat:last-child{ border-right:0; }
.stat__label{ display:block; font-size:var(--step--2); text-transform:uppercase; letter-spacing:.07em; color:var(--ink-500); margin-bottom:var(--space-1); }
.stat__value{ display:block; font-size:var(--step-3); font-weight:600; color:var(--ink-900); line-height:1.1; }
.stat__note{ display:block; font-size:var(--step--2); color:var(--ink-400); margin-top:var(--space-1); font-family:var(--font-mono); }

.figures{ display:grid; gap:var(--space-5); }
.figures > .figure{ margin-bottom:0; }

.figure{ margin:0 0 var(--space-5); }
.figure__head{ display:flex; justify-content:space-between; align-items:baseline; gap:var(--space-4); flex-wrap:wrap; margin-bottom:var(--space-2); }
.figure__title{ font-family:var(--font-sans); font-size:var(--step-0); font-weight:650; color:var(--ink-900); }
.figure__sub{ font-size:var(--step--2); color:var(--ink-500); }
.figure__body{ position:relative; background:var(--surface-1); border:var(--hair); border-radius:var(--radius); padding:var(--space-4) var(--space-3) var(--space-2); }
.figure__foot{ display:flex; justify-content:space-between; gap:var(--space-4); flex-wrap:wrap; font-size:var(--step--2); color:var(--ink-500); margin-top:var(--space-2); }

.figure__ref{ border-left:2px solid var(--accent); padding:var(--space-2) var(--space-3); margin-bottom:var(--space-3); background:var(--paper-raised); border-radius:0 var(--radius) var(--radius) 0; }
.figure__ref-label{ display:block; font-size:var(--step--2); text-transform:uppercase; letter-spacing:.07em; color:var(--ink-600); }
.figure__ref-value{ display:block; font-family:var(--font-mono); font-size:var(--step-2); font-weight:600; font-variant-numeric:tabular-nums; color:var(--ink-900); line-height:1.15; }

.figure__ref-value a{ display:inline-block; min-height:24px; border-bottom:1px solid var(--rule); }
.figure__ref-note{ display:block; font-size:var(--step--2); color:var(--ink-500); margin-top:2px; font-family:var(--font-mono); }
.figure__ref-why{ font-size:var(--step--1); color:var(--ink-600); margin:var(--space-2) 0 0; max-width:62ch; }
.figure__foot a{ border-bottom:1px solid var(--rule); }

.deflist{ margin:0; border-bottom:1px solid var(--rule); }
.deflist-head{ font-size:var(--step-1); margin:var(--space-6) 0 var(--space-3); }
.deflist__row{ border-top:1px solid var(--rule); padding:var(--space-3) 0; break-inside:avoid; }
.deflist dt{ font-family:var(--font-sans); font-size:var(--step-0); font-weight:600; color:var(--ink-900); }

.deflist dt a{ display:inline-block; min-height:24px; border-bottom:1px solid var(--rule); }
.deflist dd{ margin:var(--space-1) 0 0; font-size:var(--step--1); color:var(--ink-700); max-width:82ch; }
.deflist__meta{ display:block; font-family:var(--font-mono); font-size:var(--step--2); font-weight:400; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-600); margin-top:2px; }

.deflist--cols{ columns:2 26rem; column-gap:var(--space-6); }

.deflist--facts{ display:grid; gap:0 var(--space-6); }

@media (min-width:900px){
  .deflist--facts{ grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:0; }
  .deflist--facts .deflist__row{ border-bottom:1px solid var(--rule); }
}
.legend{ display:flex; flex-wrap:wrap; gap:var(--space-3) var(--space-4); font-size:var(--step--2); color:var(--ink-600); margin-bottom:var(--space-3); }
.legend__key{ display:inline-flex; align-items:center; gap:6px; }
.legend__swatch{ width:10px; height:10px; border-radius:2px; box-shadow:0 0 0 2px var(--surface-1); flex:0 0 auto; }
.chart{ display:block; width:100%; height:auto; overflow:visible; }
.chart .grid-line{ stroke:var(--grid); stroke-width:1; shape-rendering:crispEdges; }
.chart .baseline{ stroke:var(--baseline); stroke-width:1; shape-rendering:crispEdges; }
.chart .tick{ font-family:var(--font-mono); font-size:10px; fill:var(--axis-ink); font-variant-numeric:tabular-nums; }
.chart .series-line{ fill:none; stroke-width:2; stroke-linejoin:round; stroke-linecap:round; }
.chart .series-area{ stroke:none; opacity:.13; }
.chart .series-bar{ shape-rendering:geometricPrecision; }
.chart .marker{ stroke:var(--surface-1); stroke-width:2; }
.chart .crosshair{ stroke:var(--ink-400); stroke-width:1; stroke-dasharray:3 3; }
.chart .direct-label{ font-family:var(--font-sans); font-size:11px; font-weight:600; fill:var(--ink-700); }

.chart--bars{ list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.bar-row{ display:grid; grid-template-columns:minmax(6ch, 20ch) minmax(0, 1fr); align-items:center; column-gap:var(--space-3); min-height:26px; }
.bar-label{ font-family:var(--font-sans); font-size:var(--step--1); color:var(--ink-700); text-align:right; overflow-wrap:break-word; }
a.bar-label{ display:block; padding-block:4px; }
a.bar-label:hover{ color:var(--accent-ink); text-decoration:underline; }

.bar-track{ position:relative; display:block; height:16px; }
.bar-track .series-bar{ position:absolute; top:0; bottom:0; display:block; min-width:2px; }
.bar-zero{ position:absolute; top:-2px; bottom:-2px; width:1px; background:var(--baseline); }

.bar-value{ position:absolute; top:50%; transform:translateY(-50%); font-family:var(--font-mono); font-size:var(--step--2); color:var(--ink-600); font-variant-numeric:tabular-nums; white-space:nowrap; }
.bar-row:hover .series-bar{ filter:saturate(1.12) brightness(.94); }

@media (max-width:560px){
  .chart--bars{ gap:10px; }
  .bar-row{ grid-template-columns:minmax(0, 1fr); row-gap:2px; }
  .bar-label{ text-align:left; }
  a.bar-label{ padding-block:2px; }
}
.chart--share{ border-radius:var(--radius); }
.spark{ vertical-align:-4px; }
.figure--wide .figure__body{ padding-inline:var(--space-2); }
.figure__table{ margin-top:var(--space-3); font-size:var(--step--1); }

.figure__table summary{ cursor:pointer; color:var(--ink-500); font-size:var(--step--2); letter-spacing:.04em; text-transform:uppercase; padding-block:4px; }
.figure__table summary:hover{ color:var(--accent-ink); }
.figure__table[open] summary{ margin-bottom:var(--space-3); }

.tooltip{ position:absolute; pointer-events:none; opacity:0; visibility:hidden; transform:translate(-50%,-100%); background:var(--ink-900); color:var(--paper); font-size:var(--step--2); line-height:1.4; padding:var(--space-2) var(--space-3); border-radius:var(--radius); white-space:nowrap; z-index:5; transition:opacity .12s ease, visibility .12s ease; }
.tooltip[data-show]{ opacity:1; visibility:visible; }
.tooltip__label{ display:block; font-family:var(--font-mono); font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:#9BA8B4; margin-bottom:3px; }
.tooltip__row{ display:flex; gap:var(--space-3); justify-content:space-between; font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
.tooltip__note{ display:block; margin-top:3px; font-size:10px; color:#9BA8B4; white-space:normal; max-width:24ch; }
.provenance{ font-size:var(--step--2); color:var(--ink-500); border-top:var(--hair); padding-top:var(--space-2); }

.metric-note{ display:block; margin-top:3px; max-width:46ch; font-weight:400; font-size:var(--step--2); line-height:1.45; letter-spacing:normal; text-transform:none; white-space:normal; color:var(--ink-500); }
.state-note{ font-size:var(--step--1); color:var(--warn); background:var(--warn-bg); border-left:2px solid var(--warn); padding:var(--space-2) var(--space-3); }

.prose{ max-width:var(--measure); font-size:var(--step-1); line-height:1.65; color:var(--ink-800); }
.prose > h2{ font-size:var(--step-2); margin:var(--space-7) 0 var(--space-3); }
.prose > h3{ font-size:var(--step-1); margin:var(--space-6) 0 var(--space-2); }
.prose ul,.prose ol{ margin:0 0 var(--space-4); padding-left:1.35em; }
.prose li{ margin-bottom:var(--space-2); }
.prose blockquote{ margin:var(--space-5) 0; padding-left:var(--space-4); border-left:2px solid var(--accent); color:var(--ink-700); font-family:var(--font-display); }
.prose code{ font-family:var(--font-mono); font-size:.88em; background:var(--paper-sunken); padding:1px 4px; border-radius:2px; }
.prose pre{ background:var(--ink-900); color:var(--paper); padding:var(--space-4); border-radius:var(--radius); overflow-x:auto; font-size:var(--step--1); }
.prose pre code{ background:none; color:inherit; }
.prose .data-table{ font-size:var(--step--1); }
.prose sup.fn a{ color:var(--accent-ink); font-size:.7em; padding-left:1px; }
.dropcap::first-letter{ float:left; font-family:var(--font-display); font-size:3.3em; line-height:.86; padding-right:.07em; color:var(--ink-900); font-weight:600; }

.article-head{ max-width:var(--measure); }
.article-head h1{ font-size:clamp(1.9rem,4vw,var(--step-6)); margin-bottom:var(--space-3); }
.standfirst{ font-family:var(--font-display); font-size:var(--step-2); line-height:1.35; color:var(--ink-600); margin:0 0 var(--space-4); }
.byline{ display:flex; gap:var(--space-3); flex-wrap:wrap; align-items:baseline; padding-block:var(--space-3); border-top:var(--hair); border-bottom:var(--hair); font-size:var(--step--1); color:var(--ink-500); }

.layout-article{ display:grid; gap:var(--space-6) var(--gutter); grid-template-columns:minmax(0,1fr); }
@media (min-width:1000px){ .layout-article{ grid-template-columns:minmax(0,1fr) 300px; } .layout-article--wide{ grid-template-columns:220px minmax(0,1fr) 260px; } }
.rail{ display:grid; gap:var(--space-5); align-content:start; font-size:var(--step--1); }
.rail__block{ border-top:2px solid var(--ink-900); padding-top:var(--space-3); }
.rail__title{ font-size:var(--step--2); text-transform:uppercase; letter-spacing:.08em; font-weight:700; color:var(--ink-700); margin-bottom:var(--space-3); }
.toc{ list-style:none; margin:0; padding:0; }
.toc li{ margin-bottom:var(--space-2); }
.toc a{ color:var(--ink-600); }
.toc a:hover{ color:var(--accent-ink); }
.sources{ list-style:none; margin:0; padding:0; counter-reset:src; font-size:var(--step--1); }
.sources li{ counter-increment:src; padding-block:var(--space-3); border-top:var(--hair); position:relative; padding-left:1.9em; color:var(--ink-600); }
.sources li::before{ content:counter(src); position:absolute; left:0; top:var(--space-3); font-family:var(--font-mono); font-size:var(--step--2); color:var(--ink-400); }
.sources a{ color:var(--ink-800); border-bottom:1px solid var(--rule-strong); word-break:break-word; }
.sources a:hover{ border-bottom-color:var(--accent); }

.timeline{ position:relative; }
.timeline__year{ display:flex; align-items:baseline; gap:var(--space-4); padding-top:var(--space-5); }
.timeline__year h3{ font-family:var(--font-mono); font-size:var(--step-2); font-weight:600; color:var(--ink-900); font-variant-numeric:tabular-nums; }
.timeline__year::after{ content:""; flex:1; border-top:var(--hair-strong); }
.tl-item{ display:grid; grid-template-columns:96px minmax(0,1fr); gap:var(--space-4); padding-block:var(--space-4); border-top:var(--hair); }
.tl-item:first-of-type{ border-top:0; }
.tl-item__date{ font-family:var(--font-mono); font-size:var(--step--2); color:var(--ink-500); padding-top:3px; }
.tl-item__title{ font-family:var(--font-display); font-size:var(--step-1); color:var(--ink-900); margin-bottom:var(--space-1); }

.tl-item__title a{ display:inline-block; min-height:24px; }
.tl-item__desc{ font-size:var(--step--1); color:var(--ink-600); margin:0 0 var(--space-2); max-width:70ch; }

@media (max-width:600px){ .tl-item{ grid-template-columns:minmax(0,1fr); gap:var(--space-1); } }

.timeline--compact .tl-item{ grid-template-columns:minmax(0,1fr); gap:var(--space-1); padding-block:var(--space-3); }
.timeline--compact .tl-item__date{ padding-top:0; }
.timeline--compact .tl-item__title{ font-size:var(--step-0); margin-bottom:0; }

.brief{ background:var(--slab); color:var(--slab-ink); }

.brief__inner{ display:grid; gap:var(--space-5) var(--space-7); padding-block:var(--space-7); grid-template-columns:minmax(0,1fr); }
@media (min-width:860px){ .brief__inner{ grid-template-columns:minmax(0,1fr) minmax(0,420px); align-items:center; } }
.brief h2{ color:var(--slab-ink); font-size:var(--step-4); }
.brief p{ color:var(--slab-ink-dim); max-width:52ch; margin-bottom:0; }
.brief__form{ display:flex; gap:var(--space-2); flex-wrap:wrap; }
.brief__form input{ flex:1 1 220px; font:inherit; font-size:var(--step-0); padding:var(--space-3) var(--space-4); background:var(--slab-field); border:1px solid var(--slab-field-rule); color:var(--slab-ink); border-radius:var(--radius); }
.brief__form input::placeholder{ color:var(--slab-placeholder); }
.brief__form input:focus-visible{ outline:2px solid var(--green-500); outline-offset:1px; }
.brief__form button{ font:inherit; font-size:var(--step-0); font-weight:650; cursor:pointer; padding:var(--space-3) var(--space-5); background:var(--green-500); color:var(--on-accent); border:0; border-radius:var(--radius); }
.brief__form button:hover{ background:#22B078; }

.brief__form--stack{ display:grid; gap:var(--space-2); }
.brief__form--stack input{ flex:none; width:100%; }
.brief__note{ font-size:var(--step--2); color:var(--slab-note); margin-top:var(--space-3); }

.cmd{ position:fixed; inset:0; z-index:60; display:none; }
.cmd[open]{ display:block; }
.cmd__scrim{ position:absolute; inset:0; background:rgba(13,20,27,.45); }
.cmd__panel{ position:relative; max-width:640px; margin:8vh auto 0; background:var(--paper-raised); border:var(--hair-strong); border-radius:var(--radius); box-shadow:0 24px 60px rgba(13,20,27,.24); overflow:hidden; }
.cmd__input{ width:100%; font:inherit; font-size:var(--step-1); padding:var(--space-4) var(--space-5); border:0; border-bottom:var(--hair); background:transparent; color:var(--ink-900); }
.cmd__results{ max-height:56vh; overflow-y:auto; list-style:none; margin:0; padding:0; }
.cmd__result{ display:block; padding:var(--space-3) var(--space-5); border-bottom:var(--hair); cursor:pointer; }
.cmd__result[aria-selected="true"]{ background:var(--paper-sunken); }
.cmd__result-title{ display:block; font-weight:600; color:var(--ink-900); }

.cmd__result-meta{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; overflow:hidden; font-size:var(--step--2); color:var(--ink-500); }

.cmd__result-kind{ font-family:var(--font-mono); }
.cmd__result-hint{ font-family:var(--font-sans); }
.cmd__result-hint::before{ content:" · "; color:var(--ink-400); }
.cmd__empty{ padding:var(--space-5); color:var(--ink-500); font-size:var(--step--1); }
.cmd__foot{ display:flex; gap:var(--space-4); padding:var(--space-2) var(--space-5); border-top:var(--hair); font-size:var(--step--2); color:var(--ink-400); font-family:var(--font-mono); }

.footer{ border-top:2px solid var(--ink-900); margin-top:var(--space-8); padding-block:var(--space-7) var(--space-6); font-size:var(--step--1); }
.footer__grid{ display:grid; gap:var(--space-6) var(--gutter); grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.footer__title{ font-size:var(--step--2); text-transform:uppercase; letter-spacing:.08em; font-weight:700; color:var(--ink-700); margin-bottom:var(--space-3); }
.footer ul{ list-style:none; margin:0; padding:0; }
.footer li{ margin-bottom:var(--space-2); }
.footer a{ color:var(--ink-600); }
.footer a:hover{ color:var(--accent-ink); }
.footer__base{ display:flex; justify-content:space-between; gap:var(--space-4); flex-wrap:wrap; margin-top:var(--space-6); padding-top:var(--space-4); border-top:var(--hair); color:var(--ink-500); font-size:var(--step--2); }

.util-btn{ font:inherit; font-size:var(--step--2); text-transform:uppercase; letter-spacing:.06em; cursor:pointer; background:none; border:0; padding:2px 0; min-height:24px; color:var(--ink-500); display:inline-flex; align-items:center; gap:5px; }
.util-btn:hover{ color:var(--ink-900); }
.util-btn svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.6; }
:root[data-theme="dark"] .util-btn .i-sun, :root:where(:not([data-theme="light"])) .util-btn .i-sun{ display:none; }
.util-btn .i-moon{ display:none; }
:root[data-theme="dark"] .util-btn .i-moon{ display:inline; }
@media (prefers-color-scheme:dark){ :root:where(:not([data-theme="light"])) .util-btn .i-moon{ display:inline; } :root[data-theme="light"] .util-btn .i-moon{ display:none; } :root[data-theme="light"] .util-btn .i-sun{ display:inline; } }

.empty-note{ padding:var(--space-6) 0; color:var(--ink-500); font-size:var(--step--1); border-top:var(--hair); }
[data-live-state="unchanged"] .pulse__meta::after{ content:" · build value"; }
.count-note{ font-family:var(--font-mono); font-size:var(--step--2); color:var(--ink-400); }

.crumbs{ display:flex; gap:var(--space-2); flex-wrap:wrap; font-size:var(--step--2); font-family:var(--font-mono); color:var(--ink-400); letter-spacing:.03em; margin-bottom:var(--space-4); list-style:none; padding:0; }
.crumbs li + li::before{ content:"/"; padding-right:var(--space-2); color:var(--ink-400); }
.crumbs a:hover{ color:var(--accent-ink); }

.card-rule{ border-top:2px solid var(--ink-900); padding-top:var(--space-3); }
.hero-num{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; font-size:clamp(2rem,5vw,var(--step-6)); font-weight:600; color:var(--ink-900); line-height:1; letter-spacing:-0.02em; }
.pager{ display:flex; justify-content:space-between; gap:var(--space-4); margin-top:var(--space-7); padding-top:var(--space-4); border-top:var(--hair-strong); font-size:var(--step--1); }
.pager a{ color:var(--accent-ink); font-weight:600; }

.story__headline a, .entry__name a, .desk__name a{ padding-block:5px; }
.rail__title a{ padding-block:6px; }

.section__more{ padding-top:4px; }

a.kicker{ padding-block:4px; margin-block:-4px; }

.u-hide{ display:none !important; }
.visually-hidden{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.u-mono{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
.u-measure{ max-width:var(--measure); }
.u-mt-4{ margin-top:var(--space-4); } .u-mt-5{ margin-top:var(--space-5); } .u-mt-6{ margin-top:var(--space-6); }
.u-mt-7{ margin-top:var(--space-7); }
.u-mb-0{ margin-bottom:0; }
.col-12{ grid-column:span 12; }
@media (min-width:900px){
  .col-8{ grid-column:span 8; } .col-6{ grid-column:span 6; } .col-4{ grid-column:span 4; }
  .col-7{ grid-column:span 7; } .col-5{ grid-column:span 5; } .col-3{ grid-column:span 3; } .col-9{ grid-column:span 9; }
}
@media (max-width:899px){ .col-8,.col-6,.col-4,.col-7,.col-5,.col-3,.col-9{ grid-column:span 12; } }

@media print {
  .masthead__util,.nav,.cmd,.brief,.pulse,.search-open{ display:none !important; }
  body{ background:#fff; font-size:11pt; }
  a::after{ content:" (" attr(href) ")"; font-size:8pt; color:#555; }
  .figure__body{ border:1px solid #999; }
}
@media (forced-colors:active){
  .chip[aria-pressed="true"],.range button[aria-pressed="true"]{ forced-color-adjust:none; }
  .legend__swatch{ forced-color-adjust:none; border:1px solid CanvasText; }
}