:root{--bg:#f5f5f3;--panel:#fff;--text:#151515;--muted:#707070;--line:#deded8;--accent:#6d35d9;--accent-soft:#f0eaff;--shadow:0 18px 55px rgba(0,0,0,.08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:"DM Sans",system-ui,sans-serif}body{transition:background .2s,color .2s}.theme-toggle{position:fixed;right:24px;top:20px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:10px 15px;font-weight:700;cursor:pointer;z-index:10}.app-shell{min-height:100vh;display:grid;grid-template-columns:.9fr 1.1fr}.intro-panel{padding:7vw;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.brand{display:flex;align-items:center;gap:12px;font-weight:700}.brand-mark,.mobile-brand{background:var(--text);color:var(--panel);border-radius:12px;display:grid;place-items:center;font-weight:800}.brand-mark{width:50px;height:50px}.intro-content{max-width:650px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--accent);margin-bottom:14px}.intro-content h1{font:700 clamp(48px,5vw,78px)/.95 "Space Grotesk",sans-serif;letter-spacing:-.05em;margin:0 0 22px}.intro-content h1 span{color:var(--accent)}.intro-content p{font-size:18px;line-height:1.6;color:var(--muted);max-width:580px}.film-strip{display:flex;gap:12px;margin-top:35px}.film-strip span{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:var(--accent)}.intro-footer{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;color:var(--muted)}.form-panel{background:var(--panel);border-left:1px solid var(--line);padding:4vw 6vw;min-height:100vh}.topbar{display:flex;align-items:center;gap:20px;margin-bottom:50px}.mobile-brand{width:45px;height:45px}.progress-wrap{flex:1;max-width:500px}.progress-label{display:flex;justify-content:space-between;font-size:11px;font-weight:800;color:var(--muted);margin-bottom:7px}.progress{height:5px;background:var(--line);border-radius:10px;overflow:hidden}.progress>div{height:100%;width:25%;background:var(--accent);transition:width .2s}.step{display:none;max-width:760px}.step.active{display:block}.step-heading{display:flex;gap:16px;margin-bottom:30px}.step-no{color:var(--accent);font-weight:800;font-size:13px;padding-top:6px}.step-heading h2{font:700 34px "Space Grotesk";margin:0 0 6px;letter-spacing:-.03em}.step-heading p{margin:0;color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}.field>span{display:block;font-size:13px;font-weight:800;margin-bottom:8px}.field small{color:var(--muted);font-weight:500}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--bg);color:var(--text);padding:13px 14px;font:inherit;outline:0}textarea{resize:vertical;min-height:100px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(109,53,217,.1)}.domain-list{display:grid;gap:10px}.domain-option input{display:none}.domain-card{display:grid;grid-template-columns:50px 1fr 30px;align-items:center;border:1px solid var(--line);padding:16px;border-radius:12px;cursor:pointer}.domain-option input:checked+.domain-card{border-color:var(--accent);background:var(--accent-soft)}.domain-index{color:var(--muted);font-size:12px}.arrow{color:var(--accent)}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.next-btn,.submit-btn,.back-btn{border:0;border-radius:11px;padding:13px 18px;font-weight:800;cursor:pointer}.next-btn,.submit-btn{background:var(--text);color:var(--panel)}.back-btn{background:transparent;border:1px solid var(--line);color:var(--text)}.review-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--bg);line-height:1.7}.consent{display:flex;gap:10px;align-items:flex-start;margin-top:18px;color:var(--muted);font-size:13px}.consent input{width:auto;margin-top:3px}.success-screen{display:none;text-align:center;max-width:600px;margin:80px auto}.success-screen.show{display:block}.success-icon{width:58px;height:58px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin:auto;font-size:26px}.success-screen h2{font:700 34px "Space Grotesk"}.success-screen p{color:var(--muted);line-height:1.6}.restart-btn{display:inline-block;color:var(--accent);font-weight:800;text-decoration:none;margin-top:15px}body.dark{--bg:#0b0b0e;--panel:#14151a;--text:#f5f5f7;--muted:#9a9ca5;--line:#2c2d35;--accent:#aa78ff;--accent-soft:#24183a;--shadow:0 20px 55px rgba(0,0,0,.35)}body.dark .next-btn,body.dark .submit-btn{background:#f5f5f7;color:#111}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.intro-panel{min-height:auto;padding:90px 24px 45px}.intro-footer{display:none}.form-panel{border-left:0;padding:35px 24px 60px}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.theme-toggle{right:14px;top:14px}.intro-content h1{font-size:52px}}@media(max-width:520px){.step-heading h2{font-size:28px}.intro-content p{font-size:16px}}


/* KMS motion layer */
@keyframes kmsFadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes kmsSlideIn{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}
@keyframes kmsPop{0%{transform:scale(.88);opacity:0}70%{transform:scale(1.04)}100%{transform:scale(1);opacity:1}}
@keyframes kmsShimmer{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes kmsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.intro-content{animation:kmsFadeUp .7s cubic-bezier(.2,.8,.2,1) both}
.brand{animation:kmsFadeUp .5s ease both}
.intro-footer{animation:kmsFadeUp .8s .15s ease both}
.film-strip span{animation:kmsFloat 2.6s ease-in-out infinite}
.film-strip span:nth-child(2){animation-delay:.15s}.film-strip span:nth-child(3){animation-delay:.3s}.film-strip span:nth-child(4){animation-delay:.45s}.film-strip span:nth-child(5){animation-delay:.6s}
.step.active{animation:kmsSlideIn .42s cubic-bezier(.2,.8,.2,1) both}
.step.active .field,.step.active .domain-option{animation:kmsFadeUp .38s ease both}
.step.active .field:nth-child(2),.step.active .domain-option:nth-child(2){animation-delay:.04s}
.step.active .field:nth-child(3),.step.active .domain-option:nth-child(3){animation-delay:.08s}
.step.active .field:nth-child(4),.step.active .domain-option:nth-child(4){animation-delay:.12s}
.step.active .field:nth-child(5),.step.active .domain-option:nth-child(5){animation-delay:.16s}
.step.active .field:nth-child(6),.step.active .domain-option:nth-child(6){animation-delay:.20s}
.domain-card,.next-btn,.submit-btn,.back-btn,.restart-btn,.theme-toggle{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.domain-card:hover{transform:translateX(5px);box-shadow:var(--shadow)}
.next-btn:hover,.submit-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.16)}
.back-btn:hover,.theme-toggle:hover{transform:translateY(-1px)}
.progress>div{position:relative;overflow:hidden}
.progress>div:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:kmsShimmer 1.8s linear infinite}
.success-icon{animation:kmsPop .55s cubic-bezier(.2,1.4,.4,1) both}
.success-screen.show .eyebrow,.success-screen.show h2,.success-screen.show p,.success-screen.show .restart-btn{animation:kmsFadeUp .55s ease both}
.success-screen.show h2{animation-delay:.08s}.success-screen.show p{animation-delay:.16s}.success-screen.show .restart-btn{animation-delay:.24s}
button:active{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}
