:root{
  --bg-base:#0A0A0B; --bg-elevated:#121316; --bg-card:#17181C;
  --text-primary:#F4F5F7; --text-secondary:#9AA0AA; --line:#26282E;
  --accent:#12BEEE; --accent-deep:#0056A7; --amber:#FFC24B;
  --corephp-red:#A41E22; --corered:#A41E22; --radius:2px;
  --font-head:'Oswald','Arial Narrow',sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
#deck{scroll-snap-type:y mandatory;overflow-y:scroll;height:100vh}
.slide{min-height:100vh;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;padding:6vh 8vw;position:relative;border-bottom:1px solid var(--line)}
.eyebrow{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--accent)}
.headline{font-family:var(--font-head);text-transform:uppercase;line-height:.95;letter-spacing:-.01em;font-weight:700;font-size:clamp(2.5rem,7vw,6rem)}
.subhead{font-family:var(--font-head);text-transform:uppercase;font-weight:600;font-size:clamp(1.4rem,3vw,2.4rem);letter-spacing:.01em}
.lead{color:var(--text-secondary);font-size:clamp(1rem,1.4vw,1.35rem);max-width:60ch;line-height:1.5}
.mono-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary)}
.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}
.stat-num{font-family:var(--font-head);font-weight:700;font-size:clamp(2.5rem,5vw,4rem);color:var(--accent);line-height:1}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.flow-arrow{display:flex;align-items:center;justify-content:center;color:var(--accent);font-family:var(--font-head);font-size:1.4rem}
.reveal.is-in{opacity:1;transform:none}
#deck-nav{position:fixed;right:2vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.6rem;z-index:50}
#deck-nav .dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--text-secondary);background:transparent;cursor:pointer;padding:0}
#deck-nav .dot.active{background:var(--accent);border-color:var(--accent)}
#deck-nav .dot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#slide-counter{position:fixed;left:2vw;bottom:3vh;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.15em;color:var(--text-secondary);z-index:50;background:rgba(10,10,11,.75);padding:.3rem .6rem;border-radius:var(--radius)}
.deck-footer{position:absolute;left:8vw;right:8vw;bottom:2.5vh;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;color:var(--text-secondary)}
.deck-footer b{color:var(--corephp-red)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media (max-width:640px){#slide-6>div.reveal{grid-template-columns:1fr!important}}
@media (max-width:640px){#slide-A2>div.reveal{grid-template-columns:1fr!important}}
@media (max-width:640px){#slide-3-flow{grid-template-columns:1fr!important}.flow-arrow{display:none}}
@media (max-width:640px){
  #deck-nav{display:none}
  #slide-counter{left:auto;right:4vw;bottom:2.5vh}
  .deck-footer .tagline-extra{display:none}
}
