/* =====================================================================
   Стекмастер / site.css
   Один визуальный мир: тёмно-синий холст, панели-«вкладки» как у realweb,
   стеклянные плашки, иридисцентные 3D-объекты в хиро.
   Анимации живут в js/anim.js (GSAP). Без JS страница полностью видима.
   ===================================================================== */

:root{
  --canvas:#03061A;
  --ink:#070C22;
  --ink-2:#0D1538;
  --ink-3:#16214F;
  --paper:#F2F4FF;
  --paper-2:#E3E8FF;
  --line-d:rgba(160,180,255,.14);
  --line-l:#D9DFF7;

  --blue-1:#2A3BD4;
  --blue-2:#4C72FF;
  --blue-3:#8DB2FF;
  --violet:#8B6DFF;
  --cyan:#45D3FF;
  --amber:#FFB75E;
  --accent:#4C72FF;
  --accent-soft:#9DB8FF;
  --ok:#3DDC97;
  --bad:#FF5A6E;

  --text:#EEF2FF;
  --muted:#A2ADD8;
  --on-paper:#0A1030;
  --on-paper-muted:#535F8E;

  --grad:linear-gradient(135deg,#2A3BD4 0%,#4C72FF 42%,#7FA6FF 74%,#9B8CFF 100%);
  --grad-deep:linear-gradient(160deg,#1B2A9E 0%,#3550F0 55%,#6E8DFF 100%);

  --t1:#4C72FF; --t2:#28B8F0; --t3:#8B6DFF; --t4:#F59A3C;
  --mg-t1:linear-gradient(150deg,#2A3BD4,#7FA6FF);
  --mg-t2:linear-gradient(150deg,#1386C2,#5FDCFF);
  --mg-t3:linear-gradient(150deg,#4B2FD6,#B19BFF);
  --mg-t4:linear-gradient(150deg,#D96A16,#FFCB7A);

  --r-panel:44px; --r-card:28px;
  --pad:clamp(22px,4vw,72px);
  --display:"Montserrat","Manrope",system-ui,sans-serif;
  --body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  color-scheme:dark;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html:not(.lenis){scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--canvas);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg,canvas{display:block;max-width:100%}
button{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--display);margin:0;font-weight:700;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(40px,5vw,92px);line-height:.98;letter-spacing:-.045em}
h2{font-size:clamp(32px,4vw,64px);line-height:1.02}
h3{font-size:clamp(19px,1.5vw,24px);line-height:1.2;letter-spacing:-.02em}
p{margin:0}
[hidden]{display:none!important}
.num{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
::selection{background:var(--accent);color:#fff}

/* split-text (anim.js оборачивает слова) */
.sw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.swi{display:inline-block;will-change:transform}

/* ---------- shell: холст во всю ширину ---------- */
.shell{margin:12px;padding:0 14px 14px;background:var(--ink);border-radius:40px;overflow:clip}
main{display:block}

/* ---------- лид-магнит сверху ---------- */
.magnet{padding-top:14px}
.magnet.closed{display:none}
.magnet-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 7px 7px 22px;border-radius:999px;background:linear-gradient(90deg,#2A3BD4,#4C72FF 60%,#7FA6FF);color:#fff;font-size:14.5px;font-weight:600}
.magnet-in b{font-weight:800}
.m-actions{display:flex;align-items:center;gap:6px;flex:none}
.m-btn{height:38px;padding:0 18px;border:0;border-radius:999px;background:#fff;color:var(--on-paper);font-family:var(--display);font-weight:700;font-size:13.5px;cursor:pointer;white-space:nowrap;transition:background .2s}
.m-btn:hover{background:var(--paper-2)}
.m-x{width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;font-size:18px;line-height:1}
.m-x:hover{background:rgba(255,255,255,.26)}

/* ---------- шапка ---------- */
header.top{position:sticky;top:0;z-index:50;padding:12px 0;transition:transform .5s var(--ease)}
header.top.hide{transform:translateY(-115%)}
header.top::before{content:"";position:absolute;inset:0 -14px;background:linear-gradient(var(--ink) 40%,rgba(7,12,34,0));pointer-events:none;z-index:-1}
.nav{display:flex;align-items:center;gap:10px}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.logo{width:46px;height:46px;border-radius:15px;background:var(--grad);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:-.02em;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.brand-name{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.03em;line-height:1}
.brand-sub{font-size:12px;color:var(--muted);margin-top:4px}
.pill{display:flex;align-items:center;gap:2px;height:54px;padding:0 7px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line-d)}
.pill a{height:40px;display:flex;align-items:center;padding:0 16px;border-radius:999px;font-family:var(--display);font-weight:600;font-size:14.5px;color:var(--muted);transition:color .2s,background .2s}
.pill a:hover{color:#fff;background:rgba(255,255,255,.08)}
.burger{display:none;width:54px;height:54px;border-radius:50%;border:1px solid var(--line-d);background:rgba(255,255,255,.06);cursor:pointer;place-items:center}
.burger i,.burger i::before,.burger i::after{display:block;width:20px;height:2px;border-radius:2px;background:#fff;position:relative;transition:transform .35s var(--ease)}
.burger i::before,.burger i::after{content:"";position:absolute;left:0}
.burger i::before{top:-6px}.burger i::after{top:6px}
.burger[aria-expanded="true"] i{background:transparent}
.burger[aria-expanded="true"] i::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] i::after{transform:translateY(-6px) rotate(-45deg)}

/* ---------- кнопки ---------- */
.btn{--h:56px;position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--h);padding:0 28px;border-radius:999px;border:1px solid transparent;font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;transition:background .25s,color .25s,border-color .25s,box-shadow .25s}
.btn .arr{display:inline-block;transition:translate .4s var(--ease)}
.btn:hover .arr{translate:4px 0}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 16px 36px -12px rgba(76,114,255,.75)}
.btn-primary::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-120%);animation:shine 4.6s var(--ease) infinite}
@keyframes shine{0%,62%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.btn-primary:hover{background:#6187FF}
.btn-white{background:#fff;color:var(--on-paper)}
.btn-white:hover{background:var(--paper-2)}
.btn-ink{background:var(--on-paper);color:#fff}
.btn-ink:hover{background:var(--ink-3)}
.btn-glass{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.btn-glass:hover{background:rgba(255,255,255,.22)}
.btn-ghost{background:transparent;border-color:var(--line-l);color:var(--on-paper)}
.btn-ghost:hover{background:var(--paper)}
.btn-sm{--h:46px;padding:0 20px;font-size:14px}
.tg-ico{width:18px;height:18px;flex:none}

/* ---------- HERO ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;margin-top:2px;border-radius:var(--r-panel);border:1px solid transparent;background:var(--grad) padding-box;min-height:clamp(660px,calc(100svh - 150px),940px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.hero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(50px);aspect-ratio:1}
.b1{width:48%;left:46%;top:-22%;background:radial-gradient(circle,rgba(190,215,255,.85),transparent 62%);animation:blobA 18s ease-in-out infinite alternate}
.b2{width:44%;left:-12%;top:52%;background:radial-gradient(circle,rgba(24,36,190,.9),transparent 62%);animation:blobB 22s ease-in-out infinite alternate}
.b3{width:38%;left:68%;top:46%;background:radial-gradient(circle,rgba(185,160,255,.8),transparent 62%);animation:blobA 20s ease-in-out infinite alternate-reverse}
@keyframes blobA{to{transform:translate(-8%,10%) scale(1.15)}}
@keyframes blobB{to{transform:translate(12%,-12%) scale(1.1)}}
.word{position:absolute;font-family:var(--display);font-weight:800;letter-spacing:-.04em;color:rgba(255,255,255,.12);filter:blur(6px);white-space:nowrap;user-select:none;transform:perspective(700px) rotateX(24deg) rotateZ(var(--rz,-6deg));animation:drift 16s ease-in-out infinite alternate}
@keyframes drift{to{transform:perspective(700px) rotateX(12deg) rotateZ(var(--rz,-6deg)) translateY(-26px) scale(1.05)}}
.hero3d{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}

.hero-copy{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:30px;padding:120px 0 52px}
/* вырез под заголовок: цвет фона страницы, поэтому выглядит как дыра в панели */
.bite{position:relative;align-self:flex-start;max-width:100%;padding:30px clamp(28px,3.6vw,64px) 38px var(--pad);border-radius:0 var(--r-panel) var(--r-panel) 0;background:var(--ink);color:#fff}
.bite::before,.bite::after{content:"";position:absolute;left:0;width:34px;height:34px;pointer-events:none}
.bite::before{top:-34px;background:radial-gradient(circle at 100% 0,transparent 34px,var(--ink) 34.5px)}
.bite::after{bottom:-34px;background:radial-gradient(circle at 100% 100%,transparent 34px,var(--ink) 34.5px)}
.eyebrow{font-family:var(--display);font-weight:600;font-size:15px;color:var(--muted);margin-bottom:18px}
.hero h1 .l{display:block}
.hero h1 .l1,.hero h1 .l2{color:var(--accent-soft)}
.hero h1 .l2{padding-left:.85em}
.hero-under{display:flex;flex-direction:column;gap:22px;padding-left:var(--pad)}
.hero .lead{color:#fff;font-size:19px;max-width:46ch}
.offer{display:inline-flex;align-items:center;gap:14px;align-self:flex-start;max-width:100%;padding:12px 22px 12px 12px;border-radius:999px;background:#fff;color:var(--on-paper);font-weight:600;font-size:15px;box-shadow:0 18px 40px -18px rgba(10,16,60,.55)}
.offer i{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-style:normal;font-family:var(--display);font-weight:800}
.ctas{display:flex;flex-wrap:wrap;gap:12px}

.hero-side{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:44px var(--pad) 52px 12px}
.glass-stack{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.glabel{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;width:min(280px,100%);padding:22px 22px 26px 24px;border-radius:26px;font-family:var(--display);font-weight:600;font-size:17px;line-height:1.22;letter-spacing:-.01em;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);box-shadow:0 22px 50px -22px rgba(10,16,70,.6),inset 0 1px 0 rgba(255,255,255,.3);animation:bob 7s ease-in-out infinite;animation-delay:calc(var(--i,0)*-2.3s)}
.glabel i{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:14px;background:rgba(255,255,255,.2)}
.glabel.g0{margin-right:34%;background:rgba(48,34,210,.55)}
.glabel.g1{margin-right:4%}
.glabel.g2{margin-right:20%;background:linear-gradient(135deg,rgba(200,180,255,.5),rgba(255,255,255,.18))}
@keyframes bob{50%{translate:0 -9px}}

.timer-card{align-self:flex-end;width:min(400px,100%);padding:24px 24px 22px;border-radius:30px;background:rgba(7,12,34,.48);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);box-shadow:0 34px 70px -24px rgba(4,8,30,.7),inset 0 1px 0 rgba(255,255,255,.14)}
.timer-label{font-family:var(--display);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-soft)}
.timer-big{font-family:var(--display);font-weight:800;font-size:clamp(38px,3.6vw,54px);line-height:1;letter-spacing:-.04em;margin:10px 0 8px}
.timer-big span{color:var(--cyan)}
.timer-note{color:var(--muted);font-size:14.5px;max-width:36ch}
.timer-digits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.digit{padding:12px 6px 10px;border-radius:18px;text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.digit b{display:block;font-family:var(--display);font-weight:700;font-size:30px;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.digit small{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* интро прячет хиро только когда JS точно загрузится (класс .js ставится в <head>) */
.js .hero-in{opacity:0}

/* ---------- бегущая строка ---------- */
.marquee{overflow:hidden;padding:30px 0 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.track{display:flex;gap:12px;width:max-content;animation:mq 42s linear infinite;will-change:transform}
.anim-on .track{animation:none}
@keyframes mq{to{transform:translateX(-50%)}}
.track span{display:inline-flex;align-items:center;gap:12px;height:52px;padding:0 24px;border-radius:999px;border:1px solid var(--line-d);background:rgba(255,255,255,.04);font-family:var(--display);font-weight:600;font-size:15px;color:var(--muted);white-space:nowrap}
.track span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--grad)}

/* ---------- панели с вкладками ---------- */
.panel{position:relative;margin-top:104px;padding:88px var(--pad) 96px;border-radius:var(--r-panel)}
.panel.dark{background:var(--ink-2);--tabc:var(--ink-2)}
.panel.light{background:var(--paper);color:var(--on-paper);--tabc:var(--paper)}
.panel.grad{background:var(--grad-deep);--tabc:#1B2A9E}
.tab{position:absolute;top:-46px;left:var(--pad);height:47px;padding:0 28px;display:flex;align-items:center;border-radius:22px 22px 0 0;background:var(--tabc);font-family:var(--display);font-weight:600;font-size:15px}
.tab::before,.tab::after{content:"";position:absolute;bottom:0;width:22px;height:22px}
.tab::before{left:-22px;background:radial-gradient(circle at 0 0,transparent 22px,var(--tabc) 22.5px)}
.tab::after{right:-22px;background:radial-gradient(circle at 100% 0,transparent 22px,var(--tabc) 22.5px)}

.sec-head{display:flex;flex-direction:column;gap:18px;max-width:900px;margin-bottom:56px}
.lead{font-size:18px;color:var(--muted);max-width:60ch}
.light .lead{color:var(--on-paper-muted)}
.grad .lead{color:rgba(255,255,255,.82)}
.hl{color:var(--accent-soft)}
.light .hl{color:var(--accent)}
.grad .hl{color:#CFE0FF}
.draft{display:inline-block;vertical-align:middle;margin-left:10px;padding:6px 12px;border-radius:999px;background:#FFF1DB;color:#9A5A00;font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* ---------- команда ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:64px}
.stat{display:flex;flex-direction:column;gap:10px;padding:28px 28px 24px;border-radius:var(--r-card);background:#fff}
.stat b{font-family:var(--display);font-weight:800;font-size:clamp(34px,3.4vw,54px);line-height:1;letter-spacing:-.045em;color:var(--accent);font-variant-numeric:tabular-nums}
.stat span{color:var(--on-paper-muted);font-size:15px}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.member{display:flex;flex-direction:column;gap:12px}
.avatar{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/5;border-radius:var(--r-card);background:var(--mg);display:grid;place-items:center}
.avatar::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 55% at 28% 18%,rgba(255,255,255,.55),transparent 60%),radial-gradient(60% 50% at 80% 100%,rgba(10,16,60,.35),transparent 70%)}
.mono{font-family:var(--display);font-weight:800;font-size:clamp(96px,10vw,180px);line-height:1;letter-spacing:-.06em;color:rgba(255,255,255,.94);text-shadow:0 24px 50px rgba(10,16,60,.3);transition:transform .7s var(--ease)}
.member:hover .mono{transform:translateY(-4%) scale(1.05) rotate(-3deg)}
.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.avatar .role{position:absolute;left:12px;bottom:12px;padding:8px 14px;border-radius:999px;background:#fff;color:var(--c);font-family:var(--display);font-weight:700;font-size:12.5px}
.member h3{font-size:21px;margin-top:4px}
.member p{color:var(--on-paper-muted);font-size:14.5px}
.pin{width:12px;height:12px;margin:8px auto 0;border-radius:50%;background:var(--c);box-shadow:0 0 0 5px color-mix(in srgb,var(--c) 22%,transparent)}
.threads{display:block;width:100%;height:190px;margin-top:-2px}
.threads path{fill:none;stroke-width:3;stroke-linecap:round;stroke-dasharray:1}
.core{display:flex;flex-direction:column;align-items:center;gap:22px;margin-top:-24px;text-align:center}
.core-dot{width:26px;height:26px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 10px rgba(76,114,255,.14),0 10px 40px rgba(76,114,255,.55)}
.core h3{font-size:clamp(24px,2.6vw,36px);max-width:20ch;letter-spacing:-.03em}
.core h3 em{font-style:normal;color:var(--accent)}

/* ---------- услуги ---------- */
.svc{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:16px;align-items:stretch}
.card{position:relative;isolation:isolate;display:flex;flex-direction:column;padding:34px;border-radius:var(--r-card);color:var(--on-paper);--n:96px;--c:24px;--rr:28px}
.card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:#fff;
  -webkit-mask:
    linear-gradient(#000,#000) 0 0/calc(100% - var(--n) - var(--c) + 1px) calc(var(--c) + 1px) no-repeat,
    linear-gradient(#000,#000) 0 var(--c)/calc(100% - var(--n)) calc(100% - var(--c)) no-repeat,
    radial-gradient(circle at 0 100%,#000 var(--c),transparent calc(var(--c) + .5px)) right var(--n) top 0/var(--c) var(--c) no-repeat,
    linear-gradient(#000,#000) 0 calc(var(--n) - 1px)/calc(100% - var(--c) + 1px) calc(var(--c) + 2px) no-repeat,
    linear-gradient(#000,#000) 0 calc(var(--n) + var(--c))/100% calc(100% - var(--n) - var(--c)) no-repeat,
    radial-gradient(circle at 0 100%,#000 var(--c),transparent calc(var(--c) + .5px)) right 0 top var(--n)/var(--c) var(--c) no-repeat,
    radial-gradient(circle at 100% 0,transparent var(--rr),#000 calc(var(--rr) + .5px)) right calc(var(--n) - var(--rr)) top calc(var(--n) - var(--rr))/calc(var(--rr) + 1px) calc(var(--rr) + 1px) no-repeat;
  mask:
    linear-gradient(#000,#000) 0 0/calc(100% - var(--n) - var(--c) + 1px) calc(var(--c) + 1px) no-repeat,
    linear-gradient(#000,#000) 0 var(--c)/calc(100% - var(--n)) calc(100% - var(--c)) no-repeat,
    radial-gradient(circle at 0 100%,#000 var(--c),transparent calc(var(--c) + .5px)) right var(--n) top 0/var(--c) var(--c) no-repeat,
    linear-gradient(#000,#000) 0 calc(var(--n) - 1px)/calc(100% - var(--c) + 1px) calc(var(--c) + 2px) no-repeat,
    linear-gradient(#000,#000) 0 calc(var(--n) + var(--c))/100% calc(100% - var(--n) - var(--c)) no-repeat,
    radial-gradient(circle at 0 100%,#000 var(--c),transparent calc(var(--c) + .5px)) right 0 top var(--n)/var(--c) var(--c) no-repeat,
    radial-gradient(circle at 100% 0,transparent var(--rr),#000 calc(var(--rr) + .5px)) right calc(var(--n) - var(--rr)) top calc(var(--n) - var(--rr))/calc(var(--rr) + 1px) calc(var(--rr) + 1px) no-repeat}
.card .go{position:absolute;top:14px;right:14px;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--on-paper);font-size:24px;transition:rotate .5s var(--ease),background .3s,color .3s}
.card:hover .go{rotate:45deg;background:var(--accent);color:#fff}
.card h3{font-size:clamp(24px,2.2vw,32px);padding-right:84px;letter-spacing:-.03em}
.card .lead{margin-top:14px;font-size:16px}
.inc{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin:26px 0 30px}
.inc div{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;font-weight:600}
.inc div::before,.gifts li::before{content:"";width:20px;height:20px;flex:none;margin-top:1px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.card .btn{margin-top:auto;align-self:flex-start}

.svc-side{display:flex;flex-direction:column;gap:14px}
.svc-side h3{font-size:22px;color:#fff}
.svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.svc-grid.wide{grid-template-columns:repeat(4,minmax(0,1fr))}
.svc-link{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:6px;min-height:96px;padding:20px 64px 20px 22px;border-radius:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;transition:color .35s}
.svc-link::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:#fff;transform:translateY(101%);transition:transform .55s var(--ease)}
.svc-link:hover::before,.svc-link:focus-visible::before{transform:none}
.svc-link:hover,.svc-link:focus-visible{color:var(--on-paper)}
.svc-link b{font-family:var(--display);font-weight:700;font-size:16.5px;letter-spacing:-.015em}
.svc-link span{font-size:13.5px;opacity:.8}
.svc-link .arr{position:absolute;right:16px;top:50%;width:36px;height:36px;margin-top:-18px;border-radius:50%;display:grid;place-items:center;font-style:normal;background:rgba(255,255,255,.18);transition:rotate .5s var(--ease),background .3s,color .3s}
.svc-link:hover .arr{rotate:45deg;background:var(--accent);color:#fff}
.dark .svc-link{background:rgba(255,255,255,.05);border-color:var(--line-d)}
.svc-extra{display:flex;flex-wrap:wrap;gap:8px}
.svc-extra span{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;font-family:var(--display);font-weight:600;font-size:13.5px;background:rgba(255,255,255,.14);color:#fff}
.svc-extra span.out{background:transparent;border:1px dashed rgba(255,255,255,.5)}
.svc-note{font-size:13.5px;color:rgba(255,255,255,.75)}

/* ---------- гипотезы: стопка карточек ---------- */
.stack{display:grid;gap:22px}
.hyp{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;min-height:340px;padding:44px;border-radius:34px;background:var(--ink-3);border:1px solid var(--line-d);transform-origin:50% 0}
.hyp::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 100% 0,rgba(255,255,255,.18),transparent 60%);pointer-events:none}
.hyp.hv1{background:var(--grad)}
.hyp.hv2{background:var(--paper);color:var(--on-paper);border-color:transparent}
.hyp.hv3{background:linear-gradient(140deg,#3A29B8,#7A5CFF 70%,#A58CFF)}
.hyp .tag{font-family:var(--display);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-bottom:16px}
.hyp h3{font-size:clamp(26px,2.6vw,40px);line-height:1.08;letter-spacing:-.035em;max-width:16ch}
.hyp-body{display:flex;flex-direction:column;gap:20px}
.hyp-body p{font-size:17px;opacity:.86;max-width:46ch}
.hyp .res{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:rgba(255,255,255,.16);font-weight:700;font-size:15px}
.hyp.hv2 .res{background:#fff;box-shadow:0 10px 30px -14px rgba(10,16,48,.35)}
.hyp .res::before{content:"→";color:var(--cyan)}
.hyp.hv2 .res::before{color:var(--accent)}

/* ---------- кейсы ---------- */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line-l);background:#fff;color:var(--on-paper-muted);font-family:var(--display);font-weight:600;font-size:14px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.filters button:hover{color:var(--on-paper)}
.filters button.on{background:var(--on-paper);border-color:var(--on-paper);color:#fff}
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.case{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:14px;min-height:500px;padding:28px;border-radius:var(--r-card);background:var(--grad-deep);color:#fff}
.case:nth-child(3n+2){background:linear-gradient(160deg,#3A29B8,#6D50F5 60%,#A58CFF)}
.case:nth-child(3n){background:linear-gradient(160deg,#0F5FA8,#2F95E8 60%,#7FD6FF)}
.case::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 50% at 90% 0,rgba(255,255,255,.22),transparent 60%);pointer-events:none}
.case.hide{display:none}
.case .tags{display:flex;flex-wrap:wrap;gap:6px}
.case .tags span{padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12px;font-weight:700}
.case .client{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.02em}
.case .big{font-family:var(--display);font-weight:800;font-size:clamp(46px,4.4vw,68px);line-height:.95;letter-spacing:-.05em}
.case .big small{display:block;margin-top:8px;font-size:14px;font-weight:600;letter-spacing:0;opacity:.85}
.chart-box{margin-top:auto}
.chart{width:100%;height:auto;overflow:visible}
.chart-line{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}
.chart-dot{fill:#fff;stroke:rgba(255,255,255,.35);stroke-width:8}
.chart-cap{margin-top:8px;font-size:12.5px;opacity:.78}
.case p{font-size:15px;color:rgba(255,255,255,.9)}
.case summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;background:#fff;color:var(--on-paper);font-family:var(--display);font-weight:700;font-size:13.5px;transition:background .25s,color .25s}
.case summary::-webkit-details-marker{display:none}
.case details[open] summary,.case details.is-open summary{background:rgba(255,255,255,.2);color:#fff}
.story{display:flex;flex-direction:column;gap:10px;padding-top:14px;font-size:14px;color:rgba(255,255,255,.92)}
.story b{display:block;margin-bottom:2px;font-family:var(--display);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.cases-foot{display:flex;justify-content:center;margin-top:40px}

/* ---------- этапы ---------- */
.steps-wrap{position:relative}
.rail{position:absolute;left:22px;right:22px;top:21px;height:2px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
.rail-fill{position:absolute;inset:0;background:linear-gradient(90deg,var(--accent),var(--cyan));transform-origin:0 50%}
.steps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.step{display:flex;flex-direction:column;gap:16px}
.step .dot{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent);border:2px solid var(--accent);font-family:var(--display);font-weight:700;font-size:15px;transition:background .4s,border-color .4s,box-shadow .4s}
.rail-mode .step .dot{background:var(--ink-2);border-color:rgba(255,255,255,.2)}
.rail-mode .step.on .dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 7px rgba(76,114,255,.2)}
.step-card{flex:1;display:flex;flex-direction:column;gap:10px;min-height:220px;padding:24px;border-radius:24px;background:rgba(255,255,255,.04);border:1px solid var(--line-d)}
.step h3{font-size:18px}
.step p{color:var(--muted);font-size:14.5px}
.step small{margin-top:auto;color:var(--cyan);font-weight:700;font-size:13px}

/* ---------- страхи ---------- */
.trust{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:start}
.trust .sec-head{position:sticky;top:120px;margin:0}
.fears{display:grid;gap:12px}
.fear{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;padding:26px 28px;border-radius:var(--r-card);background:#fff}
.fear .lbl{display:block;margin-bottom:8px;font-family:var(--display);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.fear .q .lbl{color:var(--bad)}
.fear .a .lbl{color:var(--accent)}
.fear .q span:not(.lbl){--sw:100%;font-family:var(--display);font-weight:600;font-size:17px;line-height:1.35;color:var(--on-paper);background:linear-gradient(var(--bad),var(--bad)) 0 58%/var(--sw) 2px no-repeat}
.fear .a p{font-weight:600;font-size:15.5px}

/* ---------- баннер скидки ---------- */
.banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;overflow:hidden;isolation:isolate}
.banner .pct{position:absolute;right:-1%;bottom:-38%;z-index:-1;font-family:var(--display);font-weight:800;font-size:clamp(240px,32vw,480px);line-height:1;letter-spacing:-.06em;color:rgba(255,255,255,.1);pointer-events:none}
.banner h2{color:#fff}
.banner p{margin-top:14px;max-width:54ch;font-size:17px;color:rgba(255,255,255,.88)}
.disc{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.disc div{min-width:190px;padding:18px 22px;border-radius:22px;background:#fff;color:var(--on-paper)}
.disc b{display:block;font-family:var(--display);font-weight:800;font-size:34px;line-height:1;letter-spacing:-.04em;color:var(--accent)}
.disc span{font-size:13.5px;font-weight:600;color:var(--on-paper-muted)}

/* ---------- что входит (посадочные) ---------- */
.benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.benefit{position:relative;display:flex;flex-direction:column;gap:10px;min-height:170px;padding:28px;border-radius:var(--r-card);background:#fff;overflow:hidden}
.benefit::before{content:"";width:44px;height:44px;border-radius:14px;margin-bottom:6px;background:var(--grad)}
.benefit:nth-child(3n+2)::before{background:linear-gradient(135deg,#4B2FD6,#B19BFF)}
.benefit:nth-child(3n)::before{background:linear-gradient(135deg,#1386C2,#5FDCFF)}
.benefit b{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.02em}
.benefit p{color:var(--on-paper-muted);font-size:15px}

/* ---------- FAQ ---------- */
.faqs{display:grid;gap:10px;max-width:1000px}
.faq{border-radius:24px;background:rgba(255,255,255,.04);border:1px solid var(--line-d);transition:background .3s}
.faq[open],.faq.is-open{background:rgba(255,255,255,.07)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--accent);font-style:normal;font-size:22px;line-height:1;transition:rotate .45s var(--ease)}
.faq[open] summary i{rotate:45deg}
.anim-on .faq[open]:not(.is-open) summary i{rotate:0deg}
.anim-on .faq.is-open summary i{rotate:45deg}
.faq .ans{overflow:hidden}
.faq .ans p{padding:0 24px 24px;color:var(--muted);max-width:72ch}

/* ---------- заявка: квиз ---------- */
.contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:start}
.contact-copy{display:flex;flex-direction:column;gap:22px}
.gifts{list-style:none;margin:6px 0 4px;padding:0;display:grid;gap:10px}
.gifts li{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid var(--line-d);font-size:15px;color:var(--muted)}
.gifts li b{color:#fff}
.quiz,.done{position:relative;display:flex;flex-direction:column;gap:20px;min-height:540px;padding:34px;border-radius:32px;background:#fff;color:var(--on-paper)}
.quiz-top{display:flex;align-items:center;gap:16px}
.quiz-count{font-family:var(--display);font-weight:600;font-size:14px;color:var(--on-paper-muted);white-space:nowrap}
.quiz-bar{flex:1;height:6px;border-radius:6px;background:var(--paper-2);overflow:hidden}
.quiz-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--cyan));transform-origin:0 50%;transform:scaleX(1);transition:transform .7s var(--ease)}
.js .quiz-bar i{transform:scaleX(.2)}
.qstep{min-width:0;margin:0;padding:0;border:0}
.qstep + .qstep{margin-top:24px}
.js .qstep{display:none;margin-top:0}
.js .qstep.active{display:block;animation:stepIn .6s var(--ease)}
.js .qstep.active.back{animation-name:stepBack}
@keyframes stepIn{from{opacity:0;transform:translateX(28px)}}
@keyframes stepBack{from{opacity:0;transform:translateX(-28px)}}
.qstep legend{padding:0;font-family:var(--display);font-weight:700;font-size:clamp(22px,2vw,28px);letter-spacing:-.025em}
.qhint{margin-top:6px;color:var(--on-paper-muted);font-size:14px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.opts label{position:relative;cursor:pointer}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts span{display:flex;align-items:center;gap:12px;min-height:60px;padding:14px 16px;border-radius:18px;background:var(--paper);border:1.5px solid transparent;font-weight:600;font-size:15px;transition:background .2s,border-color .2s,transform .2s}
.opts label:hover span{border-color:#C8D2F5}
.opts span::before{content:"";width:20px;height:20px;flex:none;border-radius:50%;border:2px solid #B9C2E6;background:#fff center/12px no-repeat;transition:background-color .2s,border-color .2s}
.opts.multi span::before{border-radius:6px}
.opts input:checked+span{background:#EDF1FF;border-color:var(--accent)}
.opts input:checked+span::before{border-color:var(--accent);background-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E")}
.opts input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.qerr{display:none;margin-top:12px;color:#C42A3C;font-size:13.5px;font-weight:600}
.qstep.bad .qerr{display:block}
.shake{animation:shake .45s}
@keyframes shake{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-size:14px;font-weight:700}
.field label small{margin-left:6px;font-weight:500;color:var(--on-paper-muted)}
input[type=text],input[type=tel],textarea{width:100%;padding:14px 16px;border-radius:16px;border:1.5px solid #D6DCF5;background:var(--paper);color:var(--on-paper);font:inherit;font-size:15.5px;transition:border-color .2s,background .2s}
input::placeholder,textarea::placeholder{color:#7D88B3}
input:focus,textarea:focus{outline:none;border-color:var(--accent);background:#fff}
textarea{min-height:90px;resize:vertical}
.err{display:none;color:#C42A3C;font-size:13px}
.field.bad input{border-color:#C42A3C}
.field.bad .err{display:block}
.quiz-nav{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:8px}
.quiz-nav .sp{flex:1}
#qprev,#qnext{display:none}
.js #qprev,.js #qnext{display:inline-flex}
.js #qsubmit{display:none}
.js #qsubmit.show{display:inline-flex}
.consent{font-size:12.5px;color:var(--on-paper-muted)}
.done{display:none;min-height:0}
.done h3{font-size:26px}
.done pre{margin:0;padding:16px;border-radius:16px;background:var(--paper);color:var(--on-paper-muted);white-space:pre-wrap;font:inherit;font-size:14px}

/* ---------- футер ---------- */
footer{padding:0 26px 34px}
.mega{margin:56px 0 0;overflow:hidden;font-family:var(--display);font-weight:800;font-size:clamp(60px,15.6vw,300px);line-height:.9;letter-spacing:-.065em;text-align:center;white-space:nowrap;color:#18224F;user-select:none}
.mega .ch{display:inline-block}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding-top:36px;border-top:1px solid var(--line-d)}
.foot .brand-sub{max-width:38ch;margin-top:10px;font-size:14px}
.foot h4{margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;color:var(--muted);font-size:15px}
.foot a:hover{color:#fff}
.copy{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:34px;color:var(--muted);font-size:13px}

/* ---------- плавающие кнопки заявки ---------- */
.fab{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;gap:10px;transform:translateY(160%);transition:transform .7s var(--ease)}
.fab.show{transform:none}
.fab .btn{box-shadow:0 20px 44px -14px rgba(0,0,0,.6)}
.fab .btn-ink{background:#121A40;border-color:rgba(255,255,255,.14)}

/* ---------- адаптив ---------- */
@media (max-width:1100px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding-top:150px}
  .hero-side{padding:0 var(--pad) 44px}
  .glass-stack{flex-direction:row;flex-wrap:wrap;align-items:stretch}
  .glabel{width:auto;flex:1 1 200px;margin:0!important}
  .timer-card{align-self:stretch;width:auto}
  .stats{grid-template-columns:repeat(2,1fr)}
  .team{grid-template-columns:repeat(2,1fr)}
  .member .pin,.threads{display:none}
  .core{margin-top:44px}
  .svc{grid-template-columns:1fr}
  .svc-grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hyp{grid-template-columns:1fr;gap:22px;min-height:0}
  .cases{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rail{display:none}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust{grid-template-columns:1fr;gap:36px}
  .trust .sec-head{position:static}
  .contact{grid-template-columns:1fr}
  .banner{grid-template-columns:1fr}
  .benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
  :root{--r-panel:30px;--r-card:22px}
  body{font-size:16px}
  .shell{margin:6px;padding:0 6px 6px;border-radius:26px}
  header.top::before{inset:0 -6px}
  .magnet-in{flex-direction:column;align-items:stretch;padding:14px 14px 10px;border-radius:24px;font-size:13.5px}
  .m-actions .m-btn{flex:1}
  .pill.menu{display:none}
  .pill.menu.open{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:stretch;height:auto;padding:10px;border-radius:24px;background:var(--ink-2)}
  .pill.menu.open a{height:48px}
  .burger{display:grid}
  .nav .cta{display:none}
  .hero-copy{padding:170px 0 34px;gap:24px}
  .bite{padding:24px 22px 28px 22px}
  .hero h1{font-size:clamp(34px,9.6vw,54px)}
  .hero h1 .l2{padding-left:.4em}
  .hero-under{padding:0 20px}
  .hero .lead{font-size:16.5px}
  .offer{border-radius:22px;font-size:14px}
  .ctas .btn{flex:1 1 100%}
  .hero-side{padding:0 20px 28px}
  .glabel{flex:1 1 calc(50% - 7px);padding:16px 16px 18px;font-size:14.5px;border-radius:20px}
  .glabel.g2{display:none}
  .word{font-size:64px!important}
  .panel{margin-top:84px;padding:56px 20px 60px}
  .tab{left:20px;padding:0 20px;font-size:14px}
  .sec-head{margin-bottom:36px}
  .lead{font-size:16px}
  .stats{gap:10px}
  .stat{padding:20px}
  .team{gap:10px}
  .mono{font-size:96px}
  .member h3{font-size:18px}
  .svc-grid,.svc-grid.wide{grid-template-columns:1fr}
  .card{padding:24px;--n:80px}
  .card .go{width:54px;height:54px}
  .card h3{padding-right:70px}
  .inc{grid-template-columns:1fr}
  .hyp{padding:28px}
  .cases{grid-template-columns:1fr}
  .case{min-height:0}
  .steps{grid-template-columns:1fr}
  .step{flex-direction:row;align-items:flex-start}
  .step-card{min-height:0}
  .fear{grid-template-columns:1fr;gap:14px;padding:22px}
  .banner .pct{font-size:220px}
  .benefits{grid-template-columns:1fr}
  .quiz,.done{padding:22px;min-height:0}
  .opts,.fields{grid-template-columns:1fr}
  .quiz-nav .btn{flex:1}
  .quiz-nav .sp{display:none}
  .foot{grid-template-columns:1fr;gap:26px}
  footer{padding:0 16px 96px}
  .fab{left:10px;right:10px;bottom:10px}
  .fab .btn-primary{flex:1}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html:not(.lenis){scroll-behavior:auto}
}

.case .ans{overflow:hidden}
.gifts li > span{flex:1}
