@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root{
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;
  --bg:#f7f8fc;--surface:#fff;--surface-soft:#f0f3fa;--ink:#172033;--muted:#68738a;--line:#dfe4ef;
  --brand:#635bff;--brand-dark:#4940d8;--brand-soft:#eeecff;--accent:#16a085;--danger:#d43f57;
  --radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;
  --shadow-sm:0 2px 10px rgba(31,43,74,.06);--shadow-lg:0 24px 70px rgba(31,43,74,.12);
  --tap:48px;--max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:16px;line-height:1.55}
button,input,select,textarea{font:inherit}
button{cursor:pointer} a{color:inherit;text-decoration:none}
.topbar{height:76px;padding:0 max(20px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--ink);color:#fff;font:800 20px Manrope}.brand strong,.brand small{display:block}.brand strong{font:800 14px Manrope;letter-spacing:.08em}.brand small{font-size:11px;color:var(--muted)}
.save-state{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.save-state::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--accent)}
.page-shell{width:min(var(--max),calc(100% - 32px));margin:auto;padding:38px 0 56px}
.intro{text-align:center;max-width:760px;margin:0 auto 30px}.intro-tag{display:inline-block;padding:7px 12px;background:var(--brand-soft);color:var(--brand-dark);border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.intro h1{font:800 clamp(2.25rem,5vw,4.6rem)/1.02 Manrope;margin:18px 0 16px;letter-spacing:-.05em}.intro h1 span{color:var(--brand)}.intro>p{font-size:clamp(1rem,1.4vw,1.15rem);color:var(--muted);max-width:610px;margin:0 auto}.intro-points{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;margin-top:22px;color:#465168;font-size:14px;font-weight:600}
.form-layout{display:grid;grid-template-columns:250px minmax(0,760px);gap:24px;align-items:start;justify-content:center}.step-nav{position:sticky;top:100px;display:grid;gap:7px}.step-link{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;border-radius:15px;padding:11px;color:var(--muted)}.step-link b{width:36px;height:36px;flex:0 0 36px;border-radius:12px;background:#e8ebf2;display:grid;place-items:center;font:700 13px Manrope}.step-link span{font-weight:700;font-size:14px}.step-link small{display:block;font-weight:400;font-size:11px;color:#929bad}.step-link.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.step-link.active b{background:var(--brand);color:#fff}.step-link.complete b{background:#dff6ee;color:#08785f}.step-link.complete b::after{content:'✓';font-size:15px}.step-link.complete b{font-size:0}
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:clamp(24px,4vw,46px)}.mobile-progress{display:none;margin-bottom:28px}.mobile-progress>div:first-child{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--muted)}.progress-track{height:7px;background:#e7eaf1;border-radius:999px;margin-top:9px;overflow:hidden}.progress-track i{display:block;height:100%;width:20%;background:linear-gradient(90deg,var(--brand),#908aff);border-radius:inherit;transition:width .3s ease}
.form-step{display:none;animation:stepIn .28s ease}.form-step.active{display:block}@keyframes stepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.step-head{margin-bottom:30px}.step-kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--brand)}.step-head h2{font:800 clamp(1.55rem,3vw,2.25rem)/1.15 Manrope;margin:7px 0 8px;letter-spacing:-.035em}.step-head p{color:var(--muted);margin:0;max-width:610px}
.field-grid{display:grid;gap:18px}.field-grid.two{grid-template-columns:1fr 1fr}.field{display:grid;gap:7px;margin-bottom:20px}.field>span,.choice-group legend{font-size:14px;font-weight:700;color:#303a50}.field em,.choice-group em{color:var(--danger);font-style:normal}.field small{font-size:12px;color:#6f7a91}.field .optional{font-weight:500;color:#778198}
input,select,textarea{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfcff;color:var(--ink);padding:13px 14px;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}textarea{resize:vertical;min-height:110px}input::placeholder,textarea::placeholder{color:#7d879b}input:focus,select:focus,textarea:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px rgba(99,91,255,.11)}.invalid{border-color:var(--danger)!important;box-shadow:0 0 0 4px rgba(212,63,87,.09)!important}
.choice-group{border:0;padding:0;margin:0 0 24px}.choice-group legend{margin-bottom:12px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-card{position:relative;min-height:120px;padding:17px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfcff;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:.18s}.choice-card input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.choice-card:hover{border-color:#b9b4ff;transform:translateY(-1px)}.choice-card:has(input:checked){border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 2px rgba(99,91,255,.1)}.choice-card:has(input:checked)::after{content:'✓';position:absolute;right:12px;top:12px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:12px;font-weight:800}.choice-icon{height:27px;font:800 17px Manrope}.choice-card b{font-size:14px}.choice-card small{font-size:12px;color:var(--muted)}.choice-grid.compact .choice-card{min-height:96px}
.chip-grid{display:flex;flex-wrap:wrap;gap:9px}.check-chip{position:relative}.check-chip input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.check-chip span{min-height:44px;padding:10px 15px;border:1px solid var(--line);border-radius:999px;background:#fbfcff;display:flex;align-items:center;font-size:13px;font-weight:600;cursor:pointer}.check-chip input:checked+span{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}
.field-error{display:none;margin:9px 0 0;color:var(--danger);font-size:12px}.field-error.show{display:block}.consent{display:flex;align-items:flex-start;gap:11px;padding:16px;border-radius:var(--radius-md);background:var(--surface-soft);font-size:13px;cursor:pointer}.consent input{width:19px;height:19px;min-height:0;accent-color:var(--brand);flex:0 0 auto;margin-top:1px}.review-box{margin-top:22px;padding:18px;border-left:3px solid var(--brand);background:var(--brand-soft);border-radius:0 var(--radius-md) var(--radius-md) 0}.review-box span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--brand-dark)}.review-box p{margin:5px 0 0;font-size:14px;color:#4f5670}
.privacy-note{margin:14px 2px 0;color:#657188;font-size:12px;line-height:1.55}
.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}.btn{min-height:50px;border-radius:14px;padding:13px 20px;font-weight:800;border:0;transition:transform .18s,box-shadow .18s}.btn:hover{transform:translateY(-1px)}.btn.primary{margin-left:auto;background:var(--brand);color:#fff;box-shadow:0 10px 24px rgba(99,91,255,.24)}.btn.primary:hover{background:var(--brand-dark)}.btn.secondary{background:var(--surface-soft);color:var(--ink)}.submit-btn{min-width:230px}.form-status{font-size:13px;text-align:center;color:var(--danger);min-height:20px;margin-top:10px}
footer{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;padding:26px 20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}footer strong{font:800 12px Manrope;letter-spacing:.08em;color:var(--ink)}
@media(max-width:850px){.form-layout{grid-template-columns:1fr;max-width:720px;margin:auto}.step-nav{display:none}.mobile-progress{display:block}}
@media(max-width:620px){.topbar{height:66px;padding:0 16px}.save-state{font-size:0}.save-state::after{content:'Auto-save';font-size:11px}.page-shell{width:calc(100% - 20px);padding:34px 0 44px}.intro{margin-bottom:28px}.intro h1{font-size:2.45rem}.intro-points{display:grid;gap:5px}.form-card{border-radius:22px;padding:22px 17px}.field-grid.two,.choice-grid,.choice-grid.compact{grid-template-columns:1fr}.choice-card{min-height:100px}.form-actions{position:sticky;bottom:0;margin:28px -17px -22px;padding:14px 17px calc(14px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-radius:0 0 22px 22px;z-index:5}.btn{padding:12px 15px}.submit-btn{min-width:0;flex:1}.brand small{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
