@font-face{font-family:Sora;src:url(fonts/sora.woff2) format("woff2");font-weight:100 800;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--v:var(--v);--v2:var(--v);--m:var(--m);--grad:linear-gradient(135deg,var(--v),var(--m));--bg:#FAFAFE;--bg2:#F1EFFB;--card:#fff;--tx:#0B0B0B;--mu:#5D5A78;--bd:#E4E1F3;--sh:0 10px 40px -12px rgba(40,20,120,.18)}
[data-theme=dark]{--bg:#0E0C1F;--bg2:#141129;--card:#1A1733;--tx:#F4F2FF;--mu:#A7A3C6;--bd:#2B2750;--sh:0 10px 40px -12px rgba(0,0,0,.6)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--tx);line-height:1.6;overflow-x:hidden;transition:background .3s,color .3s}
h1,h2,h3,.brand,.btn,.kick,.num,.n{font-family:Sora,sans-serif}a{color:inherit;text-decoration:none}
.wrap{width:min(1200px,92%);margin:auto}.narrow{width:min(820px,92%)}
#loader{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-items:center;transition:opacity .5s,visibility .5s}#loader.done{opacity:0;visibility:hidden}
.ld{display:flex;flex-direction:column;align-items:center;gap:14px}.ldlogo{width:84px}.hx{stroke-dasharray:170;stroke-dashoffset:170;animation:draw 1s ease forwards}.cr{transform-origin:32px 32px;transform:scale(0);animation:pop .5s .7s cubic-bezier(.3,1.6,.5,1) forwards}
.ldw{font:700 28px Sora;letter-spacing:-1px;opacity:0;animation:fade .5s .9s forwards}.ldw span,.brand b{color:var(--v)}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{to{transform:scale(1)}}@keyframes fade{to{opacity:1}}
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--grad);z-index:60}
header{position:sticky;top:0;z-index:50;transition:.3s}header.sc{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--bd)}
.navin{display:flex;align-items:center;justify-content:space-between;height:72px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:22px;letter-spacing:-.8px}.brand img{width:34px}
#menu{display:flex;gap:28px}#menu a{font-size:15px;color:var(--mu);font-weight:500;transition:.2s}#menu a:hover,#menu a.act{color:var(--tx)}
.navr{display:flex;gap:10px;align-items:center}#theme,#burger{width:42px;height:42px;border-radius:12px;border:1px solid var(--bd);background:var(--card);color:var(--tx);cursor:pointer;display:grid;place-items:center}
#theme svg{width:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}#theme .moon{display:none}[data-theme=dark] #theme .sun{display:none}[data-theme=dark] #theme .moon{display:block}
#burger{display:none;gap:4px;align-content:center}#burger i{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:.3s}
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 24px;border-radius:14px;background:var(--grad);color:#fff;font-weight:600;font-size:15px;border:0;cursor:pointer;box-shadow:0 10px 30px -10px rgba(var(--vr),.7);transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(var(--vr),.8)}
.btn.sm{padding:10px 16px;font-size:14px}.btn.ghost{background:transparent;color:var(--tx);border:1px solid var(--bd);box-shadow:none}.btn.full{width:100%;justify-content:center}
.hero{position:relative;padding:70px 0 100px;overflow:hidden}.glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.35;pointer-events:none}.g1{width:520px;height:520px;background:var(--v);top:-180px;right:-100px}.g2{width:420px;height:420px;background:var(--m);bottom:-200px;left:-140px;opacity:.22}
.heroin{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;position:relative}
.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:99px;background:color-mix(in srgb,var(--m) 14%,transparent);color:color-mix(in srgb,var(--m) 70%,var(--tx));font-weight:600;font-size:14px}.pill i{width:8px;height:8px;border-radius:50%;background:var(--m);box-shadow:0 0 0 4px color-mix(in srgb,var(--m) 30%,transparent);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px transparent}}
h1{font-size:clamp(38px,5.4vw,66px);line-height:1.05;letter-spacing:-2.5px;margin:20px 0}h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:clamp(17px,1.4vw,19px);color:var(--mu)}.lead b{color:var(--tx)}.ctas{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 24px}
.ticks{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--mu);font-size:14px}.ticks li:before{content:"✓";color:var(--m);font-weight:800;margin-right:7px}.ticks.v{flex-direction:column;margin-top:24px;font-size:16px}
.hviz{position:relative}.app{background:var(--card);border:1px solid var(--bd);border-radius:20px;box-shadow:var(--sh),0 40px 80px -30px rgba(var(--vr),.4);overflow:hidden;transform:perspective(1400px) rotateY(-8deg) rotateX(4deg);animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:perspective(1400px) rotateY(-8deg) rotateX(4deg) translateY(-10px)}}
.abar{display:flex;gap:6px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--bd)}.abar i{width:10px;height:10px;border-radius:50%;background:var(--bd)}.abar span{margin-left:12px;font-size:12px;color:var(--mu);background:var(--bg2);padding:3px 12px;border-radius:8px}
.abody{display:flex;min-height:330px}aside{width:58px;background:var(--bg2);display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px 0}.alogo{width:28px;height:28px;border-radius:8px;background:var(--grad)}aside s{width:24px;height:6px;border-radius:4px;background:var(--bd)}aside s.on{background:var(--v)}
.amain{flex:1;padding:18px;display:flex;flex-direction:column;gap:14px}.ahead{display:flex;justify-content:space-between;align-items:center}.ahead small{display:block;color:var(--mu);font-size:12px}.ahead strong{font-family:Sora;font-size:18px}
.aibtn{font-size:12px;font-weight:600;padding:7px 12px;border-radius:10px;background:var(--grad);color:#fff}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kpis div{background:var(--bg2);border-radius:12px;padding:10px 12px}.kpis small{font-size:11px;color:var(--mu);display:block}.kpis b{font-family:Sora;font-size:22px}
.chart{height:90px;background:var(--bg2);border-radius:12px;overflow:hidden}.chart svg{width:100%;height:100%}.line{stroke-dasharray:400;stroke-dashoffset:400;animation:draw 2s 1.8s ease forwards}
.rows{display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:10px;font-size:13px;padding:9px 12px;border:1px solid var(--bd);border-radius:10px;opacity:0;animation:slide .5s forwards}.row:nth-child(1){animation-delay:2s}.row:nth-child(2){animation-delay:2.3s}.row:nth-child(3){animation-delay:2.6s}
@keyframes slide{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.row i{width:9px;height:9px;border-radius:50%;background:var(--bd)}.row i.ok{background:var(--m)}.row i.wip{background:var(--v);animation:pulse 1.5s infinite}.row span{flex:1}.row em{font-style:normal;color:var(--mu);font-size:12px}
.float{position:absolute;padding:10px 16px;border-radius:14px;background:var(--card);border:1px solid var(--bd);box-shadow:var(--sh);font-weight:600;font-size:14px;animation:float2 5s ease-in-out infinite}.f1{top:-18px;left:-24px}.f2{bottom:-20px;right:10px;animation-delay:-2.5s}
@keyframes float2{50%{transform:translateY(-12px)}}
.sec{padding:110px 0}.sec.alt{background:var(--bg2)}.shead{text-align:center;max-width:720px;margin:0 auto 56px}.shead p{color:var(--mu);font-size:18px;margin-top:14px}
.kick{display:inline-block;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--v);margin-bottom:12px}
h2{font-size:clamp(30px,3.6vw,46px);line-height:1.12;letter-spacing:-1.5px}h3{font-size:19px;letter-spacing:-.4px;margin-bottom:8px}
.grid{display:grid;gap:22px}.g3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid var(--bd);border-radius:20px;padding:28px;transition:transform .3s,box-shadow .3s,border-color .3s}.card:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:color-mix(in srgb,var(--v) 40%,var(--bd))}.card p{color:var(--mu)}
.ic{font-size:28px;display:block;margin-bottom:14px}.ic2{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--v) 13%,transparent);margin-bottom:18px}.ic2 svg{width:24px;fill:none;stroke:var(--v);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.svc .big{grid-row:span 2;background:var(--grad);color:#fff;border:0;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px}.svc .big p{color:rgba(255,255,255,.88)}.svc .big .ic2{background:rgba(255,255,255,.2)}.svc .big svg{stroke:#fff}.svc .big h3{font-size:26px}
.card.hl{border-color:var(--m);box-shadow:0 0 0 3px color-mix(in srgb,var(--m) 20%,transparent)}.card.hl b{color:var(--m)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}.steps:before{content:"";position:absolute;top:30px;left:6%;right:6%;height:2px;background:linear-gradient(90deg,var(--v),var(--m));opacity:.4}
.steps li{position:relative;background:var(--card);border:1px solid var(--bd);border-radius:20px;padding:26px}.steps p{color:var(--mu);font-size:15px}.n{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--grad);color:#fff;font-weight:700;margin-bottom:16px}
.tag{position:absolute;top:22px;right:20px;font-style:normal;font-size:12px;font-weight:700;color:var(--m);background:color-mix(in srgb,var(--m) 14%,transparent);padding:4px 10px;border-radius:99px}
.cband{margin-top:46px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:34px 40px;border-radius:24px;background:#0B0B0B;color:#fff;background-image:radial-gradient(circle at 90% 0,rgba(var(--vr),.5),transparent 50%),radial-gradient(circle at 0 100%,rgba(var(--mr),.3),transparent 45%)}.cband p{opacity:.75}.cband h3{font-size:24px}
.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:-26px 0 36px}.filters button{padding:9px 18px;border-radius:99px;border:1px solid var(--bd);background:var(--card);color:var(--mu);font:500 14px Inter;cursor:pointer}.filters button.on{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.work{background:var(--card);border:1px solid var(--bd);border-radius:20px;overflow:hidden;transition:transform .3s,box-shadow .3s}.work:hover{transform:translateY(-5px);box-shadow:var(--sh)}.work.hid{display:none}
.wb{padding:22px 24px 26px}.wb p{color:var(--mu);font-size:15px}.wt{font-size:12px;font-weight:600;color:var(--v);text-transform:uppercase;letter-spacing:1px}.wb h3{margin-top:6px}.lnk{display:inline-block;margin-top:12px;font-weight:600;color:var(--v)}
.pv{height:190px;position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--v) 18%,var(--bg2)),color-mix(in srgb,var(--m) 14%,var(--bg2)));display:flex;align-items:center;justify-content:center;gap:14px}
.court{width:78%;height:72%;border:2px solid rgba(255,255,255,.8);border-radius:10px;background:#E07A3A;position:relative}.cc{position:absolute;left:50%;top:50%;width:40px;height:40px;border:2px solid rgba(255,255,255,.8);border-radius:50%;transform:translate(-50%,-50%)}.court:after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:2px solid rgba(255,255,255,.8)}
.p{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid #fff}.p.a{left:16%;top:66%;background:#3B5BDB}.p.b{left:62%;top:42%;background:#3B5BDB}.p.c{left:72%;top:16%;background:#E03131}.p.d{left:76%;top:72%;background:#E03131}.court svg{position:absolute;inset:0;width:100%;height:100%}.arw{fill:none;stroke:#fff;stroke-width:2.5;stroke-dasharray:6 5;animation:dash 3s linear infinite}@keyframes dash{to{stroke-dashoffset:-44}}
.gw{width:80%;display:flex;flex-direction:column;gap:10px}.drop{border:2px dashed var(--v);border-radius:12px;padding:12px;text-align:center;font-weight:600;color:var(--v);background:var(--card)}.flow{display:flex;gap:6px}.flow span{flex:1;font-size:11px;font-weight:600;text-align:center;padding:6px 4px;border-radius:8px;background:var(--card)}.flow span:last-child{background:var(--m);color:#fff}.lines{display:flex;flex-direction:column;gap:5px}.lines i{height:7px;border-radius:4px;background:var(--card)}.lines i:nth-child(2){width:70%}.lines i:nth-child(3){width:45%}
.map{width:42%;height:70%;border-radius:12px;background:var(--card);position:relative;background-image:radial-gradient(var(--bd) 1px,transparent 1px);background-size:10px 10px}.map i{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--v);box-shadow:0 0 0 5px color-mix(in srgb,var(--v) 25%,transparent)}
.tree{display:flex;flex-direction:column;align-items:center;gap:12px}.tree b{display:block;width:24px;height:24px;border-radius:8px;background:var(--grad)}.tree span{display:flex;gap:14px}.tree span b{background:var(--card);border:2px solid var(--v)}.inv{position:absolute;bottom:14px;right:14px;font-size:11px;font-weight:600;padding:6px 10px;border-radius:8px;background:var(--card)}
.cab{width:44%;display:flex;flex-direction:column;gap:6px;background:color-mix(in srgb,var(--tx) 70%,var(--v));padding:8px;border-radius:10px}.dr{background:var(--card);border-radius:6px;padding:9px;font-size:12px;font-weight:600;display:flex;justify-content:center}.dr span{border-bottom:2px solid var(--bd)}.dr.on{transform:translateX(16px);box-shadow:0 0 0 3px var(--m)}.due{font-size:12px;font-weight:600;padding:8px 12px;border-radius:10px;background:var(--card);align-self:flex-end;margin-bottom:24px}
.cal{display:grid;grid-template-columns:repeat(7,26px);gap:5px;background:var(--card);padding:12px;border-radius:12px}.cal span{height:22px;border-radius:5px;background:var(--bg2)}.cal .r1{background:var(--v)}.cal .r2{background:var(--m)}.clean{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:600;background:var(--card);padding:6px 10px;border-radius:8px;white-space:nowrap}
.phone{width:120px;height:170px;border-radius:20px;border:4px solid var(--tx);background:var(--card);padding:12px 9px;display:flex;flex-direction:column;gap:6px;margin-top:30px}.phone b{font-family:Sora;font-size:12px}.phone i{font-style:normal;font-size:9.5px;padding:5px 6px;border-radius:6px;background:var(--bg2)}.phone i.on{background:var(--v);color:#fff}.phone span{margin-top:auto;font-size:10px;text-align:center;font-weight:700;background:var(--grad);color:#fff;border-radius:6px;padding:4px}
.chk{background:var(--card);border-radius:12px;padding:14px 16px;width:62%;display:flex;flex-direction:column;gap:7px}.chk b{font-family:Sora;font-size:14px}.chk i{font-style:normal;font-size:12.5px;display:flex;gap:8px;align-items:center}.chk i:before{content:"";width:14px;height:14px;border-radius:4px;border:2px solid var(--bd)}.chk i.ok:before{background:var(--m);border-color:var(--m)}
.doc{width:62px;height:80px;background:var(--card);border-radius:8px;padding:10px 8px;display:flex;flex-direction:column;gap:6px}.doc i{height:5px;border-radius:3px;background:var(--bd)}.arr{font-size:26px;color:var(--v);font-weight:700}.led{background:var(--card);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:5px}.led i{font:500 11px ui-monospace,monospace;font-style:normal;padding:3px 6px;border-radius:5px;background:var(--bg2)}
.bars{display:flex;align-items:flex-end;gap:10px;height:110px;background:var(--card);padding:12px 16px;border-radius:12px}.bars i{width:18px;border-radius:5px 5px 0 0;background:var(--grad)}.tagp{position:absolute;top:16px;right:16px;font-size:12px;font-weight:700;color:#fff;background:var(--m);padding:5px 10px;border-radius:99px}
.pv-site{flex-direction:column;gap:0}.br{width:76%;display:flex;gap:4px;background:var(--card);padding:6px 8px;border-radius:10px 10px 0 0;border-bottom:1px solid var(--bd)}.br i{width:7px;height:7px;border-radius:50%;background:var(--bd)}.hb{width:76%;height:105px;background:var(--card);border-radius:0 0 10px 10px;padding:14px;display:flex;flex-direction:column;gap:6px}.hb b{width:50%;height:12px;border-radius:4px;background:var(--tx)}.hb s{width:80%;height:6px;border-radius:4px;background:var(--bd)}.hb span{width:60px;height:18px;border-radius:6px;background:var(--grad);margin-top:auto}.edit{position:absolute;right:20px;top:24px;font-size:11px;font-weight:600;background:var(--v);color:#fff;padding:5px 10px;border-radius:8px}
.why .card{position:relative;overflow:hidden}.num{font-size:44px;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9;display:block;margin-bottom:6px}
.qui{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.qui p{color:var(--mu);margin-top:16px}.qui h2{margin-bottom:6px}.qui .lead{color:var(--tx)}
.avatar{position:relative}.ph{aspect-ratio:4/5;border-radius:28px;background:var(--grad);display:grid;place-items:center;box-shadow:var(--sh);position:relative;overflow:hidden}.ph:before{content:"";position:absolute;width:60%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.18);top:18%}.ph:after{content:"";position:absolute;width:95%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.18);bottom:-58%}.ph span{position:relative;font:800 64px Sora;color:#fff;margin-top:-30%}
.badge{position:absolute;bottom:24px;left:-16px;background:var(--card);border:1px solid var(--bd);padding:12px 18px;border-radius:14px;font-weight:600;box-shadow:var(--sh)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 6px}.chips span{padding:7px 14px;border-radius:99px;border:1px solid var(--bd);background:var(--card);font-size:14px;font-weight:500}
.faq{display:flex;flex-direction:column;gap:12px}details{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:0 24px}summary{list-style:none;cursor:pointer;padding:20px 30px 20px 0;font:600 17px Sora;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:0;top:16px;font-size:24px;color:var(--v);transition:.3s}details[open] summary:after{transform:rotate(45deg)}details p{color:var(--mu);padding-bottom:20px}
.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:start}.contact .lead{margin-top:16px}
form{display:flex;flex-direction:column;gap:16px;position:relative}form:hover{transform:none}.fr{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}label small{color:var(--mu);font-weight:400}
input,select,textarea{font:inherit;font-weight:400;padding:13px 14px;border-radius:12px;border:1px solid var(--bd);background:var(--bg);color:var(--tx);outline:none;transition:.2s;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--v);box-shadow:0 0 0 4px color-mix(in srgb,var(--v) 18%,transparent)}.inv-f{border-color:#E5484D!important}
.err{color:#E5484D;font-size:14px;min-height:1px}.fok{display:none;position:absolute;inset:0;background:var(--card);border-radius:20px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.fok.show{display:flex;animation:fade .4s}.fok span{width:64px;height:64px;border-radius:50%;background:var(--grad);color:#fff;font-size:30px;display:grid;place-items:center;margin-bottom:16px}
footer{border-top:1px solid var(--bd);padding:50px 0 90px}.fin{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}.fin p{color:var(--mu)}.fin nav{display:flex;gap:22px;flex-wrap:wrap}.fin nav a{color:var(--mu)}.fin nav a:hover{color:var(--v)}.copy{margin-top:26px;color:var(--mu);font-size:14px}
dialog{margin:auto;max-width:480px;width:90%;border:1px solid var(--bd);border-radius:20px;padding:28px;background:var(--card);color:var(--tx)}dialog p{color:var(--mu);margin:10px 0}dialog::backdrop{background:rgba(10,8,30,.6)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
@media (max-width:1000px){#menu{position:fixed;top:72px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);padding:10px 4%;border-bottom:1px solid var(--bd);transform:translateY(-130%);transition:.35s;z-index:-1}#menu.open{transform:none}#menu a{padding:14px 0;font-size:18px;border-bottom:1px solid var(--bd)}#burger{display:grid}
.open+.navr #burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}.open+.navr #burger i:nth-child(2){opacity:0}.open+.navr #burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.heroin,.qui,.contact{grid-template-columns:1fr}.g3{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.steps:before{display:none}.qui{gap:40px}.avatar{max-width:340px}}
@media (max-width:640px){.hide-m{display:none}.g3,.steps,.fr{grid-template-columns:1fr}.sec{padding:76px 0}.hero{padding:40px 0 80px}.app{transform:none;animation:none}.f1{left:-4px}.cband{flex-direction:column;align-items:flex-start;padding:28px}.svc .big{min-height:240px}.ctas .btn{width:100%;justify-content:center}.float{font-size:12px}.abody{min-height:280px}footer{padding-bottom:110px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.row{opacity:1}}
/* ================= V2 ================= */
:root{--glass:rgba(255,255,255,.55);--gb:rgba(255,255,255,.7)}
[data-theme=dark]{--glass:rgba(26,23,51,.5);--gb:rgba(255,255,255,.09)}
body{background:transparent}html{background:var(--bg)}
#bg{position:fixed;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none}
.grain{position:fixed;inset:-50%;z-index:-1;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1s steps(4) infinite}
@keyframes grain{25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-1%,3%)}}
.glass{background:var(--glass);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--gb)}
header.sc{background:var(--glass);backdrop-filter:blur(18px) saturate(1.5)}
.sec.alt{background:color-mix(in srgb,var(--bg2) 70%,transparent)}
.card,.steps li,details,.work{background:color-mix(in srgb,var(--card) 78%,transparent);backdrop-filter:blur(10px)}
/* loader toggle */
.ltog{width:96px;height:54px;border-radius:30px;background:var(--bd);position:relative;animation:lon .35s .5s forwards}.ltog i{position:absolute;left:6px;top:6px;width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.2);animation:lknob .45s .4s cubic-bezier(.5,1.6,.5,1) forwards}
@keyframes lon{to{background:linear-gradient(135deg,var(--v),var(--m))}}@keyframes lknob{to{left:48px}}.ldw{animation-delay:.8s}
.brand img{width:44px}
/* cursor */
#cur,#cur2{position:fixed;top:0;left:0;pointer-events:none;z-index:200;border-radius:50%;display:none}
@media (pointer:fine){#cur{display:block;width:8px;height:8px;background:var(--v);margin:-4px}#cur2{display:block;width:40px;height:40px;margin:-20px;border:1.5px solid color-mix(in srgb,var(--v) 60%,transparent);transition:width .25s,height .25s,margin .25s,background .25s}#cur2.big{width:74px;height:74px;margin:-37px;background:color-mix(in srgb,var(--v) 12%,transparent)}}
/* hero */
.hero{padding:60px 0 0;min-height:100vh;display:block;overflow:visible}.heroin{display:block;text-align:center}
.kinetic{font-size:clamp(46px,9.2vw,148px);line-height:.95;letter-spacing:-.055em;margin:26px 0 28px;font-weight:800}
.ln{display:block;overflow:hidden;padding:.04em 0}.w{display:inline-block;transform:translateY(110%) rotate(6deg);transition:transform 1s cubic-bezier(.16,1,.3,1)}.ready .w{transform:none}
.ln:nth-child(2) .w{transition-delay:.12s}.ln:nth-child(3) .w{transition-delay:.24s}
.grad,.gradt{background:linear-gradient(100deg,var(--v),var(--m),var(--v));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal;animation:sheen 6s linear infinite}@keyframes sheen{to{background-position:200% center}}
.rot{position:relative;vertical-align:top;text-align:left}.rw{display:inline-block;transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .5s}.rw:not(.on){position:absolute;left:0;top:0;opacity:0;transform:translateY(80%)}.rw.out{position:absolute;left:0;opacity:0;transform:translateY(-80%)}
.rot{display:inline-block;color:var(--v)}
.hl2{max-width:680px;margin:0 auto}.ctas{justify-content:center}
.stage{perspective:1600px;margin:60px auto 0;width:min(1000px,92%);position:relative}
.mock3d{transform-style:preserve-3d;transform:rotateX(calc(28deg * (1 - var(--p,0)))) scale(calc(.86 + .14 * var(--p,0)));transform-origin:50% 0;will-change:transform}
.mock3d .app{transform:none;animation:none;border-radius:22px;box-shadow:0 50px 120px -40px rgba(var(--vr),.55),0 0 0 1px var(--gb)}
.mock3d .abody{min-height:420px}.mock3d .row{opacity:1;animation:none}
.chip{position:absolute;padding:12px 18px;border-radius:16px;font-weight:600;font-size:15px;box-shadow:var(--sh);transform:translateZ(80px)}.c1{top:12%;left:-5%}.c2{bottom:14%;right:-4%}.c3{top:34%;right:-6%}
.mockcap{text-align:center;color:var(--mu);font-size:13px;margin-top:18px}
.scrollhint{display:block;width:26px;height:42px;border:2px solid var(--mu);border-radius:14px;margin:40px auto 0;position:relative;opacity:.6}.scrollhint span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--mu);animation:sh 1.6s infinite}@keyframes sh{to{transform:translateY(14px);opacity:0}}
/* marquee */
.marquee{overflow:hidden;padding:34px 0;margin-top:90px;border-block:1px solid var(--bd);transform:rotate(-2deg);background:color-mix(in srgb,var(--card) 60%,transparent);backdrop-filter:blur(8px)}
.mq{display:flex;gap:40px;width:max-content;animation:mq 30s linear infinite;align-items:center}.mq span{font:800 clamp(28px,4vw,56px) Sora;letter-spacing:-.04em;white-space:nowrap}.mq span:nth-child(4n+3){-webkit-text-stroke:1.5px var(--tx);color:transparent}.mq b{color:var(--m);font-size:30px}@keyframes mq{to{transform:translateX(-50%)}}
/* story */
.story{height:300vh;position:relative}.sstick{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:40px;width:min(1200px,92%);margin:auto}
.big2{font-size:clamp(36px,5.2vw,78px);letter-spacing:-.05em;line-height:1}
.s-a,.s-b{display:block;transition:opacity .4s}.s-b{opacity:calc(var(--sp,0)*2 - .6)}.s-a{opacity:calc(1.4 - var(--sp,0)*1.2)}.mu{color:var(--mu);font-size:18px;margin-top:20px}
.sviz{position:relative;height:440px}.cell{position:absolute;left:50%;top:50%;font:500 13px ui-monospace,monospace;font-style:normal;padding:8px 12px;border-radius:8px;background:#E9F7EE;color:#1E6B3A;border:1px solid #BFE5CC;white-space:nowrap;--a:calc(var(--i) * 137.5deg);
transform:translate(-50%,-50%) rotate(var(--a)) translateX(calc((1 - var(--sp,0)) * 170px + 10px)) rotate(calc(var(--a) * -1 + (var(--i) - 8) * 4deg * (1 - var(--sp,0)))) scale(calc(1 - var(--sp,0) * .7));opacity:calc(1 - var(--sp,0) * 1.6)}
.cell:nth-child(3n){background:#FFF4DB;color:#8A5A00;border-color:#F3DDA5}.cell:nth-child(4n){background:#FDE8E8;color:#9B1C1C;border-color:#F5C2C2}
.tidy{position:absolute;inset:40px 6%;border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:10px;opacity:calc(var(--sp,0) * 2.2 - 1);transform:scale(calc(.8 + var(--sp,0) * .2)) rotateX(calc((1 - var(--sp,0)) * 30deg));box-shadow:var(--sh)}
.tb{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.tb b{font:700 20px Sora}.tb span{font-size:13px;font-weight:600;padding:7px 12px;border-radius:10px;background:var(--grad);color:#fff}
.tr{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;background:var(--card);border:1px solid var(--bd);font-weight:500}.tr i{width:10px;height:10px;border-radius:50%;background:var(--bd)}.tr i.ok{background:var(--m)}.tr i.wip{background:var(--v)}.tr em{margin-left:auto;font-style:normal;font-size:13px;color:var(--mu)}
/* demo */
.demo{max-width:900px;margin:auto;border-radius:24px;padding:24px;box-shadow:var(--sh);transform-style:preserve-3d}
.dtop{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.dtabs{display:flex;gap:4px;background:var(--bg2);padding:4px;border-radius:12px}.dtabs button{border:0;background:none;color:var(--mu);font:600 14px Inter;padding:9px 16px;border-radius:9px;cursor:pointer}.dtabs button.on{background:var(--card);color:var(--tx);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.sw{flex-direction:row;align-items:center;gap:10px;cursor:pointer}.sw input{display:none}.sw span{width:44px;height:26px;border-radius:20px;background:var(--bd);position:relative;transition:.3s}.sw span:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.3s cubic-bezier(.5,1.6,.5,1)}.sw input:checked+span{background:var(--grad)}.sw input:checked+span:after{left:21px}
.dpane{display:none}.dpane.on{display:block;animation:fade .4s}.addf{display:flex;gap:10px;margin-bottom:14px}.addf input{flex:1}
#tasks{list-style:none;display:flex;flex-direction:column;gap:8px;min-height:200px}#tasks li{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:12px;background:var(--card);border:1px solid var(--bd);cursor:pointer;transition:.3s;animation:slide .4s}#tasks li i{width:20px;height:20px;border-radius:6px;border:2px solid var(--bd);flex:none;display:grid;place-items:center;font-style:normal;font-size:12px;color:#fff}#tasks li.done i{background:var(--m);border-color:var(--m)}#tasks li.done span{text-decoration:line-through;color:var(--mu)}#tasks li em{margin-left:auto;font-style:normal;font-size:12px;font-weight:600;padding:3px 9px;border-radius:99px;background:var(--bg2);color:var(--mu)}#tasks li em.h{background:color-mix(in srgb,#E5484D 15%,transparent);color:#E5484D}
.aihint{margin-top:12px;font-size:14px;color:var(--v);font-weight:600;opacity:0;transition:.3s}.aihint.on{opacity:1}
.week{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.day{background:var(--bg2);border-radius:12px;padding:10px;min-height:200px}.day b{font-size:13px;color:var(--mu);display:block;margin-bottom:8px}.ev{font-size:12px;font-weight:600;padding:7px 8px;border-radius:8px;color:#fff;margin-bottom:6px;background:var(--v)}.ev.m{background:var(--m)}
.dstats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.dstats div{background:var(--bg2);border-radius:12px;padding:14px}.dstats small{color:var(--mu);display:block}.dstats b{font:700 30px Sora}#live{width:100%;background:var(--bg2);border-radius:12px}
/* horizontal works */
.hsec{position:relative}.hpin{height:var(--hh,300vh)}.hstick{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:34px}
.hhead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.hhead .mu{margin:0;max-width:300px}
.track{display:flex;gap:24px;padding:0 4vw;width:max-content;will-change:transform;perspective:1200px}.track .work{width:min(380px,80vw);flex:none;transform-style:preserve-3d;transition:transform .2s,box-shadow .3s}.track .work:hover{box-shadow:0 30px 60px -20px rgba(var(--vr),.45)}
.endc{display:flex;align-items:center;background:var(--grad)!important;color:#fff;border:0}.endc p{color:#fffd!important}.endc .btn{background:#fff;color:#0B0B0B;margin-top:16px}
.hbar{width:min(1200px,92%);margin:0 auto;height:3px;background:var(--bd);border-radius:2px;overflow:hidden}.hbar i{display:block;height:100%;width:100%;background:var(--grad);transform-origin:0;transform:scaleX(0)}
/* facts */
.facts{padding:90px 0}.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.fgrid b{display:block;font:800 clamp(56px,7vw,110px) Sora;letter-spacing:-.05em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.fgrid span{color:var(--mu)}
.tilt{transition:transform .25s ease-out}
h2{font-size:clamp(34px,4.6vw,64px);letter-spacing:-.045em}
.mag{will-change:transform}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
@media (max-width:1000px){.sstick{grid-template-columns:1fr;align-content:center;gap:10px}.sviz{height:360px}.fgrid{grid-template-columns:1fr 1fr}.c1{left:0}.c2{right:0}}
@media (max-width:640px){.kinetic{font-size:clamp(42px,13vw,64px)}.mock3d .abody{min-height:300px}.chip{display:none}.c3{display:block;font-size:12px;top:-14px;right:4px}.story{height:240vh}.sviz{height:390px}.tr{padding:11px}.cell{font-size:10px;padding:5px 8px}.tidy{inset:10px 0}.week{grid-template-columns:repeat(5,minmax(80px,1fr));overflow-x:auto}
.hpin{height:auto!important}.hstick{position:static;height:auto;padding:80px 0}.track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;transform:none!important}.track .work{scroll-snap-align:center}.hbar{display:none}.hhead{flex-direction:column;align-items:flex-start}.marquee{margin-top:60px;padding:22px 0}.grain{display:none}}
@media (prefers-reduced-motion:reduce){.w{transform:none}.mq{animation:none}.story{height:auto}.sstick{position:static;height:auto;padding:80px 0;--sp:1}.hpin{height:auto!important}.hstick{position:static;height:auto;padding:80px 0}.track{width:auto;overflow-x:auto;transform:none!important}.grain{animation:none}.mock3d{--p:1!important}}
main{overflow-x:clip}

/* ============ V3 black + lime ============ */
:root{--v:#7DBE00;--vt:#4E7A00;--m:#0B0B0B;--vr:125,190,0;--mr:11,11,11;--L:#C6FF3D;--on:#fff;--grad:linear-gradient(135deg,#0B0B0B 0%,#1d2610 100%);--bg:#FAFAF6;--bg2:#F0F2EA;--card:#fff;--tx:#0B0B0B;--mu:#55594F;--bd:#E2E5DA;--sh:0 10px 40px -12px rgba(20,30,0,.18);--glass:rgba(255,255,255,.6);--gb:rgba(255,255,255,.75)}
[data-theme=dark]{--v:#C6FF3D;--vt:#C6FF3D;--m:#9EE01F;--vr:198,255,61;--mr:158,224,31;--on:#0B0B0B;--grad:linear-gradient(135deg,#C6FF3D 0%,#9EE01F 100%);--bg:#0B0B0B;--bg2:#111310;--card:#171916;--tx:#F4F4F4;--mu:#A3A79B;--bd:#262922;--sh:0 10px 40px -12px rgba(0,0,0,.7);--glass:rgba(23,25,22,.55);--gb:rgba(255,255,255,.08)}
.kick,.wt,.lnk,#menu a.act,.card.hl b,.tag,.aihint{color:var(--vt)}
.btn,.aibtn,.n,.tb span,.ev,.phone span,.edit,.tagp,.fok span,.alogo,.flow span:last-child,.phone i.on,.filters button.on{color:var(--on)}
.btn span{color:var(--L)}[data-theme=dark] .btn span{color:#0B0B0B}
.btn{box-shadow:0 10px 30px -10px rgba(var(--vr),.55)}.btn.ghost{color:var(--tx)}
.grad,.gradt{background:linear-gradient(100deg,#0B0B0B 0%,#7DBE00 45%,#0B0B0B 90%);background-size:200% auto;-webkit-background-clip:text;background-clip:text}
[data-theme=dark] .grad,[data-theme=dark] .gradt{background-image:linear-gradient(100deg,#C6FF3D 0%,#F4FFD6 45%,#C6FF3D 90%)}
h1 em{background:none;color:inherit}
.rot{color:var(--v)}html:not([data-theme=dark]) .rot{color:var(--vt)}
.ldw span,.brand b{color:var(--vt)}
.svc .big{color:var(--on)}.svc .big p{color:inherit;opacity:.85}.svc .big svg{stroke:var(--L)}[data-theme=dark] .svc .big svg{stroke:#0B0B0B}.svc .big .ic2{background:rgba(var(--vr),.2)}
.endc{color:var(--on)}.endc p{color:inherit!important;opacity:.85}.endc .btn{background:var(--L);color:#0B0B0B}[data-theme=dark] .endc .btn{background:#0B0B0B;color:#C6FF3D}
.pill{background:rgba(var(--vr),.16);color:var(--vt)}.pill i{background:var(--v);box-shadow:0 0 0 4px rgba(var(--vr),.3)}
.ticks li:before{color:var(--v)}
.cband{background:#0B0B0B;background-image:radial-gradient(circle at 90% 0,rgba(198,255,61,.35),transparent 50%),radial-gradient(circle at 0 100%,rgba(198,255,61,.15),transparent 45%);border:1px solid #262922}.cband .btn{background:#C6FF3D;color:#0B0B0B}.cband .btn span{color:#0B0B0B}
.ic2{background:rgba(var(--vr),.15)}.ic2 svg{stroke:var(--vt)}
.fgrid b{background:none;color:var(--tx);-webkit-text-fill-color:currentColor}.fgrid div:nth-child(odd) b{color:var(--vt)}
.num{background:none;-webkit-text-fill-color:currentColor;color:var(--vt)}
.ph{background:#0B0B0B;border:1px solid #262922}.ph span{color:#C6FF3D}.ph:before,.ph:after{background:rgba(198,255,61,.12)}
.chart{background:var(--bg2)}
.row i.ok,.tr i.ok{background:var(--v)}.row i.wip,.tr i.wip{background:var(--tx)}
#tasks li.done i{background:var(--v);border-color:var(--v)}#tasks li.done i{color:#0B0B0B}
.ev{background:var(--tx);color:var(--bg)}.ev.m{background:var(--v);color:#0B0B0B}
.sw input:checked+span{background:var(--v)}
.mq b{color:var(--v)}
.map i{background:var(--v)}.tree b{background:var(--tx)}.tree span b{border-color:var(--v)}
.flow span:last-child{background:var(--v);color:#0B0B0B}.drop{border-color:var(--v);color:var(--vt)}
.phone i.on{background:var(--v);color:#0B0B0B}.phone span,.tb span,.tagp,.edit{background:var(--tx);color:var(--bg)}
.chk i.ok:before{background:var(--v);border-color:var(--v)}.cal .r1{background:var(--tx)}.cal .r2{background:var(--v)}
.bars i{background:linear-gradient(#C6FF3D,#7DBE00)}.hb span{background:var(--v)}.arr{color:var(--vt)}
.alogo{background:#0B0B0B;box-shadow:inset 0 0 0 2px #C6FF3D}aside s.on{background:var(--v)}
.mock3d .app{box-shadow:0 50px 120px -40px rgba(var(--vr),.45),0 0 0 1px var(--gb)}
.track .work:hover{box-shadow:0 30px 60px -20px rgba(var(--vr),.45)}
.hbar i,#progress{background:linear-gradient(90deg,#7DBE00,#C6FF3D)}
.steps:before{background:linear-gradient(90deg,var(--tx),var(--v))}
.card:hover{border-color:rgba(var(--vr),.6)}
input:focus,select:focus,textarea:focus{border-color:var(--v);box-shadow:0 0 0 4px rgba(var(--vr),.25)}
#cur{background:var(--v)}#cur2{border-color:rgba(var(--vr),.7)}#cur2.big{background:rgba(var(--vr),.15)}
html:not([data-theme=dark]) #cur{background:#0B0B0B}
::selection{background:#C6FF3D;color:#0B0B0B}
:focus-visible{outline:3px solid var(--v);outline-offset:3px}
/* logo */
.lg{width:42px;height:42px;flex:none}.lw{fill:#0B0B0B}[data-theme=dark] .lw{fill:#1E1E1E;stroke:#C6FF3D;stroke-opacity:.35;stroke-width:1.5}
.lb{stroke:#C6FF3D;stroke-opacity:.25;stroke-width:3}.lf{fill:#C6FF3D}.ls{stroke:#C6FF3D;stroke-width:4.5;stroke-linecap:round;fill:none}
.brand{font-size:24px;letter-spacing:-1px}.brand:hover .le{animation:blink .35s}
@keyframes blink{50%{transform:scaleY(.15)}}.le{transform-box:fill-box;transform-origin:center}
/* loader: window appears, face switches on, smile draws, wink */
.lg.big{width:120px;height:120px}
#loader .lw{transform-box:fill-box;transform-origin:center;transform:scale(.4);opacity:0;animation:lwin .45s cubic-bezier(.3,1.5,.5,1) forwards}
#loader .lb,#loader .lf,#loader .lk{opacity:0;animation:lon2 .25s forwards}#loader .lb{animation-delay:.35s}#loader .lf{animation-delay:.5s}#loader .lk{animation-delay:.6s}
#loader circle.lf{animation-delay:.4s}
#loader .lm{stroke-dasharray:22;stroke-dashoffset:22;animation:draw .4s .7s forwards}
#loader .le{animation:lon2 .2s .55s forwards,blink .3s 1.15s}
@keyframes lwin{to{transform:none;opacity:1}}@keyframes lon2{to{opacity:1}}
#loader .ldw{animation-delay:.9s;font-size:32px}
.lf,.ls{filter:drop-shadow(0 0 4px rgba(198,255,61,.35))}
@media (prefers-reduced-motion:reduce){#loader .lw,#loader .lb,#loader .lf,#loader .lk,#loader .lm,#loader .le{opacity:1;transform:none;stroke-dashoffset:0}}

.contact.solo{grid-template-columns:1fr;max-width:760px;margin:0 auto;text-align:center}.contact.solo .ticks.v{flex-direction:row;justify-content:center;gap:10px 28px}.ccta{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:12px}.ccta small{color:var(--mu);font-size:14px}.btn.big{font-size:18px;padding:18px 32px}@media(max-width:600px){.contact.solo .ticks.v{flex-direction:column;align-items:center}.btn.big{font-size:16px;padding:16px 22px;width:100%;justify-content:center;white-space:normal}}
