:root {
  --ink: #101317;
  --paper: #f2efe8;
  --paper-2: #e6e0d4;
  --muted: #666960;
  --line: rgba(16, 19, 23, 0.16);
  --night: #101820;
  --night-2: #17232c;
  --cream: #f6f1e7;
  --green: #2f8f64;
  --green-soft: #b7d8c6;
  --yellow: #d5a62a;
  --yellow-soft: #ead89b;
  --red: #c84f3f;
  --red-soft: #e9bbb3;
  --blue: #5f8ba6;
  --blue-soft: #b9cedb;
  --orange: #d77b3f;
  --max: 1280px;
}

.verification-section { background: #0d151b; color: var(--cream); }
.verification-heading > p:not(.eyebrow) { color: #9aabb3; }
.verification-stats { max-width: var(--max); margin: 0 auto 26px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #35444c; border-left: 1px solid #35444c; }
.verification-stat { min-height: 150px; padding: 22px; border-right: 1px solid #35444c; border-bottom: 1px solid #35444c; }
.verification-stat strong { display: block; font-size: clamp(38px, 4vw, 62px); line-height: .9; letter-spacing: -.055em; }
.verification-stat span { display: block; margin-top: 14px; color: #84969f; font-size: 11px; text-transform: uppercase; letter-spacing: .09em; }
.verification-downloads { max-width: var(--max); margin: -8px auto 26px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.verification-downloads span { margin-right: 6px; color: #71848d; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.verification-downloads a { border: 1px solid #35444c; border-radius: 999px; padding: 7px 10px; color: #b9c7cd; text-decoration: none; font-size: 10px; }
.verification-downloads a:hover { border-color: #93a9b4; color: #fff; }
.verification-console { max-width: var(--max); margin: 0 auto; border: 1px solid #35444c; background: #111d24; }
.verification-tabs { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid #35444c; }
.verification-tab { border: 0; border-right: 1px solid #35444c; background: transparent; color: #8799a2; min-height: 72px; padding: 16px 18px; text-align: left; cursor: pointer; }
.verification-tab:last-child { border-right: 0; }
.verification-tab strong, .verification-tab span { display: block; }
.verification-tab strong { color: #cfd9de; font-size: 14px; }
.verification-tab span { margin-top: 4px; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.verification-tab.active { background: #e8e2d8; color: #5f625e; }
.verification-tab.active strong { color: var(--ink); }
.verification-stage { min-height: 520px; padding: clamp(24px, 4vw, 48px); }
.verification-stage h3 { max-width: 900px; font-size: clamp(30px, 4vw, 56px); }
.verification-stage > p { max-width: 900px; color: #9aacb5; }
.release-banner { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: start; margin-bottom: 36px; padding-bottom: 28px; border-bottom: 1px solid #35444c; }
.release-badge { padding: 8px 11px; border-radius: 999px; background: var(--green); color: #07140e; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.release-banner p { margin: 0; color: #9aacb5; }
.audit-check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.audit-check-card { min-height: 180px; padding: 20px; background: #17242c; border-top: 3px solid var(--green); }
.audit-check-card header { display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.audit-check-card header span { color: #78a88d; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.audit-check-card h4 { margin: 8px 0 12px; font-size: 16px; }
.audit-check-card p { color: #91a2aa; font-size: 12px; }
.audit-check-card .audit-residual { margin-top: 14px; padding-top: 12px; border-top: 1px solid #2c3b43; color: #d1b66b; }
.source-coverage { margin-top: 34px; }
.source-coverage h4 { margin-bottom: 18px; font-size: 13px; text-transform: uppercase; letter-spacing: .1em; }
.coverage-row { display: grid; grid-template-columns: minmax(220px, .9fr) 2fr 56px; gap: 16px; align-items: center; padding: 14px 0; border-top: 1px solid #2c3b43; }
.coverage-row span { font-size: 12px; }
.coverage-track { height: 13px; background: #26343c; overflow: hidden; }
.coverage-fill { height: 100%; background: #8cb4ca; }
.coverage-row strong { text-align: right; font-size: 20px; }
.coverage-row small { grid-column: 1 / -1; color: #778a93; }
.source-audit { margin-top: 42px; border-top: 1px solid #35444c; padding-top: 28px; }
.source-audit-head { display: grid; grid-template-columns: 1fr minmax(260px, .8fr); gap: 24px; align-items: end; }
.source-audit-head h4 { margin: 0; font-size: 18px; }
.source-audit-head p { margin: 7px 0 0; color: #82949d; font-size: 12px; }
.source-audit-search { display: grid; gap: 6px; }
.source-audit-search span { color: #7e9099; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.source-audit-search input { width: 100%; min-height: 44px; border: 1px solid #3a4b54; background: #0e181e; color: #e7ecee; padding: 9px 11px; }
.source-audit-status { margin: 16px 0 10px; color: #81939c; font-size: 11px; }
.fidelity-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 24px; border: 1px solid #304049; }
.fidelity-strip > div { min-height: 96px; padding: 15px; border-right: 1px solid #304049; }
.fidelity-strip > div:last-child { border-right: 0; }
.fidelity-strip strong, .fidelity-strip span { display: block; }
.fidelity-strip strong { font-size: 25px; }
.fidelity-strip span { margin-top: 6px; color: #7f919a; font-size: 10px; }
.source-audit-table-wrap { max-height: 560px; overflow: auto; border: 1px solid #304049; }
.source-audit-table { width: 100%; min-width: 1220px; border-collapse: collapse; }
.source-audit-table th { position: sticky; top: 0; z-index: 1; background: #101b22; color: #7f919b; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.source-audit-table th, .source-audit-table td { padding: 12px; border-bottom: 1px solid #2b3a42; text-align: left; vertical-align: top; }
.source-audit-table td { color: #9dadb5; font-size: 11px; }
.source-audit-table td strong, .source-audit-table td a { color: #e3e9eb; }
.source-audit-table td strong { display: block; margin-bottom: 4px; }
.source-audit-table td a { text-underline-offset: 3px; }
.source-audit-table code { color: #9fb1b9; font-size: 10px; }
.source-audit-table small { display: block; margin-top: 6px; color: #738690; }
.source-basis { display: block; max-width: 520px; color: #bac7cc; }
.source-residual { display: block; margin-top: 8px; padding: 7px 8px; border-left: 2px solid var(--yellow); background: rgba(213,166,42,.08); color: #d8c58b; }
.source-residual strong { display: inline !important; color: inherit !important; }
.source-audit-row[hidden] { display: none; }
.fresh-source-cards .source-pills { margin-top: 12px; }
.fresh-model-note { margin: 18px 0 0; padding: 13px 15px; border-left: 3px solid var(--blue); background: #17242c; }
.fresh-model-note strong, .fresh-model-note span { display: block; }
.fresh-model-note span { margin-top: 4px; color: #8fa0a8; font-size: 11px; }
.model-compare { margin-top: 34px; display: grid; gap: 18px; }
.model-row { display: grid; grid-template-columns: 140px 1fr 130px; gap: 16px; align-items: center; }
.model-row span { font-weight: 700; }
.model-track { height: 28px; background: #26343c; overflow: hidden; }
.model-fill { height: 100%; background: var(--blue); }
.model-row:last-child .model-fill { background: var(--yellow); }
.model-row strong { text-align: right; font-size: 22px; }
.model-ratio { margin: 24px 0; font-family: Georgia, serif; font-size: clamp(28px, 4vw, 52px); }
.model-ratio span { color: #8fa0a8; font-family: inherit; font-size: .4em; }
.verification-callouts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 28px; }
.verification-callout { padding: 18px; background: #17242c; }
.verification-callout strong { display: block; margin-bottom: 8px; }
.verification-callout p { margin: 0; color: #90a2aa; font-size: 12px; }
.dane-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 28px; }
.dane-card { padding: 16px; border: 1px solid #34444d; }
.dane-card strong, .dane-card span { display: block; }
.dane-card strong { font-size: 23px; }
.dane-card span { color: #82949d; font-size: 11px; }
.denominator-audit { margin-top: 26px; padding: clamp(20px, 3vw, 32px); border: 1px solid #574d2f; background: #171a18; }
.denominator-audit header { display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: start; }
.denominator-audit h4 { margin: 0; max-width: 760px; font-size: clamp(24px, 3vw, 38px); }
.denominator-status { padding: 8px 10px; border: 1px solid #7d6931; color: #e1ca82; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.denominator-equation { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 14px; align-items: center; margin-top: 28px; }
.denominator-equation > div { min-height: 112px; padding: 16px; background: #0f171b; }
.denominator-equation strong, .denominator-equation span { display: block; }
.denominator-equation strong { font-size: clamp(26px, 3vw, 42px); }
.denominator-equation span { margin-top: 5px; color: #80929b; font-size: 10px; }
.denominator-equation b { color: #7e8e95; font-size: 24px; }
.denominator-contrast { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 10px; border-top: 1px solid #393b33; border-left: 1px solid #393b33; }
.denominator-contrast > div { padding: 14px; border-right: 1px solid #393b33; border-bottom: 1px solid #393b33; }
.denominator-contrast span, .denominator-contrast strong { display: block; }
.denominator-contrast span { color: #7e8e95; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.denominator-contrast strong { margin-top: 6px; font-size: 20px; }
.denominator-candidates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 18px; }
.denominator-candidate { padding: 16px; background: #0f171b; border-top: 3px solid #657b85; }
.denominator-candidate header { display: flex; grid-template-columns: none; justify-content: space-between; gap: 10px; align-items: start; }
.denominator-candidate header strong { font-size: 13px; }
.denominator-candidate header span { color: #758891; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.candidate-value { margin-top: 18px; font-size: clamp(25px, 3vw, 38px); font-weight: 800; }
.candidate-share { margin-top: 4px; color: #e1ca82; font-size: 15px; font-weight: 750; }
.candidate-share span { color: #788b94; font-size: 9px; font-weight: 500; text-transform: uppercase; letter-spacing: .07em; }
.denominator-candidate p { margin: 14px 0 0; color: #8fa0a8; font-size: 11px; }
.denominator-audit > p { max-width: 900px; margin: 20px 0 0; color: #9aabae; font-size: 12px; }
.aggregate-family-audit { margin-top: 48px; padding-top: 30px; border-top: 1px solid #35444c; }
.aggregate-family-head { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: end; }
.aggregate-family-head h4 { margin: 0; max-width: 680px; font-size: clamp(24px, 3vw, 38px); }
.aggregate-family-head > p { margin: 0; color: #8799a2; font-size: 12px; }
.aggregate-family-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
.aggregate-family-card { display: flex; flex-direction: column; min-height: 300px; padding: 20px; background: #17242c; border-top: 3px solid #779caf; }
.aggregate-family-card header { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.aggregate-family-card header strong { text-transform: capitalize; font-size: 17px; }
.aggregate-family-card header span { max-width: 230px; color: #8ba1ac; font-size: 9px; text-align: right; text-transform: uppercase; letter-spacing: .07em; }
.aggregate-family-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 22px 0 16px; }
.aggregate-family-card dl > div { padding: 10px; background: #101b22; }
.aggregate-family-card dt { color: #71848d; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.aggregate-family-card dd { margin: 6px 0 0; color: #d7e0e4; font-size: 12px; overflow-wrap: anywhere; }
.aggregate-family-card > p { color: #9dadb5; font-size: 12px; }
.aggregate-family-card footer { margin-top: auto; padding: 14px 0 0; background: transparent; border-top: 1px solid #2c3b43; display: flex; justify-content: space-between; gap: 16px; color: #788a93; font-size: 10px; }
.aggregate-family-card footer a { color: #c6d3d8; text-underline-offset: 3px; white-space: nowrap; }
.revision-table-wrap { overflow-x: auto; margin-top: 28px; }
.revision-table { width: 100%; border-collapse: collapse; min-width: 880px; }
.revision-table th, .revision-table td { padding: 14px 12px; border-bottom: 1px solid #304049; text-align: left; vertical-align: top; }
.revision-table th { color: #7f919b; font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.revision-table td { font-size: 12px; }
.revision-table td strong { font-size: 17px; }
.delta-up { color: #b9d8c6; }
.delta-down { color: #e6b2aa; }
.delta-none { color: #8b9aa1; }
.rud-revision { margin-top: 24px; padding: 20px; border-left: 3px solid var(--yellow); background: #17242c; }
.rud-revision strong { display: block; }
.rud-revision p { margin: 8px 0 0; color: #93a4ac; }
.causal-summary { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 24px 0; }
.causal-summary div { min-width: 150px; }
.causal-summary strong, .causal-summary span { display: block; }
.causal-summary strong { font-size: 36px; }
.causal-summary span { color: #84969f; font-size: 11px; }
.causal-matrix-wrap { overflow-x: auto; border: 1px solid #304049; }
.causal-matrix { min-width: 1180px; }
.causal-header, .causal-frame-row { display: grid; grid-template-columns: 280px repeat(8, minmax(92px, 1fr)); }
.causal-header > div, .causal-frame-row > div { min-height: 58px; padding: 10px; border-right: 1px solid #304049; border-bottom: 1px solid #304049; }
.causal-header > div { color: #81939c; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.causal-frame-row .causal-name strong, .causal-frame-row .causal-name span { display: block; }
.causal-frame-row .causal-name strong { font-size: 12px; }
.causal-frame-row .causal-name span { margin-top: 4px; color: #71848d; font-size: 10px; }
.causal-cell { display: grid; place-items: center; font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.causal-cell.yes { background: rgba(47,143,100,.28); color: #b9d8c6; }
.causal-cell.partial { background: rgba(213,166,42,.22); color: #ead89b; }
.causal-cell.no { background: rgba(200,79,63,.22); color: #e9bbb3; }
.causal-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; color: #81939c; font-size: 10px; }
.causal-legend i { display: inline-block; width: 10px; height: 10px; margin-right: 5px; vertical-align: -1px; }
.causal-legend .yes i { background: var(--green); }
.causal-legend .partial i { background: var(--yellow); }
.causal-legend .no i { background: var(--red); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.45;
}
button, a { font: inherit; }
a { color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #6aa7ca;
  outline-offset: 3px;
}
.skip-link { position: fixed; top: 10px; left: 14px; z-index: 100; transform: translateY(-160%); padding: 10px 13px; background: var(--cream); color: var(--night); border: 2px solid var(--night); text-decoration: none; font-weight: 800; font-size: 12px; transition: transform .15s ease; }
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 16px clamp(20px, 4vw, 64px);
  background: color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
}
.site-header nav { display: flex; gap: 20px; font-size: 13px; }
.site-header nav a, .brand { text-decoration: none; }
.site-header nav a { color: #555b58; transition: color .15s, background .15s, border-color .15s; }
.site-header nav a.active { color: var(--ink); font-weight: 750; }
.brand { display: inline-flex; align-items: center; gap: 9px; font-weight: 800; letter-spacing: -0.02em; }
.brand-mark { width: 11px; height: 11px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 5px rgba(200,79,63,.13); }
.reading-progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; }
.reading-progress span { display: block; width: 0; height: 100%; background: var(--red); }

.story-section { padding: clamp(72px, 10vw, 150px) clamp(20px, 5vw, 80px); }
.eyebrow { margin: 0 0 16px; font-size: 12px; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(54px, 9vw, 132px); line-height: 0.88; letter-spacing: -0.065em; max-width: 1050px; }
h2 { font-size: clamp(42px, 6.8vw, 96px); line-height: 0.95; letter-spacing: -0.055em; }
h3 { font-size: 22px; line-height: 1.05; letter-spacing: -0.025em; }

.hero {
  min-height: 920px;
  background: var(--night);
  color: var(--cream);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  grid-template-rows: auto auto;
  gap: 64px 30px;
  overflow: hidden;
}
.hero-copy { position: relative; z-index: 2; align-self: center; }
.hero-dek { max-width: 720px; font-size: clamp(20px, 2.2vw, 30px); color: #c7d0d4; }
.primary-link { display: inline-flex; gap: 12px; align-items: center; margin-top: 30px; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 22px; }
.secondary-link { color: #92a2aa; text-decoration: none; border-bottom: 1px solid #50616b; padding-bottom: 5px; }
.hero-telemetry { margin-top: 42px; max-width: 760px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(246,241,231,.17); border-bottom: 1px solid rgba(246,241,231,.17); }
.hero-telemetry > div { min-height: 92px; padding: 16px 16px 14px 0; border-right: 1px solid rgba(246,241,231,.12); }
.hero-telemetry > div:not(:first-child) { padding-left: 16px; }
.hero-telemetry > div:last-child { border-right: 0; }
.hero-telemetry span, .hero-telemetry small { display: block; color: #7f919a; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.hero-telemetry strong { display: block; margin-top: 10px; color: #f2eee5; font-size: clamp(21px, 2vw, 30px); line-height: 1; letter-spacing: -.035em; }
.hero-telemetry small { margin-top: 6px; text-transform: none; letter-spacing: .03em; }

.hero-map-shell { align-self: stretch; position: relative; min-height: 600px; border-left: 1px solid rgba(246,241,231,.12); overflow: hidden; }
.hero-map { width: 100%; height: 100%; min-height: 600px; }
.hero-map-caption { position: absolute; left: 20px; right: 20px; bottom: 16px; padding: 14px 16px; background: rgba(12,20,26,.74); backdrop-filter: blur(8px); border: 1px solid rgba(246,241,231,.12); }
.hero-map-caption strong { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; }
.hero-map-caption span { display: block; color: #91a1aa; margin-top: 4px; font-size: 11px; }

.geo-map { display: block; width: 100%; background: transparent; overflow: hidden; }
.map-ocean, .country-shape { pointer-events: none; }
.map-outline { fill: #17242d; stroke: #63757f; stroke-width: 1.3; }
.hero-map .map-outline { fill: #142129; stroke: #495b65; }
.map-graticule { stroke: rgba(108,126,137,.22); stroke-width: 1; stroke-dasharray: 2 6; }
.map-grid-label { fill: #6f818a; font-size: 10px; }
.map-station { fill: rgba(95,139,166,.22); stroke: #8db2c8; stroke-width: 1.5; cursor: pointer; }
.map-station:hover, .map-station:focus { fill: rgba(95,139,166,.5); stroke: #d8e7ef; }
.map-hub { fill: var(--paper); stroke: var(--red); stroke-width: 3; cursor: pointer; }
.map-hub-ring { fill: none; stroke: rgba(200,79,63,.35); stroke-width: 1; }
.map-campus { fill: var(--yellow); stroke: var(--night); stroke-width: 2; cursor: pointer; }
.map-epicenter { fill: var(--red); stroke: #ffcfca; stroke-width: 1.5; }
.map-label { fill: #d6e0e4; font-size: 12px; font-weight: 700; paint-order: stroke; stroke: var(--night); stroke-width: 4px; stroke-linejoin: round; }
.map-label-sub { fill: #8fa1aa; font-size: 9px; paint-order: stroke; stroke: var(--night); stroke-width: 3px; }
.hero-map .map-label { font-size: 11px; }

.event-stage { min-height: 600px; position: relative; isolation: isolate; }
.quake-rings { position: absolute; inset: 10% -20% -20% -40%; display: grid; place-items: center; }
.quake-rings span { position: absolute; border: 1px solid rgba(246,241,231,.18); border-radius: 50%; aspect-ratio: 1; }
.quake-rings span:nth-child(1) { width: 22%; }
.quake-rings span:nth-child(2) { width: 46%; }
.quake-rings span:nth-child(3) { width: 72%; }
.quake-rings span:nth-child(4) { width: 100%; }
.epicenter { position: absolute; top: 48%; left: 32%; display: grid; gap: 2px; z-index: 2; }
.epicenter-mark { position: absolute; left: -22px; top: 7px; width: 12px; height: 12px; background: var(--red); border-radius: 50%; box-shadow: 0 0 0 8px rgba(200,79,63,.18); }
.epicenter small { color: #b4c2ca; }
.city-label { position: absolute; padding: 6px 9px; border-left: 2px solid rgba(246,241,231,.38); color: #dce3e5; font-size: 12px; }
.city-armenia { top: 26%; left: 55%; }
.city-pereira { top: 19%; left: 48%; }
.city-manizales { top: 12%; left: 42%; }
.city-cali { top: 53%; left: 62%; }
.schematic-note { position: absolute; right: 0; bottom: 0; color: #81909a; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; }
.hero-metrics { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(246,241,231,.18); }
.hero-metric { padding: 26px 24px 0 0; }
.hero-metric strong { display: block; font-size: clamp(34px, 4vw, 66px); letter-spacing: -.05em; line-height: 1; }
.hero-metric span { display: block; margin-top: 8px; color: #9dabb4; font-size: 12px; max-width: 180px; }

.wide-heading { max-width: var(--max); }
.geography-section { background: #111a21; color: var(--cream); }
.geography-section .section-heading > p:not(.eyebrow) { color: #a8b5bc; }
.map-layout { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .55fr); gap: 18px; align-items: start; }
.map-card { position: sticky; top: 92px; background: #0c141a; border: 1px solid #293841; min-width: 0; }
.map-narrative { min-width: 0; }
.map-toolbar { padding: 14px; display: flex; gap: 8px; flex-wrap: wrap; border-bottom: 1px solid #293841; }
.map-layer { border: 1px solid #40515b; color: #91a1aa; background: transparent; border-radius: 999px; padding: 8px 11px; cursor: pointer; font-size: 12px; }
.map-layer.active { background: #dce5e9; border-color: #dce5e9; color: #142028; }
.evidence-map { min-height: 620px; }
.map-legend { padding: 12px 16px 16px; border-top: 1px solid #293841; display: flex; flex-wrap: wrap; gap: 14px; color: #8fa0a8; font-size: 11px; }
.map-legend span { display: inline-flex; align-items: center; gap: 7px; }
.legend-symbol { width: 9px; height: 9px; display: inline-block; border-radius: 50%; }
.epicenter-symbol { background: var(--red); }
.station-symbol { background: var(--blue); }
.hub-symbol { background: var(--paper); border: 2px solid var(--red); }
.campus-symbol { background: var(--yellow); border-radius: 1px; transform: rotate(45deg); }
.pga-scale { flex: 1 1 100%; margin-top: 3px; padding-top: 14px; border-top: 1px solid #26343c; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px 14px; }
.pga-scale > strong { color: #c7d3d8; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.pga-scale-note { color: #667983; font-size: 9px; }
.pga-scale-items { grid-column: 3; display: flex; gap: 14px; align-items: end; }
.pga-scale-items > span { display: inline-grid; grid-template-columns: var(--pga-size, 16px) auto; align-items: center; gap: 5px; }
.pga-scale-items i { width: var(--pga-size, 16px); height: var(--pga-size, 16px); border-radius: 50%; background: rgba(95,139,166,.22); border: 1px solid #8cb4ca; }
.pga-scale-items b { color: #9fb0b8; font-size: 9px; font-weight: 600; }
.map-detail { background: #17242d; border: 1px solid #293841; padding: clamp(22px, 3vw, 34px); min-width: 0; }
.map-detail .eyebrow { color: #7f929c; }
.map-detail h3 { font-size: clamp(30px, 3vw, 44px); }
.map-detail p { color: #a9b6bc; }
.map-detail-value { margin: 30px 0; font-size: clamp(50px, 6vw, 80px); letter-spacing: -.06em; line-height: .92; }
.map-detail-value small { display: block; margin-top: 10px; color: #80929b; font-size: 11px; letter-spacing: .02em; }
.station-profile { margin-top: 12px; border: 1px solid #293841; background: #10181e; }
.station-profile > header { padding: 18px 18px 14px; border-bottom: 1px solid #293841; display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: end; }
.station-profile > header span, .station-profile > header small { display: block; color: #6f838d; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.station-profile > header strong { display: block; margin-top: 5px; color: #dce5e9; font-size: 14px; line-height: 1.25; max-width: 430px; }
.station-profile > header small { white-space: nowrap; }
.station-profile-list { display: grid; }
.station-profile-row { display: grid; grid-template-columns: 26px minmax(110px, 1fr) minmax(80px, 1.25fr) 62px 48px; gap: 10px; align-items: center; min-height: 58px; padding: 9px 12px; border: 0; border-bottom: 1px solid #222f37; background: transparent; color: #c8d3d8; text-align: left; cursor: pointer; }
.station-profile-row:last-child { border-bottom: 0; }
.station-profile-row:hover, .station-profile-row:focus-visible { background: #17242d; outline: none; }
.station-rank { color: #536873; font-size: 9px; }
.station-name strong, .station-name small { display: block; }
.station-name strong { font-size: 12px; }
.station-name small { margin-top: 2px; color: #70828b; font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.station-bar { height: 8px; background: #1d2a32; overflow: hidden; }
.station-bar i { display: block; height: 100%; min-width: 3px; background: linear-gradient(90deg, #5f8ba6, #a9cadc); }
.station-pga { font-size: 12px; text-align: right; font-variant-numeric: tabular-nums; }
.station-distance { color: #647781; font-size: 9px; text-align: right; }
.map-case-list { display: grid; gap: 8px; margin-top: 20px; }
.map-case-link { width: 100%; border: 0; border-top: 1px solid #34444d; background: transparent; color: #d7e0e4; text-align: left; padding: 12px 0; cursor: pointer; }
.map-case-link small { color: #788b95; display: block; }
.pga-contrast { margin-top: 28px; }
.pga-row { display: grid; grid-template-columns: 65px 1fr auto; gap: 10px; align-items: center; margin: 10px 0; font-size: 11px; }
.pga-track { height: 9px; background: #26363f; }
.pga-fill { height: 100%; background: var(--blue); }
.map-story-steps { display: grid; gap: 10px; margin-top: 12px; }
.map-story-step { min-height: 180px; padding: 22px; border: 1px solid #293841; background: #111a21; opacity: .48; transition: opacity .2s, background .2s, border-color .2s; }
.map-story-step.active { opacity: 1; background: #17242d; border-color: #536773; }
.map-story-step > span { color: #6d818b; font-size: 10px; letter-spacing: .12em; }
.map-story-step strong { display: block; margin: 42px 0 10px; font-size: 19px; line-height: 1.08; }
.map-story-step p { color: #93a3ab; font-size: 13px; margin-bottom: 0; }

.satellite-section { background: #202428; color: var(--cream); }
.satellite-section .section-heading > p:not(.eyebrow) { color: #aeb8bd; }
.satellite-layout { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: 20px; align-items: start; }
.satellite-field { min-width: 0; border: 1px solid #343d43; background: #11171b; }
.satellite-toolbar { display: flex; gap: 7px; padding: 12px; border-bottom: 1px solid #343d43; overflow-x: auto; }
.satellite-filter { min-width: 120px; flex: 1 0 auto; display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: baseline; border: 1px solid #364249; background: #171f24; color: #8d9ca3; padding: 10px 12px; text-align: left; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.satellite-filter span { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.satellite-filter strong { color: #d9e1e4; font-size: 15px; }
.satellite-filter:hover, .satellite-filter:focus-visible { border-color: #7d8d95; color: #d9e1e4; outline: none; }
.satellite-filter.active { background: #e4dfd6; border-color: #e4dfd6; color: #535b5f; }
.satellite-filter.active strong { color: #141a1e; }
.satellite-grid { display: grid; grid-template-columns: repeat(34, minmax(8px, 1fr)); gap: 3px; padding: clamp(18px, 2.5vw, 30px); background: #11171b; border: 1px solid #343d43; }
.satellite-field .satellite-grid { border: 0; }
.satellite-cell { aspect-ratio: 1; border-radius: 1px; transition: opacity .18s ease, transform .18s ease, filter .18s ease; }
.satellite-cell.destroyed { background: var(--red); }
.satellite-cell.damaged { background: var(--orange); }
.satellite-cell.possible { background: var(--yellow); }
.satellite-cell.dimmed { opacity: .085; filter: saturate(.35); transform: scale(.82); }
.satellite-status { min-height: 45px; padding: 12px 16px; border-top: 1px solid #2d373c; color: #84949b; font-size: 11px; }
.satellite-summary { position: sticky; top: 104px; padding: 26px; border: 1px solid #3b4449; background: #171d21; }
.satellite-total { border-bottom: 1px solid #3b4449; padding-bottom: 24px; margin-bottom: 12px; }
.satellite-total strong { display: block; font-size: clamp(58px, 7vw, 96px); line-height: .85; letter-spacing: -.065em; }
.satellite-total span { display: block; margin-top: 10px; color: #9ca8ae; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.satellite-composition { height: 12px; display: flex; overflow: hidden; margin: 8px 0 16px; background: #0f1519; border: 1px solid #30393e; }
.satellite-composition span { height: 100%; }
.satellite-composition .destroyed { background: var(--red); }
.satellite-composition .damaged { background: var(--orange); }
.satellite-composition .possible { background: var(--yellow); }
.satellite-count { display: grid; grid-template-columns: 10px 1fr auto auto; align-items: baseline; gap: 10px; padding: 13px 0; border-bottom: 1px solid #30393e; }
.satellite-count i { width: 9px; height: 9px; border-radius: 50%; }
.satellite-count span { color: #c0c8cc; font-size: 12px; }
.satellite-count strong { font-size: 24px; letter-spacing: -.035em; }
.satellite-count small { min-width: 42px; color: #819099; text-align: right; }
.satellite-summary .method-note { margin-top: 24px; color: #8e9ba2; border-left-color: #4c585e; }

.success-section { background: #ece8df; }
.success-intro { max-width: 1100px; margin-bottom: 50px; }
.success-intro > p:not(.eyebrow) { max-width: 760px; font-size: 20px; }
.success-console { max-width: var(--max); margin: 0 auto; }
.success-controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.criterion { min-height: 165px; border: 1px solid #bdb7aa; background: transparent; text-align: left; padding: 20px; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.criterion span { font-size: 11px; color: var(--muted); }
.criterion strong { display: block; margin-top: 32px; font-size: 19px; }
.criterion small { display: block; margin-top: 7px; color: var(--muted); }
.criterion.active { background: var(--night); border-color: var(--night); color: var(--cream); }
.criterion.active span, .criterion.active small { color: #94a5ae; }
.success-summary { margin: 42px 0 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.success-stat { padding: 20px; border-top: 3px solid var(--ink); background: #ddd8ce; }
.success-stat strong { font-size: 44px; letter-spacing: -.05em; }
.success-stat span { display: block; color: var(--muted); }
.success-stat.meets { border-top-color: var(--green); }
.success-stat.unresolved { border-top-color: var(--yellow); }
.success-stat.fails { border-top-color: var(--red); }
.success-matrix { display: grid; grid-template-columns: repeat(13, minmax(52px, 1fr)); gap: 5px; overflow-x: auto; padding-bottom: 10px; }
.success-case { min-width: 62px; border: 0; min-height: 160px; padding: 8px; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; text-align: left; background: #d7d2c8; }
.success-case.meets { background: var(--green-soft); }
.success-case.unresolved { background: var(--yellow-soft); }
.success-case.fails { background: var(--red-soft); }
.success-case strong { font-size: 11px; line-height: 1.1; writing-mode: vertical-rl; transform: rotate(180deg); max-height: 106px; overflow: hidden; }
.success-case small { font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }

.thesis-band { background: #d7d2c6; }
.thesis-copy { font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 5vw, 72px); line-height: 1.06; max-width: 1180px; }
.thesis-split { margin-top: 72px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.thesis-split > div { border-top: 1px solid var(--ink); padding-top: 20px; }
.signal { display: inline-block; width: 10px; height: 10px; margin-right: 8px; border-radius: 50%; }
.signal-positive { background: var(--green); }.signal-warning { background: var(--yellow); }.signal-danger { background: var(--red); }
.thesis-split p { color: #4d504a; }

.split-layout { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(300px, .85fr) minmax(0, 1.4fr); gap: 70px; }
.sticky-copy { align-self: start; position: sticky; top: 110px; }
.sticky-copy h2 { font-size: clamp(42px, 5vw, 76px); }
.sticky-copy > p:not(.eyebrow):not(.method-note) { font-size: 20px; max-width: 560px; }
.segmented-control { display: inline-flex; border: 1px solid var(--ink); border-radius: 999px; padding: 4px; margin: 26px 0; }
.segment { border: 0; background: transparent; padding: 10px 18px; border-radius: 999px; cursor: pointer; }
.segment.active { background: var(--ink); color: var(--cream); }
.big-statement { font-family: Georgia, serif; font-size: 29px; line-height: 1.15; min-height: 100px; }
.method-note { font-size: 12px; color: var(--muted); max-width: 520px; border-left: 2px solid var(--line); padding-left: 14px; }
.visual-panel { min-width: 0; }
.building-grid { display: grid; grid-template-columns: repeat(8, minmax(38px, 1fr)); gap: clamp(8px, 1vw, 14px); padding: 28px; background: #ded9cf; border-radius: 3px; }
.building-glyph { aspect-ratio: .72; position: relative; background: #b8b3aa; border-radius: 2px 2px 0 0; transition: background .35s ease, transform .35s ease, opacity .35s ease; }
.building-glyph::before, .building-glyph::after { content: ""; position: absolute; left: 14%; right: 14%; height: 4%; background: rgba(255,255,255,.33); }
.building-glyph::before { top: 32%; box-shadow: 0 13px 0 rgba(255,255,255,.33); }
.building-glyph::after { bottom: 5%; left: 38%; right: 38%; height: 18%; }
.state-light, .state-unrestricted { background: var(--green); }
.state-moderate, .state-restricted { background: var(--yellow); }
.state-major, .state-disabled { background: var(--red); }
.legend { display: flex; flex-wrap: wrap; gap: 14px 22px; padding: 18px 0 36px; font-size: 13px; }
.legend-item { display: flex; align-items: center; gap: 8px; }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; }
.three-levels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.three-levels article { padding: 22px; background: var(--night); color: var(--cream); min-height: 210px; }
.three-levels article span { color: #788a94; font-size: 12px; }
.three-levels article strong { display: block; margin: 34px 0 12px; font-size: 20px; }
.three-levels article p { color: #9faeb6; font-size: 14px; }
.utp-campus-spatial { margin-top: 18px; background: #111a21; color: var(--cream); border: 1px solid #26343c; }
.utp-campus-heading { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; padding: 16px 18px; border-bottom: 1px solid #26343c; }
.utp-campus-heading span { color: #7f919a; font-size: 10px; text-transform: uppercase; letter-spacing: .11em; }
.utp-campus-heading strong { font-size: 14px; }
#utpCampusMap { display: block; width: 100%; min-height: 330px; }
.utp-campus-bg { fill: #0c141a; }
.utp-campus-grid { stroke: #20303a; stroke-width: 1; stroke-dasharray: 2 7; }
.utp-campus-point { cursor: pointer; outline: none; }
.utp-campus-point circle { fill: #60747e; stroke: #9aabb3; stroke-width: 1.5; transition: r .15s, fill .15s, stroke .15s; }
.utp-campus-point.linked circle { fill: var(--yellow); stroke: #fff2bf; stroke-width: 2; }
.utp-campus-point:hover circle, .utp-campus-point:focus circle { fill: var(--red); stroke: #ffe1dc; }
.utp-campus-point text { fill: #dae3e6; font-size: 10px; paint-order: stroke; stroke: #0c141a; stroke-width: 3px; }
.utp-campus-detail { min-height: 90px; padding: 16px 18px; border-top: 1px solid #26343c; color: #8fa0a8; font-size: 12px; }
.utp-campus-detail strong, .utp-campus-detail span { display: block; }
.utp-campus-detail strong { color: var(--cream); margin-bottom: 5px; font-size: 14px; }
.utp-campus-detail button { margin-top: 10px; border: 0; background: transparent; color: #dce6ea; border-bottom: 1px solid #697a83; padding: 4px 0; cursor: pointer; }

.armenia-section { background: #e4dfd5; }
.section-heading { max-width: 1000px; margin: 0 auto 58px; }
.section-heading.narrow { max-width: 820px; margin-left: 0; }
.section-heading > p:not(.eyebrow) { max-width: 760px; font-size: 19px; }
.armenia-layout { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 44px; align-items: start; }
.occupancy-grid-wrap { background: #d3cec4; padding: clamp(18px, 3vw, 36px); }
.occupancy-grid { display: grid; grid-template-columns: repeat(49, 1fr); gap: 3px; }
.occupancy-cell { aspect-ratio: 1; border-radius: 50%; transition: opacity .2s ease, transform .2s ease; }
.occupancy-cell.green { background: var(--green); }.occupancy-cell.yellow { background: var(--yellow); }.occupancy-cell.red { background: var(--red); }
.occupancy-cell.dimmed { opacity: .08; transform: scale(.72); }
.armenia-controls { position: sticky; top: 110px; }
.occupancy-total span { display: block; font-size: 72px; line-height: .9; letter-spacing: -.06em; }
.occupancy-total small { color: var(--muted); }
.filter-stack { display: grid; gap: 8px; margin: 30px 0; }
.filter-button { display: grid; grid-template-columns: 12px 1fr auto; align-items: center; gap: 10px; padding: 12px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; }
.filter-button[aria-pressed="false"] { opacity: .42; }
.filter-color { width: 10px; height: 10px; border-radius: 50%; }
.armenia-insight { border-top: 2px solid var(--ink); padding-top: 18px; }
.armenia-insight p { color: var(--muted); font-size: 14px; }

.schools-section { background: #cfc9bd; }
.school-panels { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.school-panel { background: #e8e3d9; padding: clamp(22px, 3vw, 38px); }
.school-panel.dark { background: var(--night-2); color: var(--cream); }
.school-panel header span { font-size: 11px; text-transform: uppercase; letter-spacing: .13em; color: var(--muted); }
.school-panel.dark header span { color: #84949c; }
.school-panel h3 { margin: 12px 0 28px; font-size: clamp(28px, 3.2vw, 46px); }
.school-grid { display: grid; grid-template-columns: repeat(14, minmax(9px, 1fr)); gap: 5px; min-height: 190px; align-content: start; }
.school-cell { aspect-ratio: 1; border-radius: 2px; background: #aaa; transition: opacity .2s ease, transform .2s ease; }
.school-cell.no-major, .school-cell.habitable { background: var(--green); }
.school-cell.partial, .school-cell.restricted { background: var(--yellow); }
.school-cell.drift { background: var(--orange); }
.school-cell.total, .school-cell.collapse-danger { background: var(--red); }
.legend.compact { padding-bottom: 20px; }
.school-panel.dark .method-note { color: #9ba9b0; border-left-color: #45545c; }

.healthcare-section { background: #e8e3da; }
.healthcare-panels { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.health-panel { padding: clamp(24px, 3vw, 40px); background: #f0ece4; }
.health-panel.dark { background: var(--night-2); color: var(--cream); }
.health-panel header span { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); }
.health-panel.dark header span { color: #84949c; }
.health-panel h3 { margin: 10px 0 28px; font-size: clamp(28px, 3.2vw, 46px); }
.health-unit-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; max-width: 520px; margin: 28px 0 8px; }
.health-status-band { margin: 6px 0 24px; padding: 16px; border: 1px solid #d1cabf; background: rgba(255,255,255,.28); }
.health-band-head, .health-band-foot, .capacity-rail-head, .capacity-rail-foot { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.health-band-head span, .capacity-rail-head span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }
.health-band-head strong { font-size: 13px; }
.health-band-track, .capacity-track { display: flex; height: 16px; margin: 15px 0 8px; overflow: hidden; background: #cbc5ba; }
.health-band-track .green { background: var(--green); }
.health-band-track .restricted { background: var(--yellow); }
.health-band-foot { color: var(--muted); font-size: 10px; }
.health-unit { aspect-ratio: 1; display: grid; place-items: center; border-radius: 4px; position: relative; }
.health-unit.green { background: var(--green); }
.health-unit.restricted { background: var(--yellow); }
.health-unit.red { background: var(--red); }
.health-unit::before, .health-unit::after { content: ""; position: absolute; background: rgba(255,255,255,.72); border-radius: 1px; }
.health-unit::before { width: 38%; height: 10%; }
.health-unit::after { width: 10%; height: 38%; }
.health-panel > p { color: var(--muted); font-size: 13px; max-width: 690px; }
.health-panel.dark > p { color: #9eacb3; }
.bed-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 6px 0 26px; }
.bed-summary > div { border-top: 2px solid #62727b; padding-top: 12px; }
.bed-summary strong { display: block; font-size: clamp(38px, 4vw, 58px); line-height: 1; letter-spacing: -.05em; }
.bed-summary span { display: block; margin-top: 5px; color: #8fa0a8; font-size: 11px; }
.bed-summary p { grid-column: 1 / -1; color: #b3bec4; margin: 0; }
.capacity-rail { margin: 0 0 20px; padding: 16px; border: 1px solid #35444c; background: #111a21; }
.capacity-rail-head span { color: #7f929c; }
.capacity-rail-head strong { color: #e5ecef; font-size: 13px; }
.capacity-track { height: 24px; margin-top: 14px; background: #25323a; }
.capacity-track .available { position: relative; background: var(--green); min-width: 34px; }
.capacity-track .unavailable { background: rgba(200,79,63,.72); }
.capacity-track b { position: absolute; left: 8px; top: 3px; color: #f1f6f3; font-size: 11px; }
.capacity-rail-foot { color: #82939c; font-size: 10px; }
.bed-grid { display: grid; grid-template-columns: repeat(22, 1fr); gap: 3px; padding: 16px; background: #101a21; }
.bed-cell { aspect-ratio: 1; border-radius: 1px; }
.bed-cell.available { background: var(--green); }
.bed-cell.unavailable { background: rgba(200,79,63,.58); }
.inline-evidence-button { border: 0; border-bottom: 1px solid currentColor; background: transparent; color: inherit; padding: 6px 0; cursor: pointer; }

.cases-section { max-width: var(--max); margin: 0 auto; }
.case-atlas { margin: 18px 0 26px; border: 1px solid #aaa398; background: #e9e4da; }
.case-atlas-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(420px, .8fr); gap: 28px; align-items: end; padding: 24px; border-bottom: 1px solid #bcb5aa; }
.case-atlas-head h3 { margin: 4px 0 9px; font-size: clamp(25px, 2.5vw, 36px); }
.case-atlas-head p:last-child { max-width: 650px; margin-bottom: 0; color: var(--muted); font-size: 12px; }
.case-atlas-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-left: 1px solid #c2bbb0; }
.case-atlas-stats > div { min-height: 72px; padding: 11px 13px; border-top: 1px solid #c2bbb0; border-right: 1px solid #c2bbb0; border-bottom: 1px solid #c2bbb0; }
.case-atlas-stats strong, .case-atlas-stats span { display: block; }
.case-atlas-stats strong { font-size: 27px; line-height: 1; letter-spacing: -.04em; }
.case-atlas-stats span { margin-top: 8px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.case-location-reset { padding: 12px 14px 0; }
.case-location-reset button { border: 0; border-bottom: 1px solid #8b857c; background: transparent; padding: 4px 0; color: var(--muted); cursor: pointer; font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }
.case-location-reset button.active { color: var(--ink); font-weight: 800; border-bottom-color: var(--ink); }
.case-atlas-locations { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 12px 14px 16px; gap: 8px; }
.case-atlas-location { min-width: 0; border: 1px solid #c7c0b5; background: rgba(255,255,255,.22); transition: border-color .15s, background .15s; }
.case-atlas-location.selected { border-color: var(--ink); background: #f0ece4; }
.case-location-button { width: 100%; min-height: 58px; display: grid; grid-template-columns: 1fr auto; gap: 9px; align-items: center; border: 0; border-bottom: 1px solid #d0c9bf; background: transparent; padding: 10px 11px; text-align: left; cursor: pointer; }
.case-location-button:hover, .case-location-button:focus-visible { background: rgba(255,255,255,.42); outline: none; }
.case-location-button span { min-width: 0; overflow: hidden; text-overflow: ellipsis; color: #555851; font-size: 10px; line-height: 1.2; text-transform: uppercase; letter-spacing: .06em; }
.case-location-button strong { font-size: 19px; }
.case-atlas-nodes { min-height: 70px; display: flex; flex-wrap: wrap; align-content: start; gap: 7px; padding: 11px; }
.case-atlas-node { --node: #8c8a84; width: 29px; height: 29px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--node); color: #fff; cursor: pointer; font-size: 9px; font-weight: 850; transition: opacity .15s, transform .15s, box-shadow .15s; }
.case-atlas-node.positive { --node: var(--green); }
.case-atlas-node.caution { --node: var(--yellow); color: #3b3218; }
.case-atlas-node.failure { --node: var(--red); }
.case-atlas-node.confidence-medium { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 3px var(--node); }
.case-atlas-node.filtered { opacity: .17; transform: scale(.83); }
.case-atlas-node:hover, .case-atlas-node:focus-visible { opacity: 1; transform: scale(1.12); outline: 2px solid var(--ink); outline-offset: 2px; }
.case-atlas-legend { display: flex; flex-wrap: wrap; gap: 12px 20px; padding: 12px 14px 15px; border-top: 1px solid #c7c0b5; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.case-atlas-legend span { display: inline-flex; align-items: center; gap: 6px; }
.case-atlas-legend i { width: 10px; height: 10px; border-radius: 50%; background: #aaa; }
.case-atlas-legend i.positive { background: var(--green); }
.case-atlas-legend i.caution { background: var(--yellow); }
.case-atlas-legend i.failure { background: var(--red); }
.case-atlas-legend i.medium { background: transparent; border: 2px solid #78746d; }
.case-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.case-filter { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 999px; padding: 8px 11px 8px 14px; background: transparent; cursor: pointer; }
.case-filter strong { min-width: 20px; padding: 2px 6px; border-radius: 999px; background: rgba(16,19,23,.08); font-size: 10px; }
.case-filter.active { background: var(--ink); color: var(--cream); }
.case-filter.active strong { background: rgba(255,255,255,.16); }
.case-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }
.case-card { grid-column: span 4; min-height: 380px; padding: 24px; display: flex; flex-direction: column; background: #e0dbd1; border-top: 5px solid var(--ink); }
.case-card[data-role="retrofit_positive"], .case-card[data-role="cohort_functionality"], .case-card[data-role="modern_case"] { border-top-color: var(--green); }
.case-card[data-role="nonstructural_failure"], .case-card[data-role="essential_facility"], .case-card[data-role="structure_vs_use"], .case-card[data-role="school_resilience"] { border-top-color: var(--yellow); }
.case-card[data-role="legacy_failure"], .case-card[data-role="counterexample"] { border-top-color: var(--red); }
.case-card .location { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .12em; }
.case-confidence { width: max-content; margin-top: 18px; padding: 5px 8px; border: 1px solid #a9a298; color: #69685f; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.case-confidence.confidence-high { border-color: #7da88e; color: #38664d; }
.case-card h3 { font-size: 29px; margin-top: 18px; }
.case-card .case-headline { color: #454842; font-size: 16px; }
.case-card button { margin-top: auto; align-self: start; border: 0; border-bottom: 1px solid var(--ink); background: transparent; padding: 6px 0; cursor: pointer; }
.profile-strip { display: flex; gap: 6px; margin: 18px 0 24px; }
.profile-dot { width: 9px; height: 9px; border-radius: 50%; background: #aaa; }
.profile-dot.meets { background: var(--green); }
.profile-dot.partial { background: var(--yellow); }
.profile-dot.does_not_meet { background: var(--red); }
.profile-dot.unknown { background: #9e9e98; }

.mechanisms-section { background: #0d151b; color: var(--cream); }
.mechanisms-section .section-heading > p:not(.eyebrow) { color: #a8b4ba; }
.mechanism-layout { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr); border: 1px solid #2c3b44; }
.mechanism-list { border-right: 1px solid #2c3b44; }
.mechanism-tab { width: 100%; display: grid; grid-template-columns: 34px 1fr; gap: 10px; border: 0; border-bottom: 1px solid #2c3b44; background: transparent; color: #8fa0a8; text-align: left; padding: 17px; cursor: pointer; }
.mechanism-tab span { font-size: 10px; color: #5f727c; }
.mechanism-tab strong { font-weight: 600; }
.mechanism-tab.active { background: #17242d; color: var(--cream); }
.mechanism-detail { padding: clamp(25px, 4vw, 54px); min-height: 560px; }
.mechanism-detail > * { animation: mechanism-fade 700ms ease both; }
@keyframes mechanism-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
#mechanisms .mechanism-layout { grid-template-columns: 1fr; }
.mechanism-stage { display: grid; grid-template-columns: 76px minmax(0, 1fr) 76px; align-items: center; min-width: 0; padding-bottom: 18px; }
.mechanism-stage .mechanism-detail { grid-column: 2; }
.mechanism-arrow { justify-self: center; width: 48px; height: 48px; border: 1px solid #40515b; border-radius: 50%; background: transparent; color: var(--cream); font-size: 20px; cursor: pointer; }
.mechanism-arrow:hover { background: #1b2a33; }
.mechanism-count { grid-column: 2; justify-self: center; color: #8fa0a8; font-size: 13px; }
@media (max-width: 640px) {
  .mechanism-stage { grid-template-columns: 44px minmax(0, 1fr) 44px; }
  .mechanism-arrow { width: 36px; height: 36px; font-size: 16px; }
  .mechanism-stage .mechanism-detail { padding-left: 4px; padding-right: 4px; }
}
.mechanism-detail > .eyebrow { color: #6f838d; }
.mechanism-detail h3 { max-width: 760px; font-size: clamp(34px, 4.4vw, 64px); letter-spacing: -.045em; }
.mechanism-detail > p { color: #a9b5bb; max-width: 760px; font-size: 18px; }
.mechanism-visual { margin: 40px 0 30px; min-height: 220px; display: grid; place-items: center; border-top: 1px solid #2e3e47; border-bottom: 1px solid #2e3e47; }
.mechanism-visual svg { width: min(520px, 100%); height: 220px; }
.mechanism-case-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mechanism-case-chip { border: 1px solid #40515b; border-radius: 999px; background: transparent; color: #d4dde1; padding: 8px 11px; cursor: pointer; }
.mechanism-evidence { margin-top: 18px; color: #71858f; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; }

.retrofit-section { background: #d7d1c5; }
.retrofit-picker { max-width: var(--max); margin: 0 auto 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.retrofit-tab { border: 1px solid #aaa397; background: transparent; padding: 18px; text-align: left; cursor: pointer; min-height: 96px; }
.retrofit-tab strong, .retrofit-tab span { display: block; }
.retrofit-tab strong { font-size: 17px; }
.retrofit-tab span { margin-top: 6px; color: var(--muted); font-size: 11px; }
.retrofit-tab.active { background: var(--night); color: var(--cream); border-color: var(--night); }
.retrofit-tab.active span { color: #93a4ad; }
.retrofit-stage { max-width: var(--max); margin: 0 auto; background: #eee9df; border-top: 3px solid var(--ink); padding: clamp(24px, 4vw, 44px); }
.retrofit-stage-head { display: flex; justify-content: space-between; gap: 24px; align-items: start; }
.retrofit-stage-head h3 { margin: 8px 0; font-size: clamp(34px, 4vw, 58px); }
.retrofit-stage-head > div > p:last-child { color: var(--muted); font-size: 16px; }
.retrofit-stage-head button { border: 0; border-bottom: 1px solid var(--ink); background: transparent; padding: 5px 0; cursor: pointer; white-space: nowrap; }
.retrofit-timeline { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 42px 0 30px; }
.retrofit-timeline::before { content: ""; position: absolute; left: 17px; right: 17px; top: 21px; height: 1px; background: #aca69b; }
.timeline-event { position: relative; min-width: 0; }
.timeline-axis { display: flex; align-items: center; gap: 8px; height: 42px; position: relative; z-index: 1; }
.timeline-axis span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: #cbc5ba; border: 2px solid #eee9df; font-size: 10px; font-weight: 800; }
.timeline-event.intervention .timeline-axis span, .timeline-event.construction .timeline-axis span { background: var(--green-soft); }
.timeline-event.event .timeline-axis span { background: var(--red-soft); }
.timeline-event.outcome .timeline-axis span { background: var(--yellow-soft); }
.timeline-copy { padding-top: 18px; }
.timeline-copy time { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.timeline-copy h4 { margin: 7px 0 10px; font-size: 16px; }
.timeline-copy p { color: #555851; font-size: 12px; }

.compare-lab { margin-top: 110px; padding-top: 60px; border-top: 2px solid var(--ink); }
.compare-heading { max-width: 800px; }
.compare-heading h2 { font-size: clamp(42px, 5vw, 72px); }
.compare-selectors { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: end; margin: 36px 0 20px; }
.compare-selectors label { display: grid; gap: 8px; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.compare-selectors select, .explorer-controls select, .explorer-controls input { width: 100%; min-height: 48px; border: 1px solid #aaa398; background: #ece8df; padding: 10px 12px; color: var(--ink); font-size: 15px; }
.versus { font-family: Georgia, serif; font-style: italic; padding-bottom: 13px; }
.compare-visual { display: grid; grid-template-columns: minmax(0, 1fr) 170px minmax(0, 1fr); gap: 10px; align-items: stretch; margin: 22px 0 26px; }
.compare-case-visual { min-width: 0; padding: 20px; border: 1px solid #b8b0a4; background: #e7e2d9; }
.compare-case-visual > header { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: start; min-height: 92px; padding-bottom: 16px; border-bottom: 1px solid #c7bfb4; }
.compare-case-visual > header span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.compare-case-visual > header h3 { margin: 7px 0 0; font-size: clamp(21px, 2.2vw, 29px); line-height: 1.02; }
.compare-case-visual > header button { border: 0; border-bottom: 1px solid var(--ink); background: transparent; padding: 5px 0; cursor: pointer; font-size: 10px; white-space: nowrap; }
.compare-case-meta { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 18px; }
.compare-case-meta span { padding: 5px 7px; border: 1px solid #b9b1a5; color: #60625c; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.compare-case-meta .confidence-high { border-color: #7da88e; color: #38664d; }
.compare-profile-lines { display: grid; gap: 8px; }
.compare-profile-line { display: grid; grid-template-columns: minmax(110px, .8fr) minmax(120px, 1.2fr); gap: 10px; align-items: center; }
.compare-profile-line > span { color: #5c5f59; font-size: 10px; }
.compare-profile-state { min-height: 32px; display: grid; grid-template-columns: 7px 1fr; gap: 8px; align-items: center; padding: 6px 9px; background: #cbc5bb; }
.compare-profile-state i { width: 7px; height: 7px; border-radius: 50%; background: #777872; }
.compare-profile-state strong { font-size: 10px; text-transform: uppercase; letter-spacing: .055em; }
.compare-profile-state.meets { background: var(--green-soft); }
.compare-profile-state.meets i { background: var(--green); }
.compare-profile-state.partial { background: var(--yellow-soft); }
.compare-profile-state.partial i { background: #9d7610; }
.compare-profile-state.does_not_meet { background: var(--red-soft); }
.compare-profile-state.does_not_meet i { background: var(--red); }
.compare-profile-state.unknown { background: #cbc5bb; }
.compare-treatment { margin-top: 18px; padding-top: 15px; border-top: 1px solid #c7bfb4; }
.compare-treatment > span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.compare-treatment p { margin: 7px 0 0; color: #4d514b; font-size: 11px; }
.compare-boundary { align-self: stretch; display: grid; grid-template-rows: 1fr auto auto 1fr; gap: 10px; place-items: center; padding: 10px 12px; color: #6d6e68; text-align: center; }
.compare-boundary i { width: 1px; height: 100%; min-height: 28px; background: #aaa398; }
.compare-boundary strong { color: var(--ink); font-family: Georgia, serif; font-size: 16px; font-style: italic; }
.compare-boundary span { font-size: 9px; line-height: 1.4; }
.compare-table { border-top: 1px solid var(--ink); }
.compare-row { display: grid; grid-template-columns: 190px 1fr 1fr; border-bottom: 1px solid var(--line); }
.compare-row > * { padding: 16px; min-width: 0; }
.compare-row > :not(:last-child) { border-right: 1px solid var(--line); }
.compare-row .compare-label { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.compare-name { font-size: 25px; font-weight: 700; }

.explorer-section { background: #e2ddd2; }
.explorer-controls { max-width: var(--max); margin: 0 auto 12px; display: grid; grid-template-columns: 2fr 1fr; gap: 12px; }
.explorer-controls label { display: grid; gap: 7px; }
.explorer-controls label > span { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.explorer-status { max-width: var(--max); margin: 20px auto; color: var(--muted); font-size: 13px; }
.download-strip { max-width: var(--max); margin: 14px auto 28px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.download-strip span { margin-right: 6px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.download-strip a { border: 1px solid #aaa398; border-radius: 999px; padding: 7px 10px; text-decoration: none; font-size: 11px; background: rgba(255,255,255,.22); }
.download-strip a:hover { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.metric-grid { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.metric-card { min-height: 275px; padding: 20px; background: #f0ece3; display: flex; flex-direction: column; border-top: 3px solid #989186; }
.metric-card .metric-scope { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.metric-card .metric-value { margin: 25px 0 8px; font-size: 38px; letter-spacing: -.045em; line-height: 1; }
.metric-card h3 { font-size: 17px; line-height: 1.18; }
.metric-card p { color: var(--muted); font-size: 12px; }
.metric-card footer { margin-top: auto; padding: 0; background: transparent; color: inherit; display: block; }
.metric-card footer small { display: block; color: var(--muted); }
.source-link { display: inline-block; margin-top: 8px; color: inherit; text-underline-offset: 3px; font-size: 11px; }

.legacy-section { background: var(--night); color: var(--cream); }
.legacy-copy { max-width: 900px; }
.legacy-copy p:not(.eyebrow) { color: #b0bbc1; font-size: 20px; max-width: 700px; }
.mechanism-grid { margin-top: 70px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #3b464d; border-left: 1px solid #3b464d; }
.mechanism-grid article { min-height: 300px; padding: 25px; border-right: 1px solid #3b464d; border-bottom: 1px solid #3b464d; }
.mechanism-number { color: #77858e; }
.mechanism-grid h3 { margin-top: 70px; }
.mechanism-grid p { color: #9dabaf; }
.legacy-cases { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.legacy-case { padding: 22px; background: #17232c; border-left: 4px solid var(--red); }
.legacy-case p { color: #aab6bc; }

.benchmark-section { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; }
.benchmark-section h2 { font-size: clamp(42px, 5vw, 76px); }
.benchmark-cards { display: grid; gap: 14px; }
.benchmark-card { padding: 30px; background: #ded8cc; }
.benchmark-card strong { display: block; font-size: clamp(42px, 5vw, 72px); line-height: 1; letter-spacing: -.05em; }
.benchmark-card small { display: block; margin-top: 10px; color: var(--muted); }
.benchmark-graphic { display: grid; gap: 14px; margin-bottom: 14px; }
.range-viz { padding: clamp(22px, 3vw, 32px); background: var(--night); color: var(--cream); }
.range-heading { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; }
.range-heading span { color: #8fa0a8; font-size: 11px; text-transform: uppercase; letter-spacing: .09em; }
.range-heading strong { font-size: clamp(28px, 3vw, 44px); line-height: 1; letter-spacing: -.045em; text-align: right; }
.range-viz > p { margin: 25px 0 0; color: #9cabb2; font-size: 13px; }
.range-viz > p strong { color: var(--cream); }
.capacity-scale, .maf-scale { position: relative; height: 112px; margin: 34px 0 0; border-bottom: 1px solid #51616a; }
.capacity-full-range { position: absolute; top: 42px; height: 18px; background: rgba(47,143,100,.38); border: 1px solid var(--green); }
.capacity-typical-range { position: absolute; top: 36px; height: 30px; background: var(--green); }
.capacity-typical-range span { position: absolute; left: 50%; top: -20px; transform: translateX(-50%); white-space: nowrap; color: #bcd9c9; font-size: 10px; }
.capacity-baseline, .capacity-end, .maf-baseline { position: absolute; top: 24px; transform: translateX(-1px); }
.capacity-baseline i, .capacity-end i, .maf-baseline i { display: block; width: 2px; height: 54px; background: #d4dde1; }
.capacity-baseline span, .capacity-end span, .maf-baseline span { display: block; margin-top: 7px; color: #9cabb2; font-size: 10px; white-space: nowrap; }
.capacity-end { transform: translateX(-100%); text-align: right; }
.maf-modern-range { position: absolute; top: 38px; height: 24px; background: var(--green); min-width: 8px; }
.maf-modern-range span { position: absolute; left: 0; top: -21px; color: #bcd9c9; font-size: 10px; }
.maf-baseline { transform: translateX(-100%); text-align: right; }
.maf-tick { position: absolute; top: 46px; height: 15px; border-left: 1px solid #3f4d55; }
.maf-tick span { position: absolute; top: 27px; left: -7px; color: #687982; font-size: 9px; }
.compact-benchmarks { grid-template-columns: 1fr 1fr; }
.compact-benchmarks .benchmark-card { padding: 17px; }
.compact-benchmarks .benchmark-card > strong { font-size: 24px; }
.compact-benchmarks .benchmark-card h3 { font-size: 16px; margin: 10px 0; }
.compact-benchmarks .benchmark-card p { font-size: 11px; color: var(--muted); }
.compact-benchmarks .benchmark-card small { font-size: 10px; }

.policy-section { background: #c8c2b5; }
.policy-section > h2 { max-width: 1000px; }
.policy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 60px; }
.policy-grid article { border-top: 2px solid var(--ink); padding-top: 18px; }
.policy-grid article span { font-size: 12px; color: var(--muted); }
.policy-grid h3 { margin-top: 42px; font-size: 30px; }

.evidence-dialog { width: min(760px, calc(100% - 32px)); max-height: calc(100% - 32px); border: 0; padding: 0; background: var(--paper); color: var(--ink); }
.evidence-dialog::backdrop { background: rgba(9,14,18,.75); backdrop-filter: blur(5px); }
.dialog-close { position: sticky; float: right; top: 16px; margin: 16px; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line); background: var(--paper); cursor: pointer; font-size: 24px; }
#dialogBody { padding: 54px 42px 42px; }
.evidence-kicker { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .12em; }
.evidence-field { margin-top: 26px; border-top: 1px solid var(--line); padding-top: 13px; }
.evidence-field strong { display: block; margin-bottom: 5px; }
.source-pills { display: flex; flex-wrap: wrap; gap: 7px; }
.source-pill { padding: 6px 9px; border-radius: 999px; background: #ddd7cc; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; }
.source-pill-link { color: inherit; text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.source-card { margin-top: 10px; padding: 13px; background: #e4ded3; }
.source-card strong { display: block; }
.source-card small { color: var(--muted); }

/* Live interactive presentation layer */
.map-ocean { fill: #0c141a; }
.country-shape { fill: #17242d; stroke: #627680; stroke-width: 1.25; vector-effect: non-scaling-stroke; }
.hero-map .country-shape { fill: #142129; stroke: #40535d; }
.epicenter-dot { fill: var(--red); stroke: #ffe1dd; stroke-width: 1.5; transition: r .18s, stroke-width .18s; }
.epicenter-ring { fill: none; stroke: rgba(200,79,63,.65); stroke-width: 1.5; transition: r .18s, stroke-width .18s, stroke .18s; }
.epicenter-dot.focused { r: 12px; stroke-width: 3; }
.epicenter-ring.focused { r: 28px; stroke: #ff9d90; stroke-width: 3; }
.station-bubble { fill: rgba(95,139,166,.2); stroke: #8cb4ca; stroke-width: 1.3; transition: fill .15s, stroke .15s, stroke-width .15s; }
.station-core { fill: #cde0e9; pointer-events: none; }
.station-point:hover .station-bubble, .station-bubble:focus, .station-bubble.focused { fill: rgba(95,139,166,.62); stroke: #eef8fc; stroke-width: 3; outline: none; }
.map-label, .map-sub-label { pointer-events: none; }
.hub-anchor-line { stroke: rgba(200,79,63,.48); stroke-width: 1.3; stroke-dasharray: 3 4; pointer-events: none; }
.hub-marker { fill: var(--paper); stroke: var(--red); stroke-width: 2.5; transition: stroke-width .15s, fill .15s; }
.hub-point:hover .hub-marker, .hub-point:focus .hub-marker, .hub-point.focused .hub-marker { fill: #fff; stroke-width: 5; }
.hub-point.focused .hub-anchor-line { stroke: #f59a8d; stroke-width: 2.5; }
.utp-marker { fill: var(--yellow); stroke: #18232a; stroke-width: 1.4; transition: stroke-width .15s, fill .15s; }
.utp-point.focused .utp-marker { fill: #ffe69a; stroke: #fff; stroke-width: 3; }
.utp-marker.campus-center { stroke: var(--cream); stroke-width: 2; }
.map-point { cursor: pointer; outline: none; }
.map-sub-label { fill: #82959f; font-size: 9px; paint-order: stroke; stroke: #0c141a; stroke-width: 3px; }
.event-label { font-size: 11px; }
.hero-hub { fill: var(--paper); stroke: var(--red); stroke-width: 2; }
.map-detail-number { margin: 28px 0; font-size: clamp(46px, 5vw, 72px); line-height: .9; letter-spacing: -.06em; color: var(--cream); }
.map-detail-number small { display: block; margin-top: 10px; font-size: 12px; letter-spacing: 0; color: #80929b; }
.map-hub-cases { display: grid; gap: 8px; margin-top: 24px; }
.map-hub-cases button { border: 0; border-top: 1px solid #34444d; background: transparent; color: #d7e0e4; text-align: left; padding: 12px 0; cursor: pointer; }
.map-hub-cases button strong, .map-hub-cases button span { display: block; }
.map-hub-cases button span { margin-top: 4px; color: #81939c; font-size: 11px; }

.success-summary { grid-template-columns: repeat(4, 1fr); }
.success-summary > p { grid-column: 1 / -1; margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.success-count { padding: 20px; background: #ddd8ce; border-top: 3px solid #8d8a82; }
.success-count strong { display: block; font-size: 44px; line-height: 1; letter-spacing: -.05em; }
.success-count span { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; }
.success-count.meets { border-top-color: var(--green); }
.success-count.partial { border-top-color: var(--yellow); }
.success-count.fail { border-top-color: var(--red); }
.success-count.unknown { border-top-color: #8d8a82; }
.success-band { margin: 0 0 26px; padding: 16px 18px; border: 1px solid #c4bdb1; background: rgba(255,255,255,.22); }
.success-band-track { display: flex; min-height: 24px; overflow: hidden; background: #d1cbc0; }
.success-band-segment { min-width: 0; transition: width .22s ease; }
.success-band-segment.meets { background: var(--green); }
.success-band-segment.partial { background: var(--yellow); }
.success-band-segment.does_not_meet { background: var(--red); }
.success-band-segment.unknown { background: #8d8a82; }
.success-band-labels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-top: 12px; }
.success-band-labels > span { display: grid; grid-template-columns: 9px auto 1fr auto; gap: 6px; align-items: center; min-width: 0; color: #555851; font-size: 10px; text-transform: uppercase; letter-spacing: .055em; }
.success-band-labels i { width: 8px; height: 8px; border-radius: 50%; background: #8d8a82; }
.success-band-labels .meets i { background: var(--green); }
.success-band-labels .partial i { background: var(--yellow); }
.success-band-labels .does_not_meet i { background: var(--red); }
.success-band-labels strong { color: var(--ink); font-size: 13px; }
.success-band-labels small { color: var(--muted); font-size: 9px; text-align: right; }
.success-case.partial { background: var(--yellow-soft); }
.success-case.does_not_meet { background: var(--red-soft); }
.success-case.unknown { background: #d7d2c8; }
.success-case span { color: rgba(16,19,23,.62); font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }

.utp-demand-callout { margin: 18px 0 24px; padding: 15px 16px; background: #ded8cd; border-left: 3px solid var(--blue); }
.utp-demand-callout strong, .utp-demand-callout span { display: block; }
.utp-demand-callout span { margin-top: 5px; color: var(--muted); font-size: 11px; }

.mechanism-tab { grid-template-columns: 34px 1fr auto; align-items: center; }
.mechanism-tab small { font-size: 9px; text-transform: uppercase; letter-spacing: .09em; color: #657984; }
.mechanism-schematic { margin: 0 0 34px; min-height: 220px; display: grid; place-items: center; border-bottom: 1px solid #2e3e47; }
.mechanism-schematic svg { width: min(540px, 100%); height: 220px; }
.diag-frame, .diag-line, .diag-fail, .diag-fall, .diag-brace, .diag-ground, .diag-service { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.diag-frame { stroke: #cbd7dc; stroke-width: 5; }
.diag-frame.heavy { stroke-width: 12; }
.diag-line { stroke: #637984; stroke-width: 2; }
.diag-fail, .diag-fall { stroke: var(--red); stroke-width: 5; }
.diag-brace { stroke: var(--green); stroke-width: 7; }
.diag-ground { stroke: #61727b; stroke-width: 3; }
.diag-service { stroke: var(--blue); stroke-width: 7; }
.diag-debris, .diag-fail-fill { fill: var(--red); }
.mechanism-case-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 18px; }
.mechanism-case-links button { border: 1px solid #40515b; border-radius: 999px; background: transparent; color: #d4dde1; padding: 9px 12px; cursor: pointer; }
.mechanism-case-links button span { color: #718791; }

.case-topline { display: flex; justify-content: space-between; gap: 10px; align-items: start; }
.profile-dots { display: flex; gap: 4px; }
.profile-dot { display: inline-grid; place-items: center; width: 23px; height: 23px; font-size: 9px; font-weight: 800; color: rgba(16,19,23,.72); }
.profile-dot.meets { background: var(--green-soft); }
.profile-dot.partial { background: var(--yellow-soft); }
.profile-dot.does_not_meet { background: var(--red-soft); }
.profile-dot.unknown { background: #c8c4bb; }
.dialog-profile { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 6px; }
.dialog-profile > span { display: flex; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid var(--line); font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
.dialog-profile .profile-dot:not(:first-child) { display: none; }

.compare-row { grid-template-columns: 180px 1fr 1fr; }
.compare-row > strong { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.compare-header { background: #dfdacf; }
.compare-header > div > span { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.compare-header h3 { margin: 8px 0 12px; font-size: 24px; }

.retrofit-section { background: #d6d0c4; }
.retrofit-picker { max-width: var(--max); margin: 0 auto 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.retrofit-tab { min-height: 112px; border: 1px solid #a9a295; background: transparent; text-align: left; padding: 17px; cursor: pointer; }
.retrofit-tab strong, .retrofit-tab span { display: block; }
.retrofit-tab strong { font-size: 17px; }
.retrofit-tab span { margin-top: 7px; color: var(--muted); font-size: 11px; }
.retrofit-tab.active { background: var(--night); color: var(--cream); border-color: var(--night); }
.retrofit-tab.active span { color: #8fa0a8; }
.retrofit-stage { max-width: var(--max); margin: 0 auto; background: #ebe7df; padding: clamp(24px, 4vw, 48px); }
.retrofit-stage-head { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; border-bottom: 1px solid var(--line); padding-bottom: 30px; }
.retrofit-stage-head h3 { font-size: clamp(34px, 4vw, 58px); margin-bottom: 7px; }
.retrofit-stage-head p { color: var(--muted); }
.retrofit-stage-head button { border: 0; border-bottom: 1px solid var(--ink); background: transparent; padding: 7px 0; cursor: pointer; }
.retrofit-timeline { display: grid; grid-template-columns: repeat(var(--timeline-count, 5), minmax(0, 1fr)); margin: 44px 0 32px; }
.timeline-event { min-width: 0; }
.timeline-axis { display: flex; align-items: center; }
.timeline-axis span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; border: 1px solid #817b70; background: #ebe7df; font-size: 10px; z-index: 1; }
.timeline-axis i { height: 1px; background: #aaa396; flex: 1; }
.timeline-event:last-child .timeline-axis i { background: transparent; }
.timeline-event.intervention .timeline-axis span { border-color: var(--green); box-shadow: inset 0 0 0 5px var(--green-soft); }
.timeline-event.construction .timeline-axis span { border-color: var(--blue); box-shadow: inset 0 0 0 5px var(--blue-soft); }
.timeline-event.event .timeline-axis span { border-color: var(--red); box-shadow: inset 0 0 0 5px var(--red-soft); }
.timeline-event.outcome .timeline-axis span { border-color: var(--yellow); box-shadow: inset 0 0 0 5px var(--yellow-soft); }
.timeline-copy { padding: 16px 22px 0 0; }
.timeline-copy time { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.timeline-copy h4 { margin: 8px 0; font-size: 18px; line-height: 1.1; }
.timeline-copy p { color: var(--muted); font-size: 12px; }

.metric-card { min-height: 300px; }
.metric-card-top { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.metric-card > strong { display: block; margin: 30px 0 8px; font-size: clamp(32px, 3vw, 46px); line-height: 1; letter-spacing: -.05em; }
.metric-card h3 { margin-bottom: 14px; }
.metric-card .source-pills { margin-top: auto; }
.empty-state { grid-column: 1 / -1; padding: 40px 0; color: var(--muted); }
.fatal-error { min-height: 100vh; padding: 8vw; background: var(--night); color: var(--cream); }

footer { padding: 42px clamp(20px, 5vw, 80px); background: #0b1116; color: #d8dfe2; display: flex; justify-content: space-between; gap: 30px; }
footer p { color: #84939c; max-width: 640px; font-size: 12px; }

/* Visual refinement pass: calmer type scale, readable pills, compact explorer */
.story-section { padding-block: clamp(56px, 7vw, 112px); }
h1 { font-size: clamp(46px, 5.6vw, 84px); line-height: .94; letter-spacing: -.045em; }
h2 { font-size: clamp(32px, 3.8vw, 56px); line-height: 1.02; letter-spacing: -.035em; max-width: 22ch; }
.sticky-copy h2, .compare-heading h2, .benchmark-section h2 { font-size: clamp(30px, 3.2vw, 48px); }
.section-heading { margin-bottom: 44px; }
.section-heading > p:not(.eyebrow) { font-size: 17px; }
.hero { min-height: 0; gap: 48px 30px; }
.hero-dek { font-size: clamp(18px, 1.6vw, 23px); }
.hero-map-shell, .hero-map { min-height: 520px; }
.hero-metric strong { font-size: clamp(30px, 3.2vw, 50px); }
.thesis-copy { font-size: clamp(24px, 2.6vw, 38px); line-height: 1.25; max-width: 980px; }
.thesis-split { margin-top: 48px; }
.map-layout { grid-template-columns: minmax(0, 1.45fr) minmax(300px, .6fr); }
.evidence-map { min-height: 0; height: auto; aspect-ratio: 10 / 9; max-height: calc(100vh - 250px); background: #17242d; }
.map-detail h3 { font-size: clamp(22px, 2vw, 30px); }
.map-detail-number { margin: 20px 0; font-size: clamp(38px, 3.6vw, 54px); }
.station-profile > header { grid-template-columns: 1fr; gap: 6px; }
.station-profile > header small { white-space: normal; }
.station-profile-row { grid-template-columns: 22px minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: 6px 10px; }
.station-rank { grid-row: 1 / 3; }
.station-bar { grid-column: 2; grid-row: 2; }
.station-pga { grid-column: 3; grid-row: 1; }
.station-distance { grid-column: 3; grid-row: 2; }
.map-story-step { min-height: 0; opacity: .7; }
.map-story-step strong { margin-top: 18px; }
.source-pill { color: var(--ink); }
.success-matrix { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; overflow: visible; padding-bottom: 0; }
.success-case { min-width: 0; min-height: 104px; padding: 12px 14px; gap: 8px; }
.success-console > .method-note { margin-top: 22px; }
.success-case strong { writing-mode: horizontal-tb; transform: none; max-height: none; font-size: 14px; line-height: 1.2; }
.retrofit-stage-head h3 { font-size: clamp(28px, 3vw, 44px); }
.policy-grid h3 { margin-top: 20px; font-size: 24px; }
.metric-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.metric-card { min-height: 0; }
.metric-card[hidden], .metric-more[hidden] { display: none; }
.metric-card > strong { margin: 18px 0 6px; font-size: clamp(28px, 2.4vw, 38px); }
.metric-more { display: block; margin: 28px auto 0; padding: 12px 22px; border: 1px solid var(--ink); background: transparent; color: var(--ink); cursor: pointer; font-weight: 700; }
.metric-more:hover { background: var(--ink); color: var(--cream); }
.source-name { color: var(--muted); font-size: 12px; }

/* Shaking-versus-damage map (map.js). Sequential ramps: the near-zero damage class deliberately recedes toward the
   surface (allowed for choropleths); every other step clears the ordinal lightness and contrast checks. */
:root {
  --dmg-0: #f5dcc8; --dmg-1: #eeb48d; --dmg-2: #df8757; --dmg-3: #c3602f; --dmg-4: #974219; --dmg-5: #652b10;
  --mmi-0: #86b6ef; --mmi-1: #5598e7; --mmi-2: #2a78d6; --mmi-3: #1c5cab; --mmi-4: #104281; --mmi-5: #0b2c57;
  --map-nodata: #ebe8e1;
}
.dmg-0 { fill: var(--dmg-0); background: var(--dmg-0); } .dmg-1 { fill: var(--dmg-1); background: var(--dmg-1); }
.dmg-2 { fill: var(--dmg-2); background: var(--dmg-2); } .dmg-3 { fill: var(--dmg-3); background: var(--dmg-3); }
.dmg-4 { fill: var(--dmg-4); background: var(--dmg-4); } .dmg-5 { fill: var(--dmg-5); background: var(--dmg-5); }
.mmi-0 { fill: var(--mmi-0); background: var(--mmi-0); } .mmi-1 { fill: var(--mmi-1); background: var(--mmi-1); }
.mmi-2 { fill: var(--mmi-2); background: var(--mmi-2); } .mmi-3 { fill: var(--mmi-3); background: var(--mmi-3); }
.mmi-4 { fill: var(--mmi-4); background: var(--mmi-4); } .mmi-5 { fill: var(--mmi-5); background: var(--mmi-5); }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.map-hero { background: #f4f1ea; padding-block: 28px 36px; padding-inline: clamp(16px, 3vw, 40px); }
.map-hero-head { max-width: var(--max); margin: 0 auto 16px; }
.map-hero h1 { margin-bottom: 12px; font-size: clamp(32px, 4vw, 56px); line-height: 1; max-width: 22ch; }
.map-hero-dek { max-width: 820px; margin: 0; color: #3f423d; font-size: 16px; }
.map-controls { max-width: var(--max); margin: 0 auto 12px; display: flex; flex-wrap: wrap; gap: 10px 26px; }
.control-group { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.control-group > span { margin-right: 4px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.map-toggle { border: 1px solid #c9c3b8; border-radius: 999px; background: #fcfcfb; color: var(--ink); padding: 7px 12px; font-size: 13px; cursor: pointer; }
.map-toggle:hover { border-color: var(--ink); }
.map-toggle.active { border-color: var(--ink); background: var(--ink); color: #fcfcfb; }
.muni-search input { min-width: 210px; border: 1px solid #c9c3b8; border-radius: 999px; background: #fcfcfb; padding: 7px 12px; font-size: 13px; }
.map-stage { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 14px; }
.map-frame { position: relative; height: min(76vh, 800px); min-height: 460px; overflow: hidden; border: 1px solid rgba(11,11,11,.1); background: #dfe8ed; }
#quakeMap { display: block; width: 100%; height: 100%; cursor: grab; touch-action: pan-y; user-select: none; }
#quakeMap.dragging { cursor: grabbing; }
.map-sea { fill: #dfe8ed; }
.muni { stroke: #fcfcfb; stroke-width: .7; vector-effect: non-scaling-stroke; }
.muni.no-data { fill: var(--map-nodata); }
.muni.outside { fill: #efede8; stroke: #fcfcfb; }
.muni[data-code]:hover { stroke: #0b0b0b; stroke-width: 1.5; }
.muni-highlight { fill: none; stroke: #0b0b0b; stroke-width: 3; vector-effect: non-scaling-stroke; pointer-events: none; }
.contour-halo { fill: none; stroke: #fff; stroke-opacity: .5; stroke-width: 5; stroke-linejoin: round; vector-effect: non-scaling-stroke; pointer-events: none; }
.contour { fill: none; stroke-opacity: .95; stroke-linejoin: round; vector-effect: non-scaling-stroke; pointer-events: none; }
.contour.lvl-0 { stroke: var(--mmi-1); stroke-width: 1.2; }
.contour.lvl-1 { stroke: var(--mmi-2); stroke-width: 1.6; }
.contour.lvl-2 { stroke: var(--mmi-3); stroke-width: 2.1; }
.contour.lvl-3 { stroke: var(--mmi-4); stroke-width: 2.6; }
.contour.lvl-4 { stroke: var(--mmi-5); stroke-width: 3.2; }
.contour-labels { stroke: #fcfcfb; font-weight: 800; paint-order: stroke; stroke-linejoin: round; pointer-events: none; }
.contour-label { stroke: inherit; }
.contour-label.lvl-0 { fill: var(--mmi-1); } .contour-label.lvl-1 { fill: var(--mmi-2); } .contour-label.lvl-2 { fill: var(--mmi-3); } .contour-label.lvl-3 { fill: var(--mmi-4); } .contour-label.lvl-4 { fill: var(--mmi-5); }
.legend-contours { margin-top: 10px; padding-top: 8px; border-top: 1px solid #e3e0d8; color: #52514e; }
.legend-contours strong, .legend-contours > span { display: block; }
.legend-contours strong { color: #1d2a31; font-size: 12px; }
.legend-contours > span { margin-bottom: 6px; font-size: 11px; }
.legend-contours div { display: flex; gap: 10px; font-size: 11px; }
.legend-contours div span { display: flex; align-items: center; gap: 4px; }
.sat-point { fill: #0b0b0b; stroke: #fcfcfb; stroke-width: 1; vector-effect: non-scaling-stroke; pointer-events: none; }
.sat-point.grade-2, .sat-point.grade-1 { fill: #fcfcfb; stroke: #0b0b0b; stroke-width: 1.5; }
.sat-point.grade-1 { stroke: #6d6c67; }
.station-mark { fill: #fcfcfb; stroke: #104281; stroke-width: 2.5; vector-effect: non-scaling-stroke; pointer-events: none; }
.place-layer { stroke: #fcfcfb; stroke-linejoin: round; pointer-events: none; }
.place-dot { fill: #0b0b0b; stroke: none; }
.place-label { fill: #0b0b0b; font-weight: 700; paint-order: stroke; stroke: inherit; }
.epicenter-ring { fill: none; stroke: #c84f3f; stroke-width: 2; vector-effect: non-scaling-stroke; pointer-events: none; }
.epicenter-mark { fill: #c84f3f; stroke: #fcfcfb; stroke-width: 2; vector-effect: non-scaling-stroke; pointer-events: none; }
.epicenter-label { fill: #8f2d22; stroke: #fcfcfb; font-weight: 800; paint-order: stroke; stroke-linejoin: round; pointer-events: none; }
.map-zoom { position: absolute; top: 12px; right: 12px; display: grid; gap: 4px; }
.map-zoom button { width: 36px; height: 36px; border: 1px solid rgba(11,11,11,.18); background: #fcfcfb; font-size: 20px; line-height: 1; cursor: pointer; }
.map-hint { position: absolute; top: 12px; left: 50%; transform: translateX(-50%); padding: 7px 12px; background: rgba(11,11,11,.82); color: #fcfcfb; font-size: 13px; pointer-events: none; }
.map-tooltip { position: absolute; z-index: 5; max-width: 260px; padding: 8px 10px; border: 1px solid rgba(11,11,11,.12); background: #fcfcfb; box-shadow: 0 6px 18px rgba(0,0,0,.14); font-size: 12px; pointer-events: none; }
.map-tooltip strong { display: block; font-size: 15px; }
.map-tooltip span, .map-tooltip small { display: block; color: #52514e; }
.map-legend-box { position: absolute; left: 12px; bottom: 12px; max-width: 300px; padding: 10px 12px; border: 1px solid rgba(11,11,11,.1); background: rgba(252,252,251,.95); font-size: 11px; }
.legend-title { display: block; font-size: 12px; }
.legend-unit { display: block; margin-bottom: 7px; color: #6d6c67; }
.legend-swatches { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 2px; }
.legend-swatch i { display: block; height: 12px; }
.legend-swatch small { display: block; margin-top: 3px; color: #52514e; font-size: 10px; white-space: nowrap; }
.legend-keys { display: grid; gap: 4px; margin-top: 9px; color: #52514e; }
.legend-keys span { display: flex; align-items: center; gap: 6px; }
.legend-keys i { display: inline-block; flex: 0 0 auto; }
.key-nodata { width: 14px; height: 10px; background: var(--map-nodata); border: 1px solid #d6d2c8; }
.key-contour { width: 18px; height: 0; border-top: 2px solid var(--mmi-3); }
.key-contour.lvl-0 { border-top: 1.5px solid var(--mmi-1); } .key-contour.lvl-1 { border-top: 2px solid var(--mmi-2); } .key-contour.lvl-2 { border-top: 2.5px solid var(--mmi-3); } .key-contour.lvl-3 { border-top: 3px solid var(--mmi-4); } .key-contour.lvl-4 { border-top: 3.5px solid var(--mmi-5); }
.key-sat { width: 8px; height: 8px; border-radius: 50%; background: #0b0b0b; }
.key-sat.hollow { background: #fcfcfb; border: 1.5px solid #0b0b0b; margin-left: -2px; }
.key-station { width: 10px; height: 10px; border-radius: 50%; border: 2.5px solid #104281; background: #fcfcfb; }
.muni-detail { height: min(76vh, 800px); min-height: 460px; overflow: auto; padding: 22px; border: 1px solid rgba(11,11,11,.1); background: #fcfcfb; }
.muni-detail h3 { margin: 4px 0 14px; font-size: 26px; }
.muni-detail p { font-size: 14px; }
.detail-kicker { margin: 0; color: #6d6c67; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.detail-figure strong { display: block; font-size: 44px; line-height: 1; letter-spacing: -.03em; }
.detail-figure span { display: block; margin-top: 6px; color: #52514e; font-size: 13px; }
.detail-compare { margin-top: 14px; padding: 10px 12px; background: #f1eee7; border-left: 3px solid #898781; }
.detail-compare.worse { border-left-color: var(--dmg-3); }
.detail-compare.better { border-left-color: var(--mmi-2); }
.detail-hint { color: #6d6c67; }
.detail-rows { margin: 16px 0 0; }
.detail-rows div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-top: 1px solid #e1e0d9; font-size: 13px; }
.detail-rows dt { color: #52514e; }
.detail-rows dd { margin: 0; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.detail-cases { margin-top: 18px; }
.detail-cases > p { margin-bottom: 6px; color: #6d6c67; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.detail-cases button { display: block; width: 100%; margin-top: 6px; padding: 10px 12px; border: 1px solid #e1e0d9; background: #f7f5f0; text-align: left; cursor: pointer; }
.detail-cases button:hover { border-color: var(--ink); }
.detail-cases button span { display: block; margin-top: 3px; color: #52514e; font-size: 12px; }
.map-credit { max-width: var(--max); margin: 10px auto 0; color: #6d6c67; font-size: 11px; }

.shake-section { background: #fcfcfb; }
.shake-section .section-heading h2 { max-width: 26ch; }
.shake-layout { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: start; }
.shake-tables { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 0 32px; align-items: start; }
.shake-chart-card { position: relative; margin: 0; }
.shake-chart-card figcaption { margin-bottom: 8px; font-size: 13px; }
.shake-chart-card figcaption strong { display: block; }
.shake-chart-card figcaption span { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; color: #52514e; }
.key-dot { width: 10px; height: 10px; border-radius: 50%; background: #2a78d6; display: inline-block; }
.key-line { width: 18px; height: 0; border-top: 2px solid #0b0b0b; display: inline-block; margin-left: 10px; }
#shakeChart { display: block; width: 100%; height: auto; }
.chart-grid line { stroke: #e1e0d9; stroke-width: 1; }
.chart-baseline { stroke: #c3c2b7; stroke-width: 1; }
.chart-tick { fill: #898781; font-size: 12px; font-variant-numeric: tabular-nums; }
.chart-axis-title { fill: #52514e; font-size: 13px; }
.shake-dot { fill: #2a78d6; fill-opacity: .72; stroke: #fcfcfb; stroke-width: 2; cursor: pointer; }
.shake-dot.selected { fill: #0b0b0b; fill-opacity: 1; }
.typical-line { fill: none; stroke: #0b0b0b; stroke-width: 2; stroke-linejoin: round; }
.dot-label { fill: #0b0b0b; font-size: 13px; font-weight: 700; paint-order: stroke; stroke: #fcfcfb; stroke-width: 4px; stroke-linejoin: round; pointer-events: none; }
.outlier-table { width: 100%; margin-bottom: 26px; border-collapse: collapse; font-size: 13px; }
.outlier-table caption { margin-bottom: 8px; font-weight: 700; text-align: left; }
.outlier-table th, .outlier-table td { padding: 7px 6px; border-bottom: 1px solid #e1e0d9; text-align: right; font-variant-numeric: tabular-nums; }
.outlier-table thead th { color: #898781; font-size: 11px; font-weight: 600; }
.outlier-table th[scope="row"], .outlier-table thead th:first-child { text-align: left; }
.outlier-table th[scope="row"] button { border: 0; background: none; padding: 0; font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.outlier-table th[scope="row"] small { display: block; color: #898781; font-weight: 400; }

/* Maps: real country shapes, seas, cities */
.map-ocean { fill: #0b1a24; }
.country-neighbor { fill: #121c23; stroke: #34454f; stroke-width: 1; vector-effect: non-scaling-stroke; pointer-events: none; }
.country-shape { fill: #22323c; stroke: #9db1ba; stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.hero-map .country-shape { fill: #22323c; stroke: #9db1ba; }
.evidence-map { background: #0b1a24; }
.sea-label { fill: #4d6d7d; font-size: 14px; font-style: italic; letter-spacing: .12em; pointer-events: none; }
.country-label { fill: #5b6d76; font-size: 12px; font-weight: 700; letter-spacing: .2em; pointer-events: none; }
.colombia-label { fill: #aebfc6; font-size: 17px; font-weight: 800; letter-spacing: .32em; pointer-events: none; }
.zoom-box { fill: none; stroke: #f2eee5; stroke-width: 1.5; stroke-dasharray: 6 5; opacity: .75; vector-effect: non-scaling-stroke; }
.city-dot { fill: #f2eee5; stroke: #0b1a24; stroke-width: 1.5; }
.city-label { fill: #f2eee5; font-size: 14px; font-weight: 700; paint-order: stroke; stroke: #0b1a24; stroke-width: 4px; stroke-linejoin: round; }
.hero-map .city-label { font-size: 13px; pointer-events: none; }
.city-deaths { fill: #ff8a7a; font-size: 12px; font-weight: 700; paint-order: stroke; stroke: #0b1a24; stroke-width: 4px; stroke-linejoin: round; }
.city-point { cursor: pointer; outline: none; }
.city-point:hover .city-dot, .city-point:focus .city-dot, .city-point.focused .city-dot { fill: var(--red); stroke: #fff; stroke-width: 2.5; }
.map-graticule { stroke: rgba(157,177,186,.12); }
.city-symbol { background: #f2eee5; }
.map-case-heading { margin-top: 22px; }

/* The human toll */
.impact-section { background: #efeae1; }
.impact-layout { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.impact-layout h3 { margin-bottom: 16px; font-size: 18px; }
.death-row { display: grid; grid-template-columns: 130px minmax(0, 1fr) 44px; gap: 12px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--line); }
.death-row span { font-size: 14px; }
.death-row strong { text-align: right; font-variant-numeric: tabular-nums; }
.death-track { height: 14px; background: #ddd6ca; }
.death-fill { height: 100%; min-width: 2px; background: var(--red); }
.impact-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.impact-stat { padding: 18px; background: #e4ded3; border-top: 3px solid var(--ink); }
.impact-stat strong { display: block; font-size: clamp(28px, 2.8vw, 40px); line-height: 1; letter-spacing: -.04em; }
.impact-stat span { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; }
.impact-note { margin-top: 16px; color: var(--muted); font-size: 13px; }
.impact-note a, .failure-item a { color: inherit; text-underline-offset: 3px; }
.failure-list { max-width: var(--max); margin: 48px auto 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.failure-item { padding: 20px; background: #f7f3ec; border-left: 3px solid var(--red); }
.failure-item > span { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.failure-item h3 { margin: 8px 0 10px; font-size: 19px; }
.failure-item p { margin-bottom: 10px; font-size: 14px; }
.failure-item a { font-size: 12px; color: var(--muted); }

/* ---------- plain-language pass: scale key, campus picker, inspected buildings, schools ---------- */
.scale-explainer { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin: 12px 0 0; color: #3f423d; font-size: 13px; }
.scale-explainer b { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-right: 5px; border-radius: 50%; background: var(--mmi-3); color: #fff; font-size: 11px; }
.campus-picker { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 6px; margin-top: 24px; }
.campus-tab { border: 1px solid #aaa397; background: transparent; padding: 10px 12px; text-align: left; cursor: pointer; color: inherit; }
.campus-tab strong, .campus-tab span { display: block; }
.campus-tab strong { font-size: 14px; }
.campus-tab span { margin-top: 2px; color: var(--muted); font-size: 11px; }
.campus-tab.active { background: var(--night); border-color: var(--night); color: var(--cream); }
.campus-tab.active span { color: #93a4ad; }
#survival .segmented-control { margin: 18px 0; }
.big-statement small { display: block; margin-top: 12px; color: var(--muted); font-family: system-ui, sans-serif; font-size: 13px; }
.building-grid.named { grid-template-columns: repeat(auto-fill, minmax(62px, 1fr)); }
.campus-tile { display: grid; gap: 4px; min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: center; }
button.campus-tile { cursor: pointer; }
.campus-tile .building-glyph { display: block; }
.campus-tile span { overflow: hidden; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.campus-tile small { min-height: 12px; color: var(--muted); font-size: 10px; }
.campus-tile.selected .building-glyph, button.campus-tile:hover .building-glyph { outline: 3px solid var(--ink); outline-offset: 2px; }
.building-glyph.state-light, .building-glyph.state-safe { background: var(--green); }
.building-glyph.state-moderate, .building-glyph.state-restricted { background: var(--yellow); }
.building-glyph.state-heavy { background: var(--orange); }
.building-glyph.state-severe, .building-glyph.state-unsafe { background: var(--red); }
.building-glyph.state-collapse_risk { background: #7d2418; }
.campus-detail { min-height: 86px; margin-top: -18px; padding: 16px 18px; background: var(--night); color: var(--cream); font-size: 14px; }
.campus-detail strong, .campus-detail span { display: block; }
.campus-detail strong { font-size: 16px; }
.campus-detail span { margin-top: 3px; color: #9fb0b8; font-size: 12px; }
.campus-detail p { margin: 8px 0 0; color: #d6dee1; }

.inspected-buildings { max-width: var(--max); margin: 64px auto 0; }
.inspected-head h3 { margin: 0 0 18px; font-size: clamp(24px, 2.6vw, 36px); }
.inspected-picker { display: flex; flex-wrap: wrap; gap: 6px; padding-bottom: 8px; }
.inspected-tab { flex: 0 0 auto; display: grid; grid-template-columns: 10px auto; align-items: center; column-gap: 8px; padding: 10px 12px; border: 1px solid #aaa397; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.inspected-tab strong { font-size: 13px; }
.inspected-tab span { grid-column: 2; color: var(--muted); font-size: 11px; }
.inspected-tab.active { background: var(--night); border-color: var(--night); color: var(--cream); }
.inspected-tab.active span { color: #93a4ad; }
.tag-dot { width: 10px; height: 10px; border-radius: 50%; background: #9a968d; }
.tag-dot.tag-green { background: var(--green); }
.tag-dot.tag-red { background: var(--red); }
.inspected-detail { margin-top: 8px; padding: clamp(20px, 3vw, 32px); background: #f0ece4; }
.inspected-detail header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.inspected-detail header span { color: var(--muted); font-size: 12px; }
.inspected-detail h4 { margin: 4px 0 0; font-size: clamp(22px, 2.4vw, 30px); }
.tag-badge { padding: 6px 11px; border-radius: 999px; background: #d8d3c9; font-size: 12px; white-space: nowrap; }
.tag-badge.tag-green { background: var(--green); color: #fff; }
.tag-badge.tag-red { background: var(--red); color: #fff; }
.inspected-meters { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 24px; }
.inspected-meter-head { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }
.inspected-meter-head span { color: var(--muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.inspected-meter-track { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; margin: 8px 0 10px; }
.inspected-meter-track i { height: 8px; background: #d8d3c9; }
.level-ok .inspected-meter-track i:first-child { background: var(--green); }
.level-some .inspected-meter-track i:nth-child(-n+2) { background: var(--yellow); }
.level-bad .inspected-meter-track i { background: var(--red); }
.inspected-meter p { margin: 0; font-size: 14px; }
.inspected-result { margin: 22px 0 0; padding-top: 14px; border-top: 1px solid var(--line); font-weight: 700; }

.school-toggle { display: flex; width: max-content; max-width: 100%; margin: 0 auto 18px; }
.school-grid.pct { grid-template-columns: repeat(10, 1fr); max-width: 300px; min-height: 0; }
.school-panel header span b { font-weight: 800; }
.school-note { max-width: var(--max); margin: 16px auto 0; color: #3f423d; font-size: 14px; }

/* ---------- quantitative comparisons ---------- */
.era-section { background: #e6e0d4; }
.era-section .section-heading b { font-weight: 800; }
.era-panels { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.era-panel { padding: clamp(20px, 3vw, 32px); background: #f3efe7; }
.era-panel header span { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.era-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 16px 0 22px; }
.era-stats strong { display: block; white-space: nowrap; font-size: clamp(32px, 3.4vw, 50px); line-height: 1; letter-spacing: -.04em; }
.era-stats span { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; }
.era-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(54px, 1fr)); gap: 10px; }
.era-tile { display: grid; gap: 3px; min-width: 0; text-align: center; }
.era-tile .building-glyph { display: block; }
.era-tile span { overflow: hidden; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.era-tile small { color: var(--muted); font-size: 10px; }
#eraLegend { max-width: var(--max); margin: 0 auto; }
.usable-block { max-width: var(--max); margin: 36px auto 0; display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: center; }
.usable-block h3 { margin: 0 0 10px; font-size: clamp(24px, 2.6vw, 36px); }
.usable-block p:not(.eyebrow) { color: var(--muted); }
.usable-row { margin-bottom: 18px; }
.usable-row-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 14px; }
.usable-row-head strong { font-size: 24px; }
.usable-track { height: 22px; margin-top: 6px; background: #d3cdc1; }
.usable-track i { display: block; height: 100%; background: var(--yellow); }
.usable-row.bad .usable-track i { background: var(--red); }

.deaths-section { background: #f3efe7; }
.deaths-layout { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.deaths-bars small { color: var(--muted); font-size: 12px; }
.deaths-notes { display: grid; gap: 22px; }
.deaths-note { border-top: 2px solid var(--ink); padding-top: 14px; }
.deaths-note h3 { margin: 4px 0 8px; font-size: clamp(20px, 2vw, 26px); }
.deaths-note p:not(.evidence-kicker) { margin: 0 0 10px; color: var(--muted); }

.armenia-collapse { border-top: 2px solid var(--ink); padding-top: 18px; }
.collapse-row { margin-bottom: 16px; }
.collapse-row strong { font-size: 36px; line-height: 1; }
.collapse-row span { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; }
.collapse-row i { display: block; height: 10px; margin-top: 6px; background: var(--red); }
.collapse-row.total i { background: #7d2418; }
.armenia-collapse p { color: var(--muted); font-size: 13px; }
.armenia-use { max-width: var(--max); margin: 64px auto 0; }
.armenia-use h3 { margin: 0 0 8px; font-size: clamp(24px, 2.6vw, 36px); }
.armenia-use > p:not(.eyebrow) { margin: 0 0 18px; color: var(--muted); }
.use-row { display: grid; grid-template-columns: 210px 1fr; gap: 18px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.use-label strong, .use-label span { display: block; }
.use-label span { color: var(--muted); font-size: 12px; }
.use-bar { display: flex; height: 32px; gap: 2px; }
.use-bar span { display: flex; align-items: center; padding-left: 8px; overflow: hidden; color: #fff; font-size: 12px; font-weight: 700; white-space: nowrap; }
.use-bar .u-green { background: var(--green); }
.use-bar .u-yellow { background: var(--yellow); color: var(--ink); }
.use-bar .u-red { background: var(--red); }

@media (max-width: 980px) {
  .era-panels, .usable-block, .deaths-layout { grid-template-columns: 1fr; }
  .use-row { grid-template-columns: 1fr; gap: 6px; }
}

@media (max-width: 980px) {
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-map-shell { min-height: 480px; border-left: 0; border-top: 1px solid rgba(246,241,231,.12); }
  .hero-map { min-height: 480px; }
  .hero-metrics { grid-template-columns: 1fr 1fr; }
  .hero-telemetry { grid-template-columns: 1fr 1fr; }
  .hero-telemetry > div:nth-child(2) { border-right: 0; }
  .hero-telemetry > div:nth-child(-n+2) { border-bottom: 1px solid rgba(246,241,231,.12); }
  .thesis-split, .policy-grid { grid-template-columns: 1fr; }
  .split-layout, .benchmark-section { grid-template-columns: 1fr; }
  .sticky-copy, .armenia-controls { position: static; }
  .armenia-layout { grid-template-columns: 1fr; }
  .school-panels { grid-template-columns: 1fr; }
  .healthcare-panels { grid-template-columns: 1fr; }
  .case-card { grid-column: span 6; }
  .mechanism-grid { grid-template-columns: 1fr 1fr; }
  .map-layout, .mechanism-layout { grid-template-columns: 1fr; }
  .map-card { position: static; }
  .satellite-layout { grid-template-columns: 1fr; }
  .satellite-summary { position: static; }
  .mechanism-list { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid #2c3b44; }
  .mechanism-tab { min-width: 210px; border-right: 1px solid #2c3b44; border-bottom: 0; }
  .success-controls { grid-template-columns: 1fr; }
  .verification-stats { grid-template-columns: 1fr 1fr; }
  .verification-tabs { grid-template-columns: 1fr 1fr; }
  .audit-check-grid, .verification-callouts { grid-template-columns: 1fr; }
  .aggregate-family-head, .aggregate-family-grid { grid-template-columns: 1fr; }
  .denominator-audit header { grid-template-columns: 1fr; }
  .denominator-equation { grid-template-columns: 1fr; }
  .denominator-equation b { text-align: center; }
  .denominator-contrast { grid-template-columns: 1fr; }
  .denominator-candidates { grid-template-columns: 1fr; }
  .fidelity-strip { grid-template-columns: 1fr 1fr; }
  .dane-grid { grid-template-columns: 1fr 1fr; }
  .source-audit-head { grid-template-columns: 1fr; }
  .success-summary { grid-template-columns: repeat(2, 1fr); }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .compact-benchmarks { grid-template-columns: 1fr; }
  .retrofit-picker { grid-template-columns: 1fr; }
  .retrofit-timeline { grid-template-columns: 1fr; gap: 0; }
  .timeline-axis { flex-direction: column; width: 30px; float: left; margin-right: 15px; height: 150px; }
  .timeline-axis i { width: 1px; height: auto; min-height: 110px; }
  .timeline-copy { min-height: 150px; padding-top: 4px; }
}

@media (max-width: 640px) {
  .site-header { grid-template-columns: 1fr; gap: 9px; padding-top: 12px; padding-bottom: 10px; }
  .site-header nav { display: flex; width: 100%; gap: 6px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; scroll-snap-type: x proximity; padding: 2px 0 5px; white-space: nowrap; }
  .site-header nav a { flex: 0 0 auto; min-height: 34px; display: inline-flex; align-items: center; scroll-snap-align: center; padding: 5px 10px; border: 1px solid transparent; border-radius: 999px; }
  .site-header nav a.active { background: rgba(16,19,23,.08); border-color: rgba(16,19,23,.12); }
  .story-section { padding-left: 18px; padding-right: 18px; }
  h1 { font-size: 58px; }
  h2 { font-size: 46px; }
  .hero-metrics { grid-template-columns: 1fr; }
  .hero-telemetry { grid-template-columns: 1fr 1fr; margin-top: 30px; }
  .hero-telemetry > div { min-height: 82px; padding: 13px 12px 12px 0; }
  .hero-telemetry > div:not(:first-child) { padding-left: 12px; }
  .hero-telemetry strong { font-size: 21px; }
  .hero-map-shell, .hero-map { min-height: 360px; }
  .building-grid { grid-template-columns: repeat(6, 1fr); padding: 18px; }
  .campus-picker { grid-template-columns: 1fr 1fr; }
  .inspected-picker { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
  .inspected-meters { grid-template-columns: 1fr; gap: 18px; }
  .inspected-detail header { flex-direction: column; gap: 8px; }
  .occupancy-grid { grid-template-columns: repeat(31, 1fr); gap: 2px; }
  .bed-grid { grid-template-columns: repeat(16, 1fr); }
  .case-card { grid-column: 1 / -1; min-height: 320px; }
  .case-atlas-head { grid-template-columns: 1fr; }
  .case-atlas-stats { grid-template-columns: 1fr 1fr; }
  .case-atlas-locations { display: flex; overflow-x: auto; scroll-snap-type: x proximity; }
  .case-atlas-location { flex: 0 0 180px; scroll-snap-align: start; }
  .mechanism-grid, .legacy-cases { grid-template-columns: 1fr; }
  .success-summary { grid-template-columns: 1fr; }
  .success-band-labels { grid-template-columns: 1fr 1fr; }
  .success-matrix { grid-template-columns: repeat(13, 64px); }
  .compare-selectors { grid-template-columns: 1fr; }
  .versus { padding: 0; }
  .compare-visual { grid-template-columns: 1fr; }
  .compare-boundary { grid-template-columns: 1fr auto 1fr; grid-template-rows: auto; padding: 8px 0; }
  .compare-boundary i { width: 100%; height: 1px; min-height: 0; }
  .compare-boundary span { grid-column: 1 / -1; }
  .compare-profile-line { grid-template-columns: minmax(105px, .8fr) 1.2fr; }
  .compare-row { grid-template-columns: 1fr; }
  .compare-row > :not(:last-child) { border-right: 0; border-bottom: 1px solid var(--line); }
  .explorer-controls, .metric-grid { grid-template-columns: 1fr; }
  .map-toolbar { overflow-x: auto; flex-wrap: nowrap; }
  .satellite-grid { grid-template-columns: repeat(20, minmax(6px, 1fr)); gap: 2px; padding: 14px; }
  .satellite-filter { min-width: 112px; }
  .pga-scale { grid-template-columns: 1fr; }
  .pga-scale-items { grid-column: 1; }
  .station-profile > header { grid-template-columns: 1fr; }
  .station-profile > header small { white-space: normal; }
  .station-profile-row { gap: 6px 8px; }
  h1 { font-size: 40px; }
  h2 { font-size: 32px; }
  .thesis-copy { font-size: 23px; }
  .success-matrix { grid-template-columns: 1fr 1fr; }
  .success-summary { grid-template-columns: 1fr 1fr; }
  .success-count { padding: 14px; }
  .success-count strong { font-size: 34px; }
  .impact-layout { grid-template-columns: 1fr; gap: 32px; }
  .map-stage, .shake-layout { grid-template-columns: 1fr; }
  .map-frame { height: 68vh; min-height: 380px; }
  .muni-detail { height: auto; min-height: 0; }
  .map-legend-box { right: 12px; max-width: none; }
  .map-controls { gap: 8px; }
  .muni-search input { min-width: 0; width: 100%; }
  .death-row { grid-template-columns: 112px minmax(0, 1fr) 36px; }
  .evidence-map { max-height: none; }
  .station-distance { display: none; }
  .health-band-head, .capacity-rail-head { display: grid; gap: 4px; }
  .retrofit-stage-head { grid-template-columns: 1fr; }
  .verification-stats, .verification-tabs, .dane-grid { grid-template-columns: 1fr; }
  .fidelity-strip { grid-template-columns: 1fr; }
  .fidelity-strip > div { border-right: 0; border-bottom: 1px solid #304049; }
  .fidelity-strip > div:last-child { border-bottom: 0; }
  .coverage-row { grid-template-columns: 1fr 44px; }
  .coverage-track { grid-column: 1 / -1; grid-row: 2; }
  .coverage-row small { grid-row: 3; }
  .model-row { grid-template-columns: 90px 1fr; }
  .model-row strong { grid-column: 1 / -1; text-align: left; }
  .release-banner { grid-template-columns: 1fr; }
  footer { flex-direction: column; }
}

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

