:root {
  --bg: #f7f0e3;
  --surface: #fffaf0;
  --ink: #18233b;
  --muted: #606a78;
  --line: #d9cbb8;
  --forest: #0d6267;
  --forest-2: #17324d;
  --mint: #d8ece6;
  --blue: #dbe6f0;
  --sand: #f0d7a3;
  --warn: #f4dfb4;
  --danger: #f0d3cc;
  --white: #fff;
  --shadow: 0 18px 50px rgba(24,35,59,.13);
  --radius: 20px;
  --radius-sm: 12px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:linear-gradient(180deg,#f9f3e8 0%,var(--bg) 42%,#f2e7d5 100%);
  color: var(--ink);
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid #77a992; outline-offset: 3px; }
.skip-link { position:absolute; left:-9999px; top:8px; background:#fff; padding:8px 12px; z-index:999; }
.skip-link:focus { left:8px; }
.site-header { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(16px); background: rgba(255,250,240,.91); border-bottom: 1px solid rgba(217,203,184,.9); box-shadow:0 4px 24px rgba(24,35,59,.04); }
.nav-wrap { max-width: var(--max); margin:auto; padding: 14px 24px; display:flex; align-items:center; gap:22px; }
.brand { display:flex; align-items:center; gap:12px; font-weight:900; letter-spacing:.12em; min-width:max-content; color:#17324d; }
.brand-mark { width:28px; height:28px; border:2px solid var(--forest); border-radius:50%; position:relative; }
.brand-mark::before,.brand-mark::after { content:""; position:absolute; background:var(--forest); }
.brand-mark::before { width:2px; height:20px; left:12px; top:2px; transform:rotate(34deg); }
.brand-mark::after { height:2px; width:20px; left:2px; top:12px; transform:rotate(-18deg); }
.main-nav { display:flex; gap:7px; margin-left:auto; align-items:center; }
.main-nav a { padding:9px 11px; border-radius:999px; color:#2f3c36; font-size:.94rem; }
.main-nav a:hover, .main-nav a.active { background:#efe3cf; color:#17324d; }
.lang { padding-left:10px; border-left:1px solid var(--line); color:var(--muted); font-size:.88rem; }
.lang b { color:var(--ink); }
.menu-btn { display:none; margin-left:auto; border:1px solid var(--line); border-radius:10px; background:var(--surface); padding:8px 10px; }
main { min-height: 70vh; }
.container { max-width:var(--max); margin:auto; padding-left:24px; padding-right:24px; }
.hero { padding:88px 0 72px; position:relative; overflow:hidden; }
.hero::after { content:""; width:460px; height:460px; border:1px solid #c5cec7; border-radius:50%; position:absolute; right:-90px; top:-70px; box-shadow: inset 0 0 0 60px rgba(207,225,234,.24), inset 0 0 0 120px rgba(220,235,226,.18); pointer-events:none; }
.eyebrow { color:var(--forest); text-transform:uppercase; letter-spacing:.12em; font-weight:800; font-size:.78rem; }
h1,h2,h3,h4 { line-height:1.08; margin:0 0 .65em; letter-spacing:-.025em; }
h1 { font-size:clamp(3.2rem,7vw,7.2rem); max-width:900px; }
h2 { font-size:clamp(2rem,4vw,3.7rem); }
h3 { font-size:1.4rem; }
.lede { font-size:clamp(1.15rem,2vw,1.5rem); max-width:780px; color:#30423a; }
.hero-copy { position:relative; z-index:2; max-width:920px; }
.hero-actions { display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 18px; border-radius:999px; border:1px solid var(--ink); font-weight:750; transition:.18s ease; }
.btn.primary { background:linear-gradient(135deg,#0d6267,#174d66); color:white; border-color:#0d6267; box-shadow:0 8px 22px rgba(13,98,103,.17); }
.btn.primary:hover { background:var(--forest-2); transform:translateY(-1px); }
.btn.secondary { background:rgba(255,255,255,.38); }
.btn.secondary:hover { background:#fff; }
.btn.ghost { border-color:transparent; text-decoration:underline; text-underline-offset:4px; }
.section { padding:76px 0; }
.section.tight { padding:48px 0; }
.section.tint { background:linear-gradient(135deg,#efe2ce 0%,#e6eee9 100%); }
.section.dark { background:linear-gradient(145deg,#111d35,#173d50); color:#fff8eb; }
.section.dark .muted { color:#c9d5cf; }
.kicker { max-width:730px; color:var(--muted); font-size:1.08rem; margin-bottom:36px; }
.quote { font-family: Georgia, "Times New Roman", serif; font-size:clamp(1.7rem,3.6vw,3.3rem); line-height:1.15; max-width:960px; margin:0; }
.grid { display:grid; gap:18px; }
.grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:0 0 0 rgba(0,0,0,0); transition:.18s ease; }
a.card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.card p:last-child { margin-bottom:0; }
.card .number { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:var(--mint); color:var(--forest); font-weight:900; margin-bottom:16px; }
.card.problem { background:#f3eee5; }
.card.solution { background:#e5eee8; }
.muted { color:var(--muted); }
.pill { display:inline-flex; background:#e6e4dc; color:#31433a; border-radius:999px; padding:5px 9px; font-size:.78rem; font-weight:800; letter-spacing:.02em; }
.flow { display:grid; grid-template-columns:repeat(8,minmax(115px,1fr)); gap:10px; overflow-x:auto; padding-bottom:8px; }
.flow-step { background:var(--surface); border:1px solid var(--line); padding:18px 14px; border-radius:16px; min-height:150px; position:relative; }
.flow-step strong { display:block; margin:10px 0 5px; }
.flow-step:not(:last-child)::after { content:"→"; position:absolute; right:-10px; top:50%; color:#748077; font-weight:800; z-index:2; }
.flow-icon { font-size:1.5rem; }
.story { display:grid; grid-template-columns:.7fr 1.3fr; gap:28px; align-items:start; }
.story-label { position:sticky; top:94px; }
.story-panel { background:#fff; border:1px solid var(--line); padding:30px; border-radius:var(--radius); }
.story-panel .line { border-left:3px solid var(--forest); padding-left:18px; margin:18px 0; }
.portal-layers .card:nth-child(1){ background:#e7efe8; }
.portal-layers .card:nth-child(2){ background:#e4edf1; }
.portal-layers .card:nth-child(3){ background:#eee5d5; }
.page-hero { padding:62px 0 38px; }
.page-hero h1 { font-size:clamp(2.8rem,6vw,5.8rem); }
.breadcrumb { color:var(--muted); font-size:.9rem; margin-bottom:18px; }
.faq details { border-top:1px solid var(--line); padding:18px 0; }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer; font-weight:800; font-size:1.08rem; }
.faq p { max-width:760px; color:var(--muted); }
.phase { border-left:4px solid var(--forest); padding-left:18px; margin-bottom:24px; }
.chapter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.chapter { border:1px solid var(--line); border-radius:15px; background:var(--surface); padding:18px; }
.chapter small { color:var(--muted); display:block; margin-bottom:7px; }
.demo-shell { display:grid; grid-template-columns:.8fr 1.2fr; gap:20px; align-items:start; }
.demo-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px; }
textarea { width:100%; min-height:150px; border:1px solid #bbbfb9; border-radius:14px; padding:15px; background:#fbfaf6; resize:vertical; }
.choice-row { display:flex; gap:10px; flex-wrap:wrap; margin:14px 0; }
.choice { border:1px solid var(--line); background:#f6f4ee; padding:11px 14px; border-radius:999px; }
.choice.active { background:var(--forest); color:#fff; border-color:var(--forest); }
.demo-output { min-height:390px; }
.demo-output.empty { display:grid; place-items:center; color:var(--muted); text-align:center; }
.result-block { border-top:1px solid var(--line); padding:16px 0; }
.result-block:first-child { border-top:none; padding-top:0; }
.result-block h4 { margin-bottom:6px; }
.tag-row { display:flex; gap:8px; flex-wrap:wrap; }
.tag { background:var(--mint); color:var(--forest-2); padding:5px 9px; border-radius:999px; font-size:.8rem; font-weight:750; }
.notice { padding:14px 16px; border-radius:14px; background:var(--warn); border:1px solid #ddc99f; font-size:.92rem; }
.audit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.audit-card { border:1px solid var(--line); border-radius:16px; padding:20px; background:#fbfaf6; }
.audit-card.risk { background:#f3e8e3; }
.audit-card.control { background:#e5eee8; }
.evidence-scale { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; }
.evidence-scale div { padding:14px 10px; border-radius:12px; background:#edeae1; font-size:.85rem; }
.book-cover { border-radius:4px 24px 24px 4px; min-height:460px; background:linear-gradient(160deg,#f7f4ec,#e7e0d0); border:1px solid #cfc9bc; box-shadow: 14px 16px 30px rgba(0,0,0,.12); padding:34px; display:flex; flex-direction:column; justify-content:space-between; }
.book-cover .title { font-family:Georgia,serif; font-size:2.2rem; }
.book-layout { display:grid; grid-template-columns:330px 1fr; gap:44px; align-items:start; }
.footer { border-top:1px solid var(--line); margin-top:60px; padding:34px 0 50px; color:var(--muted); }
.footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:24px; }
.footer strong { color:var(--ink); }
.local-badge { position:fixed; bottom:14px; right:14px; background:#17251e; color:white; padding:8px 12px; border-radius:999px; font-size:.75rem; box-shadow:var(--shadow); z-index:20; }
.reveal { opacity:0; transform:translateY(8px); transition:.45s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (max-width: 940px){
  .main-nav { display:none; position:absolute; top:62px; left:12px; right:12px; background:var(--surface); padding:12px; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); flex-direction:column; align-items:stretch; }
  .main-nav.open { display:flex; }
  .menu-btn { display:block; }
  .lang { border-left:none; padding:8px 11px; }
  .grid.four,.grid.three,.chapter-grid,.audit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .story,.demo-shell,.book-layout { grid-template-columns:1fr; }
  .story-label { position:static; }
  .book-cover { max-width:420px; }
}
@media (max-width: 620px){
  .nav-wrap,.container { padding-left:16px; padding-right:16px; }
  .hero { padding-top:60px; }
  .hero::after { right:-260px; opacity:.6; }
  .grid.two,.grid.three,.grid.four,.chapter-grid,.audit-grid,.footer-grid { grid-template-columns:1fr; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .btn { width:100%; }
  .evidence-scale { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){ * { scroll-behavior:auto!important; transition:none!important; } .reveal { opacity:1; transform:none; } }


/* v0.2 bilingual + interactive components */
.lang { display:flex; align-items:center; gap:7px; }
.lang-link { padding:4px 3px!important; text-decoration:underline; text-underline-offset:3px; }
.nav-cta { background:var(--forest)!important; color:white!important; margin-left:4px; }
.nav-cta:hover,.nav-cta.active { background:var(--forest-2)!important; color:white!important; }
.eyebrow.light { color:#b8d5c8; }
.btn.inverted { background:white; color:var(--forest-2); border-color:white; }
.dark-card { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); color:white; }
.lede.compact { font-size:1.08rem; }
.small { font-size:.87rem; }
.package-layout { display:grid; grid-template-columns:340px minmax(0,1fr); gap:20px; align-items:start; }
.package-list { position:sticky; top:92px; }
.package-list > div { display:grid; gap:10px; }
.package-button { text-align:left; border:1px solid var(--line); background:#f7f5ef; border-radius:15px; padding:15px; display:grid; gap:7px; color:var(--ink); }
.package-button strong { font-size:1.05rem; }
.package-button span:last-child { color:var(--muted); font-size:.88rem; line-height:1.38; }
.package-button.active { border-color:var(--forest); box-shadow:inset 0 0 0 1px var(--forest); background:#e8f0ea; }
.impact-card { min-height:620px; }
.impact-head { display:flex; justify-content:space-between; gap:18px; align-items:start; border-bottom:1px solid var(--line); padding-bottom:18px; }
.version-chip { white-space:nowrap; background:#edeae1; border-radius:999px; padding:7px 10px; font-weight:800; font-size:.78rem; }
.impact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0 8px; }
.impact-grid > div { background:#f4f1ea; border-radius:14px; padding:14px; }
.impact-grid span { display:block; color:var(--muted); font-size:.79rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; margin-bottom:7px; }
.impact-grid strong { display:block; }
.meter { height:8px; background:#d8d7cf; border-radius:999px; margin-top:10px; overflow:hidden; }
.meter i { display:block; height:100%; background:var(--forest); border-radius:999px; }
.objection { margin-top:18px; padding:18px; border-radius:16px; background:#f2e7df; border:1px solid #e1cbbd; }
.objection h3 { margin-top:10px; }
.budget-shell { display:grid; grid-template-columns:1.4fr .6fr; gap:24px; align-items:start; }
.budget-controls { display:grid; gap:16px; }
.budget-controls label { display:grid; grid-template-columns:1fr auto; gap:8px; font-weight:800; }
.budget-controls input { grid-column:1/-1; width:100%; accent-color:var(--forest); }
.budget-controls output { background:#fff; min-width:44px; text-align:center; border-radius:9px; border:1px solid var(--line); padding:3px 7px; }
.budget-summary { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px; position:sticky; top:92px; }
.budget-total { display:flex; align-items:baseline; gap:9px; }
.budget-total strong { font-size:3.5rem; line-height:1; color:var(--forest); }
.over-budget .budget-summary { border-color:#bb6656; background:#f7e7e3; }
.over-budget .budget-total strong { color:#9b4034; }
.under-budget .budget-summary { background:#f5efe1; }
.auth-shell { max-width:1050px; margin:auto; }
.auth-card { max-width:620px; margin:20px auto; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:34px; box-shadow:var(--shadow); text-align:center; }
.auth-card .btn { margin-top:12px; }
.dashboard { display:grid; gap:22px; }
.dashboard-top { display:flex; justify-content:space-between; align-items:start; gap:20px; }
.metric { background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px; display:grid; gap:4px; }
.metric span { color:var(--muted); font-size:.84rem; }
.metric strong { font-size:2rem; color:var(--forest); }
.dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.dash-panel { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
.dash-panel.wide { grid-column:1/-1; }
.case-row { display:flex; justify-content:space-between; gap:12px; padding:14px 0; border-top:1px solid var(--line); align-items:center; }
.case-row:first-of-type { border-top:none; }
.case-row div { display:grid; gap:3px; }
.case-row div span { color:var(--muted); font-size:.86rem; }
.status { background:var(--mint); color:var(--forest-2); border-radius:999px; padding:5px 9px; font-size:.75rem; font-weight:800; white-space:nowrap; }
.status.neutral { background:#ece9df; color:#5b625d; }
.timeline { margin:0; padding-left:20px; }
.timeline li { padding:6px 0; }
[hidden] { display:none!important; }
@media (max-width: 1040px){ .main-nav { gap:4px; } .main-nav a { padding:8px 8px; font-size:.88rem; } }
@media (max-width: 940px){ .package-layout,.budget-shell { grid-template-columns:1fr; } .package-list,.budget-summary { position:static; } .nav-cta { margin-left:0; } }
@media (max-width: 620px){ .impact-grid,.dashboard-grid { grid-template-columns:1fr; } .impact-head,.dashboard-top { flex-direction:column; } .dash-panel.wide { grid-column:auto; } .case-row { align-items:flex-start; flex-direction:column; } }

/* v0.25 — Participation & Civic Service simulator */
.participation-hero { padding-bottom:34px; }
.participation-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:28px; }
.participation-summary .card { min-height:170px; }
.participation-summary .big { display:block; font-size:2rem; color:var(--forest); font-weight:900; margin:8px 0 4px; }
.simulator-shell { display:grid; grid-template-columns:360px minmax(0,1fr); gap:22px; align-items:start; }
.sim-controls { position:sticky; top:86px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:22px; }
.control-group { border-top:1px solid var(--line); padding-top:16px; margin-top:16px; }
.control-group:first-of-type { border-top:0; padding-top:0; margin-top:0; }
.control-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.control-grid.one { grid-template-columns:1fr; }
.control label { display:grid; gap:5px; font-size:.82rem; color:var(--muted); font-weight:700; }
.control input,.control select,.compact-input { width:100%; border:1px solid #bfc4be; border-radius:10px; background:#fff; padding:9px 10px; color:var(--ink); }
.control small { color:var(--muted); }
.sim-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.sim-actions .btn { padding:10px 13px; font-size:.88rem; }
.sim-output { display:grid; gap:18px; }
.fairness-banner { border-radius:16px; border:1px solid var(--line); padding:15px 17px; display:grid; gap:3px; }
.fairness-banner.good { background:#e5eee8; border-color:#bfd3c6; }
.fairness-banner.warn { background:#f3ead9; border-color:#dcc8a6; }
.fairness-banner.bad { background:#f2e0dc; border-color:#ddbdb5; }
.fairness-banner.neutral { background:#e9ece9; }
.fairness-banner strong { font-size:1.05rem; }
.metric-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.metric-grid.fourish { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:14px; }
.metric small { color:var(--muted); }
.proof-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.proof-card { border:1px solid var(--line); border-radius:16px; background:#fff; padding:18px; }
.proof-card code { display:block; margin:13px 0 10px; padding:12px; border-radius:10px; background:#f0eee7; overflow:auto; font-size:.92rem; }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:16px; background:#fff; }
.data-table { width:100%; border-collapse:collapse; min-width:760px; }
.data-table th,.data-table td { padding:10px 12px; border-bottom:1px solid #ebe9e1; text-align:right; font-variant-numeric:tabular-nums; }
.data-table th:first-child,.data-table td:first-child { text-align:left; }
.data-table th { position:sticky; top:0; background:#f0eee7; color:#3f4b45; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; z-index:1; }
.data-table tr:last-child td { border-bottom:0; }
.data-table tr.prob-diff { background:#fbefeb; }
.county-edit { max-height:430px; overflow:auto; border:1px solid var(--line); border-radius:14px; }
.county-edit .data-table { min-width:0; }
.county-edit .data-table th,.county-edit .data-table td { padding:8px 9px; }
.county-edit .data-table th { top:0; }
.choice-flow { display:flex; align-items:stretch; gap:8px; overflow:auto; padding-bottom:6px; }
.choice-flow > div { min-width:170px; flex:1; border:1px solid var(--line); border-radius:14px; background:#fff; padding:14px; display:grid; gap:4px; }
.choice-flow > div strong { font-size:1.5rem; color:var(--forest); }
.choice-flow > div span { color:var(--muted); font-size:.84rem; }
.choice-flow > i { align-self:center; font-style:normal; font-weight:900; color:#748077; }
.audit-preview { max-height:320px; overflow:auto; background:#17251e; color:#e9f1ec; padding:16px; border-radius:14px; font-size:.76rem; white-space:pre-wrap; }
.hierarchy { display:grid; grid-template-columns:repeat(7,minmax(100px,1fr)); gap:8px; overflow:auto; align-items:center; }
.hierarchy .node { min-height:112px; border:1px solid var(--line); border-radius:14px; background:#fff; padding:14px; }
.hierarchy .arrow { text-align:center; font-weight:900; color:#748077; }
.theorem { border-left:5px solid var(--forest); padding:18px 22px; background:#f8f7f2; border-radius:0 16px 16px 0; }
.theorem code { background:#ebe9e1; border-radius:8px; padding:3px 7px; }
.demo-warning { font-size:.84rem; color:var(--muted); margin-top:8px; }
@media (max-width: 1040px){
  .simulator-shell { grid-template-columns:1fr; }
  .sim-controls { position:static; }
  .participation-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric-grid,.metric-grid.fourish { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px){
  .participation-summary,.proof-grid,.metric-grid,.metric-grid.fourish { grid-template-columns:1fr; }
  .control-grid { grid-template-columns:1fr; }
}


/* v0.25 — citizen-council cooldown + citizen-council operating model */
.participation-summary { grid-template-columns:repeat(5,minmax(0,1fr)); }
.council-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }
.council-cycle { display:grid; gap:14px; }
.month-tabs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.month-tab { border:1px solid var(--line); border-radius:12px; background:#f7f5ef; color:var(--ink); padding:11px 8px; font-weight:800; }
.month-tab.active { background:var(--forest); border-color:var(--forest); color:white; }
.phase-panel { min-height:310px; }
.phase-panel h3 { margin-top:12px; }
.checklist { padding-left:20px; }
.checklist li { margin:8px 0; }
.phase-gate { margin-top:18px; border-left:4px solid var(--forest); background:#e8f0ea; padding:14px 16px; border-radius:0 12px 12px 0; }
.council-builder { display:grid; grid-template-columns:390px minmax(0,1fr); gap:22px; align-items:start; }
.council-controls { position:sticky; top:86px; }
.result-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.result-metric { border:1px solid var(--line); border-radius:16px; background:#fff; padding:18px; display:grid; gap:8px; }
.result-metric.good { background:#e8f0ea; border-color:#bfd3c6; }
.result-metric.warn { background:#f5ead8; border-color:#dec8a1; }
.result-metric.neutral { background:#efeee9; }
.result-metric > strong { font-size:2.2rem; color:var(--forest); }
.result-metric small,.result-metric p { color:var(--muted); }
.result-metric p { margin:0; font-size:.9rem; }
.sprint { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:22px 0; }
.sprint > div { border:1px solid rgba(255,255,255,.22); border-radius:14px; padding:16px; display:grid; gap:7px; background:rgba(255,255,255,.06); }
.sprint span { color:#b8d5c8; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
@media (max-width: 1100px){ .participation-summary { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 940px){ .council-builder { grid-template-columns:1fr; } .council-controls { position:static; } .month-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); } .sprint { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 680px){ .participation-summary,.council-summary,.result-metrics,.month-tabs,.sprint { grid-template-columns:1fr; } }


/* v0.32 — end-to-end democratic lifecycle */
.lifecycle-hero{padding-bottom:36px}.lifecycle-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}.lifecycle-summary .card strong{display:block;font-size:1.45rem;color:var(--forest);margin:9px 0}.trust-chain{display:grid;grid-template-columns:repeat(13,max-content);align-items:center;gap:9px;overflow:auto;padding:8px 2px 12px}.trust-chain>div{min-width:142px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;display:grid;gap:3px}.trust-chain>div span{font-size:.72rem;color:var(--muted);font-weight:900}.trust-chain>div small{color:var(--muted)}.trust-chain>i{font-style:normal;font-weight:900;color:#7c887f}.lifecycle-shell{display:grid;grid-template-columns:350px minmax(0,1fr);gap:22px;align-items:start}.lifecycle-controls{position:sticky;top:86px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.lifecycle-workspace{display:grid;gap:16px}.life-progress{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.progress-node{border:1px solid var(--line);border-radius:12px;background:#eeece5;padding:10px 7px;text-align:center;display:grid;gap:4px}.progress-node span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#d8d6cd;font-weight:900}.progress-node small{font-size:.72rem;color:var(--muted)}.progress-node.active{background:#e2eee7;border-color:#afc8b8}.progress-node.active span{background:var(--forest);color:#fff}.progress-node.done{background:#edf3ef}.progress-node.done span{background:#537965;color:#fff}.life-stage{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:grid;gap:16px;transition:.2s ease}.life-stage.locked{opacity:.5;filter:grayscale(.25);pointer-events:none}.stage-head{display:flex;align-items:center;gap:13px}.stage-head>div{flex:1}.stage-head h3{margin:5px 0 0}.stage-number{width:42px;height:42px;border-radius:13px;background:var(--forest);color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.15rem}.stage-status{font-size:.74rem;font-weight:900;text-transform:uppercase;background:#e5e3db;color:#67716b;padding:6px 9px;border-radius:999px}.stage-status.active{background:#f2dfb8;color:#6d531c}.stage-status.done{background:#dcebe2;color:var(--forest)}.stage-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:14px}.privacy-note{border-left:4px solid var(--forest);background:#edf3ef;border-radius:0 14px 14px 0;padding:15px 17px}.token-short{font-size:.88rem!important;overflow-wrap:anywhere}.choice-buttons{display:flex;flex-wrap:wrap;gap:8px}.month-dashboard{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}.month-ring{width:82px;height:82px;border-radius:50%;background:var(--forest);color:#fff;display:flex;align-items:baseline;justify-content:center;padding-top:23px}.month-ring strong{font-size:2rem}.month-ring span{opacity:.75}.lifecycle-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.lifecycle-metrics .result-metric{padding:14px}.lifecycle-metrics .result-metric>strong{font-size:1.7rem}.handover{display:grid;gap:14px}.trust-log-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.trust-log{border:1px solid var(--line);border-radius:14px;padding:14px;background:#f8f7f2}.trust-log ul{padding-left:18px;margin-bottom:0}.trust-log li{margin:7px 0}.trust-log li small{display:block;color:var(--muted)}
@media(max-width:1120px){.lifecycle-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.lifecycle-shell{grid-template-columns:1fr}.lifecycle-controls{position:static}.lifecycle-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.lifecycle-summary,.stage-grid,.trust-log-grid,.lifecycle-metrics{grid-template-columns:1fr}.life-progress{grid-template-columns:repeat(4,minmax(0,1fr))}.month-dashboard{grid-template-columns:1fr}.month-ring{margin:auto}.stage-head{align-items:flex-start}.stage-status{margin-left:auto}}

.contract-list{display:grid;gap:8px;margin:14px 0}.contract-list>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:8px 0}.contract-list>div span{color:var(--muted);white-space:nowrap}.lifecycle-sprint{background:var(--forest-2);padding:12px;border-radius:16px;color:#fff}.lifecycle-sprint strong{font-size:.92rem}

/* v0.32 — employment responsibility, due process and integrity */
.integrity-sim{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:22px;align-items:start}.process-strip{display:flex;align-items:stretch;gap:8px;overflow:auto;padding:8px 0}.process-strip>div{min-width:130px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#f8f7f2;display:grid;gap:7px}.process-strip>div span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;font-weight:900}.process-strip>i{font-style:normal;display:grid;place-items:center;color:var(--muted);font-weight:900}.princip-box{margin-top:20px;border-left:4px solid var(--forest);padding:18px 20px;background:#edf3ef;border-radius:0 14px 14px 0}.princip-box p{margin-bottom:0}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.source-grid a{padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none}.source-grid a:hover{text-decoration:underline}.number-list{padding-left:22px}.number-list li{margin:9px 0}
@media(max-width:900px){.integrity-sim,.source-grid{grid-template-columns:1fr}}

/* v0.32 — professional launch candidate */
:root{--bg:#f6f4ee;--surface:#fffefa;--ink:#10211a;--muted:#5c6b64;--line:#d8d9d2;--forest:#0b3d30;--forest-2:#082d24;--mint:#e2eee8;--blue:#dfeaf1;--sand:#ede5d5;--shadow:0 18px 55px rgba(10,34,26,.08);--radius:16px;--max:1240px}
body{background:var(--bg);font-size:16px;letter-spacing:-.005em}
h1,h2{font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif;font-weight:600;letter-spacing:-.045em}h3,h4{letter-spacing:-.02em}.container{max-width:var(--max)}
.site-header{background:rgba(246,244,238,.94);border-bottom:1px solid rgba(16,33,26,.1);backdrop-filter:blur(18px)}.nav-wrap{max-width:var(--max);padding:13px 24px}.brand{letter-spacing:.14em;font-size:.92rem}.brand img{display:block}.main-nav{gap:3px}.main-nav a{border-radius:8px;padding:9px 10px;font-size:.9rem}.main-nav a:hover{background:rgba(11,61,48,.06)}.main-nav a.active{background:transparent;color:var(--forest);box-shadow:inset 0 -2px 0 var(--forest)}.main-nav .nav-cta{background:var(--forest);color:#fff;padding-inline:14px;margin-left:6px}.main-nav .nav-cta:hover,.main-nav .nav-cta.active{background:var(--forest-2);color:#fff;box-shadow:none}.lang{margin-left:4px}
.btn{border-radius:10px;padding:12px 17px;font-weight:750}.btn.secondary{background:transparent;border-color:#b9beb9}.btn.text-link{border-color:transparent;padding-inline:4px;color:var(--forest)}.btn.light{background:#f9f7f0;color:var(--forest-2);border-color:#f9f7f0}.card{border-radius:16px;background:rgba(255,254,250,.92);box-shadow:0 1px 0 rgba(16,33,26,.02)}a.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.pill{border-radius:6px;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.section{padding:88px 0}.section.tint{background:#eceae3}.page-hero{padding:74px 0 52px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f7f5ef 0%,#eef2ee 100%)}.page-hero h1{max-width:980px}.lede{color:#31453c}.kicker{line-height:1.65}.local-badge{display:none!important}
.launch-hero{padding:88px 0 80px;background:radial-gradient(circle at 78% 20%,rgba(207,225,234,.48),transparent 29%),linear-gradient(180deg,#f8f6f0,#f2f2eb);border-bottom:1px solid var(--line);overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);gap:70px;align-items:center}.launch-copy h1{font-size:clamp(3.4rem,6.4vw,6.7rem);max-width:800px;margin:.12em 0 .25em}.launch-copy .lede{max-width:760px}.publication-note{margin-top:30px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border-top:1px solid #cfd5cf;padding-top:18px;font-size:.88rem}.publication-note span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.publication-note a{color:var(--forest);font-weight:800}
.system-loop{position:relative;min-height:560px;max-width:560px;margin:auto;border:1px solid #cbd5ce;border-radius:50%;background:rgba(255,255,255,.32);box-shadow:inset 0 0 0 58px rgba(226,238,232,.4),inset 0 0 0 116px rgba(223,234,241,.2)}.loop-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:170px;height:170px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-content:center;text-align:center;box-shadow:0 18px 50px rgba(11,61,48,.22)}.loop-core span{font-size:1.35rem;font-weight:900;letter-spacing:.12em}.loop-core strong{font-size:.78rem;font-weight:500;opacity:.8;margin-top:5px}.loop-node{position:absolute;width:118px;min-height:72px;border:1px solid #cbd2cd;background:#fffefa;border-radius:12px;padding:11px 13px;box-shadow:0 8px 30px rgba(10,34,26,.07)}.loop-node small{display:block;color:var(--forest);font-weight:900}.loop-node b{font-size:.9rem}.n1{top:14px;left:50%;transform:translateX(-50%)}.n2{right:-16px;top:120px}.n3{right:-18px;bottom:110px}.n4{bottom:10px;left:50%;transform:translateX(-50%)}.n5{left:-18px;bottom:110px}.n6{left:-16px;top:120px}
.signal-strip{background:var(--forest-2);color:#edf5f0}.signal-strip .container{display:grid;grid-template-columns:repeat(4,1fr)}.signal-strip span{padding:16px 18px;border-left:1px solid rgba(255,255,255,.13);font-size:.78rem;text-align:center}.signal-strip span:last-child{border-right:1px solid rgba(255,255,255,.13)}
.editorial-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:80px;align-items:start}.editorial-grid h2{font-size:clamp(2.4rem,4vw,4.4rem)}.launch-cards{margin-top:45px}.card-index{font-family:Georgia,serif;font-size:2rem;color:#9baaa2;display:block;margin-bottom:35px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-head h2{max-width:800px}.launch-timeline{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #bbc3bd}.launch-timeline>div{padding:28px 22px 0 0;position:relative}.launch-timeline>div:before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--forest)}.launch-timeline span{font-size:.7rem;color:var(--muted);font-weight:900}.launch-timeline strong{display:block;margin:8px 0;font-size:1rem}.launch-timeline p{font-size:.88rem;color:var(--muted)}
.reserve-feature{background:#e2ece7}.reserve-feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.reserve-number{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px;align-items:end;border-left:1px solid #aabcb2;padding-left:50px}.reserve-number span{font-family:Georgia,serif;font-size:clamp(3.5rem,6vw,6.2rem);line-height:.9}.reserve-number small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:800}.reserve-number i{grid-column:1/3;font-style:normal;font-size:1.8rem;color:#6d7f75}.reserve-number em{grid-column:1/3;font-style:normal;margin-top:12px;border-top:1px solid #aabcb2;padding-top:12px;font-weight:800;color:var(--forest)}
.book-launch-grid{display:grid;grid-template-columns:360px 1fr;gap:70px;align-items:center}.pro-cover{min-height:500px;background:linear-gradient(150deg,#f2ede0,#dfd4bd);border-color:#c7baa0;padding:34px}.pro-cover>div:first-child span{font-size:1.2rem;letter-spacing:.14em;font-weight:900}.pro-cover strong{font-family:Georgia,serif;font-size:1.85rem;font-weight:500}.pro-cover>div:last-child{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #bbae95;padding-top:16px}.launch-dark{background:#082d24}.launch-dark h2{color:#fff}.launch-dark p{color:#cad7d1}
.launch-footer{background:#0d1d17;color:#b9c5bf;margin-top:0;padding:54px 0 28px;border-top:0}.launch-footer .brand{color:#fff}.launch-footer .brand img{filter:brightness(0) invert(1)}.footer-brand-row{display:flex;justify-content:space-between;gap:40px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.12)}.footer-brand-row p{max-width:540px}.footer-version{display:grid;align-content:start;gap:3px;text-align:right}.footer-version strong{color:#fff}.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-top:34px}.footer-links>div{display:grid;align-content:start;gap:7px}.footer-links strong{color:#fff;margin-bottom:7px}.footer-links a:hover{color:#fff;text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:36px;margin-top:34px;border-top:1px solid rgba(255,255,255,.1);font-size:.75rem}
.launch-page-hero h1{max-width:1000px}.reserve-protocol{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.reserve-protocol>div{border:1px solid var(--line);background:#fffefa;border-radius:14px;padding:24px}.reserve-protocol span{font-size:.7rem;font-weight:900;color:var(--forest);letter-spacing:.1em}.reserve-protocol h3{margin-top:18px}.reserve-sim{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start}.reserve-sim .sim-controls{position:sticky;top:92px;background:#fffefa;border:1px solid var(--line);border-radius:16px;padding:22px;display:grid;gap:14px}.reserve-sim label{display:grid;gap:6px;font-weight:750;font-size:.86rem}.reserve-sim input{width:100%;border:1px solid #bec4bf;background:#faf9f4;border-radius:9px;padding:10px}.reserve-prob{display:flex;align-items:baseline;gap:10px;margin:22px 0}.reserve-prob strong{font-family:Georgia,serif;font-size:3rem;color:var(--forest)}.reserve-prob span{color:var(--muted)}.deadline{display:inline-flex;gap:8px;align-items:center;background:#edf3ef;border-radius:9px;padding:8px 10px}.status-chip{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid #bfc8c1;padding:7px 9px;border-radius:7px}.horizontal-card{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:30px}.horizontal-card>div{max-width:800px}.reserve-mini{padding:38px 0}.reserve-callout{background:#e3ece7}.book-download{padding-top:20px}
@media(max-width:1000px){.hero-grid{grid-template-columns:1fr}.system-loop{min-height:480px;max-width:480px}.editorial-grid,.reserve-feature-grid,.book-launch-grid{grid-template-columns:1fr}.reserve-number{border-left:0;border-top:1px solid #aabcb2;padding:30px 0 0}.launch-timeline{grid-template-columns:repeat(2,1fr);gap:20px}.reserve-protocol{grid-template-columns:repeat(2,1fr)}.reserve-sim{grid-template-columns:1fr}.reserve-sim .sim-controls{position:static}.footer-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.launch-hero{padding:60px 0}.launch-copy h1{font-size:3.15rem}.system-loop{display:none}.signal-strip .container{grid-template-columns:1fr 1fr}.editorial-grid{gap:25px}.launch-timeline,.reserve-protocol{grid-template-columns:1fr}.section-head,.footer-brand-row,.footer-bottom,.horizontal-card{align-items:flex-start;flex-direction:column}.footer-version{text-align:left}.footer-links{grid-template-columns:1fr 1fr}.publication-note{grid-template-columns:1fr}.reserve-number span{font-size:4rem}}

/* v0.47 — statens kärnuppdrag i fred, kris och återgång */
.core-hero{background:radial-gradient(circle at 82% 12%,rgba(85,145,132,.24),transparent 28%),linear-gradient(135deg,#071f1a 0%,#0b3d30 48%,#101c34 100%);color:#fff;padding:84px 0 70px}.core-hero .breadcrumb,.core-hero .breadcrumb a,.core-hero .lede{color:#d7e5df}.core-hero h1{max-width:1080px;font-size:clamp(3rem,6vw,6rem);margin:.18em 0}.core-hero .eyebrow{color:#e4bd71}.core-promise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:42px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18);border-radius:18px;overflow:hidden}.core-promise>div{padding:22px;background:rgba(5,27,23,.56)}.core-promise strong{display:block;color:#fff;margin-bottom:6px}.core-promise span{color:#bcd2c9;font-size:.9rem}.mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mission-card{border:1px solid var(--line);border-radius:16px;background:#fffefa;padding:24px;display:grid;grid-template-columns:auto 1fr;gap:16px}.mission-card>span{width:38px;height:38px;border-radius:11px;background:var(--forest);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-weight:800}.mission-card h3{margin:2px 0 8px}.mission-card p{margin:0;color:var(--muted)}.mode-table{display:grid;grid-template-columns:minmax(150px,.6fr) repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.mode-table>div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.mode-table>div:nth-child(4n){border-right:0}.mode-table>div:nth-last-child(-n+4){border-bottom:0}.mode-table .mode-head{background:var(--forest);color:#fff;font-weight:850}.mode-table .mode-label{background:#edf3ef;font-weight:850;color:var(--forest)}.failure-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.failure-card{border-top:4px solid #b85b4b;background:#fffefa;border-radius:12px;padding:20px;box-shadow:0 8px 30px rgba(10,34,26,.05)}.failure-card h3{margin-top:0}.failure-card p{color:var(--muted);font-size:.92rem}.guardrail-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.guardrail-list>div{background:#e2eee8;border:1px solid #bfd3c6;border-radius:14px;padding:18px}.guardrail-list strong{display:block;color:var(--forest);margin-bottom:7px}.boundary-note{border-left:5px solid #d2a34b;background:#f4ead7;border-radius:0 14px 14px 0;padding:18px 22px}.source-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.source-cards a{display:grid;gap:4px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:15px 17px;text-decoration:none}.source-cards a:hover{border-color:var(--forest)}.source-cards small{color:var(--muted)}.edition-two-callout{background:linear-gradient(135deg,#e4eee9,#f4ead7);border-top:1px solid #cbd8d1;border-bottom:1px solid #d9c9aa}.edition-two-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:48px;align-items:center}.edition-two-grid .edition-badge{border:1px solid rgba(11,61,48,.24);background:rgba(255,255,255,.56);border-radius:16px;padding:24px}.edition-badge strong{display:block;font-family:Georgia,serif;font-size:2rem;color:var(--forest);margin-bottom:8px}
@media(max-width:1050px){.core-promise,.guardrail-list{grid-template-columns:1fr 1fr}.failure-grid{grid-template-columns:1fr 1fr}.mode-table{grid-template-columns:1fr}.mode-table>div{border-right:0}.mode-table>div:nth-last-child(-n+4){border-bottom:1px solid var(--line)}.mode-table>div:last-child{border-bottom:0}.mode-table .mode-head:first-child{display:none}.edition-two-grid{grid-template-columns:1fr}}
@media(max-width:680px){.core-promise,.mission-grid,.failure-grid,.guardrail-list,.source-cards{grid-template-columns:1fr}.mission-card{grid-template-columns:1fr}.core-hero{padding-top:58px}}

/* Public aggregate counts: same restrained footer treatment in both languages. */
.public-statistics{margin-top:24px;padding-top:20px;padding-bottom:20px;border-top:1px solid currentColor}
.public-statistics h2{font-size:1rem;margin:0 0 12px;color:inherit}
.public-statistics dl{display:flex;flex-wrap:wrap;gap:16px 40px;margin:0 0 12px}
.public-statistics dt,.public-statistics p{font-size:.875rem;line-height:1.6;margin:4px 0}
.public-statistics dd{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;margin:0}
@media(min-width:941px){.nav-wrap{flex-wrap:wrap}.main-nav{flex-wrap:wrap}}

.growth-next{margin:40px auto;padding:28px;background:#e6f0ec;border-left:4px solid #176f57;color:#142d29}.growth-next h2{font-size:1.7rem;line-height:1.2;margin:0 0 12px}.growth-next p{max-width:760px;font-size:1rem}.growth-next .btn{margin:6px 10px 0 0}
