.waitlist { position: fixed; inset: 0; width: min(400px, calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 46px 32px 28px; border: 1px solid #e9ebe5; border-radius: 24px; background: #fff; color: #242823; box-shadow: 0 24px 80px #18231526; font: 16px/1.5 'DM Sans', Arial, sans-serif; overflow-y: auto; }
.waitlist::backdrop { background: #24282350; backdrop-filter: blur(5px); }
.waitlist:focus { outline: none; }
.waitlist-close { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: transparent; color: #7b8274; }
.waitlist-close:hover { background: #f2f3ef; }
.waitlist button:focus-visible { outline: 2px solid #818c75; outline-offset: 3px; }
.waitlist-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.waitlist h2 { margin: 0; font-size: 30px; font-weight: 550; line-height: 1.12; letter-spacing: -.035em; text-align: center; }
.waitlist-form h2 { margin-bottom: 26px; }
.waitlist-intro { margin: 12px 0 24px; color: #7a8272; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; text-align: center; }
.waitlist input[type="email"] { width: 100%; min-width: 0; height: 50px; padding: 14px 16px; border: 1px solid #e8ebe3; border-radius: 14px; background: #f6f7f3; color: #242823; font: 16px 'DM Sans', Arial, sans-serif; }
.waitlist input[type="email"]::placeholder { color: #959b8e; }
.waitlist input[type="email"]:focus-visible { border-color: #818c75; outline: 1px solid #818c75; outline-offset: -1px; }
.waitlist-submit { display: flex; justify-content: center; align-items: center; width: max-content; min-width: 156px; max-width: 100%; min-height: 46px; margin: 18px auto 0; padding: 12px 26px; border: 0; border-radius: 999px; background: #242823; color: #fff; font-size: 14px; font-weight: 500; line-height: 1.4; text-align: center; }
.waitlist-submit:hover { background: #414b38; }
.waitlist-submit:disabled { opacity: .6; cursor: wait; }
.waitlist-error { font-size: 13px; color: #a53522; margin-top: 14px; }
.waitlist-honey { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.waitlist-success h2:focus { outline: none; }
@media (max-width: 400px) { .waitlist { padding: 44px 24px 24px; } .waitlist h2 { font-size: 28px; } }
