/* A dedicated, one-question-at-a-time page within the shared site shell. */
body[data-site-page="waitlist"] { background: #fafafa; color: #111; }
.waitlist-main, .waitlist-main * { box-sizing: border-box; }
.waitlist-main { display: flex; flex-direction: column; width: min(720px, calc(100% - 64px)); min-height: calc(100svh - var(--site-header-bottom)); margin-inline: auto; padding-block: 36px 44px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
.waitlist-main [hidden] { display: none !important; }
.waitlist-form { flex: 1; display: flex; flex-direction: column; margin: 0; min-width: 0; }
.waitlist-stage { display: grid; align-items: center; flex: 1; padding-block: 56px 40px; min-height: 380px; }
.waitlist-step { width: 100%; min-width: 0; }
.waitlist-number { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; color: #777; font-size: 14px; font-variant-numeric: tabular-nums; }
.waitlist-step h1 { margin: 0; font-family: "KMR Waldenburg", "Helvetica Neue", Arial, sans-serif; font-size: clamp(30px, 3.5vw, 42px); font-weight: 500; line-height: 1.16; letter-spacing: -.04em; text-wrap: balance; }
.waitlist-step h1:focus { outline: none; }
.waitlist-hint { margin: 18px 0 32px; color: #717171; font-size: 16px; line-height: 1.65; }
.waitlist-step input, .waitlist-step textarea { display: block; width: 100%; border: 0; border-bottom: 1px solid #bcbcbc; border-radius: 0; padding: 10px 0 14px; background: transparent; color: #111; font: inherit; font-size: clamp(22px, 2.5vw, 28px); line-height: 1.5; outline: none; transition: border-color 180ms, box-shadow 180ms; }
.waitlist-step input::placeholder, .waitlist-step textarea::placeholder { color: #9b9b9b; opacity: 1; }
.waitlist-step textarea { min-height: 150px; max-height: 36svh; resize: vertical; }
.waitlist-step input:focus, .waitlist-step textarea:focus { border-color: #111; box-shadow: 0 1px #111; }
.waitlist-step [aria-invalid="true"] { border-color: #b42318; box-shadow: 0 1px #b42318; }
.waitlist-error { min-height: 21px; margin: 10px 0 0; color: #b42318; font-size: 13px; line-height: 1.6; }
.waitlist-navigation { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.waitlist-navigation button, .waitlist-home { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 48px; padding: 12px 24px; border: 1px solid #111; border-radius: 999px; background: #111; color: #fff; font: inherit; font-size: 15px; line-height: 1.5; font-weight: 500; text-decoration: none; cursor: pointer; transition: background 160ms; }
.waitlist-navigation button:hover, .waitlist-home:hover { background: #303030; }
.waitlist-navigation .waitlist-previous { background: transparent; border-color: #d7d7d7; color: #555; }
.waitlist-navigation .waitlist-previous:hover { background: #eee; }
.waitlist-next::after { content: '→'; }
.waitlist-previous::before { content: '←'; }
.waitlist-navigation button:disabled { cursor: default; opacity: .5; }
.waitlist-main :is(button, a):focus-visible { outline: 3px solid #278eff; outline-offset: 4px; }
.waitlist-key-hint { margin-inline-start: 4px; color: #777; font-size: 12px; line-height: 1.5; }
.waitlist-status { min-height: 22px; margin: 16px 0 0; color: #717171; font-size: 13px; line-height: 1.6; }
.waitlist-success-mark { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: 24px; border: 1px solid #d7d7d7; border-radius: 50%; font-size: 24px; }
.waitlist-step.is-entering { animation: waitlist-question-in 320ms cubic-bezier(.22, 1, .36, 1) both; }
@keyframes waitlist-question-in { from { opacity: 0; transform: translateY(16px); filter: blur(3px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }
@media (max-width: 760px) {
  .waitlist-main { width: calc(100% - 40px); padding-block: 24px 28px; }
  .waitlist-stage { padding-block: 36px 24px; min-height: 340px; }
  .waitlist-hint { margin-block: 16px 24px; font-size: 15px; }
  .waitlist-navigation button { padding-inline: 20px; }
  .waitlist-key-hint { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .waitlist-step.is-entering { animation: none; }
  .waitlist-step input, .waitlist-step textarea, .waitlist-navigation button { transition: none; }
}
