
/* css/base.css */
/* lenis */html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

/* E.BAEV · общая база для трёх концептов главной */
@font-face{font-family:Winston;src:url(../fonts/winston-300.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:Winston;src:url(../fonts/winston-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Winston;src:url(../fonts/winston-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Winston;src:url(../fonts/winston-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Winston;src:url(../fonts/winston-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Winston;src:url(../fonts/winston-800.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:Winston;src:url(../fonts/winston-900.woff2) format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:Playfair;src:url(../fonts/playfair-cyr-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Playfair;src:url(../fonts/playfair-lat-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:Playfair;src:url(../fonts/playfair-cyr-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Playfair;src:url(../fonts/playfair-lat-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:Playfair;src:url(../fonts/playfair-cyr-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Playfair;src:url(../fonts/playfair-lat-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}

:root{
  --black:#1D1D1B;--ink:#141413;--lime:#B6FF56;--green:#4FD875;--violet:#7B4CF9;--white:#fff;
  --ease:cubic-bezier(.22,1,.36,1);--ease-io:cubic-bezier(.65,0,.35,1);
  --gutter:clamp(16px,4vw,48px);--maxw:1320px;
  --r-s:12px;--r-m:20px;--r-l:28px;--r-xl:40px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:Winston,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"lnum","tnum" 0}
img,svg,video{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
h1,h2,h3,h4,p,figure,blockquote,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--lime);color:var(--black)}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:6px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.tnum{font-variant-numeric:tabular-nums}

/* lenis */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* зерно */
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,3%)}80%{transform:translate(3%,1%)}100%{transform:translate(0,0)}}

/* прелоадер */
.preloader{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;background:var(--ink);color:#fff}
.preloader__inner{display:flex;flex-direction:column;align-items:center;gap:22px}
.preloader__logo{width:120px;overflow:hidden}
.preloader__count{font-weight:800;font-size:14px;letter-spacing:3px;color:var(--lime);font-variant-numeric:tabular-nums}
.preloader__bar{width:180px;height:2px;background:rgba(255,255,255,.15);overflow:hidden;border-radius:2px}
.preloader__bar i{display:block;height:100%;width:100%;background:var(--lime);transform:scaleX(0);transform-origin:left}

/* переключатель концептов */
.cswitch{position:fixed;left:16px;bottom:16px;z-index:150;display:flex;align-items:center;gap:4px;padding:5px;border-radius:999px;background:rgba(20,20,19,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 40px rgba(0,0,0,.35);font-size:13px;font-weight:700;color:#fff}
.cswitch a{text-decoration:none;padding:0 12px;min-height:36px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;color:#d6d6d0;transition:background .3s,color .3s}
.cswitch a:hover{color:#fff;background:rgba(255,255,255,.08)}
.cswitch a[aria-current]{background:var(--lime);color:var(--black)}
.cswitch b{font-weight:800;opacity:.6}
.cswitch .cswitch__all{color:#a8a8a0}
@media (max-width:900px){.cswitch{left:50%;transform:translateX(-50%);bottom:84px;font-size:12px}.cswitch a{padding:0 9px;min-height:32px}.cswitch .cswitch__name{display:none}}

/* анимационные заготовки (до инициализации) */
.js [data-reveal]>*,.js [data-reveal-self]{opacity:0}
.js [data-split]{visibility:hidden}
.no-motion [data-reveal]>*,.no-motion [data-reveal-self],.no-motion [data-split]{opacity:1!important;visibility:visible!important;transform:none!important}
.split-line{overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}

/* кнопки */
.btn{--bg:var(--lime);--fg:var(--black);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;border-radius:999px;border:0;background:var(--bg);color:var(--fg);font-weight:800;font-size:16px;text-decoration:none;overflow:hidden;isolation:isolate;white-space:nowrap;transition:transform .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--fill,#fff);border-radius:inherit;transform:translateY(101%);transition:transform .55s var(--ease)}
.btn:hover::before{transform:translateY(0)}
.btn:hover{color:var(--fg-h,var(--black))}
.btn .btn__ico{display:inline-flex;transition:transform .5s var(--ease)}
.btn:hover .btn__ico{transform:translateX(4px) rotate(-45deg)}
.btn--ghost{--bg:transparent;--fg:currentColor;box-shadow:inset 0 0 0 1px currentColor}
.btn--sm{min-height:44px;padding:0 20px;font-size:15px}
.btn--lg{min-height:64px;padding:0 34px;font-size:17px}
.btn[disabled]{opacity:.5;pointer-events:none}
@media (max-width:560px){.btn{white-space:normal;text-align:center;line-height:1.2;padding-top:10px;padding-bottom:10px}}

/* формы */
.field{display:flex;flex-direction:column;gap:8px;font-size:14px}
.field input,.field select,.field textarea{width:100%;font-size:17px;padding:16px 18px;border-radius:14px;outline:0;transition:border-color .25s,box-shadow .25s,background .25s}
.check{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.45;cursor:pointer}
.check input{width:20px;height:20px;flex-shrink:0;margin:0;accent-color:var(--lime)}
.form-ok{display:none!important}
form.is-sent .form-body{display:none!important}
form.is-sent .form-ok{display:flex!important}
.field.is-error input,.check.is-error{animation:shake .4s}
.field.is-error input{border-color:#ff6b5b!important}
.check.is-error{color:#ff8a7d}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

/* range */
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--track-on,var(--lime)) var(--p,50%),var(--track-off,rgba(255,255,255,.15)) var(--p,50%))}
input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:var(--track-off,rgba(255,255,255,.15))}
input[type=range]::-moz-range-progress{height:4px;border-radius:4px;background:var(--track-on,var(--lime))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-9px;border-radius:50%;background:var(--thumb,#fff);border:4px solid var(--track-on,var(--lime));box-shadow:0 4px 14px rgba(0,0,0,.35);transition:transform .2s}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--thumb,#fff);border:4px solid var(--track-on,var(--lime))}
input[type=range]:active::-webkit-slider-thumb{transform:scale(1.2)}

/* бегущая строка */
.marquee{display:flex;overflow:hidden;user-select:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;flex-shrink:0;gap:var(--mq-gap,64px);padding-right:var(--mq-gap,64px);animation:mq var(--mq-dur,40s) linear infinite;align-items:center}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-100%)}}

/* аккордеон */
.acc__btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:none;border:0;text-align:left;padding:24px 0;min-height:56px}
.acc__ico{position:relative;width:22px;height:22px;flex-shrink:0}
.acc__ico::before,.acc__ico::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:currentColor;transition:transform .45s var(--ease)}
.acc__ico::after{transform:rotate(90deg)}
.acc.is-open .acc__ico::after{transform:rotate(0)}
.acc__panel{height:0;overflow:hidden}
.acc__body{padding-bottom:24px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .grain{display:none}
}

/* css/site.css */
/* Концепт 4 · Итоговый. Темы: [data-theme=dark] и [data-theme=light] */
:root,[data-theme=dark]{
  --bg:#121211;--bg2:#181816;--card:#1e1e1c;--card2:#262624;--field:#141413;
  --line:#2e2e2a;--line2:#3e3e39;--txt:#fff;--mut:#a9a9a1;--mut2:#cfcfc8;--mut3:#76766f;
  --acc:#B6FF56;--acc-txt:#B6FF56;--on-acc:#1D1D1B;--vio:#7B4CF9;--vio-txt:#b8a2ff;
  --glass:rgba(18,18,17,.82);--shadow:0 40px 120px rgba(0,0,0,.55);
  --mesh-a:.55;--grid-o:.5;--track-off:rgba(255,255,255,.15);--thumb:#fff;
  color-scheme:dark;
}
[data-theme=light]{
  --bg:#ffffff;--bg2:#F4F3EE;--card:#ffffff;--card2:#F4F3EE;--field:#ffffff;
  --line:#e4e3dc;--line2:#d4d3cb;--txt:#1D1D1B;--mut:#5c5c56;--mut2:#45453f;--mut3:#8a8a83;
  --acc:#B6FF56;--acc-txt:#5b2fe0;--on-acc:#1D1D1B;--vio:#7B4CF9;--vio-txt:#5b2fe0;
  --glass:rgba(255,255,255,.85);--shadow:0 30px 80px rgba(29,29,27,.12);
  --mesh-a:.32;--grid-o:.7;--track-off:rgba(29,29,27,.14);--thumb:#fff;
  color-scheme:light;
}
html{background:var(--bg)}
body{background:var(--bg);color:var(--txt);transition:background .5s var(--ease),color .5s var(--ease)}
[data-theme=light] .only-dark,[data-theme=dark] .only-light{display:none!important}
a:hover{color:var(--acc-txt)}
.acc{color:var(--acc-txt)}
.muted{color:var(--mut2);font-size:17px;line-height:1.6}
.tiny{font-size:12.5px;line-height:1.5;color:var(--mut)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 0 rgba(182,255,86,.6);animation:pulse 2s infinite;margin-right:10px;vertical-align:middle}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(182,255,86,0)}100%{box-shadow:0 0 0 0 rgba(182,255,86,0)}}
.eyebrow,.kicker{font-size:13px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--vio-txt)}
.kicker span,.eyebrow span{display:inline-block}
.h2{font-size:clamp(36px,4.6vw,68px);line-height:.98;font-weight:800;letter-spacing:-.025em;max-width:18ch}
.h3{font-size:clamp(28px,3vw,42px);line-height:1.05;font-weight:800;letter-spacing:-.01em}
.btn--block{width:100%}
.btn--ghost{color:var(--txt);--fill:var(--acc);--fg-h:var(--on-acc)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l)}
.link-arrow{font-weight:700;color:var(--txt);text-decoration:none;border-bottom:1px solid var(--line2);padding-bottom:4px;transition:border-color .3s,color .3s}
.link-arrow:hover{border-color:var(--vio)}
.field span{color:var(--mut2)}
.field input{background:var(--field);border:1px solid var(--line2);color:var(--txt)}
.field input:focus{border-color:var(--vio);box-shadow:0 0 0 4px rgba(123,76,249,.15)}
.field input::placeholder{color:var(--mut3)}
.check{color:var(--mut)}
.check input{accent-color:var(--vio)}
input[type=range]{--track-on:var(--vio)}
.cswitch{z-index:140}

/* шапка */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;transition:transform .6s var(--ease),background .4s,border-color .4s;border-bottom:1px solid transparent}
.hdr.is-scrolled{background:var(--glass);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-color:var(--line)}
.hdr.is-hidden{transform:translateY(-100%)}
.hdr__in{display:flex;align-items:center;gap:28px;min-height:80px}
.hdr__logo img{height:34px;width:auto}
.hdr__nav{display:flex;gap:22px;font-size:15px;flex:1}
.hdr__nav a{text-decoration:none;color:var(--txt);opacity:.85;position:relative;padding:6px 0}
.hdr__nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--vio);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.hdr__nav a:hover{opacity:1;color:var(--txt)}
.hdr__nav a:hover::after{transform:scaleX(1);transform-origin:left}
.hdr__act{display:flex;align-items:center;gap:10px;margin-left:auto}
.hdr__tel{display:flex;flex-direction:column;text-decoration:none;margin-right:6px;line-height:1.25}
.hdr__tel b{font-size:16px}.hdr__tel span{font-size:12px;color:var(--mut)}
.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);display:inline-flex;align-items:center;justify-content:center;color:var(--txt);text-decoration:none;transition:background .3s,border-color .3s,color .3s}
.icon-btn:hover{background:var(--vio);border-color:var(--vio);color:#fff}
.icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme{position:relative;width:72px;height:40px;border-radius:999px;border:1px solid var(--line2);background:var(--card2);padding:3px;flex-shrink:0}
.theme__k{position:absolute;top:3px;left:3px;width:32px;height:32px;border-radius:50%;background:var(--vio);display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .6s var(--ease),background .4s}
[data-theme=light] .theme__k{transform:translateX(32px);background:var(--acc);color:var(--on-acc)}
.theme svg{position:absolute;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:opacity .4s,transform .6s var(--ease)}
.i-sun{opacity:0;transform:rotate(-90deg) scale(.5)}
[data-theme=light] .i-sun{opacity:1;transform:none}
[data-theme=light] .i-moon{opacity:0;transform:rotate(90deg) scale(.5)}
@media (max-width:1180px){.hdr__nav{display:none}}
@media (max-width:760px){.hdr__tel,.hdr__cta{display:none}}

/* hero: пятна из концепта 3 + сетка */
.hero{position:relative;padding:150px 0 64px;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.mesh{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.mesh i{position:absolute;border-radius:50%;filter:blur(90px)}
.mesh .m1{width:62vw;height:62vw;right:-16vw;top:-26vw;background:var(--vio);opacity:var(--mesh-a);animation:drift1 22s ease-in-out infinite}
.mesh .m2{width:42vw;height:42vw;left:-16vw;bottom:-22vw;background:var(--acc);opacity:calc(var(--mesh-a)*.45);animation:drift2 26s ease-in-out infinite}
.mesh .m3{width:30vw;height:30vw;left:42vw;top:24%;background:#4FD875;opacity:calc(var(--mesh-a)*.3);animation:drift3 30s ease-in-out infinite}
@keyframes drift1{50%{transform:translate(-8vw,6vw) scale(1.1)}}
@keyframes drift2{50%{transform:translate(10vw,-6vw) scale(1.15)}}
@keyframes drift3{50%{transform:translate(-12vw,8vw) scale(.85)}}
.hero__grid{position:absolute;inset:-2px;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 40%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse 75% 65% at 50% 40%,#000 25%,transparent 78%);opacity:var(--grid-o);animation:gridmove 30s linear infinite}
@keyframes gridmove{to{background-position:72px 72px,72px 72px}}
.hero__glow{position:absolute;inset:0;background:radial-gradient(560px circle at var(--mx,70%) var(--my,30%),rgba(123,76,249,.28),transparent 60%);pointer-events:none}
.hero__in{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:56px;align-items:center}
.hero__copy{display:flex;flex-direction:column;gap:30px}
.hero__h1{font-size:clamp(44px,6vw,96px);line-height:.94;font-weight:800;letter-spacing:-.035em}
.hero__lead{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--mut2);max-width:600px}
.hero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero__facts{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:24px;font-size:14px;color:var(--mut)}
.hero__facts li{display:flex;align-items:center;gap:8px}
.hero__facts li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--vio)}
@media (max-width:1024px){.hero__in{grid-template-columns:minmax(0,1fr)}.hero{padding-top:130px}}

/* консоль аудита */
.console{position:relative;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line2);box-shadow:var(--shadow);overflow:hidden;transform-style:preserve-3d}
.console::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(123,76,249,.8),transparent 32%,transparent 68%,rgba(182,255,86,.7));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.console__bar{display:flex;align-items:center;gap:7px;padding:14px 18px;border-bottom:1px solid var(--line)}
.console__bar i{width:10px;height:10px;border-radius:50%;background:var(--line2)}
.console__bar i:first-child{background:var(--vio)}
.console__bar span{margin-left:10px;font-size:12px;color:var(--mut);letter-spacing:.5px}
.console__body{padding:26px;display:flex;flex-direction:column;gap:18px}
.console__head{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.tag{font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--vio-txt);font-size:12px}
.console__h{font-size:clamp(24px,2.2vw,32px);line-height:1.1;font-weight:800}
.step{display:none;flex-direction:column;gap:12px}
.step.is-active{display:flex}
.console__note{font-size:15px;line-height:1.5;color:var(--mut2)}
.console__note b{color:var(--txt)}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;border-radius:14px;background:var(--field);border:1px solid var(--line)}
.seg button{min-height:42px;border-radius:10px;border:0;background:transparent;color:var(--mut2);font-weight:700;font-size:14px;transition:background .3s,color .3s}
.seg button[aria-checked=true]{background:var(--vio);color:#fff}
.console__progress{height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.console__progress i{display:block;height:100%;background:linear-gradient(90deg,var(--vio),var(--acc));transform:scaleX(0);transform-origin:left}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.checks li{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;font-size:13.5px;color:var(--mut2)}
.checks i{width:8px;height:8px;border-radius:50%;background:var(--line2);transition:background .3s,box-shadow .3s}
.checks em{font-style:normal;font-size:11px;color:var(--mut3);letter-spacing:.5px;text-transform:uppercase}
.checks li.is-on i{background:var(--vio);box-shadow:0 0 12px rgba(123,76,249,.9)}
.checks li.is-on em{color:var(--vio-txt)}
.okbox{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:16px;background:rgba(123,76,249,.1);border:1px solid rgba(123,76,249,.4);font-size:15px;line-height:1.55}
.okbox svg{width:26px;height:26px;flex-shrink:0;fill:none;stroke:var(--vio-txt);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.okbox--big{font-size:17px;padding:28px}
@media (max-width:520px){.checks{grid-template-columns:minmax(0,1fr)}}

/* kpi */
.kpis{position:relative;margin-top:64px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-m);background:var(--glass);backdrop-filter:blur(10px)}
.kpi{padding:24px 26px;display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--line)}
.kpi:last-child{border-right:0}
.kpi b{font-size:clamp(28px,2.6vw,38px);font-weight:800;letter-spacing:-.02em}
.kpi b.kpi__sm{font-size:19px;line-height:1.25;padding-top:6px}
.kpi:first-child b{color:var(--acc-txt)}
.kpi>span{font-size:14px;color:var(--mut);line-height:1.4}
@media (max-width:1024px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{border-bottom:1px solid var(--line)}.kpi:nth-child(2n){border-right:0}}

.clients{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0}
.clients .marquee__track{font-size:clamp(22px,2.4vw,34px);font-weight:800;color:var(--mut3);letter-spacing:-.01em}
.clients .marquee__track span{transition:color .3s}.clients .marquee__track span:hover{color:var(--txt)}
.clients .marquee__track i{font-style:normal;color:var(--vio);font-size:.6em}
.clients .marquee+.marquee{margin-top:14px}

.sec{padding:clamp(88px,10vw,150px) 0;position:relative}
.sec--alt{background:var(--bg2)}
.sec__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px}
.sec__head>div:first-child{display:flex;flex-direction:column;gap:16px}
.sec__lead{max-width:440px;font-size:17px;line-height:1.6;color:var(--mut2)}

/* манифест */
.mf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mf__i{position:relative;border-radius:var(--r-l);border:1px solid var(--line);background:var(--card);padding:34px;display:flex;flex-direction:column;gap:16px;min-height:300px;overflow:hidden;isolation:isolate}
.mf__i::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(123,76,249,.2),transparent 60%);opacity:0;transition:opacity .4s}
.mf__i:hover::before{opacity:1}
.mf__n{font-size:72px;font-weight:900;line-height:.85;color:transparent;-webkit-text-stroke:1.5px var(--vio);letter-spacing:-.04em}
.mf__i h3{font-size:24px;font-weight:800;margin-top:auto}
.mf__i p{font-size:16px;line-height:1.6;color:var(--mut2)}
@media (max-width:900px){.mf{grid-template-columns:minmax(0,1fr)}.mf__i{min-height:0}}

/* услуги: 8 направлений */
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.svc{position:relative;border-radius:var(--r-l);padding:28px 26px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:18px;color:var(--txt);overflow:hidden;isolation:isolate;transition:translate .6s var(--ease),border-color .4s}
.svc::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(123,76,249,.18),transparent 55%);opacity:0;transition:opacity .4s}
.svc:hover{translate:0 -6px;border-color:var(--vio)}
.svc:hover::before{opacity:1}
.svc__top{display:flex;justify-content:space-between;align-items:center}
.svc__n{font-size:13px;font-weight:800;color:var(--mut3);letter-spacing:2px}
.svc__from{font-size:13px;font-weight:700;color:var(--acc-txt)}
.svc h3{font-size:23px;line-height:1.1;font-weight:800}
.svc ul{display:flex;flex-direction:column;gap:9px}
.svc li{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding-bottom:9px;border-bottom:1px dashed var(--line2)}
.svc li span{color:var(--mut2)}.svc li b{font-weight:700;white-space:nowrap}
.svc__more{font-size:13px;color:var(--mut)}
.svc__go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;background:none;border:0;color:var(--txt);padding:0;min-height:44px}
.svc__go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .5s var(--ease)}
.svc:hover .svc__go{color:var(--vio-txt)}
.svc:hover .svc__go svg{transform:translate(3px,-3px)}
@media (max-width:1180px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.svc-grid{grid-template-columns:minmax(0,1fr)}}

/* кейсы */
.ledger{border-top:1px solid var(--line2)}
.ledger__head{display:grid;grid-template-columns:1.1fr 1.2fr 2fr .8fr;gap:24px;padding:14px 8px;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut3)}
.lrow{position:relative;display:grid;grid-template-columns:1.1fr 1.2fr 2fr .8fr;gap:8px 24px;align-items:center;padding:30px 8px;border-bottom:1px solid var(--line2);text-decoration:none;color:var(--txt);overflow:hidden;isolation:isolate}
.lrow::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--vio);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease)}
.lrow:hover{color:#fff}
.lrow:hover::before{transform:scaleY(1)}
.lrow>*{transition:transform .6s var(--ease),color .3s}
.lrow:hover>*{transform:translateX(12px)}
.lrow__m{font-size:clamp(34px,3.6vw,54px);font-weight:800;color:var(--acc-txt);line-height:1;letter-spacing:-.02em}
.lrow:hover .lrow__m{color:var(--acc)}
.lrow__c{display:flex;flex-direction:column;gap:4px}
.lrow__c b{font-size:19px}.lrow__c small{font-size:13px;color:var(--mut)}
.lrow__w{font-size:15px;line-height:1.55;color:var(--mut2)}
.lrow__t{font-size:14px;color:var(--mut)}
.lrow:hover small,.lrow:hover .lrow__w,.lrow:hover .lrow__t{color:#e8e2ff}
.lpreview{position:fixed;left:0;top:0;z-index:60;width:380px;aspect-ratio:16/10;border-radius:var(--r-l);border:1px solid var(--line);background:var(--card2);overflow:hidden;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.6);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lpreview img{width:100%;height:100%;object-fit:cover;object-position:top}
@media (max-width:860px){.ledger__head{display:none}.lrow{grid-template-columns:minmax(0,1fr);gap:10px}.lpreview{display:none}}
/* кейсы на главной (06.10): колода с главными цифрами, под ней история проекта */
.cdeck{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,72px);align-items:center}
.cdeck__pile{position:relative;height:clamp(380px,34vw,460px);touch-action:pan-y;user-select:none;-webkit-user-select:none}
.cdcard{position:absolute;inset:0 56px 24px 0;border-radius:28px;padding:clamp(22px,2.6vw,38px);display:flex;flex-direction:column;justify-content:space-between;gap:16px;text-decoration:none;
  box-shadow:0 30px 80px rgba(0,0,0,.4);transition:transform .7s var(--ease),opacity .5s;will-change:transform;cursor:grab;-webkit-user-drag:none}
.cdcard:active{cursor:grabbing}
.cdcard--lime{background:var(--acc);color:var(--on-acc)}
.cdcard--vio{background:var(--vio);color:#fff}
.cdcard--ink{background:var(--card2);color:var(--txt);border:1px solid var(--line2)}
.cdcard:hover{color:inherit}
.cdcard--lime:hover{color:var(--on-acc)}.cdcard--vio:hover{color:#fff}.cdcard--ink:hover{color:var(--txt)}
.cdcard__top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.cdcard__top b{display:block;font-size:18px;font-weight:800}
.cdcard__top small{display:block;font-size:13px;opacity:.75;margin-top:2px}
.cdcard__term{flex-shrink:0;border:1px solid currentColor;border-radius:999px;padding:4px 12px;font-size:13px;white-space:nowrap;opacity:.85}
.cdcard__mid{display:flex;flex-direction:column;gap:12px}
.cdcard__m{font-size:clamp(64px,8.6vw,136px);font-weight:800;letter-spacing:-.05em;line-height:.85}
.cdcard__l{font-size:clamp(17px,1.6vw,21px);font-weight:600;max-width:24ch;text-wrap:balance}
.cdcard__go{align-self:flex-start;font-weight:800;border-bottom:2px solid currentColor;padding-bottom:2px}
.cdeck__side{display:flex;flex-direction:column;gap:22px}
.cdeck__ctrl{display:flex;align-items:center;gap:12px}
.cdeck__btn{width:52px;height:52px;border-radius:50%;border:1px solid var(--line2);background:transparent;color:var(--txt);font:inherit;font-size:20px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.cdeck__btn:hover{background:var(--acc);color:var(--on-acc);border-color:var(--acc)}
.cdeck__n{margin-left:8px;color:var(--mut);font-weight:600;font-variant-numeric:tabular-nums}
.cdeck__n b{color:var(--txt);font-size:22px}
.cdeck__hint{margin:0;color:var(--mut);font-size:14px}
.cdeck__dots{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.cdeck__dots button{all:unset;cursor:pointer;display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line);position:relative}
.cdeck__dots button::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--acc-txt);transition:width .5s var(--ease)}
.cdeck__dots button[aria-selected=true]::after{width:100%}
.cdeck__dots b{font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--mut3);transition:color .3s;white-space:nowrap}
.cdeck__dots span{font-size:14px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cdeck__dots button:hover b,.cdeck__dots button[aria-selected=true] b{color:var(--acc-txt)}
.cdeck__dots button[aria-selected=true] span{color:var(--txt)}
.cdeck__dots button:focus-visible{outline:2px solid var(--acc-txt);outline-offset:2px}
.cstory{margin-top:clamp(40px,5vw,72px)}
.cstory__i{position:relative}
.cstory__line{position:relative;height:2px;background:var(--line);margin:0 0 30px}
.cstory__line i{position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,var(--vio),var(--acc));box-shadow:0 0 14px rgba(123,76,249,.55)}
.cstory__i.is-run .cstory__line i{width:100%;transition:width 1.6s var(--ease)}
.cstory__line span{position:absolute;right:0;bottom:10px;font-size:13px;color:var(--mut)}
.cstory__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
.cstep{position:relative;display:flex;flex-direction:column;gap:12px;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.cstep::before{content:"";position:absolute;top:-37px;left:0;width:14px;height:14px;border-radius:50%;background:var(--bg2);border:2px solid var(--line2)}
.cstep--a::before{border-color:var(--acc);background:var(--acc);box-shadow:0 0 16px var(--acc)}
.cstory__i.is-out .cstep{opacity:0;transform:translateY(10px)}
.cstep__k{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--mut3)}
.cstep--a .cstep__k{color:var(--acc-txt)}
.cstep p{margin:0;font-size:clamp(15px,1.4vw,18px);line-height:1.55;color:var(--mut2);max-width:36ch}
.cstep--b p{color:var(--mut)}
.cstep__m{font-size:clamp(48px,5.4vw,80px);font-weight:800;letter-spacing:-.045em;line-height:.9;color:var(--acc-txt)}
.cstory__foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:32px;color:var(--mut);font-size:15px}
.cstory__foot b{color:var(--txt)}
[data-theme=light] .cdcard{box-shadow:0 24px 60px rgba(29,29,27,.14)}
@media (max-width:960px){.cdeck{grid-template-columns:minmax(0,1fr)}.cdeck__dots{display:none}.cdeck__side{order:2}}
@media (max-width:760px){.cdeck__pile{height:390px}.cdcard{inset:0 44px 22px 0}
  .cstory__line{display:none}.cstory__steps{grid-template-columns:minmax(0,1fr);gap:26px;padding-left:30px;border-left:2px solid var(--line);margin-left:6px}
  .cstep::before{top:3px;left:-39px}}
@media (prefers-reduced-motion:reduce){.cdcard,.cstep,.cstory__line i{transition:none!important}}

/* калькулятор-смета */
.calc{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:14px;align-items:start}
.calc__ctrl{padding:clamp(18px,2.5vw,30px);display:flex;flex-direction:column;gap:20px}
.cats{display:flex;flex-wrap:wrap;gap:8px}
.cat{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--txt);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:8px;transition:background .35s,color .35s,border-color .35s}
.cat:hover{border-color:var(--vio)}
.cat[aria-selected=true]{background:var(--vio);border-color:var(--vio);color:#fff}
.cat i{font-style:normal;min-width:20px;height:20px;border-radius:999px;background:var(--acc);color:var(--on-acc);font-size:11px;font-weight:800;display:none;align-items:center;justify-content:center;padding:0 6px}
.cat i.on{display:inline-flex}
.items{display:flex;flex-direction:column;gap:8px}
.it{border:1px solid var(--line2);border-radius:18px;transition:border-color .3s,background .3s}
.it.is-on{border-color:var(--vio);background:rgba(123,76,249,.07)}
.it__row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;cursor:pointer}
.it__row input{position:absolute;opacity:0;pointer-events:none}
.it__box{width:24px;height:24px;border-radius:8px;border:1.5px solid var(--mut3);display:inline-flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s}
.it__box svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transform:scale(0);transition:transform .35s var(--ease)}
.it.is-on .it__box{background:var(--vio);border-color:var(--vio)}
.it.is-on .it__box svg{transform:scale(1)}
.it__row input:focus-visible+.it__box{outline:2px solid var(--vio);outline-offset:2px}
.it__t{display:flex;flex-direction:column;gap:2px}
.it__t b{font-size:16px}.it__t span{font-size:13px;color:var(--mut)}
.it__p{font-weight:800;font-size:15px;white-space:nowrap;text-align:right}
.it__ext{display:none;padding:0 18px 16px 56px;gap:8px;flex-wrap:wrap;align-items:center}
.it.is-on .it__ext{display:flex}
.lv{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:var(--field);color:var(--txt);font-size:13.5px;font-weight:700;transition:background .3s,border-color .3s,color .3s}
.lv[aria-pressed=true]{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}
.hrs{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line2);border-radius:999px;padding:3px;background:var(--field)}
.hrs button{width:34px;height:34px;border-radius:50%;border:0;background:var(--card2);color:var(--txt);font-size:18px;font-weight:700}
.hrs span{min-width:64px;text-align:center;font-weight:800;font-size:14px}
.it__hint{font-size:13px;color:var(--mut)}
.calc__res{position:sticky;top:96px;border-radius:var(--r-l);background:var(--acc);color:var(--on-acc);padding:clamp(22px,2.5vw,32px);display:flex;flex-direction:column;gap:14px;overflow:hidden}
.calc__res::after{content:"";position:absolute;right:-120px;top:-140px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(123,76,249,.35),transparent 70%);pointer-events:none}
.calc__top{display:flex;justify-content:space-between;align-items:center}
.calc__cap{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.calc__clear{background:none;border:0;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:inherit;min-height:32px}
.basket{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto;margin-right:-6px;padding-right:6px}
.basket li{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(29,29,27,.08);font-size:14px}
.basket li b{font-weight:800;white-space:nowrap;font-size:13.5px}
.basket li small{display:block;font-size:12px;opacity:.7}
.basket li button{width:28px;height:28px;border-radius:50%;border:0;background:rgba(29,29,27,.12);color:inherit;font-size:16px;line-height:1}
.basket .empty{display:block;background:none;padding:6px 0;font-size:15px;opacity:.8}
.totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:2px solid var(--on-acc);padding-top:14px}
.totals div{display:flex;flex-direction:column;gap:2px}
.totals span{font-size:13px;font-weight:600}
.totals b{font-size:clamp(24px,2.2vw,32px);font-weight:900;letter-spacing:-.02em}
.calc__note{font-size:13px;line-height:1.45}
.calc__form{background:var(--black);color:#fff;border-radius:20px;padding:18px}
.calc__form .form-body{display:flex;flex-direction:column;gap:10px}
.calc__ft{font-weight:700;font-size:15px}
.calc__row{display:flex;flex-wrap:wrap;gap:8px}
.calc__row .field{flex:1 1 180px}
.calc__row .field input{padding:13px 16px;background:#262624;border-color:#3e3e39;color:#fff}
.calc__row .btn{flex:1 1 140px;min-height:50px;--fill:#fff}
.calc__tg{font-size:14px;color:var(--acc)}
.okline{font-weight:700;padding:8px 0;color:var(--acc)}
@media (max-width:1024px){.calc{grid-template-columns:minmax(0,1fr)}.calc__res{position:relative;top:auto}}
@media (max-width:560px){.it__ext{padding-left:18px}.it__row{grid-template-columns:24px minmax(0,1fr)}.it__p{grid-column:2;text-align:left}}

/* прогноз */
.roi{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.roi__ctrl{padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:20px}
.roi__cap{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut)}
.roi__cap--acc{color:var(--vio-txt);border-top:1px solid var(--line);padding-top:20px;margin-top:4px}
.rng{display:flex;flex-direction:column;gap:6px}
.rng>span{display:flex;justify-content:space-between;gap:12px;font-size:15px;align-items:center}
.rng em{font-style:normal;color:var(--mut2)}
.rng b{font-weight:800;font-variant-numeric:tabular-nums}
.rng .num{width:auto;min-width:72px;max-width:150px;text-align:right;font:inherit;font-weight:800;font-variant-numeric:tabular-nums;background:transparent;border:0;border-bottom:1px dashed var(--line2);color:var(--txt);padding:2px 0}
.rng .num:focus{outline:0;border-bottom-color:var(--vio)}
.roi__out{padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:26px}
.roi__pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.roi__pair div{display:flex;flex-direction:column;gap:6px}
.roi__pair span{font-size:13px;color:var(--mut)}
.roi__pair b{font-size:clamp(34px,3.4vw,48px);font-weight:800;letter-spacing:-.02em}
.roi__bars{display:flex;flex-direction:column;gap:14px}
.bar>span{display:flex;justify-content:space-between;font-size:14px;color:var(--mut2);margin-bottom:8px}
.bar em{font-style:normal}
.bar i{display:block;height:14px;border-radius:8px;background:var(--card2);overflow:hidden}
.bar s{display:block;height:100%;width:50%;border-radius:8px;background:var(--mut3);transition:width .8s var(--ease)}
.bar--acc s{background:linear-gradient(90deg,var(--vio),var(--acc))}
.bar--acc b{color:var(--acc-txt)}
.roi__delta{border-radius:20px;padding:24px;background:linear-gradient(135deg,rgba(123,76,249,.18),rgba(182,255,86,.08));border:1px solid rgba(123,76,249,.35);display:flex;flex-direction:column;gap:6px}
.roi__delta>span{font-size:14px;color:var(--mut2)}
.roi__delta>b{font-size:clamp(36px,4.2vw,62px);font-weight:900;color:var(--acc-txt);line-height:1;letter-spacing:-.03em;word-break:break-word}
.roi__delta small{font-size:14px;color:var(--mut2)}
@media (max-width:1024px){.roi{grid-template-columns:minmax(0,1fr)}}

/* процесс */
.process{position:relative;background:var(--bg);border-top:1px solid var(--line)}
.process__pin{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:110px 0 60px;overflow:hidden}
.process__head{display:flex;flex-direction:column;gap:16px;margin-bottom:48px;width:100%}
.process__bar{height:2px;background:var(--line);margin-top:20px;border-radius:2px;overflow:hidden;max-width:520px}
.process__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--vio),var(--acc));transform:scaleX(0);transform-origin:left}
.process__track{display:flex;gap:16px;padding-left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));padding-right:var(--gutter);width:max-content}
.pstep{width:min(420px,78vw);min-height:360px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;gap:14px;flex-shrink:0}
.pstep__n{font-size:96px;font-weight:900;line-height:.85;color:transparent;-webkit-text-stroke:1.5px var(--line2);letter-spacing:-.04em}
.pstep__t{font-size:13px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--vio-txt);margin-top:clamp(24px,4vw,56px)}
.pstep h3{font-size:28px;font-weight:800}
.pstep p{font-size:16px;line-height:1.55;color:var(--mut2)}
.pstep--acc{background:var(--vio);color:#fff;border-color:var(--vio)}
.pstep--acc .pstep__n{-webkit-text-stroke-color:rgba(255,255,255,.6)}
.pstep--acc .pstep__t{color:var(--acc)}
.pstep--acc p{color:#e8e2ff}
@media (max-width:860px){.process__track{width:auto;flex-direction:column;padding-right:var(--gutter)}.pstep{width:100%;min-height:0}}

/* нейроконсультант */
.kicker--v{color:var(--vio-txt)}
.ai{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.ai__copy{display:flex;flex-direction:column;gap:22px}
.ai__feat{display:flex;flex-wrap:wrap;gap:10px}
.ai__feat li{padding:10px 16px;border-radius:999px;border:1px solid var(--line2);font-size:14px;color:var(--mut2)}
.chat{border-radius:32px;background:var(--card);border:1px solid var(--line2);padding:20px;display:flex;flex-direction:column;gap:14px;height:580px;box-shadow:0 40px 120px rgba(123,76,249,.2);transform-style:preserve-3d}
.chat__top{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.chat__ava{width:44px;height:44px;border-radius:50%;background:var(--vio);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:14px}
/* аватарка-маска (05.10) */
.chat__ava{position:relative;flex:none;width:46px;height:54px;border-radius:0;background:none;box-shadow:none;overflow:visible}
.chat__mask{width:46px;height:54px;overflow:visible;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35)) drop-shadow(0 0 8px rgba(123,76,249,.45))}
[data-theme=light] .chat__mask{filter:drop-shadow(0 3px 5px rgba(29,29,27,.25)) drop-shadow(0 0 6px rgba(123,76,249,.35))}
.chat__mask{transition:none;will-change:transform}
.chat__me{transform-origin:50px 48px;transition:transform .2s}
.chat__mt{display:none;transform-origin:51px 86px}
.chat.is-mtalk .chat__mm{display:none}
.chat.is-mtalk .chat__mt{display:inline;animation:fabmouth .26s ease-in-out infinite alternate}
.chat.is-mtype .chat__me{transform:scaleY(.45)}
.chat.is-mblink .chat__me{transform:scaleY(.12)}
@media (prefers-reduced-motion:reduce){.chat.is-mtalk .chat__mt{animation:none}}
.chat__who{display:flex;flex-direction:column}
.chat__who small{font-size:13px;color:#2fae55;display:flex;align-items:center;gap:6px}
[data-theme=dark] .chat__who small{color:#4FD875}
.chat__who small i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.3}}
.chat__log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px;scrollbar-width:thin}
.msg{max-width:86%;padding:14px 16px;font-size:15px;line-height:1.5;border-radius:20px}
.msg--bot{align-self:flex-start;background:var(--card2);border-bottom-left-radius:6px}
.msg--me{align-self:flex-end;background:var(--vio);color:#fff;font-weight:600;border-bottom-right-radius:6px}
.msg--typing{display:inline-flex;gap:5px;padding:16px 18px}
.msg--typing i{width:7px;height:7px;border-radius:50%;background:var(--mut3);animation:typing 1s infinite}
.msg--typing i:nth-child(2){animation-delay:.15s}.msg--typing i:nth-child(3){animation-delay:.3s}
@keyframes typing{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}
.msg__form{display:flex;gap:8px;margin-top:10px}
.msg__form input{flex:1;min-width:0;font-size:15px;padding:12px 16px;border-radius:999px;border:1px solid var(--line2);background:var(--field);color:var(--txt)}
.msg__form button{min-height:44px;padding:0 16px;border-radius:999px;border:0;background:var(--acc);color:var(--on-acc);font-weight:800}
.chat__chips{display:flex;flex-wrap:wrap;gap:8px}
.chat__chips button{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--txt);font-size:14px;font-weight:600;transition:background .3s,border-color .3s,color .3s}
.chat__chips button:hover{background:var(--vio);color:#fff;border-color:var(--vio)}
.chat__in{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:14px}
.chat__in input{flex:1;min-width:0;font-size:16px;padding:13px 18px;border-radius:999px;border:1px solid var(--line);background:var(--field);color:var(--txt);outline:0}
.chat__in input:focus{border-color:var(--vio)}
.chat__in button{width:48px;height:48px;border-radius:50%;border:0;background:var(--vio);color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:transform .4s var(--ease)}
.chat__in button:hover{transform:rotate(-45deg)}
.chat__in svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
@media (max-width:1000px){.ai{grid-template-columns:minmax(0,1fr)}.chat{height:540px}}

/* квиз */
.quiz{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:48px;padding:clamp(26px,4vw,56px);background:radial-gradient(800px circle at 0% 0%,rgba(123,76,249,.22),transparent 60%),var(--card)}
.quiz__side{display:flex;flex-direction:column;gap:18px}
.quiz__dots{display:flex;gap:6px;margin-top:auto}
.quiz__dots i{height:4px;flex:1;border-radius:4px;background:var(--line2);transition:background .5s}
.quiz__dots i.on{background:var(--vio)}
.quiz__stage{min-height:420px;display:flex;flex-direction:column;gap:16px}
.q__num{font-size:13px;color:var(--mut)}
.q__t{font-size:clamp(24px,2.4vw,32px);font-weight:800;line-height:1.15}
.q__opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.q__opts--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.q__opt{text-align:left;min-height:64px;padding:14px 18px;border-radius:16px;border:1px solid var(--line2);background:var(--field);color:var(--txt);font-weight:700;font-size:15px;display:flex;justify-content:space-between;align-items:center;gap:10px;transition:border-color .3s,background .3s,transform .4s var(--ease),color .3s}
.q__opt:hover{border-color:var(--vio);transform:translateY(-2px);background:var(--vio);color:#fff}
.q__opt svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .4s var(--ease)}
.q__opt:hover svg{opacity:1;transform:none}
.q__back{align-self:flex-start;background:none;border:0;color:var(--mut);font-size:14px;min-height:44px;padding:0;text-decoration:underline;text-underline-offset:4px}
.q__res{display:flex;flex-direction:column;gap:14px}
.q__tag{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--vio-txt)}
.q__title{font-size:clamp(28px,2.8vw,40px);font-weight:800;line-height:1.08}
.q__list{display:flex;flex-direction:column;gap:8px}
.q__list li{display:flex;gap:12px;align-items:baseline;font-size:16px;color:var(--mut2)}
.q__list li span{font-weight:900;color:var(--vio-txt);min-width:18px}
.q__cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.q__cards div{background:var(--field);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--line)}
.q__cards small{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:1px}
.q__cards b{font-size:26px;font-weight:800}
.q__cards span{font-size:14px;color:var(--mut2);line-height:1.4}
.q__btns{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:1000px){.quiz{grid-template-columns:minmax(0,1fr)}.q__opts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.q__opts--2,.q__cards{grid-template-columns:minmax(0,1fr)}.q__opt{font-size:14px;padding:12px 14px}}

/* письмо руководителя */
.letter__in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,120px);align-items:center}
.letter__img{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:3/4;background:var(--card2)}
.letter__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.letter__copy{display:flex;flex-direction:column;gap:28px}
.letter__q{font-family:Winston,system-ui,sans-serif;font-weight:500;font-size:clamp(27px,3.2vw,48px);line-height:1.2;letter-spacing:-.01em}
.sign{display:flex;align-items:center;gap:28px}
.sign span{display:flex;flex-direction:column}
.sign b{font-size:18px}.sign small{font-size:14px;color:var(--mut)}
.sig{display:block;width:240px;height:auto;color:var(--txt)}
.sig__p{stroke-dasharray:1;stroke-dashoffset:1}
.no-motion .sig__p{stroke-dashoffset:0}
@media (max-width:900px){.letter__in{grid-template-columns:minmax(0,1fr)}.letter__img{aspect-ratio:4/5;max-width:520px}.letter__img img{object-position:50% 12%}}

/* команда: лента в одну строку */
.team{padding:clamp(88px,10vw,150px) 0;overflow:hidden}
.team__head{display:flex;flex-direction:column;gap:18px;margin-bottom:48px}
.team__rail{display:flex;gap:16px;padding-left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));width:max-content}
.mate{width:clamp(220px,22vw,300px);flex-shrink:0;display:flex;flex-direction:column;gap:14px}
.mate__img{border-radius:24px;overflow:hidden;aspect-ratio:3/4;background:var(--card2)}
.mate img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transform:scale(1.02);transition:filter .7s var(--ease),transform .9s var(--ease)}
.mate:hover img{filter:grayscale(0);transform:scale(1.07)}
.mate figcaption{display:flex;flex-direction:column;gap:3px}
.mate b{font-size:17px}.mate span{font-size:14px;color:var(--mut)}
@media (max-width:860px){.team__rail{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-right:var(--gutter);-webkit-overflow-scrolling:touch}.mate{scroll-snap-align:start}}

/* благодарственные письма */
.letters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:16px}
.ltr{display:flex;flex-direction:column;gap:14px;background:none;border:0;padding:0;text-align:left;color:var(--txt)}
.ltr__paper{position:relative;aspect-ratio:1/1.414;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.25);transform:rotate(var(--r,0deg));transition:transform .7s var(--ease),box-shadow .5s}
.ltr__paper img{width:100%;height:100%;object-fit:cover;object-position:top}
.ltr__paper::after{content:"Читать";position:absolute;inset:auto 12px 12px auto;padding:8px 14px;border-radius:999px;background:var(--vio);color:#fff;font-size:12px;font-weight:800;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .5s var(--ease)}
.ltr:hover .ltr__paper{transform:rotate(0) translateY(-10px) scale(1.03);box-shadow:0 30px 60px rgba(0,0,0,.35)}
.ltr:hover .ltr__paper::after{opacity:1;transform:none}
.ltr__who{font-size:16px;font-weight:800}
.ltr__role{font-size:13px;color:var(--mut);margin-top:-10px}
.ltr__q{font-size:14px;line-height:1.5;color:var(--mut2)}
.reviews{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px}
.rv{border-radius:var(--r-l);padding:30px;border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;gap:20px}
.rv blockquote{font-size:17px;line-height:1.55}
.rv figcaption{margin-top:auto;display:flex;flex-direction:column;gap:2px;font-size:14px;color:inherit;opacity:.85}
.rv--big{background:var(--vio);color:#fff;border-color:var(--vio)}
.rv--big blockquote{font-size:clamp(22px,2.2vw,30px);line-height:1.35;font-weight:700}
.rv--map{justify-content:center}
.rv__score{font-size:72px;font-weight:900;line-height:1;color:var(--acc-txt)}
.rv--map>span{font-size:16px;color:var(--mut2)}
@media (max-width:1100px){.letters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.letters{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews{grid-template-columns:minmax(0,1fr)}}

/* лайтбокс */
.lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:#fff}
.lb::backdrop{background:rgba(10,10,9,.88);backdrop-filter:blur(8px)}
.lb[open]{display:flex;align-items:center;justify-content:center;gap:16px}
.lb__fig{margin:0;display:flex;flex-direction:column;gap:12px;align-items:center;max-height:92vh}
.lb__fig img{max-height:84vh;width:auto;max-width:min(92vw,760px);border-radius:12px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb__fig figcaption{font-size:15px;color:#cfcfc8}
.lb__x{position:fixed;top:18px;right:18px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font-size:28px;line-height:1}
.lb__nav{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font-size:30px;line-height:1;flex-shrink:0}
.lb__nav:hover,.lb__x:hover{background:var(--vio);border-color:var(--vio)}
@media (max-width:640px){.lb__nav{position:fixed;bottom:18px}.lb__prev{left:18px}.lb__next{right:18px}}

/* faq */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px}
.faq__list{border-top:1px solid var(--line2)}
.faq .acc{border-bottom:1px solid var(--line2)}
.faq .acc__btn{color:var(--txt);font-size:clamp(18px,1.6vw,22px);font-weight:700}
.faq .acc__btn:hover{color:var(--vio-txt)}
.faq .acc__ico{color:var(--vio-txt)}
.faq .acc__body{font-size:16px;line-height:1.65;color:var(--mut2);max-width:640px}
@media (max-width:900px){.faq{grid-template-columns:minmax(0,1fr)}}

/* форма */
.cta{position:relative;padding:clamp(100px,12vw,180px) 0;overflow:hidden;border-top:1px solid var(--line)}
.mesh--cta .m1{top:auto;bottom:-32vw}
.cta__in{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.cta__copy{display:flex;flex-direction:column;gap:26px}
.cta__h{font-size:clamp(42px,5.6vw,88px);line-height:.96;font-weight:800;letter-spacing:-.03em}
.cta__links{display:flex;flex-wrap:wrap;gap:10px}
.cta__form{padding:clamp(24px,3vw,40px);background:var(--glass);backdrop-filter:blur(14px)}
.cta__form .form-body{display:flex;flex-direction:column;gap:16px}
@media (max-width:1024px){.cta__in{grid-template-columns:minmax(0,1fr)}}

/* подвал */
.ftr{border-top:1px solid var(--line);padding-top:64px;overflow:hidden}
.ftr__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;font-size:15px;color:var(--mut)}
.ftr__col{display:flex;flex-direction:column;gap:12px}
.ftr__col img{height:32px;width:auto;align-self:flex-start;margin-bottom:6px}
.ftr__col b{color:var(--txt)}
.ftr__col a{text-decoration:none;color:var(--mut);transition:color .3s}
.ftr__col a:hover{color:var(--vio-txt)}
.ftr__col .ftr__tel{color:var(--txt);font-weight:700;font-size:18px}
.ftr__word{position:relative;font-size:clamp(90px,23vw,370px);font-weight:900;line-height:.8;letter-spacing:-.05em;text-align:center;margin-top:64px;white-space:nowrap;user-select:none}
.ftr__word .o{display:block;color:transparent;-webkit-text-stroke:1px var(--line2)}
.ftr__word .f{position:absolute;inset:0;background:linear-gradient(90deg,var(--vio),var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent;clip-path:inset(0 100% 0 0)}
.ftr__bottom{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding-top:28px;padding-bottom:120px;font-size:13px;color:var(--mut3)}
.ftr__bottom a{color:var(--mut3);text-decoration:none}
@media (max-width:860px){.ftr__grid{grid-template-columns:1fr 1fr}}

/* плавающие кнопки */
.dock{position:fixed;left:50%;bottom:18px;z-index:120;display:flex;gap:4px;padding:6px;border-radius:999px;background:rgba(29,29,27,.94);backdrop-filter:blur(16px);border:1px solid #3c3c37;box-shadow:0 18px 50px rgba(0,0,0,.45);transform:translate(-50%,160%);transition:transform .7s var(--ease)}
.dock.is-on{transform:translate(-50%,0)}
.dock a{min-height:48px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:700;font-size:15px;transition:background .3s}
.dock a:hover{background:rgba(255,255,255,.08);color:#fff}
.dock a b{font-size:13px;letter-spacing:1px}
.dock svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dock .dock__main{background:var(--acc);color:var(--on-acc);padding:0 22px}
.dock .dock__main:hover{background:#fff;color:var(--black)}
@media (max-width:640px){.dock{left:12px;right:12px;transform:translateY(160%)}.dock.is-on{transform:none}.dock a span{display:none}.dock .dock__main{flex:1;justify-content:center}}
@media (min-width:901px){.cswitch{bottom:16px}}
@media (max-width:900px){.cswitch{bottom:88px}}
@media (max-width:640px){.chat__chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chat__chips button{flex-shrink:0}.chat{height:520px}}

/* пояснения в прогнозе */
.roi__hint{font-size:14px;line-height:1.5;color:var(--mut);margin:-10px 0 4px}

/* =========================================================
   ОБЩИЕ КОМПОНЕНТЫ ВСЕХ СТРАНИЦ
   ========================================================= */

/* главное меню с выпадающими панелями */
.mnav{flex:1;min-width:0}
.mnav__list{display:flex;align-items:center;gap:4px}
.mnav__item{display:flex;align-items:center}
.mnav__item.has-sub:not(.has-mega){position:relative}
.mnav__link{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 6px 0 10px;font-size:15px;font-weight:500;text-decoration:none;color:var(--txt);opacity:.85;transition:opacity .3s,color .3s}
.mnav__item:not(.has-sub) .mnav__link{padding-right:10px}
.mnav__link::after{content:"";position:absolute;left:10px;right:6px;bottom:6px;height:1.5px;background:var(--vio);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.mnav__item:hover .mnav__link,.mnav__item.is-open .mnav__link,.mnav__item.is-cur .mnav__link{opacity:1;color:var(--txt)}
.mnav__item:hover .mnav__link::after,.mnav__item.is-open .mnav__link::after,.mnav__item.is-cur .mnav__link::after{transform:scaleX(1);transform-origin:left}
.mnav__tog{width:26px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:var(--mut);padding:0;margin-right:4px;border-radius:8px}
.mnav__tog svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s var(--ease)}
.mnav__item.is-open .mnav__tog{color:var(--vio-txt)}
.mnav__item.is-open .mnav__tog svg{transform:rotate(180deg)}
.mega,.drop{position:absolute;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .35s var(--ease),transform .5s var(--ease),visibility 0s .35s}
.mnav__item.is-open>.mega,.mnav__item.is-open>.drop{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .35s var(--ease),transform .5s var(--ease),visibility 0s}
.mega{left:0;right:0;top:100%;background:var(--glass);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
.mega__in{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;padding-top:36px;padding-bottom:40px}
.mega__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 28px}
.mega__col{display:flex;flex-direction:column;gap:12px}
.mega__h{font-size:15px;font-weight:800;text-decoration:none;color:var(--txt);padding-bottom:10px;border-bottom:1px solid var(--line2);transition:color .3s,border-color .3s}
.mega__h:hover{color:var(--vio-txt);border-color:var(--vio)}
.mega__col ul{display:flex;flex-direction:column;gap:8px}
.mega__col li a{font-size:14px;line-height:1.35;color:var(--mut2);text-decoration:none;display:inline-block;transition:color .3s,transform .4s var(--ease)}
.mega__col li a:hover{color:var(--vio-txt);transform:translateX(4px)}
.mega__col .mega__all{color:var(--acc-txt);font-weight:700}
.mega__promo{position:relative;overflow:hidden;border-radius:var(--r-l);padding:26px;background:var(--vio);color:#fff;text-decoration:none;display:flex;flex-direction:column;gap:12px;isolation:isolate}
.mega__promo::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--acc);filter:blur(70px);opacity:.35;right:-100px;bottom:-120px;z-index:-1;transition:transform .8s var(--ease)}
.mega__promo:hover{color:#fff}.mega__promo:hover::before{transform:translate(-40px,-30px) scale(1.2)}
.mega__promo-k{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--acc)}
.mega__promo b{font-size:26px;line-height:1.1;font-weight:800}
.mega__promo span{font-size:14px;line-height:1.5;color:#e8e2ff}
.mega__promo .mega__promo-go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#fff;font-size:15px}
.mega__promo-go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .5s var(--ease)}
.mega__promo:hover .mega__promo-go svg{transform:translateX(6px)}
.drop{left:0;top:calc(100% + 10px);min-width:300px;padding:10px;border-radius:22px;background:var(--glass);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border:1px solid var(--line);box-shadow:var(--shadow)}
.drop::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.drop a{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:14px;text-decoration:none;color:var(--txt);transition:background .3s}
.drop a:hover{background:var(--card2);color:var(--txt)}
.drop a b{font-size:15px;font-weight:700}
.drop a span{font-size:13px;color:var(--mut);line-height:1.35}
.drop a:hover b{color:var(--vio-txt)}
.hdr:has(.is-open){background:var(--glass);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-color:var(--line)}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--line2);background:var(--card2);position:relative;flex-shrink:0}
.burger i{position:absolute;left:14px;right:14px;height:2px;background:var(--txt);border-radius:2px;transition:transform .5s var(--ease),top .5s var(--ease)}
.burger i:first-child{top:18px}.burger i:last-child{top:25px}
.burger[aria-expanded=true] i:first-child{top:21.5px;transform:rotate(45deg)}
.burger[aria-expanded=true] i:last-child{top:21.5px;transform:rotate(-45deg)}
@media (max-width:1240px){.mnav{display:none}.burger{display:block}.hdr__in{gap:16px}}
@media (min-width:1241px) and (max-width:1380px){.hdr__tel{display:none}}

/* мобильное меню */
.drawer{position:fixed;inset:0;z-index:99;background:var(--bg);padding:96px var(--gutter) 40px;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .7s var(--ease),visibility 0s .7s}
.drawer.is-open{transform:none;visibility:visible;transition:transform .7s var(--ease),visibility 0s}
.drawer-open{overflow:hidden}
.drw{max-width:640px;margin:0 auto;display:flex;flex-direction:column}
.drw__item{border-bottom:1px solid var(--line)}
.drw__row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.drw__link{flex:1;padding:18px 0;font-size:26px;font-weight:800;letter-spacing:-.01em;text-decoration:none;color:var(--txt)}
.drw__tog{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:none;color:var(--txt);display:inline-flex;align-items:center;justify-content:center}
.drw__tog svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .45s var(--ease)}
.drw__item.is-open .drw__tog{background:var(--vio);border-color:var(--vio);color:#fff}
.drw__item.is-open .drw__tog svg{transform:rotate(180deg)}
.drw__sub{height:0;overflow:hidden}
.drw__sub ul{display:flex;flex-direction:column;gap:12px;padding:2px 0 20px}
.drw__sub a{font-size:16px;color:var(--mut2);text-decoration:none}
.drw__foot{display:flex;flex-direction:column;gap:10px;padding-top:28px;font-size:16px}
.drw__foot a{color:var(--mut2);text-decoration:none}
.drw__foot .drw__tel{font-size:24px;font-weight:800;color:var(--txt)}
.drw__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}

/* шапка внутренней страницы */
.phead{position:relative;overflow:hidden;padding:clamp(130px,14vw,190px) 0 clamp(56px,6vw,90px);border-bottom:1px solid var(--line)}
.phead .hero__grid{opacity:.8}
.phead__in{position:relative;display:flex;flex-direction:column;gap:22px}
.phead__h1{font-size:clamp(40px,5.6vw,88px);line-height:.96;font-weight:800;letter-spacing:-.035em;max-width:20ch}
.phead--compact .phead__h1{font-size:clamp(34px,4.4vw,64px);max-width:26ch}
.phead--long .phead__h1{font-size:clamp(32px,3.8vw,58px);max-width:28ch;line-height:1.04}
.phead__lead{max-width:720px}
.phead__lead p{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--mut2)}
.phead__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.phead__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
.phead__split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;align-items:end}
.phead__img{border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/3;background:var(--card2);border:1px solid var(--line)}
.phead__img img{width:100%;height:100%;object-fit:cover}
@media (max-width:960px){.phead__split{grid-template-columns:minmax(0,1fr)}}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);font-size:14px;color:var(--mut2);white-space:nowrap}
.chip b{color:var(--txt);font-weight:800}
.chip--acc{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}
.chip--acc b{color:var(--on-acc)}
.chip--v{background:rgba(123,76,249,.14);border-color:rgba(123,76,249,.45);color:var(--vio-txt)}

/* хлебные крошки */
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px 0;font-size:13px;color:var(--mut)}
.crumbs li{display:flex;align-items:center}
.crumbs li+li::before{content:"/";margin:0 10px;color:var(--mut3)}
.crumbs a{color:var(--mut);text-decoration:none;transition:color .3s}
.crumbs a:hover{color:var(--vio-txt)}
.crumbs span{color:var(--mut2);max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* полосы фактов */
.facts{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-m);background:var(--card)}
.fact{padding:22px 24px;display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--line)}
.fact:last-child{border-right:0}
.fact b{font-size:clamp(22px,2.2vw,32px);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.fact:first-child b{color:var(--acc-txt)}
.fact span{font-size:14px;color:var(--mut);line-height:1.4}
@media (max-width:860px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.fact{border-bottom:1px solid var(--line)}.fact:nth-child(2n){border-right:0}}

/* сетки карточек */
.cgrid,.agrid,.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tgrid{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:14px;align-items:stretch}
.mgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 16px}
.mgrid .mate{width:auto}
.lgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1100px){.cgrid,.agrid,.pgrid,.sgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.tgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.mgrid,.lgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:680px){.cgrid,.agrid,.pgrid,.sgrid,.tgrid{grid-template-columns:minmax(0,1fr)}.mgrid,.lgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.is-later{display:none!important}
.more{display:flex;justify-content:center;margin-top:40px}

/* карточка кейса */
.ccard{position:relative;display:flex;flex-direction:column;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);overflow:hidden;text-decoration:none;color:var(--txt);transition:transform .7s var(--ease),border-color .4s}
.ccard:hover{transform:translateY(-8px);border-color:var(--vio);color:var(--txt)}
.ccard__img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--card2)}
.ccard__img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1.2s var(--ease)}
.ccard:hover .ccard__img img{transform:scale(1.06)}
.ccard__b{display:flex;flex-direction:column;gap:10px;padding:24px;flex:1}
.ccard__b small{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--vio-txt)}
.ccard__m{font-size:clamp(30px,2.8vw,42px);line-height:1;font-weight:800;color:var(--acc-txt);letter-spacing:-.02em}
.ccard__b strong{font-size:19px;line-height:1.3;font-weight:800}
.ccard__p{font-size:14.5px;line-height:1.55;color:var(--mut2)}

/* карточка статьи */
.acard{display:flex;flex-direction:column;gap:18px;text-decoration:none;color:var(--txt)}
.acard__img{display:block;position:relative;aspect-ratio:16/10;border-radius:var(--r-m);overflow:hidden;background:var(--card2);border:1px solid var(--line)}
.acard__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.acard:hover .acard__img img{transform:scale(1.06)}
.acard__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:96px;font-weight:900;color:var(--vio);background:radial-gradient(circle at 70% 20%,rgba(123,76,249,.3),transparent 60%)}
.acard__b{display:flex;flex-direction:column;gap:10px}
.acard__b small{font-size:13px;color:var(--mut)}
.acard__b strong{font-size:20px;line-height:1.3;font-weight:800;transition:color .3s}
.acard:hover strong{color:var(--vio-txt)}
.acard__b>span{font-size:15px;line-height:1.55;color:var(--mut2)}

/* карточка услуги */
.scard{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--txt);min-height:260px;overflow:hidden;transition:transform .6s var(--ease),border-color .4s}
.scard::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(123,76,249,.18),transparent 60%);opacity:0;transition:opacity .4s}
.scard:hover{transform:translateY(-6px);border-color:var(--vio);color:var(--txt)}
.scard:hover::before{opacity:1}
.scard__top{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.scard__term{color:var(--mut)}
.scard__price{font-weight:800;color:var(--acc-txt);white-space:nowrap}
.scard strong{font-size:22px;line-height:1.15;font-weight:800}
.scard__p{font-size:14.5px;line-height:1.55;color:var(--mut2)}
.scard__go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px}
.scard__go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .5s var(--ease)}
.scard:hover .scard__go{color:var(--vio-txt)}
.scard:hover .scard__go svg{transform:translate(3px,-3px)}

/* карточка продукта */
.pcard{display:flex;flex-direction:column;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);overflow:hidden;text-decoration:none;color:var(--txt);transition:transform .6s var(--ease),border-color .4s}
.pcard:hover{transform:translateY(-6px);border-color:var(--vio);color:var(--txt)}
.pcard__img{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;background:#fff;overflow:hidden;padding:18px}
.pcard__img img{max-width:100%;max-height:100%;object-fit:contain;transition:transform 1s var(--ease)}
.pcard:hover .pcard__img img{transform:scale(1.05)}
.pcard__b{display:flex;flex-direction:column;gap:8px;padding:22px;flex:1}
.pcard__b small{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--vio-txt)}
.pcard__b strong{font-size:19px;line-height:1.25;font-weight:800}
.pcard__price{margin-top:auto;padding-top:8px;font-size:20px;font-weight:800;color:var(--acc-txt)}

/* карточка тарифа */
.tcard{position:relative;display:flex;flex-direction:column;gap:16px;padding:28px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);transition:transform .6s var(--ease),border-color .4s}
.tcard:hover{transform:translateY(-6px);border-color:var(--vio)}
.tcard--hot{background:var(--vio);border-color:var(--vio);color:#fff}
.tcard__top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tcard__top b{font-size:22px;font-weight:800}
.tcard__hit{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--acc);color:var(--on-acc)}
.tcard__price{font-size:clamp(28px,2.6vw,38px);font-weight:800;letter-spacing:-.02em;line-height:1}
.tcard__note{font-size:13px;color:var(--mut);margin-top:-8px}
.tcard--hot .tcard__note,.tcard--hot .tcard__d,.tcard--hot .tcard__f li{color:#e8e2ff}
.tcard__d{font-size:14.5px;line-height:1.55;color:var(--mut2)}
.tcard__f{display:flex;flex-direction:column;gap:9px;padding-top:16px;border-top:1px solid var(--line)}
.tcard--hot .tcard__f{border-color:rgba(255,255,255,.2)}
.tcard__f li{position:relative;padding-left:24px;font-size:14px;line-height:1.45;color:var(--mut2)}
.tcard__f li::before{content:"";position:absolute;left:2px;top:5px;width:12px;height:7px;border-left:2px solid var(--acc-txt);border-bottom:2px solid var(--acc-txt);transform:rotate(-45deg)}
.tcard--hot .tcard__f li::before{border-color:var(--acc)}
.tcard__btns{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;padding-top:6px}
.tcard--hot .btn--ghost{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.tcard--hot .btn:not(.btn--ghost){--fill:#fff}

/* команда в сетке */
.mate__img{display:block}
.mate__cap{display:flex;flex-direction:column;gap:3px}
.mate__cap b{color:var(--txt)}
a.mate{text-decoration:none;color:var(--txt)}
a.mate:hover b{color:var(--vio-txt)}

/* фильтр и поиск */
.fbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.fbar button,.fbar a{min-height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--mut2);font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:background .3s,color .3s,border-color .3s}
.fbar button:hover,.fbar a:hover{border-color:var(--vio);color:var(--txt)}
.fbar [aria-pressed=true],.fbar [aria-current=page]{background:var(--vio);border-color:var(--vio);color:#fff}
.fbar sup{font-size:11px;opacity:.7;top:0}
.sbox{position:relative;max-width:560px}
.sbox input{width:100%;min-height:60px;padding:0 22px 0 54px;border-radius:999px;border:1px solid var(--line2);background:var(--field);color:var(--txt);font-size:17px;font-family:inherit;transition:border-color .3s,box-shadow .3s}
.sbox input:focus{outline:0;border-color:var(--vio);box-shadow:0 0 0 4px rgba(123,76,249,.15)}
.sbox svg{position:absolute;left:20px;top:50%;width:20px;height:20px;margin-top:-10px;fill:none;stroke:var(--mut);stroke-width:2}
.empty{padding:40px 0;color:var(--mut);font-size:17px}

/* текст статьи */
.prose{font-size:17.5px;line-height:1.72;color:var(--mut2);max-width:780px;min-width:0}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(28px,2.6vw,38px);line-height:1.12;font-weight:800;letter-spacing:-.015em;color:var(--txt);margin-top:1.9em;scroll-margin-top:110px}
.prose h3{font-size:clamp(21px,1.8vw,25px);line-height:1.25;font-weight:800;color:var(--txt);margin-top:1.6em}
.prose h4{font-size:19px;font-weight:800;color:var(--txt);margin-top:1.4em}
.prose h2+*,.prose h3+*{margin-top:.7em}
.prose>:first-child{margin-top:0}
.prose b,.prose strong{color:var(--txt);font-weight:700}
.prose a{color:var(--txt);text-decoration:underline;text-decoration-color:var(--vio);text-underline-offset:4px;text-decoration-thickness:1.5px;transition:color .3s}
.prose a:hover{color:var(--vio-txt)}
.prose ul,.prose ol{display:flex;flex-direction:column;gap:.55em;padding-left:0}
.prose ul>li{position:relative;padding-left:28px}
.prose ul>li::before{content:"";position:absolute;left:4px;top:.68em;width:8px;height:8px;border-radius:50%;background:var(--vio)}
.prose ol{counter-reset:ol}
.prose ol>li{position:relative;padding-left:40px;counter-increment:ol}
.prose ol>li::before{content:counter(ol);position:absolute;left:0;top:.1em;width:28px;height:28px;border-radius:50%;background:var(--card2);border:1px solid var(--line2);font-size:13px;font-weight:800;color:var(--txt);display:flex;align-items:center;justify-content:center;line-height:1}
.prose img{max-width:100%;height:auto;border-radius:var(--r-m);border:1px solid var(--line)}
.prose figure{margin:1.6em 0}
.prose figcaption{font-size:14px;color:var(--mut);margin-top:10px}
.prose blockquote{padding:22px 26px;border-left:3px solid var(--vio);background:var(--card);border-radius:0 var(--r-m) var(--r-m) 0;color:var(--txt);font-size:18px}
.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.prose .tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-m);-webkit-overflow-scrolling:touch}
.prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.prose th,.prose td{padding:13px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.prose th{color:var(--txt);font-weight:800;background:var(--card2)}
.prose tr:last-child td{border-bottom:0}
.prose iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--r-m)}
.prose .note,.prose .alert{padding:20px 24px;border-radius:var(--r-m);background:rgba(123,76,249,.1);border:1px solid rgba(123,76,249,.35);color:var(--txt)}
.prose code{font-size:.9em;padding:2px 6px;border-radius:6px;background:var(--card2)}

/* статья: текст + боковая колонка */
.art{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(40px,6vw,96px);align-items:start}
.art--left{grid-template-columns:280px minmax(0,1fr)}
.aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:16px}
.aside__box{padding:24px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.aside__box h3,.aside__h{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut)}
.aside__box p{font-size:14.5px;line-height:1.55;color:var(--mut2)}
.aside__price{font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--acc-txt);line-height:1}
.aside__box--v{background:var(--vio);border-color:var(--vio);color:#fff}
.aside__box--v h3{color:var(--acc)}
.aside__box--v p{color:#e8e2ff}
.aside__box--v .btn{--fill:#fff}
.aside__list{display:flex;flex-direction:column;gap:2px}
.aside__list a{padding:9px 0;font-size:14.5px;color:var(--mut2);text-decoration:none;border-bottom:1px dashed var(--line2);transition:color .3s}
.aside__list a:hover,.aside__list a[aria-current=page]{color:var(--vio-txt)}
@media (max-width:1060px){.art,.art--left{grid-template-columns:minmax(0,1fr)}.aside{position:relative;top:auto}}
.toc ol{display:flex;flex-direction:column;gap:2px;counter-reset:t}
.toc li{counter-increment:t}
.toc a{display:grid;grid-template-columns:26px 1fr;gap:6px;padding:7px 0;font-size:14px;line-height:1.4;color:var(--mut2);text-decoration:none;transition:color .3s}
.toc a::before{content:counter(t,decimal-leading-zero);font-size:12px;font-weight:800;color:var(--mut3);padding-top:1px}
.toc a:hover,.toc a.on{color:var(--txt)}
.toc a.on::before{color:var(--vio-txt)}
.readbar{position:fixed;left:0;right:0;top:0;height:3px;z-index:101;background:linear-gradient(90deg,var(--vio),var(--acc));transform:scaleX(0);transform-origin:left;pointer-events:none}

/* автор, термины, поделиться */
.author{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--txt)}
.author__img{width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--card2);flex-shrink:0}
.author__img img{width:100%;height:100%;object-fit:cover}
.author>span:last-child{display:flex;flex-direction:column;gap:1px}
.author small{font-size:12px;color:var(--mut)}
.author b{font-size:16px}
.author span span{font-size:13px;color:var(--mut)}
.author:hover b{color:var(--vio-txt)}
.terms{display:flex;flex-direction:column;gap:12px}
.terms__h{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut)}
.terms__list{display:flex;flex-wrap:wrap;gap:6px}
.terms__list a{padding:7px 12px;border-radius:999px;border:1px solid var(--line2);font-size:13px;color:var(--mut2);text-decoration:none;transition:background .3s,color .3s,border-color .3s}
.terms__list a:hover{background:var(--vio);border-color:var(--vio);color:#fff}
.share{display:flex;flex-wrap:wrap;gap:8px}
.share a,.share button{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:none;color:var(--mut2);font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center}
.share a:hover,.share button:hover{border-color:var(--vio);color:var(--txt)}

/* блок-призыв внутри страницы */
.band{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r-xl);padding:clamp(28px,4vw,56px);background:var(--vio);color:#fff;display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:28px;align-items:center}
.band::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:var(--acc);filter:blur(110px);opacity:.3;right:-120px;top:-160px;z-index:-1}
.band h2,.band h3{font-size:clamp(26px,3vw,44px);line-height:1.05;font-weight:800;letter-spacing:-.02em}
.band p{font-size:17px;line-height:1.55;color:#e8e2ff;margin-top:12px;max-width:620px}
.band__btns{display:flex;flex-wrap:wrap;gap:10px}
.band .btn{--fill:#fff}
.band .btn--ghost{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
@media (max-width:860px){.band{grid-template-columns:minmax(0,1fr)}}

/* шаги, преимущества */
.steps{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:14px;counter-reset:s}
.stp{position:relative;padding:26px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;counter-increment:s}
.stp::before{content:counter(s,decimal-leading-zero);font-size:44px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1px var(--vio-txt)}
.stp h3{font-size:19px;font-weight:800;line-height:1.2}
.stp p{font-size:14.5px;line-height:1.55;color:var(--mut2)}
@media (max-width:1000px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr)}}
.perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.perk{padding:26px;border-radius:var(--r-l);border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;gap:10px}
.perk i{width:44px;height:44px;border-radius:14px;background:rgba(123,76,249,.14);display:flex;align-items:center;justify-content:center;font-style:normal;color:var(--vio-txt);font-weight:900}
.perk h3{font-size:19px;font-weight:800}
.perk p{font-size:14.5px;line-height:1.55;color:var(--mut2)}
@media (max-width:900px){.perks{grid-template-columns:minmax(0,1fr)}}

/* разделы услуг (каталог) */
.dirs{display:flex;flex-direction:column;border-top:1px solid var(--line2)}
.dir{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1.4fr);gap:24px;padding:40px 0;border-bottom:1px solid var(--line2)}
.dir__n{font-size:14px;font-weight:800;letter-spacing:2px;color:var(--mut3)}
.dir__h{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.dir__h h2{font-size:clamp(28px,2.8vw,40px);line-height:1.05;font-weight:800;letter-spacing:-.02em}
.dir__h h2 a{text-decoration:none;color:var(--txt)}
.dir__h h2 a:hover{color:var(--vio-txt)}
.dir__h p{font-size:15px;line-height:1.55;color:var(--mut2)}
.dir__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;align-content:start}
.dir__list a{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px dashed var(--line2);text-decoration:none;color:var(--txt);font-size:15.5px;transition:color .3s,padding .4s var(--ease)}
.dir__list a span{color:var(--mut);font-size:13.5px;white-space:nowrap}
.dir__list a:hover{color:var(--vio-txt);padding-left:6px}
@media (max-width:1000px){.dir{grid-template-columns:minmax(0,1fr);gap:18px}.dir__list{grid-template-columns:minmax(0,1fr)}}

/* сравнение тарифов */
.cmp{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-l);background:var(--card);-webkit-overflow-scrolling:touch}
.cmp table{width:100%;border-collapse:collapse;min-width:720px;font-size:15px}
.cmp th,.cmp td{padding:15px 20px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.cmp th:first-child,.cmp td:first-child{text-align:left;color:var(--mut2);position:sticky;left:0;background:var(--card);min-width:240px}
.cmp thead th{font-size:18px;font-weight:800;color:var(--txt);background:var(--card2)}
.cmp thead th:first-child{background:var(--card2)}
.cmp tr:last-child td{border-bottom:0}
.cmp .y{display:inline-block;width:14px;height:8px;border-left:2px solid var(--acc-txt);border-bottom:2px solid var(--acc-txt);transform:rotate(-45deg)}
.cmp .n{color:var(--mut3)}
.cmp .pr{font-weight:800;color:var(--acc-txt);font-size:17px}
/* закреплённый первый столбец поверх галочек (у .y свой слой из-за transform), тень на правом краю */
.cmp th:first-child,.cmp td:first-child{z-index:2;box-shadow:8px 0 12px -8px rgba(0,0,0,.35)}
.cmp thead th:first-child{z-index:3}
[data-theme=light] .cmp th:first-child,[data-theme=light] .cmp td:first-child{box-shadow:8px 0 12px -8px rgba(29,29,27,.14)}
.cmp-hint{display:none;margin:0 0 10px;font-size:13px;color:var(--mut)}
.cmp-hint::after{content:" →"}
@media (max-width:720px){.cmp-hint{display:block}}
@media (max-width:600px){.cmp th,.cmp td{padding:12px 14px;font-size:14px}.cmp th:first-child,.cmp td:first-child{min-width:150px;width:150px}.cmp .pr{font-size:15px}}

/* уведомление о cookie: показывает site.js, если нет отметки eb_cookie_ok */
.ckb{position:fixed;left:24px;bottom:24px;z-index:125;width:min(420px,calc(100vw - 48px));display:flex;flex-direction:column;gap:14px;padding:20px 22px;border-radius:var(--r-l);background:var(--card);color:var(--txt);border:1px solid var(--line2);box-shadow:0 24px 60px rgba(0,0,0,.35);font-size:14px;line-height:1.5;opacity:0;transform:translateY(16px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.ckb[hidden]{display:none}
.ckb.is-on{opacity:1;transform:none}
.ckb p{margin:0;color:var(--txt)}
.ckb a{color:var(--acc-txt);text-decoration:underline;text-underline-offset:2px}
.ckb__ok{align-self:flex-start;min-height:44px;padding:0 24px;border:0;border-radius:999px;background:var(--acc);color:var(--on-acc);font:inherit;font-weight:800;cursor:pointer;transition:background .3s}
.ckb__ok:hover{background:var(--txt);color:var(--bg)}
.ckb__ok:focus-visible{outline:2px solid var(--txt);outline-offset:3px}
[data-theme=light] .ckb{box-shadow:0 24px 60px rgba(29,29,27,.16)}
@media (max-width:1180px) and (min-width:641px){.ckb{bottom:96px}}
@media (max-width:640px){.ckb{left:12px;right:12px;width:auto;bottom:calc(158px + env(safe-area-inset-bottom,0px));padding:16px 18px}}
@media (prefers-reduced-motion:reduce){.ckb{transition:none}}

/* таймлайн истории */
.tl{position:relative;display:flex;flex-direction:column;gap:0;padding-left:36px}
.tl::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:var(--line2)}
.tl__i{position:relative;display:grid;grid-template-columns:140px minmax(0,1fr) 220px;gap:28px;padding:34px 0;border-bottom:1px solid var(--line)}
.tl__i::before{content:"";position:absolute;left:-34px;top:44px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:3px solid var(--vio)}
.tl__y{font-size:clamp(34px,3.4vw,52px);font-weight:900;line-height:1;color:var(--acc-txt);letter-spacing:-.03em}
.tl__b h3{font-size:21px;font-weight:800;line-height:1.25;margin-bottom:10px}
.tl__b p{font-size:15.5px;line-height:1.6;color:var(--mut2)}
.tl__img{border-radius:var(--r-m);overflow:hidden;aspect-ratio:4/3;background:var(--card2)}
.tl__img img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.tl__i{grid-template-columns:minmax(0,1fr);gap:14px}}

/* логотипы, сертификаты */
.logo-card{display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--txt);transition:transform .6s var(--ease),border-color .4s}
.logo-card:hover{transform:translateY(-6px);border-color:var(--vio);color:var(--txt)}
.logo-card__img{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;border-radius:16px;background:#fff;padding:18px;overflow:hidden}
.logo-card__img img{max-width:100%;max-height:100%;object-fit:contain}
.logo-card b{font-size:17px}
.logo-card span{font-size:14px;line-height:1.5;color:var(--mut2)}
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gal__i{display:block;aspect-ratio:3/4;border-radius:var(--r-m);overflow:hidden;background:var(--card2);border:1px solid var(--line);padding:0}
.gal__i img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.gal__i:hover img{transform:scale(1.06)}
.gal--wide .gal__i{aspect-ratio:4/3}
@media (max-width:900px){.gal{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* wiki */
.abc{display:flex;flex-wrap:wrap;gap:6px}
.abc a{width:42px;height:42px;border-radius:12px;border:1px solid var(--line2);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:var(--txt);text-decoration:none;transition:background .3s,border-color .3s,color .3s}
.abc a:hover{background:var(--vio);border-color:var(--vio);color:#fff}
.wgroups{display:flex;flex-direction:column}
.wgroup{display:grid;grid-template-columns:90px minmax(0,1fr);gap:24px;padding:28px 0;border-top:1px solid var(--line);scroll-margin-top:100px}
.wgroup__l{font-size:48px;font-weight:900;line-height:1;color:var(--vio-txt)}
.wgroup ul{columns:3 240px;column-gap:28px}
.wgroup li{break-inside:avoid;padding:6px 0}
.wgroup li a{font-size:15.5px;color:var(--txt);text-decoration:none;transition:color .3s}
.wgroup li a:hover{color:var(--vio-txt)}
.wgroup li small{display:block;font-size:12.5px;color:var(--mut)}
@media (max-width:600px){.wgroup{grid-template-columns:minmax(0,1fr);gap:10px}}
.wsecs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.wsec{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--card);text-decoration:none;color:var(--txt);transition:border-color .3s,transform .5s var(--ease)}
.wsec:hover{border-color:var(--vio);transform:translateY(-4px);color:var(--txt)}
.wsec b{font-size:16.5px;line-height:1.25}
.wsec span{font-size:13px;color:var(--mut)}
@media (max-width:1000px){.wsecs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.wsecs{grid-template-columns:minmax(0,1fr)}}

/* контакты */
.offices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.office{display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:var(--r-l);background:var(--card);border:1px solid var(--line)}
.office--main{background:var(--vio);border-color:var(--vio);color:#fff}
.office small{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--vio-txt)}
.office--main small{color:var(--acc)}
.office h3{font-size:24px;font-weight:800}
.office p{font-size:15px;line-height:1.55;color:var(--mut2)}
.office--main p{color:#e8e2ff}
.office a{color:inherit}
.office__links{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;padding-top:6px}
.office--main .btn{--fill:#fff}
.office--main .btn--ghost{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
/* белая заливка при наведении: текст «призрачной» кнопки тёмный, иначе белое на белом (05.10) */
.tcard--hot .btn--ghost{--fill:#fff}
.tcard--hot .btn--ghost:hover,.band .btn--ghost:hover,.office--main .btn--ghost:hover,.aside__box--v .btn--ghost:hover,.calc__row .btn--ghost:hover,.band .btn--ghost:focus-visible,.office--main .btn--ghost:focus-visible{color:var(--black)}
@media (max-width:1000px){.offices{grid-template-columns:minmax(0,1fr)}}
.map{border-radius:var(--r-l);overflow:hidden;border:1px solid var(--line);background:var(--card2);aspect-ratio:21/9}
.map iframe{width:100%;height:100%;border:0;display:block}
[data-theme=dark] .map iframe{filter:invert(.9) hue-rotate(180deg) saturate(.6)}
@media (max-width:700px){.map{aspect-ratio:4/3}}
.req{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line2);max-width:900px}
.req div{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}
.req dt{color:var(--mut)}
.req dd{color:var(--txt);word-break:break-word}
@media (max-width:640px){.req div{grid-template-columns:minmax(0,1fr);gap:4px}}
.channels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.channel{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--card);text-decoration:none;color:var(--txt);transition:border-color .3s,transform .5s var(--ease)}
.channel:hover{border-color:var(--vio);transform:translateY(-4px);color:var(--txt)}
.channel small{font-size:12px;color:var(--mut);letter-spacing:1px;text-transform:uppercase;font-weight:800}
.channel b{font-size:19px}
@media (max-width:900px){.channels{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* вакансии, акции, отзывы, профиль */
.vrow{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--txt);transition:padding .5s var(--ease)}
.vrow:hover{padding-left:12px;color:var(--txt)}
.vrow b{font-size:22px;font-weight:800}
.vrow span{font-size:14.5px;color:var(--mut2)}
.vrow i{font-style:normal;font-weight:700;color:var(--vio-txt)}
@media (max-width:760px){.vrow{grid-template-columns:minmax(0,1fr);gap:6px}}
.offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:var(--r-xl);overflow:hidden;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--txt);transition:border-color .4s,transform .6s var(--ease)}
.offer:hover{border-color:var(--vio);transform:translateY(-6px);color:var(--txt)}
.offer__img{background:var(--card2);min-height:260px}
.offer__img img{width:100%;height:100%;object-fit:cover}
.offer__b{padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;gap:14px;justify-content:center}
.offer__b h2{font-size:clamp(26px,2.6vw,38px);line-height:1.08;font-weight:800}
.offer__b p{font-size:16px;line-height:1.6;color:var(--mut2)}
@media (max-width:800px){.offer{grid-template-columns:minmax(0,1fr)}}
.rvs{columns:3 320px;column-gap:16px}
.rvs .rv{break-inside:avoid;margin-bottom:16px}
.rv__head{display:flex;align-items:center;gap:14px}
.rv__logo{width:56px;height:56px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:6px;flex-shrink:0}
.rv__logo img{max-width:100%;max-height:100%;object-fit:contain}
.rv__stars{color:var(--acc-txt);letter-spacing:2px;font-size:14px}
.profile{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(32px,6vw,90px);align-items:start}
.profile__img{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:3/4;background:var(--card2)}
.profile__img img{width:100%;height:100%;object-fit:cover}
.profile__b{display:flex;flex-direction:column;gap:22px}
.profile__links{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:860px){.profile{grid-template-columns:minmax(0,1fr)}.profile__img{aspect-ratio:4/3;max-width:420px}}

/* постраничка и прочее */
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:48px}
.pager a,.pager span{min-width:46px;height:46px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--txt);text-decoration:none}
.pager a:hover{border-color:var(--vio)}
.pager [aria-current]{background:var(--vio);border-color:var(--vio);color:#fff}
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.prevnext a{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:var(--r-m);border:1px solid var(--line);text-decoration:none;color:var(--txt);transition:border-color .3s}
.prevnext a:hover{border-color:var(--vio);color:var(--txt)}
.prevnext a:last-child{text-align:right}
.prevnext small{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:1.5px;font-weight:800}
.prevnext b{font-size:16px;line-height:1.35}
@media (max-width:640px){.prevnext{grid-template-columns:minmax(0,1fr)}.prevnext a:last-child{text-align:left}}
.sec--tight{padding:clamp(56px,6vw,90px) 0}
.sec--top0{padding-top:0}
.stack{display:flex;flex-direction:column;gap:clamp(56px,7vw,100px)}
.nf{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden}
.nf__code{font-size:clamp(140px,26vw,380px);font-weight:900;line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px var(--vio-txt)}
.nf__in{position:relative;display:flex;flex-direction:column;gap:24px}
.nf__links{display:flex;flex-wrap:wrap;gap:10px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}
.kv{display:flex;flex-direction:column;border-top:1px solid var(--line2)}
.kv div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.kv dt{color:var(--mut)}.kv dd{font-weight:700;text-align:right}
.video{position:relative;border-radius:var(--r-l);overflow:hidden;aspect-ratio:16/9;background:var(--card2)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.srch-res{display:flex;flex-direction:column}
.srch-res a{display:flex;flex-direction:column;gap:4px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--txt)}
.srch-res a small{font-size:12px;color:var(--vio-txt);font-weight:800;letter-spacing:1px;text-transform:uppercase}
.srch-res a b{font-size:18px}
.srch-res a span{font-size:14px;color:var(--mut2)}
.srch-res a:hover b{color:var(--vio-txt)}
.ccard__m{font-size:clamp(18px,1.5vw,21px);line-height:1.3;color:var(--acc-txt);letter-spacing:-.005em}
.ccard__b strong{font-size:clamp(20px,1.8vw,24px);line-height:1.15}
@media (max-width:560px){.hdr__search{display:none}}
.svc h3 a{color:var(--txt);text-decoration:none;transition:color .3s}.svc h3 a:hover{color:var(--vio-txt)}
.phead__btns>span,.phead__meta>span{display:flex;flex-wrap:wrap;gap:10px}
.sgrid>div>.scard{flex:1}
@media (min-width:1241px) and (max-width:1520px){.hdr__tel{display:none}}
@media (min-width:1241px) and (max-width:1340px){.mnav__link{font-size:14px;padding-left:8px}.hdr__in{gap:18px}}
.tcard__price{font-size:clamp(24px,2.2vw,32px)}
@media (max-width:560px){.facts{grid-template-columns:minmax(0,1fr)}.fact{border-right:0}.fact:last-child{border-bottom:0}}
.mega,.drop{background:var(--bg)}
.mega__promo{align-self:start;min-height:320px}
.mega__in{max-height:calc(100vh - 90px);overflow:auto}
/* шапка: меню никогда не наезжает на телефон и кнопки */
.mnav{flex:0 1 auto}
.hdr__act{flex-shrink:0}
.hdr__tel{white-space:nowrap}
@media (min-width:1241px) and (max-width:1599px){.hdr__tel{display:none}}
.hdr--t1 .hdr__tel{display:none!important}
.hdr--t2 .mnav__link{font-size:14px;padding-left:7px;padding-right:3px}
.hdr--t2 .mnav__tog{width:22px}
.hdr--t3 .hdr__search{display:none}
.mnav__item{flex-shrink:0}
.mnav__link{white-space:nowrap}
.hdr--t4 .mnav{display:none}.hdr--t4 .burger{display:block}.hdr--t4 .hdr__search{display:inline-flex}
.hdr .wrap.hdr__in{max-width:1640px}
.mnav__list{gap:0}
.mnav__tog{width:22px;margin-right:6px}
.mnav__link{padding-left:8px;padding-right:4px}
.mnav__item:not(.has-sub) .mnav__link{padding-right:8px}

/* карта над подвалом */
.mapb{position:relative;min-height:620px;border-top:1px solid var(--line);overflow:hidden;display:flex;align-items:center;padding:56px 0}
.mapb__map{position:absolute;inset:0;background:var(--card2)}
.mapb__map iframe{width:100%;height:100%;border:0;display:block}
[data-theme=dark] .mapb__map iframe{filter:invert(.92) hue-rotate(180deg) saturate(.55) brightness(.95)}
.mapb__map::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,transparent 45%),linear-gradient(180deg,var(--bg) 0,transparent 14%,transparent 86%,var(--bg) 100%);opacity:.85}
.mapb__in{position:relative;width:100%;pointer-events:none}
.mapb__card{pointer-events:auto;max-width:440px;padding:clamp(24px,3vw,36px);border-radius:var(--r-l);background:var(--glass);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--line2);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:18px}
.mapb__h{font-size:clamp(26px,2.4vw,34px);line-height:1.08;font-weight:800;letter-spacing:-.02em}
.mapb__dl{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.mapb__dl div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px}
.mapb__dl dt{color:var(--mut)}
.mapb__dl dd a{color:var(--txt);font-weight:700;text-decoration:none}
.mapb__btns{display:flex;flex-wrap:wrap;gap:8px}
.mapb__other{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mapb__other a{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);text-decoration:none;color:var(--txt);font-size:13px;transition:border-color .3s}
.mapb__other a:hover{border-color:var(--vio);color:var(--txt)}
.mapb__other b{font-size:14px}.mapb__other span{color:var(--mut);line-height:1.35}
@media (max-width:760px){.mapb{display:block;min-height:0;padding:0}.mapb__map{position:relative;height:340px}.mapb__map::after{background:linear-gradient(180deg,transparent 70%,var(--bg) 100%)}.mapb__in{margin-top:-40px;padding-bottom:40px}.mapb__card{max-width:none}.mapb__other{grid-template-columns:minmax(0,1fr)}}
.mapb__dl dd a{white-space:nowrap}
@media (max-width:760px){.mapb__dl div{grid-template-columns:104px minmax(0,1fr)}}
/* карты Яндекса без перекраски, родные цвета */
[data-theme=dark] .map iframe,[data-theme=dark] .mapb__map iframe{filter:none}
.mapb__map::after{background:linear-gradient(90deg,var(--bg) 0%,transparent 38%);opacity:.7}
/* цифры в фактах не должны наследовать стиль подписи */
.fact b span{font-size:inherit;color:inherit;line-height:inherit}
.mapb__card{margin-left:auto}
.mapb__map::after{background:linear-gradient(270deg,var(--bg) 0%,transparent 34%);opacity:.75}
@media (max-width:760px){.mapb__map::after{background:linear-gradient(180deg,transparent 70%,var(--bg) 100%)}}

/* карта Яндекса в стиле сайта */
.ymap{position:relative;width:100%;height:100%;min-height:320px;background:var(--card2);overflow:hidden}
.map .ymap{min-height:0}
.ymap__fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--mut2);font-weight:700;text-decoration:none;background:radial-gradient(circle at 50% 50%,rgba(123,76,249,.18),transparent 60%),repeating-linear-gradient(0deg,var(--line) 0 1px,transparent 1px 48px),repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 48px)}
/* подложка карты: монохром с фиолетовым оттенком, метки и кнопки остаются как есть */
.ymap [class*="ground-pane"]{filter:grayscale(1) sepia(.18) hue-rotate(205deg) saturate(1.5) brightness(1.03) contrast(.9);transition:filter .5s}
[data-theme=dark] .ymap [class*="ground-pane"]{filter:invert(1) grayscale(1) sepia(.35) hue-rotate(205deg) saturate(1.9) brightness(.72) contrast(1.08)}
.ymap [class*="copyrights-pane"]{opacity:.55}
.ymap [class*="zoom__"] , .ymap [class*="button_"]{border-radius:12px!important}
/* метка */
.ymk{position:absolute;transform:translate(-22px,-22px);width:44px;height:44px}
.ymk__pin{position:absolute;inset:0;border-radius:50%;background:var(--acc);border:3px solid #1D1D1B;box-shadow:0 10px 30px rgba(123,76,249,.55);display:flex;align-items:center;justify-content:center}
.ymk__pin b{font:900 12px/1 Winston,system-ui,sans-serif;color:#1D1D1B;letter-spacing:-.02em}
.ymk__pulse{position:absolute;inset:-14px;border-radius:50%;background:rgba(123,76,249,.35);animation:ymk 2.4s ease-out infinite}
@keyframes ymk{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.ymk__label{position:absolute;left:56px;top:50%;transform:translateY(-50%);white-space:nowrap;padding:10px 14px;border-radius:14px;background:#1D1D1B;color:#fff;box-shadow:0 14px 40px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:2px;font-family:Winston,system-ui,sans-serif}
.ymk__label b{font-size:14px;font-weight:800}
.ymk__label small{font-size:12px;color:#cfcfc8}
.ymk__label::before{content:"";position:absolute;left:-6px;top:50%;width:12px;height:12px;margin-top:-6px;background:#1D1D1B;transform:rotate(45deg)}
@media (max-width:560px){.ymk__label small{display:none}}
/* консоль экспресс-аудита: статус вместо точек окна */
.console__bar{justify-content:space-between}
.console__live{display:inline-flex;align-items:center;margin-left:0!important;color:var(--txt)!important;font-weight:700}
.console__live .dot{margin-right:8px;width:7px;height:7px}
.mapb__map .ymap{height:100%}
.console__live i.dot{background:var(--acc)!important;border-radius:50%}
.ymap .ymaps-layers-pane,.ymap [class*="ground-pane"]{filter:grayscale(1) sepia(.18) hue-rotate(205deg) saturate(1.5) brightness(1.03) contrast(.9);transition:filter .5s}
[data-theme=dark] .ymap .ymaps-layers-pane,[data-theme=dark] .ymap [class*="ground-pane"]{filter:invert(1) grayscale(1) sepia(.35) hue-rotate(205deg) saturate(1.9) brightness(.72) contrast(1.08)}
.ymap__zoom{position:absolute;left:16px;top:16px;z-index:5;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;border:1px solid var(--line2);background:var(--glass);backdrop-filter:blur(10px);box-shadow:var(--shadow)}
.ymap__zoom button{width:44px;height:44px;border:0;background:none;color:var(--txt);font-size:22px;font-weight:700;line-height:1;cursor:pointer;transition:background .3s,color .3s}
.ymap__zoom button+button{border-top:1px solid var(--line2)}
.ymap__zoom button:hover{background:var(--vio);color:#fff}
.mapb .ymap__zoom{top:auto;bottom:24px}
[data-theme=dark] .ymap .ymaps-layers-pane{filter:invert(1) grayscale(1) sepia(.35) hue-rotate(205deg) saturate(1.9) brightness(.85) contrast(1.05)}
.ymap .ymaps-copyrights-pane{opacity:.6}

/* ---------- контент услуг: гармошки, колонки, карточки с иконками ---------- */
.prose .qa{display:flex;flex-direction:column;gap:10px;margin:1.4em 0}
.prose .qa__i{border:1px solid var(--line);border-radius:var(--r-m);background:var(--card);transition:border-color .3s,background .3s}
.prose .qa__i[open]{border-color:var(--vio);background:var(--card)}
.prose .qa__i summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;font-size:clamp(17px,1.4vw,20px);font-weight:800;color:var(--txt);line-height:1.3}
.prose .qa__i summary::-webkit-details-marker{display:none}
.prose .qa__i summary::after{content:"";flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--card2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237B4CF9' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .45s var(--ease),background-color .3s}
.prose .qa__i[open] summary::after{transform:rotate(45deg);background-color:var(--acc)}
.prose .qa__i summary:hover{color:var(--vio-txt)}
.prose .qa__b{padding:0 24px 24px;font-size:16.5px}
.prose .qa__b>*+*{margin-top:.9em}
.prose .cols{display:grid;gap:14px;margin:1.2em 0}
.prose .cols--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.prose .cols--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.prose .cols--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.prose .cols--split{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center}
.prose .col>*+*{margin-top:.7em}
.prose .col>:first-child{margin-top:0}
.prose .feat{padding:20px;border-radius:var(--r-m);background:var(--card2);border:1px solid var(--line);font-size:15.5px;line-height:1.6}
.prose .qa__b .feat{background:var(--bg2)}
.prose .feat h4{margin-top:12px!important;font-size:17px}
.prose .ico{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:rgba(123,76,249,.14);color:var(--vio-txt);flex-shrink:0}
.prose .ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.prose .ico--lg{display:flex;width:96px;height:96px;border-radius:26px;background:linear-gradient(135deg,var(--vio),#5b2fe0);color:var(--acc);margin:0 0 1em}
.prose .ico--lg svg{width:46px;height:46px;stroke-width:1.6}
.prose .box{padding:clamp(20px,2.4vw,30px);border-radius:var(--r-l);border:1px solid var(--line);background:var(--card);margin:1.4em 0}
.prose .box>:first-child{margin-top:0}
.prose .box .cols .col b:only-child{font-size:clamp(24px,2.2vw,32px);font-weight:800;color:var(--acc-txt);letter-spacing:-.02em}
.prose .quote-box{display:flex;gap:18px;align-items:flex-start;padding:24px;border-radius:var(--r-l);background:rgba(123,76,249,.1);border:1px solid rgba(123,76,249,.35);color:var(--txt);margin:1.4em 0}
.prose img.ava{width:64px!important;height:64px;border-radius:50%;object-fit:cover;border:0;flex-shrink:0}
.prose img.logo-img{max-height:48px;width:auto;border:0;border-radius:0;background:#fff;padding:6px 10px;border-radius:10px}
.prose img.ill{display:block;width:100%;height:auto;border-radius:var(--r-m);border:1px solid var(--line);background:var(--card2)}
.prose img.ill--sm{width:auto;max-width:min(96px,100%);border:0;background:none;border-radius:0}
/* эксперт: внутренний блок (фото, имя, должность) строкой над цитатой */
.prose .quote-box{flex-direction:column}
.prose .quote-box .quote-box{flex-direction:row;align-items:center;gap:14px;padding:0;margin:0;background:none;border:0;border-radius:0;color:var(--mut2);font-size:14px}
.prose .quote-box .quote-box h3,.prose .quote-box .quote-box h4{margin:0;font-size:17px;color:var(--txt)}
.prose .quote-box .quote-box img.ava{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}
.prose .cols--split img.ill,.prose .col img.ill{max-height:420px;object-fit:contain}
.prose .num{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px;border-radius:12px;background:var(--acc);color:var(--on-acc);font-weight:900;font-size:16px}
.prose .lead-s{color:var(--mut)}
.prose .btn{text-decoration:none;color:var(--txt)}
.prose .btn--ghost{box-shadow:inset 0 0 0 1px var(--line2)}
@media (max-width:760px){.prose .cols--2,.prose .cols--3,.prose .cols--4,.prose .cols--split{grid-template-columns:minmax(0,1fr)}}
/* документы */
.doc{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;border:1px solid var(--line);text-decoration:none;color:var(--txt);transition:border-color .3s}
.doc:hover{border-color:var(--vio);color:var(--txt)}
.doc__ext{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:var(--acc);color:var(--on-acc);font-size:11px;font-weight:900;text-transform:uppercase;display:flex;align-items:center;justify-content:center}
.doc b{display:block;font-size:14px;line-height:1.35}
.doc small{font-size:12px;color:var(--mut)}

/* ---------- всплывающий поиск ---------- */
.sp{position:fixed;inset:0;z-index:150;background:rgba(10,10,9,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
.sp.is-open{opacity:1}
.sp__panel{background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(-24px);transition:transform .5s var(--ease);max-height:min(88vh,820px);display:flex}
.sp.is-open .sp__panel{transform:none}
.sp__in{width:100%;display:flex;flex-direction:column;gap:18px;padding-top:22px;padding-bottom:22px;max-width:980px;min-height:0}
.sp__bar{display:flex;align-items:center;gap:14px;padding:0 10px 0 22px;min-height:68px;border-radius:999px;border:1px solid var(--line2);background:var(--field);transition:border-color .3s,box-shadow .3s}
.sp__bar:focus-within{border-color:var(--vio);box-shadow:0 0 0 4px rgba(123,76,249,.15)}
.sp__bar svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:var(--mut);stroke-width:2}
.sp__bar input{flex:1;min-width:0;border:0;background:none;color:var(--txt);font:inherit;font-size:clamp(18px,1.8vw,22px);outline:0}
.sp__bar input::-webkit-search-cancel-button{display:none}
kbd{display:inline-flex;align-items:center;min-height:24px;padding:0 7px;border-radius:7px;border:1px solid var(--line2);background:var(--card2);font:600 12px/1 inherit;color:var(--mut)}
.sp__x{width:48px;height:48px;border-radius:50%;border:0;background:var(--card2);color:var(--txt);font-size:24px;line-height:1;cursor:pointer;transition:background .3s,color .3s}
.sp__x:hover{background:var(--vio);color:#fff}
.sp__gh{display:block;font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut);margin-bottom:10px}
.sp__chips{display:flex;flex-wrap:wrap;gap:8px}
.sp__chips button{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:none;color:var(--txt);font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.sp__chips button:hover{background:var(--vio);border-color:var(--vio);color:#fff}
.sp__quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.sp__quick a{display:flex;flex-direction:column;gap:3px;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--card);text-decoration:none;color:var(--txt);transition:border-color .3s,transform .4s var(--ease)}
.sp__quick a:hover{border-color:var(--vio);transform:translateY(-3px);color:var(--txt)}
.sp__quick b{font-size:15px}.sp__quick span{font-size:13px;color:var(--mut)}
.sp__tip{font-size:13px;color:var(--mut);margin-top:16px}
.sp.has-q .sp__empty{display:none}
.sp__out{overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:18px;padding-right:4px}
.sp__out:empty{display:none}
.sp__g{display:flex;flex-direction:column;gap:4px}
.sp__i{display:flex;flex-direction:column;gap:3px;padding:12px 16px;border-radius:14px;text-decoration:none;color:var(--txt);transition:background .2s}
.sp__i:hover,.sp__i.is-cur{background:var(--card2);color:var(--txt)}
.sp__i b{font-size:16px;font-weight:800}
.sp__i span{font-size:13.5px;line-height:1.45;color:var(--mut);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sp mark,.srch-res mark{background:rgba(182,255,86,.35);color:inherit;border-radius:3px;padding:0 1px}
[data-theme=light] .sp mark,[data-theme=light] .srch-res mark{background:rgba(123,76,249,.18)}
.sp__fix{font-size:14px;color:var(--mut2)}
.sp__none{display:flex;flex-direction:column;gap:8px;padding:10px 4px}
.sp__none span{color:var(--mut);font-size:15px}
.sp__none div{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.sp__more{display:none;align-self:flex-start;align-items:center;gap:8px;font-weight:800;text-decoration:none;color:var(--txt);padding:10px 16px;border-radius:999px;border:1px solid var(--line2);transition:border-color .3s,background .3s}
.sp.has-q .sp__more{display:inline-flex}
.sp__more:hover,.sp__more.is-cur{border-color:var(--vio);background:var(--card2);color:var(--txt)}
.sp__more svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}
.sp-open{overflow:hidden}
@media (max-width:760px){.sp__quick{grid-template-columns:repeat(2,minmax(0,1fr))}.sp__bar kbd,.sp__tip{display:none}.sp__panel{max-height:100vh;height:100%}.sp__in{padding-top:14px}}
.srch-res a{padding:20px 0}
.srch-res a span{line-height:1.5}
.hdr__search{display:inline-flex}
.tcard__s{display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.tcard__s div{display:flex;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px dashed var(--line2)}
.tcard__s dt{color:var(--mut)}.tcard__s dd{font-weight:700;text-align:right}
.tcard--hot .tcard__s dt{color:#e8e2ff}.tcard--hot .tcard__s div{border-color:rgba(255,255,255,.25)}
.pcard__p{font-size:14px;line-height:1.5;color:var(--mut2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.intro{padding-bottom:0}
.intro__t{max-width:860px;font-size:18px}

/* ---------- блок доверия: сертификаты ---------- */
.trust__in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:center}
.trust__copy{display:flex;flex-direction:column;gap:22px}
.trust__list{display:flex;flex-direction:column;gap:10px}
.trust__list li{position:relative;padding-left:30px;font-size:16px;color:var(--mut2)}
.trust__list li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1D1B' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.trust__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cert{display:flex;flex-direction:column;gap:10px;background:none;border:0;padding:0;text-align:left;color:var(--txt);cursor:pointer}
.cert__paper{display:block;aspect-ratio:1/1.3;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 16px 36px rgba(0,0,0,.22);transform:rotate(var(--r,0deg));transition:transform .7s var(--ease),box-shadow .5s}
.cert__paper img{width:100%;height:100%;object-fit:contain;padding:8px}
.cert:hover .cert__paper{transform:rotate(0) translateY(-8px) scale(1.04);box-shadow:0 28px 60px rgba(123,76,249,.35)}
.cert__cap{font-size:12.5px;line-height:1.35;color:var(--mut)}
@media (max-width:1000px){.trust__in{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.trust__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* лента сертификатов в подвале */
.ftr__certs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-top:28px}
.fcert{display:inline-flex;align-items:center;gap:10px;height:52px;padding:6px 14px 6px 6px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--mut2);cursor:pointer;flex-shrink:0;transition:border-color .3s,color .3s}
.fcert img{height:40px;width:32px;object-fit:contain;background:#fff;border-radius:6px;padding:2px;filter:grayscale(1);transition:filter .4s}
.fcert span{font-size:12.5px;font-weight:700;white-space:nowrap}
.fcert:hover{border-color:var(--vio);color:var(--txt)}
.fcert:hover img{filter:none}
.aside__box .aside__h{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut)}
.aside__box--v .aside__h{color:var(--acc)}
/* большой логотип в подвале: заливка лаймом с бегущей кромкой */

/* ---------- лента команды с кнопками ---------- */
.team__top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.team__top>div:first-child{display:flex;flex-direction:column;gap:18px}
.team__nav>span{display:flex;gap:10px}
.rail-btn{width:56px;height:56px;border-radius:50%;border:1px solid var(--line2);background:var(--card);color:var(--txt);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s,border-color .3s,color .3s,opacity .3s,transform .4s var(--ease)}
.rail-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rail-btn:hover:not(:disabled){background:var(--vio);border-color:var(--vio);color:#fff;transform:scale(1.06)}
.rail-btn:disabled{opacity:.35;cursor:default}
.team__rail{width:auto!important;transform:none!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));padding-right:var(--gutter);padding-bottom:8px;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch}
.team__rail::-webkit-scrollbar{display:none}
.team__rail.is-drag{cursor:grabbing;scroll-snap-type:none}
.team__rail .mate{scroll-snap-align:start;user-select:none}
.mate__img{position:relative}
.mate__hover{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;gap:10px;padding:20px;background:linear-gradient(180deg,transparent,rgba(18,18,17,.92) 32%);color:#fff;transform:translateY(100%);opacity:0;transition:transform .55s var(--ease),opacity .4s}
.mate:hover .mate__hover,.mate:focus-visible .mate__hover{transform:none;opacity:1}
.mate__about{font-size:13.5px;line-height:1.5;color:#e8e8e2}
.mate__contacts{display:flex;flex-direction:column;gap:2px;font-size:13px;font-weight:700;color:var(--acc)}
.mate__hover .mate__more{font-size:13px;font-weight:800;color:#fff}
.mate--all .mate__img{display:flex;align-items:center;justify-content:center;background:var(--vio)}
.mate__allin{display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff;text-align:center}
.mate__allin b{font-size:24px;color:#fff}.mate__allin span{font-size:14px;color:#e8e2ff}
.mate__allin i{font-style:normal;font-size:32px;color:var(--acc);transition:transform .5s var(--ease)}
.mate--all:hover .mate__allin i{transform:translateX(8px)}
.team__bar{height:2px;background:var(--line);border-radius:2px;margin-top:24px;overflow:hidden}
.team__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--vio),var(--acc));border-radius:2px;transition:transform .2s}
@media (hover:none){.mate__hover{transform:none;opacity:1;background:linear-gradient(180deg,transparent,rgba(18,18,17,.85) 50%)}.mate__about{display:none}}
.mate .mate__hover .mate__about{color:#ececE6;font-size:13.5px}
.mate .mate__hover .mate__contacts,.mate .mate__hover .mate__contacts span{color:var(--acc);font-size:13px;font-weight:700}
.mate .mate__hover .mate__more{color:#fff;font-size:13px}
.mate .mate__allin span{color:#e8e2ff}
/* заголовок внутренних страниц виден сразу (быстрый LCP), только мягкий подъём */
[data-rise]{animation:rise 1s var(--ease) both}
@keyframes rise{from{transform:translateY(28px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){[data-rise]{animation:none}}
:root,[data-theme=dark]{--mut3:#8f8f88}
[data-theme=light]{--mut3:#6b6b65}
.prose img[width]{height:auto}
.mnav__tog{height:44px;width:28px}

/* ===== производительность: пауза эффектов за экраном ===== */
.mesh.is-off i,.marquee.is-off .marquee__track{animation-play-state:paused!important}
/* тяжёлые тени у больших блоков только на ховере */
.console{box-shadow:0 30px 80px rgba(0,0,0,.35)}
.team__rail.is-scrub{scroll-snap-type:none;overflow-x:hidden}

.mesh i{will-change:transform}
.grain{will-change:transform}
/* ===== стек и технологии (главная) ===== */
.stack{position:relative;overflow:hidden}
.mesh--stack .m1{top:auto;bottom:-30vw;right:auto;left:-20vw;opacity:calc(var(--mesh-a)*.7)}
.mesh--stack .m3{left:auto;right:-8vw;top:10%}
.stack .wrap{position:relative}
.stack__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;align-items:stretch}
.aicore{position:relative;border-radius:var(--r-l);padding:1px;overflow:hidden;isolation:isolate}
.aicore__ring{position:absolute;inset:-60%;z-index:-1;background:conic-gradient(from 0deg,transparent 0 55%,var(--vio) 70%,var(--acc) 82%,transparent 95%);animation:aispin 7s linear infinite}
@keyframes aispin{to{transform:rotate(1turn)}}
.aicore__in{position:relative;height:100%;border-radius:calc(var(--r-l) - 1px);padding:clamp(24px,3vw,40px);background:radial-gradient(120% 80% at 0% 0%,rgba(123,76,249,.28),transparent 60%),var(--glass);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);display:flex;flex-direction:column;gap:18px}
[data-theme=dark] .aicore__in{background:radial-gradient(120% 80% at 0% 0%,rgba(123,76,249,.35),transparent 60%),#151514}
.aicore__tag{font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--acc-txt)}
.aicore__h{font-size:clamp(26px,2.4vw,36px);line-height:1.05;font-weight:800;letter-spacing:-.015em;max-width:16ch}
.aicore__now{font-size:15px;color:var(--mut2)}
.aicore__now b{color:var(--txt);font-weight:800;font-variant-numeric:tabular-nums;border-bottom:2px solid var(--acc);padding-bottom:1px}
.aicore__models{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.aim{border:1px solid var(--line2);border-radius:var(--r-m);padding:16px;background:var(--card);display:flex;flex-direction:column;gap:12px;transition:transform .5s var(--ease),border-color .4s}
.aim:hover{transform:translateY(-4px);border-color:var(--vio)}
.aim__top{display:flex;align-items:center;gap:12px}
.aim__mark,.aim__logo{width:40px;height:40px;border-radius:12px;flex-shrink:0}
.aim__mark{display:grid;place-items:center;font-weight:900;font-size:20px;color:#fff}
.aim--cl .aim__mark{background:linear-gradient(135deg,#7B4CF9,#b393ff)}
.aim--gp .aim__mark{background:linear-gradient(135deg,#1D1D1B,#4FD875);color:#B6FF56}
.aim__name{display:flex;flex-direction:column;line-height:1.15}
.aim__name b{font-size:17px}
.aim__name small{font-size:12.5px;color:var(--mut)}
.aim__list{display:flex;flex-wrap:wrap;gap:6px}
.aim__list li{font-size:12.5px;font-weight:700;padding:5px 9px;border-radius:999px;background:var(--card2);border:1px solid var(--line)}
.aim__list li:first-child{background:var(--acc);color:var(--on-acc);border-color:transparent}
.aim__does{font-size:13.5px;line-height:1.45;color:var(--mut)}
.aicore__jobs{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.aicore__jobs li{font-size:13px;color:var(--mut2);padding:6px 12px;border-radius:999px;border:1px dashed var(--line2)}
.aicore__jobs li::before{content:"✓ ";color:var(--acc-txt);font-weight:800}
.stack__cats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.scat{border:1px solid var(--line);border-radius:var(--r-m);padding:18px;background:var(--card);transition:border-color .4s,transform .5s var(--ease)}
.scat:last-child{grid-column:1/-1}
.scat:hover{border-color:var(--line2)}
.scat__h{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.scat__h .ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--card2);color:var(--vio-txt)}
.scat__h .ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.scat__h b{font-size:16px}
.scat__h small{margin-left:auto;font-size:12px;font-weight:800;color:var(--mut3);font-variant-numeric:tabular-nums}
.scat__chips{display:flex;flex-wrap:wrap;gap:6px}
.tchip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--line);background:var(--bg2);transition:border-color .3s,background .3s,color .3s,transform .3s var(--ease)}
.tchip__m{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:9.5px;font-weight:900;letter-spacing:-.02em;background:var(--card2);color:var(--mut2);transition:background .3s,color .3s}
.tchip:hover{border-color:var(--acc);transform:translateY(-2px)}
.tchip:hover .tchip__m{background:var(--acc);color:var(--on-acc)}
.stack__band{margin:clamp(40px,5vw,72px) 0 clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:10px}
.marquee--rev .marquee__track{animation-direction:reverse}
.sband{font-size:clamp(28px,3.4vw,52px);font-weight:900;letter-spacing:-.03em;white-space:nowrap;color:var(--txt)}
.sband--o{color:transparent;-webkit-text-stroke:1px var(--line2)}
.sband--ai{color:var(--vio-txt)}
.sband::after{content:"✦";margin-left:40px;font-size:.45em;vertical-align:middle;color:var(--acc-txt);-webkit-text-stroke:0}
.stack__cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px 24px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.stack__cta p{font-size:16px;color:var(--mut2);max-width:60ch}
.stack__cta p b{color:var(--txt)}
.stack__btns{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:1100px){.stack__grid{grid-template-columns:1fr}}
@media (max-width:600px){.aicore__models,.stack__cats{grid-template-columns:1fr}.scat:last-child{grid-column:auto}.stack__btns .btn{flex:1}}
@media (prefers-reduced-motion:reduce){.aicore__ring{animation:none}}

.aicore.is-off .aicore__ring{animation-play-state:paused}
/* аккордеоны услуг: ровные карточки и блок «Результат» */
.prose .feat h3,.prose .feat h4,.prose .feat h5{margin:12px 0 6px!important;font-size:17px;line-height:1.3;font-weight:800}
.prose .feat .ico+h3,.prose .feat .ico+h4{margin-top:14px!important}
.prose .feat>.ico{margin-bottom:2px}
.prose .box--res{display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:start;background:linear-gradient(135deg,rgba(123,76,249,.14),transparent 70%),var(--card);border-color:rgba(123,76,249,.4)}
.prose .box--res>.ico{grid-row:1/span 9;width:52px;height:52px;border-radius:14px;background:var(--vio);color:#fff;display:grid;place-items:center}
.prose .box--res>.ico svg{width:26px;height:26px}
.prose .box--res>:not(.ico){grid-column:2;margin-top:0}
.prose .box--res>h4+*{margin-top:6px}
@media (max-width:600px){.prose .box--res{grid-template-columns:1fr}.prose .box--res>.ico{grid-row:auto;margin-bottom:12px}.prose .box--res>:not(.ico){grid-column:1}}

/* ===== панель администратора Битрикса: не даём нашим сбросам ломать панель, шапку сдвигаем под неё ===== */
#bx-panel,#bx-panel *{box-sizing:content-box}
#bx-panel{font-family:Arial,Helvetica,sans-serif;color:#000;-webkit-font-smoothing:auto;font-feature-settings:normal;text-rendering:auto}
#bx-panel img,#bx-panel svg{display:inline-block;max-width:none}
#bx-panel ul,#bx-panel ol{list-style:none}
#bx-panel a,#bx-panel a:hover{color:inherit}
#bx-panel input,#bx-panel button,#bx-panel select{font:13px Arial,Helvetica,sans-serif;color:#000}
.hdr,.readbar{top:var(--bxp,0px)}
.drawer,.sp{top:var(--bxp,0px)}
html.has-bxp{scroll-padding-top:calc(var(--bxp,0px) + 90px)}

/* значки стека: иконки технологий и ссылки на статьи wiki */
.scat__chips>li{display:contents}
.tchip--a{color:inherit;text-decoration:none;cursor:pointer}
.tchip--a:hover{color:var(--txt)}
.tchip__m--i{background:#fff;border-radius:7px}
.tchip__m--i img{width:15px;height:15px;object-fit:contain;display:block}
.ispr{display:block;width:15px;height:15px;background:url(../img/icons-sprite.webp?v=1) no-repeat var(--sx,0) var(--sy,0)/240px auto}
.tchip:hover .tchip__m--i{background:#fff;box-shadow:0 0 0 2px var(--acc)}
[data-theme=light] .tchip__m--i{box-shadow:inset 0 0 0 1px var(--line)}
.aim__link{color:inherit;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s var(--ease)}
.aim__link:hover{color:inherit;background-size:100% 1px}
.abc__br{flex-basis:100%;height:0}

/* экспресс-проверка: реальные статусы */
.checks li{grid-template-areas:"i s e" ". n n";grid-template-columns:10px minmax(0,1fr) auto}
.checks li>i{grid-area:i}.checks li>span{grid-area:s}.checks li>em{grid-area:e}
.checks li>small{grid-area:n;font-size:11.5px;line-height:1.35;color:var(--mut3);display:none}
.checks li.is-on>small:not(:empty){display:block}
.checks li.is-run i{background:var(--vio);animation:ckpulse 1s ease-in-out infinite}
@keyframes ckpulse{50%{opacity:.25}}
.checks li.is-ok i{background:#4FD875;box-shadow:0 0 10px rgba(79,216,117,.7)}.checks li.is-ok em{color:#4FD875}
.checks li.is-warn i{background:#FFC24B;box-shadow:0 0 10px rgba(255,194,75,.7)}.checks li.is-warn em{color:#FFC24B}
.checks li.is-bad i{background:#FF5A5A;box-shadow:0 0 10px rgba(255,90,90,.7)}.checks li.is-bad em{color:#FF6B6B}
.checks li.is-report i{background:var(--vio)}.checks li.is-report em{color:var(--vio-txt)}
[data-theme=light] .checks li.is-ok em{color:#1f9a45}[data-theme=light] .checks li.is-warn em{color:#a86c00}[data-theme=light] .checks li.is-bad em{color:#c62828}
.console__progress i{transition:transform .5s var(--ease)}
.checks:has(li.is-on){grid-template-columns:minmax(0,1fr)}
.trust__copy .h2{font-size:clamp(34px,3.7vw,60px);word-break:normal;overflow-wrap:normal;hyphens:manual}

/* смета: состав тарифа */
.basket{max-height:440px}
.basket li.has-feat{grid-template-areas:"t p x" "m m m" "f f f"}
.basket li.has-feat>span{grid-area:t}.basket li.has-feat>b{grid-area:p}.basket li.has-feat>button[data-rm]{grid-area:x}
.basket li .bk__more{grid-area:m;justify-self:start;width:auto;height:auto;border-radius:0;background:none;padding:0;font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:4px;opacity:.75;cursor:pointer}
.basket li .bk__more:hover{opacity:1}
.bk__more svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .3s var(--ease)}
.basket li.is-open .bk__more svg{transform:rotate(180deg)}
.bk__feat{grid-area:f;display:none;margin:0;padding:2px 0 2px 2px;list-style:none}
.basket li.is-open .bk__feat{display:grid;gap:5px}
.basket .bk__feat li{display:block;padding:0 0 0 16px;background:none;border-radius:0;font-size:12.5px;line-height:1.4;position:relative;opacity:.85}
.basket .bk__feat li::before{content:"";position:absolute;left:2px;top:.55em;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5}

/* формы: ошибка отправки, загрузка, согласие */
.form-err{margin:4px 0 0;padding:10px 14px;border-radius:12px;background:rgba(255,90,90,.12);border:1px solid rgba(255,90,90,.45);color:#ff8a7d;font-size:13.5px;line-height:1.45}
.form-err a{color:inherit;font-weight:700;text-decoration:underline}
[data-theme=light] .form-err{color:#c62828;background:rgba(198,40,40,.07)}
.btn.is-busy,button.is-busy{opacity:.7;cursor:progress;pointer-events:none}
.calc__agree{color:rgba(255,255,255,.7)}.calc__agree a{color:var(--acc)}
.calc__agree.is-error{color:#ff8a7d}
.msg__form--phone{flex-wrap:wrap}
.msg__form--phone .field{flex:1;min-width:0;display:flex}
.msg__form--phone .field input{width:100%}
.msg__form--phone .field.is-error input{border-color:#ff6b6b}
.msg__form--phone .check{flex-basis:100%;font-size:12px}
.msg__form--phone .form-err{flex-basis:100%}
.msg__form .check input{flex:0 0 auto;width:18px;height:18px;padding:0;border-radius:4px;min-width:0}.msg__form--phone .check{gap:8px;align-items:center;color:var(--mut)}

/* вопросы и ответы внутри текста статьи */
.prose .faq-in{margin:18px 0 28px;border-top:1px solid var(--line2)}
.prose .faq__item{border-bottom:1px solid var(--line2)}
.prose .faq__item>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 0;font-size:clamp(17px,1.4vw,19px);font-weight:700;line-height:1.35;color:var(--txt);transition:color .25s}
.prose .faq__item>summary::-webkit-details-marker{display:none}
.prose .faq__item>summary::after{content:"";flex:0 0 12px;width:12px;height:12px;margin-top:6px;border-right:2px solid var(--vio-txt);border-bottom:2px solid var(--vio-txt);transform:rotate(45deg);transition:transform .3s var(--ease)}
.prose .faq__item[open]>summary::after{transform:rotate(-135deg);margin-top:10px}
.prose .faq__item>summary:hover{color:var(--vio-txt)}
.prose .faq__a{padding:0 0 18px;color:var(--mut2)}
.prose .faq__a>:first-child{margin-top:0}.prose .faq__a>:last-child{margin-bottom:0}
.msg__hint{flex-basis:100%;margin:0 0 4px;font-size:13px;color:var(--mut2)}
/* wiki: блок «Остались вопросы?» и авторы (05.10.2026) */
.askq{margin-top:48px;max-width:780px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:clamp(22px,3vw,34px);border-radius:var(--r-xl);border:1px solid var(--line2);background:linear-gradient(135deg,rgba(123,76,249,.14),rgba(123,76,249,0) 60%),var(--card)}
.askq__h{font-size:clamp(21px,2.1vw,27px);line-height:1.2;font-weight:800;letter-spacing:-.01em;color:var(--txt);margin:0}
.askq__p{margin:12px 0 0;font-size:16px;line-height:1.6;color:var(--mut2)}
.askq__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.askq__who{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;max-width:180px;text-decoration:none;color:var(--txt)}
.askq__img{width:72px;height:72px;border-radius:50%;overflow:hidden;background:var(--card2);box-shadow:0 0 0 3px var(--vio)}
.askq__img img{width:100%;height:100%;object-fit:cover}
.askq__txt{display:flex;flex-direction:column;gap:2px}
.askq__txt small{font-size:12px;color:var(--mut)}
.askq__txt b{font-size:15px}
.askq__txt span{font-size:13px;line-height:1.35;color:var(--mut)}
.askq__who:hover b{color:var(--acc-txt)}
@media (max-width:700px){.askq{grid-template-columns:1fr;gap:20px}.askq__who{flex-direction:row;text-align:left;max-width:none;order:-1}.askq__img{width:56px;height:56px;flex-shrink:0}.askq__btns .btn{flex:1 1 100%;justify-content:center}}
.chip--co{white-space:normal}
.chip--co a{color:inherit;text-decoration:none}.chip--co a:hover b{color:var(--acc-txt)}
.team-art__h{font-size:13px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut);margin:0 0 16px}
.team-art__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px 24px}
/* главная: блок «Интеграции» (05.10.2026) */
.integr__grid{grid-template-columns:repeat(3,1fr)}
.integr__grid .scat:last-child{grid-column:auto}
.integr__note{margin-top:20px;font-size:16px;line-height:1.6;color:var(--mut2);max-width:80ch}
.integr__note b{color:var(--txt)}
@media (max-width:1100px){.integr__grid{grid-template-columns:1fr 1fr}.integr__grid .scat:last-child{grid-column:1/-1}}
@media (max-width:600px){.integr__grid{grid-template-columns:1fr}.integr__grid .scat:last-child{grid-column:auto}}
/* BUG-012 (05.10.2026): мелкий текст на фиолетовом белый, контраст от 4,5 */
.tcard--hot .tcard__note,.tcard--hot .tcard__d,.tcard--hot .tcard__f li,.tcard--hot .tcard__s dt,.aside__box--v p,.aside__box--v .aside__h,.pstep--acc p,.mega__promo span,.band p,.office--main p,.lrow:hover small,.lrow:hover .lrow__w,.lrow:hover .lrow__t{color:#fff}
.chat__who small{color:#1d7f3a}
[data-theme=dark] .chat__who small{color:#4FD875}
/* чат выше (05.10.2026): больше текста, подсказки после начала диалога в одну строку */
.chat{height:700px}
.chat.is-talk .chat__chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.chat.is-talk .chat__chips button{flex-shrink:0;min-height:34px;font-size:13px}
@media (max-width:1000px){.chat{height:640px}}
@media (max-width:640px){.chat{height:min(620px,84svh)}}
.chat__x{margin-left:auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);background:transparent;color:var(--txt);display:inline-grid;place-items:center;transition:background .3s,transform .4s var(--ease)}
.chat__x:hover{background:var(--card2);transform:rotate(90deg)}
.chat__x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
/* всплывающее окно чата на внутренних страницах */
.chatdlg{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-end;justify-content:flex-end;padding:24px}
.chatdlg__back{position:absolute;inset:0;background:rgba(10,10,9,.45);backdrop-filter:blur(3px);opacity:0;transition:opacity .35s}
.chatdlg__box{position:relative;width:min(440px,100%);transform:translateY(24px) scale(.96);transform-origin:100% 100%;opacity:0;transition:transform .45s var(--ease),opacity .35s}
.chatdlg.is-on .chatdlg__back{opacity:1}.chatdlg.is-on .chatdlg__box{transform:none;opacity:1}
.chatdlg .chat{height:min(680px,calc(100dvh - 48px));box-shadow:0 30px 90px rgba(0,0,0,.45)}
@media (max-width:640px){.chatdlg{padding:0}.chatdlg__box{width:100%}.chatdlg .chat{height:100dvh;border-radius:0;border:0}}
/* плавающая кнопка консультанта */
.fab{position:fixed;right:24px;bottom:22px;z-index:121;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none;transform:translateY(140%);opacity:0;transition:transform .6s var(--ease),opacity .4s}
.fab.is-on{transform:none;opacity:1}
.fab.is-on .fab__btn,.fab.is-on .fab__tip:not([hidden]){pointer-events:auto}
.fab__btn{position:relative;display:flex;align-items:center;gap:0;height:60px;padding:0;border:0;border-radius:999px;background:transparent;color:#fff;cursor:pointer}
.fab__ring{position:absolute;left:0;top:0;width:60px;height:60px;border-radius:50%;background:conic-gradient(from 0deg,var(--acc),var(--vio),#4fd875,var(--acc));animation:fabspin 4s linear infinite;filter:blur(.3px)}
.fab__ring::after{content:"";position:absolute;inset:-6px;border-radius:50%;background:inherit;filter:blur(14px);opacity:.55;animation:fabglow 2.8s ease-in-out infinite}
.fab__core{position:relative;z-index:1;width:52px;height:52px;margin:4px;border-radius:50%;background:#1d1d1b;display:grid;place-items:center;transition:transform .4s var(--ease)}
.fab__core svg{position:absolute;width:26px;height:26px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.fab__core i{position:relative;top:-2px;width:3px;height:3px;border-radius:50%;background:var(--acc);display:inline-block;margin:0 1.5px;animation:fabtype 1.2s infinite}
.fab__core{grid-auto-flow:column}
.fab__core i:nth-of-type(2){animation-delay:.15s}.fab__core i:nth-of-type(3){animation-delay:.3s}
.fab__dot{position:absolute;left:44px;top:4px;z-index:2;width:12px;height:12px;border-radius:50%;background:#4fd875;box-shadow:0 0 0 2px #1d1d1b}
.fab__dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:#4fd875;animation:fabping 2s infinite}
.fab__lbl{position:relative;z-index:0;margin-left:-26px;padding:0 20px 0 34px;height:48px;display:inline-flex;align-items:center;border-radius:0 999px 999px 0;background:#1d1d1b;border:1px solid #3c3c37;border-left:0;font-weight:800;font-size:15px;white-space:nowrap;max-width:0;opacity:0;overflow:hidden;transition:max-width .5s var(--ease),opacity .3s,padding .5s var(--ease)}
.fab__btn:hover .fab__lbl,.fab__btn:focus-visible .fab__lbl{max-width:220px;opacity:1}
.fab__btn:hover .fab__core{transform:scale(1.06) rotate(-8deg)}
.fab__btn:focus-visible{outline:2px solid var(--acc);outline-offset:4px}
.fab__tip{position:relative;max-width:260px;padding:12px 34px 12px 14px;border-radius:16px 16px 4px 16px;background:var(--card);border:1px solid var(--line2);box-shadow:0 18px 50px rgba(0,0,0,.28);color:var(--txt);cursor:pointer;opacity:0;transform:translateY(8px) scale(.96);transform-origin:100% 100%;transition:opacity .35s,transform .45s var(--ease)}
.fab__tip.is-on{opacity:1;transform:none}
.fab__tip b{display:block;font-size:14.5px;line-height:1.35}
.fab__tip span{display:block;margin-top:3px;font-size:12.5px;color:var(--mut)}
.fab__tipx{position:absolute;right:6px;top:6px;width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:var(--mut);font-size:18px;line-height:1;cursor:pointer}
.fab__tipx:hover{background:var(--card2);color:var(--txt)}
@keyframes fabspin{to{transform:rotate(360deg)}}
@keyframes fabglow{0%,100%{opacity:.35}50%{opacity:.7}}
@keyframes fabtype{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}
@keyframes fabping{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(2.4);opacity:0}}
/* на телефоне над нижней панелью быстрых действий, без подписи */
@media (max-width:640px){.fab{right:12px;bottom:84px}.fab__btn{height:54px}.fab__ring{width:54px;height:54px}.fab__core{width:46px;height:46px}.fab__dot{left:39px}.fab__lbl{display:none}.fab__tip{max-width:230px}}
@media (prefers-reduced-motion:reduce){.fab__ring,.fab__ring::after,.fab__core i,.fab__dot::after{animation:none}}
html.chat-open{overflow:hidden}
.chatdlg[hidden],.fab__tip[hidden]{display:none}
/* wiki T3: оглавление под лидом и боксы боковой колонки (05.10.2026) */
.toc-in{max-width:780px;margin:0 0 28px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--card);padding:0 18px}
.toc-in summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:52px;font-weight:800;font-size:15px}
.toc-in summary::-webkit-details-marker{display:none}
.toc-in summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);transform:rotate(45deg) translateY(-3px);transition:transform .3s}
.toc-in[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.toc-in summary small{font-size:12px;font-weight:700;color:var(--mut3)}
.toc-in ol{display:flex;flex-direction:column;gap:2px;counter-reset:t;padding:0 0 14px}
.toc-in li{counter-increment:t}
.toc-in a{display:grid;grid-template-columns:26px 1fr;gap:6px;padding:6px 0;font-size:14.5px;line-height:1.4;color:var(--mut2);text-decoration:none}
.toc-in a::before{content:counter(t,decimal-leading-zero);font-size:12px;font-weight:800;color:var(--mut3);padding-top:1px}
.toc-in a:hover{color:var(--txt)}
.aside__case{display:block;text-decoration:none;color:var(--txt);transition:border-color .3s}
.aside__case:hover{border-color:var(--line2)}
.aside__case-img{display:block;aspect-ratio:16/9;border-radius:12px;overflow:hidden;margin-bottom:12px;background:var(--card2)}
.aside__case-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.aside__case:hover img{transform:scale(1.04)}
.aside__case b{font-size:15px;line-height:1.35}
.prose pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.faq__item summary{overflow-wrap:anywhere}
.ftr__word{pointer-events:none}.ftr__bottom{position:relative;z-index:2}
/* кнопка-персонаж v2 (05.10.2026): живой градиентный блоб, глаза следят за курсором, моргает, «говорит» при подсказке */
.fab__btn{width:68px;height:68px;justify-content:center;transition:transform .5s var(--ease)}
.fab__btn:hover{transform:translateY(-3px) scale(1.04)}
.fab__btn:active{transform:scale(.94)}
.fab__blob{position:absolute;inset:0;border-radius:42% 58% 63% 37%/45% 41% 59% 55%;background:conic-gradient(from var(--fa,0deg),#B6FF56,#7B4CF9,#4FD875,#ff6ad5,#B6FF56);animation:fabmorph 7s ease-in-out infinite,fabhue 6s linear infinite;box-shadow:0 10px 40px rgba(123,76,249,.45),0 0 0 1px rgba(255,255,255,.08) inset}
.fab__blob::after{content:"";position:absolute;inset:-10px;border-radius:inherit;background:inherit;filter:blur(18px);opacity:.55;z-index:-1;animation:fabglow 3s ease-in-out infinite}
@property --fa{syntax:'<angle>';inherits:false;initial-value:0deg}
.fab__orbit{position:absolute;inset:-9px;border-radius:50%;animation:fabspin 5s linear infinite;pointer-events:none}
.fab__orbit i{position:absolute;top:0;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:#fff;box-shadow:0 0 10px 2px rgba(182,255,86,.9)}
.fab__core{position:relative;width:52px;height:52px;margin:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2a2a27,#121211 70%);box-shadow:inset 0 2px 6px rgba(255,255,255,.08),inset 0 -6px 12px rgba(0,0,0,.6);display:grid;place-items:center;overflow:hidden}
.fab__core i:not(.fab__eye){display:none}
.fab__face{position:relative;width:30px;height:22px;display:flex;justify-content:space-between;align-items:flex-start;padding-top:2px}
.fab__core .fab__eye{position:relative;top:auto;width:9px;height:12px;margin:0;border-radius:50%;background:#B6FF56;box-shadow:0 0 8px rgba(182,255,86,.8);transition:transform .15s linear,height .2s,border-radius .2s;animation:fabblink 4.6s infinite}
.fab__core .fab__eye:nth-child(2){animation-delay:.04s}
.fab__mouth{position:absolute;left:50%;bottom:0;width:10px;height:3px;margin-left:-5px;border-radius:0 0 6px 6px;background:#B6FF56;opacity:.85;transition:height .2s,width .2s}
.fab.is-talk .fab__mouth{animation:fabtalk .32s ease-in-out infinite alternate}
.fab.is-talk .fab__core .fab__eye{height:7px;border-radius:7px 7px 3px 3px;animation:none}
.fab__btn:hover .fab__core .fab__eye{height:13px}
.fab__dot{left:auto;right:2px;top:2px;width:13px;height:13px}
.fab__lbl{position:absolute;right:76px;top:50%;margin:0;height:40px;padding:0 16px;border-radius:999px;border:1px solid #3c3c37;background:#1d1d1b;transform:translate(10px,-50%);max-width:none;opacity:0;pointer-events:none;transition:opacity .3s,transform .4s var(--ease)}
.fab__btn:hover .fab__lbl,.fab__btn:focus-visible .fab__lbl{opacity:1;transform:translate(0,-50%);max-width:none}
.fab.is-talk .fab__btn:hover .fab__lbl{opacity:0}
.fab.is-talk .fab__blob{animation-duration:3s,2.5s}
@keyframes fabmorph{0%,100%{border-radius:42% 58% 63% 37%/45% 41% 59% 55%}25%{border-radius:58% 42% 40% 60%/55% 60% 40% 45%}50%{border-radius:50% 50% 34% 66%/62% 38% 62% 38%}75%{border-radius:38% 62% 56% 44%/40% 56% 44% 60%}}
@keyframes fabhue{to{--fa:360deg}}
@keyframes fabblink{0%,92%,100%{transform-origin:center;scale:1 1}95%{scale:1 .1}}
@keyframes fabtalk{from{height:2px;width:8px}to{height:7px;width:11px}}
@media (max-width:640px){.fab__btn{width:58px;height:58px}.fab__core{width:44px;height:44px}.fab__face{transform:scale(.88)}.fab__orbit{inset:-7px}}
@media (prefers-reduced-motion:reduce){.fab__blob,.fab__blob::after,.fab__orbit,.fab__core .fab__eye,.fab.is-talk .fab__mouth{animation:none}}
/* кнопка-маска v3 (05.10.2026): белый фарфор, фиолетовый неон, эмоции через data-emo, по умолчанию «хитрый» */
.fab__btn{width:64px;height:74px;border-radius:50%/46%}
.fab__btn:hover{transform:translateY(-3px)}
.fab__halo{position:absolute;inset:-8px -6px;border-radius:50%;background:radial-gradient(closest-side,rgba(123,76,249,.55),rgba(123,76,249,0));animation:fabhalo 3.2s ease-in-out infinite;pointer-events:none}
.fab__mask{position:relative;display:block;width:100%;height:100%;animation:fabfloat 5s ease-in-out infinite;transition:transform .25s ease-out}
.fab__svg{display:block;width:100%;height:100%;overflow:visible}
.fab__svg .ff{fill:none;stroke:#7B4CF9;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.fab__svg .fl{fill:#7B4CF9;font-family:var(--f-body,system-ui)}
.fab__svg .fem{opacity:0;transition:opacity .18s}
.fab[data-emo="sly"] .fem-sly,.fab[data-emo="skeptic"] .fem-skeptic,.fab[data-emo="smug"] .fem-smug,.fab[data-emo="happy"] .fem-happy,.fab[data-emo="laugh"] .fem-laugh,.fab[data-emo="wink"] .fem-wink,.fab[data-emo="surprised"] .fem-surprised,.fab[data-emo="think"] .fem-think,.fab[data-emo="talk"] .fem-talk,.fab[data-emo="sleepy"] .fem-sleepy,.fab[data-emo="angry"] .fem-angry,.fab[data-emo="love"] .fem-love{opacity:1}
.fab__talkm{transform-origin:51px 88px;animation:fabmouth .28s ease-in-out infinite alternate}
.fab[data-emo="laugh"] .fab__mask{animation:fablaugh .35s ease-in-out 3}
.fab[data-emo="surprised"] .fab__mask{animation:fabjump .5s cubic-bezier(.3,1.6,.5,1) 1}
.fab[data-emo="angry"] .fab__mask{animation:fabshake .4s ease-in-out 1}
.fab[data-emo="love"] .fab__halo{background:radial-gradient(closest-side,rgba(255,106,213,.6),rgba(255,106,213,0))}
.fab[data-emo="sleepy"] .fab__halo{animation-duration:6s;opacity:.5}
.fab__dot{right:2px;left:auto;top:4px;width:12px;height:12px}
.fab__lbl{right:72px}
@keyframes fabhalo{0%,100%{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.06)}}
@keyframes fabfloat{0%,100%{translate:0 0;rotate:-3deg}50%{translate:0 -3px;rotate:3deg}}
@keyframes fabmouth{from{transform:scaleY(.45)}to{transform:scaleY(1.15)}}
@keyframes fablaugh{0%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes fabjump{0%{scale:1}40%{scale:1.18 1.12}100%{scale:1}}
@keyframes fabshake{0%,100%{translate:0}25%{translate:-4px}75%{translate:4px}}
@media (max-width:640px){.fab__btn{width:54px;height:62px}}
@media (prefers-reduced-motion:reduce){.fab__halo,.fab__mask,.fab__talkm{animation:none}}
/* стек: блок ИИ по высоте содержимого, под ним две карточки стека (05.10.2026) */
.stack__grid{align-items:start}
.stack__left{display:flex;flex-direction:column;gap:12px;min-width:0}
.stack__left .aicore__in{height:auto}
.stack__cats--left{grid-template-columns:1fr}
.stack__cats--left .scat:last-child{grid-column:auto}
@media (max-width:600px){.stack__cats--left{grid-template-columns:1fr}}
/* стек v2: одна сетка, ряды выровнены (05.10.2026) */
.stack__grid--v2{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:stretch}
.stack__grid--v2>.aicore{grid-row:span 2}
.stack__grid--v2>.aicore .aicore__in{height:100%}
.stack__grid--v2>.scat{display:flex;flex-direction:column}
.stack__grid--v2>.scat:last-child{grid-column:span 2}
@media (max-width:1100px){.stack__grid--v2{grid-template-columns:repeat(2,minmax(0,1fr))}.stack__grid--v2>.aicore{grid-row:auto;grid-column:1/-1}.stack__grid--v2>.scat:last-child{grid-column:1/-1}}
@media (max-width:600px){.stack__grid--v2{grid-template-columns:minmax(0,1fr)}}
.stack__grid--v2>.aicore{grid-row:span 3}
.stack__grid--v2>.scat:last-child{grid-column:auto}
@media (max-width:1100px){.stack__grid--v2>.aicore{grid-row:auto}.stack__grid--v2>.scat:last-child{grid-column:1/-1}}

/* кнопка «Скачать смету в PDF» (05.10) */
.calc__pdf{margin:4px 0 18px;gap:10px;min-height:50px}
.calc__pdf svg{flex:none}
.calc__pdf[disabled]{opacity:.45;pointer-events:none}
.calc__res .calc__pdf{color:var(--black);box-shadow:inset 0 0 0 1.5px var(--black);--fill:var(--black);--fg-h:var(--lime)}

/* ===== курсор (тестовая версия 2): цветное кольцо + маленькая точка =====
   кольцо (.kr) перетекает в форму элемента и растворяется, точка (.kd) остаётся всегда;
   на чекбоксах калькулятора кольцо становится рамкой строки; над текстом точка становится кареткой */
.kr,.kd,.kt{position:fixed;left:0;top:0;pointer-events:none}
/* кольца больше нет: .kr остаётся только чертой под ссылкой и рамкой строки калькулятора */
.kr{z-index:200;width:26px;height:26px;border-radius:13px;border:0;opacity:0;will-change:transform,width,height;transition:opacity .2s,background-color .25s,border-color .25s}
.kr.is-line{opacity:1;background:var(--kc,#B6FF56)}
.kr.is-frame{opacity:1;border:2px solid var(--kc,#B6FF56)}
/* капля */
.kd{z-index:202;width:64px;height:64px;border-radius:32px;transform-origin:50% 50%;background:var(--kc,#B6FF56);will-change:transform;transition:opacity .2s,background-color .2s,box-shadow .25s}
.kd.is-on{background:#fff;mix-blend-mode:difference}
.kd.is-link,.kd.is-lift{box-shadow:0 0 0 16px color-mix(in srgb,var(--kc,#B6FF56) 28%,transparent)}
.kd.is-inv{background:#fff;mix-blend-mode:difference}
.kd.is-off{opacity:0}
.kt{z-index:201;height:32px;padding:0 13px;border-radius:999px;display:flex;align-items:center;background:var(--kl,#7B4CF9);color:var(--klt,#fff);font-size:13px;font-weight:800;white-space:nowrap;opacity:0;transition:opacity .2s;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.kt.on{opacity:1}
.kr.is-out,.kd.is-out{opacity:0}
@media (hover:hover) and (pointer:fine){html.has-kp,html.has-kp *{cursor:none!important}}
@media (hover:none),(pointer:coarse){.kr,.kd,.kt{display:none}}

/* наведение на ссылки, пункты меню, табы, «Читать кейс»: сплошная заливка с небольшим скруглением, без сдвига вёрстки */
html.has-kp .kp-on{--kps:0px;background-color:var(--kc)!important;color:var(--kt)!important;border-radius:var(--kpr,10px);box-shadow:0 0 0 var(--kps) var(--kc)!important;
  text-decoration-color:transparent!important;border-bottom-color:transparent!important;opacity:1!important;transition:background-color .2s,color .2s,box-shadow .2s,translate .2s}
html.has-kp .kp-on *{color:inherit!important}
html.has-kp .kp-on::after,html.has-kp .kp-on::before{opacity:0!important}
html.has-kp .kp-on.kp-tall{border-radius:var(--kpr,14px)}
/* ссылки в тексте, в отзывах, в колонках подвала и меню: меняется только цвет, под словом черта-курсор */
html.has-kp .kp-line{color:var(--kc)!important;text-decoration-color:currentColor!important;transition:color .2s}
html.has-kp .kp-line:not(.cdeck__dots button)::after{opacity:0!important}
/* строки кейсов: название подсвечивается цветом курсора, цифра как раньше */
html.has-kp .cdeck__dots .kp-line{color:inherit!important}
html.has-kp .cdeck__dots .kp-line span{color:var(--kc)!important}
html.has-kp .svc__go.kp-line svg{transform:translate(5px,-5px)}

/* состояния кнопок при наведении */
.btn--ghost{--fill:var(--vio);--fg-h:#fff}
[data-theme=light] .btn{--fill:var(--vio);--fg-h:#fff}
[data-theme=light] .btn--ghost{--fill:var(--vio);--fg-h:#fff}
/* зелёная кнопка на фиолетовом фоне белеет в обеих темах */
.band .btn:not(.btn--ghost),.tcard--hot .btn:not(.btn--ghost),.aside__box--v .btn:not(.btn--ghost),.office--main .btn:not(.btn--ghost),.mega__promo .btn,.ckb .btn,.calc__row .btn:not(.btn--ghost),[data-theme=light] .calc__row .btn:not(.btn--ghost){--fill:#fff;--fg-h:var(--black)}
/* контурная на фиолетовом: белая заливка, тёмный текст */
.band .btn--ghost,.tcard--hot .btn--ghost,.aside__box--v .btn--ghost,.office--main .btn--ghost{--fill:#fff;--fg-h:var(--black)}
/* «Скачать смету в PDF» на лаймовой смете: чёрная заливка и лаймовый текст (раньше текст сливался) */
.calc__res .calc__pdf,[data-theme=light] .calc__res .calc__pdf{--fill:var(--black);--fg-h:var(--lime)}
.calc__res .calc__pdf:hover{color:var(--lime)}
/* у писем своя подпись «Читать» больше не нужна: подпись даёт курсор */
html.has-kp .ltr__paper::after{display:none}
/* нижняя панель: явное наведение */
.dock a:hover{background:var(--vio);color:#fff}
.dock .dock__main:hover{background:#fff;color:var(--black)}
/* чат: кнопка «Отправить» зеленеет */
.chat__in button{transition:background .25s,color .25s,transform .3s}
.chat__in button:hover{background:var(--acc)!important;color:var(--on-acc)!important}
/* логотип: лёгкое увеличение */
@media (hover:hover){.hdr__logo{transition:translate .2s,scale .3s var(--ease)}.hdr__logo:hover{scale:1.05}}
/* кнопка меню на узких экранах: как иконки в шапке, фиолетовая заливка и белые полоски */
.burger{transition:background-color .25s,border-color .25s}
@media (hover:hover){.burger:hover{background:var(--vio);border-color:var(--vio)}.burger:hover i{background:#fff}}
/* ползунки: строка оживает при наведении, бегунок увеличивается и светится, когда его можно схватить */
input[type=range]::-webkit-slider-runnable-track{transition:height .2s}
input[type=range]::-webkit-slider-thumb{transition:transform .25s var(--ease),box-shadow .25s}
.rng>span{transition:color .2s}
@media (hover:hover){
  .rng:hover>span,.rng:hover em{color:var(--txt)}
  .rng:hover .num{border-bottom-color:var(--vio)}
  .rng:hover input[type=range]::-webkit-slider-runnable-track{height:6px}
  .rng:hover input[type=range]::-webkit-slider-thumb{margin-top:-8px;box-shadow:0 0 0 6px color-mix(in srgb,var(--vio) 22%,transparent),0 4px 14px rgba(0,0,0,.35)}
  input[type=range].kp-grab::-webkit-slider-thumb,input[type=range]:hover:active::-webkit-slider-thumb{transform:scale(1.25);box-shadow:0 0 0 9px color-mix(in srgb,var(--vio) 30%,transparent),0 4px 14px rgba(0,0,0,.35)}
  .rng:hover input[type=range]::-moz-range-thumb{box-shadow:0 0 0 6px color-mix(in srgb,var(--vio) 22%,transparent)}
  input[type=range].kp-grab::-moz-range-thumb{transform:scale(1.25);box-shadow:0 0 0 9px color-mix(in srgb,var(--vio) 30%,transparent)}
}
/* уровни тарифа в калькуляторе: наведение фиолетовое, чтобы не путать с выбранным лаймовым */
html.has-kp .lv.kp-on:not([aria-pressed=true]){background-color:var(--vio)!important;color:#fff!important;box-shadow:0 0 0 var(--kps) var(--vio)!important}
/* «Отправить смету руководителю» в калькуляторе (06.10, вместо ссылки на Telegram) */
.calc__share{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--acc);text-decoration:none;transition:color .2s,opacity .2s}
@media (hover:none){.calc__share{text-decoration:underline;text-underline-offset:4px}}
.calc__share:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:4px}
.calc__share[aria-busy]{opacity:.6;pointer-events:none}
.calc__share.is-empty span::after{content:" · сначала выберите услуги";font-weight:500;opacity:.8}
/* стрелка пункта главного меню окрашивается вместе с подчёркнутым пунктом, без заливки */
html.has-kp .mnav__item:has(>.mnav__link.kp-line)>.mnav__tog{color:var(--acc-txt)!important;background:none!important}
html.has-kp .mnav__item:has(>.mnav__link.kp-line)>.mnav__tog svg{stroke:currentColor}
