.waitlist-section { position: relative; z-index: 2; padding: 128px 24px 80px; background: var(--blue); }
.waitlist-inner { width: min(100%, 960px); margin: 0 auto; text-align: center; }
.waitlist-inner h2 { margin: 0; color: white; font-size: 48px; line-height: 56px; font-weight: 300; }
.waitlist-description { margin: 22px auto 0; color: white; font-size: 20px; line-height: 28px; }
.waitlist-form { display: grid; grid-template-columns: minmax(0, 310fr) minmax(0, 310fr) minmax(0, 146fr) minmax(0, 146fr); gap: 16px; margin-top: 58px; text-align: left; }
.waitlist-field { min-width: 0; }
.waitlist-field input { display: block; width: 100%; height: 56px; padding: 0 24px; border: 1px solid var(--black); border-radius: 12px; background: transparent; color: var(--black); font: inherit; font-size: 16px; transition: background-color 150ms ease, border-color 150ms ease; }
.waitlist-field input::placeholder { color: var(--black); opacity: 1; }
.waitlist-field input:focus,
.waitlist-field input:not(:placeholder-shown) { background: white; border-color: transparent; outline: none; }
.waitlist-submit { height: 56px; padding: 0 12px; border: 1px solid var(--black); border-radius: 12px; background: var(--black); color: white; font-size: 16px; }
.waitlist-submit:disabled { background: transparent; color: var(--black); cursor: default; opacity: 1; }
.waitlist-status { min-height: 28px; margin: 16px 0 0; font-size: 16px; line-height: 28px; color: var(--black); }
.waitlist-honeypot { display: none; }
@media (max-width: 767px) {
  .waitlist-section { padding: 36px 24px max(120px, calc(50svh - 200px)); }
  .waitlist-inner { max-width: 306px; }
  .waitlist-inner h2 { font-size: 38px; line-height: 44px; white-space: nowrap; }
  .waitlist-description { max-width: 295px; margin-top: 15px; }
  .waitlist-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; margin-top: 42px; }
  .waitlist-name, .waitlist-email { grid-column: 1 / -1; }
}
@media (max-width: 359px) { .waitlist-inner h2 { font-size: 32px; } }
@media (prefers-reduced-motion: reduce) { .waitlist-field input { transition: none; } }
