@font-face {
  font-family: Railroad;
  src: url('/_peep/797bfc91d28314602cefb21b5c01fec6/assets/railroad.otf') format('opentype');
  font-display: swap;
}
@font-face {
  font-family: Geist;
  src: url('/_peep/797bfc91d28314602cefb21b5c01fec6/assets/fonts/geist-latin-variable.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family: Oswald;
  src: url('/_peep/797bfc91d28314602cefb21b5c01fec6/assets/fonts/oswald-latin-variable.woff2') format('woff2');
  font-weight:200 700;
  font-style:normal;
  font-display:swap;
}
:root { --paper:#f6f5ef; --ink:#161714; --orange:#ff741f; --muted:#62635c; --label:Oswald,'Arial Narrow',sans-serif; font-family:Geist,Arial,sans-serif; color:var(--ink); background:var(--orange); font-synthesis:none; scroll-behavior:smooth; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
body { margin:0; -webkit-font-smoothing:antialiased; }
button,input { font:inherit; }
a { color:inherit; text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
a:focus-visible,button:focus-visible { outline:3px solid var(--ink); outline-offset:6px; }
::selection { background:var(--ink); color:var(--orange); }
.page { position:relative; }
.skip-link { position:fixed; top:-100px; left:20px; padding:16px; background:var(--ink); color:white; z-index:10; }
.skip-link:focus { top:14px; }
.header { position:absolute; z-index:4; top:0; left:0; width:100%; height:100px; padding:0 clamp(24px,4.5vw,80px); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; min-height:48px; }
.wordmark { width:104px; height:auto; }
.social-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-family:var(--label); font-size:17px; font-weight:500; }
.social-link svg { width:15px; height:15px; }
.social-link:hover span:first-of-type { text-decoration:underline; text-underline-offset:5px; }
main { position:relative; z-index:2; pointer-events:none; }
.hero { height:100svh; min-height:620px; position:relative; display:flex; align-items:flex-end; justify-content:space-between; padding:0 clamp(24px,4.5vw,80px) 46px; gap:24px; }
h1,h2 { font-family:Railroad,Impact,'Arial Narrow',sans-serif; font-weight:400; line-height:.9; letter-spacing:-.01em; margin:0; }
h1 { font-size:clamp(64px,6vw,98px); }
.hero-link { pointer-events:auto; display:flex; align-items:center; justify-content:space-between; gap:42px; border-bottom:1px solid var(--ink); padding:12px 0; margin-bottom:8px; font-family:var(--label); font-size:24px; font-weight:500; text-transform:uppercase; letter-spacing:.025em; }
.hero-link span:last-child { font-size:30px; font-weight:400; }
.launch { position:relative; display:flex; align-items:center; min-height:95svh; padding:80px clamp(24px,4.5vw,80px); }
.intro { pointer-events:auto; width:min(44%,540px); }
h2 { font-size:clamp(112px,13vw,192px); margin-bottom:27px; }
h2 > span { color:#e95506; }
.platforms { font-family:var(--label); font-size:21px; font-weight:400; line-height:1.5; margin:0; }
.platforms strong { font-weight:500; white-space:nowrap; }
.waitlist { max-width:480px; margin-top:34px; }
.waitlist > label { font-family:var(--label); font-size:17px; font-weight:500; letter-spacing:.025em; text-transform:uppercase; display:block; margin-bottom:10px; }
.form-row { display:flex; background:var(--paper); border:1px solid var(--ink); }
.form-row:focus-within { outline:2px solid var(--orange); outline-offset:3px; }
.form-row input { color:var(--ink); background:transparent; border:0; min-width:0; flex:1; padding:15px 12px; width:100%; outline:none; border-radius:0; font-size:16px; }
.form-row input::placeholder { color:#73766c; opacity:1; }
.form-row input[aria-invalid='true'] { color:#9b2e1f; }
.form-row button { display:flex; gap:18px; align-items:center; justify-content:center; flex-shrink:0; background:var(--ink); border:0; border-radius:0; padding:16px 19px; color:var(--paper); font-family:var(--label); font-size:20px; font-weight:500; line-height:1.2; text-transform:uppercase; letter-spacing:.025em; cursor:pointer; transition:background .2s; }
.form-row button:hover { background:#393b33; }
.form-row button:disabled { opacity:.7; cursor:wait; }
.button-arrow { font-size:23px; line-height:1; }
.privacy-note { font-size:12px; font-weight:400; color:var(--muted); line-height:1.5; margin:17px 0 0; }
.privacy-note a { text-decoration:underline; text-underline-offset:3px; margin-left:4px; }
.form-status { font-size:14px; min-height:21px; margin:10px 0 0; line-height:1.5; }
.form-status[data-state='error'] { color:#9b2e1f; }
.form-status[data-state='success'] { color:#276139; }
.waitlist-success { max-width:480px; animation:arrival .42s cubic-bezier(.2,.8,.2,1) both; }
.success-kicker { display:flex; align-items:center; gap:12px; margin:0 0 20px; font-family:var(--label); font-size:19px; font-weight:500; }
.success-kicker > span { display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--ink); border-radius:50%; font:18px Geist,sans-serif; }
.waitlist-success h2 { font-size:clamp(76px,9vw,130px); margin-bottom:24px; outline:none; }
.success-copy { max-width:310px; font-size:16px; line-height:1.5; margin:0; }
.success-link { display:flex; align-items:center; justify-content:space-between; gap:24px; width:fit-content; min-width:190px; min-height:48px; margin-top:27px; padding:8px 0; border-bottom:1px solid var(--ink); font-family:var(--label); font-size:22px; font-weight:500; text-transform:uppercase; }
.success-link:hover { color:#ba4200; }
@keyframes arrival { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
.no-script { font-size:14px; line-height:1.5; }
.no-script a { text-decoration:underline; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.scene { position:fixed; z-index:0; inset:0; width:100%; height:100dvh; margin:0; background:var(--orange); }
#scene-canvas { position:absolute; inset:0; width:100%; height:100%; opacity:0; touch-action:pan-y; cursor:grab; transition:opacity .3s; }
#scene-canvas:active { cursor:grabbing; }
.scene[data-state='ready'] #scene-canvas { opacity:1; }
/* Exported from the actual first frame. Perspective uses viewport height;
   object-fit:cover would move the composition on wider screens. */
.scene-poster { position:absolute; inset:0; overflow:hidden; background:var(--orange); }
.scene-poster img { position:absolute; left:50%; top:50%; width:auto; height:min(100dvh,77.5862vw); max-width:none; transform:translate(-50%,-50%); }
/* Keep the poster under the canvas until its first-frame fade has finished. */
.scene[data-state='ready'] .scene-poster { visibility:hidden; transition:visibility 0s .3s; }
.scene[data-reveal='instant'] #scene-canvas,
.scene[data-reveal='instant'] .scene-poster { transition:none; }
.scene[data-state='fallback'] #scene-canvas { visibility:hidden; transition:none; }
.scene-turn { position:absolute; right:clamp(24px,4.5vw,80px); top:110px; width:44px; height:44px; border:1px solid #16171455; border-radius:50%; color:var(--ink); background:transparent; cursor:pointer; }
.scene-turn[hidden] { display:none; }
.scene-turn svg { width:22px; height:22px; }
.scene-turn:hover { border-color:var(--ink); background:#ffffff30; }
.peep-touch { position:absolute; background:transparent; border:0; pointer-events:none; border-radius:8px; }
.peep-touch:focus-visible { outline:3px solid var(--ink); outline-offset:8px; }
.footer { position:relative; z-index:2; min-height:86px; margin:0 clamp(24px,4.5vw,80px); border-top:1px solid #16171455; display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--muted); font-size:13px; }
.footer a { min-height:44px; display:inline-flex; align-items:center; gap:12px; color:var(--ink); font-family:var(--label); font-size:17px; }
.footer a:hover { text-decoration:underline; text-underline-offset:4px; }
/* The form remains opaque and usable when WebGL is unavailable. */
body:not(:has(.scene[data-state='ready'])) .launch { background:var(--paper); }
body:not(:has(.scene[data-state='ready'])) .footer { color:var(--ink); }
@media (max-width:900px) {
  .intro { width:49%; }
  .form-row button { padding-inline:12px; gap:10px; }
}
@media (max-width:760px) {
  .header { height:82px; padding-inline:24px; }
  .wordmark { width:84px; }
  .social-link { font-size:15px; gap:9px; }
  .hero { min-height:680px; padding:0 24px 30px; align-items:flex-start; justify-content:flex-end; flex-direction:column; gap:22px; }
  h1 { font-size:clamp(44px,13.2vw,92px); white-space:nowrap; }
  .hero-link { font-size:22px; width:100%; padding-block:5px; margin:0; }
  .hero-link span:last-child { font-size:24px; }
  .launch { min-height:100svh; align-items:flex-end; padding:34svh 24px 44px; }
  .intro { width:100%; }
  h2 { font-size:clamp(80px,26vw,166px); margin-bottom:20px; }
  .platforms { font-size:19px; line-height:1.5; }
  .platforms br { display:none; }
  .waitlist { margin-top:26px; max-width:none; }
  .waitlist-success h2 { font-size:clamp(70px,20vw,110px); }
  .success-kicker { margin-bottom:16px; font-size:17px; }
  .success-link { margin-top:20px; }
  .scene-turn { top:90px; right:24px; width:40px; height:40px; }
  .footer { margin-inline:24px; font-size:12px; min-height:76px; }
  .scene-poster img { height:100dvh; }
}
@media (max-width:360px) {
  .header,.hero { padding-inline:20px; }
  .launch { padding-inline:20px; }
  .form-row { flex-wrap:wrap; }
  .form-row button { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  :root { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
