*,*::before,*::after{box-sizing:border-box}

body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;background:#f4f4f4;color:#111;line-height:1.4;-webkit-font-smoothing:antialiased;min-height:100vh}

.page-card{width:92%;max-width:560px;margin:clamp(12px,3vw,48px) auto;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.06);background:#fbf7f3;overflow:hidden}
.logo-wrap{text-align:center;padding:clamp(12px,2.5vw,28px) 0 clamp(4px,1vw,10px)}
.logo-wrap img{width:clamp(190px,38vw,380px);height:auto}
.wrap{max-width:520px;margin:0 auto;padding:clamp(8px,2vw,20px) clamp(12px,3vw,32px) clamp(28px,5vw,56px)}

.hero{display:flex;flex-direction:column}
.hero-kicker{margin-bottom:12px;font-size:clamp(11px,1.8vw,13px);line-height:1;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#b22234}
.headline{margin:0;font-size:clamp(2rem,6vw,3.2rem);line-height:1.02;font-weight:700;letter-spacing:-.035em;color:#111}
.hero-support{margin-top:12px;font-size:clamp(.9rem,2vw,1rem);line-height:1.35;font-weight:600;color:#1f3a6d}

.clarity-box{margin-top:18px;padding:clamp(12px,2vw,16px) clamp(14px,2.5vw,18px);border-radius:14px;background:rgba(255,255,255,.75);border:1px solid rgba(17,17,17,.08);backdrop-filter:blur(10px)}
.clarity-detail{margin:0;font-size:clamp(.85rem,1.8vw,.95rem);line-height:1.5;font-weight:500;color:#374151}
.clarity-detail+.clarity-detail{margin-top:10px}

.stats-card{margin-top:20px;padding:clamp(12px,2vw,16px) clamp(14px,2.5vw,18px);border-radius:16px;background:rgba(255,255,255,.75);border:1px solid rgba(17,17,17,.08)}
.stats-main{font-size:clamp(.88rem,2vw,1rem);line-height:1.25;font-weight:600;color:#111}
.stats-secondary{margin-top:6px;font-size:clamp(.82rem,1.8vw,.92rem);line-height:1.35;font-weight:500;color:#6b7280}
.stats-live{color:#b22234;font-weight:700}
.stats-note{margin-top:8px;font-size:clamp(.72rem,1.4vw,.82rem);line-height:1.3;font-weight:500;color:#6b7280}
.progress-track{margin-top:12px;width:100%;height:10px;border-radius:999px;background:rgba(178,34,52,.12);overflow:hidden}
.progress-fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#b22234,#d9364d);transition:width .25s ease}

.form-title{margin:30px 0 6px;font-size:clamp(1.4rem,4vw,2rem);line-height:1.05;font-weight:700;letter-spacing:-.03em;color:#111;text-align:center}
.form-subtitle{margin:0 0 18px;font-size:clamp(.85rem,1.8vw,.95rem);line-height:1.4;font-weight:500;color:#6b7280;text-align:center}

.signup-form{display:grid;gap:clamp(10px,1.8vw,14px);max-width:440px;margin:0 auto}
.signup-form label{display:grid;gap:6px;font-size:clamp(.72rem,1.4vw,.8rem);font-weight:500;color:#6b7280}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1.5vw,14px)}

.signup-form input[type="text"],
.signup-form input[type="email"],
.signup-form input[type="tel"]{width:100%;min-width:0;padding:clamp(8px,1.5vw,10px);border:1px solid #e5e7eb;border-radius:10px;font-size:clamp(.85rem,1.8vw,.95rem);font-family:inherit;line-height:1.2;color:#111;background:#fff;transition:border-color .15s,box-shadow .15s}
.signup-form input:focus{outline:none;border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.05)}
.signup-form input[readonly]{opacity:.5;cursor:default;background:#f9fafb}
.signup-form button{border:none;cursor:pointer}

.field-error{margin:0;font-size:clamp(10px,1.3vw,11px);color:#b22234;display:none}
.field-error.visible{display:block}
.form-error{margin:0;font-size:clamp(10px,1.3vw,11px);color:#b22234}

.spot-lockin{margin:14px 0 0;font-size:clamp(.82rem,1.8vw,.9rem);line-height:1.25;font-weight:600;color:#b22234}

.cta{width:100%;margin-top:14px;padding:clamp(10px,1.8vw,12px);border:none;border-radius:12px;background:#00205b;color:#fff;font-family:inherit;font-size:clamp(.9rem,2vw,1rem);font-weight:600;line-height:1.2;cursor:pointer;transition:all .2s ease;text-decoration:none;display:block;text-align:center}
.cta:hover{background:#001a4a;transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,32,91,.2)}
.cta:active{transform:translateY(0);box-shadow:none}
.cta:disabled{cursor:not-allowed;transform:none;box-shadow:none;opacity:.6}

.rules-note{margin-top:10px;font-size:.75rem;text-align:center;color:#9ca3af}
.hidden{display:none!important}

.final-step{text-align:center;max-width:440px;margin:0 auto}

.steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:clamp(24px,4vw,32px)}
.step{display:flex;align-items:center;gap:8px;font-size:clamp(.78rem,1.6vw,.88rem);font-weight:500;color:#6b7280}
.step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}
.step.done .step-num{background:#2e7d32;color:#fff}
.step.done{color:#2e7d32;font-weight:600}
.step.active .step-num{background:#00205b;color:#fff}
.step.active{color:#111;font-weight:600}
.step-line{width:clamp(24px,5vw,48px);height:2px;background:#e5e7eb;margin:0 clamp(6px,1.2vw,10px);flex-shrink:0}

.final-headline{margin:0 0 8px;font-size:clamp(1.6rem,5vw,2.4rem);line-height:1.05;font-weight:700;letter-spacing:-.035em;color:#111}
.final-support{margin:0 0 20px;font-size:clamp(.9rem,2vw,1.05rem);line-height:1.4;font-weight:500;color:#6b7280}
.final-personal{margin:0 0 20px;padding:clamp(12px,2vw,16px) clamp(14px,2.5vw,18px);border-radius:14px;background:rgba(255,255,255,.75);border:1px solid rgba(17,17,17,.08);font-size:clamp(.95rem,2vw,1.1rem);font-weight:600;color:#111}
.final-consequence{margin:0 0 24px;font-size:clamp(.82rem,1.7vw,.92rem);line-height:1.5;font-weight:500;color:#374151}
.final-urgency{margin-top:14px;font-size:clamp(.75rem,1.4vw,.84rem);line-height:1.4;font-weight:500;color:#6b7280}

@media(max-width:374px){.field-row{grid-template-columns:1fr}}
@media(min-width:1024px){.page-card{max-width:600px;box-shadow:0 12px 40px rgba(0,0,0,.08)}}
@media(min-width:1440px){body{display:flex;align-items:center;justify-content:center}.page-card{max-width:640px;margin:48px auto;border-radius:24px;box-shadow:0 16px 48px rgba(0,0,0,.08)}}
@media(min-width:2560px){.page-card{max-width:720px;border-radius:28px}.logo-wrap img{width:260px}}
