:root { color-scheme:light; --navy:#101f39; --cream:#f8f5ed; --ink:#142440; --blue:#17458c; --mint:#a9e4d0; --muted:#35455e; font-family:Inter,Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:#080f1c; color:var(--cream); min-height:100dvh; line-height:1.5; }
button,input,select { font:inherit; }
button { cursor:pointer; }
button:disabled { opacity:.55; cursor:default; }
[hidden] { display:none !important; }
.skip-link { position:absolute; top:0; left:1rem; z-index:30; padding:1rem; background:#fff; color:#101f39; transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.toolbar { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.5rem; gap:1rem; flex-wrap:wrap; }
.brand { font-size:1.25rem; font-weight:750; color:#fff; text-decoration:underline; min-height:44px; display:inline-flex; align-items:center; }
.brand span { color:#b9c7db; font-weight:400; }
.controls { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.controls button,.notes-heading button { min-height:44px; min-width:44px; border:1px solid #96aac7; background:#172338; color:#fff; border-radius:9px; padding:.5rem .875rem; }
.controls button:hover:not(:disabled) { background:#273b5a; }
.controls .primary { background:var(--blue); }
kbd { font:inherit; margin-left:.4rem; }
#counter { font-size:1rem; font-variant-numeric:tabular-nums; min-width:5rem; text-align:center; color:#b9c7db; }
main { width:min(100% - 2rem,1180px); margin:1rem auto; }
.stage { width:100%; }
.slide { position:relative; display:flex; flex-direction:column; gap:1.25rem; min-height:36rem; padding:clamp(1rem,4vw,3rem); color:var(--ink); background:var(--cream); border-radius:6px; margin-bottom:1.5rem; }
.slide.dark { background:var(--navy); color:var(--cream); }
.eyebrow { display:flex; justify-content:space-between; align-items:center; gap:1rem; font-size:1rem; letter-spacing:.08em; font-weight:750; color:var(--blue); }
.eyebrow > span { white-space:nowrap; flex-shrink:0; }
.dark .eyebrow { color:var(--mint); }
h1,h2,h3,p { margin:0; }
h1,h2 { position:relative; z-index:1; letter-spacing:-.025em; line-height:1.2; font-weight:750; margin:.5rem 0; font-size:3rem; }
h1 { font-size:3.5rem; }
em { font-style:normal; color:var(--blue); }
.dark em { color:var(--mint); }
.lede { position:relative; z-index:1; font-size:1.75rem; line-height:1.5; }
.bottom-line { margin-top:auto; display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; border-top:1px solid #96aac7; padding-top:1rem; font-size:1rem; }
.bottom-line > span:first-child { font-weight:750; color:var(--mint); }
.cover-mark { display:none; }
.cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-block:1rem; }
.cards article { background:#fff; padding:1.5rem; border-radius:12px; border:1px solid #65758c; }
.cards .accent { background:#e1ebff; }
.cards h3 { font-size:1.5rem; margin-bottom:1rem; }
.cards p { font-size:1.25rem; line-height:1.5; color:var(--muted); }
.number { display:block; color:var(--blue); font-size:1rem; margin-bottom:1rem; }
.footnote { font-size:1rem; line-height:1.5; color:var(--muted); margin-top:auto; }
.dark .footnote { color:#c4d1e3; }
.rows { display:grid; gap:1.5rem; }
.rows article { display:flex; gap:1.5rem; }
.rows article > span { color:var(--mint); font-size:1.5rem; }
.rows h3 { font-size:1.5rem; margin-bottom:.5rem; }
.rows p { font-size:1.25rem; color:#c4d1e3; }
.split { display:grid; grid-template-columns:1fr 1.3fr; gap:2rem; align-items:center; margin-block:1rem; }
.price { background:var(--navy); color:#fff; border-radius:12px; padding:1.5rem; }
.price strong { display:block; font-size:4rem; }
.price p,.business p { font-size:1.5rem; margin-block:1rem; }
.price span { color:var(--mint); font-size:1rem; }
.business b { display:block; font-size:1rem; color:var(--blue); }
.financials strong { font-size:2.5rem; display:block; color:var(--blue); margin-block:1rem; }
.timeline { display:grid; gap:1.5rem; }
.timeline p { display:grid; grid-template-columns:12rem 1fr; gap:1.5rem; font-size:1.25rem; }
.timeline b { color:var(--mint); }
.ask { padding:1.25rem; border-radius:8px; background:var(--mint); color:var(--navy); font-size:1.5rem; font-weight:700; }
.hint { text-align:center; color:#b9c7db; font-size:1rem; padding:1rem; }
.hint span { margin:0 .5rem; }
#speaker-notes { width:min(540px,calc(100% - 2rem)); max-height:calc(100dvh - 2rem); overflow:auto; background:#fff; color:var(--ink); border:2px solid #65758c; border-radius:14px; padding:1.5rem; }
dialog::backdrop { background:#080f1cbf; }
.notes-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.notes-heading h2 { font-size:1.5rem; margin:0; }
#note-text { font-size:1.125rem; line-height:1.5; margin-block:1.5em; }
.source { font-size:1rem; line-height:1.5; margin-top:1.5em; color:var(--muted); }
.source a { color:var(--blue); }
.inline-notes { color:inherit; border-top:1px solid currentColor; padding-top:1rem; }
.inline-notes p { font-size:1rem; line-height:1.5; }
.message,.no-script { margin:1rem; padding:1rem; background:#fffdf8; color:#17253b; border:2px solid #65758c; }
html:not(.deck-ready) .slide[hidden] { display:flex !important; }
html:fullscreen body { overflow:auto; }
html:fullscreen .toolbar { background:#080f1c; }
html:fullscreen .reading-controls { display:block; }
html:fullscreen main { margin:1rem auto; }
@media (max-width:800px) {
  .cards,.split { grid-template-columns:1fr; }
  .timeline p { grid-template-columns:1fr; gap:.5rem; }
  h1,h2 { font-size:2rem; }
  .lede { font-size:1.5rem; }
  .slide { min-height:0; }
  .toolbar { padding:1rem; }
  .controls { width:100%; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; transition:none !important; } }
