#join, #waitlist { scroll-margin-top: 90px; }
.waitlist-form { position: relative; max-width: 620px; margin: 30px auto 0; text-align: left; }
.waitlist-fields { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 14px; }
.waitlist-field { min-width: 0; }
.waitlist-field label { display: block; margin-bottom: 7px; font-size: 14px; font-weight: 700; }
.waitlist-field label span { font-weight: 400; color: #e8d7c8; }
.waitlist-field input, .waitlist-field select { width: 100%; min-height: 48px; padding: 12px; border: 1px solid #d2b3a0; border-radius: 12px; background: #fffdf7; color: #39281f; font: inherit; font-size: 16px; }
.waitlist-field input::placeholder { color: #75675e; opacity: 1; }
.waitlist-field input[aria-invalid="true"] { border: 2px solid #f5b09c; }
.waitlist-form .btn { width: 100%; margin-top: 16px; min-height: 48px; font: inherit; font-weight: 800; background: #ab482a; }
.waitlist-form .btn:hover { background: #943d23; }
.waitlist-form .btn:disabled { cursor: wait; opacity: .7; }
.waitlist-form :focus-visible { outline: 3px solid #f4c595; outline-offset: 4px; }
.cta .form-message { min-height: 24px; margin: 14px 0 0; font-size: 15px; }
.cta .form-message.success { color: #c7e7c9; }
.cta .form-message.error { color: #ffd0be; }
.cta .waitlist-privacy { margin: 10px 0 0; font-size: 13px; line-height: 1.6; color: #e8d7c8; }
.waitlist-privacy a { text-decoration: underline; text-underline-offset: 3px; }
.waitlist-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 500px) { .waitlist-fields { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
