:root{--ink:#090a16;--soft:#111329;--line:rgba(225,232,255,.12);--text:#f4f3ff;--muted:#a9abc9;--v:#9e8cff;--vs:#765cf6;--c:#6fe7ff;--r:#ef96d6;--g:#7ee6b1;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:auto;background:var(--ink)}html.lock{overflow:hidden}
body{font:400 17px/1.65 'DM Sans',-apple-system,'Segoe UI',sans-serif;color:var(--text);background:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
#gl{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block}
.nogl #gl{display:none}.nogl body::before{content:"";position:fixed;inset:-20%;z-index:0;background:radial-gradient(40% 40% at 25% 30%,rgba(118,92,246,.45),transparent),radial-gradient(35% 35% at 75% 60%,rgba(111,231,255,.28),transparent),radial-gradient(30% 30% at 55% 85%,rgba(239,150,214,.25),transparent);animation:drift 22s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(4%,3%,0) scale(1.08)}}
main,.hud,.rail{position:relative;z-index:2}
.js.lock main,.js.lock .hud,.js.lock .rail,.js.lock footer{visibility:hidden}
/* splash */
#splash{position:fixed;inset:0;z-index:50;display:none;place-items:center;text-align:center;background:radial-gradient(60% 50% at 50% 40%,rgba(118,92,246,.22),rgba(9,10,22,.94));transition:opacity .9s var(--ease),visibility .9s,transform .9s var(--ease)}
.js #splash{display:grid}#splash.gone{opacity:0;visibility:hidden;transform:scale(1.06)}
.sp{display:grid;gap:18px;justify-items:center;padding:24px;max-width:420px}
.ring{position:relative;width:132px;height:132px}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:3}.ring .bg{stroke:var(--line)}.ring .fg{stroke:url(#rg);stroke-linecap:round;stroke-dasharray:352;stroke-dashoffset:352;transition:stroke-dashoffset .5s var(--ease);filter:drop-shadow(0 0 8px rgba(158,140,255,.7))}
.ring img{position:absolute;inset:34px;width:64px;height:64px;border-radius:18px;animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.08);filter:drop-shadow(0 0 16px rgba(111,231,255,.7))}}
#st{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);min-height:20px}
#tier{font-size:12px;color:var(--c);opacity:.85}
.go{display:none;gap:10px;flex-wrap:wrap;justify-content:center}.go.on{display:flex;animation:up .7s var(--ease) both}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:999px;border:1px solid var(--line);background:rgba(20,22,48,.7);backdrop-filter:blur(10px);font-weight:600;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.btn:hover{transform:translateY(-2px);border-color:rgba(158,140,255,.6);box-shadow:0 10px 40px -10px rgba(118,92,246,.8)}
.btn.p{background:linear-gradient(135deg,var(--vs),#4f7dff);border-color:transparent}
@keyframes up{from{opacity:0;transform:translateY(14px)}}
/* hud */
.hud{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:calc(14px + env(safe-area-inset-top)) 20px 14px;background:linear-gradient(rgba(9,10,22,.7),transparent);pointer-events:none}
.hud>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;font:800 17px Manrope,sans-serif;letter-spacing:-.03em}.brand img{width:28px;height:28px;border-radius:8px}
#hl{font-size:12px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
.hr{display:flex;gap:8px;align-items:center}.ib{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:rgba(20,22,48,.6);backdrop-filter:blur(8px);display:grid;place-items:center;font-size:16px}
.ib[aria-pressed=true]{border-color:var(--c);box-shadow:0 0 18px -4px var(--c)}.sk{font-size:13px;padding:9px 16px}
.rail{position:fixed;right:14px;top:50%;transform:translateY(-50%);display:grid;gap:12px}
.rail button{width:10px;height:10px;border-radius:50%;background:rgba(225,232,255,.22);transition:.4s var(--ease)}.rail button.on{background:var(--c);box-shadow:0 0 12px var(--c);transform:scale(1.5)}
/* chapters */
.ch{min-height:100svh;display:grid;align-content:center;padding:110px max(22px,6vw) 90px}.wrap{width:min(1100px,100%);margin:auto}
.k{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--c);margin-bottom:14px}
h1,h2{font:800 clamp(2.3rem,7vw,5.4rem)/1.02 Manrope,sans-serif;letter-spacing:-.05em;margin-bottom:22px;color:#fff;filter:drop-shadow(0 0 22px rgba(158,140,255,.45))}.w:last-child i{color:var(--c)}
h2{font-size:clamp(2rem,5.2vw,3.9rem)}.lead{color:var(--muted);max-width:640px;font-size:clamp(1rem,2vw,1.2rem)}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em}.w i{display:inline-block;font-style:normal;transform:translateY(110%);transition:transform 1s var(--ease);transition-delay:calc(var(--i)*55ms)}.in .w i{transform:none}
.sh{display:flex;gap:8px;align-items:center;margin-top:44px;color:var(--muted);font-size:13px;letter-spacing:.14em;text-transform:uppercase}.sh i{width:1px;height:38px;background:linear-gradient(var(--c),transparent);animation:sc 1.8s ease-in-out infinite}
@keyframes sc{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
[data-r]{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0)*90ms)}.in [data-r],[data-r].in{opacity:1;transform:none}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:38px}
.card{position:relative;padding:24px;border-radius:22px;border:1px solid var(--line);background:rgba(18,20,43,.55);backdrop-filter:blur(14px);overflow:hidden;transition:transform .5s var(--ease),border-color .4s}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--x,50%) var(--y,0%),rgba(158,140,255,.22),transparent 60%);opacity:0;transition:opacity .4s}
.card:hover{transform:translateY(-4px);border-color:rgba(158,140,255,.4)}.card:hover::before{opacity:1}
.card b{display:block;font:700 18px Manrope,sans-serif;margin:8px 0 6px}.card p{color:var(--muted);font-size:15px;line-height:1.55}.ic{font-size:26px;filter:drop-shadow(0 0 10px rgba(111,231,255,.5))}
.lite .card,.lite .btn,.lite .ib{backdrop-filter:none}
.num{font:800 clamp(2rem,5vw,3.2rem) Manrope,sans-serif;color:var(--c);letter-spacing:-.04em}
/* timeline */
.tl{position:relative;margin-top:40px;padding-left:34px;display:grid;gap:26px;--tl:0}
.tl::before,.tl::after{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--line)}
.tl::after{background:linear-gradient(var(--v),var(--c));transform-origin:top;transform:scaleY(var(--tl));box-shadow:0 0 12px var(--c)}
.tl div{position:relative}.tl div::before{content:"";position:absolute;left:-34px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--ink);border:2px solid var(--v)}
.tl small{color:var(--c);letter-spacing:.14em;text-transform:uppercase;font-size:12px}.tl b{display:block;font:700 19px Manrope,sans-serif}.tl p{color:var(--muted);font-size:15px}
/* infra */
.dia{margin-top:34px;width:100%;max-width:900px}.dia text{fill:var(--text);font:600 13px 'DM Sans',sans-serif;text-anchor:middle}.dia .n{fill:rgba(18,20,43,.85);stroke:var(--v);stroke-width:1.5}
.dia .l{stroke:url(#lg);stroke-width:2;fill:none;stroke-dasharray:6 8;animation:dash 1.4s linear infinite}@keyframes dash{to{stroke-dashoffset:-28}}
.dia circle.p{fill:var(--c);filter:drop-shadow(0 0 6px var(--c))}
/* phone */
.fin{display:grid;gap:48px;grid-template-columns:1.1fr .9fr;align-items:center}
.phone{width:min(340px,100%);margin:auto;border-radius:34px;border:1px solid rgba(225,232,255,.2);background:rgba(12,13,30,.85);box-shadow:0 40px 120px -30px rgba(118,92,246,.7),inset 0 0 0 6px rgba(255,255,255,.03);padding:16px;backdrop-filter:blur(16px)}
.ph-h{display:flex;justify-content:space-between;padding:6px 8px 14px;border-bottom:1px solid var(--line);font-size:14px}.ph-h span{color:var(--g);font-size:12px}.ph-h i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--g);margin-right:6px;box-shadow:0 0 8px var(--g)}
.ph-b{display:grid;gap:10px;padding:16px 4px 6px;min-height:330px;align-content:start}
.m{max-width:82%;padding:9px 13px;border-radius:16px;font-size:14px;line-height:1.4;opacity:0;transform:translateY(10px) scale(.96);transition:.55s var(--ease)}.m.show{opacity:1;transform:none}
.m.o{background:rgba(255,255,255,.07);border-bottom-left-radius:5px}.m.s{justify-self:end;background:linear-gradient(135deg,var(--vs),#4f7dff);border-bottom-right-radius:5px}
.m em{display:inline-block;margin-left:8px;font-style:normal;font-size:12px;background:rgba(0,0,0,.28);padding:1px 7px;border-radius:99px}
.m.t{background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.2);color:rgba(203,213,225,.75);font-size:13px}.m.t small{color:var(--v)}
.m.ty{display:flex;gap:4px;padding:12px 14px;width:58px}.m.ty u{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:b 1s infinite}.m.ty u:nth-child(2){animation-delay:.15s}.m.ty u:nth-child(3){animation-delay:.3s}@keyframes b{50%{transform:translateY(-4px);opacity:.5}}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
footer{position:relative;z-index:2;text-align:center;padding:40px 20px 50px;color:var(--muted);font-size:14px}footer a{margin:0 10px;text-decoration:underline;text-underline-offset:4px}
.noscript{display:none}
@media(max-width:820px){.fin{grid-template-columns:1fr}.rail{display:none}#hl{display:none}.ch{padding-top:96px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.w i{transform:none}[data-r]{opacity:1;transform:none}}
html:not(.js) .w i,html:not(.js) [data-r]{transform:none;opacity:1}html:not(.js) .m{opacity:1;transform:none}
