.waitlist-page { min-height: 100svh; overflow-x: hidden; color: var(--paper); background: var(--ink); }
.waitlist-page .site-grain { z-index: 1; opacity: .16; pointer-events: none; }
.video-background { position: fixed; z-index: 0; inset: 0; overflow: hidden; background: var(--ink); }
.waitlist-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .7; filter: invert(1) hue-rotate(180deg); transition: filter .35s ease; }
.video-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(232,233,228,.42), rgba(232,233,228,.2) 42%, rgba(232,233,228,.48)), radial-gradient(ellipse at center, rgba(232,233,228,.08), rgba(232,233,228,.3)); transition: background .35s ease; }
.waitlist-header, .waitlist-main, .waitlist-footer { position: relative; z-index: 2; }
.waitlist-page .waitlist-header.site-header { position: fixed; top: 14px; left: 50%; width: min(1400px, calc(100% - 40px)); min-height: 66px; padding: 0 clamp(28px, 5vw, 76px); border: 1px solid rgba(25,25,28,.2); border-radius: 999px; background: rgba(232,233,228,.82); box-shadow: 0 12px 34px rgba(0,0,0,.12); transform: translateX(-50%); }
.waitlist-header .wordmark { color: var(--paper); }
.waitlist-header .wordmark span { color: var(--muted); }
.waitlist-page .waitlist-header .header-sections a,
.waitlist-page .waitlist-header .header-sections .journey-link,
.waitlist-page .waitlist-header .theme-toggle { color: var(--paper); }
.waitlist-page .waitlist-header .header-sections a:hover,
.waitlist-page .waitlist-header .header-sections a:focus-visible,
.waitlist-page .waitlist-header .theme-toggle:hover,
.waitlist-page .waitlist-header .theme-toggle:focus-visible { color: var(--blue); }
.waitlist-main { display: grid; min-height: calc(100svh - 128px); place-items: center; padding: 48px 22px 72px; }
.waitlist-card { transform: translateY(clamp(-112px, -12vh, -64px)); }
.waitlist-card { width: min(100%, 350px); padding: 20px; border: 1px solid rgba(25,25,28,.22); background: rgba(232,233,228,.86); box-shadow: 0 24px 80px rgba(0,0,0,.16); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.waitlist-kicker { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; color: var(--muted); font-size: 8px; letter-spacing: .14em; }
.waitlist-kicker > span { width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 10px rgba(199,239,100,.6); }
.waitlist-form { display: grid; gap: 10px; margin: 0; }
.waitlist-form > input[type="email"] { width: 100%; min-width: 0; min-height: 42px; padding: 0 12px; border: 1px solid rgba(25,25,28,.3); border-radius: 0; outline: 0; background: rgba(255,255,255,.48); color: var(--paper); font: 10px var(--mono); letter-spacing: .08em; }
.waitlist-form > input[type="email"]::placeholder { color: var(--muted); opacity: 1; }
.waitlist-form > input[type="email"]:focus-visible { border-color: var(--lime); box-shadow: 0 0 0 2px rgba(199,239,100,.2); }
.waitlist-form > button { display: flex; min-height: 42px; justify-content: space-between; align-items: center; padding: 0 12px; border: 1px solid #280bfb; background: #280bfb; color: #fff; font: 9px var(--mono); letter-spacing: .1em; cursor: pointer; transition: filter .2s ease, background .2s ease; }
.waitlist-form > button:hover { filter: brightness(1.12); }
.waitlist-form > button span { color: #fff; font: 16px var(--font); }
.waitlist-form > button:disabled { cursor: wait; opacity: .68; }
.waitlist-status { min-height: 1.25em; margin: 13px 0 0; color: var(--blue); font-size: 8px; letter-spacing: .06em; }
.waitlist-foot { margin: 14px 0 0; color: var(--muted); font-size: 7px; letter-spacing: .1em; }
.waitlist-footer { display: flex; justify-content: space-between; gap: 20px; min-height: 50px; padding: 15px clamp(22px, 5.5vw, 78px); border-top: 1px solid var(--line); color: var(--muted); font-size: 7px; letter-spacing: .08em; }

/* The one supplied video is reused in both themes: inverted on paper, original on dark. */
:root[data-theme="dark"] .waitlist-page { color: #f3f5f7; background: #080a0f; }
:root[data-theme="dark"] .video-background { background: #080a0f; }
:root[data-theme="dark"] .waitlist-video { filter: none; }
:root[data-theme="dark"] .video-shade { background: linear-gradient(180deg, rgba(7,9,14,.56), rgba(7,9,14,.26) 42%, rgba(7,9,14,.68)), radial-gradient(ellipse at center, rgba(7,9,14,.16), rgba(7,9,14,.48)); }
:root[data-theme="dark"] .waitlist-page .waitlist-header.site-header { border-color: rgba(232,236,242,.2); background: rgba(9,11,16,.72); box-shadow: 0 12px 34px rgba(0,0,0,.18); }
:root[data-theme="dark"] .waitlist-header .wordmark { color: #fff; }
:root[data-theme="dark"] .waitlist-header .wordmark span { color: rgba(255,255,255,.66); }
:root[data-theme="dark"] .waitlist-page .waitlist-header .header-sections a,
:root[data-theme="dark"] .waitlist-page .waitlist-header .theme-toggle { color: rgba(255,255,255,.9); }
:root[data-theme="dark"] .waitlist-page .waitlist-header .header-sections a:hover,
:root[data-theme="dark"] .waitlist-page .waitlist-header .theme-toggle:hover { color: #fff; }
:root[data-theme="dark"] .waitlist-card { border-color: rgba(231,237,245,.34); background: rgba(9,12,18,.58); box-shadow: 0 24px 80px rgba(0,0,0,.24); }
:root[data-theme="dark"] .waitlist-kicker { color: rgba(232,236,242,.72); }
:root[data-theme="dark"] .waitlist-form > input[type="email"] { border-color: rgba(232,236,242,.48); background: rgba(255,255,255,.06); color: #fff; }
:root[data-theme="dark"] .waitlist-form > input[type="email"]::placeholder { color: rgba(232,236,242,.68); }
:root[data-theme="dark"] .waitlist-status { color: var(--lime); }
:root[data-theme="dark"] .waitlist-foot,
:root[data-theme="dark"] .waitlist-footer { color: rgba(232,236,242,.56); }
:root[data-theme="dark"] .waitlist-footer { border-color: rgba(232,236,242,.16); }
.hidden-field, .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 620px) {
  .waitlist-page .waitlist-header.site-header { top: 10px; right: 10px; left: 10px; width: auto; min-height: 94px; padding: 12px 20px 10px 42px; border-radius: 16px; transform: none; }
  .waitlist-main { min-height: calc(100svh - 116px); padding: 38px 18px 55px; }
  .waitlist-card { padding: 18px; transform: translateY(clamp(-82px, -9vh, -48px)); }
  .waitlist-footer span:nth-child(2) { text-align: right; }
}
@media (prefers-reduced-motion: reduce) {
  .waitlist-video { display: none; }
}
