/* Parachute pitch decks — shared slide framework.
   Slides are authored at a fixed 1920x1080 and scaled to fit the viewport. */

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body { background: #DADCDF; overflow: hidden; font-family: 'Manrope', sans-serif; }

#stage {
  position: absolute; top: 50%; left: 50%;
  width: 1920px; height: 1080px;
  transform-origin: center center;
  box-shadow: 0 20px 70px -20px rgba(20, 22, 26, .45);
}
.sl {
  position: absolute; inset: 0; width: 1920px; height: 1080px;
  display: none; flex-direction: column; overflow: hidden;
}
.sl.on { display: flex; }

.mono { font-family: 'IBM Plex Mono', monospace; }
.eyebrow {
  font-family: 'IBM Plex Mono', monospace; font-weight: 600; font-size: 22px;
  letter-spacing: .26em; text-transform: uppercase;
}

/* HUD */
#hud {
  position: fixed; left: 0; right: 0; bottom: 18px; z-index: 50;
  display: flex; align-items: center; justify-content: center; gap: 22px;
  font: 600 12.5px 'Manrope', sans-serif; color: rgba(20,22,26,.45);
  opacity: 1; transition: opacity .6s;
}
#hud.idle { opacity: 0; }
#hud a { color: rgba(20,22,26,.6); text-decoration: none; }
#hud a:hover { color: #000; }
#counter { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: .08em; }

/* deck switcher */
#switcher { position: relative; display: inline-flex; }
#swbtn {
  border: 1px solid rgba(20,22,26,.25); background: rgba(255,255,255,.6); color: rgba(20,22,26,.65);
  font-size: 14px; line-height: 1; padding: 6px 11px; border-radius: 100px; cursor: pointer;
  transition: all .15s;
}
#swbtn:hover { background: #fff; color: #000; border-color: rgba(20,22,26,.45); }
#swmenu {
  position: absolute; bottom: 40px; right: 0; min-width: 270px;
  background: #fff; border: 1px solid rgba(20,22,26,.12); border-radius: 14px;
  box-shadow: 0 14px 40px -10px rgba(20,22,26,.35);
  padding: 8px; display: none; text-align: left;
}
#swmenu.open { display: block; }
#swmenu .swlabel {
  font: 600 10px 'IBM Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(20,22,26,.4); padding: 7px 12px 5px;
}
#swmenu a {
  display: block; padding: 10px 12px; border-radius: 9px; text-decoration: none;
  font: 600 13.5px 'Manrope', sans-serif; color: rgba(20,22,26,.8); white-space: nowrap;
}
#swmenu a:hover { background: rgba(20,22,26,.06); color: #000; }
#swmenu a.cur { color: #000; background: rgba(20,22,26,.05); }

/* shared building blocks */
.statgrid { display: flex; gap: 60px; }
.stat .big { font-weight: 900; font-size: 110px; line-height: .9; letter-spacing: -.03em; }
.stat .cap { font-size: 24px; line-height: 1.35; margin-top: 18px; max-width: 320px; }

.dial { display: flex; gap: 18px; align-items: center; }
.dial span { width: 26px; height: 26px; border-radius: 50%; display: inline-block; }

.cardrow { display: flex; gap: 36px; }
.pcard { border-radius: 28px; padding: 44px; flex: 1; }
.pcard h4 { font-size: 32px; font-weight: 800; letter-spacing: -.01em; }
.pcard p { font-size: 22px; line-height: 1.5; margin-top: 16px; }

.footnote {
  position: absolute; bottom: 34px; left: 110px; right: 110px;
  font: 500 15px 'IBM Plex Mono', monospace; opacity: .45; letter-spacing: .04em;
}
