:root{--navy:#07161d;--blue:#1b65c7;--cyan:#38cfd2;--ink:#17324a;--muted:#64778a;--line:#dce7ef;--soft:#f4f9fc;--white:#fff;--danger:#bf2d3b}
*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Montserrat,system-ui,sans-serif;color:var(--ink);background:radial-gradient(circle at 12% 8%,rgba(56,207,210,.22),transparent 24rem),linear-gradient(145deg,#f8fcff,#eaf5fb)}
button,input,textarea{font:inherit}.page-shell{min-height:100vh;padding:28px 16px;display:grid;place-items:center}.card{width:min(760px,100%);background:rgba(255,255,255,.96);border:1px solid rgba(27,101,199,.12);border-radius:28px;box-shadow:0 24px 65px rgba(7,22,29,.13);overflow:hidden}
.brand{padding:24px 28px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.brand-mark{width:46px;height:46px;display:flex;align-items:flex-end;gap:4px}.brand-mark span{width:10px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,var(--cyan),var(--blue))}.brand-mark span:nth-child(1){height:17px}.brand-mark span:nth-child(2){height:29px}.brand-mark span:nth-child(3){height:42px}
.eyebrow{margin:0 0 3px;font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--blue)}h1{font-size:1.3rem;margin:0;color:var(--navy)}.panel{display:none;padding:38px 42px 42px}.panel.active{display:block}h2{margin:0 0 14px;font-size:clamp(1.65rem,4vw,2.35rem);line-height:1.13;color:var(--navy)}.lead{font-size:1.03rem;line-height:1.75;color:var(--muted);margin:0 0 24px}
.hero-icon,.success-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;margin-bottom:22px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:white;font-size:2.4rem;font-weight:800;box-shadow:0 12px 28px rgba(27,101,199,.25)}.success-icon{border-radius:50%}.notice{background:var(--soft);border-left:4px solid var(--cyan);border-radius:12px;padding:15px 17px;margin:22px 0;line-height:1.55}
.step-head{display:flex;align-items:center;gap:18px;margin-bottom:28px;color:var(--blue);font-size:.82rem;font-weight:700}.progress{height:8px;flex:1;background:#e8f0f5;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan))}
label,legend{font-weight:700;font-size:.91rem}label{display:block;margin:18px 0}input[type=text],input[type=email],textarea{width:100%;margin-top:8px;border:1.5px solid var(--line);border-radius:13px;padding:13px 14px;background:white;color:var(--navy);outline:none;transition:.2s}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(27,101,199,.1)}
.input-prefix{display:flex;align-items:center;margin-top:8px;border:1.5px solid var(--line);border-radius:13px;overflow:hidden}.input-prefix span{padding-left:14px;color:var(--muted)}.input-prefix input{border:0;margin:0;box-shadow:none!important}
fieldset{border:0;padding:0;margin:24px 0}legend{margin-bottom:11px}.choice{margin:9px 0;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-weight:600;cursor:pointer;background:white}.choice:has(input:checked){border-color:var(--blue);background:rgba(27,101,199,.05)}.choice input{accent-color:var(--blue)}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.consent{display:flex;gap:11px;align-items:flex-start;font-weight:500;line-height:1.5}.consent input{margin-top:4px;accent-color:var(--blue)}
.actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}button{border:0;border-radius:12px;padding:13px 20px;font-weight:800;cursor:pointer}.primary{background:linear-gradient(135deg,var(--blue),#228be0);color:white;box-shadow:0 9px 22px rgba(27,101,199,.24)}.ghost{background:#edf4f8;color:var(--ink)}.micro{text-align:center;color:var(--muted);font-size:.78rem;margin:14px 0 0}.invalid{border-color:var(--danger)!important;box-shadow:0 0 0 4px rgba(191,45,59,.09)!important}
@media(max-width:600px){.page-shell{padding:0}.card{min-height:100vh;border-radius:0}.brand{padding:19px 20px}.panel{padding:30px 20px 36px}.check-grid{grid-template-columns:1fr}.actions{flex-direction:column-reverse}button{width:100%}}