/* ==========================================================================
   «Ночь» — основной стиль сайта Лиги (выбран 22.09.2026 из второго круга вариантов).
   Почти чёрный фон, тонкие направляющие с перекрестьями, синее свечение,
   градиентные рамки карточек, подсветка за курсором, появление при прокрутке.
   Скрипты: static/js/site.js. Шаблон-каркас: templates/base.html, части — templates/parts/.
   ========================================================================== */

/* Cygre — корпоративный шрифт (лицензия в fonts/cygre/LICENSE.pdf). WOFF2 — сжатые TTF из материалы/шрифты,
   без изменения начертаний; ExtraBold не используется и не подключён. */
@font-face { font-family: "Cygre"; src: url("../fonts/cygre/Cygre-Regular.527f59cf732c.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Cygre"; src: url("../fonts/cygre/Cygre-Medium.cfbb657e6da6.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Cygre"; src: url("../fonts/cygre/Cygre-SemiBold.8522d1d274d3.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Cygre"; src: url("../fonts/cygre/Cygre-Bold.b78308c835c1.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root{
  /* «Сумерки» (24.09): тёмный сине-серый вместо почти чёрного «Ночи»; бэкап — archive/backups/ */
  --bg:#172036; --bg1:#1C2640; --bg2:#212C49;
  --line:rgba(255,255,255,.1); --line2:rgba(255,255,255,.17); --cross:rgba(255,255,255,.34);
  --tx:#EEF1F7; --mut:#B4BED4; --dim:#9CA7C0;
  --blue:#4278FF; --blue2:#4690FF; --sky:#A9CAFB; --lime:#3DF5B0; --lime-rgb:61,245,176; /* акцент — мятный (24.09; были лаймовый #DCFF55, янтарный #F2C26B) */
  --r:18px; --pad:48px;
  /* токены темы: «Ночь» по умолчанию, «Стекло» — [data-theme="light"] ниже */
  --page:#141B2D; --ov:255,255,255; --hi:#fff; --tx2:#DCE3F1;
  --hdr:rgba(23,32,54,.8); --panel:#1E2946; --hover-bg:#1B2540;
  --node-a:#223051; --node-b:#1B2642; --sys-a:rgba(30,41,70,.92); --sys-b:rgba(24,33,56,.97);
  --horizon:#22335F; --g1:#FFFFFF; --g2:#B7C6E4; --g3:#93A7D2; --h1a:#FFFFFF; --h1b:#BFCDEA; --h1c:#8EA5D7;
  --logo-f:brightness(0) invert(1); --glass:none;
  --ease:cubic-bezier(.2,.75,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--page);color-scheme:dark;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:400 16px/1.6 "Cygre",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
::selection{background:rgba(66,120,255,.45);color:var(--hi)}
.skip{position:absolute;left:16px;top:-60px;z-index:100;padding:10px 16px;border-radius:10px;background:var(--lime);color:#0A0C12;font-weight:600}
.skip:focus{top:12px}
svg.i{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- направляющие: колонна с перекрестьями ---------- */
.wrap{position:relative;width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--pad)}
/* «Сумерки»: один однотипный фон на всю страницу — точки + градиент слева направо;
   блоки прозрачные — ни один не выделяется своим фоном (правка 24.09) */
html:not([data-theme="light"]) body{background:
  radial-gradient(rgba(255,255,255,.12) 1px,transparent 1.5px) 0 0/24px 24px,
  linear-gradient(90deg,#141B2E 0%,#1C2848 50%,#141B2E 100%) fixed}
html:not([data-theme="light"]) .hero-bg .dots{display:none}
html:not([data-theme="light"]) .sec,html:not([data-theme="light"]) .blue,html:not([data-theme="light"]) .phead,
html:not([data-theme="light"]) .ftr{background:transparent}
html:not([data-theme="light"]) .blue::after,html:not([data-theme="light"]) .phead-bg,html:not([data-theme="light"]) .join-bg,
html:not([data-theme="light"]) .fresh-glow{display:none}
/* разделитель блоков — контрастнее (правка 24.09: отступы вдвое меньше, граница заметнее) */
.sec{position:relative;border-top:1px solid rgba(var(--ov),.16)}
@media (min-width:1260px){
  .wrap{border-inline:1px solid var(--line)}
  .sec>.wrap::before,.sec>.wrap::after{content:"";position:absolute;top:-6px;width:11px;height:11px;pointer-events:none;z-index:2;
    background:linear-gradient(var(--cross),var(--cross)) center/1px 100% no-repeat,linear-gradient(var(--cross),var(--cross)) center/100% 1px no-repeat}
  .sec>.wrap::before{left:-6px}
  .sec>.wrap::after{right:-6px}
}

/* ---------- типографика ---------- */
.grad{background:linear-gradient(180deg,var(--g1) 20%,var(--g2) 78%,var(--g3));-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:100%;padding:5px 12px 5px 6px;border-radius:999px;
  font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--tx2);background:rgba(var(--ov),.03);box-shadow:inset 0 0 0 1px var(--line2)}
.eyebrow b{display:inline-grid;place-items:center;min-width:26px;height:20px;padding:0 6px;border-radius:999px;font-weight:600;font-size:11.5px;
  color:var(--lime);background:rgba(var(--lime-rgb),.08);box-shadow:inset 0 0 0 1px rgba(var(--lime-rgb),.22);font-variant-numeric:tabular-nums}
.h2{font-size:clamp(32px,2.6vw + 18px,52px);line-height:1.07;letter-spacing:-.038em;font-weight:600;padding-bottom:.06em;text-wrap:balance}
.sub{color:var(--mut);font-size:17px;line-height:1.6;max-width:34em}
.sh{display:grid;gap:20px;justify-items:start}
.sh-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 48px;flex-wrap:wrap}
.sh-row .sh{max-width:720px}
.lnk{display:inline-flex;align-items:center;gap:8px;color:var(--sky);font-weight:500;font-size:15px;white-space:nowrap;border-radius:6px;transition:color .25s}
.lnk svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.lnk:hover{color:var(--hi)}.lnk:hover svg{transform:translateX(3px)}

/* ---------- кнопки ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border-radius:12px;
  font-weight:600;font-size:15px;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s,color .3s}
.btn svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-p{color:#fff;background:linear-gradient(180deg,#3A6BF2 0%,#2B57CF 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 0 1px rgba(98,145,255,.75),0 10px 30px -8px rgba(66,120,255,.8),0 0 56px -12px rgba(66,120,255,.75)}
.btn-p::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn-p:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 0 0 1px rgba(130,168,255,.9),0 14px 38px -8px rgba(66,120,255,.95),0 0 80px -10px rgba(66,120,255,.85)}
.btn-p:hover::after{transform:translateX(120%)}
.btn-g{color:var(--tx);background:rgba(var(--ov),.04);box-shadow:inset 0 0 0 1px var(--line2)}
.btn-g:hover{background:rgba(var(--ov),.08);box-shadow:inset 0 0 0 1px rgba(var(--ov),.22)}
.btn-sm{height:38px;padding:0 16px;border-radius:10px;font-size:14px}
.btn-lg{height:54px;padding:0 28px;font-size:16px;border-radius:14px}

/* ---------- карточки с градиентной рамкой и прожектором ---------- */
.card{position:relative;border-radius:var(--r);border:1px solid transparent;
  background:linear-gradient(180deg,var(--bg2),var(--bg1)) padding-box,
             linear-gradient(180deg,rgba(var(--ov),.14),rgba(var(--ov),.055) 40%,rgba(var(--ov),.035)) border-box;
  box-shadow:inset 0 1px 0 rgba(var(--ov),.04),inset 0 0 48px rgba(66,120,255,.035),0 2px 4px rgba(0,0,0,.35)}
.card>*{position:relative}
.card::before,.card::after{content:"";position:absolute;pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .45s}
.card::before{inset:0;background:radial-gradient(420px circle at var(--x,50%) var(--y,0),rgba(66,120,255,.13),transparent 65%)}
.card::after{inset:-1px;padding:1px;background:radial-gradient(280px circle at var(--x,50%) var(--y,0),rgba(169,202,251,.85),transparent 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.lit .card::after{opacity:1}
.lit .card:hover::before{opacity:1}

/* ---------- шапка ---------- */
.hdr{position:sticky;top:0;z-index:60;background:var(--hdr);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:20px;height:68px}
.prog{position:absolute;left:0;right:0;bottom:-1px;height:1px;transform-origin:0 50%;transform:scaleX(0);pointer-events:none;
  background:linear-gradient(90deg,var(--lime),var(--blue2) 35%,var(--sky));box-shadow:0 0 8px rgba(70,144,255,.7)}
@supports (animation-timeline:scroll()){
  .prog{animation:prog linear both;animation-timeline:scroll(root)}
  @keyframes prog{to{transform:scaleX(1)}}
}
.logo{flex:none;display:block;border-radius:6px}
.logo img{height:32px;width:auto;filter:var(--logo-f)}
.nav{flex:1;display:flex;align-items:center;justify-content:center;gap:2px}
.nav>a,.more>summary{display:flex;align-items:center;gap:6px;height:34px;padding:0 9px;border-radius:8px;font-size:14px;color:var(--tx2);cursor:pointer;white-space:nowrap;transition:color .2s,background-color .2s}
.nav>a:hover,.more>summary:hover,.more[open]>summary{color:var(--hi);background:rgba(var(--ov),.055)}
.nav>a[aria-current]{color:var(--hi)}
.nav>a[aria-current]::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime)}
summary{list-style:none}summary::-webkit-details-marker{display:none}
.more{position:relative}
.more>summary svg{width:12px;height:12px;transition:transform .25s}
.more[open]>summary svg{transform:rotate(180deg)}

.hdr-r{flex:none;display:flex;align-items:center;gap:14px}
.tel{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--tx2);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:6px;transition:color .2s}
.tel svg{width:15px;height:15px;color:var(--sky)}
.tel:hover{color:var(--hi)}
.mnav{display:none}
.mnav>summary{display:flex;align-items:center;gap:10px;height:38px;padding:0 14px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;
  background:rgba(var(--ov),.05);box-shadow:inset 0 0 0 1px var(--line2)}
.burger{position:relative;width:14px;height:10px}
.burger::before,.burger::after{content:"";position:absolute;left:0;right:0;height:1.6px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease),top .3s var(--ease)}
.burger::before{top:1px}.burger::after{top:7px}
.mnav[open] .burger::before{top:4px;transform:rotate(45deg)}
.mnav[open] .burger::after{top:4px;transform:rotate(-45deg)}
.mnav-p{position:absolute;left:0;right:0;top:calc(100% + 1px);padding:8px var(--pad) 24px;max-height:calc(100vh - 69px);overflow:auto;
  background:var(--panel);border-bottom:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.6)}
.mnav-p nav a{display:flex;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid var(--line);font-size:17px;color:var(--tx2);transition:color .2s}
.mnav-p nav a:hover{color:var(--hi)}
.mnav-p nav a[aria-current]{color:var(--hi)}
.mnav-p nav a[aria-current]::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime)}
.mnav-p nav a svg{flex:none;margin-left:auto;width:16px;height:16px;color:var(--dim)}
.mnav-p .tel{margin-top:18px;font-size:16px}
.mnav-p .btn{margin-top:18px;width:100%}
@media (min-width:641px){
  .mnav-p nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
  .mnav-f{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px}
  .mnav-f .tel,.mnav-f .btn{margin-top:0}
  .mnav-f .btn{width:auto;min-width:240px}
}

/* ---------- первый экран ---------- */
.hero{position:relative;overflow:clip;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-bg i{position:absolute;display:block}
.hero-bg .dots{inset:0;background-image:radial-gradient(rgba(var(--ov),.17) 1px,transparent 1.5px);background-size:24px 24px;background-position:center -6px;
  -webkit-mask-image:radial-gradient(ellipse 58% 50% at 50% 26%,#000 15%,transparent 72%);mask-image:radial-gradient(ellipse 58% 50% at 50% 26%,#000 15%,transparent 72%)}
.hero-bg .glow{left:50%;top:-380px;width:1180px;height:820px;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(66,120,255,.46),rgba(66,120,255,.16) 52%,transparent)}
.hero-bg .cone{left:50%;top:0;width:1000px;height:760px;transform:translateX(-50%);
  background:conic-gradient(from 180deg at 50% 0%,transparent 152deg,rgba(169,202,251,.10) 170deg,rgba(169,202,251,.19) 180deg,rgba(169,202,251,.10) 190deg,transparent 208deg);
  -webkit-mask-image:linear-gradient(#000 10%,transparent 80%);mask-image:linear-gradient(#000 10%,transparent 80%)}
.hero-bg .deep{left:50%;top:58%;width:1300px;height:700px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(46,95,217,.22),transparent)}
.hero-bg .lime{right:6%;top:52%;width:340px;height:340px;background:radial-gradient(closest-side,rgba(var(--lime-rgb),.09),transparent)}
.hero-in{padding-top:88px;padding-bottom:88px;text-align:center}

.h1{margin:30px auto 0;max-width:12.4em;font-size:clamp(40px,6.4vw,84px);line-height:1.03;letter-spacing:-.047em;font-weight:600;padding-bottom:.08em;text-wrap:balance;
  background:linear-gradient(180deg,var(--h1a) 22%,var(--h1b) 72%,var(--h1c));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{max-width:35em;margin:22px auto 0;font-size:clamp(17px,1.45vw,19px);line-height:1.6;color:var(--mut);text-wrap:pretty}
.cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:38px}

/* появление первого экрана (чистый CSS: работает и без JS) */
@keyframes rise{from{opacity:0;transform:translateY(14px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
.in{animation:rise 1s var(--ease) both;animation-delay:calc(var(--d,0) * 90ms + 80ms)}

/* ---------- модель: человек → команда → бизнес ---------- */

.node{position:relative;padding:26px 24px 28px;border-radius:18px;border:1px solid transparent;
  background:linear-gradient(180deg,var(--node-a),var(--node-b)) padding-box,linear-gradient(180deg,rgba(var(--ov),.16),rgba(var(--ov),.05)) border-box;
  box-shadow:0 20px 40px -20px rgba(0,0,0,.8),inset 0 1px 0 rgba(var(--ov),.05)}

.node-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:var(--sky);
  background:radial-gradient(circle at 50% 0%,rgba(66,120,255,.35),rgba(66,120,255,.06) 70%);box-shadow:inset 0 0 0 1px rgba(120,160,255,.35);
  animation:nodeglow 4.8s var(--ease) infinite;animation-delay:var(--g,0s)}
.node-ic svg{width:24px;height:24px}

.node h3{font-size:22px;line-height:1.2;letter-spacing:-.02em;font-weight:600}
.node p{margin-top:10px;font-size:15px;line-height:1.6;color:var(--mut)}

@keyframes pulse{0%{transform:translateX(0);opacity:0}4%{opacity:1}20%{transform:translateX(44px);opacity:1}24%,100%{transform:translateX(44px);opacity:0}}
@keyframes nodeglow{0%,100%{box-shadow:inset 0 0 0 1px rgba(120,160,255,.35)}6%{box-shadow:inset 0 0 0 1px rgba(var(--lime-rgb),.7),0 0 26px rgba(66,120,255,.8)}30%{box-shadow:inset 0 0 0 1px rgba(120,160,255,.35)}}

@keyframes ping{0%{transform:scale(.6);opacity:1}80%,100%{transform:scale(1.8);opacity:0}}
.pj-viz.paused *{animation-play-state:paused}

/* ---------- кому помогаем: сетка, три ячейки — ссылки ---------- */

.ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;color:var(--sky);
  background:linear-gradient(180deg,rgba(66,120,255,.2),rgba(66,120,255,.04));box-shadow:inset 0 0 0 1px rgba(120,160,255,.3),inset 0 1px 0 rgba(var(--ov),.08);
  transition:box-shadow .45s var(--ease),color .45s}
.ic svg{width:25px;height:25px}

.note{display:flex;align-items:flex-start;gap:10px;margin-top:10px;font-size:14px;color:var(--sky)}
.note::before{content:"";flex:none;width:14px;height:1px;margin-top:.72em;background:var(--lime)}

/* ячейка-ссылка */

/* ---------- проекты ---------- */
.proj .wrap{padding-block:64px}
.pj{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:16px;margin-top:56px}
.pj-main{display:flex;flex-direction:column;overflow:hidden}
.pj-viz{flex:1 1 auto;min-height:230px;border-bottom:1px solid var(--line);overflow:hidden;border-radius:17px 17px 0 0;
  background:radial-gradient(closest-side,rgba(66,120,255,.28),transparent) center/520px 360px no-repeat,
             radial-gradient(rgba(var(--ov),.08) 1px,transparent 1.4px) 0 0/18px 18px}
.pj-viz svg{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px)}
.orb{transform-origin:300px 115px;animation:spin 40s linear infinite}
.orb2{transform-origin:300px 115px;animation:spin 64s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.pj-b{display:flex;flex-direction:column;padding:32px 36px 36px}
.status{display:inline-flex;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:4px 11px 4px 9px;border-radius:14px;font-size:13px;line-height:1.35;color:var(--tx2);
  background:rgba(66,120,255,.08);box-shadow:inset 0 0 0 1px rgba(90,140,255,.28)}
.status::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--blue2);box-shadow:0 0 8px var(--blue2)}
.status.on{color:var(--lime);background:rgba(var(--lime-rgb),.07);box-shadow:inset 0 0 0 1px rgba(var(--lime-rgb),.25)}
.status.on::before{background:var(--lime);box-shadow:0 0 8px var(--lime)}
.pj-main h3{margin-top:20px;font-size:clamp(28px,3vw,36px);line-height:1.1;letter-spacing:-.035em;font-weight:600}
.pj-main p.t{margin-top:14px;font-size:16px;line-height:1.62;color:var(--mut);max-width:34em}
.pj-main .pj-go{padding-top:28px}
.pj-list{display:grid;gap:16px;align-content:start}
.pj-row{padding:26px 28px 28px}
.pj-row h3{margin-top:16px;font-size:20px;line-height:1.25;letter-spacing:-.02em;font-weight:600}
.pj-row p.t{margin-top:10px;font-size:15px;line-height:1.6;color:var(--mut)}

/* ---------- команда ---------- */
.team .wrap{padding-block:64px}
.tgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:56px}
.tm{padding:10px}
.tm-ph{position:relative;aspect-ratio:4/5;border-radius:12px;overflow:hidden;isolation:isolate;
  background:radial-gradient(90% 70% at 50% 18%,#D5DCEA 0%,#9DA8BE 48%,#3A4356 100%)}
.tm-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;mix-blend-mode:multiply;filter:grayscale(1) contrast(1.06);
  transition:filter .6s var(--ease),transform .9s var(--ease)}
.tm-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(12,15,22,.55) 85%,rgba(12,15,22,.9));pointer-events:none}
.tm:hover .tm-ph img{filter:grayscale(.15) contrast(1.02);transform:scale(1.03)}
.tm-in{position:absolute;inset:0;display:grid;place-items:center;font-size:56px;font-weight:600;letter-spacing:-.04em;color:#fff;background:linear-gradient(160deg,#2B3F7A,#141A2A)}

.tm-b{padding:20px 14px 14px}
.tm-role{font-size:13px;color:var(--sky);letter-spacing:.01em}
.tm h3{margin-top:6px;font-size:22px;line-height:1.2;letter-spacing:-.025em;font-weight:600}
.tm-b p.t{margin-top:10px;font-size:15px;line-height:1.55;color:var(--mut)}

/* ---------- свежее: три лотка ---------- */
.fresh{overflow:clip}
.fresh .wrap{padding-block:64px}
.fresh-glow{position:absolute;right:-12%;top:18%;width:900px;height:700px;pointer-events:none;background:radial-gradient(closest-side,rgba(66,120,255,.13),transparent)}
.trays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:56px}
.tray{--c:var(--blue2);display:flex;flex-direction:column;padding:8px;border-radius:22px}
.tray:nth-child(2){--c:var(--lime)}
.tray:nth-child(3){--c:var(--sky)}
.tray-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 10px 14px 14px}
.tray-h h3{display:flex;align-items:center;gap:11px;font-size:18px;line-height:1.2;font-weight:600;letter-spacing:-.015em}
.tray-h h3::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--c);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 18%,transparent),0 0 12px var(--c)}
.pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px 0 13px;border-radius:999px;font-size:13px;font-weight:500;white-space:nowrap;
  color:var(--tx2);background:rgba(var(--ov),.04);box-shadow:inset 0 0 0 1px var(--line2);transition:color .25s,background-color .25s,box-shadow .25s}
.pill svg{width:13px;height:13px;transition:transform .3s var(--ease)}
.pill:hover{color:#0A0C12;background:var(--lime);box-shadow:0 0 22px -4px rgba(var(--lime-rgb),.55)}
.pill:hover svg{transform:translateX(2px)}
.tray-l{display:grid;gap:2px}
.it{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:start;padding:10px;border-radius:14px;transition:background-color .3s}
.it:hover{background:rgba(var(--ov),.04)}
.it-img{position:relative;display:block;width:64px;aspect-ratio:1;border-radius:11px;overflow:hidden;background:linear-gradient(160deg,#1B2540,#10141D);box-shadow:0 0 0 1px var(--line2)}
.it-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.8);transition:filter .5s,transform .8s var(--ease)}
.it:hover .it-img img{filter:none;transform:scale(1.05)}
.it-ph{position:absolute;inset:0;display:grid;place-items:center}
.it-ph::before{content:"";width:34%;height:42%;background:rgba(169,202,251,.5);
  -webkit-mask:url("../favicon.cb8e06c6828f.svg") center/contain no-repeat;mask:url("../favicon.cb8e06c6828f.svg") center/contain no-repeat}
.it-b{display:block;min-width:0}
.it-m{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:13px;line-height:1.4;color:var(--dim);font-variant-numeric:tabular-nums}
.it-m>span::before{content:"·";content:"·" / "";margin-right:8px;color:#5E667A}
.it-t{display:block;margin-top:5px;font-size:15.5px;line-height:1.36;font-weight:500;letter-spacing:-.005em;color:var(--tx);transition:color .25s}
.it:hover .it-t{color:var(--sky)}
.it-s{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:8px;font-size:14px;line-height:1.55;color:var(--mut)}
.it-f{grid-template-columns:minmax(0,1fr);gap:16px;padding-bottom:16px}
.it-f .it-img{width:100%;aspect-ratio:16/10;border-radius:14px}
.it-f .it-b{padding-inline:4px}
.it-f .it-t{font-size:18px;line-height:1.32;letter-spacing:-.015em}
.tray-l li+li .it{position:relative}
.tray-l li+li .it::before{content:"";position:absolute;left:10px;right:10px;top:-1px;height:1px;background:var(--line)}
.empty{padding:14px;font-size:15px;color:var(--mut)}

/* ---------- призыв ---------- */
.join{overflow:clip;isolation:isolate}
.join-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.join-bg i{position:absolute;display:block}
.join-bg .dots{inset:0;background-image:radial-gradient(rgba(var(--ov),.14) 1px,transparent 1.5px);background-size:24px 24px;
  -webkit-mask-image:radial-gradient(ellipse 50% 60% at 50% 40%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 50% 60% at 50% 40%,#000 10%,transparent 70%)}
.join-bg .halo{left:50%;top:34%;width:900px;height:600px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(66,120,255,.22),transparent)}
.join-bg{--hz:150px;--hs:max(1500px,150vw)}
.hglow{left:50%;top:calc(100% - var(--hz) - 300px);width:1200px;height:600px;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(66,120,255,.42),rgba(66,120,255,.12) 55%,transparent)}
.rim{left:50%;top:calc(100% - var(--hz) - 70px);width:calc(var(--hs) + 140px);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(closest-side,rgba(96,146,255,.55) calc(100% - 72px),rgba(66,120,255,.16) calc(100% - 40px),rgba(66,120,255,0) 100%)}
.horizon{left:50%;top:calc(100% - var(--hz));width:var(--hs);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(closest-side,var(--bg) calc(100% - 90px),var(--horizon) calc(100% - 1px),transparent 100%);
  border-top:1px solid rgba(200,220,255,.85)}
.join-in{padding-top:64px;padding-bottom:64px;text-align:center}
.appicon{position:relative;width:112px;height:112px;margin:0 auto 44px;border-radius:30px;
  background:linear-gradient(155deg,#7AA3FF 0%,#4278FF 42%,#2445B5 100%);
  box-shadow:inset 0 1.5px 1px rgba(255,255,255,.65),inset 0 -10px 24px rgba(8,18,60,.4),0 0 0 1px rgba(255,255,255,.1),0 30px 80px -12px rgba(66,120,255,.85),0 0 140px rgba(66,120,255,.4)}
.appicon::before{content:"";position:absolute;inset:23px 29px 21px;background:#fff;filter:drop-shadow(0 2px 6px rgba(10,20,80,.35));
  -webkit-mask:url("../favicon.cb8e06c6828f.svg") center/contain no-repeat;mask:url("../favicon.cb8e06c6828f.svg") center/contain no-repeat}
.appicon::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 45%)}
.appicon i{position:absolute;right:-5px;top:-5px;width:16px;height:16px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px var(--bg),0 0 16px rgba(var(--lime-rgb),.8)}
.join-t{max-width:14em;margin-inline:auto;font-size:clamp(36px,4vw + 14px,68px);line-height:1.04;letter-spacing:-.045em}
.join-p{max-width:40em;margin:24px auto 0;font-size:17px;line-height:1.65;color:var(--mut);text-wrap:pretty}
.join .cta{margin-top:40px}

/* ---------- подвал ---------- */
.ftr{position:relative;overflow:clip;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--bg),var(--page))}
.ftr-in{display:grid;grid-template-columns:1.25fr .9fr 1fr 1.25fr;gap:40px;padding-top:72px;padding-bottom:56px}
.ftr .logo img{height:30px}
.ftr-brand p{margin-top:20px;font-size:15px;line-height:1.55;color:var(--mut);max-width:18em}
.ftr h2{font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-bottom:18px}
.ftr li+li{margin-top:10px}
.ftr-col a{font-size:15px;color:var(--tx2);border-radius:4px;transition:color .2s}
.ftr-col a:hover{color:var(--hi)}
.ftr-col p{font-size:14px;line-height:1.6;color:var(--mut)}
.ftr-col p+p{margin-top:12px}
.ftr-col .addr{font-size:15px;color:var(--tx2);line-height:1.5}
.vk{display:inline-flex;align-items:center;gap:8px;margin-top:24px;height:38px;padding:0 14px;border-radius:10px;font-size:14px;font-weight:500;color:var(--tx);
  background:rgba(var(--ov),.04);box-shadow:inset 0 0 0 1px var(--line2);transition:background-color .2s}
.vk:hover{background:rgba(var(--ov),.08)}
.vk svg{width:14px;height:14px}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-top:22px;padding-bottom:18px;border-top:1px solid var(--line);font-size:13px;color:var(--dim)}
.ftr-bot a:hover{color:var(--hi)}

/* ---------- появление при прокрутке ----------
   Класс .pre ставит только скрипт и только тем элементам, что при загрузке
   ниже первого экрана. Без JS, в печати и при «уменьшить движение» всё видно. */
.rv{transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:calc(var(--d,0) * 110ms)}
.rv.pre{opacity:0;transform:translateY(22px);filter:blur(6px)}
.rv.pre.rv-s{transform:translateY(26px) scale(.975)}

/* ==========================================================================
   Адаптив
   ========================================================================== */
@media (max-width:1219px){
  :root{--pad:32px}
  .hdr-r{margin-left:auto;gap:10px}

  @keyframes pulse{0%{transform:translateX(0);opacity:0}4%{opacity:1}20%{transform:translateX(28px);opacity:1}24%,100%{transform:translateX(28px);opacity:0}}
  .ftr-in{grid-template-columns:1fr 1fr;gap:48px 40px}
}
@media (max-width:1100px){
  .trays{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tray:nth-child(3){grid-column:1/-1}
}
/* Мероприятия во всю ширину: ведущее событие — картинка слева, текст справа,
   остальные — строкой ниже и делят ширину поровну (одно — во всю ширину). */
@media (min-width:761px) and (max-width:1100px){
  .tray:nth-child(3) .tray-l{display:flex;flex-wrap:wrap;gap:2px 12px}
  .tray:nth-child(3) .tray-l>li{flex:1 1 300px;min-width:0}
  .tray:nth-child(3) .tray-l>li:first-child{flex-basis:100%}
  .tray:nth-child(3) .it-f{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;padding-bottom:12px}
  .tray:nth-child(3) .it-f .it-t{font-size:20px}
}
@media (max-width:1024px){
  .pj{grid-template-columns:minmax(0,1fr)}
}
/* главный проект на планшете: орбиты слева, текст справа — без пустой правой половины */
@media (min-width:761px) and (max-width:1024px){
  .pj-main{flex-direction:row}
  .pj-viz{flex:0 0 42%;min-height:0;border-bottom:0;border-right:1px solid var(--line);border-radius:17px 0 0 17px}
  .pj-b{flex:1;justify-content:center}
}
@media (max-width:900px){

  @keyframes pulseV{0%{transform:translateY(0);opacity:0}4%{opacity:1}20%{transform:translateY(22px);opacity:1}24%,100%{transform:translateY(22px);opacity:0}}
  .tgrid{gap:12px}
}
@media (min-width:641px) and (max-width:900px){
  .node{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:24px;align-items:start}

  .node-ic{grid-row:1/span 3}

  .node h3,.node p{grid-column:2}
}
@media (max-width:760px){

  .tgrid{grid-template-columns:minmax(0,1fr)}
  .tm{display:grid;grid-template-columns:132px minmax(0,1fr);gap:4px;align-items:center}
  .tm-b{padding:8px 10px 8px 14px}

  .trays{grid-template-columns:minmax(0,1fr)}
  .tray:nth-child(3){grid-column:auto}
  .ftr-in{grid-template-columns:1fr}
  nav.ftr-col ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
  nav.ftr-col li+li{margin-top:0}
}
@media (max-width:640px){
  :root{--pad:20px}
  .proj .wrap,.team .wrap,.fresh .wrap,.facts .wrap,.pains .wrap,.cases .wrap{padding-block:44px}
  .hero-in{padding-top:56px;padding-bottom:84px}
  .h1{margin-top:24px;letter-spacing:-.04em}
  .cta{flex-direction:column;align-items:stretch}
  .cta .btn{width:100%}

  .node{padding:22px 20px 24px}
  .node h3{font-size:20px}

  .pj-viz{min-height:180px}
  .pj-b{padding:26px 22px 26px}
  .pj-row{padding:22px 20px 24px}
  .tm{grid-template-columns:108px minmax(0,1fr)}
  .tm h3{font-size:19px}
  .tm-b p.t{font-size:14px}
  .trays{margin-top:40px}
  .join-in{padding-top:44px;padding-bottom:44px}
  .join-bg{--hz:110px}
  .appicon{width:92px;height:92px;border-radius:25px;margin-bottom:36px}
  .appicon::before{inset:19px 24px 17px}
  .ftr-in{padding-top:56px;gap:36px}
  .ftr-bot{padding-bottom:16px}
}
@media (max-width:400px){
  .hdr-r .btn{display:none}
  .logo img{height:28px}
  .tray-h{flex-wrap:wrap;padding-inline:12px 8px}
  .tray-h h3{font-size:17px;gap:9px}
  .pill{height:30px;padding:0 10px 0 11px;font-size:12.5px;gap:4px}
}

/* ==========================================================================
   Главная сайта: блоки, добавленные к «Ночи» при переносе (22.09.2026)
   ========================================================================== */
/* первый экран: заголовок в две строки */
.h1{max-width:none}
.h1-l{display:inline-block}
/* уровни модели: кто, что, ссылка */
.node{display:flex;flex-direction:column}
.node .node-who{margin-top:6px;font-size:13.5px;color:var(--sky)}

/* для организаций */
.org .wrap{padding-block:64px}

/* кому помогаем: четыре ячейки 2×2 */

/* сообщения */
.msgs{padding-top:20px}
.msg{padding:12px 16px;border-radius:12px;background:rgba(var(--lime-rgb),.08);box-shadow:inset 0 0 0 1px rgba(var(--lime-rgb),.25);color:var(--lime);font-weight:500}

@media (max-width:640px){
  .org .wrap{padding-block:44px}
}

/* ==========================================================================
   Внутренние страницы (23.09.2026): шапка страницы, блоки, карточки, формы
   ========================================================================== */
/* шапка страницы */
.phead{position:relative;overflow:clip;isolation:isolate;border-bottom:1px solid var(--line)}
.phead-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.phead-bg i{position:absolute;display:block}
.phead-bg .glow{left:50%;top:-300px;width:1000px;height:560px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(66,120,255,.34),rgba(66,120,255,.1) 55%,transparent)}
.phead-bg .dots{inset:0;background-image:radial-gradient(rgba(var(--ov),.14) 1px,transparent 1.5px);background-size:24px 24px;
  -webkit-mask-image:radial-gradient(ellipse 60% 80% at 50% 0%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 60% 80% at 50% 0%,#000 10%,transparent 70%)}
.phead-in{padding-top:56px;padding-bottom:64px}
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:14px;color:var(--dim)}
.crumbs a{color:var(--mut);transition:color .2s}
.crumbs a:hover{color:var(--hi)}
.phead h1{margin-top:22px;max-width:18em;font-size:clamp(34px,3.2vw + 16px,60px);line-height:1.05;letter-spacing:-.04em;font-weight:600;padding-bottom:.06em;text-wrap:balance;
  background:linear-gradient(180deg,var(--h1a) 22%,var(--h1b) 72%,var(--h1c));-webkit-background-clip:text;background-clip:text;color:transparent}
.phead .lead{margin:18px 0 0;max-width:40em;text-align:left}
.phead .meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14.5px;color:var(--mut)}
.phead .meta>*+*::before{content:"·";margin-right:14px;color:var(--dim)}

/* обычный блок внутренней страницы */
.blk .wrap{padding-block:56px}
.blk .sh{margin-bottom:36px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.box{padding:30px 30px 32px}
.box h3{font-size:20px;line-height:1.25;letter-spacing:-.02em;font-weight:600}
.box p{margin-top:12px;font-size:15.5px;line-height:1.62;color:var(--mut)}

.placeholder{color:var(--mut);font-size:17px}

/* списки с маркером */
.dash{display:grid;gap:10px}
.dash li{position:relative;padding-left:20px;font-size:15.5px;line-height:1.55;color:var(--tx2)}
.dash li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:1px;background:var(--lime)}
[data-theme="light"] .dash li::before{background:var(--blue)}
.ticks{display:grid;gap:14px}
.ticks li{position:relative;padding-left:32px;font-size:16px;line-height:1.55;color:var(--tx2)}
.ticks li::before{content:"";position:absolute;left:2px;top:.34em;width:14px;height:8px;border-left:2px solid var(--lime);border-bottom:2px solid var(--lime);transform:rotate(-45deg)}
[data-theme="light"] .ticks li::before{border-color:#2E9E6B}

/* шаги (вступление) */
.steps{display:grid;gap:14px;counter-reset:st}
.steps-0{counter-reset:st -1} /* «Экспертам»: шаги с 00 */
.step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:20px;padding:26px 28px;counter-increment:st}
.step::before{content:counter(st,decimal-leading-zero);grid-row:1/span 4;position:relative;inset:auto;opacity:1;/* номер шага; .card::before прячет свой слой подсветки — здесь он виден */display:grid;place-items:center;width:44px;height:44px;border-radius:13px;font-size:14px;font-weight:600;
  color:var(--sky);background:linear-gradient(180deg,rgba(66,120,255,.2),rgba(66,120,255,.05));box-shadow:inset 0 0 0 1px rgba(120,160,255,.35)}
.step>*{grid-column:2}
.step h3{font-size:19px;line-height:1.3;font-weight:600;letter-spacing:-.015em}
.step p{margin-top:8px;font-size:15.5px;line-height:1.6;color:var(--mut)}
.step p a{color:var(--sky);text-decoration:underline;text-underline-offset:3px}
.step .dash{margin-top:12px}

/* документы */
.docs{display:grid;gap:10px}
.doc{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 20px}
.doc-type{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--sky);
  background:linear-gradient(180deg,rgba(66,120,255,.18),rgba(66,120,255,.04));box-shadow:inset 0 0 0 1px rgba(120,160,255,.3)}
.doc-title{font-weight:600;font-size:16px;color:var(--tx);transition:color .2s}
.doc-title:hover{color:var(--sky)}
.doc-note{margin-top:4px;font-size:14px;color:var(--mut)}
.doc-meta{font-size:13px;color:var(--dim);white-space:nowrap;font-variant-numeric:tabular-nums}

/* карточки материалов: новости, статьи, мероприятия */
.fcard{display:flex;flex-direction:column;overflow:hidden;transition:transform .45s var(--ease)}
.fcard:hover{transform:translateY(-3px)}
.fcard-img{display:block;aspect-ratio:1;overflow:hidden;border-radius:17px 17px 0 0;background:linear-gradient(160deg,#1B2540,#10141D)}
.fcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.fcard:hover .fcard-img img{transform:scale(1.04)}
.fcard-b{display:flex;flex-direction:column;gap:10px;padding:22px 24px 26px}
.fcard-m{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:13px;color:var(--dim);font-variant-numeric:tabular-nums}
.fcard-m>span+span::before{content:"·";margin-right:8px}
.fcard h3{font-size:19px;line-height:1.3;letter-spacing:-.015em;font-weight:600;color:var(--tx);transition:color .25s}
.fcard:hover h3{color:var(--sky)}
.fcard p{font-size:15px;line-height:1.55;color:var(--mut);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* статья */
.post-wrap{max-width:760px}
.post-img{width:100%;max-width:520px;border-radius:18px;margin-bottom:36px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.prose{font-size:18px;line-height:1.75;color:var(--tx2)}
.prose p+p{margin-top:18px}
.post-foot{margin-top:44px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}

/* синяя полоса — мотив «Синей истории», одинаковая в обеих темах */
.blue{position:relative;overflow:clip;isolation:isolate;color:#fff;border-top:0;
  background:radial-gradient(70% 90% at 85% 0%,rgba(120,165,255,.55),transparent 60%),linear-gradient(160deg,#0B1A4F 0%,#1E3FA8 55%,#3A6BF2 100%)}
.blue::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.5px);background-size:22px 22px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%)}
.blue .h2{background:none;color:#fff;-webkit-text-fill-color:#fff}
.blue .sub,.blue p{color:rgba(255,255,255,.86)}
.blue .eyebrow{color:#fff;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.blue .eyebrow b{color:#0B1A4F;background:var(--lime);box-shadow:none}
.blue .card{background:linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1)) padding-box,linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,.12)) border-box;box-shadow:0 30px 60px -30px rgba(5,15,60,.7)}
.blue .card h3{color:#fff}
.blue .status{color:#fff;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.blue .status.on{color:#0B1A4F;background:var(--lime);box-shadow:none}
.blue .status.on::before{background:#0B1A4F;box-shadow:none}
.blue .lnk{color:#fff}
/* «Сумерки»: синий блок — глубже и спокойнее, вырастает из фона страницы; карточки — тёмное стекло (24.09) */
html:not([data-theme="light"]) .blue .card{background:rgba(14,22,44,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 24px 50px -30px rgba(0,0,0,.6)}
html:not([data-theme="light"]) .blue .card p:not(.status){color:#DCE3F1}
.split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start}

/* услуги */
.svc{scroll-margin-top:140px}
.svc-g{margin-top:40px}
.svc-d{display:flex;flex-direction:column;padding:28px 28px 30px}
.svc-d h3{font-size:20px;line-height:1.25;letter-spacing:-.02em;font-weight:600}
.svc-d .dash{margin-top:18px}
.svc-cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}

/* форма обратного звонка */
.cb .wrap{padding-block:56px}
.cb-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.cb-form{padding:30px}
.field{margin-bottom:18px}
.field label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--tx2)}
.field input[type="text"],.field input[type="tel"],.field textarea{width:100%;padding:13px 15px;border:0;border-radius:12px;font:inherit;color:var(--tx);
  background:rgba(var(--ov),.05);box-shadow:inset 0 0 0 1px var(--line2);transition:box-shadow .2s}
.field input:focus,.field textarea:focus{outline:none;box-shadow:inset 0 0 0 1px var(--blue2),0 0 0 3px rgba(66,120,255,.25)}
.field textarea{resize:vertical;min-height:96px}
.optional{font-weight:400;color:var(--dim)}
.consent{display:flex !important;align-items:flex-start;gap:10px;font-weight:400 !important;color:var(--mut) !important}
.consent input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--blue)}
.field-error{margin-top:6px;font-size:13px;color:#ff7a7a}
[data-theme="light"] .field-error{color:#C62828}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

@media (max-width:1024px){
  .g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split,.cb-in{grid-template-columns:minmax(0,1fr);gap:32px}
}
@media (max-width:640px){
  .g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}
  .blk .wrap,.cb .wrap{padding-block:40px}
  .phead-in{padding-top:40px;padding-bottom:48px}
  .doc{grid-template-columns:auto minmax(0,1fr)}
  .doc-meta{grid-column:2}
  .step{grid-template-columns:36px minmax(0,1fr);padding:22px 20px;column-gap:16px}
  .step::before{width:36px;height:36px}
  .prose{font-size:17px}
}

/* мелкие правки для внутренних страниц */
.fcard-img{position:relative}

.cb{border-top:1px solid var(--line)}

/* ==========================================================================
   Шапка в два ряда (23.09.2026): крупный логотип; все разделы видны без «Ещё»
   ========================================================================== */
.hdr-in{height:76px}
.hdr .logo img{height:50px}
.hdr-r{margin-left:auto}
.hdr-nav{border-top:1px solid var(--line)}
.hdr-nav .nav{justify-content:flex-start;gap:2px;height:46px;margin-inline:auto}
.hdr-nav .nav>a:first-child{margin-left:-9px}
@media (max-width:400px){
  .hdr-in{gap:12px}
}
@media (max-width:1100px){
  .hdr-nav{display:none}
  .mnav{display:block}
  .hdr-r .tel{display:none}
  .hdr-in{height:68px}
  .hdr .logo img{height:42px}
}
@media (min-width:1101px){.mnav{display:none}}
/* на телефоне кнопка аудита — в первом экране и в меню; в шапке ей места нет */
@media (max-width:640px){.hdr-r .btn{display:none}}
@media (max-width:400px){.hdr .logo img{height:36px}}

/* ==========================================================================
   Светлая тема «Стекло»: матовое стекло над переливающимся градиентом
   ========================================================================== */
[data-theme="light"]{
  --page:#E9F0FF; --bg:#EAF1FF; --bg1:rgba(255,255,255,.66); --bg2:rgba(255,255,255,.86);
  --line:rgba(24,44,110,.1); --line2:rgba(24,44,110,.17); --cross:rgba(24,44,110,.28);
  --tx:#131B33; --mut:#4B5368; --dim:#646E85; --ov:24,44,110; --hi:#0B1330; --tx2:#323A50;
  --sky:#2E5FD9; --hdr:rgba(244,248,255,.72); --panel:#FFFFFF; --hover-bg:rgba(255,255,255,.94);
  --node-a:rgba(255,255,255,.92); --node-b:rgba(255,255,255,.72); --sys-a:rgba(255,255,255,.7); --sys-b:rgba(255,255,255,.52);
  --horizon:#D3E1FF; --g1:#16245A; --g2:#2A4FB8; --g3:#4278FF; --h1a:#16245A; --h1b:#2E5FD9; --h1c:#4278FF;
  --logo-f:none; --glass:blur(22px) saturate(170%);
}
html[data-theme="light"]{color-scheme:light}
[data-theme="light"] body{background:linear-gradient(165deg,#EEF3FF 0%,#D8E4FF 48%,#E5EDFF 100%) fixed}
[data-theme="light"] body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(42vw 42vw at 2% 4%,rgba(169,202,251,.95),transparent 70%),
             radial-gradient(34vw 34vw at 100% 12%,rgba(66,120,255,.42),transparent 70%),
             radial-gradient(20vw 20vw at 84% 46%,rgba(var(--lime-rgb),.55),transparent 70%),
             radial-gradient(38vw 38vw at 6% 72%,rgba(70,144,255,.34),transparent 70%),
             radial-gradient(18vw 18vw at 22% 96%,rgba(var(--lime-rgb),.42),transparent 70%)}
[data-theme="light"] .card,[data-theme="light"] .node,
[data-theme="light"] .hdr,[data-theme="light"] .mnav-p{-webkit-backdrop-filter:var(--glass);backdrop-filter:var(--glass)}
[data-theme="light"] .card,[data-theme="light"] .node{
  background:linear-gradient(150deg,rgba(255,255,255,.86),rgba(255,255,255,.62)) padding-box,
             linear-gradient(140deg,#fff 0%,rgba(255,255,255,.35) 35%,rgba(120,160,255,.28) 70%,#fff 100%) border-box;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 1px 2px rgba(20,40,100,.06),0 26px 56px -30px rgba(22,52,150,.4)}

[data-theme="light"] .hero-bg .glow{background:radial-gradient(closest-side,rgba(66,120,255,.28),rgba(66,120,255,.08) 52%,transparent)}
[data-theme="light"] .eyebrow b,[data-theme="light"] .status.on,[data-theme="light"] .msg{
  color:#3A5200;background:rgba(var(--lime-rgb),.6);box-shadow:inset 0 0 0 1px rgba(110,140,0,.3)}
[data-theme="light"] .status.on::before{background:#5E8500;box-shadow:none}
[data-theme="light"] :focus-visible{outline-color:#2E5FD9}
[data-theme="light"] .ftr{background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,.75))}

/* синие полосы одинаковы в обеих темах: стекло светлой темы их не перекрашивает */
[data-theme="light"] .blue .card{background:linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1)) padding-box,linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,.12)) border-box;
  box-shadow:0 30px 60px -30px rgba(5,15,60,.7);-webkit-backdrop-filter:none;backdrop-filter:none}
[data-theme="light"] .blue .card p,[data-theme="light"] .blue .card{color:rgba(255,255,255,.86)}
[data-theme="light"] .blue .card h3,[data-theme="light"] .blue .lnk{color:#fff}
[data-theme="light"] .blue .status{color:#fff;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
[data-theme="light"] .blue .status.on{color:#0B1A4F;background:var(--lime)}
[data-theme="light"] .blue .eyebrow b{color:#0B1A4F;background:var(--lime);box-shadow:none}

/* ==========================================================================
   Правки 23.09.2026: меню крупнее, аудитории в первом экране, экспресс-аудит,
   цветные фото команды
   ========================================================================== */
/* меню крупнее */
.hdr-nav .nav{height:56px}
.hdr-nav .nav>a{font-size:16px;height:40px;padding:0 11px}
.hdr-nav .nav>a:first-child{margin-left:-11px}

/* команда: фото в цвете; при наведении — лёгкое приближение и подсветка карточки */
.tm-ph{background:linear-gradient(160deg,#EEF2F9,#CBD5E8)}
.tm-ph img{mix-blend-mode:normal;filter:none}
.tm:hover .tm-ph img{filter:none;transform:scale(1.04)}
.tm-ph::after{display:none}

/* с кем работаем: четыре подробные карточки-ссылки вверху «Услуг» (перенесены 24.09) */
.aud4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:32px;
  background:radial-gradient(rgba(var(--ov),.07) 1px,transparent 1.4px) 0 0/20px 20px}
.aud4>li{display:flex}
.aud-c{width:100%;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.aud-c .node-ic{margin-bottom:22px}
.aud-c h3{font-size:21px}
.aud-c:hover{transform:translateY(-3px)}
.aud-c:hover h3{color:var(--hi)}
.aud-go{margin-top:auto;padding-top:20px}
.aud-c:hover .aud-go svg{transform:translateX(3px)}
.aud4.aud4-page{margin-top:40px;padding:0;background:none}

/* с кем работаем — первый экран главной: четыре карточки-тезиса и ссылка на «Направления работы» */
.aud-strip{margin-top:72px;padding:26px;border-radius:26px;text-align:left;
  background:rgba(var(--ov),.035);box-shadow:inset 0 0 0 1px var(--line2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.aud-strip-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;padding:0 4px 20px}
.aud-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.aud-pill{display:flex;align-items:center;gap:14px;height:100%;padding:14px 18px 14px 14px;border-radius:16px;
  background:linear-gradient(180deg,var(--node-a),var(--node-b));box-shadow:inset 0 0 0 1px var(--line2);transition:box-shadow .3s,transform .3s var(--ease)}
.aud-pill:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(120,160,255,.5)}
.aud-pill .aud-ic{flex:none;width:44px;height:44px;border-radius:13px;margin:0}
.aud-pill .aud-ic svg{width:22px;height:22px}
.aud-pt{display:grid;gap:3px;min-width:0}
.aud-pill b{font-size:17px;line-height:1.25;font-weight:600;color:var(--hi)}
.aud-pt span{font-size:14px;line-height:1.4;color:var(--mut)}
.aud-pill>svg{flex:none;margin-left:auto;width:16px;height:16px;color:var(--dim);transition:transform .3s var(--ease),color .3s}
.aud-pill:hover>svg{transform:translateX(3px);color:var(--hi)}
@media (max-width:760px){.aud-pills{grid-template-columns:minmax(0,1fr)}}
.aud-strip-t{font-size:clamp(20px,1.8vw,24px);line-height:1.2;letter-spacing:-.02em;font-weight:600;color:var(--hi)}
.aud-strip ul:not(.aud-pills){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.aud-card{width:100%;display:flex;flex-direction:column;padding:24px 24px 26px;border-radius:18px;
  background:linear-gradient(180deg,var(--node-a),var(--node-b));box-shadow:inset 0 0 0 1px var(--line2),0 20px 40px -24px rgba(0,0,0,.7);
}
.aud-strip .aud-ic{width:56px;height:56px;border-radius:16px;margin-bottom:22px}
.aud-strip .aud-ic svg{width:28px;height:28px}
.aud-card b{font-size:21px;line-height:1.2;letter-spacing:-.02em;font-weight:600;color:var(--hi)}
.aud-card{display:flex;flex-direction:column}
.aud-more{margin-top:auto;padding-top:18px;font-size:15px}
.aud-th{margin-top:10px;font-size:15.5px;line-height:1.5;color:var(--tx2)}

/* вкладываться в людей выгодно: цифры исследований со ссылкой на источник */
.facts .wrap{padding-block:64px}
.facts-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:44px}
.fact{display:flex;flex-direction:column;padding:28px 26px 26px}
.fact-k{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.fact .fact-v{margin-top:14px;white-space:nowrap}
.fact-v{font-size:clamp(40px,3.6vw,52px);line-height:1;letter-spacing:-.04em;font-weight:600;color:var(--lime);font-variant-numeric:tabular-nums}
[data-theme="light"] .fact-v{color:var(--blue)}
/* плохие цифры (выгорание, тихое увольнение) — красным, хорошие — акцентом (24.09) */
.fact-bad .fact-v{color:#FF6B5E}
[data-theme="light"] .fact-bad .fact-v{color:#D9483A}
.fact-t{margin-top:16px;font-size:15.5px;line-height:1.55;color:var(--tx2)}
.fact-s{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:20px;font-size:13.5px;color:var(--mut);transition:color .25s}
.fact-s svg{width:13px;height:13px;flex:none}
.fact-s:hover{color:var(--hi)}

/* зачем бизнесу аудит: боли */
.pains .wrap{padding-block:64px}
.pains-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}
.pain{padding:30px 28px 32px}
.pain .node-ic{width:52px;height:52px;border-radius:15px;margin-bottom:22px;animation:none}
.pain .node-ic svg{width:26px;height:26px}
.pain h3{font-size:21px;line-height:1.25;letter-spacing:-.02em;font-weight:600}
.pain p{margin-top:10px;font-size:16px;line-height:1.55;color:var(--tx2)}
.pains-cta{margin-top:36px}

/* шапка страницы: кнопки (аудит 24.09) */
.phead-cta{justify-content:flex-start;margin-top:30px}
/* «Услуги»: главный формат — на две колонки; «Экспертам» — шаги в две колонки */
.svc-f{grid-column:1/-1}
.svc-f .dash{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.step{align-content:start}
.svc-d h3{margin-top:4px}
.svc-price{display:inline-flex;margin-top:18px;padding:8px 16px;border-radius:999px;font-size:15px;font-weight:600;color:var(--hi);background:rgba(var(--ov),.05);box-shadow:inset 0 0 0 1px var(--line2)}
.steps-2{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:40px}
/* «Мероприятия»: пустое «Ближайшие» */
.empty{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;padding:32px 34px}
.empty h3{font-size:22px;line-height:1.25;letter-spacing:-.02em;font-weight:600}
.empty p{margin-top:8px;font-size:16px;line-height:1.55;color:var(--tx2)}
/* «Проекты»: свежие новости под заголовком */
.news-g{margin-top:36px}
/* финал для двух аудиторий: бизнес и специалисты */
.final .wrap{padding-block:64px}
.final-g{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px}
.final-c{display:flex;flex-direction:column;padding:40px 40px 42px}
.final-c .h2{margin-top:18px;font-size:clamp(28px,2.4vw + 8px,40px)}
.final-c>p:not(.eyebrow){margin-top:14px;font-size:17px;line-height:1.6;color:var(--tx2)}
.final-c .cta{justify-content:flex-start;margin-top:auto;padding-top:30px}
.final-b{background:radial-gradient(120% 120% at 0% 0%,rgba(66,120,255,.28),transparent 60%),linear-gradient(180deg,var(--node-a),var(--node-b))}
/* 404: ссылки на разделы */
.nf-links{display:flex;flex-wrap:wrap;gap:10px}
/* политика ПДн */
.policy h2{margin-top:40px;font-size:24px;line-height:1.25;letter-spacing:-.02em;font-weight:600;color:var(--hi)}
.policy h2:first-child{margin-top:0}
.policy ul{margin-top:14px;display:grid;gap:10px;padding-left:20px;list-style:disc}
/* телефон: кнопка аудита внизу экрана */
.mcta{display:none}

.svc-note{font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--mut)}
/* кейсы: широкие карточки — слева история, справа результат крупными цифрами (правка 24.09) */
.cases .wrap{padding-block:64px}
.cases-g{display:grid;gap:16px;margin-top:40px}
.case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);padding:0;overflow:hidden}
.case-story{padding:36px 36px 38px}
.case-n{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.case-anti{padding:3px 10px;border-radius:999px;font-size:11.5px;color:#FF8A7A;background:rgba(255,122,107,.12);box-shadow:inset 0 0 0 1px rgba(255,122,107,.35)}
[data-theme="light"] .case-anti{color:#C8412F;background:rgba(200,65,47,.08)}
.case h3{margin-top:12px;font-size:clamp(24px,1.6vw + 12px,32px);line-height:1.15;letter-spacing:-.025em;font-weight:600}
.case-steps{margin-top:24px;display:grid;gap:18px}
.case-steps div{padding-left:16px;border-left:2px solid var(--line2)}
.case-steps dt{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.case-steps dd{margin:6px 0 0;font-size:16.5px;line-height:1.55;color:var(--tx2)}
.case-res{display:flex;flex-direction:column;padding:36px 36px 38px;border-left:1px solid var(--line);
  background:radial-gradient(120% 100% at 100% 0%,rgba(66,120,255,.16),transparent 65%)}
.case-bad .case-res{background:radial-gradient(120% 100% at 100% 0%,rgba(255,122,107,.12),transparent 65%)}
.case-k{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.case-stats{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px}
.case-stats-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-stats li{display:grid;gap:6px;align-content:start}
.case-stats b{font-size:clamp(34px,2.6vw + 8px,48px);line-height:1;letter-spacing:-.04em;font-weight:600;color:var(--lime);white-space:nowrap}
[data-theme="light"] .case-stats b{color:var(--blue)}
.case-bad .case-stats b{color:#FF7A6B}
[data-theme="light"] .case-bad .case-stats b{color:#D9483A}
.case-stats span{font-size:14.5px;line-height:1.45;color:var(--tx2)}
.case-out{margin-top:18px;display:grid;gap:14px}
.case-out li{display:flex;gap:12px;align-items:flex-start;font-size:17px;line-height:1.45;font-weight:500;color:var(--hi)}
.case-out svg{flex:none;width:22px;height:22px;margin-top:1px;padding:3px;border-radius:50%;color:var(--bg);background:var(--lime);stroke-width:2.2}
[data-theme="light"] .case-out svg{color:#fff;background:var(--blue)}
.case-g{margin-top:20px;font-size:15px;font-weight:600;color:var(--lime)}
.case-g+.case-out{margin-top:10px}
.case-take{margin-top:auto;padding-top:24px;font-size:16px;line-height:1.5;font-weight:500;color:var(--hi)}

/* кто проводит аудит */
.audit-who{margin-top:28px}
.audit-who ul{margin-top:12px;display:grid;gap:12px}
.audit-who li{display:flex;align-items:center;gap:14px}
.audit-who img,.aw-in{flex:none;width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 20%;background:rgba(var(--ov),.06)}
.aw-in{display:grid;place-items:center;font-weight:600;color:var(--hi)}
.audit-who li>span{display:grid;gap:2px;font-size:14px;line-height:1.45;color:var(--mut)}
.audit-who b{font-size:16px;font-weight:600;color:var(--hi)}
/* живые фото: галерея «О Лиге», фото в карточке проекта */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:40px}
.gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.pj-photo{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:14px;margin-bottom:20px}

/* бесплатный экспресс-аудит */
.audit-time{margin-top:24px;font-size:16px;color:var(--tx2)}
.audit-time b{color:var(--hi);font-weight:600}
.audit .wrap{padding-block:64px}
.audit-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:start}
.audit-steps{margin-top:40px}
.audit-note{margin-top:28px;padding-left:16px;border-left:2px solid var(--lime);font-size:16px;line-height:1.6;color:var(--tx2)}
[data-theme="light"] .audit-note{border-color:var(--blue)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 20px}
.chips li{padding:7px 13px;border-radius:999px;font-size:14px;color:var(--tx2);background:rgba(var(--ov),.04);box-shadow:inset 0 0 0 1px var(--line2)}
.audit-form{position:sticky;top:150px;padding:32px}
.audit-form-t{margin-top:16px;font-size:24px;line-height:1.2;letter-spacing:-.02em;font-weight:600}
.audit-form-s{margin:8px 0 22px;font-size:15px;line-height:1.55;color:var(--mut)}
.audit-form .msg{margin-bottom:18px}
.audit-form .btn{width:100%}
.audit-alt{margin-top:14px;font-size:14px;color:var(--mut);text-align:center}
.audit-alt a{color:var(--sky)}

/* направления работы */
.dir{padding:36px 36px 38px}
.dir-h{display:flex;align-items:center;gap:18px}
.dir-h h3{font-size:clamp(22px,2vw,26px);line-height:1.2;letter-spacing:-.02em;font-weight:600}
.dir .node-ic{flex:none;width:56px;height:56px;border-radius:16px}
.dir .node-ic svg{width:28px;height:28px}
.dir-t{margin-top:20px;font-size:17.5px;line-height:1.55;color:var(--tx2)}
.dir .dash{margin-top:20px;gap:12px}
.dir .dash li{font-size:16.5px}

@media (max-width:1100px){
  .aud4,.pains-g,.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .case{grid-template-columns:minmax(0,1fr)}
  .case-res{border-left:0;border-top:1px solid var(--line)}
  .aud-strip ul:not(.aud-pills){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1024px){
  .audit-in{grid-template-columns:minmax(0,1fr);gap:40px}
  .audit-form{position:static}
}
@media (max-width:1024px){
  .final-g,.steps-2{grid-template-columns:minmax(0,1fr)}
  .svc-f .dash{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .mcta{display:flex;position:fixed;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;
    justify-content:center;transform:translateY(calc(100% + 24px));transition:transform .35s var(--ease)}
  .mcta.on{transform:none}
  .final .wrap{padding-block:44px}
  .final-c,.empty{padding:28px 22px 30px}
  .aud4{grid-template-columns:minmax(0,1fr);padding:16px}
  .aud-strip{margin-top:48px;padding:16px}
  .aud-strip ul,.pains-g{grid-template-columns:minmax(0,1fr)}
  .case-story,.case-res{padding:26px 22px 28px}
  .case-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dir{padding:26px 22px 28px}
  .audit .wrap{padding-block:44px}
  .audit-form{padding:24px 20px}
}

/* ==========================================================================
   Первый экран главной (23.09.2026): текст слева, справа анимация «рост потенциала»
   (templates/parts/_grow.html). Цикл 10 с; без анимации видна итоговая картинка.
   ========================================================================== */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center;text-align:left}
.hero-grid .h1{margin:0;font-size:clamp(40px,4.6vw,66px)}
.hero-grid .lead{margin:22px 0 0;max-width:32em}
.hero-grid .cta{justify-content:flex-start}

.grow{--acc:var(--lime);width:100%;max-width:520px;justify-self:end}
[data-theme="light"] .grow{--acc:#2E5FD9}
.grow-svg{display:block;width:100%;height:auto;overflow:visible;font-family:"Cygre",system-ui,sans-serif}
.g-card{fill:var(--bg1);stroke:var(--line2);filter:drop-shadow(0 40px 60px rgba(0,0,0,.35))}
[data-theme="light"] .g-card{fill:rgba(255,255,255,.72);filter:drop-shadow(0 30px 50px rgba(22,52,150,.18))}
.g-cap{font-size:14px;font-weight:600;fill:var(--tx2)}
.g-live{fill:var(--acc)}
.g-grid{fill:none;stroke:rgba(var(--ov),.07);stroke-dasharray:3 6}
.g-base{fill:none;stroke:rgba(var(--ov),.22)}
.g-col{fill:url(#gcol);transform-box:fill-box;transform-origin:50% 100%}
.c1{opacity:.55}.c2{opacity:.78}
.g-curve{fill:none;stroke:var(--acc);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:1;filter:drop-shadow(0 0 6px var(--acc))}
.g-arrow{fill:none;stroke:var(--acc);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.g-node{transform-box:fill-box;transform-origin:center}
.g-node>circle{fill:var(--panel);stroke:var(--acc);stroke-width:2}
.g-node g *{fill:none;stroke:var(--acc);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.n3>circle{fill:var(--acc)}
.n3 g *{stroke:var(--bg)}
[data-theme="light"] .n3 g *{stroke:#fff}
.g-ping{fill:none;stroke:var(--acc);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.g-lbl{font-size:14px;font-weight:600;fill:var(--tx2);text-anchor:middle}

/* тёмная тема: анимация контрастнее — карточка темнее фона, столбцы и линия ярче (правка 24.09) */
html:not([data-theme="light"]) .g-card{fill:#0B1020;stroke:rgba(255,255,255,.14);filter:drop-shadow(0 30px 60px rgba(0,0,0,.55))}
html:not([data-theme="light"]) .g-node>circle{fill:#0B1020;stroke-width:2.5}
html:not([data-theme="light"]) .n3>circle{fill:var(--acc)}
html:not([data-theme="light"]) .g-curve{stroke-width:4;filter:drop-shadow(0 0 10px var(--acc)) drop-shadow(0 0 3px var(--acc))}
html:not([data-theme="light"]) .g-arrow{stroke-width:4}
html:not([data-theme="light"]) .g-col{filter:drop-shadow(0 0 18px rgba(66,120,255,.45))}
html:not([data-theme="light"]) .c1{opacity:.7}html:not([data-theme="light"]) .c2{opacity:.88}
html:not([data-theme="light"]) .g-lbl,html:not([data-theme="light"]) .g-cap{fill:#EEF2FA}
html:not([data-theme="light"]) .g-grid{stroke:rgba(255,255,255,.1)}
html:not([data-theme="light"]) .g-base{stroke:rgba(255,255,255,.3)}
.g-anim{animation:gfade 10s linear infinite}
.c1{animation:gc1 10s var(--ease) infinite}
.c2{animation:gc2 10s var(--ease) infinite}
.c3{animation:gc3 10s var(--ease) infinite}
.n1{animation:gn1 10s cubic-bezier(.34,1.56,.64,1) infinite}
.n2{animation:gn2 10s cubic-bezier(.34,1.56,.64,1) infinite}
.n3{animation:gn3 10s cubic-bezier(.34,1.56,.64,1) infinite}
.g-curve{animation:gcurve 10s var(--ease) infinite}
.g-arrow{animation:garrow 10s linear infinite}
.g-ping{animation:gping 10s ease-out infinite}
.g-live{animation:glive 2.4s ease-in-out infinite}
@keyframes gfade{0%{opacity:0}3%,88%{opacity:1}96%,100%{opacity:0}}
@keyframes gc1{0%,4%{transform:scaleY(0)}15%,100%{transform:scaleY(1)}}
@keyframes gc2{0%,17%{transform:scaleY(0)}29%,100%{transform:scaleY(1)}}
@keyframes gc3{0%,31%{transform:scaleY(0)}44%,100%{transform:scaleY(1)}}
@keyframes gn1{0%,12%{transform:scale(0)}18%,100%{transform:scale(1)}}
@keyframes gn2{0%,26%{transform:scale(0)}32%,100%{transform:scale(1)}}
@keyframes gn3{0%,41%{transform:scale(0)}47%,100%{transform:scale(1)}}
@keyframes gcurve{0%,48%{stroke-dashoffset:1}64%,100%{stroke-dashoffset:0}}
@keyframes garrow{0%,62%{opacity:0}66%,100%{opacity:1}}
@keyframes gping{0%,64%{opacity:0;transform:scale(1)}66%{opacity:.8;transform:scale(1)}80%,100%{opacity:0;transform:scale(2.4)}}
@keyframes glive{0%,100%{opacity:1}50%{opacity:.35}}
.grow.paused *{animation-play-state:paused}

@media (max-width:1024px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:40px;text-align:center}
  .hero-grid .lead{margin-inline:auto}
  .hero-grid .cta{justify-content:center}
  .grow{justify-self:center;max-width:460px}
}

/* ---------- блики: на заголовке и на кнопке аудита ---------- */
.hero .h1-l:last-child{
  background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.75) 50%,transparent 62%) no-repeat,
             linear-gradient(180deg,var(--h1b),var(--h1c));
  background-size:260% 100%,100% 100%;background-position:160% 0,0 0;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:h1shine 7s var(--ease) 1.6s infinite}
@keyframes h1shine{0%{background-position:160% 0,0 0}28%,100%{background-position:-60% 0,0 0}}
.hero .cta .btn-p::after{animation:btnsweep 6s var(--ease) 3s infinite}
@keyframes btnsweep{0%{transform:translateX(-120%)}16%,100%{transform:translateX(120%)}}

/* ---------- без анимаций ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
  .rv.pre{opacity:1;transform:none;filter:none}

  .prog{display:none}
}
@media print{
  .rv.pre{opacity:1;transform:none;filter:none}
}
