:root{--synaptix:#00843D;--deep:#006B31;--soft:#D4EDDD;--ink-900:#080C1C;--ink-700:#1B2342;--ink-500:#4C5878;--ink-300:#A9B3CC;--ink-200:#CDD4E4;--ink-100:#E3E8F2;--ink-50:#EEF2F9;--white:#FFFFFF;
--fd:'Chakra Petch',sans-serif;--fs:'IBM Plex Sans',sans-serif;--fm:'JetBrains Mono',monospace;}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--fs);background:var(--ink-900);color:var(--ink-100);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px;line-height:1.5}
.wrap{max-width:1040px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:18px;overflow:hidden;border:1px solid var(--ink-700);background:var(--ink-900)}
.left{padding:clamp(28px,4vw,48px);background:linear-gradient(160deg,var(--ink-900),var(--ink-700))}
.eyebrow{font-family:var(--fm);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--synaptix);margin-bottom:18px}
.left h1{font-family:var(--fd);font-weight:700;font-size:clamp(28px,4vw,40px);line-height:1.05;color:#fff;margin-bottom:16px}
.left h1 em{font-style:normal;color:var(--synaptix)}
.left p{color:#fff;font-weight:200;font-size:16px;margin-bottom:22px;max-width:42ch}
.gift{background:rgba(0,132,61,.12);border:1px solid rgba(0,132,61,.4);border-radius:12px;padding:16px 18px;margin-top:8px}
.gift .g-k{font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--synaptix);margin-bottom:6px}
.gift p{color:#fff;font-size:14px;margin:0;font-weight:400}
.right{padding:clamp(28px,4vw,48px);background:var(--white);color:var(--ink-900);display:flex;flex-direction:column;min-height:560px}
/* progress */
.prog{display:flex;gap:8px;margin-bottom:22px}
.prog span{flex:1;height:4px;border-radius:2px;background:var(--ink-200);transition:background .25s}
.prog span.on{background:var(--synaptix)}
.step-k{font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--deep);margin-bottom:8px}
.q{display:none;flex:1;flex-direction:column}
.q.active{display:flex}
.q h2{font-family:var(--fd);font-weight:700;font-size:23px;margin-bottom:6px;line-height:1.15}
.q .hint{color:var(--ink-500);font-size:14px;margin-bottom:20px}
label.opt{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--ink-200);border-radius:10px;margin-bottom:10px;cursor:pointer;font-size:15px;transition:border-color .15s,background .15s}
label.opt:hover{border-color:var(--synaptix)}
label.opt input{accent-color:var(--synaptix);width:18px;height:18px;flex:none}
label.opt.sel{border-color:var(--synaptix);background:var(--soft)}
input[type=text],input[type=email],textarea{width:100%;padding:13px 15px;border:1px solid var(--ink-200);border-radius:10px;font-family:var(--fs);font-size:15px;color:var(--ink-900);background:#fff}
input:focus,textarea:focus{outline:none;border-color:var(--synaptix)}
textarea{resize:vertical;min-height:90px}
.field{margin-bottom:14px}
.field .fl{display:block;font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--deep);margin-bottom:6px}
.nav{display:flex;gap:12px;margin-top:22px;align-items:center}
.btn{background:var(--ink-900);color:#fff!important;border:none;border-radius:10px;padding:15px 26px;font-family:var(--fs);font-weight:700;font-size:16px;cursor:pointer;transition:background .2s;flex:1;text-align:center}
.btn:hover{background:var(--synaptix)}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn.back{flex:0 0 auto;background:none;color:var(--ink-500)!important;font-weight:500;font-size:14px;padding:15px 8px}
.btn.back:hover{background:none;color:var(--ink-900)!important}
.note{text-align:center;font-family:var(--fm);font-size:11px;color:var(--ink-500);margin-top:14px}
.logo{display:flex;align-items:center;gap:9px;margin-bottom:28px;text-decoration:none}
.logo svg{height:26px}
.logo span{font-family:var(--fd);font-weight:700;font-size:20px;color:#fff}
#done{display:none;text-align:center;margin:auto 0}
#done .tick{width:66px;height:66px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
#done h2{font-family:var(--fd);color:var(--ink-900);font-size:24px;margin-bottom:10px}
#done p{color:var(--ink-500);font-size:14px;max-width:34ch;margin:0 auto 20px}
@media(max-width:780px){.wrap{grid-template-columns:1fr}.left{order:2}.right{min-height:auto}}

.logo .sx-logo-img{height:26px;width:auto;display:block}
