:root{color-scheme:light;--navy:#111d28;--ink:#122534;--paper:#f5f3ed;--white:#fffdfa;--muted:#455967;--border:#d7dfda;--green:#08735e;--lime:#d8f588;--mint:#e1f1e9;--orange:#8c460f;--warm:#fff0d9;font:16px/1.5 system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
button,a{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #219478;outline-offset:3px}a{color:inherit}button{border:1px solid var(--border);background:var(--white);border-radius:9px;color:inherit;padding:.48rem .8rem;font-weight:680}
.top,.controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(16px,4vw,64px);background:var(--navy);color:#f2f7f5}
.top{min-height:68px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:850;line-height:1.15;letter-spacing:.03em}.brand small{display:block;color:#9fb5b3;font-size:.64rem;letter-spacing:.13em;margin-top:4px;white-space:nowrap}.mark{display:grid;place-items:center;background:var(--lime);color:var(--navy);width:37px;height:37px;border-radius:9px}
.top nav,.tools,.paging{display:flex;align-items:center;gap:6px}.top nav{overflow:auto}.top nav a{display:block;text-decoration:none;white-space:nowrap;color:#c3d1d1;font-size:.8rem;padding:.42rem .7rem;border-radius:7px}.top nav a[aria-current]{background:#284338;color:var(--lime)}
.top button,.controls button{background:#233541;border-color:#415661;color:#f5faf9}.controls{min-height:62px}.controls button{font-size:1.2rem;min-width:44px;line-height:1.15}.controls button#next{background:var(--lime);color:var(--navy);border-color:var(--lime)}.current{display:flex;align-items:center;gap:16px;font-size:.82rem;color:#d2dfdc;flex:1}.current span{min-width:110px}progress{appearance:none;width:min(30vw,290px);height:4px;border:0;border-radius:10px;background:#415661}progress::-webkit-progress-bar{background:#415661;border-radius:10px}progress::-webkit-progress-value{background:var(--lime);border-radius:10px}progress::-moz-progress-bar{background:var(--lime)}#count{min-width:70px;text-align:center;font-size:.85rem;font-variant-numeric:tabular-nums}
main{overflow:auto;outline:none;scrollbar-gutter:stable}.slide{max-width:1370px;margin:auto;padding:clamp(22px,4vw,56px) clamp(18px,4vw,58px) 34px}
.kicker,.eyebrow{font-size:.72rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:var(--green);margin:0 0 7px}
h1,h2,h3,p,figure{margin:0}h1{font-size:clamp(2rem,4.15vw,4.15rem);line-height:1.02;letter-spacing:-.062em;max-width:19ch;text-wrap:balance}h2{font-size:1.26rem;line-height:1.2;letter-spacing:-.025em}h3{font-size:1.04rem}p{color:var(--muted)}.lead{font-size:clamp(1rem,1.4vw,1.2rem);max-width:74ch;margin-top:11px}.content{margin-top:25px;display:grid;gap:14px}.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.flow,.table-wrap,.note,details{background:var(--white);border:1px solid var(--border);border-radius:13px;padding:clamp(12px,1.6vw,21px);min-width:0}.card>*+*,.note>*+*{margin-top:8px}.note{background:var(--mint);border-color:#b9d9cd}.note.warm{background:var(--warm);border-color:#ead0ad}.warm .eyebrow{color:var(--orange)}.pill{display:inline-block;color:#075744;background:var(--mint);border-radius:5px;padding:2px 7px;font-size:.75rem;font-weight:780}.pill.target{background:var(--warm);color:#783c11}
.flow{display:grid;gap:11px}.nodes{display:flex;align-items:stretch;gap:8px}.node{flex:1;min-width:0;border:1px solid #c1d8cc;border-radius:10px;background:#edf5ef;padding:12px}.node strong,.node small{display:block;overflow-wrap:anywhere}.node small{color:var(--muted);margin-top:4px}.arrow{align-self:center;color:var(--green);font-size:1.4rem;font-weight:800}.flow figcaption{font-size:.86rem;color:var(--muted)}
.hero{display:grid;grid-template-columns:1fr .95fr;gap:clamp(20px,4vw,60px);align-items:center}.hero h1{font-size:clamp(2.8rem,6.8vw,6.9rem);max-width:11ch}.hero em{font-style:normal;color:var(--green)}.hero .lead{max-width:49ch}.hero-cta{display:inline-block;background:var(--navy);color:white;padding:.7rem 1rem;border-radius:8px;text-decoration:none;font-weight:750;margin-top:20px}.hero-map{background:var(--navy);border-radius:18px;color:white;padding:clamp(15px,2.4vw,30px);display:grid;gap:12px}.hero-map .eyebrow{color:var(--lime)}.hero-map p{color:#c3d5d2}.hero-map .node{background:#213640;border-color:#4d6a66}.hero-map .node small{color:#d1dfdc}.hero-map .arrow{color:var(--lime)}.hero-map .nodes{flex-wrap:wrap}.hero-map .node{min-width:95px}.metrics{display:flex;gap:22px;flex-wrap:wrap;margin-top:24px}.metrics strong{display:block;font-size:1.65rem;line-height:1;color:var(--green)}.metrics small{color:var(--muted)}
.table-wrap{padding:0;overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.9rem}caption{text-align:left;padding:10px 13px;font-weight:800;background:#d9e9e1}td,th{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:top}thead th{background:#edf3ee;font-size:.78rem;color:#344d53}tbody tr:last-child>*{border:0}tbody th{font-weight:720}code{font: .88em ui-monospace,Consolas,monospace;color:#145549;overflow-wrap:anywhere}.big{font-size:clamp(1.4rem,3.1vw,2.65rem);line-height:1.1;letter-spacing:-.045em}.checks{margin:0;padding-left:1.18rem;color:var(--muted)}.checks li+li{margin-top:5px}.ref{display:grid;gap:8px}.ref details{padding:10px 14px}.ref summary{cursor:pointer;font-weight:750}.ref ol{margin:8px 0 2px;padding-left:1.5rem}.ref li+li{margin-top:4px}.validation table{min-width:660px}
dialog{max-height:85dvh;width:min(760px,94vw);border:1px solid var(--border);border-radius:17px;padding:20px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#111d28bc}.dialog-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}#entries{display:grid;grid-template-columns:1fr 1fr;gap:7px}#entries button{text-align:left}#entries small{color:var(--green);margin-right:8px}
@media(max-width:930px){.top{flex-wrap:wrap;gap:8px}.top nav{order:3;width:100%}.slide{padding-top:25px}}
@media(max-width:650px){.hero,.cols,.three,.four{grid-template-columns:1fr}.top,.controls{padding-inline:12px}.top nav a{padding:.36rem .5rem}.slide{padding-inline:15px}.content{margin-top:17px}.nodes:not(.hero-map .nodes){flex-direction:column}.flow .arrow{transform:rotate(90deg);line-height:1}.current{gap:4px}.current span{min-width:0}.current progress{display:none}#entries{grid-template-columns:1fr}.hero-map .nodes{gap:6px}td,th{padding:7px 8px}}
@media print{body{height:auto;display:block}.top,.controls{display:none}main{overflow:visible}.slide{padding:0}}

@media(min-width:931px){
  .slide{padding-top:clamp(24px,3.1vh,42px)}
  h1{font-size:clamp(2.4rem,3.55vw,3.9rem);max-width:26ch}
  .content{margin-top:20px;gap:12px}
}
