:root{--blue:#1E3A8A;--dark:#0f172a;--yellow:#FACC15;--surface:#F8FAFC;--muted:#64748b;--red:#DC2626}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Inter,sans-serif;color:var(--dark);background:radial-gradient(circle at 92% 10%,rgba(250,204,21,.2),transparent 30%),var(--surface);overflow:hidden}.topbar{height:76px;padding:14px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e2e8f0;position:relative;z-index:2}.topbar img{display:block;width:min(220px,48vw);height:44px;object-fit:contain}.topbar span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:800}main{height:calc(100% - 76px);position:relative}.progress-wrap{height:5px;background:#dbe3f2}.progress{height:100%;width:0;background:var(--yellow);transition:width .35s ease}form{height:calc(100% - 5px)}.step{display:none;height:100%;max-width:900px;margin:auto;padding:clamp(32px,8vh,92px) clamp(24px,7vw,72px);align-content:center;animation:enter .3s ease}.step.active{display:grid}.eyebrow,.number{font-size:.8rem;letter-spacing:.18em;font-weight:900;color:var(--blue);margin:0 0 14px}.number:after{content:" →";color:var(--yellow)}h1,h2{font-size:clamp(2rem,5vw,4.3rem);line-height:1.06;letter-spacing:-.045em;margin:0 0 24px;max-width:850px}h1{color:var(--blue);font-weight:900}.step>p:not(.number,.eyebrow,.hint,.error,.protocol){font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;color:#475569;max-width:720px}.intro small{color:var(--muted);margin-top:12px}.primary{border:0;border-radius:999px;background:var(--yellow);color:var(--blue);font:800 1rem Inter;padding:15px 25px;cursor:pointer;width:max-content;box-shadow:0 8px 25px rgba(30,58,138,.14);transition:.18s;margin-top:24px}.primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(30,58,138,.22)}.primary:focus-visible,.choices button:focus-visible,input:focus-visible,.step-nav button:focus-visible{outline:4px solid rgba(30,58,138,.2);outline-offset:2px}.choices{display:flex;gap:14px;flex-wrap:wrap}.choices.vertical{display:grid;max-width:640px}.choices button{border:2px solid #dbe3f2;border-radius:16px;background:#fff;color:var(--dark);font:700 1rem Inter;text-align:left;padding:18px 22px;min-width:180px;cursor:pointer;transition:.18s}.choices.vertical button{width:100%}.choices button:hover,.choices button.selected{border-color:var(--blue);background:#eff6ff;transform:translateY(-1px)}input[type=text],input[type=number],input:not([type]){width:min(640px,100%);border:0;border-bottom:3px solid #cbd5e1;background:transparent;padding:15px 2px;font:600 clamp(1.1rem,2vw,1.4rem) Inter;color:var(--blue)}input::placeholder{color:#94a3b8}.hint{font-size:.85rem;color:var(--muted)}.conditional{display:none;margin-top:22px}.conditional.show{display:block}.conditional.primary.show{display:block}.conditional label{display:block;color:var(--muted);font-size:.85rem;font-weight:700;margin-bottom:4px}.consent{display:flex;align-items:flex-start;gap:13px;max-width:700px;background:#fff;border:1px solid #dbe3f2;padding:18px;border-radius:16px;line-height:1.5}.consent input{width:22px;height:22px;accent-color:var(--blue);flex:0 0 auto}.consent a{color:var(--blue);font-weight:700}.error{min-height:20px;color:var(--red);font-weight:700}.trap{position:absolute!important;left:-9999px!important}.step-nav{position:fixed;right:24px;bottom:24px;display:flex;box-shadow:0 8px 24px #0f172a22;border-radius:12px;overflow:hidden}.step-nav button{width:46px;height:42px;border:0;background:var(--blue);color:#fff;font-size:1.15rem;cursor:pointer}.step-nav button+button{border-left:1px solid #ffffff44}.success{text-align:center;justify-items:center}.check{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--blue);font-size:2.3rem;font-weight:900;margin-bottom:24px}.protocol{font-weight:800;color:var(--blue)}.link{text-decoration:none}@keyframes enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media(max-width:640px){.topbar{height:64px}.topbar img{height:34px}.topbar span{display:none}main{height:calc(100% - 64px)}.step{padding:28px 22px 78px;align-content:center;overflow-y:auto}.choices{display:grid}.choices button{width:100%;min-width:0}.step-nav{right:14px;bottom:14px}h1,h2{font-size:clamp(1.8rem,9vw,2.8rem)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

