:root {
  --bg:#f7f9fc;
  --paper:#ffffff;
  --paper-2:#f1f5f9;
  --ink:#102033;
  --mut:#5f7184;
  --line:#d9e2ec;
  --blue:#1769aa;
  --blue-2:#0f4f85;
  --blue-soft:#eaf4fb;
  --green:#2c7a57;
  --yellow:#9b7b1d;
  --orange:#b95f19;
  --red:#b23b3b;
  --shadow:0 18px 60px rgba(27,67,104,.10);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--bg); }
body {
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 85% 0%, rgba(111,176,220,.12), transparent 26rem),
    linear-gradient(180deg,#fbfdff 0,#f7f9fc 42%,#f5f8fb 100%);
  color:var(--ink);
  font:16px/1.62 "Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}
a { color:var(--blue-2); }
img { max-width:100%; }
.skip-link { position:absolute; left:-9999px; top:auto; }
.skip-link:focus { left:16px; top:16px; z-index:999; background:#fff; padding:10px 14px; border:1px solid var(--line); border-radius:8px; }
.shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.site-header {
  width:min(1240px,calc(100% - 32px));
  margin:16px auto 0;
  min-height:64px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:1px solid rgba(217,226,236,.85);
  border-radius:18px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);
  box-shadow:0 8px 36px rgba(32,68,102,.07);
  position:sticky;
  top:12px;
  z-index:20;
}
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); font-weight:650; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; border:1px solid #c9dce9; border-radius:11px; color:var(--blue-2); background:linear-gradient(145deg,#fff,#edf5fa); font-size:.8rem; letter-spacing:.08em; }
.top-nav { display:flex; align-items:center; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.top-nav a { padding:8px 10px; border-radius:9px; color:#3a536a; text-decoration:none; font-size:.88rem; }
.top-nav a:hover,.top-nav a:focus-visible { background:var(--blue-soft); outline:none; }
.hero { min-height:650px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); align-items:center; gap:70px; padding:90px 0 70px; }
.eyebrow { color:var(--blue); font-size:.78rem; font-weight:760; letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(3.2rem,8vw,6.6rem); line-height:.92; letter-spacing:-.055em; max-width:900px; margin-bottom:22px; }
h2 { font-size:clamp(2rem,4vw,3.7rem); line-height:1.02; letter-spacing:-.035em; margin-bottom:18px; }
h3 { font-size:1.06rem; line-height:1.3; }
.hero-principle { font-size:clamp(1.35rem,2.2vw,1.9rem); color:var(--blue-2); font-weight:650; margin-bottom:18px; }
.hero-lede { max-width:760px; color:var(--mut); font-size:1.08rem; }
.hero-mantra { padding:28px; border:1px solid var(--line); border-radius:26px; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(239,246,251,.92)); box-shadow:var(--shadow); display:grid; gap:17px; }
.hero-mantra span { display:block; font-size:clamp(1.35rem,2.7vw,2.4rem); line-height:1.08; font-weight:650; letter-spacing:-.03em; }
.hero-mantra span:last-child { color:var(--blue); }
.hero-actions,.support-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:26px; }
.button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:11px 16px; border-radius:11px; border:1px solid var(--line); text-decoration:none; font-weight:650; font-size:.93rem; }
.button.primary { background:var(--blue-2); border-color:var(--blue-2); color:#fff; }
.button.secondary { background:#fff; color:var(--ink); }
.button:hover,.button:focus-visible { transform:translateY(-1px); box-shadow:0 8px 24px rgba(31,81,120,.12); outline:none; }
.section { padding:94px 0; border-top:1px solid rgba(207,219,230,.82); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:28px; }
.section-heading.simple { margin-bottom:34px; }
.live-section { padding-top:40px; }
.badge { display:inline-flex; align-items:center; gap:9px; padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--mut); font-size:.78rem; font-weight:720; letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; }
.dot { width:12px; height:12px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px rgba(44,122,87,.10); display:inline-block; }
.live-box { min-height:170px; padding:32px; display:flex; align-items:center; justify-content:center; text-align:center; font-size:clamp(1.35rem,3vw,2.3rem); font-weight:620; color:#35566f; background:linear-gradient(145deg,#ffffff 0%,#eff6fb 100%); border:1px solid #cfe0ec; border-radius:26px; box-shadow:var(--shadow); }
.evidence-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:14px; }
.metric { background:rgba(255,255,255,.88); border:1px solid var(--line); border-radius:16px; padding:16px; min-width:0; }
.metric span { display:block; color:var(--mut); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:6px; }
.metric strong { display:block; font-size:.97rem; overflow-wrap:anywhere; }
.live-context { display:grid; grid-template-columns:1.4fr 1.2fr 1fr; gap:12px; margin-top:12px; }
.live-context div { padding:15px 16px; border-left:2px solid #c4dbe9; background:rgba(255,255,255,.55); }
.live-context strong,.live-context span { display:block; }
.live-context strong { font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; color:var(--blue-2); margin-bottom:4px; }
.live-context span { color:var(--mut); font-size:.9rem; }
.ledger { margin-top:14px; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; }
.ledger div { display:grid; grid-template-columns:84px 1fr; gap:12px; padding:11px 14px; border-bottom:1px solid var(--line); }
.ledger div:last-child { border-bottom:0; }
.ledger span { color:var(--blue); font-weight:760; }
.ledger code { color:#4c6073; overflow-wrap:anywhere; font-size:.88rem; }
.microcopy { margin:14px 0 0; color:var(--mut); font-size:.86rem; }
.split { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:70px; align-items:start; }
.prose { color:#4b6073; font-size:1.04rem; }
.prose blockquote { margin:24px 0; padding:20px 24px; border-left:3px solid var(--blue); background:#fff; color:var(--ink); font-size:1.3rem; font-weight:650; }
.lifecycle { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.lifecycle article,.cards article { background:rgba(255,255,255,.84); border:1px solid var(--line); border-radius:18px; padding:22px; }
.lifecycle strong { color:var(--blue); font-size:.82rem; letter-spacing:.08em; }
.lifecycle p,.cards p { color:var(--mut); margin:8px 0 0; }
.flow { width:min(820px,100%); margin:0 auto; display:grid; justify-items:stretch; }
.flow-node { display:grid; grid-template-columns:48px 1fr; gap:3px 12px; padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 5px 20px rgba(29,61,91,.04); }
.flow-node span { grid-row:1/3; color:var(--blue); font-weight:760; }
.flow-node strong { font-size:1.06rem; }
.flow-node small { color:var(--mut); font-size:.86rem; }
.flow-node.emphasized { border-color:#afcfe4; background:linear-gradient(145deg,#fff,#eef7fc); }
.flow-arrow { height:28px; display:grid; place-items:center; color:#8aaabd; }
.cards.two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.boundary-note { margin-top:14px; padding:17px 20px; border:1px solid #c9deeb; border-radius:14px; background:var(--blue-soft); color:#3d5a6f; }
.evidence-timeline { display:grid; gap:12px; }
.evidence-timeline article { display:grid; grid-template-columns:140px 1fr 1.5fr; gap:20px; align-items:baseline; padding:18px 0; border-bottom:1px solid var(--line); }
.evidence-timeline article span { color:var(--blue); font-weight:760; letter-spacing:.05em; }
.evidence-timeline article h3,.evidence-timeline article p { margin:0; }
.evidence-timeline article p { color:var(--mut); }
.planetary { display:grid; grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr); gap:60px; align-items:center; }
.strong-line { color:var(--blue-2); font-weight:650; font-size:1.08rem; }
.territory-map { min-height:420px; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:28px; background:linear-gradient(145deg,#fbfdff,#eef5f9); box-shadow:var(--shadow); }
.map-grid { position:absolute; inset:0; opacity:.28; background-image:linear-gradient(#bdd1df 1px,transparent 1px),linear-gradient(90deg,#bdd1df 1px,transparent 1px); background-size:42px 42px; mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%); }
.map-node { position:absolute; width:190px; padding:14px 15px; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.95); box-shadow:0 10px 30px rgba(42,74,101,.10); }
.map-node span,.map-node strong,.map-node small { display:block; }
.map-node span { font-size:.66rem; letter-spacing:.08em; font-weight:760; color:var(--blue); margin-bottom:4px; }
.map-node small { color:var(--mut); margin-top:4px; }
.map-node.live { left:48%; top:36%; transform:translate(-50%,-50%); border-color:#8fc6ad; }
.map-node.planned { left:12%; top:65%; }
.map-node.target { right:10%; top:18%; }
.equations { display:grid; gap:10px; }
.equations div { display:grid; grid-template-columns:minmax(260px,.6fr) 1fr; gap:28px; align-items:center; padding:18px 20px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.72); }
.equations code { color:var(--blue-2); font-weight:760; font-size:1rem; }
.equations span { color:var(--mut); }
.compare { display:grid; gap:12px; }
.compare div { padding:18px 20px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.compare strong,.compare span { display:block; }
.compare strong { color:var(--blue); margin-bottom:5px; }
.x-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr; gap:12px; align-items:center; }
.x-flow div { min-height:92px; display:grid; place-items:center; text-align:center; padding:12px; border:1px solid var(--line); border-radius:14px; background:#fff; font-weight:650; }
.x-flow small { color:var(--mut); font-weight:500; }
.x-flow span { color:#8ca9bb; }
.support { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:60px; align-items:start; }
.support > div:first-child > p { color:var(--mut); max-width:760px; }
.budget-summary { border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#fff; box-shadow:var(--shadow); }
.budget-summary div { display:flex; justify-content:space-between; gap:20px; padding:11px 15px; border-bottom:1px solid var(--line); }
.budget-summary div:last-child { border-bottom:0; }
.budget-summary span { color:var(--mut); }
.budget-summary .total { background:var(--blue-soft); }
.budget-summary .total span,.budget-summary .total strong { color:var(--blue-2); font-weight:760; }
.public-research { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; }
.research-links { display:grid; gap:10px; }
.research-links a { text-decoration:none; border:1px solid var(--line); border-radius:15px; background:#fff; padding:16px 18px; }
.research-links span,.research-links strong { display:block; }
.research-links span { color:var(--blue); text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; font-weight:760; margin-bottom:4px; }
.research-links strong { color:var(--ink); }
.claims { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; }
.claims ul { margin:0; padding-left:1.2rem; color:var(--mut); }
.claims li { margin-bottom:10px; }
.site-footer { border-top:1px solid var(--line); background:#fff; }
.footer-inner { min-height:150px; padding:34px 0; display:flex; justify-content:space-between; gap:30px; align-items:center; }
.footer-inner strong,.footer-inner span { display:block; }
.footer-inner span { color:var(--mut); margin-top:4px; }
.footer-links { display:flex; gap:12px; flex-wrap:wrap; }
.footer-links a { text-decoration:none; }
@media (max-width:900px) {
  .hero,.split,.planetary,.support,.public-research,.claims { grid-template-columns:1fr; gap:34px; }
  .hero { min-height:auto; padding-top:72px; }
  .hero-mantra { max-width:640px; }
  .evidence-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .live-context { grid-template-columns:1fr; }
  .lifecycle { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .evidence-timeline article { grid-template-columns:120px 1fr; }
  .evidence-timeline article p { grid-column:2; }
  .x-flow { grid-template-columns:1fr; }
  .x-flow > span { transform:rotate(90deg); justify-self:center; }
}
@media (max-width:680px) {
  body { font-size:16px; }
  .shell { width:min(100% - 26px,1180px); }
  .site-header { width:calc(100% - 18px); top:8px; padding:9px 10px; }
  .top-nav { display:none; }
  h1 { font-size:clamp(3rem,16vw,4.8rem); }
  .hero { padding:62px 0 48px; }
  .section { padding:66px 0; }
  .section-heading { flex-direction:column; }
  .evidence-grid,.lifecycle,.cards.two-col { grid-template-columns:1fr; }
  .ledger div { grid-template-columns:60px 1fr; }
  .flow-node { grid-template-columns:40px 1fr; }
  .evidence-timeline article { grid-template-columns:1fr; gap:7px; }
  .evidence-timeline article p { grid-column:auto; }
  .equations div { grid-template-columns:1fr; gap:7px; }
  .territory-map { min-height:500px; }
  .map-node { width:170px; }
  .map-node.live { left:53%; top:33%; }
  .map-node.planned { left:7%; top:68%; }
  .map-node.target { right:5%; top:10%; }
  .footer-inner { align-items:flex-start; flex-direction:column; }
}
