:root{--bg:#0b0d12;--card:#10141b;--line:#232a36;--acc:#30d8f0;--txt:#e6ebf2;--mut:#98a3b3;--ok:#4cd98a;--dev:#f5c542;--soon:#8a93a3;--r:16px;--mx:50%;--my:0%}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(520px circle at var(--mx) var(--my),rgba(48,216,240,.10),transparent 60%)}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
img{max-width:100%;display:block}
.skip{position:absolute;left:-999px;top:8px;background:var(--acc);color:#001;padding:8px 14px;border-radius:8px;z-index:100}.skip:focus{left:8px}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto;position:relative;z-index:1}
/* header */
header.top{position:sticky;top:0;z-index:20;background:transparent;border-bottom:1px solid transparent;transition:background .3s,border-color .3s,backdrop-filter .3s}
header.top.sc{background:rgba(11,13,18,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line)}
.bar{display:flex;align-items:center;gap:18px;height:72px}
.logo img{height:54px;width:auto}
nav.main{display:flex;gap:4px;margin-left:auto}
nav.main a{color:var(--mut);padding:8px 12px;border-radius:10px;font-size:15px;position:relative}
nav.main a:hover{color:var(--txt);text-decoration:none;background:#151a23}
nav.main a[aria-current=page]{color:var(--txt)}
nav.main a[aria-current=page]::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--acc)}
.lang{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.lang button{background:none;border:0;color:var(--mut);font:600 12px/1 system-ui,sans-serif;padding:8px 9px;cursor:pointer}
.lang button[aria-pressed=true]{background:var(--acc);color:#04181c}
.burger{display:none;background:none;border:1px solid var(--line);color:var(--txt);border-radius:10px;width:42px;height:42px;font-size:20px;cursor:pointer}
/* типографика */
.chrome{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(180deg,#fff 10%,#8b97a8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative}
.chrome.shine{background:linear-gradient(105deg,#fff 0%,#8b97a8 38%,#fff 50%,#8b97a8 62%,#8b97a8 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:shine 6s ease-in-out infinite}
@keyframes shine{0%,55%{background-position:120% 0}100%{background-position:-30% 0}}
h1,h2,h3{line-height:1.12;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(34px,6vw,64px)}h2{font-size:clamp(26px,3.6vw,38px)}h3{font-size:20px}
.eyebrow{color:var(--acc);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px}
.lead{color:var(--mut);font-size:clamp(16px,2vw,19px);max-width:620px}
main{flex:1;position:relative;z-index:1}
.view{padding:48px 0 72px;animation:viewin .45s cubic-bezier(.2,.7,.2,1)}
@keyframes viewin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.sec{margin-top:72px}.sec>h2{margin-bottom:8px}.sec>p.lead{margin:0 0 28px}
/* кнопки */
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);color:var(--txt);padding:13px 22px;border-radius:12px;font:600 15px/1 system-ui,sans-serif;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;will-change:transform}
.btn:hover{border-color:#37506a;text-decoration:none;box-shadow:0 0 0 4px rgba(48,216,240,.08)}
.btn.pri{background:var(--acc);border-color:var(--acc);color:#04181c}
.btn.pri:hover{box-shadow:0 0 28px rgba(48,216,240,.4)}
.btn[disabled]{opacity:.6;cursor:wait}
.row{display:flex;flex-wrap:wrap;gap:12px}
/* герой */
.hero{position:relative;padding:36px 0 8px}
.hero h1{max-width:860px;margin-bottom:20px}
.hero .row{margin-top:30px}
.patch-badge{position:absolute;right:0;top:8px;width:84px;height:84px;border-radius:50%;border:2px solid var(--line);overflow:hidden;background:var(--card);transition:transform .3s,border-color .3s;display:block}
.patch-badge img{width:100%;height:100%;object-fit:cover}
.patch-badge:hover{transform:rotate(-8deg) scale(1.12);border-color:var(--acc);text-decoration:none}
.patch-tip{position:absolute;right:96px;top:34px;background:var(--card);border:1px solid var(--line);padding:6px 12px;border-radius:12px;font-size:13px;opacity:0;transform:translateX(8px);transition:.25s;pointer-events:none;white-space:nowrap}
.patch-badge:hover+.patch-tip,.patch-badge:focus-visible+.patch-tip{opacity:1;transform:none}
/* счётчики */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:48px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.stat b{display:block;font-size:34px;line-height:1.1}
.stat span{color:var(--mut);font-size:14px}
/* чипсы и поиск */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.chip{background:var(--card);border:1px solid var(--line);color:var(--mut);padding:9px 16px;border-radius:99px;font:600 14px/1 system-ui,sans-serif;cursor:pointer;transition:.2s}
.chip:hover{color:var(--txt);border-color:#37506a}
.chip[aria-pressed=true]{background:var(--acc);border-color:var(--acc);color:#04181c}
.search{width:100%;max-width:360px;background:var(--card);border:1px solid var(--line);border-radius:12px;color:var(--txt);padding:12px 16px;font:inherit;margin-bottom:16px}
.tools{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-start}
/* карточки */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:10px;color:var(--txt);overflow:hidden;transform-style:preserve-3d;transition:border-color .25s,transform .15s ease-out;min-height:190px}
.card:hover{text-decoration:none;border-color:#37506a}
.card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(260px circle at var(--cx,50%) var(--cy,0%),rgba(48,216,240,.14),transparent 70%)}
.card:hover::before{opacity:1}
.card[hidden]{display:none}
.ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font:800 20px/1 system-ui,sans-serif;color:#04181c;background:var(--c,#30d8f0)}
.card h3{margin-top:4px}.card p{margin:0;color:var(--mut);font-size:14.5px;flex:1}
.card .badge{order:9;margin-top:auto}
.grid{align-items:stretch;grid-auto-rows:1fr}
.badge{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--s);border:1px solid color-mix(in srgb,var(--s) 40%,transparent);background:color-mix(in srgb,var(--s) 10%,transparent);padding:4px 10px;border-radius:99px;width:fit-content}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--s)}
.s-live{--s:var(--ok)}.s-dev{--s:var(--dev)}.s-soon{--s:#a9b2c1}
.empty{color:var(--mut);padding:30px 0}
/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
/* бегущая строка */
.marquee{margin-top:72px;border-block:1px solid var(--line);overflow:hidden;padding:18px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq{display:flex;gap:48px;width:max-content;animation:mq 28s linear infinite}
.marquee:hover .mq{animation-play-state:paused}
.mq span{font-size:clamp(22px,3vw,34px);font-weight:700;white-space:nowrap}
.mq span::after{content:"✦";color:var(--acc);margin-left:48px;-webkit-text-fill-color:var(--acc)}
@keyframes mq{to{transform:translateX(-50%)}}
/* телефоны */
.phones{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;perspective:900px}
.phone{width:210px;aspect-ratio:9/19;border-radius:34px;border:8px solid #1b212c;background:#000;position:relative;overflow:hidden;box-shadow:0 0 0 1px #2d3646,0 30px 60px -20px rgba(0,0,0,.8),0 0 50px -20px var(--c,#30d8f0);flex:none}
.phone::before{content:"";position:absolute;top:8px;left:50%;width:62px;height:16px;margin-left:-31px;background:#000;border-radius:12px;z-index:3}
.phone.big{width:250px}
.pscroll{display:flex;flex-direction:column;height:100%;animation:pscroll var(--d,12s) infinite cubic-bezier(.7,0,.2,1)}
.pscreen{position:relative;flex:none;height:100%;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:44px 16px 20px;background:linear-gradient(160deg,color-mix(in srgb,var(--c,#30d8f0) 26%,#10141b),#10141b 70%)}
.pscreen i{display:block;height:12px;border-radius:6px;background:rgba(255,255,255,.14)}
.pscreen i:nth-child(2){width:70%}.pscreen i:nth-child(3){width:50%}
.pscreen b{display:block;height:84px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}
.pscreen em{font-style:normal;font-weight:700;font-size:15px;text-align:center;margin-bottom:6px}
.pscreen img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
@keyframes pscroll{0%,22%{transform:translateY(0)}33%,55%{transform:translateY(-100%)}66%,88%{transform:translateY(-200%)}100%{transform:translateY(-300%)}}
.phone:nth-child(2){--d:14s}.phone:nth-child(3){--d:16s}
/* страницы */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.box h3{margin-bottom:8px}.box p{margin:0;color:var(--mut)}
.prose{max-width:760px}.prose p,.prose li{color:#c4ccd8}.prose h2{font-size:22px;margin:32px 0 10px}
.prose code{background:#151a23;padding:2px 6px;border-radius:6px}
.note{background:#151a23;border:1px solid var(--line);border-left:3px solid var(--dev);padding:12px 16px;border-radius:10px;color:var(--mut);font-size:14px;margin:18px 0}
.boss{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center}
.boss .pic{position:relative;width:200px;height:200px;border-radius:50%;overflow:hidden;border:3px solid var(--line);animation:bob 4s ease-in-out infinite;cursor:pointer;background:#10141b}
.boss .pic img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.boss .pic:hover img,.boss .pic.wave img{transform:scale(1.12) rotate(-5deg)}
.boss .say{display:inline-block;margin-top:14px;background:#151a23;border:1px solid var(--line);padding:8px 14px;border-radius:14px;opacity:0;transform:translateY(8px);transition:.35s}
.boss.on .say{opacity:1;transform:none}
@keyframes bob{50%{transform:translateY(-8px)}}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}
/* форма */
form.f{display:grid;gap:16px;max-width:620px}
label{display:grid;gap:6px;font-size:14px;color:var(--mut)}
input,select,textarea{width:100%;background:var(--card);border:1px solid var(--line);border-radius:12px;color:var(--txt);padding:13px 14px;font:inherit}
input:focus,select:focus,textarea:focus{border-color:var(--acc);outline:none;box-shadow:0 0 0 3px rgba(48,216,240,.18)}
textarea{min-height:140px;resize:vertical}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.to{font-size:14px;color:var(--mut)}.to b{color:var(--acc)}
.msg{padding:12px 16px;border-radius:12px;font-size:14.5px}.msg.ok{background:rgba(76,217,138,.12);border:1px solid rgba(76,217,138,.4)}.msg.bad{background:rgba(255,100,100,.1);border:1px solid rgba(255,100,100,.4)}
/* страница приложения */
.apphero{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.apphero .ico{width:64px;height:64px;font-size:28px;border-radius:18px;margin-bottom:18px}
.crumb{display:inline-block;color:var(--mut);margin-bottom:20px;font-size:14px}
/* footer */
footer{border-top:1px solid var(--line);padding:30px 0;position:relative;z-index:1;color:var(--mut);font-size:14px}
.fcols{display:flex;flex-wrap:wrap;gap:16px 36px;justify-content:space-between;align-items:center}
.fcols nav{display:flex;flex-wrap:wrap;gap:6px 20px}
footer a{color:var(--mut)}footer a:hover{color:var(--txt)}
@media (max-width:820px){
 .stats{grid-template-columns:1fr 1fr}.cols,.apphero{grid-template-columns:1fr}.boss{grid-template-columns:1fr;justify-items:start}
 .burger{display:block;margin-left:auto}
 nav.main{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:#0d1016;border-bottom:1px solid var(--line);padding:10px 16px}
 nav.main.open{display:flex}
 .bar{gap:10px}.lang{order:3}.burger{order:4;margin-left:0}.logo{margin-right:auto}
 .patch-badge{width:56px;height:56px}
 .phones{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 20px}
 .phone,.phone.big{width:180px;scroll-snap-align:center}.patch-tip{display:none}
 .hero h1{padding-right:56px}
 .view{padding-top:28px}.sec{margin-top:52px}
}
@media (max-width:420px){.stat b{font-size:28px}.logo img{height:44px}.lang button{padding:8px 7px}}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .rv{opacity:1;transform:none}
 .mq{width:auto;flex-wrap:wrap}
}

/* ===== витрина ===== */
.show{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:24px 0 0}
.show h1{font-size:clamp(34px,5.2vw,62px)}
.plist{display:grid;gap:0;border-top:1px solid var(--line)}
.prow{position:relative;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);color:var(--mut);padding:15px 4px;font:600 17px/1.2 system-ui,sans-serif;cursor:pointer;transition:color .25s,padding .25s,background .25s}
.prow:hover{color:var(--txt);background:rgba(255,255,255,.02)}
.prow.on{color:var(--txt);padding-left:14px;background:linear-gradient(90deg,rgba(48,216,240,.08),transparent)}
.pn{font:500 13px/1 ui-monospace,monospace;color:var(--acc)}
.pbar{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--acc);transform:scaleX(0);transform-origin:left;display:none}
.prow.on .pbar{display:block}
.stage{display:grid;place-items:center;padding:10px 0 26px}
.ph3d{transition:transform .25s ease-out;transform-style:preserve-3d}
.phone.xl{width:min(290px,70vw);border-width:9px;border-radius:40px}
.screens{position:absolute;inset:0}
.scr{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .6s,transform .8s;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 24%,#10141b),#10141b 70%)}
.scr.on{opacity:1;transform:none}
.shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s}
.shot.on{opacity:1}
.mock{position:absolute;inset:0;padding:46px 18px 22px;display:flex;flex-direction:column;gap:12px}
.mock .mh{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.mock .mi{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--c);color:#04181c;font-weight:800}
.mock em{font-style:normal;font-weight:700}
.mock i{display:block;height:11px;border-radius:6px;background:rgba(255,255,255,.14)}.mock i:nth-of-type(2){width:72%}.mock i:nth-of-type(3){width:46%}
.mock b{display:block;height:86px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
.mock .mb{margin-top:auto;height:42px;border-radius:14px;background:var(--c);opacity:.85}
.pinfo{text-align:center;max-width:430px;margin:0 auto;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s;min-height:150px}
.pinfo.in{opacity:1;transform:none}
.pinfo .row{justify-content:center}
.stats{margin-top:64px}
.marquee+.marquee{margin-top:0;border-top:0}
.marquee{margin-top:56px}.marquee+.marquee{margin-top:0}
.mq.rev{animation-direction:reverse}
.steps{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;counter-reset:s}
.steps::before{content:"";position:absolute;left:18px;right:18px;top:18px;height:2px;background:var(--line)}
.steps::after{content:"";position:absolute;left:18px;top:18px;height:2px;width:calc((100% - 36px)*max(var(--n,0) - 1,0)/3);background:var(--acc);transition:width .8s;box-shadow:0 0 12px rgba(48,216,240,.6)}
.step{position:relative;padding-top:52px;opacity:.45;transition:opacity .6s}
.step.on{opacity:1}
.dot{position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:2px solid var(--line);font-weight:700;transition:.5s;z-index:1}
.step.on .dot{border-color:var(--acc);color:var(--acc);box-shadow:0 0 18px rgba(48,216,240,.35)}
.step p{margin:6px 0 0;color:var(--mut);font-size:14.5px}
.cols.four{grid-template-columns:repeat(4,1fr)}
.rmap{min-height:120px}.rmap.in{animation:viewin .4s}
.rlist{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.rlist li{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:17px}
.clog{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.clog li{display:grid;grid-template-columns:96px 100px 1fr;gap:12px;padding:14px 0 14px 22px;position:relative;border-bottom:1px solid var(--line)}
.clog li::before{content:"";position:absolute;left:-6px;top:22px;width:10px;height:10px;border-radius:50%;background:var(--acc)}
.clog time{font:500 13px/1.6 ui-monospace,monospace;color:var(--mut)}.clog b{color:var(--txt)}.clog span{color:#c4ccd8}
.bossmini{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.bossmini img{width:72px;height:72px;border-radius:50%;border:2px solid var(--line);object-fit:cover}
.bossmini p{flex:1;min-width:200px;margin:0;color:var(--mut)}
.cta{text-align:center;padding:56px 20px;border:1px solid var(--line);border-radius:24px;background:radial-gradient(500px circle at 50% 0%,rgba(48,216,240,.12),transparent 70%),var(--card)}
.cta .lead{margin-inline:auto}
@media (max-width:900px){
 .show{grid-template-columns:1fr;gap:24px}
 .plist{display:flex;overflow-x:auto;border-top:0;gap:8px;padding-bottom:6px;scroll-snap-type:x proximity}
 .prow{flex:none;grid-template-columns:auto auto;border:1px solid var(--line);border-radius:14px;padding:12px 14px;scroll-snap-align:start;gap:8px;background:var(--card)}
 .prow .badge{display:none}.prow.on{padding-left:14px;border-color:var(--acc)}
 .pbar{border-radius:2px;bottom:0}
 .steps{grid-template-columns:1fr;gap:26px}.steps::before{left:18px;right:auto;top:18px;bottom:18px;width:2px;height:auto}.steps::after{display:none}
 .step{padding:4px 0 0 56px}.step.on .dot{box-shadow:0 0 18px rgba(48,216,240,.35)}
 .cols.four{grid-template-columns:1fr 1fr}
 .clog li{grid-template-columns:1fr;gap:2px}
}
@media (prefers-reduced-motion:reduce){.scr{transition:none}.step{opacity:1}.pinfo{opacity:1;transform:none}}
.show>*{min-width:0}
