:root {
  --bg: #eee9df;
  --ink: #171915;
  --muted: #667067;
  --line: #d9ddd5;
  --panel: #ffffff;
  --green: #0f5947;
  --orange: #d7792a;
  --dark: #071b18;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--ink);
  background-image: linear-gradient(#ffffff32 1px,transparent 1px),linear-gradient(90deg,#ffffff32 1px,transparent 1px);
  background-size: 32px 32px;
}

.hero {
  position: relative;
  min-height: 520px;
  background:
    radial-gradient(circle at 78% 28%, rgba(215,121,42,.28), transparent 26%),
    radial-gradient(circle at 12% 82%, rgba(50,130,102,.24), transparent 30%),
    linear-gradient(118deg, rgba(5,24,21,.99), rgba(9,51,42,.91));
  color: #fff;
}
.hero:before { content:""; position:absolute; inset:0 0 auto; height:5px; background:linear-gradient(90deg,#ff9933 0 33.33%,#fff 33.33% 66.66%,#138808 66.66%); }

nav {
  height: 70px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 32px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
nav strong { display:flex; align-items:center; gap:10px; margin-right: auto; letter-spacing: .04em; }
nav strong > span:last-child,nav strong small { display:block; } nav strong small { color:#9fb5ad; font-size:8px; font-weight:600; text-transform:uppercase; }
.proposal-brand { display:flex; width:auto; height:auto; align-items:center; gap:10px; }
.proposal-brand img { width:44px; height:44px; border-radius:9px; object-fit:cover; }.proposal-brand span { display:grid; grid-template-columns:auto 1fr; column-gap:8px; align-items:baseline; }.proposal-brand b { color:#fff; font-size:18px; letter-spacing:.08em; }.proposal-brand small { color:#dce5e1; font-size:9px; letter-spacing:.05em; }.proposal-brand em { grid-column:1/-1; color:#82958d; font-size:7px; font-style:normal; letter-spacing:.11em; text-transform:uppercase; }
.brand-seal { display:grid; width:38px; height:38px; place-items:center; border:1px solid #d7792a88; border-radius:50%; color:#fff; }
nav a {
  color: #f7efe8;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 6px;
  text-decoration: none;
  padding: 9px 12px;
  font-weight: 800;
  font-size: 13px;
}

.hero section {
  max-width: 1100px;
  padding: 70px 32px;
}
.eyebrow {
  margin: 0;
  color: #e9833a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
h1 {
  max-width: 980px;
  margin: 10px 0 16px;
  font-size: clamp(38px, 7vw, 76px);
  line-height: .96;
  letter-spacing: -.055em;
}
.lead {
  max-width: 760px;
  color: #d9dfd8;
  font-size: 18px;
  line-height: 1.55;
}
button {
  min-height: 42px;
  border: 0;
  border-radius: 6px;
  padding: 0 16px;
  background: var(--orange);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
main { padding: 22px; max-width: 1380px; margin: 0 auto; }
.grid { display: grid; gap: 16px; }
.metrics { grid-template-columns: repeat(4, minmax(0,1fr)); margin-top: -78px; }
.metrics article, .panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 2px;
  box-shadow: 0 18px 46px rgba(16,21,17,.12);
  padding: 22px;
}
.proposal-gates { margin-top:16px; background:var(--dark); color:#fff; }
.proposal-gates h2 { max-width:780px; font-size:clamp(30px,4vw,50px); letter-spacing:-.04em; }
.evidence-badge { padding:7px 9px; border:1px solid #d7792a66; color:#eaa76d; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.gate-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:22px; background:#ffffff16; }
.gate-grid article { min-height:135px; padding:20px; background:#0b2420; }
.gate-grid article span,.dossier-grid article > span { color:#e28a43; font:10px ui-monospace,monospace; }
.gate-grid article strong,.gate-grid article small { display:block; }.gate-grid article strong { margin:18px 0 8px; }.gate-grid article small { color:#8fa49c; }
.gate-grid article.complete { background:#124837; }.gate-grid article.active { box-shadow:inset 0 0 0 2px var(--orange); }
.dossier-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:20px; }
.dossier-grid article { min-height:210px; padding:20px; border:1px solid var(--line); background:#f8f5ee; }
.dossier-grid h3 { margin:25px 0 8px; font-size:18px; }.dossier-grid p { font-size:12px; }
.source-note { padding:14px; border-left:3px solid var(--orange); background:#fff2e5; font-size:12px; }
.citation-panel { border-top:5px solid var(--green); }.citation-panel h2 { max-width:900px; font-size:clamp(30px,4vw,52px); letter-spacing:-.04em; }.citation-panel code { display:block; padding:16px; background:#e7eee9; color:#123d32; white-space:normal; line-height:1.5; }
.metrics span, .scorebox span {
  display: block;
  color: var(--orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.metrics strong, .scorebox strong { display: block; margin-top: 7px; font-size: 24px; }
.metrics p, .panel p, li { color: var(--muted); line-height: 1.6; }
.executive-brief { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr); gap:45px; align-items:center; margin-top:16px; padding:40px; background:#fff; }
.executive-brief h2,.technology-story h2,.commercial-section h2,.delivery-roadmap h2 { max-width:900px; font-size:clamp(34px,4.5vw,60px); line-height:.98; letter-spacing:-.045em; }
.decision-stack { display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }
.decision-stack article { padding:19px; background:#f7f5ef; }.decision-stack span,.decision-stack strong,.decision-stack small { display:block; }.decision-stack span { color:var(--orange); font:9px ui-monospace,monospace; text-transform:uppercase; }.decision-stack strong { margin:8px 0; }.decision-stack small { color:var(--muted); font-size:9px; text-transform:uppercase; }
.technology-story,.commercial-section,.delivery-roadmap { margin-top:16px; padding:38px; }
.process-chain { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; margin-top:28px; background:var(--line); border:1px solid var(--line); }
.process-chain article { min-height:270px; padding:22px; background:#f8f5ee; }.process-chain article span { color:var(--orange); font:10px ui-monospace,monospace; }.process-chain h3 { margin:40px 0 10px; font-size:18px; }.process-chain p { font-size:11px; }.process-chain strong { display:block; margin-top:18px; color:var(--green); font-size:10px; text-transform:uppercase; }
.technology-boundary { margin-top:20px; padding:16px 18px; border-left:4px solid var(--orange); background:#fff2e5; color:#555d56; line-height:1.55; }
.commercial-section { background:#fdfbf6; }
.commercial-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr); gap:20px; margin-top:28px; }
.commercial-grid > div { min-width:0; overflow-x:auto; }
.cost-table { font-size:11px; }.cost-table td:nth-child(2) { white-space:nowrap; color:var(--green); font-weight:900; }.cost-table .total td { border-top:3px solid var(--green); background:#e7eee9; color:#123d32; font-weight:900; }
.funding-card { padding:28px; background:var(--dark); color:#fff; }.funding-card h3 { margin:10px 0 22px; font-size:28px; line-height:1.05; }.funding-card dl { margin:0; }.funding-card dl div { display:grid; grid-template-columns:1fr auto; gap:12px; padding:13px 0; border-top:1px solid #ffffff1c; }.funding-card dt { color:#9fb5ad; }.funding-card dd { margin:0; color:#efa468; font-weight:900; }.funding-card p { color:#afc0b9; font-size:11px; }
.economics-ledger { display:grid; grid-template-columns:repeat(3,1fr); margin-top:20px; border-block:1px solid var(--line); }.economics-ledger article { padding:22px; border-right:1px solid var(--line); }.economics-ledger article:last-child { border-right:0; }.economics-ledger span,.economics-ledger strong { display:block; }.economics-ledger span { color:var(--orange); font-size:9px; text-transform:uppercase; }.economics-ledger strong { margin:8px 0; font-size:20px; }.economics-ledger p { font-size:11px; }
.roadmap-line { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; margin-top:28px; background:#ffffff18; }.delivery-roadmap { background:var(--dark); color:#fff; }.roadmap-line article { min-height:230px; padding:22px; background:#0b2420; }.roadmap-line span { color:#efa468; font:10px ui-monospace,monospace; }.roadmap-line h3 { margin:38px 0 10px; }.roadmap-line p { color:#9fb5ad; font-size:11px; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
h2 { margin: 6px 0 10px; font-size: 28px; }
.formula {
  background: #102018;
  color: #e9f4ec;
  border-radius: 8px;
  padding: 16px;
  font-family: "Courier New", monospace;
  font-weight: 800;
  text-align: center;
}
.bars { display: grid; gap: 12px; margin-top: 18px; }
label { display: grid; gap: 6px; color: var(--muted); font-weight: 800; }
input[type=range] { accent-color: var(--orange); }
.scorebox { margin-top: 16px; border: 1px solid var(--line); border-radius: 8px; padding: 14px; background: #f8faf7; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
#plannerStatus { color: var(--green); font-weight: 900; }
.map-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 8px;
  margin-top: 18px;
}
.cell {
  min-height: 74px;
  border-radius: 8px;
  border: 1px solid var(--line);
  padding: 8px;
  background: #eef2ed;
  position: relative;
}
.cell.hot { background: #dff1e7; border-color: rgba(22,99,62,.35); }
.cell.best { background: #fff0df; border-color: rgba(195,90,25,.55); }
.cell strong { display: block; font-size: 13px; }
.cell span { color: var(--muted); font-size: 11px; }
table { width: 100%; border-collapse: collapse; margin-top: 12px; }
th,td { border: 1px solid var(--line); padding: 10px; text-align: left; vertical-align: top; }
th { background: var(--dark); color: #fff; }
.doc-links { display: grid; gap: 10px; }
.doc-links a {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 10px 12px;
  color: var(--green);
  text-decoration: none;
  font-weight: 900;
}
pre {
  white-space: pre-wrap;
  background: #101511;
  color: #e5eee7;
  border-radius: 8px;
  padding: 18px;
  line-height: 1.55;
}
.proposal-footer { display:grid; grid-template-columns:260px 1fr 1fr; gap:30px; align-items:center; margin-top:30px; padding:30px 5vw; border-top:5px solid transparent; border-image:linear-gradient(90deg,#ff9933 0 33.33%,#fff 33.33% 66.66%,#138808 66.66%) 1; background:#071b18; color:#fff; }
.proposal-company { display:flex; align-items:center; gap:13px; }.proposal-company img { width:52px; height:52px; border-radius:10px; object-fit:cover; }.proposal-company strong,.proposal-company small { display:block; }.proposal-company strong { color:#fff; font-size:17px; }.proposal-company small { margin-top:4px; color:#8fa098; font-size:8px; letter-spacing:.14em; text-transform:uppercase; }.proposal-footer p { color:#a9bbb4; font-size:11px; line-height:1.6; }.proposal-footer strong { color:#fff; }.proposal-footer a { color:#f0a36a; }
@media (max-width: 900px) {
  .metrics, .split,.executive-brief,.commercial-grid { grid-template-columns: 1fr; }
  .gate-grid,.dossier-grid,.process-chain,.roadmap-line,.economics-ledger { grid-template-columns:1fr; }
  .map-grid { grid-template-columns: repeat(2, 1fr); }
  nav { flex-wrap: wrap; height: auto; padding: 14px; }
  .proposal-brand { width:auto; }
  .technology-story,.commercial-section,.delivery-roadmap,.executive-brief { padding:24px; }
  .process-chain article,.roadmap-line article { min-height:auto; }
  .economics-ledger article { border-right:0; border-bottom:1px solid var(--line); }
  table { display:block; max-width:100%; overflow-x:auto; }
  .cost-table { min-width:760px; }
  .proposal-footer { grid-template-columns:1fr; }
}
