/* Datumbrief — magazine restyle. Light/dark only. Type scale enlarged vs gnuboard. */
:root,
html[data-theme="light"] {
  --ink: #13312B;
  --ink-2: #1a3d36;
  --paper: #F7F2EA;
  --paper-2: #efe8dc;
  --white: #fffdf8;
  --coral: #F26A4B;
  --coral-dark: #d85a3e;
  --mint: #b8e1ca;
  --muted: #5c6b67;
  --line: #d8d2c6;
  --card: #fffdf8;
  --header-fg: #13312B;
  --footer-fg: #d7e0dd;
  --footer-mute: #9aaba6;
  --ad-bg: #efe8dc;
  --mark: #fff6f1;
  --shadow: 0 18px 40px rgba(19, 49, 43, 0.10);
  --radius: 14px;
  --radius-sm: 8px;
  --max: 1180px;
  --sans: Manrope, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color-scheme: light;
}
html[data-theme="dark"] {
  --ink: #e8eee9;
  --ink-2: #d5ddd8;
  --paper: #0f1715;
  --paper-2: #15201d;
  --white: #16241f;
  --coral: #F26A4B;
  --coral-dark: #ff8a70;
  --mint: #7dcaa0;
  --muted: #9aaba6;
  --line: #2a3b36;
  --card: #16241f;
  --header-fg: #e8eee9;
  --footer-fg: #d7e0dd;
  --footer-mute: #9aaba6;
  --ad-bg: #121c19;
  --mark: #fff6f1;
  --shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink);
  background: var(--paper);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
a { color: inherit; text-underline-offset: 3px; }
a:hover { color: var(--coral-dark); }
.visually-hidden, .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 12px; top: 12px; background: var(--card); color: var(--ink); padding: 8px 12px; z-index: 80; }

.wrap, .container { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
.inner-page { padding: 36px 0 72px; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--paper) 94%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
  backdrop-filter: blur(16px);
}
.header-inner {
  width: min(var(--max), calc(100% - 32px));
  margin: 0 auto;
  min-height: 72px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  padding: 10px 0;
}
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); font-weight: 800; letter-spacing: -0.04em; }
.brand-mark {
  display: grid; place-items: center;
  width: 32px; height: 32px;
  border-radius: 9px 9px 3px 9px;
  background: var(--ink); color: var(--paper);
  font-family: var(--mono); font-size: 16px; font-weight: 500;
}
html[data-theme="dark"] .brand-mark { background: var(--coral); color: #13312B; }
.brand-word { font-size: 1.2rem; }
.brand-word span { color: var(--coral); }
.menu-toggle {
  display: none;
  margin-left: auto;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  border-radius: 8px;
  padding: 8px 12px;
  font: 700 14px var(--sans);
}
.site-nav { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; }
.site-nav a {
  text-decoration: none; color: var(--muted); font-weight: 700; font-size: 15px;
  padding: 6px 0; border-bottom: 2px solid transparent;
}
.site-nav a[aria-current="page"], .site-nav a:hover { color: var(--ink); border-bottom-color: var(--coral); }
.search-wrap { margin-left: auto; min-width: 160px; max-width: 240px; flex: 1 1 160px; }
.search-wrap input {
  width: 100%; border: 1px solid var(--line); border-radius: 999px;
  padding: 8px 14px; font: inherit; font-size: 15px;
  background: var(--card); color: var(--ink);
}
.theme-toggle {
  flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; padding: 0;
  border: 1px solid var(--line); border-radius: 999px;
  background: var(--card); color: var(--ink);
  cursor: pointer;
}
.theme-toggle:hover, .theme-toggle:focus-visible { border-color: var(--coral); }
.theme-toggle:focus-visible { outline: 2px solid var(--coral); outline-offset: 2px; }
.theme-toggle svg { display: block; }
.theme-toggle .theme-icon-sun { display: none; }
html[data-theme="dark"] .theme-toggle .theme-icon-moon { display: none; }
html[data-theme="dark"] .theme-toggle .theme-icon-sun { display: block; }

.news-masthead {
  margin: 0;
  background: var(--ink);
  color: #c9d6d1;
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  align-items: center;
  gap: 12px;
  padding: 10px 20px;
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.news-masthead span:nth-child(2) { text-align: center; }
.news-masthead .mast-live { justify-self: end; }
.mast-live i, .tracker-status i {
  display: inline-block; width: 7px; height: 7px; margin-right: 7px;
  border-radius: 50%; background: #5bd27b; box-shadow: 0 0 0 3px rgba(91,210,123,.15);
}

.page { flex: 1; }
.kicker, .story-label, .visual-caption, .edition-label, .section-number,
.news-card-body > span, .tape-title span, .tape-grid > a > span,
.byline, .freshness, .category-label {
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.kicker { color: var(--coral-dark); font-weight: 500; margin: 0 0 10px; }
.kicker i, .story-label i {
  display: inline-block; width: 7px; height: 7px; margin-right: 8px;
  border-radius: 50%; background: var(--coral);
}
.kicker-light { color: var(--coral); }
.lede { color: var(--muted); margin: 0 0 14px; max-width: 42rem; font-size: 18px; }
.today-line, .meta, .article-meta, .cite, .section-note { color: var(--muted); font-size: 15px; }

.edition-label {
  display: flex; justify-content: space-between; gap: 16px;
  padding: 12px 0; border-top: 3px solid var(--ink); border-bottom: 1px solid var(--ink);
  font-weight: 500;
}
.edition-label b { font-weight: 500; color: var(--muted); }
.news-hero { padding: 28px 0 0; }
.lead-grid {
  display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 48px;
  padding: 40px 0 36px; border-bottom: 1px solid var(--ink);
}
.story-label { display: flex; align-items: center; gap: 10px; color: var(--coral-dark); margin: 0 0 12px; }
.story-label b { color: var(--muted); font-weight: 500; }
.lead-story h1, .page-hero h1, .mast h1, .article-title, .story-header h1 {
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(2.1rem, 5vw, 3.4rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  margin: 0 0 16px;
}
.lead-story h1 a, .archive-lead-copy h2 a, .news-card-body h3 a, .hero-rail h2 a {
  text-decoration: none; color: inherit;
}
.lead-story h1 a:hover, .archive-lead-copy h2 a:hover, .news-card-body h3 a:hover { color: var(--coral-dark); }
.byline { display: flex; gap: 18px; align-items: center; margin: 20px 0; }
.byline span { color: var(--muted); }
.read-story {
  display: inline-flex; gap: 10px; align-items: center;
  padding-bottom: 4px; border-bottom: 1px solid var(--ink);
  text-decoration: none; font-weight: 800; font-size: 16px;
}
.lead-visual {
  min-height: 360px; position: relative; overflow: hidden;
  background: #13312B; color: #fff; padding: 24px;
  display: flex; flex-direction: column;
}
html[data-theme="dark"] .lead-visual { background: #0a1613; }
.visual-grid-lines {
  position: absolute; inset: 0; opacity: .55;
  background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 42px 42px;
}
.visual-caption { position: relative; color: #c9d6d1; margin: 0; }
.hero-metrics { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 28px; }
.hero-metrics > div { padding: 10px 12px; border-left: 1px solid #3d5650; }
.hero-metrics small, .hero-metrics span { display: block; color: #b7c6c1; font-family: var(--mono); font-size: 13px; text-transform: uppercase; }
.hero-metrics strong { display: block; margin: 8px 0; color: var(--coral); font-size: 1.7rem; letter-spacing: -0.03em; }
.signal-bars {
  position: relative; height: 120px; margin: auto 0 14px;
  padding: 16px 8px 0; border-bottom: 1px solid #617473;
  display: flex; align-items: end; gap: 8px;
}
.signal-bars i { flex: 1; min-height: 12px; background: linear-gradient(to top, #347969, var(--mint)); border-radius: 2px 2px 0 0; }
.signal-bars i:nth-child(1) { height: 34%; } .signal-bars i:nth-child(2) { height: 51%; }
.signal-bars i:nth-child(3) { height: 45%; } .signal-bars i:nth-child(4) { height: 68%; }
.signal-bars i:nth-child(5) { height: 60%; } .signal-bars i:nth-child(6) { height: 79%; }
.signal-bars i:nth-child(7) { height: 72%; } .signal-bars i:nth-child(8) { height: 88%; }
.lead-visual > p:last-child { position: relative; margin: 0; color: #9eb0ab; font-family: var(--mono); font-size: 13px; }

.hero-rail { display: grid; grid-template-columns: 1fr 1fr 200px; gap: 0; }
.hero-rail article {
  display: grid; grid-template-columns: 36px 1fr; gap: 12px;
  padding: 24px 24px 24px 0; margin-right: 24px; border-right: 1px solid var(--line);
}
.hero-rail article > span { color: var(--coral-dark); font-family: var(--mono); font-size: 14px; }
.hero-rail small { color: var(--coral-dark); font-family: var(--mono); font-size: 13px; text-transform: uppercase; }
.hero-rail h2 { margin: 8px 0; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; line-height: 1.25; }
.hero-rail p { margin: 0; color: var(--muted); font-size: 16px; }
.all-stories-link {
  display: flex; align-items: center; justify-content: space-between;
  padding-left: 20px; color: var(--coral-dark); font-size: 16px; font-weight: 800; text-decoration: none;
}

.market-tape { background: var(--coral); border-block: 1px solid var(--ink); color: #13312B; }
.tape-grid { display: grid; grid-template-columns: 140px repeat(4, 1fr); }
.tape-title, .tape-grid > a { min-height: 92px; padding: 16px 18px; border-right: 1px solid rgba(19,49,43,.22); }
.tape-title { display: flex; flex-direction: column; justify-content: center; background: #13312B; color: #fff; }
.tape-title small { color: #9eb0ab; font-family: var(--mono); font-size: 13px; }
.tape-grid > a {
  display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 4px 10px;
  text-decoration: none; color: inherit;
}
.tape-grid > a strong { grid-row: 2 / 4; font-size: 1.45rem; letter-spacing: -0.03em; }
.tape-grid > a small { justify-self: end; font-family: var(--mono); font-size: 14px; }
.tape-grid > a em { justify-self: end; font-family: var(--mono); font-size: 13px; text-transform: uppercase; opacity: .7; }
.up { color: #1f6b3d !important; }
.down { color: #a53f32 !important; }
.flat { color: #4d5d58 !important; }
html[data-theme="dark"] .up { color: #7dcaa0 !important; }
html[data-theme="dark"] .down { color: #ff8a70 !important; }

.news-section { padding: 72px 0; }
.latest-section { background: var(--white); }
.news-section-head {
  display: flex; justify-content: space-between; align-items: end; gap: 16px;
  margin-bottom: 28px; padding-bottom: 12px; border-bottom: 2px solid var(--ink);
}
.news-section-head > div { display: flex; align-items: baseline; gap: 14px; }
.news-section-head h2, .section-head h2 {
  margin: 0; font-family: var(--serif); font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 500; letter-spacing: -0.02em;
}
.news-section-head > a { color: var(--coral-dark); font-size: 15px; font-weight: 800; text-decoration: none; }
.section-number { color: var(--coral-dark); }
.news-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.news-card { display: grid; grid-template-rows: 180px 1fr; border: 1px solid var(--line); background: var(--paper); }
.card-graphic { position: relative; overflow: hidden; padding: 16px; color: #fff; background: #13312B; }
.card-graphic.tone-2 { background: #a4483d; }
.card-graphic.tone-3 { background: #315f58; }
.card-graphic > span, .card-graphic > b { position: relative; z-index: 1; font-family: var(--mono); font-size: 14px; letter-spacing: 0.06em; }
.card-graphic > b { float: right; color: var(--coral); font-size: 1.25rem; }
.card-graphic > div {
  position: absolute; width: 220px; height: 220px; left: 50%; top: 55%;
  transform: translate(-50%, -50%) rotate(45deg);
  border: 28px solid rgba(255,255,255,.12);
  box-shadow: 0 0 0 28px rgba(255,255,255,.06);
}
.news-card-body { padding: 22px; display: flex; flex-direction: column; }
.news-card-body > span { color: var(--coral-dark); }
.news-card-body h3 { font-family: var(--serif); font-size: 1.35rem; line-height: 1.25; font-weight: 500; margin: 10px 0; }
.news-card-body p { color: var(--muted); font-size: 16px; }
.news-card-body footer {
  display: flex; justify-content: space-between; margin-top: auto; padding-top: 14px;
  border-top: 1px solid var(--line); font-family: var(--mono); font-size: 14px; text-transform: uppercase;
}
.news-card-body footer a { color: var(--coral-dark); text-decoration: none; font-weight: 700; }

.tracker-preview { background: #13312B; color: #fff; }
html[data-theme="dark"] .tracker-preview { background: #0a1613; }
.tracker-preview-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: center; }
.tracker-copy h2 { font-family: var(--serif); font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 500; letter-spacing: -0.03em; margin: 12px 0; }
.tracker-copy > p { color: #c9d6d1; margin-bottom: 22px; font-size: 17px; }
.tracker-board { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #3d5650; }
.tracker-board article { padding: 20px; border-right: 1px solid #3d5650; border-bottom: 1px solid #3d5650; }
.tracker-board article:nth-child(even) { border-right: 0; }
.tracker-board span, .tracker-board small, .tracker-board em { font-family: var(--mono); font-size: 13px; }
.tracker-board small, .tracker-board em { color: #9eb0ab; }
.tracker-board strong { display: block; color: var(--coral); font-size: 1.8rem; margin: 10px 0; }
.micro-chart { height: 4px; background: #304a46; }
.micro-chart i { display: block; height: 100%; width: 62%; background: var(--mint); }
.button {
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid transparent; padding: 12px 18px; border-radius: 8px;
  font-weight: 800; font-size: 15px; text-decoration: none;
}
.button-coral { background: var(--coral); color: #13312B; }
.button-coral:hover { background: #ff846f; color: #13312B; }

.acs-band { padding-bottom: 64px; }
.section { margin-top: 48px; }
.section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.empty { color: var(--muted); background: var(--card); border: 1px dashed var(--line); border-radius: var(--radius); padding: 20px 22px; }
.rich-empty ul { margin: 0.6em 0 0; padding-left: 1.2em; }
.facts { display: grid; gap: 10px; margin: 20px 0; }
.facts div { display: grid; grid-template-columns: minmax(8rem, 14rem) 1fr; gap: 8px; }
.facts dt { color: var(--muted); font-weight: 700; }
.facts dd { margin: 0; }
.crumb { font-size: 15px; }
.prose, .article-body, .place-brief { max-width: 44rem; }
.prose h2, .article-body h2, .place-brief h2 { margin-top: 1.6em; font-family: var(--serif); }
.prose code, .article-body code, .cite code, .empty code, .footer-inner code {
  font-size: 0.92em; background: color-mix(in srgb, var(--coral) 14%, var(--paper));
  padding: 1px 6px; border-radius: 6px;
}
.place-brief, .brief-card, .rank-card, .measure-block {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 18px 20px; box-shadow: var(--shadow);
}
.place-brief { margin: 20px 0; }
.cite { max-width: 48rem; }
.brief-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.brief-card h3 { font-family: var(--serif); margin: 0 0 8px; font-size: 1.3rem; }
.brief-card h3 a { color: inherit; text-decoration: none; }
.brief-card h3 a:hover { color: var(--coral-dark); }
.brief-card p { margin: 0 0 8px; }
.rank-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 720px) { .rank-grid { grid-template-columns: 1fr 1fr; } }
.rank-card h3 { margin: 0 0 6px; font-family: var(--serif); }
.rank-card ol { margin: 12px 0; padding-left: 1.3em; }
.rank-card li { margin: 0.4em 0; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rank-card .num { font-variant-numeric: tabular-nums; color: var(--muted); }
.rank-switch { display: flex; flex-wrap: wrap; gap: 10px 16px; margin: 16px 0 0; }
.rank-switch a[aria-current="page"] { font-weight: 800; color: var(--coral-dark); }

.search-page-form { margin: 20px 0 8px; max-width: 40rem; }
.search-page-form label { display: block; font-weight: 700; margin-bottom: 8px; }
.search-page-row { display: flex; flex-wrap: wrap; gap: 8px; }
.search-page-row input {
  flex: 1 1 200px; border: 1px solid var(--line); border-radius: 999px;
  padding: 10px 16px; font: inherit; background: var(--card); color: var(--ink); min-width: 0;
}
.search-page-row button {
  border: 0; border-radius: 999px; padding: 10px 18px; font: inherit; font-weight: 800;
  background: var(--ink); color: var(--paper); cursor: pointer;
}
.article { max-width: 44rem; }
.article-body { font-family: var(--serif); font-size: 1.12rem; }
.ad-slot {
  background: var(--ad-bg); color: var(--muted); text-align: center; padding: 28px;
  border-radius: var(--radius-sm); margin: 24px 0; border: 1px dashed var(--line); font-size: 14px;
}

.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); }
.data-table { width: 100%; min-width: 36rem; border-collapse: collapse; font-size: 16px; }
.data-table th, .data-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--line); }
.data-table th { font-size: 14px; letter-spacing: 0.04em; color: var(--muted); font-weight: 700; }
.data-table .num, .data-table .rank { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.data-table .rank { text-align: center; width: 4.5rem; }
.data-table a { font-weight: 700; text-decoration: none; }
.data-table a:hover { color: var(--coral-dark); }
.data-table tr:hover td { background: color-mix(in srgb, var(--coral) 8%, var(--card)); }
.data-table tr.is-hidden { display: none; }
.btn-ghost {
  color: var(--ink); text-decoration: none; font-weight: 700;
  border: 1px solid var(--line); padding: 6px 12px; border-radius: 999px; background: var(--card);
  display: inline-block;
}
.btn-ghost:hover { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.measure-block-acs1 { border-color: var(--coral); }
.var-id { display: inline-block; margin-left: 8px; font-size: 13px; color: var(--muted); font-family: var(--mono); }
.empty-search { display: none; padding: 24px; text-align: center; color: var(--muted); background: var(--card); border-radius: var(--radius); border: 1px dashed var(--line); }
.empty-search.is-visible { display: block; }

.page-hero { padding: 56px 0; color: #fff; background: #13312B; }
html[data-theme="dark"] .page-hero { background: #0a1613; }
.page-hero h1 { color: #fff; }
.page-hero p { color: #c9d6d1; font-size: 18px; max-width: 40rem; }
.tracker-status { margin-top: 18px; color: #c9d6d1; font-family: var(--mono); font-size: 14px; text-transform: uppercase; }
.archive-section { padding: 40px 0 80px; }
.archive-lead { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; border-bottom: 2px solid var(--ink); padding-bottom: 40px; }
.archive-lead-copy > span { color: var(--coral-dark); font-family: var(--mono); font-size: 14px; text-transform: uppercase; }
.archive-lead-copy h2 { margin: 12px 0; font-family: var(--serif); font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 500; }
.archive-lead-copy footer { display: flex; justify-content: space-between; margin-top: 22px; font-family: var(--mono); font-size: 14px; text-transform: uppercase; }
.archive-lead-copy footer a { color: var(--coral-dark); text-decoration: none; font-weight: 800; }
.archive-lead-data { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--coral); border: 1px solid var(--ink); color: #13312B; }
.archive-lead-data div { padding: 16px; border-right: 1px solid rgba(19,49,43,.3); }
.archive-lead-data span, .archive-lead-data small { font-family: var(--mono); font-size: 13px; text-transform: uppercase; }
.archive-lead-data strong { display: block; font-size: 1.5rem; margin: 8px 0; }
.archive-toolbar { display: flex; justify-content: space-between; align-items: center; padding: 28px 0 12px; border-bottom: 1px solid var(--ink); }
.archive-toolbar h2 { font-family: var(--serif); font-size: 1.6rem; font-weight: 500; margin: 0; }
.archive-toolbar a { color: var(--coral-dark); font-size: 15px; font-weight: 800; text-decoration: none; margin-left: 16px; }
.archive-list article { display: grid; grid-template-columns: 48px 1fr 120px 28px; gap: 16px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); }
.archive-index { color: var(--coral-dark); font-family: var(--mono); font-size: 14px; }
.archive-list small, .archive-list time { color: var(--muted); font-family: var(--mono); font-size: 13px; text-transform: uppercase; }
.archive-list h3 { margin: 6px 0; font-family: var(--serif); font-size: 1.4rem; font-weight: 500; }
.archive-list h3 a { text-decoration: none; }
.archive-arrow { font-size: 22px; color: var(--coral-dark); text-decoration: none; }

.story-header { padding: 36px 0 48px; border-bottom: 1px solid var(--ink); }
.story-header-inner { max-width: 860px; }
.story-body-grid { display: grid; grid-template-columns: minmax(0, 720px) 240px; gap: 48px; padding: 40px 0 72px; }
.story-prose > p { font-family: var(--serif); font-size: 1.15rem; line-height: 1.8; }
.inline-metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin: 28px 0; border-block: 1px solid var(--ink); }
.inline-metrics div { padding: 16px 12px; border-right: 1px solid var(--line); }
.inline-metrics span, .inline-metrics small { display: block; font-family: var(--mono); font-size: 13px; text-transform: uppercase; }
.inline-metrics strong { display: block; margin: 8px 0; color: var(--coral-dark); font-size: 1.5rem; }
.method-note { margin: 36px 0; padding: 22px; background: var(--paper-2); border-left: 3px solid var(--coral); }
.method-note span { font-family: var(--mono); font-size: 14px; text-transform: uppercase; color: var(--coral-dark); }
.source-notes { margin-top: 36px; padding-top: 22px; border-top: 2px solid var(--ink); }
.source-notes h2 { font-family: var(--serif); font-size: 1.5rem; }
.source-notes a { display: grid; grid-template-columns: 1fr auto; padding: 12px 0; border-top: 1px solid var(--line); text-decoration: none; }
.story-side { position: sticky; top: 96px; padding-left: 18px; border-left: 1px solid var(--line); }
.story-side > span { color: var(--coral-dark); font-family: var(--mono); font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; }
.story-side > div { padding: 14px 0; border-bottom: 1px solid var(--line); }
.story-side small, .story-side em { display: block; color: var(--muted); font-family: var(--mono); font-size: 13px; }
.story-side strong { display: block; margin: 6px 0; font-size: 1.4rem; }
.related-stories { padding: 56px 0; background: var(--paper-2); }

.trackers-section { padding: 40px 0 80px; }
.trackers-heading { display: flex; justify-content: space-between; align-items: end; padding-bottom: 12px; border-bottom: 2px solid var(--ink); margin-top: 40px; }
.trackers-heading h2 { margin: 0; font-family: var(--serif); font-size: 1.8rem; font-weight: 500; }
.tracker-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px; }
.tracker-grid article { padding: 22px; background: var(--card); border: 1px solid var(--line); }
.tracker-grid header { display: flex; justify-content: space-between; font-family: var(--mono); font-size: 13px; text-transform: uppercase; }
.tracker-grid header span { color: var(--coral-dark); }
.tracker-grid h3 { margin: 16px 0 8px; font-family: var(--serif); font-size: 1.25rem; font-weight: 500; }
.tracker-reading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.tracker-reading strong { font-size: 2rem; letter-spacing: -0.03em; }
.tracker-grid dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 16px 0; gap: 8px; }
.tracker-grid dt { color: var(--muted); font-family: var(--mono); font-size: 12px; text-transform: uppercase; }
.tracker-grid dd { margin: 4px 0 0; font-size: 15px; font-weight: 800; }
.tracker-grid article > a { color: var(--coral-dark); font-size: 15px; font-weight: 800; text-decoration: none; }
.tracker-method { display: grid; grid-template-columns: 200px 1fr; gap: 24px; margin-top: 28px; padding: 22px; background: var(--paper-2); }
.tracker-method span { font-family: var(--mono); font-size: 14px; color: var(--coral-dark); text-transform: uppercase; }

.site-footer { background: #0c1c19; color: var(--footer-fg); padding: 48px 0 28px; }
.footer-inner { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 32px; margin-bottom: 28px; }
.footer-grid strong { display: block; color: #fff; font-family: var(--mono); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 10px; }
.footer-grid a { display: block; color: var(--footer-mute); text-decoration: none; margin: 6px 0; }
.footer-grid a:hover { color: var(--coral); }
.footer-brand { font-weight: 800; margin: 0 0 8px; color: #fff; font-size: 1.2rem; }
.site-footer p { color: var(--footer-mute); font-size: 14px; }
.footer-legal { color: var(--footer-mute); }

@media (max-width: 980px) {
  .news-masthead { grid-template-columns: 1fr auto; }
  .news-masthead span:nth-child(2) { display: none; }
  .lead-grid, .archive-lead, .tracker-preview-grid, .story-body-grid { grid-template-columns: 1fr; }
  .hero-rail { grid-template-columns: 1fr 1fr; }
  .all-stories-link { grid-column: 1 / -1; padding: 16px 0; }
  .tape-grid { grid-template-columns: repeat(2, 1fr); }
  .tape-title { grid-column: 1 / -1; min-height: 56px; }
  .news-card-grid, .tracker-board, .tracker-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .story-side { position: static; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); padding: 12px; }
}
@media (max-width: 720px) {
  .header-inner { min-height: 64px; }
  .menu-toggle { display: block; }
  .site-nav { display: none; flex: 1 1 100%; flex-direction: column; align-items: stretch; }
  .site-nav.is-open { display: flex; }
  .search-wrap { order: 5; flex: 1 1 100%; max-width: none; margin-left: 0; }
  .theme-toggle { order: 2; margin-left: 0; }
  body { font-size: 16px; }
  .lead-story h1, .page-hero h1, .mast h1 { font-size: 2rem; }
  .hero-metrics, .inline-metrics, .archive-lead-data, .news-card-grid, .tracker-board, .tracker-grid, .footer-grid { grid-template-columns: 1fr; }
  .hero-rail { grid-template-columns: 1fr; }
  .hero-rail article { margin: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .tape-grid { grid-template-columns: 1fr 1fr; }
  .archive-list article { grid-template-columns: 32px 1fr 20px; }
  .archive-list time { display: none; }
  .facts div { grid-template-columns: 1fr; }
  .tracker-method { grid-template-columns: 1fr; }
  .story-side { grid-template-columns: 1fr; }
  .data-table { font-size: 15px; }
}
