
:root{
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --disp:'Barlow Condensed','Inter',sans-serif;
  --maxw:1280px;
  --grad-g:linear-gradient(98deg,#FBEFC2,#E9C463 40%,#C0912A 70%,#F6E3A4);
}
:root[data-theme="dark"]{
  --bg:#060A13; --bg2:#0A1020; --surf:#0D1526; --surf2:#111C31;
  --line:#182740; --lineg:rgba(233,196,99,.34); --lineb:rgba(79,166,255,.42);
  --t1:#F6F9FD; --t2:#D4E1F2; --t3:#A5B8D3;
  --gold:#E9C463; --blue:#4FA6FF; --blue-l:#9BD4FF;
  --b-soft:rgba(79,166,255,.11); --g-soft:rgba(233,196,99,.09);
  --cta-ink:#110E02;
  --mark-core-1:#16294A; --mark-core-2:#050B18; --mark-hair:rgba(120,180,255,.5);
  --vig:rgba(0,0,0,.55);
  --tkA:#060A13; --tkB:#0B1A30; --tkT:#B9E6FF;
  --tkG1:rgba(120,205,255,.95); --tkG2:rgba(60,150,255,.65); --tkG3:rgba(30,110,230,.42);
}
:root[data-theme="light"]{
  /* палитра снята прямо с логотипа: жемчуг, платина, шампань, электрик-синий */
  --bg:#F1F0ED; --bg2:#FAFAF8; --surf:#FFFFFF; --surf2:#E7E4DE;
  --line:#D9D4CC; --lineg:rgba(126,98,32,.42); --lineb:rgba(21,103,212,.30);
  --t1:#141B2B; --t2:#283143; --t3:#4E596C;
  --gold:#7E6220; --blue:#1567D4; --blue-l:#0F4FA6;
  --b-soft:rgba(21,103,212,.06); --g-soft:rgba(126,98,32,.08);
  --cta-ink:#FFFFFF;
  --mark-core-1:#FFFFFF; --mark-core-2:#E3DFD8; --mark-hair:rgba(21,103,212,.28);
  --vig:rgba(32,39,58,.06);
  --tkA:#0B1524; --tkB:#123056; --tkT:#D6EEFF;
  --tkG1:rgba(134,212,255,.92); --tkG2:rgba(52,150,255,.62); --tkG3:rgba(21,103,212,.40);
}
/* СВЕТЛАЯ ТЕМА: язык логотипа — жемчужный мрамор, полированная платина,
   тёплая шампань и электрический синий. Ни одной текстуры, только свет. */
:root[data-theme="light"] body{
  background:
    radial-gradient(120% 62% at 50% -14%,#FFFFFF 0%,rgba(255,255,255,0) 62%),
    radial-gradient(70% 45% at 86% 8%,rgba(21,103,212,.055),transparent 62%),
    radial-gradient(64% 42% at 12% 4%,rgba(159,131,72,.055),transparent 60%),
    linear-gradient(180deg,#FAFAF8 0%,#F1F0ED 48%,#E9E7E2 100%);
  background-attachment:fixed}
:root[data-theme="light"] .sec,:root[data-theme="light"] .stats,
:root[data-theme="light"] .capsec,:root[data-theme="light"] .vend,
:root[data-theme="light"] .final,:root[data-theme="light"] .foot{background:transparent}
:root[data-theme="light"] .sec.alt,:root[data-theme="light"] .stmt,:root[data-theme="light"] .cov{
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.30));
  border-top:1px solid #FFFFFF;border-bottom:1px solid var(--line)}
/* пластины: белый мрамор с платиновой кромкой */
:root[data-theme="light"] .card,:root[data-theme="light"] .step,:root[data-theme="light"] .usmap{
  background:linear-gradient(180deg,#FFFFFF 0%,#F6F5F2 100%);
  border:1px solid #DED9D1;border-radius:14px;
  box-shadow:inset 0 1px 0 #FFFFFF,0 1px 2px rgba(32,39,58,.05),0 8px 22px rgba(32,39,58,.06)}
:root[data-theme="light"] .card:hover{border-color:#CFC8BC;
  box-shadow:inset 0 1px 0 #FFFFFF,0 2px 4px rgba(32,39,58,.06),0 14px 34px rgba(32,39,58,.11)}
:root[data-theme="light"] .card::after{background:linear-gradient(90deg,#C9A03A,#EBD69A 50%,#C9A03A)}
/* кнопка — шампань с эмблемы */
:root[data-theme="light"] .btn.pri{
  background:linear-gradient(180deg,#F2DFA4 0%,#D5B255 40%,#A88729 100%);
  color:#2A2006;border:1px solid #96761F;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 2px 7px rgba(60,44,8,.20);
  text-shadow:0 1px 0 rgba(255,255,255,.34)}
:root[data-theme="light"] .btn.pri:hover{
  background:linear-gradient(180deg,#F7E8B8 0%,#DEBE63 40%,#B3902D 100%)}
:root[data-theme="light"] .btn:not(.pri){
  background:linear-gradient(180deg,#FFFFFF,#F0EEE9);border:1px solid #D5CFC5;color:var(--t1);
  box-shadow:inset 0 1px 0 #fff,0 1px 3px rgba(32,39,58,.08)}
:root[data-theme="light"] .btn:not(.pri):hover{border-color:#1567D4;color:#0F4FA6}
:root[data-theme="light"] .field input,:root[data-theme="light"] .field select,
:root[data-theme="light"] .field textarea{background:#FFFFFF;border-color:#D5CFC5;
  box-shadow:inset 0 1px 2px rgba(32,39,58,.05)}
:root[data-theme="light"] .field input:focus,:root[data-theme="light"] .field select:focus,
:root[data-theme="light"] .field textarea:focus{border-color:#1567D4;box-shadow:0 0 0 3px rgba(21,103,212,.14)}
:root[data-theme="light"] .tbl th{border-bottom:1.5px solid rgba(21,103,212,.46)}
:root[data-theme="light"] .note{border-left-color:#C9A03A;
  background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(255,255,255,.34))}
:root[data-theme="light"] .drawer,:root[data-theme="light"] .nav.stuck{
  background:linear-gradient(180deg,rgba(252,252,250,.97),rgba(240,238,233,.97))}
:root[data-theme="light"] .phero::before{background:
  radial-gradient(1000px 380px at 78% -10%,rgba(21,103,212,.10),transparent 64%),
  radial-gradient(700px 300px at 8% 0%,rgba(159,131,72,.10),transparent 60%)}

/* ГЕРОЙ в светлой теме — светлая сцена того же логотипа */
:root[data-theme="light"]:not(.hasvid) .scene{background-image:url(light-scene.webp)}
:root[data-theme="light"] .fbk{
  -webkit-mask-image:url(light-glow.webp); mask-image:url(light-glow.webp);
  background:radial-gradient(circle at 50.1% 43.6%,rgba(255,255,255,.80),rgba(150,215,255,.46) 34%,rgba(40,130,240,.24) 64%,transparent 86%)}
:root[data-theme="light"] .plate{transform-origin:50.1% 43.6%}
:root[data-theme="light"] .flow{mix-blend-mode:screen;opacity:0}
:root[data-theme="light"] .flow.on{opacity:1}

/* СВЕТЛЫЙ ГЕРОЙ — ЖИВОЙ КАДР.
   Ролик квадратный, а герой широкий. Ставим квадрат по тем же двум опорным точкам,
   что и статичную сцену (центр знака -> 0.675/0.425 экрана), а края растворяем маской:
   шва между кадром и фоном страницы не видно ни на узком, ни на широком экране. */
.vstage{position:absolute;inset:0;overflow:hidden;display:none;pointer-events:none;z-index:0}
/* Раньше края кадра растворяли двумя CSS-масками поверх видео. Замер показал:
   маска над проигрывающимся видео стоит треть кадров (40 fps против 60),
   потому что композитор пересчитывает её на каждом кадре. Теперь растушёвка
   вшита прямо в кадры ролика и в постер — на странице не остаётся ни одной
   маски и ни одной анимации над видео. Рисуется просто видео. */
.vbox{position:absolute}
.vinner{position:absolute;inset:0}
.vinner.pst{background-position:50% 50%;background-size:cover;background-repeat:no-repeat}
.vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .7s ease}
.vid.on{opacity:1}
.hasvid .vstage{display:block}
.hasvid .plate{display:none}
/* Над роликом виньетки давали пелену: левая заходила на кольцо знака, правая закрывала
   его правый край, нижняя топила подиум. Края ролика растворены прямо в кадрах —
   здесь остаётся только подложка под текстом. Для обеих тем. */
@media(min-width:861px){
:root.hasvid[data-theme] .vig.l{background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 26%,
  color-mix(in srgb,var(--bg) 88%,transparent) 33%,color-mix(in srgb,var(--bg) 62%,transparent) 41%,
  color-mix(in srgb,var(--bg) 28%,transparent) 47%,transparent 53%)}
:root.hasvid[data-theme] .vig.r{display:none}
:root.hasvid[data-theme] .vig.v{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 14%,transparent) 0%,
  transparent 8% 88%,color-mix(in srgb,var(--bg) 50%,transparent) 100%)}
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--t1);font:17px/1.72 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .3s,color .3s}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px;position:relative;z-index:2}
.gold{background:var(--grad-g);-webkit-background-clip:text;background-clip:text;color:transparent}
:root[data-theme="light"] .gold{background:linear-gradient(98deg,#9A7317,#77540E 55%,#9A7317);-webkit-background-clip:text;background-clip:text}



/* ---------- панели: приборные в темноте, консольные на свету ---------- */
.card,.role,.step,.usmap,.tabbody,.sgrid{position:relative;z-index:2}
.card,.role,.step{--pn-edge:var(--line)}
.card{background:linear-gradient(180deg,var(--surf) 0%,color-mix(in srgb,var(--surf) 86%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 10px 30px rgba(0,0,0,.30)}
.card::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--lineg) 22%,var(--lineg) 78%,transparent)}
:root[data-theme="light"] .card{
  background:linear-gradient(180deg,#FFFFFF 0%,#F6F5F2 100%);
  box-shadow:inset 0 1px 0 #FFFFFF,0 1px 2px rgba(32,39,58,.05),0 8px 22px rgba(32,39,58,.06)}

/* блок ролей — те же панели */
.role{position:relative;padding:22px 22px 24px;border:1px solid var(--line);border-radius:12px;
  background:linear-gradient(180deg,var(--surf) 0%,color-mix(in srgb,var(--surf) 88%,#000) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 24px rgba(0,0,0,.24)}
:root[data-theme="light"] .role{background:linear-gradient(180deg,#FFFFFF 0%,#F7F6F3 100%);
  border-color:#DED9D1;box-shadow:inset 0 1px 0 #FFF,0 6px 18px rgba(32,39,58,.055)}

/* ---------- показания приборов ---------- */
.sg{position:relative;padding-top:20px}
.sg::before{content:'';position:absolute;left:0;top:0;width:34px;height:2px;
  background:var(--gold);opacity:.75;border-radius:1px}
.sg:nth-child(even)::before{background:var(--blue)}
.sg .ix{position:absolute;left:0;top:-2px;font:700 9.5px/1 var(--mono);letter-spacing:.2em;color:var(--t3);opacity:.75}
.sg:first-child .ix{left:0}
.sg::before{left:46px}
.sg:first-child::before{left:46px}
.sg .v{text-shadow:0 0 22px var(--g-soft)}
.sg:nth-child(even) .v{text-shadow:0 0 22px var(--b-soft)}
:root[data-theme="light"] .sg .v,
:root[data-theme="light"] .sg:nth-child(even) .v{text-shadow:none}

/* ---------- кнопка как разъём: свет втекает по верхней кромке ---------- */
.btn{position:relative;overflow:hidden}
.btn:not(.pri)::before{content:'';position:absolute;left:-40%;top:0;width:40%;height:1.5px;
  background:linear-gradient(90deg,transparent,var(--blue-l),transparent);opacity:0;transition:opacity .2s}
.btn:not(.pri):hover::before{opacity:.95;animation:btnFeed .85s linear infinite}
@keyframes btnFeed{from{left:-40%}to{left:100%}}
@media (prefers-reduced-motion:reduce){.btn:not(.pri):hover::before{animation:none;left:30%}}

/* ---------- карта как штурманский стол ---------- */
.usmap{position:relative}
.usmap .corners{position:absolute;inset:10px;pointer-events:none;z-index:2}
.usmap .corners i{position:absolute;width:16px;height:16px;border:1.5px solid var(--lineg)}
.usmap .corners i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}
.usmap .corners i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}
.usmap .corners i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}
.usmap .corners i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}

/* ---------- подвал: магистраль приходит в конечную точку ---------- */
.foot{position:relative}

/* ---------- КИНЕМАТОГРАФИЧНЫЙ ГЕРОЙ: живой поток энергии по кабелям ---------- */
.stage{position:absolute;inset:0;overflow:hidden;z-index:0}
/* пластина = точный прямоугольник кадра; сцена и поток живут в одних координатах */
.plate{position:absolute;transform-origin:49.95% 42.66%;will-change:transform;
  -webkit-mask:linear-gradient(90deg,transparent 0,#000 15%,#000 100%);
          mask:linear-gradient(90deg,transparent 0,#000 15%,#000 100%);
  animation:plateDrift 26s ease-in-out infinite alternate}
@keyframes plateDrift{from{transform:scale(1)}to{transform:scale(1.055)}}
/* пока герой за экраном, ничего не анимируется — это возвращает кадры при прокрутке */
.heroOff .plate{animation-play-state:paused}
.heroOff .ticker .row,.heroOff .ticker span{animation-play-state:paused}
.scene{position:absolute;inset:0;background:0 0 / 100% 100% no-repeat}
:root:not([data-theme="light"]):not(.hasvid) .scene{background-image:url(hero2-scene.webp)}
/* WebGL-поток: свет идёт вдоль реальной геометрии кабелей */
.flow{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen;pointer-events:none;
  opacity:0;transition:opacity .9s ease}
.flow.on{opacity:1}
/* запасной вариант, если WebGL недоступен: ровное живое свечение без пульса */
.fbk{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;display:none;
  -webkit-mask:url(hero2-glow.webp) 0 0 / 100% 100% no-repeat;
          mask:url(hero2-glow.webp) 0 0 / 100% 100% no-repeat;
  background:radial-gradient(circle at 49.25% 39.25%,rgba(226,245,255,.70),rgba(120,200,255,.42) 34%,rgba(80,170,255,.20) 62%,transparent 84%)}
.nogl .fbk{display:block}

/* Ядро знака раньше было отдельным светящимся слоем поверх сцены.
   Замер показал: один этот слой с режимом наложения съедал 7 кадров в секунду,
   а свет ядра и так вшит в саму картинку. Слой убран. */

/* затемнения: прячут вшитые подписи и держат читаемость */
.vig{position:absolute;inset:0;pointer-events:none}
.vig.l{background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 20%,color-mix(in srgb,var(--bg) 82%,transparent) 38%,
  color-mix(in srgb,var(--bg) 30%,transparent) 54%,transparent 70%)}
.vig.r{background:linear-gradient(270deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 72%,transparent) 8%,transparent 24%)}
/* нижняя шторка раньше гасила два нижних кабеля почти в ноль —
   отодвинута ниже и ослаблена, переход к следующей секции остался мягким */
.vig.v{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 62%,transparent) 0%,transparent 16% 86%,
  color-mix(in srgb,var(--bg) 58%,transparent) 100%)}
:root[data-theme="light"] .vig.l{background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 26%,
  color-mix(in srgb,var(--bg) 88%,transparent) 36%,color-mix(in srgb,var(--bg) 52%,transparent) 46%,
  color-mix(in srgb,var(--bg) 18%,transparent) 55%,transparent 64%)}
:root[data-theme="light"] .vig.r{background:linear-gradient(270deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 42%,transparent) 7%,transparent 20%)}
:root[data-theme="light"] .vig.v{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 22%,transparent) 0%,transparent 12% 78%,
  color-mix(in srgb,var(--bg) 72%,transparent) 100%)}
/* на телефоне боковые виньетки выключены — светлой теме нужен свой экран под текстом */
@media(max-width:860px){
  :root[data-theme="light"] .vig.v{display:block;background:linear-gradient(180deg,
    var(--bg) 0%,color-mix(in srgb,var(--bg) 92%,transparent) 30%,
    color-mix(in srgb,var(--bg) 74%,transparent) 58%,
    color-mix(in srgb,var(--bg) 40%,transparent) 80%,color-mix(in srgb,var(--bg) 70%,transparent) 100%)}
  :root[data-theme="light"] .flow.on{opacity:.80}
}
@media (prefers-reduced-motion:reduce){.plate{animation:none}}
@media(max-width:860px){
  .stage::after{content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 24%,transparent) 0%,
      color-mix(in srgb,var(--bg) 58%,transparent) 26%,color-mix(in srgb,var(--bg) 88%,transparent) 56%,var(--bg) 84%)}
  .vig.l,.vig.r{display:none}
  .nav .navr .btn.pri{display:none}
  .hero{min-height:auto;padding:104px 0 46px}
}

/* ---------- панель темы ---------- */
.tsw{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;
  background:transparent;color:var(--t2);cursor:pointer;transition:.2s;flex:none}
.tsw:hover{color:var(--gold);border-color:var(--lineg)}
.tsw svg{width:19px;height:19px;display:block}
.tsw .ic-sun{display:none}
:root[data-theme="light"] .tsw .ic-sun{display:block}
:root[data-theme="light"] .tsw .ic-moon{display:none}

/* ---------- шапка ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:90;transition:.3s;border-bottom:1px solid transparent}
.nav.stuck{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(18px);border-bottom-color:var(--line)}
.nav .in{max-width:var(--maxw);margin:0 auto;padding:16px 30px;display:flex;align-items:center;gap:22px;transition:padding .3s}
.nav.stuck .in{padding:10px 30px}
.nlogo{display:flex;align-items:center;gap:12px}
.nlogo img{width:44px;height:44px;display:block;transition:.3s;filter:drop-shadow(0 0 14px rgba(233,196,99,.4))}
.nav.stuck .nlogo img{width:36px;height:36px}
.nlogo .wm{font:800 15.5px/1.1 var(--sans);letter-spacing:-.02em}
.nlogo small{display:block;font:8px/1.4 var(--mono);letter-spacing:.22em;color:var(--t3);font-weight:400;text-transform:uppercase}
:root[data-theme="dark"] img.lg-light,:root[data-theme="dark"] .lg-light{display:none!important}
:root[data-theme="light"] img.lg-dark,:root[data-theme="light"] .lg-dark{display:none!important}
.menu{display:flex;gap:22px;font:13.5px/1 var(--sans);color:var(--t2);margin-left:18px}
.menu a{position:relative;padding:6px 0}
.menu a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--grad-g);transition:width .25s}
.menu a:hover{color:var(--t1)}.menu a:hover::after{width:100%}
.navr{margin-left:auto;display:flex;align-items:center;gap:9px}
.nlogo{display:flex;align-items:center;gap:11px;line-height:1}
.nlogo img{width:44px;height:44px;flex:none;transition:width .3s,height .3s;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.45))}
.nav.stuck .nlogo img{width:36px;height:36px}
/* Замок марки. Раньше вторая строка была шире первой и висела вкривь,
   а слово TECHNOLOGY дублировало то, что уже написано внутри эмблемы.
   Теперь: AMG US крупно, TECHNOLOGY растянуто ровно по ширине верхней строки
   (text-align-last:justify), спокойным тоном — подпись, а не второй логотип. */
.nlogo .lk{display:inline-flex;flex-direction:column;gap:4px;width:max-content}
.nlogo .mk{font:700 25px/0.9 var(--disp);letter-spacing:.012em;background:var(--grad-g);
  -webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap}
:root[data-theme="light"] .nlogo .mk{background:linear-gradient(98deg,#8C6A14,#6E4D0B 55%,#8C6A14);
  -webkit-background-clip:text;background-clip:text}
.nlogo .tg{display:flex;justify-content:space-between;width:100%;
  font:600 8.5px/1 var(--mono);text-transform:uppercase;color:var(--t3);letter-spacing:0}
.nlogo .tg i{font-style:normal}
.nav.stuck .nlogo .mk{font-size:21px}
.nav.stuck .nlogo .tg{font-size:7.6px}
@media(max-width:560px){.nlogo .mk{font-size:20px}.nlogo .tg{font-size:7.4px}.nlogo img{width:36px;height:36px}}
.burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:40px;padding:0 10px;
  background:transparent;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:.2s}
.burger:hover{border-color:var(--lineg)}
.burger i{display:block;height:2px;background:var(--t1);border-radius:2px;transition:.28s}
.burger i:nth-child(2){width:70%;margin-left:auto}
.nav.open .burger i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .burger i:nth-child(2){opacity:0}
.nav.open .burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

body.dopen .cmp{opacity:0;pointer-events:none;transition:.2s}
.scrim{position:fixed;inset:0;z-index:95;background:rgba(3,6,12,.62);backdrop-filter:blur(3px);
  opacity:0;visibility:hidden;transition:.3s}
.scrim.on{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,86vw);z-index:96;
  background:var(--bg2);border-left:1px solid var(--line);
  transform:translateX(100%);transition:transform .34s cubic-bezier(.25,.8,.3,1);
  display:flex;flex-direction:column;padding:26px 26px 22px;overflow-y:auto}
.drawer.on{transform:none}
.drawer .dh{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.drawer .dh span{font:700 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.dclose{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:transparent;
  color:var(--t2);font-size:19px;line-height:1;cursor:pointer}
.dclose:hover{color:var(--t1);border-color:var(--lineg)}
.dnav a{display:block;font:800 clamp(21px,3.4vw,27px)/1.15 var(--disp);letter-spacing:.01em;text-transform:uppercase;
  color:var(--t1);padding:15px 0;border-bottom:1px solid var(--line);position:relative}
.dnav a small{display:block;font:500 11.5px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--t3);margin-top:5px}
.dnav a:hover{color:var(--gold)}
.dnav a.on{color:var(--gold)}
.dcta{display:grid;gap:10px;margin-top:26px}
.dfoot{margin-top:auto;padding-top:22px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dfoot .lgn{padding:8px 0}
@media(max-width:560px){.navr .btn.pri{display:none}}
.lgn{font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t3);padding:8px 6px}
.lgn:hover{color:var(--gold)}
@media(max-width:1180px){.lgn{display:none}}
@media(max-width:560px){.nlogo .wm{display:none}}
:root[data-theme="light"] .nav:not(.stuck){background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 92%,transparent) 0%,color-mix(in srgb,var(--bg) 62%,transparent) 52%,color-mix(in srgb,var(--bg) 22%,transparent) 82%,transparent 100%);backdrop-filter:none}
:root[data-theme="light"] .nav:not(.stuck) .menu a,:root[data-theme="light"] .nav:not(.stuck) .wm{color:#0A1728}
:root[data-theme="light"] .lang{background:rgba(255,255,255,.66)}
:root[data-theme="light"] .nav .btn.pri{box-shadow:0 2px 10px rgba(10,23,40,.18)}
.lang{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;font:10px/1 var(--mono)}
.lang button{padding:7px 9px;border:0;background:transparent;color:var(--t3);cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--g-soft);color:var(--gold)}
@media(max-width:1060px){.menu{display:none}}

.btn{display:inline-flex;align-items:center;gap:10px;font:12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  padding:15px 22px;border-radius:8px;border:1px solid var(--lineg);background:transparent;color:var(--t1);cursor:pointer;transition:.2s;white-space:nowrap}
.btn:hover{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 3px var(--g-soft);transform:translateY(-1px)}
.btn.pri{border-color:transparent;background:var(--grad-g);color:var(--cta-ink);font-weight:800;position:relative;overflow:hidden}
.btn.pri::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 40%,rgba(255,255,255,.55) 50%,transparent 60%);
  background-size:280% 100%;background-position:-40% 0;animation:ctaSweep 4.2s ease-in-out infinite;pointer-events:none}
@keyframes ctaSweep{0%{background-position:-40% 0}45%{background-position:160% 0}100%{background-position:160% 0}}
.btn.pri:hover{filter:brightness(1.08);box-shadow:0 10px 34px rgba(233,196,99,.28);color:var(--cta-ink)}
.btn.blue{border-color:var(--lineb)}
.btn.blue:hover{border-color:var(--blue);color:var(--blue-l);box-shadow:0 0 0 3px var(--b-soft)}
.btn.sm{padding:10px 14px;font-size:10.5px}

/* ---------- типографика ---------- */
.eyebrow{font:400 10.5px/1.3 'Michroma',var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.dt{font-family:var(--disp);font-weight:700;text-transform:uppercase;line-height:.96;letter-spacing:.004em}
.h1{font-size:clamp(34px,3.8vw,56px)}
.h1 .ln{display:block}
.h2{font-size:clamp(32px,4.6vw,60px)}
.h3{font-size:clamp(24px,2.6vw,34px)}
.ubar{width:96px;height:4px;background:var(--grad-g);margin-top:20px;border-radius:2px}
.lede{color:var(--t2);font-size:19px;line-height:1.68;max-width:54ch;font-weight:450}

/* появление при прокрутке */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,.8,.3,1),transform .7s cubic-bezier(.22,.8,.3,1)}
.rv.vis{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:120px 0 60px;overflow:hidden;background:var(--bg)}
.tagline{margin-top:30px;font:400 10.5px/1 'Michroma',var(--mono);letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}

.optic{position:absolute;inset:0;pointer-events:none;z-index:1}
.optic svg{width:100%;height:100%}
.strand{fill:none;stroke:rgba(79,166,255,.2);stroke-width:1.2;stroke-linecap:round}
:root[data-theme="light"] .strand{stroke:rgba(11,95,196,.18)}
.pulse{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:28 1700;animation:run 6.4s linear infinite}
.pp2{animation-duration:8s;animation-delay:-2.4s}.pp3{animation-duration:7.2s;animation-delay:-4.6s}
.pp4{animation-duration:9.2s;animation-delay:-1.2s}.pp5{animation-duration:5.8s;animation-delay:-3.3s}
@keyframes run{from{stroke-dashoffset:1728}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none;stroke-dasharray:none;opacity:.4}}
.hero .in{max-width:var(--maxw);margin:0 auto;padding:0 30px;display:grid;
  grid-template-columns:minmax(0,.62fr) minmax(0,.38fr);
  gap:46px;align-items:center;width:100%;position:relative;z-index:3}
.hero .in>*{min-width:0}
.hero .quote{margin-top:24px;padding:14px 20px;border-left:3px solid var(--gold);background:color-mix(in srgb,var(--surf) 76%,transparent);
  backdrop-filter:blur(8px);border-radius:0 10px 10px 0;font-size:15.5px;line-height:1.65;color:var(--t2);max-width:58ch}
.cta{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.markbox{width:min(560px,100%);margin:0 auto;position:relative}
.scrollcue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:4;
  font:9.5px/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--t3);display:flex;flex-direction:column;align-items:center;gap:9px}
.scrollcue i{width:1px;height:34px;background:linear-gradient(var(--gold),transparent);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}
@media(max-width:1040px){
  .hero{min-height:auto;padding:104px 0 56px}
  .hero .in{grid-template-columns:1fr;gap:26px}
  .markbox{width:min(420px,86%);order:-1}
  .scrollcue{display:none}
}

/* ---------- бегущая строка ---------- */
.ticker{border-top:1px solid var(--lineb);border-bottom:1px solid var(--lineb);overflow:hidden;position:relative;
  background:linear-gradient(90deg,var(--tkA),var(--tkB) 50%,var(--tkA))}
.ticker::before,.ticker::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.ticker::before{left:0;background:linear-gradient(90deg,var(--tkA),transparent)}
.ticker::after{right:0;background:linear-gradient(270deg,var(--tkA),transparent)}
.ticker .row{display:flex;gap:0;width:max-content;animation:tick 34s linear infinite}
.ticker span{font:700 12.5px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--tkT);
  padding:16px 26px;display:flex;align-items:center;gap:26px;white-space:nowrap;
  text-shadow:0 0 6px var(--tkG1),0 0 18px var(--tkG2),0 0 38px var(--tkG3);
  animation:neon 4.6s ease-in-out infinite}
.ticker span:nth-child(3n+2){animation-delay:-1.5s}
.ticker span:nth-child(3n+3){animation-delay:-3.0s}
@keyframes neon{0%,100%{opacity:.78}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.ticker span{animation:none}}
.ticker span::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--tkT);flex:none;
  box-shadow:0 0 6px var(--tkG1),0 0 16px var(--tkG2)}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker .row{animation:none}}

/* ---------- цифры ---------- */
.stats{padding:54px 0;background:color-mix(in srgb,var(--bg) 82%,transparent);position:relative;z-index:1}
.sgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.sg{padding:6px 24px;border-left:1px solid var(--line)}
.sg:first-child{border-left:none;padding-left:0}
.sg .v{font-family:var(--disp);font-weight:800;font-size:clamp(40px,4.4vw,60px);line-height:1;color:var(--gold)}
.sg:nth-child(even) .v{color:var(--blue)}
.sg .k{font:700 10.5px/1.4 var(--sans);letter-spacing:.11em;text-transform:uppercase;margin-top:11px;color:var(--t1)}
.sg .s{font-size:11.5px;color:var(--t3);margin-top:4px}
@media(max-width:1000px){.sgrid{grid-template-columns:repeat(2,1fr);gap:26px 0}.sg{padding:6px 20px}.sg:nth-child(odd){border-left:none;padding-left:0}}

/* ---------- позиционирование ---------- */
.stmt{padding:76px 0;background:color-mix(in srgb,var(--bg2) 88%,transparent);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.stmt .big{max-width:20ch}
.stmt .two{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:46px}
.stmt .two p{color:var(--t2);font-size:17.5px;line-height:1.75}
.stmt .two b{color:var(--t1)}
.rolegrid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:52px}
.role h4{font:700 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--lineb)}
.role.g h4{color:var(--gold);border-bottom-color:var(--lineg)}
.li{display:flex;gap:12px;align-items:flex-start;padding:8px 0;font-size:15.6px;color:var(--t2)}
.li i{width:5px;height:5px;border-radius:1px;background:var(--blue);margin-top:9px;flex:none}
.role.g .li i{background:var(--gold)}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
@media(max-width:900px){.stmt .two,.rolegrid,.cols2{grid-template-columns:1fr;gap:26px}}

/* ---------- возможности: вкладки ---------- */
.capsec{padding:76px 0}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:34px}
.tab{font:700 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:14px 18px;border-radius:8px;
  border:1px solid var(--line);background:transparent;color:var(--t2);cursor:pointer;transition:.2s}
.tab:hover{color:var(--t1);border-color:var(--lineg)}
.tab[aria-selected="true"]{background:var(--grad-g);border-color:transparent;color:var(--cta-ink)}
.tabbody{margin-top:30px;min-height:230px}
.caplist{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px}
.capitem{display:flex;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px;
  animation:fade .45s both}
.capitem:hover{color:var(--gold)}
.capitem .n{font:11px/1 var(--mono);color:var(--t3);min-width:22px}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:900px){.caplist{grid-template-columns:1fr}}

/* ---------- карта ---------- */
.cov{padding:76px 0;background:color-mix(in srgb,var(--bg2) 88%,transparent);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.covgrid{display:grid;grid-template-columns:1.3fr .7fr;gap:46px;margin-top:40px;align-items:center}
.tile{fill:var(--surf2);stroke:var(--line);stroke-width:1;transition:.25s}
.tile.on{fill:var(--g-soft);stroke:var(--gold);stroke-width:1.7}
g.st:hover .tile.on{fill:var(--gold)}
g.st:hover .tlabel{fill:var(--cta-ink)}
.tlabel{font:700 9.5px var(--mono);fill:var(--t3);pointer-events:none;text-anchor:middle;dominant-baseline:middle;transition:.25s}
.tile.on+.tlabel{fill:var(--gold)}
.legend{display:flex;gap:22px;margin-top:20px;flex-wrap:wrap;font:10px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--t3)}
.legend span{display:flex;align-items:center;gap:9px}
.legend i{width:13px;height:13px;border-radius:3px;border:1.7px solid var(--gold);background:var(--g-soft)}
.legend i.off{border-color:var(--line);background:var(--surf2)}
.mrow{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.mrow .v{font-family:var(--disp);font-weight:800;font-size:30px;color:var(--gold);line-height:1}
.mrow:nth-child(even) .v{color:var(--blue)}
.mrow .k{font-size:13px;color:var(--t2);text-align:right}
@media(max-width:960px){.covgrid{grid-template-columns:1fr;gap:30px}}

/* ---------- vendor ---------- */
.vend{padding:76px 0}
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:46px;margin-top:40px}
.kv{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.kv span{color:var(--t2)}
.kv b{font:500 13.5px var(--mono);color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.chip{background:var(--surf2);border:1px solid var(--line);border-radius:20px;padding:9px 15px;font-size:12.5px;color:var(--t2)}
.chip:hover{border-color:var(--lineb);color:var(--t1)}
@media(max-width:900px){.vgrid{grid-template-columns:1fr;gap:30px}}

/* ---------- финал ---------- */
.final{padding:88px 0;text-align:center;position:relative;overflow:hidden;
  background:radial-gradient(90% 130% at 50% 0%, rgba(233,196,99,.1), transparent 58%),linear-gradient(180deg,var(--bg2),var(--bg));
  border-top:1px solid var(--lineg)}
.final .mini{width:98px;margin:0 auto 22px}
.final .mini img{width:100%;display:block}
.final .cta{justify-content:center}
.mail{font:700 16px var(--mono);color:var(--gold);letter-spacing:.04em}
.mail:hover{text-decoration:underline}
.foot{border-top:1px solid var(--line);padding:26px 0;font-size:12.5px;color:var(--t3);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

.mcta{position:fixed;left:0;right:0;bottom:0;z-index:96;display:none;
  background:color-mix(in srgb,var(--bg) 95%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--lineg);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:8px}
.mcta .btn{flex:1;justify-content:center;padding:14px 4px;font-size:10px;letter-spacing:.06em}
@media(max-width:760px){.mcta{display:flex}body{padding-bottom:76px}}

.explain{background:var(--bg2);border-top:1px solid var(--line);padding:58px 0 84px}
.explain h3{font:700 10px/1 var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.explain p{color:var(--t2);font-size:15px;line-height:1.75;margin-bottom:14px;max-width:80ch}
.explain b{color:var(--t1);font-weight:650}

/* ---------- общий каркас внутренних страниц ---------- */
.skip{position:absolute;left:-9999px;top:0;background:var(--gold);color:#110E02;padding:10px 16px;border-radius:0 0 8px 0;z-index:200;font:600 13px var(--sans)}
.skip:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}

.phero{position:relative;padding:150px 0 54px;border-bottom:1px solid var(--line);overflow:hidden;background:var(--bg)}
.phero::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(1100px 420px at 78% -10%,rgba(79,166,255,.16),transparent 62%),
             radial-gradient(760px 320px at 8% 0%,rgba(233,196,99,.10),transparent 60%)}
.phero .wrap{position:relative}
.crumb{font:600 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--t3)}
.crumb a{color:var(--t3)}.crumb a:hover{color:var(--gold)}
.phero h1{font:800 clamp(38px,6.2vw,68px)/0.96 var(--disp);letter-spacing:-.015em;text-transform:uppercase;margin:14px 0 0}
.phero .sub{color:var(--t2);font-size:clamp(16px,1.35vw,19px);max-width:68ch;margin-top:18px}

.sec{padding:74px 0;border-bottom:1px solid var(--line)}
.sec.alt{background:var(--bg2)}
.sec h2{font:800 clamp(28px,3.4vw,42px)/1.02 var(--disp);letter-spacing:-.01em;text-transform:uppercase;margin:12px 0 0}
.sec h3{font:800 20px/1.2 var(--disp);letter-spacing:.01em;text-transform:uppercase;margin-bottom:10px}
.sec p.lead{color:var(--t2);max-width:76ch;margin-top:16px;font-size:17px}
.kick{font:700 10px/1 var(--mono);letter-spacing:.17em;text-transform:uppercase;color:var(--gold)}
.kick.b{color:var(--blue)}

.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
@media(max-width:980px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}

.card{background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:24px 22px;position:relative;overflow:hidden}
.card::after{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:var(--grad-g);opacity:.0;transition:opacity .25s}
.card:hover::after{opacity:.85}
.card .n{font:700 10px/1 var(--mono);letter-spacing:.15em;color:var(--t3)}
.card ul{list-style:none;margin-top:12px}
.card li{position:relative;padding-left:18px;color:var(--t2);font-size:15.6px;line-height:1.75}
.card li::before{content:'';position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--blue);opacity:.85}
.card .meta{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font:500 12px/1.6 var(--mono);color:var(--t3);letter-spacing:.03em}

.tbl{width:100%;border-collapse:collapse;margin-top:26px;font-size:14.5px}
.tbl th{text-align:left;font:700 10px/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--t3);padding:0 14px 12px;border-bottom:1px solid var(--line)}
.tbl td{padding:14px;border-bottom:1px solid var(--line);color:var(--t2);vertical-align:top}
.tbl td b{color:var(--t1);font-weight:650}
.tbl tr:hover td{background:var(--b-soft)}
.badge{display:inline-block;font:700 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border-radius:5px}
.badge.on{background:rgba(79,166,255,.16);color:var(--blue-l);border:1px solid var(--lineb)}
.badge.rd{background:rgba(233,196,99,.14);color:var(--gold);border:1px solid var(--lineg)}
:root[data-theme="light"] .badge.on{color:#0B5FC4}
:root[data-theme="light"] .badge.rd{color:#7A5A12}

.steps{counter-reset:s;display:grid;gap:14px;margin-top:28px}
.step{display:grid;grid-template-columns:106px 1fr;gap:18px;align-items:start;background:var(--surf);border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.step .d{font:800 11px/1.35 var(--mono);letter-spacing:.06em;color:var(--gold);padding-top:5px}
.step h4{font:800 17px/1.2 var(--disp);letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px}
.step p{color:var(--t2);font-size:15.6px;line-height:1.72}
@media(max-width:700px){.step{grid-template-columns:1fr;gap:6px}}
.legal h2{font:800 22px/1.2 var(--disp);letter-spacing:.01em;text-transform:uppercase;margin:34px 0 10px}
.legal p,.legal li{color:var(--t2);font-size:15px;line-height:1.75;max-width:82ch;margin-bottom:12px}
.legal ul{padding-left:20px}
.legal li{margin-bottom:8px}
.legal b{color:var(--t1)}
.legal .upd{font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--t3)}

.note{border-left:3px solid var(--gold);background:var(--g-soft);padding:16px 18px;border-radius:0 10px 10px 0;color:var(--t2);font-size:15.4px;line-height:1.7;margin-top:24px}
.note b{color:var(--t1)}

/* ---------- формы ---------- */
.form{display:grid;gap:16px;margin-top:28px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:700px){.frow{grid-template-columns:1fr}}
.field label{display:block;font:700 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t3);margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;background:var(--surf);border:1px solid var(--line);border-radius:10px;
  padding:13px 14px;color:var(--t1);font:400 15px var(--sans);transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--lineb)}
.field textarea{min-height:130px;resize:vertical}
.field .hint{font-size:12.5px;color:var(--t3);margin-top:6px}
.consent{display:flex;gap:10px;align-items:flex-start;color:var(--t3);font-size:13px}
.consent input{width:16px;height:16px;margin-top:3px;flex:none}
.fmsg{display:none;border:1px solid var(--lineg);background:var(--g-soft);border-radius:10px;padding:14px 16px;color:var(--t2);font-size:14px}
.fmsg.on{display:block}

/* ---------- подвал ---------- */
.foot{background:var(--bg2);border-top:1px solid var(--line);padding:56px 0 30px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:30px}
@media(max-width:980px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.fgrid{grid-template-columns:1fr}}
.foot h5{font:700 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.foot a{display:block;color:var(--t2);font-size:14.5px;padding:5px 0}
.bld{font:600 10px/1 var(--mono);letter-spacing:.08em;color:var(--t3);opacity:.6;margin-left:10px}
.foot a:hover{color:var(--t1)}
.foot .co{color:var(--t2);font-size:14.5px;line-height:1.8}
.foot .co b{color:var(--t1)}
.fbot{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font:500 12px/1.7 var(--mono);letter-spacing:.03em;color:var(--t3)}
.fbot .lk a{display:inline;margin-right:16px}
@media(max-width:700px){
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl thead{display:none}
  .tbl tr{border:1px solid var(--line);border-radius:12px;background:var(--surf);margin-bottom:12px;padding:8px 2px}
  .tbl tr:hover td{background:transparent}
  .tbl td{border:0;padding:10px 16px}
  .tbl td::before{content:attr(data-l);display:block;font:700 9px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t3);margin-bottom:6px}
  .grid2[style]{grid-template-columns:1fr !important}
}
.eeo{margin-top:14px;color:var(--t3);font-size:12.5px;max-width:90ch}

/* ---------- объёмная карта присутствия ---------- */
.usmap{max-width:100%;position:relative;background:radial-gradient(90% 120% at 50% 8%,var(--surf) 0%,var(--bg2) 62%,var(--bg) 100%);
  border:1px solid var(--line);border-radius:16px;padding:18px 12px 8px;overflow:hidden}
.usmap::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(58% 52% at 50% 46%,rgba(79,166,255,.10),transparent 72%)}
.usmap svg{display:block;width:100%;height:auto;position:relative;overflow:visible}

.usmap .w0{fill:var(--w0)}
.usmap .w1{fill:var(--w1)}
.usmap .w2{fill:var(--w2)}
.usmap .top{fill:var(--mt);stroke:var(--ms);stroke-width:.7;vector-effect:non-scaling-stroke}
.usmap .shadow{fill:#000;opacity:.5;filter:blur(6px)}
:root[data-theme="light"] .usmap .shadow{opacity:.2}

.st.on .w0{fill:var(--o0)} .st.on .w1{fill:var(--o1)} .st.on .w2{fill:var(--o2)}
.st.on .top{stroke:var(--gold);stroke-width:1.2}
.st.rdy .top{fill:var(--mtr);stroke:var(--msr);stroke-width:1}
.st.hub .top{stroke:var(--gold);stroke-width:1.8}
.st.hub .w0{fill:var(--h0)} .st.hub .w1{fill:var(--h1)} .st.hub .w2{fill:var(--h2)}
.pin .stem{stroke:var(--gold);stroke-width:1.3;opacity:.85}
.pin .chip{fill:color-mix(in srgb,var(--bg) 82%,transparent);stroke:var(--gold);stroke-width:1.1}
.pin .ctxt{font:800 11px var(--mono);letter-spacing:.12em;text-anchor:middle;fill:#FFF3D2;dominant-baseline:middle}
:root[data-theme="light"] .pin .ctxt{fill:#5E440C}
:root[data-theme="light"] .usmap{background:linear-gradient(180deg,#FFFFFF 0%,#F6F5F2 100%)}
.pin .cdot{fill:var(--gold)}

.slab{font:700 10.5px var(--mono);letter-spacing:.05em;text-anchor:middle;fill:var(--lab);pointer-events:none;
  paint-order:stroke;stroke:rgba(0,0,0,.45);stroke-width:2.4px;stroke-linejoin:round}
:root[data-theme="light"] .slab{stroke:rgba(255,255,255,.7)}
.slab.on{fill:#FFFFFF;font-weight:800;font-size:12px}
.slab.rdy{fill:var(--gold)}
.lead{stroke:var(--ms);stroke-width:.8;fill:none;opacity:.75}
.olab{font:700 10px var(--mono);letter-spacing:.05em;text-anchor:start;fill:var(--lab);dominant-baseline:middle}
.olab.on{fill:#FFFFFF}

.st{transform:translateY(22px);opacity:0;transition:transform .8s cubic-bezier(.2,.8,.3,1),opacity .8s}
.usmap.lit .st{transform:translateY(0);opacity:1}
.usmap.lit .st.hv{transform:translateY(-6px)}
.st.on,.st.rdy{cursor:pointer}
.st.hv .top{stroke:var(--gold);stroke-width:2}

.glowdot{fill:var(--blue-l);opacity:.9}
.glowring{fill:none;stroke:var(--blue);stroke-width:1.4;opacity:.45;animation:gr 4.2s ease-out infinite}
@keyframes gr{0%{r:4;opacity:.55}70%{opacity:0}100%{r:17;opacity:0}}
.hqmark{fill:none;stroke:var(--gold);stroke-width:1.6}

/* спокойная жизнь: медленный световой проход по карте */
.sweep{mix-blend-mode:screen;opacity:.5;animation:sw 11s linear infinite;pointer-events:none}
@keyframes sw{0%{transform:translateX(-62%)}100%{transform:translateX(62%)}}

.mtip{position:absolute;pointer-events:none;z-index:5;background:color-mix(in srgb,var(--bg) 90%,transparent);
  border:1px solid var(--lineg);border-radius:10px;padding:11px 14px;transform:translate(-50%,-120%);
  opacity:0;transition:opacity .16s;backdrop-filter:blur(8px);min-width:156px}
.mtip.on{opacity:1}
.mtip .n{font:800 15px/1.1 var(--disp);letter-spacing:.03em;text-transform:uppercase;color:var(--t1)}
.mtip .s{font:600 10px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;margin-top:6px}
.mtip .s.a{color:var(--blue-l)} .mtip .s.r{color:var(--gold)} .mtip .s.n{color:var(--t3)}
.mtip .k{color:var(--t2);font-size:12.5px;margin-top:6px}

.mlegend{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:16px;padding:0 6px 4px;
  font:600 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--t3)}
.mlegend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:7px;vertical-align:-1px}
.mlegend .a i{background:linear-gradient(180deg,#4A8FD8,#1B4A7E);box-shadow:0 0 0 1px var(--gold)}
.mlegend .r i{background:var(--mtr);box-shadow:0 0 0 1px var(--msr)}
.mlegend .n i{background:var(--mt);box-shadow:0 0 0 1px var(--ms)}
.mlegend .h i{background:transparent;border:1.5px solid var(--gold);border-radius:50%}

:root[data-theme="dark"]{
  --w0:#070C17; --w1:#0C1526; --w2:#132339;
  --o0:#0A1B31; --o1:#12304F; --o2:#1D4771;
  --h0:#0C2138; --h1:#17406A; --h2:#2C6098;
  --mt:#16243C; --ms:#27405F; --mtr:#1C3556; --msr:rgba(233,196,99,.42); --lab:#8CA6C4}
:root[data-theme="light"]{
  /* тёплая платина для неактивных штатов, электрик-синий для рынков */
  --w0:#A39D93; --w1:#B6B1A8; --w2:#CCC7BE;
  --o0:#2F6FBF; --o1:#4E8AD4; --o2:#77A9E4;
  --h0:#1B5BAE; --h1:#3B79C8; --h2:#6598DC;
  --mt:#EDEBE6; --ms:#C6C0B6; --mtr:#D8E6F7; --msr:rgba(159,131,72,.62); --lab:#4A5568}

@media (prefers-reduced-motion:reduce){.st{transition:none;transform:none;opacity:1}
  .glowring,.sweep{animation:none;display:none}}
@media(max-width:860px){
  .usmap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .usmap svg{min-width:760px}
  .covgrid>*,.grid2>*,.grid3>*{min-width:0}
  .usmap::after{content:'Swipe the map';position:absolute;right:14px;bottom:10px;z-index:3;
    font:600 9px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--t3);
    background:color-mix(in srgb,var(--bg) 78%,transparent);padding:6px 9px;border-radius:6px;border:1px solid var(--line)}
  .slab{font-size:12px}.slab.on{font-size:14px}.olab{font-size:11px}
  .mlegend{gap:12px;font-size:9px}}

.menu a.on{color:var(--t1)}
.menu a.on::after{width:100%;opacity:1}

/* правки 25.09: подзаголовок квалификаций, строка над формой, адрес в подвале */
.capsub{margin:22px 0 0;max-width:62ch;font-size:16.5px;line-height:1.6;color:var(--t2)}
.fnote{margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--t2);max-width:56ch}
.foot .ins{margin:14px 0 0;color:var(--t3);font-size:13px;line-height:1.6;max-width:44ch}
