#waitlist-dialog{border:1px solid var(--line);border-radius:18px;padding:32px 30px 28px;width:min(440px,calc(100vw - 32px));background:var(--surface);color:var(--ink);box-shadow:0 30px 80px var(--shadow)}
#waitlist-dialog::backdrop{background:rgba(24,34,45,.42)}
#waitlist-dialog h2{font-family:inherit;margin:4px 0 8px;font-size:1.7rem;line-height:1.15;color:var(--ink-strong)}
#waitlist-dialog p{margin:0 0 18px;color:var(--muted);line-height:1.5}
#waitlist-close{position:absolute;top:12px;right:14px;border:0;background:none;font-size:1.6rem;line-height:1;color:var(--muted);cursor:pointer;border-radius:8px;padding:4px 9px}
#waitlist-form{display:grid;gap:12px}
#waitlist-form label{display:grid;gap:6px;font-size:.88rem;color:var(--ink)}
#waitlist-form input[type=email],#waitlist-form input[type=text]{font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--page);color:var(--ink)}
#waitlist-form input:focus-visible,#waitlist-close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
#waitlist-form .wl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#waitlist-submit{justify-self:start;margin-top:4px}
#waitlist-submit[disabled]{opacity:.6;cursor:progress}
#waitlist-status{min-height:1.3em;margin:0;font-size:.9rem}
#waitlist-status.is-error{color:#b3261e}
#waitlist-done[hidden],#waitlist-form[hidden]{display:none}
#waitlist-done p{margin-bottom:0}

#waitlist-form .wl-opt{color:var(--muted)}
#waitlist-form input[type=tel],#waitlist-form select{font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--page);color:var(--ink)}
#waitlist-form select{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
#waitlist-form input:focus-visible,#waitlist-form select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (max-width:520px){#waitlist-dialog{padding:28px 20px 22px}}
#waitlist-form label{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px}
#waitlist-form label>input,#waitlist-form label>select{flex:1 1 100%;margin-top:2px}
#waitlist-dialog{max-height:calc(100dvh - 32px);overflow:auto}
