.waitlist { max-width: 38rem; justify-content: flex-start; padding-top: 1.5rem; padding-bottom: 2.5rem; }
.back-link { align-self: flex-start; color: #bbb; text-decoration: none; font-size: .875rem; padding: .5rem 0; }
.back-link:hover,.text-link:hover { color: #fff; }
.back-link:focus-visible,.text-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.waitlist .brand { width: 7rem; margin: .75rem 0 1.5rem; }
.waitlist-content { width: 100%; max-width: 27rem; }
.eyebrow { margin: 0 0 .875rem; font-size: .75rem; color: #bcbcbc; letter-spacing: .15em; }
.waitlist h1 { font-size: clamp(2rem,7.8vw,2.75rem); line-height: 1.13; }
.waitlist .description { margin: 1rem 0 1.75rem; font-size: 1rem; line-height: 1.55; }
#waitlist-form { text-align: left; position: relative; }
.field { margin-bottom: 1.125rem; }
.field label { display: block; font-size: .875rem; margin-bottom: .5rem; font-weight: 600; }
.field input { display: block; width: 100%; min-height: 3.25rem; border: 1px solid #424242; border-radius: .5rem; padding: .875rem 1rem; background: #121212; color: #f5f5f5; font: inherit; font-size: 1rem; }
.field input::placeholder { color: #868686; }
.field input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.field-help { color: #a4a4a4; font-size: .8125rem; line-height: 1.5; margin: .4rem 0 0; }
.consent { display: flex; align-items: flex-start; gap: .75rem; font-size: .875rem; line-height: 1.6; color: #c4c4c4; cursor: pointer; margin: 1.5rem 0; }
.consent input { flex: 0 0 1.125rem; width: 1.125rem; height: 1.125rem; accent-color: var(--accent); margin: .2rem 0 0; }
.consent input:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.submit-button { width: 100%; cursor: pointer; font-family: inherit; }
.submit-button:disabled { opacity: .7; cursor: wait; }
.form-error { border: 1px solid #70433c; border-radius: .5rem; padding: .875rem; color: #ffd5cc; font-size: .875rem; line-height: 1.5; }
.honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.success-message { border: 1px solid #383838; border-radius: .75rem; padding: 1.75rem 1.25rem; background: #111; }
.success-message:focus { outline: none; }
.success-icon { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--accent); color: #151a08; font-size: 1.25rem; }
.success-message h2 { margin: 1.125rem 0 .75rem; font-size: 1.5rem; }
.success-message p { color: #c4c4c4; font-size: 1rem; line-height: 1.6; }
.text-link { display: inline-block; margin-top: .75rem; color: #e7e7e7; font-size: .875rem; text-underline-offset: .25rem; }
@media(min-width:640px) { .waitlist { padding-top: 2rem; } .waitlist .brand { margin-top: 1.25rem; } }
