.hero-actions { gap: 18px; flex-wrap: wrap; }
.waitlist-is-open { overflow: hidden; }
.waitlist-dialog { --ln: #08111f; --mint: #b9f2db; width: min(480px, calc(100% - 32px)); max-width: 480px; max-height: calc(100dvh - 32px); margin: auto; padding: 38px 32px 30px; overflow-y: auto; border: 1px solid #d9e5df; border-radius: 20px; background: #f5f7f3; color: #08111f; box-shadow: 0 24px 90px #08111f40; font-family: "Space Grotesk", "Segoe UI", sans-serif; }
.waitlist-dialog::backdrop { background: #08111f99; backdrop-filter: blur(5px); }
.waitlist-dialog[open] { animation: waitlist-enter .18s ease-out; }
.waitlist-close { position: absolute; top: 10px; right: 10px; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: #405968; font-size: 1.7rem; cursor: pointer; }
.waitlist-close:hover { background: #e5eee8; }
.waitlist-badge { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 22px; border-radius: 12px; background: #08111f; color: #b9f2db; font: 700 .9rem "IBM Plex Mono", monospace; }
.waitlist-eyebrow { margin: 0 0 10px; color: #48665b; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; }
.waitlist-dialog h2 { margin: 0; font-size: clamp(1.9rem, 5vw, 2.25rem); line-height: 1.12; letter-spacing: -.055em; }
.waitlist-dialog h2 em { color: #368d73; font-style: normal; }
.waitlist-description { margin: 16px 0 24px; color: #526871; font-size: 1rem; line-height: 1.6; }
.waitlist-form label { display: block; margin-bottom: 8px; font-size: .95rem; font-weight: 600; }
.waitlist-form input { width: 100%; min-height: 50px; border: 1px solid #80968b; border-radius: 8px; padding: 12px 14px; background: #fff; color: #08111f; font: inherit; font-size: 1rem; }
.waitlist-form input[aria-invalid="true"] { border-color: #9f2929; }
.waitlist-form input::placeholder { color: #586c77; }
.waitlist-consent { margin: 14px 0; color: #526871; font-size: .82rem; line-height: 1.6; }
.waitlist-consent a, .waitlist-cancel { text-decoration: underline; text-underline-offset: 3px; }
.waitlist-challenge { max-width: 100%; }
.waitlist-message { min-height: 1.6em; margin: 8px 0 12px; color: #246a55; font-size: .9rem; overflow-wrap: anywhere; }
.waitlist-message.is-error { color: #9f2929; }
.waitlist-submit, .waitlist-done { width: 100%; min-height: 50px; font-size: .95rem; gap: 10px; }
.waitlist-submit .waitlist-button-label { color: inherit; font-size: inherit; }
.waitlist-submit:disabled { opacity: .65; cursor: wait; transform: none; box-shadow: none; }
.waitlist-spinner { flex: 0 0 18px; width: 18px; height: 18px; border: 2px solid #ffffff66; border-top-color: #b9f2db; border-radius: 50%; animation: waitlist-spin .7s linear infinite; }
.waitlist-success { padding-top: 10px; text-align: center; }
.waitlist-check { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 24px; border: 1px solid #a6d5c0; border-radius: 50%; background: #dff5e9; color: #246a55; font-size: 2rem; }
.waitlist-cancel { display: inline-block; margin-top: 18px; color: #526871; font-size: .85rem; }
.landing-cta .landing-button--light { margin-top: 24px; background: #b9f2db; }
.landing-links > a, .landing-links > button { min-height: 44px; display: inline-flex; align-items: center; }
.hero-lede { margin-bottom: 24px; }
.landing-kicker, .hero-lede, .section-intro > p:last-child, .product-copy > p:not(.landing-kicker), .product-panel p, .problem-grid p, .flow-grid p, .faq-list p { color: #526871; }
.landing-cta .landing-kicker { color: #b9cbc1; }
.hero-proof-label, .landing-footer { color: #536972; }
.landing-trust, .landing-trust > div, .compare-grid ul { color: #536972; }
@keyframes waitlist-spin { to { transform: rotate(360deg); } }
@keyframes waitlist-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width:1100px) and (min-width:651px) { .landing-links { gap: 12px; } .landing-nav { gap: 10px; } .landing-logo { font-size: .9rem; } .landing-nav-actions .landing-button { display: none; } }
@media(max-width:650px) { .landing-hero { min-height: auto; } .landing-menu { min-width: 44px; min-height: 44px; } }
@media(max-width:380px) { .waitlist-dialog { width: calc(100% - 16px); padding: 32px 16px 24px; } .waitlist-dialog h2 { font-size: 1.85rem; } .mock-date { display: none; } .mock-content { padding: 14px 9px; } .mock-card-head { gap: 6px; } }
@media(prefers-reduced-motion:reduce) { .waitlist-dialog[open] { animation: none; } .waitlist-spinner { animation: none; } }
.legal { width: min(780px, calc(100% - 40px)); margin: 50px auto 80px; }
.legal h1 { margin: 32px 0 20px; font-size: clamp(2rem, 6vw, 3rem); line-height: 1.1; }
.legal h2 { margin: 28px 0 12px; font-size: 1.25rem; }
.legal p { margin: 0 0 16px; color: #405968; }
.legal a { text-decoration: underline; }
.legal .landing-button { border: 0; border-radius: 8px; padding: 12px 18px; background: #08111f; color: #fff; cursor: pointer; }
