.signup-page { max-width: 690px; padding-top: 88px; padding-bottom: 100px; }
.signup-page h1 { font-size: clamp(38px, 5vw, 58px); line-height: 1.12; letter-spacing: -.045em; max-width: 11ch; }
.signup-page header > p { max-width: 39ch; font-size: 19px; line-height: 1.65; margin: 22px 0 36px; }
#signup-form { max-width: 480px; }
#signup-form label { display: block; font-size: 15px; font-weight: 700; margin-bottom: 10px; }
#signup-email { width: 100%; min-width: 0; min-height: 54px; padding: 12px 15px; background: white; border: 1px solid #a6bad0; border-radius: 6px; color: var(--ink); font: inherit; font-size: 17px; }
#signup-email:disabled { background: var(--sky); }
#signup-submit { min-height: 52px; width: 100%; }
#signup-submit:disabled { opacity: .65; cursor: default; }
.signup-challenge { margin: 22px 0; }
#signup-check-status { font-size: 13px; line-height: 1.6; margin-top: 8px; }
.signup-privacy { font-size: 13px; line-height: 1.7; margin-top: 15px; }
.signup-more { font-size: 15px; line-height: 1.8; border-top: 1px solid var(--line); padding-top: 25px; margin-top: 42px; max-width: 480px; }
.signup-page p a, .signup-fallback a { text-decoration: underline; text-underline-offset: 3px; color: var(--blue); }
.signup-status { margin-top: 22px; font-size: 18px; line-height: 1.65; color: var(--ink); }
.signup-status[data-state="error"] { font-size: 15px; color: #9d342f; }
.signup-status[data-state="success"] { padding: 22px 0; border-top: 2px solid #24806b; }
.signup-fallback { margin-top: 16px; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.signup-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) { .signup-page { padding-top: 48px; padding-bottom: 65px; } .signup-page header > p { font-size: 17px; } }
