:root { --ink:#12263a; --brand:#12304f; --accent:#0f6e5c; --muted:#5d6b79; --line:#dfe4ea; --paper:#fbfaf7;
  --serif: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
* { box-sizing: border-box; }
body { margin:0; background:#e9edf1; font-family: var(--sans); color: var(--ink); }
.deck { display:flex; flex-direction:column; align-items:center; gap:18px; padding:18px; }
.slide { position:relative; display:flex; flex-direction:column; justify-content:center; width:min(100%, 1120px); aspect-ratio: 16 / 9; background:var(--paper); border:1px solid var(--line);
  border-radius:14px; padding:46px 62px 54px; overflow:hidden; box-shadow:0 8px 24px rgba(18,38,58,.08); container-type:inline-size; }
.slide > .n { position:absolute; bottom:18px; right:26px; font-size:13px; color:var(--muted); }
.slide > .brand { position:absolute; bottom:18px; left:26px; font-size:13px; color:var(--muted); }
h1 { font-family:var(--serif); font-size:clamp(28px, 4.6cqi, 58px); line-height:1.08; color:var(--brand); margin:0 0 18px; }
h2 { font-family:var(--serif); font-size:clamp(22px, 3.3cqi, 40px); line-height:1.12; color:var(--brand); margin:0 0 16px; }
h3 { font-size:clamp(14px, 1.7cqi, 20px); margin:0 0 6px; color:var(--brand); }
p, li, td, th { font-size:clamp(12px, 1.62cqi, 19px); line-height:1.5; }
.lead { color:#33475b; max-width:60ch; }
.kicker { text-transform:uppercase; letter-spacing:.09em; font-size:clamp(10px,1.15cqi,13px); font-weight:700; color:var(--accent); margin:0 0 12px; }
ul { margin:0 0 10px; padding-left:1.1em; } li { margin:6px 0; }
.cols { display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start; }
.cols.three { grid-template-columns:repeat(3,1fr); gap:22px; }
.card { background:#fff; border:1px solid var(--line); border-radius:10px; padding:16px 18px; }
table { border-collapse:collapse; width:100%; }
th, td { text-align:left; padding:7px 10px; border-bottom:1px solid var(--line); }
th { color:var(--muted); font-weight:600; }
td.num, th.num { text-align:right; font-variant-numeric:tabular-nums; }
tr.us td { background:#e8f3ef; font-weight:700; }
.big { font-family:var(--serif); font-size:clamp(34px,6cqi,76px); color:var(--brand); font-weight:700; line-height:1; }
.small { font-size:clamp(10px,1.25cqi,15px); color:var(--muted); }
code, pre { font-family: ui-monospace, Menlo, Consolas, monospace; }
pre { background:#0f1d2b; color:#e6edf3; padding:14px 16px; border-radius:10px; font-size:clamp(9px,1.25cqi,15px); overflow:auto; line-height:1.45; }
.steps { counter-reset:s; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.steps .card { padding-top:34px; position:relative; }
.steps .card::before { counter-increment:s; content:counter(s); position:absolute; top:10px; left:16px; width:22px; height:22px; border-radius:50%; background:var(--brand); color:#fff; font:700 12px/22px var(--sans); text-align:center; }
.title-slide { background:linear-gradient(135deg,#12304f,#0f6e5c); color:#fff; display:flex; flex-direction:column; justify-content:center; }
.title-slide h1, .title-slide h2 { color:#fff; }
.title-slide .kicker { color:#a9e6d3; }
.title-slide .small, .title-slide p { color:#dfeae6; }
.pill { display:inline-block; background:#e8f3ef; color:#0b4d40; border-radius:999px; padding:3px 11px; font-size:clamp(10px,1.2cqi,14px); font-weight:600; }
.nav { position:fixed; bottom:16px; left:50%; transform:translateX(-50%); background:#12304f; color:#fff; border-radius:999px; padding:8px 14px; font-size:13px; display:flex; gap:12px; align-items:center; z-index:5; }
.nav a { color:#fff; text-decoration:none; }
@media print {
  @page { size: 1120px 630px; margin:0; }
  body { background:#fff; }
  .deck { display:block; padding:0; gap:0; }
  .nav { display:none; }
  .slide { width:1120px; height:630px; aspect-ratio:auto; border:0; border-radius:0; box-shadow:none; break-after:page; page-break-after:always; }
}
