/* Native controls share the original form card's typography and colors.
 * Everything stays in the document's normal scroll and focus flow. */
.waitlist-card { min-width: 0; padding: 32px; border: 1px solid #ffffff0f; border-radius: 24px; background: #03071980; color: #fff; }
.waitlist-card [hidden] { display: none !important; }
.waitlist-form, .waitlist-fields { display: flex; flex-direction: column; gap: 20px; min-width: 0; margin: 0; }
.landing-page .waitlist-card h3 { max-width: none; margin: 0; color: #fff; font-size: 1.5rem; font-weight: 600; line-height: 1.25; letter-spacing: 0; text-wrap: initial; }
.landing-page .waitlist-card p { margin: 0; color: #d9dae0; font-size: 1rem; line-height: 1.5; }
.waitlist-field { min-width: 0; scroll-margin-block: 7rem 2rem; }
.waitlist-field > label { display: block; margin-bottom: 8px; color: #d9dae0; font-size: .875rem; line-height: 1.45; }
.waitlist-card input:not([type="checkbox"]), .waitlist-card select { display: block; box-sizing: border-box; width: 100%; min-width: 0; min-height: 52px; padding: 14px 16px; border: 1px solid #5b5e6c; border-radius: 8px; background: #ffffff0d; color: #fff; font: inherit; font-size: 1rem; line-height: 1.3; transition: border-color 150ms, outline-color 150ms; }
.waitlist-card input::placeholder { color: #b2b5c1; opacity: 1; }
.waitlist-card select { padding-right: 32px; cursor: pointer; line-height: 1.45; }
.waitlist-card select option { background: #10192d; color: #fff; }
.waitlist-card input:not([type="checkbox"]):focus, .waitlist-card select:focus { border-color: #79d5b9; outline: 1px solid #79d5b9; outline-offset: 0; }
.waitlist-card input[aria-invalid="true"], .waitlist-card select[aria-invalid="true"] { border-color: #ffc078; }
.waitlist-card input[aria-invalid="true"]:focus, .waitlist-card select[aria-invalid="true"]:focus { outline-color: #ffc078; }
.waitlist-phone { position: relative; min-width: 0; }
.waitlist-phone > span { position: absolute; inset: 0 auto 0 16px; display: flex; align-items: center; pointer-events: none; color: #fff; font-size: 1rem; }
.waitlist-phone input:not([type="checkbox"]) { padding-inline-start: 3.3em; }
.landing-page .waitlist-card .waitlist-hint, .landing-page .waitlist-card .waitlist-contact-hint { color: #b2b5c1; font-size: .875rem; line-height: 1.45; }
.landing-page .waitlist-card .waitlist-contact-hint { margin-bottom: -8px; color: #d9dae0; }
.landing-page .waitlist-field > .waitlist-hint { margin-top: 8px; }
.landing-page .waitlist-card .waitlist-error { color: #ffc078; font-size: .875rem; line-height: 1.45; }
.landing-page .waitlist-field > .waitlist-error { margin-top: 8px; }
.waitlist-consent + .waitlist-consent { margin-top: -8px; }
.waitlist-field > .waitlist-check { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; margin: 0; padding-block: 10px; cursor: pointer; }
.waitlist-check input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; margin: 1px 0 0; accent-color: #147b5c; cursor: pointer; }
.waitlist-check span { min-width: 0; flex: 1; }
.waitlist-card input[type="checkbox"]:focus-visible { outline: 3px solid #f5942d; outline-offset: 4px; }
.waitlist-card input:disabled, .waitlist-card select:disabled { cursor: default; opacity: .7; }
.waitlist-policy-links { display: flex; flex-wrap: wrap; align-items: start; gap: 0 12px; }
.waitlist-card .waitlist-policy-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 4px; color: #b7ecdc; font-size: .875rem; line-height: 1.45; }
.waitlist-form > .waitlist-policy-links { margin-top: -16px; }
.waitlist-card button { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; max-width: 100%; padding: 14px 16px; border: 1px solid #ffffff66; border-radius: 8px; font: inherit; font-size: 1rem; font-weight: 500; line-height: 1.3; text-align: center; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.waitlist-card button.waitlist-submit, .waitlist-card button.waitlist-share-action { width: 100%; border-color: #147b5c; background: #147b5c; color: #fff; font-weight: 600; }
.waitlist-card button.waitlist-submit:hover:not(:disabled), .waitlist-card button.waitlist-share-action:hover:not(:disabled) { background: #10664c; }
.waitlist-card button.waitlist-secondary { width: 100%; background: transparent; color: #d9dae0; }
.waitlist-card button.waitlist-secondary:hover:not(:disabled) { background: #ffffff0d; }
.waitlist-card button:disabled { cursor: default; opacity: .6; }
.waitlist-card button:focus-visible, [data-form-connection]:focus-visible, .waitlist-status:focus-visible, .waitlist-outcome:focus-visible { outline: 3px solid #f5942d; outline-offset: 5px; }
.waitlist-connection { display: flex; flex-direction: column; gap: 12px; }
.waitlist-connection:has([data-form-connection]:empty):has([data-form-retry][hidden]) { display: none; }
.waitlist-test-notice, .waitlist-share { display: flex; flex-direction: column; gap: 12px; }
.waitlist-test-notice { padding-bottom: 0; }
[data-form-connection], .waitlist-status, .waitlist-outcome { scroll-margin-block: 7rem 2rem; border-radius: 8px; }
.waitlist-outcome { display: flex; flex-direction: column; align-items: stretch; gap: 16px; text-align: center; }
.waitlist-success-art { align-self: center; width: 144px; height: 180px !important; object-fit: contain; }
.waitlist-share { margin-top: 8px; padding-top: 24px; border-top: 1px solid #ffffff26; text-align: left; }
.landing-page .waitlist-share h4 { margin: 0; color: #fff; font-size: 1.25rem; font-weight: 600; line-height: 1.4; letter-spacing: 0; }
.waitlist-share-manual { user-select: all; overflow-wrap: anywhere; min-height: 44px; }
@container (max-width: 419px) { .waitlist-card { padding: 24px 16px; } }
/* The card may occupy a narrow desktop grid cell, independently of viewport. */
.join-application { container-type: inline-size; }
@media (max-width: 767px) {
  .waitlist-card { padding: 24px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .waitlist-card *, .waitlist-card *::before, .waitlist-card *::after { transition: none !important; animation: none !important; }
}
