/* Waitlist home. Tokens come from theme/brand.css (the story page's own). */
*,*::before,*::after { box-sizing: border-box; }
html, body { min-height: 100%; }
body {
  margin: 0; display: flex; flex-direction: column; min-height: 100vh;
  background: var(--sc-canvas); color: var(--sc-ink);
  font-family: var(--sc-font-text); font-size: 17px; line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
.w { flex: 1; width: 100%; max-width: 760px; margin: 0 auto; padding: 40px 20px 56px; display: flex; flex-direction: column; justify-content: center; }
.w__mark {
  margin: 0 0 40px; font-family: var(--sc-font-text); font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.34em; font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem);
}
.w__h {
  margin: 0 0 24px; font-family: var(--sc-font-display); font-weight: 600;
  font-size: clamp(2.4rem, 1.4rem + 4.6vw, 4.5rem); line-height: 1.04; letter-spacing: -0.02em;
}
.w__h span { color: var(--sc-accent); }
.w__lede { margin: 0 0 40px; max-width: 34em; font-size: clamp(1.1rem, 1rem + 0.5vw, 1.35rem); color: var(--sc-ink-soft); }
.w__form { background: var(--sc-surface); border: 1px solid #D7E0E7; border-radius: 12px; padding: 24px; }
.w__label { margin: 0 0 16px; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sc-ink-soft); }
.w__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }
.w__f { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
.w__f i { font-style: normal; font-weight: 400; color: var(--sc-ink-soft); }
.w__f input {
  font: inherit; font-weight: 400; font-size: 17px; color: var(--sc-ink); background: #fff;
  border: 1px solid #8CA0B0; border-radius: 8px; padding: 12px 14px; min-height: 48px; width: 100%;
}
.w__f input:focus-visible { outline: 3px solid var(--sc-accent); outline-offset: 1px; border-color: var(--sc-accent); }
.w__hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.w__btn {
  font: inherit; font-weight: 700; font-size: 17px; color: var(--sc-accent-ink); background: var(--sc-accent);
  border: 0; border-radius: 8px; padding: 0 28px; min-height: 48px; cursor: pointer;
  transition: background 300ms cubic-bezier(0.22, 1, 0.36, 1), transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
}
.w__btn:hover { background: #1647b8; }
.w__btn:active { transform: translateY(1px); }
.w__btn:focus-visible { outline: 3px solid var(--sc-ink); outline-offset: 3px; }
.w__btn[disabled] { opacity: 0.6; cursor: default; }
.w__status { min-height: 1.55em; margin: 14px 0 0; font-weight: 600; }
.w__status.is-ok { color: #0B6B3A; }
.w__status.is-bad { color: #B3261E; }
.w__fine { margin: 6px 0 0; font-size: 14px; color: var(--sc-ink-soft); }
.w__fine a, .w__more a, .w__foot a { color: var(--sc-accent); text-underline-offset: 3px; }
.w__more { margin: 28px 0 0; font-weight: 600; }
.w__foot { padding: 20px; text-align: center; font-size: 14px; color: var(--sc-ink-soft); border-top: 1px solid #D7E0E7; }
@media (max-width: 640px) {
  .w__row { grid-template-columns: 1fr; }
  .w__btn { width: 100%; }
  .w__mark { letter-spacing: 0.28em; }
}
