/* Shared by every page: fonts, tokens, the top bar, the waitlist form and the footer. */
[hidden]{display:none!important}
@font-face{font-family:'Public Sans';font-weight:400;font-display:swap;src:url(/fonts/public-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Public Sans';font-weight:500;font-display:swap;src:url(/fonts/public-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Public Sans';font-weight:600;font-display:swap;src:url(/fonts/public-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Public Sans';font-weight:700;font-display:swap;src:url(/fonts/public-sans-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Big Shoulders Display';font-weight:900;font-display:swap;src:url(/fonts/big-shoulders-display-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'Spline Sans Mono';font-weight:500;font-display:swap;src:url(/fonts/spline-sans-mono-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Spline Sans Mono';font-weight:600;font-display:swap;src:url(/fonts/spline-sans-mono-latin-600-normal.woff2) format('woff2')}
:root{
  --navy:#0d1b3d;--navy-2:#13234a;--navy-3:#22346a;--board:#081230;--flap:#101d40;--red:#d7262d;--red-deep:#b31e24;--page:#f4f5f8;--carbon:#4b2e83;
  --muted:#4a5573;--hair:#e3e5ec;--hair-strong:#c9cdd8;--edge:#7f88a1;--on-muted:#c3cbe2;--brass:#e8b94a;--tear:#cdd3df;
  --display:'Big Shoulders Display',system-ui,sans-serif;--ui:'Public Sans',system-ui,sans-serif;--mono:'Spline Sans Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.23,1,.32,1);
  --shadow-high:0 1px 1px rgb(13 27 61/.05),0 2px 2px rgb(13 27 61/.05),0 4px 4px rgb(13 27 61/.05),0 8px 8px rgb(13 27 61/.05),0 16px 16px rgb(13 27 61/.05),0 32px 32px rgb(13 27 61/.05);
  /* errors read on navy, so they get a lighter red there */
  --err:var(--red-deep);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scrollbar-width:thin;scrollbar-color:var(--hair-strong) transparent}
body{margin:0;background:var(--page);color:var(--navy);font:400 17px/1.55 var(--ui)}
::selection{background:var(--red);color:#fff}
::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--hair-strong);border-radius:8px;border:2px solid var(--page)}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.hero :focus-visible,.ticket :focus-visible,.bar :focus-visible{outline-color:#fff}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:12px;z-index:9;background:#fff;color:var(--navy);padding:8px 12px;border-radius:4px}
.vh{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1220px;margin:0 auto;padding:0 32px;width:100%}
.cap{font:600 13px/1.2 var(--ui);letter-spacing:.08em;text-transform:uppercase}

/* top bar */
.bar .wrap{display:flex;align-items:center;height:76px}
.mark{display:flex;align-items:center;gap:10px;text-decoration:none;font:900 26px/1 var(--display);letter-spacing:.04em;color:#fff}

/* the waitlist form */
form{display:grid;gap:12px;max-width:520px}
.lbl{font:600 13px/1.2 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--on-muted)}
.row{display:flex;gap:10px}
.box{flex:1;height:56px;border:1px solid var(--edge);border-radius:4px;padding:0 16px;font:500 17px var(--ui);color:var(--navy);background:#fff;min-width:0;caret-color:var(--red)}
.box::placeholder{color:#626b84}
.box:focus-visible{outline-offset:-1px}
.btn{position:relative;height:56px;padding:0 24px;border:0;border-radius:4px;background:var(--red);color:#fff;font:700 17px var(--ui);cursor:pointer;white-space:nowrap;box-shadow:inset 0 -3px 0 var(--red-deep);transition:transform .15s var(--ease),background .15s var(--ease);display:inline-grid;place-items:center;text-decoration:none}
.btn:hover{background:#e0333a}
.btn:active{transform:scale(.97)}
.btn[aria-disabled=true]{cursor:progress;background:var(--red-deep)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.4}
.cb{appearance:none;width:22px;height:22px;flex:none;margin:0;border:1.5px solid var(--edge);border-radius:4px;background:#fff;display:grid;place-items:center;cursor:pointer;transition:background .15s var(--ease)}
.cb:checked{background:var(--red);border-color:var(--red)}
.cb:checked::before{content:'';width:12px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5' fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.err{margin:0;font:600 15px/1.4 var(--ui);color:var(--err)}
.err:empty{display:none}
.hero,.ticket{--err:#ff9ea2}
/* the honeypot sits off screen, out of the tab order */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ts:empty{display:none}
.nojs{margin:0;font:600 15px/1.4 var(--ui)}
.joined{display:grid;gap:8px;max-width:520px}
.joined h3{margin:0;font:900 clamp(32px,4vw,44px)/1 var(--display);text-transform:uppercase;outline:none}
.joined p{margin:0;font-size:18px}
.joined .muted{font-size:15px;color:var(--on-muted)}
.joined button{justify-self:start;padding:0;border:0;background:none;color:inherit;font:600 15px var(--ui);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

footer{padding:40px 0 48px}
footer .wrap{display:flex;gap:22px;flex-wrap:wrap;align-items:center;font:600 13px/1.2 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
footer .wrap span:first-child{margin-right:auto}
footer a{text-decoration:none}
footer a:hover{color:var(--navy)}

@media (max-width:640px){
  .wrap{padding:0 16px}
  .row{flex-direction:column}
  .box{flex:none;width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
