:root{
  --bg:#0b0e0c; --bg2:#111612; --panel:#151b16; --panel2:#1b231c;
  --line:rgba(190,210,170,.12); --line2:rgba(190,210,170,.22);
  --text:#e9eee4; --muted:#9aa594; --dim:#6b7566;
  --acc:#f2b632; --acc2:#ff7a1a; --ok:#7fd36b; --olive:#5b6b3c; --steel:#8fa3ad;
  --r:18px; --mono:"JetBrains Mono",ui-monospace,monospace;
  --head:"Oswald",Impact,sans-serif; --body:"Manrope",system-ui,sans-serif;
  --pad:clamp(16px,4vw,48px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font:16px/1.6 var(--body);overflow-x:hidden}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
::selection{background:var(--acc);color:#111}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--pad)}
.mono{font-family:var(--mono);letter-spacing:.04em}
.tag{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.tag::before{content:"";width:22px;height:1px;background:currentColor}
h1,h2,h3{font-family:var(--head);font-weight:600;letter-spacing:.01em;line-height:1.05;text-transform:uppercase}
h2{font-size:clamp(34px,5.4vw,68px);margin:14px 0 18px}
h2 em{font-style:normal;color:var(--acc)}
.lead{color:var(--muted);font-size:clamp(16px,1.6vw,19px);max-width:720px}
section{position:relative;padding:clamp(72px,10vw,140px) 0}
.grid-bg{position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%);opacity:.5}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 28px;border-radius:999px;font-weight:800;font-size:16px;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;white-space:nowrap}
.btn-acc{background:linear-gradient(135deg,var(--acc),var(--acc2));color:#140d00;box-shadow:0 10px 40px -10px rgba(242,182,50,.6)}
.btn-acc:hover{transform:translateY(-2px);box-shadow:0 16px 50px -10px rgba(242,182,50,.8)}
.btn-ghost{border:1px solid var(--line2);color:var(--text)}
.btn-ghost:hover{border-color:var(--acc);color:var(--acc)}
.nbsp{white-space:nowrap}

/* progress + header */
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--acc),var(--acc2));z-index:100}
header{position:fixed;top:0;left:0;right:0;z-index:90;transition:background .3s,backdrop-filter .3s,border-color .3s;border-bottom:1px solid transparent}
header.scrolled{background:rgba(11,14,12,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
.hdr{display:flex;align-items:center;gap:24px;height:68px}
.logo{display:flex;align-items:center;gap:10px;font:700 18px/1 var(--head);letter-spacing:.06em;text-decoration:none;text-transform:uppercase}
.logo i{width:34px;height:34px;border:1.5px solid var(--acc);border-radius:9px;display:grid;place-items:center;font-style:normal;color:var(--acc);font-size:13px}
nav.main{display:flex;gap:22px;margin-left:auto}
nav.main a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:600;transition:color .2s}
nav.main a:hover,nav.main a.on{color:var(--text)}
.hdr .btn{padding:11px 20px;font-size:14px}
@media(max-width:980px){nav.main{display:none}.hdr .btn{margin-left:auto}}

/* hero */
.hero{min-height:100svh;padding:120px 0 60px;display:flex;align-items:center;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;position:relative;z-index:2}
.hero h1{font-size:clamp(44px,7.4vw,104px);margin:18px 0 22px}
.hero h1 span{display:block;color:transparent;-webkit-text-stroke:1.5px var(--text)}
.hero h1 b{color:var(--acc);font-weight:600}
.hero .lead{margin-bottom:34px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:44px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.kpi{background:rgba(17,22,18,.85);padding:20px 18px}
.kpi .v{font:600 clamp(22px,2.6vw,34px)/1 var(--head);color:var(--text)}
.kpi .v small{font-size:.55em;color:var(--muted);margin-left:4px}
.kpi .l{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.35}
.kpi.hot .v{color:var(--acc)}
.radar-box{position:relative;aspect-ratio:1;border-radius:50%;max-width:520px;margin-left:auto;width:100%}
#radar{width:100%;height:100%}
.radar-hud{position:absolute;font:600 11px/1.4 var(--mono);color:var(--muted);letter-spacing:.1em}
.radar-hud.tl{top:4%;left:0}.radar-hud.br{bottom:4%;right:0;text-align:right}
.radar-hud b{color:var(--acc);font-weight:600}
.hero-glow{position:absolute;width:900px;height:900px;right:-300px;top:-200px;background:radial-gradient(circle,rgba(242,182,50,.13),transparent 60%);pointer-events:none}
@media(max-width:900px){.hero-in{grid-template-columns:1fr}.radar-box{max-width:340px;margin:10px auto 54px}.hero{padding-top:96px}
  .radar-hud{top:auto!important;bottom:-50px!important;left:0!important;right:0!important;font-size:10px}
  .radar-hud.tl{text-align:left}.radar-hud.br{text-align:right}}
@media(max-width:560px){.kpis{grid-template-columns:1fr}.radar-box{max-width:260px}}

/* ticker */
.ticker{border-block:1px solid var(--line);background:var(--bg2);overflow:hidden;padding:18px 0}
.ticker-track{display:flex;gap:44px;width:max-content;animation:tick 60s linear infinite}
.ticker span{font:500 20px/1 var(--head);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:44px}
.ticker span::after{content:"✦";color:var(--acc);font-size:12px}
@keyframes tick{to{transform:translateX(-50%)}}

/* notice */
.notice{display:flex;gap:18px;align-items:flex-start;border:1px solid rgba(242,182,50,.35);background:linear-gradient(90deg,rgba(242,182,50,.08),transparent);border-radius:var(--r);padding:22px 24px;margin-top:-30px;position:relative;z-index:3}
.notice .ic{flex:none;width:44px;height:44px;border-radius:12px;background:rgba(242,182,50,.15);display:grid;place-items:center;color:var(--acc);font:700 22px var(--head)}
.notice b{display:block;font:600 20px/1.2 var(--head);text-transform:uppercase;margin-bottom:4px}
.notice p{color:var(--muted);font-size:15px}

/* tracks */
.tabs{display:inline-flex;padding:5px;border:1px solid var(--line2);border-radius:999px;margin:20px 0 34px;background:var(--bg2);position:relative}
.tabs button{position:relative;z-index:2;padding:12px 22px;border-radius:999px;font-weight:700;font-size:15px;color:var(--muted);transition:color .25s}
.tabs button.on{color:#140d00}
.tabs .pill{position:absolute;z-index:1;top:5px;bottom:5px;border-radius:999px;background:linear-gradient(135deg,var(--acc),var(--acc2));transition:left .35s cubic-bezier(.6,.1,.2,1),width .35s cubic-bezier(.6,.1,.2,1)}
.tracks{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.track{position:relative;border:1px solid var(--line2);border-radius:24px;padding:34px;background:var(--panel);overflow:hidden;transition:transform .35s,opacity .35s,border-color .35s}
.track.dim{opacity:.38;transform:scale(.97)}
.track.sel{border-color:var(--acc)}
.track .badge{position:absolute;top:22px;right:22px;font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;border-radius:999px;border:1px solid var(--line2);color:var(--muted)}
.track.special .badge{border-color:var(--acc);color:var(--acc)}
.track h3{font-size:30px;margin-bottom:8px;padding-right:120px}
.track .sum{font:600 clamp(44px,5.5vw,68px)/1 var(--head);margin:22px 0 4px;letter-spacing:-.01em}
.track.special .sum{color:var(--acc)}
.track .sub{color:var(--muted);font-size:14px;margin-bottom:24px}
.track ul{list-style:none;display:grid;gap:12px}
.track li{display:flex;gap:12px;font-size:15px;line-height:1.45}
.track li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:5px;border:1.5px solid var(--acc);background:radial-gradient(circle,var(--acc) 35%,transparent 40%)}
.track .foot{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.chip{font-size:13px;font-weight:700;padding:8px 13px;border-radius:999px;background:var(--panel2);border:1px solid var(--line)}
.track::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(242,182,50,.10),transparent 60%);opacity:0;transition:opacity .3s}
.track:hover::after{opacity:1}
@media(max-width:860px){.tracks{grid-template-columns:1fr}.track{padding:26px}.track h3{padding-right:0;margin-top:34px}}

/* calc */
.calc{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch;margin-top:40px}
.panel{background:var(--panel);border:1px solid var(--line2);border-radius:24px;padding:30px}
.ctl{margin-bottom:28px}
.ctl label{display:flex;justify-content:space-between;font-weight:700;margin-bottom:12px}
.ctl label output{font:600 20px/1 var(--head);color:var(--acc)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.seg button{padding:14px;border-radius:12px;border:1px solid var(--line2);font-weight:700;font-size:14px;text-align:left;line-height:1.3;transition:.2s}
.seg button small{display:block;color:var(--muted);font-weight:600;font-size:12px;margin-top:3px}
.seg button.on{border-color:var(--acc);background:rgba(242,182,50,.1)}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:9px;background:linear-gradient(90deg,var(--acc) var(--p,50%),var(--panel2) var(--p,50%));outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--text);border:5px solid var(--acc);cursor:grab;box-shadow:0 0 0 6px rgba(242,182,50,.15)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--text);border:5px solid var(--acc);cursor:grab}
.ticks{display:flex;justify-content:space-between;font:500 11px var(--mono);color:var(--dim);margin-top:10px}
.total{font:600 clamp(46px,6vw,84px)/1 var(--head);letter-spacing:-.01em;margin:6px 0 4px}
.total small{font-size:.4em;color:var(--muted)}
.total-l{color:var(--muted);font-size:14px}
.bars{display:flex;align-items:flex-end;gap:6px;height:220px;margin:30px 0 14px;border-bottom:1px solid var(--line2);position:relative}
.bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;position:relative}
.bar i{display:block;border-radius:6px 6px 2px 2px;transition:height .6s cubic-bezier(.3,.9,.3,1),background .3s}
.bar i.pay{background:linear-gradient(180deg,var(--acc),var(--acc2))}
.bar i.sal{background:var(--steel);opacity:.75;margin-top:2px}
.bar.off i{opacity:.12}
.bar span{position:absolute;bottom:-22px;left:0;right:0;text-align:center;font:500 10px var(--mono);color:var(--dim)}
.legend{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:34px}
.legend b{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px;vertical-align:-1px}
.note{font-size:12.5px;color:var(--dim);margin-top:18px;line-height:1.5}
@media(max-width:900px){.calc{grid-template-columns:1fr}.bars{height:170px}}

/* route */
.route{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:50px;position:relative}
.route::before{content:"";position:absolute;top:34px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,var(--acc) 0 10px,transparent 10px 18px);opacity:.6}
.rstep{position:relative;text-align:center;padding:0 12px}
.rstep .dot{width:68px;height:68px;margin:0 auto 20px;border-radius:50%;border:1.5px solid var(--acc);background:var(--bg);display:grid;place-items:center;font:600 22px var(--head);color:var(--acc);position:relative;z-index:2}
.rstep .dot::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(242,182,50,.25);animation:pulse 2.6s infinite}
.rstep:nth-child(2) .dot::after{animation-delay:.6s}.rstep:nth-child(3) .dot::after{animation-delay:1.2s}.rstep:nth-child(4) .dot::after{animation-delay:1.8s}
@keyframes pulse{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.35);opacity:0}}
.rstep h4{font:600 22px/1.1 var(--head);text-transform:uppercase;margin-bottom:6px}
.rstep .city{font:600 12px var(--mono);color:var(--acc);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.rstep p{color:var(--muted);font-size:14.5px}
@media(max-width:860px){.route{grid-template-columns:1fr;gap:28px}.route::before{top:0;bottom:0;left:33px;right:auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--acc) 0 10px,transparent 10px 18px)}.rstep{display:grid;grid-template-columns:68px 1fr;gap:18px;text-align:left;padding:0}.rstep .dot{margin:0}}
.req{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.req div{border:1px solid var(--line2);border-radius:18px;padding:22px;background:var(--panel)}
.req b{display:block;font:600 22px/1.15 var(--head);text-transform:uppercase;margin:10px 0 6px}
.req p{color:var(--muted);font-size:14.5px}
.req .n{font:600 12px var(--mono);color:var(--acc);letter-spacing:.14em}
@media(max-width:760px){.req{grid-template-columns:1fr}}

/* map */
.map-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;margin-top:40px;align-items:start}
.map{position:relative;background:var(--panel);border:1px solid var(--line2);border-radius:24px;overflow:hidden}
.map svg{width:100%;height:auto}
.map .city-dot{cursor:pointer}
.map .city-dot circle.core{transition:r .2s}
.map .city-dot:hover circle.core,.map .city-dot.on circle.core{r:9}
.map-cap{position:absolute;left:18px;bottom:14px;font:500 11px var(--mono);color:var(--dim);letter-spacing:.08em}
.units{display:grid;gap:10px}
.unit{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);cursor:pointer;transition:.2s}
.unit:hover,.unit.on{border-color:var(--acc);background:var(--panel2)}
.unit .no{font:600 26px/1 var(--head);color:var(--acc)}
.unit .nm{font-weight:800;font-size:15px;line-height:1.25}
.unit .pl{font-size:13px;color:var(--muted)}
.unit .tp{font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line2);padding:6px 8px;border-radius:8px;white-space:nowrap}
.unit.sp{border-color:rgba(242,182,50,.5)}
.unit.sp .tp{color:var(--acc);border-color:var(--acc)}
@media(max-width:960px){.map-wrap{grid-template-columns:1fr}}
@media(max-width:480px){.unit{grid-template-columns:48px 1fr}.unit .tp{grid-column:2;justify-self:start}}

/* roles */
.role-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:34px 0 26px}
.search{flex:1 1 260px;position:relative}
.search input{width:100%;padding:15px 18px 15px 46px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);color:var(--text);font:600 15px var(--body);outline:none;transition:border-color .2s}
.search input:focus{border-color:var(--acc)}
.search svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}
.cats{display:flex;flex-wrap:wrap;gap:8px}
.cats button{padding:10px 15px;border-radius:999px;border:1px solid var(--line2);font-weight:700;font-size:13px;color:var(--muted);transition:.2s}
.cats button.on{background:var(--text);color:var(--bg);border-color:var(--text)}
.roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.role{position:relative;padding:20px;border-radius:16px;border:1px solid var(--line);background:var(--panel);transition:transform .25s,border-color .25s,opacity .25s;display:flex;flex-direction:column;gap:10px;min-height:150px}
.role:hover{transform:translateY(-3px);border-color:var(--line2)}
.role .ct{font:600 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.role h4{font:600 21px/1.12 var(--head);text-transform:uppercase}
.role p{font-size:13.5px;color:var(--muted);line-height:1.45;flex:1}
.role .act{display:flex;justify-content:space-between;align-items:center;gap:8px}
.role .star{font:600 10.5px var(--mono);letter-spacing:.08em;color:var(--acc);text-transform:uppercase}
.role button.pick{font-size:13px;font-weight:800;color:var(--acc);padding:6px 0}
.role button.pick:hover{text-decoration:underline}
.role.sp{border-color:rgba(242,182,50,.45);background:linear-gradient(160deg,rgba(242,182,50,.08),var(--panel) 50%)}
.role.hide{display:none}
.empty{color:var(--muted);padding:30px 0;display:none}
.more{display:none;width:100%;margin-top:14px;padding:16px;border-radius:14px;border:1px dashed var(--line2);font-weight:800;color:var(--acc)}
@media(max-width:560px){
  .roles.collapsed .role:nth-child(n+7){display:none}
  .roles.collapsed + .empty + .more{display:block}
  .role{min-height:0;padding:16px}
  .step{padding:22px}.step h4{margin-top:22px}.step::before{font-size:56px}
  .ring{width:150px;height:150px}.ring svg{width:150px;height:150px}.ring b{font-size:40px}
  .meter{padding:22px}
  .ticks span:nth-child(2){display:none}
}
.count{font:600 13px var(--mono);color:var(--muted)}

/* steps */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.step{counter-increment:s;padding:28px;border-radius:20px;background:var(--panel);border:1px solid var(--line);position:relative;overflow:hidden}
.step::before{content:"0" counter(s);font:600 76px/1 var(--head);color:transparent;-webkit-text-stroke:1px var(--line2);position:absolute;right:14px;top:8px}
.step h4{font:600 23px/1.1 var(--head);text-transform:uppercase;margin:44px 0 10px;position:relative}
.step p{color:var(--muted);font-size:15px;position:relative}
.step .t{font:600 11px var(--mono);letter-spacing:.12em;color:var(--acc);text-transform:uppercase}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}

/* checklist */
.check-wrap{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}
.checks{display:grid;gap:10px}
.ck{display:flex;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);cursor:pointer;user-select:none;transition:.2s}
.ck input{display:none}
.ck .box{flex:none;width:24px;height:24px;border-radius:7px;border:1.5px solid var(--line2);display:grid;place-items:center;transition:.2s}
.ck .box svg{width:14px;height:14px;opacity:0;transform:scale(.5);transition:.2s;color:#140d00}
.ck input:checked + .box{background:var(--acc);border-color:var(--acc)}
.ck input:checked + .box svg{opacity:1;transform:none}
.ck span.t{font-weight:700;font-size:15px;line-height:1.35}
.ck span.t small{display:block;color:var(--muted);font-weight:500;font-size:13px}
.meter{position:sticky;top:96px;padding:30px;border-radius:24px;background:var(--panel);border:1px solid var(--line2);text-align:center}
.ring{width:200px;height:200px;margin:10px auto 18px;position:relative}
.ring svg{transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:12}
.ring .bgc{stroke:var(--panel2)}
.ring .fgc{stroke:url(#rg);stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.3,.9,.3,1)}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font:600 54px var(--head)}
.meter h4{font:600 24px/1.15 var(--head);text-transform:uppercase;margin-bottom:8px}
.meter p{color:var(--muted);font-size:15px;margin-bottom:20px}
@media(max-width:860px){.check-wrap{grid-template-columns:1fr}.meter{position:static}}

/* faq */
.faq{margin-top:40px;border-top:1px solid var(--line2)}
.qa{border-bottom:1px solid var(--line2)}
.qa button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;padding:24px 0;font:600 clamp(18px,2vw,22px)/1.25 var(--head);text-transform:uppercase}
.qa button i{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--line2);position:relative;transition:.3s}
.qa button i::before,.qa button i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--text);transform:translate(-50%,-50%);transition:.3s}
.qa button i::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa.open button i{background:var(--acc);border-color:var(--acc)}
.qa.open button i::before,.qa.open button i::after{background:#140d00}
.qa.open button i::after{transform:translate(-50%,-50%) rotate(0)}
.qa .ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s}
.qa.open .ans{grid-template-rows:1fr}
.qa .ans > div{overflow:hidden}
.qa .ans p{color:var(--muted);padding-bottom:24px;max-width:820px}

/* form */
.apply{background:linear-gradient(180deg,var(--bg),#0f140f)}
.form-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;margin-top:40px}
.form-side .big{font:600 clamp(40px,5vw,64px)/1 var(--head);color:var(--acc);margin:16px 0 6px}
.form-side p{color:var(--muted)}
.form-side ul{list-style:none;margin-top:26px;display:grid;gap:12px}
.form-side li{display:flex;gap:12px;font-size:15px}
.form-side li::before{content:"→";color:var(--acc);font-weight:800}
.quiz{background:var(--panel);border:1px solid var(--line2);border-radius:26px;padding:30px;position:relative;overflow:hidden}
.qbar{height:4px;background:var(--panel2);border-radius:9px;overflow:hidden;margin-bottom:10px}
.qbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--acc2));transition:width .4s}
.qmeta{display:flex;justify-content:space-between;font:500 12px var(--mono);color:var(--muted);margin-bottom:26px}
.qs{display:none;animation:qin .4s ease}
.qs.on{display:block}
@keyframes qin{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.qs h4{font:600 clamp(24px,3vw,32px)/1.1 var(--head);text-transform:uppercase;margin-bottom:8px}
.qs .hint{color:var(--muted);font-size:14px;margin-bottom:22px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opts.one{grid-template-columns:1fr}
.opt{padding:17px 18px;border-radius:14px;border:1px solid var(--line2);text-align:left;font-weight:700;font-size:15px;line-height:1.3;transition:.2s;background:var(--bg2)}
.opt small{display:block;color:var(--muted);font-weight:500;font-size:12.5px;margin-top:4px}
.opt:hover{border-color:var(--text)}
.opt.on{border-color:var(--acc);background:rgba(242,182,50,.1)}
.field{display:grid;gap:8px;margin-bottom:16px}
.field label{font-weight:700;font-size:14px}
.field input,.field select{width:100%;padding:16px 18px;border-radius:14px;border:1px solid var(--line2);background:var(--bg2);color:var(--text);font:600 16px var(--body);outline:none;transition:border-color .2s}
.field input:focus,.field select:focus{border-color:var(--acc)}
.field.err input{border-color:#ff5a4a}
.agree{display:flex;gap:10px;font-size:13px;color:var(--muted);align-items:flex-start;margin:8px 0 20px;cursor:pointer}
.agree input{margin-top:3px;accent-color:var(--acc);width:16px;height:16px;flex:none}
.qnav{display:flex;justify-content:space-between;gap:12px;margin-top:26px}
.qnav .btn{padding:15px 24px}
.qnav .btn[disabled]{opacity:.35;pointer-events:none}
.result{border:1px solid var(--acc);border-radius:16px;padding:18px;margin-bottom:20px;background:rgba(242,182,50,.07)}
.result b{font:600 20px var(--head);text-transform:uppercase;color:var(--acc)}
.result p{font-size:14px;color:var(--muted);margin-top:4px}
.done{text-align:center;padding:30px 0}
.done .ok{width:84px;height:84px;margin:0 auto 20px;border-radius:50%;background:rgba(127,211,107,.12);display:grid;place-items:center;color:var(--ok)}
.done h4{font:600 30px var(--head);text-transform:uppercase;margin-bottom:8px}
.done p{color:var(--muted)}
.done .reqno{font:600 13px var(--mono);color:var(--dim);margin-top:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.qerr{color:#ff7a6a;font-size:14px;font-weight:600;min-height:0}
.qerr:empty{display:none}
.agree a{color:var(--acc)}
.field input[type=number]{-moz-appearance:textfield}
.field input::-webkit-outer-spin-button,.field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:900px){.form-shell{grid-template-columns:1fr}}
@media(max-width:520px){.opts{grid-template-columns:1fr}.quiz{padding:22px}#qVia,[data-q=age] .opts,[data-q=record] .opts{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.logo{font-size:15px;white-space:nowrap}.logo i{width:30px;height:30px}.hdr .btn{padding:10px 14px;font-size:13px}}

/* final + footer */
.final{text-align:center;overflow:hidden}
.final h2{font-size:clamp(40px,8vw,120px)}
.final .lead{margin:0 auto 34px}
.final .outline{color:transparent;-webkit-text-stroke:1.5px var(--text)}
footer{border-top:1px solid var(--line);padding:40px 0 110px;color:var(--dim);font-size:13px}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}
.foot a{color:var(--muted)}
.mcta{position:fixed;left:12px;right:12px;bottom:12px;z-index:80;display:none;transform:translateY(140%);transition:transform .35s}
.mcta.show{transform:none}
.mcta .btn{width:100%}
@media(max-width:760px){.mcta{display:block}}

/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}

.hero-trust{display:inline-block;margin:-26px 0 34px;color:var(--acc);font-weight:700;font-size:14px;text-decoration:none;border-bottom:1px solid rgba(242,182,50,.35)}
.hero-trust:hover{border-color:var(--acc)}

.dirs{display:grid;grid-template-columns:auto repeat(3,1fr);gap:12px;align-items:stretch;margin-top:26px}
.dirs-t{align-self:center;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-right:8px}
.dirs a{display:block;padding:16px 18px;border:1px solid var(--line2);border-radius:14px;text-decoration:none;background:var(--panel);transition:border-color .2s,transform .2s}
.dirs a:hover{border-color:var(--acc);transform:translateY(-2px)}
.dirs b{display:block;font:600 18px/1.1 var(--head);text-transform:uppercase}
.dirs span{display:block;margin-top:6px;font-size:13px;color:var(--muted)}
@media(max-width:860px){.dirs{grid-template-columns:1fr}.dirs-t{padding:0}}
