:root{
  --bg:#F5F6F8;
  --card:#EBEEF2;
  --ink:#0D1830;
  --muted:#8B94A7;
  --line:#D9DEE6;
  --navy:#012060;
  --orange:#ED7D31;
  --font:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --r-xl:44px;
  --r-lg:22px;
  --r-md:16px;
  --pad:clamp(16px,2.6vw,40px);
  --max:1440px;
  /* отступ, по которому выравнивается контент внутри полноширинных блоков */
  --side:max(var(--pad),calc((100vw - var(--max)) / 2 + var(--pad)));
  --ease:cubic-bezier(.16,.84,.24,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font);background:var(--bg);color:var(--ink);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
h1,h3,.statement,.case__title,.scard__title,.drow__title,.dir__title{text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

/* ---------- Кнопки ---------- */
.btn{display:inline-flex;align-items:center;gap:14px;height:48px;padding:0 6px 0 22px;border-radius:999px;font-size:15px;font-weight:500;white-space:nowrap;transition:background .25s,color .25s}
.btn i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;transition:background .25s,transform .25s}
.btn svg{width:16px;height:16px}
.btn:hover i{transform:rotate(-45deg)}
.btn--dark{background:var(--navy);color:#fff}
.btn--dark i{background:#fff;color:var(--navy)}
.btn--dark:hover i{background:var(--orange);color:#fff}
.btn--light{background:#fff;color:var(--ink)}
.btn--light i{background:var(--navy);color:#fff}
.btn--light:hover i{background:var(--orange)}

/* ---------- Шапка ---------- */
.header{position:absolute;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s,color .3s;color:#fff}
.header__in{max-width:var(--max);margin:0 auto;padding:18px var(--pad);display:flex;align-items:center;gap:28px}
.logo{display:block;height:38px;width:81px;overflow:hidden;flex:none}
.logo img{height:57px;width:auto;max-width:none}
.logo .logo--dark{display:none}
.lang{display:flex;gap:10px;font-size:13px;font-weight:500}
.lang span{opacity:.5}
.nav{display:flex;gap:30px;font-size:14px;margin-left:14px}
.nav a{opacity:.92;transition:opacity .2s,color .2s}
.nav a:hover{opacity:1;color:var(--orange)}
.header__right{margin-left:auto;display:flex;align-items:center;gap:28px}
.phone{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:500;letter-spacing:.01em;transition:color .2s}
.phone svg{width:14px;height:14px;opacity:.75}
.phone:hover{color:var(--orange)}
.header .btn{height:44px}
.header .btn i{width:32px;height:32px}
.header.is-solid{background:rgba(245,246,248,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.header.is-solid .logo--light{display:none}
.header.is-solid .logo--dark{display:block}

/* бургер: две линии, при открытом меню складываются в крестик */
.burger{position:relative;display:block;width:18px;height:10px}
.burger i{position:absolute;left:0;right:0;height:1.6px;border-radius:2px;background:currentColor;transition:transform .55s var(--ease),top .55s var(--ease)}
.burger i:first-child{top:0}
.burger i:last-child{top:8.4px}
.menu-open .burger i:first-child{top:4.2px;transform:rotate(45deg)}
.menu-open .burger i:last-child{top:4.2px;transform:rotate(-45deg)}
.hmenu{display:none;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);color:#fff}

/* плавающая панель */
.fbar{position:fixed;top:14px;left:50%;z-index:85;display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;background:rgba(6,14,34,.78);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);color:#fff;transform:translate3d(-50%,-160%,0);transition:transform .8s var(--ease),background .4s;box-shadow:0 18px 40px -18px rgba(0,0,0,.5)}
.fbar.is-on,.menu-open .fbar{transform:translate3d(-50%,0,0)}
.menu-open .fbar{background:rgba(255,255,255,.08)}
.fbar__logo{display:block;width:62px;height:30px;overflow:hidden;margin:0 6px 0 10px}
.fbar__logo img{height:44px;width:auto;max-width:none}
.fbar__menu{display:flex;align-items:center;gap:12px;height:44px;padding:0 20px 0 16px;border-radius:999px;background:rgba(255,255,255,.1);font-size:14px;font-weight:500;transition:background .3s,color .3s}
.fbar__menu:hover{background:#fff;color:var(--navy)}
.fbar__label{position:relative;display:block;height:1.2em;overflow:hidden;line-height:1.2}
.fbar__label span{display:block;transition:transform .55s var(--ease)}
.menu-open .fbar__label span{transform:translateY(-100%)}
.fbar__cta{display:flex;align-items:center;height:44px;padding:0 20px;border-radius:999px;background:var(--orange);font-size:14px;font-weight:500;white-space:nowrap;transition:background .3s,color .3s}
.fbar__cta:hover{background:#fff;color:var(--navy)}

/* полноэкранное меню раскрывается кругом от кнопки */
.menu{position:fixed;inset:0;z-index:80;background:#060E22;color:#fff;clip-path:circle(0 at var(--mx,50%) var(--my,40px));visibility:hidden;transition:clip-path .9s cubic-bezier(.76,0,.24,1),visibility 0s linear .9s}
.menu-open .menu{clip-path:circle(150vmax at var(--mx,50%) var(--my,40px));visibility:visible;transition:clip-path 1s cubic-bezier(.76,0,.24,1),visibility 0s}
.menu__in{max-width:var(--max);height:100%;margin:0 auto;padding:clamp(96px,13vh,140px) var(--pad) 90px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,5vw,80px)}
.menu__nav{display:flex;flex-direction:column;justify-content:center}
.mlink{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:baseline;gap:16px;padding:.08em 0;transition:opacity .4s,transform .6s var(--ease)}
.menu__nav:hover .mlink{opacity:.32}
.menu__nav .mlink:hover{opacity:1;transform:translateX(14px)}
.mlink__num{font-size:13px;color:rgba(255,255,255,.45);font-variant-numeric:tabular-nums;opacity:0;transition:opacity .6s ease}
.mlink__t{display:block;overflow:hidden;font-size:min(6.2vw,9vh);line-height:1.06;letter-spacing:-.055em;padding-bottom:.06em}
.mlink__t span{display:block;transform:translate3d(0,110%,0);transition:transform .7s var(--ease)}
.menu-open .mlink__t span{transform:none;transition:transform 1.1s var(--ease) calc(.35s + var(--i) * 70ms)}
.menu-open .mlink__num{opacity:1;transition-delay:calc(.6s + var(--i) * 70ms)}
.menu__side{display:flex;flex-direction:column;justify-content:center;gap:28px;opacity:0;transform:translate3d(0,30px,0);transition:opacity .4s,transform .6s var(--ease)}
.menu-open .menu__side{opacity:1;transform:none;transition:opacity .9s ease .55s,transform 1.2s var(--ease) .55s}
.menu__pic{position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:#0B1733}
.menu__pic img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:opacity .35s ease,transform 1.2s var(--ease)}
.menu__pic::after{content:"";position:absolute;inset:0;background:#0B2A6B;mix-blend-mode:color;opacity:.5}
.menu__pic.is-swap img{opacity:0;transform:scale(1.06)}
.menu__phone{font-size:clamp(26px,2.6vw,40px);letter-spacing:-.04em;transition:color .25s}
.menu__phone:hover{color:var(--orange)}
.menu__foot{position:absolute;left:0;right:0;bottom:0;max-width:var(--max);margin:0 auto;padding:0 var(--pad) 26px;display:flex;justify-content:space-between;gap:16px;font-size:13px;color:rgba(255,255,255,.45);opacity:0;transition:opacity .4s}
.menu__foot b{color:#fff;font-weight:500}
.menu-open .menu__foot{opacity:1;transition:opacity .8s ease .8s}

/* ---------- Первый экран ---------- */
.hero{position:relative;height:max(680px,min(100svh,960px));border-radius:0 0 var(--hr,0px) var(--hr,0px);overflow:hidden;color:#fff;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2;will-change:transform}
.hero__bg{width:100%;height:100%;object-fit:cover;object-position:50% 62%;filter:grayscale(1) contrast(1.08) brightness(.9);transform:scale(1.14);transition:transform 2.8s var(--ease)}
.hero.is-loaded .hero__bg{transform:scale(1.02)}
/* фото в один тон: монохром с лёгким фирменным синим */
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:#0B2A6B;mix-blend-mode:color;opacity:.45}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(5,13,32,.6) 0%,rgba(5,13,32,0) 28%),
  linear-gradient(0deg,rgba(5,13,32,.9) 0%,rgba(5,13,32,.45) 36%,rgba(5,13,32,0) 62%)}
.hero__in{position:relative;max-width:var(--max);height:100%;margin:0 auto;padding:0 var(--pad)}

/* надпись: ТАНДЕМ — сплошная с уходом в прозрачность, СТРОЙ — контуром */
.wordmark{position:absolute;left:var(--pad);right:var(--pad);top:clamp(84px,8.4vw,112px);font-weight:500;font-size:clamp(44px,11.6vw,176px);line-height:.9;letter-spacing:-.055em;white-space:nowrap;will-change:transform,opacity}
.wm{display:inline-block;padding-top:.08em}
.wm .ch{display:inline-block}
.wm__a .ch{background:linear-gradient(180deg,#fff 35%,rgba(255,255,255,.28) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.14em .05em .28em;margin:-.14em -.05em -.28em}
.wm__b .ch{color:transparent;-webkit-text-stroke:.011em rgba(255,255,255,.88)}
.js .wm .ch{opacity:0;transform:translate3d(0,.32em,0) rotate(5deg);filter:blur(14px);transition:opacity 1s ease,transform 1.5s var(--ease),filter 1.2s ease;transition-delay:calc(.15s + var(--i) * 55ms)}
.js .wordmark.is-in .ch{opacity:1;transform:none;filter:blur(0)}

.hero__bottom{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(32px,4.4vw,60px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px}
.hero__text{max-width:720px}
.hero h1{font-weight:400;font-size:clamp(34px,4.3vw,62px);line-height:1.04;letter-spacing:-.035em}
.hero__lead{max-width:470px;margin-top:20px;font-size:16px;line-height:1.5;color:rgba(255,255,255,.7)}
.hero__cta{margin-top:32px}

/* цифры на первом экране: одна стеклянная панель из трёх ячеек */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(580px,46vw);padding:6px;border-radius:26px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2)}
.fact{position:relative;padding:18px 20px 20px;border-radius:20px;transition:background .35s}
.fact:hover{background:rgba(255,255,255,.08)}
.fact + .fact::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:1px;background:rgba(255,255,255,.14)}
.fact:hover::before,.fact:hover + .fact::before{opacity:0}
.fact__ic{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);margin-bottom:30px}
.fact__ic svg{width:16px;height:16px}
.fact b{display:block;font-weight:400;font-size:clamp(32px,3vw,44px);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.fact .n{display:inline;margin:0;font-size:inherit;line-height:inherit;color:inherit}
.fact b sup{font-size:.5em;vertical-align:.75em;margin-left:.04em;color:var(--orange)}
.fact span{display:block;margin-top:10px;font-size:13px;line-height:1.35;color:rgba(255,255,255,.62)}

/* ---------- Анимации появления ---------- */
/* блоки целиком */
.js [data-reveal]{opacity:0;transform:translate3d(0,48px,0);transition:opacity 1s var(--ease) var(--d,0s),transform 1.2s var(--ease) var(--d,0s)}
.js [data-reveal="clip"]{opacity:1;transform:none;clip-path:inset(16% 10% 0 10% round 22px);transition:clip-path 1.5s var(--ease) var(--d,0s)}
.js [data-reveal="rise"]{opacity:0;transform:translate3d(0,90px,0);transition:opacity 1.3s var(--ease) var(--d,0s),transform 1.7s var(--ease) var(--d,0s)}
.js [data-reveal].is-in{opacity:1;transform:none}
.js [data-reveal="clip"].is-in{clip-path:inset(0 0 0 0 round 22px)}
/* текст: каждое слово выезжает снизу из-под маски */
.m{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em 0 .14em;margin:-.1em 0 -.14em}
.js .mi{display:inline-block;transform:translate3d(0,112%,0);transition:transform 1.1s var(--ease);transition-delay:calc(var(--d,0s) + var(--i) * var(--st,26ms))}
.js .is-in .mi,.js .is-in.mi{transform:none}
/* оранжевая звёздочка у подписи раздела */
.js .label svg{transform:scale(0) rotate(-120deg);transition:transform .9s var(--ease)}
.js .label.is-in svg{transform:none}
/* крупный текст проявляется по словам вместе с прокруткой */
.statement .w{opacity:.12;transition:opacity .5s ease}
.statement .w.on{opacity:1}

/* ---------- Секции ---------- */
.section{max-width:var(--max);margin:0 auto;padding:clamp(72px,9vw,128px) var(--pad) 0}
.label{display:flex;gap:10px;font-size:13px;font-weight:500;line-height:1.2;text-transform:uppercase;letter-spacing:.02em}
.label svg{flex:none;width:14px;height:14px;color:var(--orange);margin-top:1px}
.intro{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:40px}
.statement{font-size:clamp(26px,2.75vw,40px);line-height:1.14;letter-spacing:-.03em;font-weight:400}
.statement em{font-style:normal;color:var(--muted)}
.small{max-width:520px;font-size:15px;line-height:1.5;color:#5D677C;margin-top:22px}
.intro .btn{margin-top:30px}

/* ---------- Лента карточек: едет вбок, пока страницу крутят вниз ---------- */
.hs{position:relative;margin-top:clamp(24px,4vw,56px)}
.hs__sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;gap:28px;overflow:hidden;padding-top:60px}
.hs__track{display:flex;gap:16px;width:max-content;padding:0 var(--side);will-change:transform}
.stat{flex:none;display:flex;gap:26px;background:var(--card);border-radius:var(--r-lg);padding:12px;height:clamp(300px,56vh,500px);width:clamp(420px,44vw,620px)}
.stat--wide{width:clamp(560px,64vw,940px)}
.stat__img{flex:none;width:46%;border-radius:var(--r-md);overflow:hidden;background:#cfd5de}
.stat--wide .stat__img{width:58%}
.stat__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.22);transition:transform 1.6s var(--ease) .1s}
.stat.is-in .stat__img img{transform:scale(1)}
.stat__body{display:flex;flex-direction:column;padding:18px 16px 14px 0;min-width:0}
.stat__num{font-size:clamp(56px,6.2vw,96px);line-height:.92;letter-spacing:-.055em;font-weight:400}
.stat__num sup{display:inline-block;font-size:.42em;line-height:1;vertical-align:top;margin:.12em 0 0 .06em;color:var(--orange)}
.js [data-split] sup{opacity:0;transform:translate3d(0,40%,0);transition:opacity .6s ease .45s,transform .9s var(--ease) .45s}
.js .is-in sup{opacity:1;transform:none}
.stat__lbl{margin-top:14px;font-size:16px;font-weight:500;text-transform:uppercase;letter-spacing:.01em}
.stat__txt{margin-top:auto;font-size:14px;line-height:1.5;color:#6A7488;white-space:nowrap}
.stat--navy{background:var(--navy);color:#fff}
.stat--navy .stat__txt{color:rgba(255,255,255,.68)}
.stat--navy .stat__img{background:#0A2B70;display:grid;place-items:center}
.stat--navy .stat__img img{width:122%;height:auto;max-width:none;object-fit:contain;opacity:.95}
.js .stat{opacity:0;transform:translate3d(0,40px,0) scale(.96);transition:opacity 1s var(--ease),transform 1.3s var(--ease)}
.js .stat.is-in{opacity:1;transform:none}

.progress{display:flex;align-items:center;gap:18px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.progress__bar{position:relative;flex:1;height:1px;background:var(--line)}
.progress__bar i{position:absolute;left:0;top:-1px;height:3px;width:0;border-radius:2px;background:var(--ink)}
.arrows{display:flex;gap:8px}
.arrows button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;transition:background .2s,color .2s}
.arrows svg{width:16px;height:16px}

/* ---------- Энергетика: раскрывающиеся панели объектов ---------- */
.energy__head{max-width:1080px;margin-top:22px}
/* карточки объектов: прилипают сверху и накладываются друг на друга */
.scards{position:relative;margin-top:clamp(40px,5vw,64px)}
.scard{position:sticky;top:calc(96px + var(--i) * 16px);height:min(74vh,660px);margin-bottom:7vh}
.scard:last-child{margin-bottom:0}
.scard__in{position:relative;height:100%;border-radius:28px;overflow:hidden;color:#fff;isolation:isolate;background:#0B1733;transform-origin:50% 0;will-change:transform}
.scard__in::before{content:"";position:absolute;inset:0;z-index:4;background:#060E22;opacity:var(--dim,0);pointer-events:none}
.scard__in::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,13,32,.82) 0%,rgba(5,13,32,.35) 55%,rgba(5,13,32,.15) 100%),linear-gradient(0deg,rgba(5,13,32,.7) 0%,rgba(5,13,32,0) 45%)}
.scard__img{position:absolute;left:0;top:-8%;z-index:-2;width:100%;height:116%;object-fit:cover;will-change:transform}
.scard__top{position:absolute;left:clamp(22px,3vw,44px);right:clamp(22px,3vw,44px);top:clamp(22px,3vw,40px);display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.scard__num{font-size:clamp(64px,8vw,128px);font-weight:300;line-height:.78;letter-spacing:-.07em}
.scard__num i{font-style:normal;font-size:.2em;font-weight:400;letter-spacing:0;margin-left:.5em;vertical-align:top;color:rgba(255,255,255,.55)}
.scard__tag{font-size:13px;font-weight:500;padding:9px 15px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);white-space:nowrap}
.scard__body{position:absolute;left:clamp(22px,3vw,44px);bottom:clamp(22px,3vw,44px);max-width:min(660px,58%)}
.scard__title{font-size:clamp(30px,3.6vw,58px);font-weight:400;line-height:1.02;letter-spacing:-.045em}
.scard__sub{margin-top:16px;font-size:16px;color:rgba(255,255,255,.7)}
.scard__works{position:absolute;right:clamp(22px,3vw,44px);bottom:clamp(22px,3vw,44px);list-style:none;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.scard__works li{font-size:14px;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.eline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:32px;margin-top:clamp(36px,4vw,56px)}
.efact{position:relative;padding-top:20px}
.efact::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line);transform-origin:left}
.js .efact::before{transform:scaleX(0);transition:transform 1.4s var(--ease) var(--d,0s)}
.js .efact.is-in::before{transform:none}
.efact b{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:500;letter-spacing:-.015em}
.efact b svg{width:18px;height:18px;color:var(--orange)}
.efact p{margin-top:8px;font-size:14px;line-height:1.5;color:#6A7488}

.nw{white-space:nowrap}
.spacer{height:clamp(80px,10vw,140px)}

/* ---------- Направления ---------- */
.dirs{margin-top:clamp(48px,6vw,88px);display:flex;flex-direction:column;gap:clamp(44px,5vw,76px)}
.dirs__group{display:block}
.dirs__head{display:flex;align-items:baseline;gap:8px 24px;flex-wrap:wrap;margin-bottom:18px}
.dirs__name{font-size:clamp(24px,2.2vw,32px);letter-spacing:-.035em;line-height:1.05}
.dir{position:relative;display:grid;grid-template-columns:auto 34px minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:22px;padding:16px 0}
.dir::before,.dir:last-child::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line);transform-origin:left}
.dir:last-child::after{top:auto;bottom:0}
.js .dir::before,.js .dir:last-child::after{transform:scaleX(0);transition:transform 1.4s var(--ease) var(--d,0s)}
.js .dir.is-in::before,.js .dir.is-in:last-child::after{transform:none}
.dir__num{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.dir__title{font-size:clamp(20px,1.75vw,26px);letter-spacing:-.03em;line-height:1.15;transition:transform .55s var(--ease)}
.dir__tag{display:inline-block;margin-left:10px;vertical-align:.2em;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.dir__desc{font-size:14px;line-height:1.5;color:#6A7488}
.dir:hover .dir__title{transform:translateX(8px)}
.dirs__hint{font-size:15px;line-height:1.45;color:#6A7488}
@media (min-width:1021px){.dir__title,.dir__desc{white-space:nowrap}}
.dir__thumb{width:112px;height:76px;border-radius:12px;overflow:hidden;background:var(--card)}
.dir__thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .5s ease,transform .9s var(--ease)}
.dir:hover .dir__thumb img{filter:none;transform:scale(1.08)}
.dir__more{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:500;color:var(--muted);white-space:nowrap;transition:color .3s}
.dir__more i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--card);color:var(--ink);transition:background .3s,color .3s}
.dir__more svg{width:15px;height:15px;transform:rotate(-45deg);transition:transform .45s var(--ease)}
.dir:hover .dir__more{color:var(--ink)}
.dir:hover .dir__more i{background:var(--navy);color:#fff}
.dir:hover .dir__more svg{transform:none}

/* ---------- Объекты ---------- */
.live{display:inline-flex;align-items:center;gap:12px;margin-top:28px;padding:11px 20px 11px 16px;border-radius:999px;background:var(--card);font-size:14px;line-height:1.3}
.live i{position:relative;flex:none;width:9px;height:9px;border-radius:50%;background:var(--orange)}
.live i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--orange);animation:pulse 2s ease-out infinite}
@keyframes pulse{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.live b{font-weight:500}
.live span{color:var(--muted)}
.cases{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:clamp(40px,5vw,64px)}
.case{position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;color:#fff;min-height:330px;isolation:isolate;background:#1a2440}
.case--a{grid-column:1/8;grid-row:span 2;min-height:680px}
.case--b,.case--c{grid-column:8/13}
.case--d{grid-column:1/8;min-height:400px}
.case--all{grid-column:8/13;min-height:400px}
.case__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transform:scale(1.22);transition:transform 2.4s var(--ease) var(--d,0s)}
.js .case .case__tags,.js .case .case__body,.js .case--all > *{opacity:0;transform:translate3d(0,22px,0);transition:opacity 1s ease calc(var(--d,0s) + .45s),transform 1.2s var(--ease) calc(var(--d,0s) + .45s)}
.js .case.is-in .case__tags,.js .case.is-in .case__body,.js .case--all.is-in > *{opacity:1;transform:none}
.js .case--all .case__map{transform:none}
.case.is-in .case__img{transform:scale(1.02)}
.case:hover .case__img{transform:scale(1.07)}
.case::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,13,32,.9) 0%,rgba(5,13,32,.3) 52%,rgba(5,13,32,.08) 100%)}
.case__tags{position:absolute;left:22px;top:22px;right:84px;display:flex;flex-wrap:wrap;gap:6px}
.case__tags span{font-size:12px;font-weight:500;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.case__go{position:absolute;right:20px;top:20px;width:50px;height:50px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;opacity:0;transform:scale(.5) rotate(-90deg);transition:transform .55s var(--ease),opacity .3s}
.case__go svg{width:18px;height:18px}
.case:hover .case__go{opacity:1;transform:rotate(-45deg)}
.case__body{position:absolute;left:26px;right:26px;bottom:26px}
.case__title{font-size:clamp(20px,1.8vw,28px);font-weight:400;line-height:1.12;letter-spacing:-.03em;max-width:600px}
.case--a .case__title{font-size:clamp(28px,2.9vw,44px)}
.case__sub{margin-top:10px;font-size:14px;line-height:1.45;color:rgba(255,255,255,.72);max-width:520px}
.case--all{background:var(--navy);display:flex;flex-direction:column;justify-content:space-between;padding:26px}
.case--all::after{display:none}
.case--all .case__map{position:absolute;right:-12%;bottom:-8%;width:92%;max-width:none;opacity:.45;z-index:-1;transition:transform 1.4s var(--ease)}
.case--all:hover .case__map{transform:scale(1.05)}
.case--all .case__big{font-size:clamp(64px,6.6vw,104px);font-weight:400;letter-spacing:-.06em;line-height:.88}
.case--all .case__big sup{font-size:.4em;vertical-align:.95em;color:var(--orange);margin-left:.04em}
.case--all .btn{align-self:flex-start}
.case--all p{font-size:15px;line-height:1.45;color:rgba(255,255,255,.72);max-width:320px;margin-top:12px}

/* ---------- Заказчики ---------- */
.clients{margin-top:clamp(40px,5vw,64px)}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee + .marquee{margin-top:12px}
.marquee__track{display:flex;gap:12px;width:max-content;will-change:transform}
.logo-tile{flex:none;display:grid;place-items:center;width:clamp(170px,16vw,236px);height:clamp(92px,8vw,118px);border-radius:18px;background:var(--card)}
.logo-tile img{max-width:62%;max-height:50px;filter:grayscale(1) contrast(1.1);opacity:.6;mix-blend-mode:multiply;transition:filter .45s,opacity .45s}
.logo-tile:hover img{filter:none;opacity:1}
.marquee--names{margin-top:clamp(26px,3vw,44px)}
.marquee--names .marquee__track{gap:0}
.nm{flex:none;display:flex;align-items:center;gap:clamp(22px,2.6vw,44px);padding-right:clamp(22px,2.6vw,44px);font-size:clamp(36px,4.8vw,78px);line-height:1.18;letter-spacing:-.05em;white-space:nowrap;color:#C5CCD8}
.nm svg{flex:none;width:.3em;height:.3em;color:var(--orange);opacity:calc(.25 + var(--sp,0) * .75);transform:rotate(var(--rot,0deg))}

/* ---------- Документы: веер сканов и список ---------- */
.dark{background:#060E22;color:#fff;border-radius:var(--r-xl);margin-top:clamp(90px,11vw,150px);padding-bottom:clamp(64px,8vw,110px)}
.dark .section{padding-top:clamp(64px,8vw,110px)}
.dark .statement em{color:rgba(255,255,255,.4)}
.dz{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);margin-top:clamp(40px,5vw,72px);align-items:start}
.stack{position:sticky;top:110px;height:clamp(420px,62vh,600px)}
.paper{--r:0deg;--x:0%;--y:0%;--s:1;position:absolute;left:50%;top:50%;width:50%;aspect-ratio:1273/1800;margin:0;border-radius:4px;overflow:hidden;cursor:zoom-in;z-index:var(--i);box-shadow:0 34px 70px -18px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06);transform:translate(-50%,-50%) translate(var(--x),var(--y)) rotate(var(--r)) scale(var(--s));transition:transform 1.1s var(--ease),filter .6s ease,opacity .8s ease;transition-delay:calc(var(--i) * 90ms)}
.paper img{width:100%;height:100%;object-fit:cover}
.paper:nth-child(1){--r:-11deg;--x:-34%;--y:6%}
.paper:nth-child(2){--r:-4deg;--x:-11%;--y:-2%}
.paper:nth-child(3){--r:4deg;--x:11%;--y:0%}
.paper:nth-child(4){--r:11deg;--x:34%;--y:7%}
.js .stack:not(.is-in) .paper{--r:0deg;--x:0%;--y:70%;opacity:0}
.stack.is-ready .paper{transition-delay:0s}
.stack[data-active] .paper{filter:brightness(.45)}
.stack[data-active="0"] .paper:nth-child(1),.stack[data-active="1"] .paper:nth-child(2),.stack[data-active="2"] .paper:nth-child(3),.stack[data-active="3"] .paper:nth-child(4){--r:0deg;--x:0%;--y:-3%;--s:1.12;z-index:10;filter:none}
.dlist{display:flex;flex-direction:column}
.drow{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:20px;padding:26px 0;color:#fff}
.drow::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.14);transform-origin:left}
.js .drow::before{transform:scaleX(0);transition:transform 1.4s var(--ease) var(--d,0s)}
.js .drow.is-in::before{transform:none}
.drow__num{font-size:13px;color:rgba(255,255,255,.45);font-variant-numeric:tabular-nums}
.drow__main{display:flex;flex-direction:column;gap:8px;min-width:0;transition:transform .55s var(--ease)}
.drow__title{font-size:clamp(20px,1.7vw,26px);letter-spacing:-.03em;line-height:1.15}
.drow__no{font-size:14px;color:rgba(255,255,255,.45)}
.drow:hover .drow__main{transform:translateX(12px)}
.drow__act{display:flex;gap:8px}
.ibtn{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:background .3s,color .3s,transform .45s var(--ease)}
.ibtn svg{width:17px;height:17px}
.ibtn:hover{background:#fff;color:var(--navy)}
.ibtn--solid{background:var(--orange)}
.drow--zip:hover .ibtn--solid{background:#fff;color:var(--navy);transform:translateY(4px)}
.chip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 17px;border-radius:999px;font-size:13px;font-weight:500;background:rgba(255,255,255,.1);color:#fff;white-space:nowrap;transition:background .25s,color .25s}
.chip svg{width:14px;height:14px}
.chip:hover{background:#fff;color:var(--navy)}
.lb{position:fixed;inset:0;z-index:90;background:rgba(5,10,24,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;padding:70px 20px 90px;opacity:0;pointer-events:none;transition:opacity .35s}
.lb.is-on{opacity:1;pointer-events:auto}
.lb img{max-height:100%;max-width:min(92vw,760px);border-radius:4px;box-shadow:0 40px 90px rgba(0,0,0,.6);transform:scale(.94) translateY(20px);transition:transform .6s var(--ease)}
.lb.is-on img{transform:none}
.lb__close{position:absolute;top:18px;right:18px;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center}
.lb__close svg{width:18px;height:18px}
.lb__bar{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px}

/* ---------- Форма-предложение «Отправить ТЗ» ---------- */
#tz{padding-bottom:clamp(90px,10vw,140px)}
.sform{margin-top:clamp(40px,5vw,72px);background:#fff;border-radius:32px;padding:clamp(24px,4.4vw,72px);box-shadow:0 1px 0 var(--line),0 50px 100px -60px rgba(13,24,48,.35)}
.sentence{font-size:clamp(24px,2.9vw,44px);line-height:1.62;letter-spacing:-.035em;max-width:1200px}
.slot{position:relative;display:inline-block;vertical-align:baseline;max-width:100%}
.slot input,.slot select{display:inline-block;max-width:100%;width:6ch;font:inherit;letter-spacing:inherit;line-height:1.25;color:var(--navy);background:transparent;border:0;border-bottom:2px solid var(--line);border-radius:0;padding:0 .08em .04em;outline:none;transition:border-color .3s,color .3s;-webkit-appearance:none;appearance:none}
.slot::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.slot:focus-within::after{transform:none}
.slot input::placeholder{color:#B4BBC9;opacity:1}
/* полоса заполнения заявки */
.sform__top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;font-size:13px;color:var(--muted)}
.sform__top b{color:var(--ink);font-weight:500}
.sform__state{display:inline-flex;align-items:center;gap:8px;transition:color .3s}
.sform__state i{width:8px;height:8px;border-radius:50%;background:#C5CCD8;transition:background .3s}
.sform.is-full .sform__state{color:var(--navy)}
.sform.is-full .sform__state i{background:var(--orange)}
.sform__count{font-variant-numeric:tabular-nums}
.sform__bar{height:3px;border-radius:3px;background:var(--bg);overflow:hidden;margin-bottom:clamp(28px,3.4vw,52px)}
.sform__bar i{display:block;height:100%;width:0;border-radius:3px;background:var(--orange);transition:width .7s var(--ease)}
/* свой выпадающий список вместо системного */
.pick__btn{display:inline-flex;align-items:baseline;gap:.22em;font:inherit;letter-spacing:inherit;line-height:1.25;color:var(--navy);border-bottom:2px solid var(--line);padding:0 .08em .04em;text-align:left;cursor:pointer;transition:border-color .3s}
.pick__val.is-empty{color:#B4BBC9}
.pick__btn svg{flex:none;width:.34em;height:.34em;color:var(--orange);transform:translateY(-.08em);transition:transform .45s var(--ease)}
.pick.is-open .pick__btn svg{transform:translateY(-.08em) rotate(180deg)}
.pick__list{display:block;position:absolute;left:0;top:calc(100% + 10px);z-index:20;width:max-content;min-width:290px;max-width:min(360px,calc(100vw - 48px));max-height:330px;overflow:auto;list-style:none;padding:6px;border-radius:18px;background:#fff;box-shadow:0 30px 60px -18px rgba(13,24,48,.3),0 0 0 1px var(--line);font-size:15px;letter-spacing:-.005em;line-height:1.3;opacity:0;transform:translate3d(0,-8px,0) scale(.97);transform-origin:top left;pointer-events:none;transition:opacity .2s ease,transform .35s var(--ease)}
.pick__list.to-right{left:auto;right:0;transform-origin:top right}
.pick.is-open .pick__list{opacity:1;transform:none;pointer-events:auto}
.pick__list > span{display:flex;white-space:nowrap;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px 10px 14px;border-radius:12px;color:var(--ink);cursor:pointer;transition:background .15s}
.pick__list > span:hover,.pick__list > span.is-hl{background:var(--bg)}
.pick__list > span::after{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--orange);opacity:0;transition:opacity .2s}
.pick__list > span[aria-selected="true"]{color:var(--navy);font-weight:500}
.pick__list > span[aria-selected="true"]::after{opacity:1}
.slot.is-error input{border-bottom-color:#D64545}
.slot.is-error input::placeholder{color:#E08A8A}
.drop{position:relative;display:flex;align-items:center;gap:18px;margin-top:clamp(28px,3vw,48px);padding:20px 2px;cursor:pointer;border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s}
.drop::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.drop:hover::after,.drop.is-over::after{transform:none}
.drop.is-over{background:linear-gradient(90deg,rgba(237,125,49,.07),rgba(237,125,49,0) 70%)}
.drop__txt{flex:1;min-width:0}
.drop__btn{flex:none;display:inline-flex;align-items:center;height:42px;padding:0 20px;border-radius:999px;background:var(--bg);font-size:14px;font-weight:500;transition:background .3s,color .3s}
.drop:hover .drop__btn,.drop.is-over .drop__btn{background:var(--navy);color:#fff}
.drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.drop i{flex:none;width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;transition:transform .45s var(--ease),background .3s}
.drop:hover i,.drop.is-over i{transform:translateY(-4px);background:var(--orange)}
.drop i svg{width:19px;height:19px}
.drop b{display:block;font-size:16px;font-weight:500}
.drop small{display:block;margin-top:3px;font-size:13px;color:var(--muted)}
.files{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.files:empty{display:none}
.file{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 5px 0 13px;border-radius:999px;background:var(--card);font-size:13px;max-width:100%}
.file em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.file button{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;font-size:15px;line-height:1}
.sform__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:clamp(28px,3vw,44px)}
.sform__side{display:flex;flex-direction:column;gap:14px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:#6A7488;cursor:pointer}
.consent input{flex:none;width:18px;height:18px;accent-color:var(--navy);margin-top:1px}
.consent.is-error{color:#D64545}
.sform__alt a{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#6A7488;transition:color .2s}
.sform__alt a:hover{color:var(--navy)}
.sform__alt svg{width:16px;height:16px}
.send{position:relative;flex:none;width:clamp(124px,11vw,160px);aspect-ratio:1;border-radius:50%;background:var(--navy);color:#fff;font-size:16px;font-weight:500;transition:background .3s;will-change:transform}
.send__in{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;pointer-events:none}
.send svg{width:20px;height:20px;transform:rotate(-45deg);transition:transform .5s var(--ease)}
.send:hover{background:var(--orange)}
.send:hover svg{transform:none}
.form__done{display:none;text-align:center;padding:40px 10px}
.sform.is-sent .sform__inner{display:none}
.sform.is-sent .form__done{display:block}
.form__done i{width:84px;height:84px;margin:0 auto 26px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center}
.form__done i svg{width:32px;height:32px}
.form__done h3{font-size:clamp(28px,3vw,44px);font-weight:400;letter-spacing:-.035em}
.form__done p{margin:12px auto 0;max-width:420px;font-size:16px;color:#6A7488}
/* отправка заявки: ловушка для ботов, состояние отправки, запасной путь через WhatsApp */
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.sform.is-sending .send{opacity:.75;pointer-events:none}
.form__done p a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.form__wa{margin-top:24px}
.form__done i.form__fail{background:var(--orange)}

/* ---------- Попап «Отправить ТЗ» ---------- */
.tzm{position:fixed;inset:0;z-index:88;display:grid;place-items:center;padding:24px;overflow-y:auto;visibility:hidden;pointer-events:none;transition:visibility 0s linear .75s}
.tzm.is-open{visibility:visible;pointer-events:auto;transition:visibility 0s}
.tzm__backdrop{position:absolute;inset:0;background:rgba(5,12,30,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .5s ease}
.tzm.is-open .tzm__backdrop{opacity:1}
.tzm__panel{position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.6fr);width:min(1140px,100%);border-radius:32px;overflow:hidden;background:#fff;box-shadow:0 60px 120px -30px rgba(0,0,0,.55);opacity:0;transform:translate3d(0,80px,0) scale(.95);transition:opacity .4s ease,transform .7s var(--ease)}
.tzm.is-open .tzm__panel{opacity:1;transform:none;transition:opacity .5s ease,transform 1s var(--ease)}
.tzm__side{position:relative;display:flex;flex-direction:column;justify-content:flex-start;gap:28px;padding:clamp(28px,3.2vw,48px);background:#060E22;color:#fff;overflow:hidden;isolation:isolate}
.tzm__side::before{content:"";position:absolute;inset:0;z-index:-2;background:url(img/hero-steam.jpg) 40% 30%/cover;filter:grayscale(1) contrast(1.1);opacity:.32;transform:scale(1.15);transition:transform 1.6s var(--ease)}
.tzm.is-open .tzm__side::before{transform:none}
.tzm__side::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,14,34,.35),rgba(6,14,34,.92) 75%)}
.tzm__spark{width:34px;height:34px;color:var(--orange);animation:spin 16s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.tzm__title{font-size:clamp(32px,3.1vw,46px);font-weight:400;line-height:1;letter-spacing:-.05em;white-space:nowrap}
.tzm__lead{margin-top:14px;max-width:300px;font-size:15px;line-height:1.5;color:rgba(255,255,255,.62)}
.tzm__contacts{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:auto}
.tzm__phone{font-size:clamp(20px,1.8vw,26px);letter-spacing:-.035em;transition:color .25s}
.tzm__phone:hover{color:var(--orange)}
.tzm__panel .sform{margin:0;border-radius:0;box-shadow:none;min-height:0;overflow:visible;padding:clamp(28px,3.4vw,56px) clamp(24px,3.4vw,56px)}
.sform--modal .sentence{font-size:clamp(22px,2.1vw,30px)}
.sform--modal .sform__top{padding-right:56px}
.tzm__close{position:absolute;top:18px;right:18px;z-index:5;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--bg);color:var(--ink);transition:background .3s,color .3s,transform .5s var(--ease)}
.tzm__close svg{width:18px;height:18px}
.tzm__close:hover{background:var(--navy);color:#fff;transform:rotate(90deg)}
/* содержимое выезжает следом за панелью */
.tzm .tzm__side > *,.tzm .sform__inner > *{opacity:0;transform:translate3d(0,22px,0);transition:opacity .3s ease,transform .3s ease}
.tzm.is-open .tzm__side > *,.tzm.is-open .sform__inner > *{opacity:1;transform:none;transition:opacity .8s ease,transform 1s var(--ease)}
.tzm.is-open .tzm__side > :nth-child(1){transition-delay:.2s}
.tzm.is-open .tzm__side > :nth-child(2){transition-delay:.28s}
.tzm.is-open .tzm__side > :nth-child(3){transition-delay:.36s}
.tzm.is-open .sform__inner > :nth-child(1){transition-delay:.25s}
.tzm.is-open .sform__inner > :nth-child(2){transition-delay:.3s}
.tzm.is-open .sform__inner > :nth-child(3){transition-delay:.36s}
.tzm.is-open .sform__inner > :nth-child(4){transition-delay:.44s}
.tzm.is-open .sform__inner > :nth-child(5){transition-delay:.5s}
.tzm.is-open .sform__inner > :nth-child(6){transition-delay:.56s}

/* ---------- Подвал: открывается из-под страницы ---------- */
.footer{position:relative;background:#060E22;color:#fff;overflow:hidden}
.footer__in{max-width:var(--max);margin:0 auto;padding:clamp(56px,6.4vw,100px) var(--pad) 24px;will-change:transform}
.label--light{color:#fff}
.fphone{display:inline-flex;align-items:center;gap:clamp(16px,2vw,32px);margin-top:22px;font-size:clamp(40px,6.8vw,112px);line-height:1;letter-spacing:-.055em;white-space:nowrap}
.fphone span{position:relative}
.fphone span::after{content:"";position:absolute;left:0;right:0;bottom:-.06em;height:2px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .7s var(--ease)}
.fphone:hover span::after{transform:scaleX(1);transform-origin:left}
.fphone i{flex:none;display:grid;place-items:center;width:.62em;height:.62em;border-radius:50%;background:var(--orange);transition:background .3s,color .3s}
.fphone i svg{width:32%;height:32%;transform:rotate(-45deg);transition:transform .6s var(--ease)}
.fphone:hover i{background:#fff;color:var(--navy)}
.fphone:hover i svg{transform:none}
.fchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.frow{position:relative;display:flex;justify-content:space-between;align-items:flex-end;gap:20px 40px;flex-wrap:wrap;margin-top:clamp(44px,5.4vw,80px);padding-top:26px}
.frow::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.12)}
.fnav{display:flex;flex-wrap:wrap;gap:8px 34px;font-size:clamp(17px,1.45vw,21px);letter-spacing:-.015em}
.fnav a{position:relative}
.fnav a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.fnav a:hover::after{transform:scaleX(1);transform-origin:left}
.faddr{font-size:14px;line-height:1.55;text-align:right;color:rgba(255,255,255,.85)}
.faddr span{display:block;color:rgba(255,255,255,.45)}
.fmeta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:clamp(28px,3vw,44px);font-size:13px;color:rgba(255,255,255,.45)}
.fmeta a{transition:color .2s}
.fmeta a:hover{color:#fff}
.ftop{justify-self:end;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);color:#fff;transition:background .3s,color .3s,border-color .3s}
.ftop svg{width:16px;height:16px;transform:rotate(-90deg);transition:transform .5s var(--ease)}
.fmeta .ftop:hover{background:#fff;color:var(--navy);border-color:#fff}
.ftop:hover svg{transform:rotate(-90deg) translateX(3px)}
/* огромная надпись во всю ширину экрана, низ букв уходит за край */
.fmark{margin-top:clamp(18px,2vw,30px);font-weight:500;line-height:.86;letter-spacing:-.055em;white-space:nowrap;overflow:hidden;padding-top:.1em;margin-bottom:-.11em}
.fm{display:inline-block}
.fm .ch{display:inline-block;will-change:transform}
.fm__a .ch{background:linear-gradient(180deg,#fff 30%,rgba(255,255,255,.16) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.12em .04em .26em;margin:-.12em -.04em -.26em}
.fm__b .ch{color:transparent;-webkit-text-stroke:.008em rgba(255,255,255,.6)}
/* кран в подвале: слой под текстом, трос уходит за верхний край */
.footer__in,#footMark{position:relative;z-index:1}
#footMark .fm__b{visibility:hidden}
.crane{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.crane__rig{position:absolute;inset:0;will-change:transform}
.crane__rope{position:absolute;top:0;left:0;width:1.6px;height:0;background:linear-gradient(180deg,rgba(150,162,184,.1),rgba(170,180,200,.7))}
.crane__slings{position:absolute;left:0;top:0;overflow:visible}
.crane__slings line{stroke:rgba(214,220,232,.6);stroke-width:1.6;transition:opacity .4s}
.crane__hook{position:absolute;left:0;top:0;max-width:none;will-change:transform;filter:drop-shadow(0 22px 34px rgba(0,0,0,.55))}
.crane__load{position:absolute;left:0;right:0;margin:0 !important;overflow:visible !important;will-change:transform}
.crane__load .fm__a{visibility:hidden}
.crane__load .fm__b{color:transparent;-webkit-text-stroke:.008em rgba(255,255,255,.6);transition:color .9s ease,-webkit-text-stroke-color .9s ease}
.crane__load.is-set .fm__b{color:rgba(255,255,255,.08);-webkit-text-stroke-color:rgba(255,255,255,.75)}
/* страница уезжает вверх и открывает подвал, который стоит под ней */
.reveal-foot main{position:relative;z-index:1;background:var(--bg);border-radius:0 0 var(--r-xl) var(--r-xl);margin-bottom:var(--fh,0px)}
.reveal-foot .footer{position:fixed;left:0;right:0;bottom:0;z-index:0}
.reveal-foot{overscroll-behavior-y:none}
/* плавная прокрутка */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
html:not(.reveal-foot) .footer{border-radius:var(--r-xl) var(--r-xl) 0 0}

@media (max-width:1020px){
  .dirs__group{grid-template-columns:1fr;gap:14px}
  .dirs__head{position:static;flex-direction:row;align-items:baseline;justify-content:space-between}
  .dirs__head{flex-wrap:wrap;gap:6px 16px}
  .dirs__hint{max-width:none}
  .dir{grid-template-columns:96px minmax(0,1fr) auto;gap:4px 18px}
  .dir__thumb{grid-row:1/3;width:96px;height:68px}
  .dir__num{display:none}
  .dir__title{grid-column:2;align-self:end}
  .dir__desc{grid-column:2;grid-row:2;align-self:start}
  .dir__more{grid-column:3;grid-row:1/3}
  .dir__more span{display:none}
  .cases{grid-template-columns:1fr 1fr}
  .case--a{grid-column:1/-1;grid-row:auto;min-height:540px}
  .case--b,.case--c{grid-column:auto}
  .case--d,.case--all{grid-column:1/-1}
  .dz{grid-template-columns:1fr}
  .stack{position:relative;top:0;height:clamp(300px,64vw,480px)}
}
@media (max-width:720px){
  .dir{grid-template-columns:72px minmax(0,1fr) auto;gap:2px 14px;padding:14px 0}
  .dir__thumb{width:72px;height:56px;border-radius:10px}
  .dir__title{font-size:18px}
  .dir__desc{font-size:13px}
  .dir__more i{width:36px;height:36px}
  .dir__tag{margin:6px 0 0;display:table}
  .cases{grid-template-columns:1fr}
  .case,.case--a,.case--b,.case--c,.case--d,.case--all{grid-column:1/-1;min-height:420px}
  .case--a{min-height:540px}
  .case__go{opacity:1;transform:rotate(-45deg);width:42px;height:42px}
  .live{border-radius:18px;align-items:flex-start}
  .live i{margin-top:5px}
  .dark{border-radius:28px}
  .drow{grid-template-columns:30px minmax(0,1fr);row-gap:14px;padding:22px 0}
  .drow__act{grid-column:2}
  .ibtn{width:42px;height:42px}
  .sform{border-radius:24px}
  .sentence{font-size:23px;line-height:1.7}
  .sform__foot{flex-direction:column;align-items:stretch}
  .send{width:100%;aspect-ratio:auto;height:64px;border-radius:999px}
  .send__in{flex-direction:row}
  .drop__btn{display:none}
  .tzm{padding:0;place-items:end stretch}
  .tzm__panel{display:block;height:auto;max-height:94svh;overflow:auto;border-radius:24px 24px 0 0;transform:translate3d(0,100%,0)}
  .tzm.is-open .tzm__panel{transform:none}
  .tzm__side{flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;padding:22px 72px 22px 20px}
  .tzm__lead,.tzm__contacts{display:none}
  .tzm__title{font-size:28px}
  .tzm__spark{width:24px;height:24px}
  .tzm__panel .sform{overflow:visible;padding:22px 20px 28px}
  .sform--modal .sentence{font-size:22px}
  .sform--modal .sform__top{padding-right:0}
  .tzm__close{top:16px;right:14px;background:rgba(255,255,255,.14);color:#fff}
  html:not(.reveal-foot) .footer{border-radius:28px 28px 0 0}
  .footer__in{padding-bottom:20px}
  .footer{padding-bottom:84px}
  .fphone{font-size:clamp(32px,10.4vw,56px)}
  .frow{flex-direction:column;align-items:stretch}
  .fnav{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
  .faddr{text-align:left}
}

@media (max-width:1020px){
  .hmenu{display:grid}
  .header .btn{display:none}
  .header__right{gap:10px}
  .menu__in{grid-template-columns:1fr;align-content:center;gap:36px}
  .menu__pic{display:none}
  .menu__side{gap:0}
  .mlink__t{font-size:clamp(38px,9vw,64px)}
  .eline{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .fbar{top:10px}
  .fbar__cta{display:none}
  .fbar__logo{margin:0 4px 0 8px}
  .hmenu{width:40px;height:40px}
  .menu__in{padding-top:92px;padding-bottom:70px;gap:26px;overflow-y:auto}
  .mlink{grid-template-columns:30px minmax(0,1fr)}
  .mlink__t{font-size:clamp(34px,10.5vw,48px)}
  .menu__phone{font-size:26px}
  .menu__foot{font-size:11px}
  .eline{grid-template-columns:1fr;gap:24px}
  .scard{top:calc(72px + var(--i) * 10px);height:70svh;margin-bottom:5vh}
  .scard__in{border-radius:22px}
  .scard__num{font-size:64px}
  .scard__tag{font-size:12px;padding:7px 12px}
  .scard__body{left:20px;right:20px;bottom:76px;max-width:none}
  .scard__title{font-size:clamp(24px,6.7vw,29px)}
  .scard__sub{font-size:14px;margin-top:10px}
  .scard__works{left:20px;right:auto;bottom:20px;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:6px}
  .scard__works li{font-size:12px;padding:7px 11px}
  .scard__works li:nth-child(3){display:none}
}

/* ---------- Прелоадер ---------- */
.pre{display:none}
.js .pre{display:block;position:fixed;inset:0;z-index:100;background:#060E22;color:#fff;overflow:hidden;transition:transform 1.15s cubic-bezier(.76,0,.24,1) .3s,border-radius 1.15s cubic-bezier(.76,0,.24,1) .3s}
.is-loading{overflow:hidden}
.pre__in{position:absolute;inset:0;padding:calc(var(--pad) + 6px) var(--side);display:grid;grid-template-rows:1fr auto;transition:opacity .45s ease,transform .6s var(--ease)}
.pre__center{display:grid;place-items:center;align-content:center;gap:26px}
.pre__mark{width:148px;height:70px;overflow:hidden;clip-path:inset(100% 0 0 0);transition:clip-path 1.2s var(--ease) .15s}
.pre__mark img{height:104px;width:auto;max-width:none}
.pre__name{font-size:14px;font-weight:500;letter-spacing:.42em;padding-left:.42em;text-transform:uppercase;opacity:0;transform:translateY(12px);transition:opacity .9s ease .5s,transform 1s var(--ease) .5s}
.pre__num{font-size:clamp(96px,16vw,240px);font-weight:300;line-height:.8;letter-spacing:-.06em;font-variant-numeric:tabular-nums;opacity:0;transition:opacity .9s ease .3s}
.pre__num sup{font-size:.2em;font-weight:400;letter-spacing:0;vertical-align:2.9em;margin-left:.3em;color:var(--orange)}
.pre__bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.08)}
.pre__bar i{display:block;height:100%;background:var(--orange);transform:scaleX(0);transform-origin:left}
.pre.is-on .pre__mark{clip-path:inset(0 0 0 0)}
.pre.is-on .pre__name{transform:none;opacity:1}
.pre.is-on .pre__num{opacity:1}
/* уход: содержимое гаснет, шторка уезжает вверх со скруглённым краем */
.pre.is-done .pre__in{opacity:0;transform:translate3d(0,-60px,0)}
.js .pre.is-done{transform:translate3d(0,-100%,0);border-radius:0 0 50% 50% / 0 0 22vh 22vh}

/* ---------- Мобильная панель связи ---------- */
.dock{display:none}

/* ---------- Адаптив ---------- */
@media (max-width:1180px){
  .nav{gap:20px}
}
@media (max-width:1020px){
  .nav,.lang{display:none}
  .hero__bottom{grid-template-columns:1fr;gap:36px}
  .facts{width:min(580px,100%)}
  .intro{grid-template-columns:1fr;gap:22px}
  .energy__grid{grid-template-columns:1fr}
  .show{min-height:460px}
}
@media (max-width:720px){
  .header__in{padding-top:14px;padding-bottom:14px;gap:12px}
  .header .btn{display:none}
  .phone{width:40px;height:40px;border:1px solid rgba(255,255,255,.35);border-radius:50%}
  .header.is-solid .phone{border-color:var(--line)}
  .phone span{display:none}
  .phone svg{opacity:1}
  .hero{height:max(640px,100svh)}
  .hero__bg{object-position:57% 62%}
  .wordmark{top:96px}
  .wm__b .ch{-webkit-text-stroke-width:.016em}
  .hero__lead{font-size:14px;margin-top:14px}
  .hero__cta{margin-top:24px}
  .hero__bottom{gap:28px}
  .facts{width:100%;padding:4px;border-radius:20px}
  .fact{padding:12px 12px 14px;border-radius:16px}
  .fact + .fact::before{top:14px;bottom:14px}
  .fact__ic{width:30px;height:30px;margin-bottom:16px}
  .fact__ic svg{width:14px;height:14px}
  .fact b{font-size:26px}
  .fact span{font-size:11.5px;margin-top:6px}
  .hs__sticky{gap:20px;padding-top:56px}
  .hs__track{gap:12px}
  .stat,.stat--wide{height:auto;flex-direction:column;gap:0;width:82vw}
  .stat__img,.stat--wide .stat__img{width:100%;height:clamp(170px,30svh,280px)}
  .stat__body{padding:16px 8px 8px}
  .stat__num{font-size:56px}
  .stat__txt{margin-top:18px}
  .features{grid-template-columns:1fr}
  .feature{min-height:0;gap:18px}
  .show{min-height:420px}
  .dock{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:6px;position:fixed;left:10px;right:10px;bottom:10px;z-index:60;padding:6px;border-radius:999px;background:rgba(13,24,48,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
  .dock.is-on{transform:none}
  .dock a{display:flex;align-items:center;justify-content:center;gap:7px;height:46px;border-radius:999px;color:#fff;font-size:13px;font-weight:500;white-space:nowrap}
  .dock a svg{width:16px;height:16px;flex:none}
  .dock a:last-child{background:var(--orange)}
  .spacer{height:110px}
  .pre__mark{width:111px;height:52px}
  .pre__mark img{height:78px}
  .pre__name{font-size:12px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js [data-reveal],.js .stat,.js .wm .ch,.js .mi{opacity:1;transform:none;clip-path:none;filter:none}
  .statement .w{opacity:1}
}

/* прелоадер показывается один раз за сессию */
.no-pre .pre{display:none !important}

/* телефон: метки на карточках объектов в один ряд, названия документов в одну строку */
@media (max-width:720px){
  .case__tags{right:66px;gap:5px}
  .case__tags span{font-size:11px;padding:6px 10px}
  .drow__title{font-size:clamp(17px,5vw,20px)}
}
/* узкие телефоны: названия направлений помещаются в одну строку */
@media (max-width:380px){
  .dir__title{font-size:16.5px}
}

/* =========================================================
   Страницы направлений
   ========================================================= */
/* первый экран */
.hero--page{height:max(640px,min(94svh,900px))}
.hero--page h1{font-size:clamp(42px,6.2vw,100px);line-height:.96;letter-spacing:-.045em}
.hero--page .hero__lead{max-width:540px;font-size:17px}
.crumbs{position:absolute;left:var(--pad);top:clamp(100px,12vh,136px);display:flex;flex-wrap:wrap;gap:8px 10px;font-size:13px;color:rgba(255,255,255,.55)}
.crumbs a{transition:color .2s}
.crumbs a:hover{color:#fff}
.crumbs span[aria-current]{color:rgba(255,255,255,.9)}
.hero__tag{display:inline-block;margin-bottom:22px;font-size:13px;font-weight:500;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hero__cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero__phone{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:500;color:rgba(255,255,255,.85);transition:color .2s}
.hero__phone svg{width:15px;height:15px;opacity:.8}
.hero__phone:hover{color:var(--orange)}

/* виды работ */
.works{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:clamp(40px,5vw,64px)}
.work{position:relative;display:flex;flex-direction:column;min-height:250px;padding:24px;border-radius:var(--r-lg);background:var(--card);overflow:hidden;isolation:isolate;transition:color .45s ease}
.work::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--navy);transform:translate3d(0,101%,0);transition:transform .65s var(--ease)}
.work:hover::before{transform:none}
.work:hover{color:#fff}
.work__num{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;transition:color .45s}
.work:hover .work__num{color:var(--orange)}
.work h3{margin-top:auto;font-size:clamp(20px,1.7vw,24px);font-weight:400;letter-spacing:-.03em;line-height:1.15}
.work p{margin-top:10px;font-size:14px;line-height:1.5;color:#6A7488;transition:color .45s}
.work:hover p{color:rgba(255,255,255,.7)}

/* на действующей станции */
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:clamp(40px,5vw,64px)}
.pillar{position:relative;padding-top:24px}
.pillar::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.14);transform-origin:left}
.js .pillar::before{transform:scaleX(0);transition:transform 1.4s var(--ease) var(--d,0s)}
.js .pillar.is-in::before{transform:none}
.pillar svg{display:block;width:24px;height:24px;color:var(--orange)}
.pillar b{display:block;margin-top:20px;font-size:22px;font-weight:400;letter-spacing:-.025em}
.pillar p{margin-top:8px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.6)}
.dlist--page{margin-top:clamp(56px,6vw,90px)}
.ibtn--go svg{transform:rotate(-45deg);transition:transform .45s var(--ease)}
.drow--zip:hover .ibtn--go{transform:none}
.drow--zip:hover .ibtn--go svg{transform:none}

/* как работаем: линия заполняется по мере прокрутки */
.flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(32px,6vw,110px)}
.flow__head{position:sticky;top:120px;align-self:start}
.flow__head .statement{margin-top:22px}
.flow__head .btn{margin-top:32px}
.tl{position:relative;list-style:none;padding-left:52px}
.tl::before,.tl::after{content:"";position:absolute;left:11px;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--line)}
.tl::after{background:var(--orange);transform-origin:top;transform:scaleY(var(--tl,0))}
.tl__step{position:relative;padding-bottom:clamp(40px,4.4vw,64px)}
.tl__step:last-child{padding-bottom:0}
.tl__step::before{content:"";position:absolute;left:-48px;top:5px;z-index:1;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid #C5CCD8;transition:border-color .4s,background .4s,transform .5s var(--ease)}
.tl__step.is-done::before{border-color:var(--orange);background:var(--orange);transform:scale(1.15)}
.tl__num{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.tl__step h3{margin-top:6px;font-size:clamp(24px,2.2vw,34px);font-weight:400;letter-spacing:-.035em;line-height:1.1;color:#9AA3B5;transition:color .5s}
.tl__step.is-done h3{color:var(--ink)}
.tl__step p{margin-top:10px;max-width:460px;font-size:15px;line-height:1.55;color:#6A7488}

/* полный список работ */
.rwrap{margin-top:clamp(64px,7vw,110px)}
.rtitle{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:18px}
.rtitle h3{font-size:clamp(24px,2.2vw,32px);font-weight:400;letter-spacing:-.035em}
.rtitle span{font-size:14px;color:var(--muted)}
.rrow{display:grid;grid-template-columns:72px minmax(0,2.3fr) minmax(0,.9fr) minmax(0,1.3fr);gap:20px;align-items:baseline;padding:17px 0;border-top:1px solid var(--line);font-size:14px;color:#6A7488}
.rrow:last-child{border-bottom:1px solid var(--line)}
.rrow b{font-weight:400;font-size:16px;letter-spacing:-.01em;color:var(--ink)}
.rrow__y{font-variant-numeric:tabular-nums}
.rrow--head{padding:0 0 12px;border-top:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rlist:not(.is-open) .rrow:nth-child(n+10){display:none}
.rmore{margin-top:26px}
.rmore i svg{transition:transform .45s var(--ease)}
.rlist.is-open + .rmore i svg{transform:rotate(180deg)}

/* вопросы и ответы */
.faq{margin-top:clamp(32px,4vw,48px)}
.faq__item{border-top:1px solid var(--line)}
.faq__item:last-child{border-bottom:1px solid var(--line)}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:24px 0;font-size:clamp(19px,1.7vw,24px);letter-spacing:-.025em;line-height:1.25;text-align:left;transition:color .2s}
.faq__q i{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--card);transition:background .3s,color .3s,transform .5s var(--ease)}
.faq__q i svg{width:16px;height:16px}
.faq__q:hover i{background:var(--navy);color:#fff}
.faq__item.is-open .faq__q i{transform:rotate(45deg);background:var(--navy);color:#fff}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.faq__a > div{overflow:hidden}
.faq__a p{max-width:720px;padding:0 64px 26px 0;font-size:16px;line-height:1.6;color:#5D677C}
.faq__item.is-open .faq__a{grid-template-rows:1fr}

.section--last{padding-bottom:clamp(90px,10vw,140px)}
.dirs--related{margin-top:clamp(36px,4vw,56px)}

@media (max-width:1020px){
  .works{grid-template-columns:1fr 1fr}
  .pillars{grid-template-columns:1fr 1fr;gap:28px 24px}
  .flow{grid-template-columns:1fr}
  .flow__head{position:static}
  .rrow{grid-template-columns:60px minmax(0,1fr);row-gap:4px}
  .rrow > :nth-child(3),.rrow > :nth-child(4){grid-column:2}
  .rrow--head{display:none}
}
@media (max-width:720px){
  .hero--page{height:auto;min-height:max(640px,100svh)}
  .hero--page .hero__in{display:flex;flex-direction:column;justify-content:flex-end;min-height:inherit;padding-top:140px;padding-bottom:32px}
  .hero--page .hero__bottom{position:relative;left:auto;right:auto;bottom:auto}
  .hero--page h1{font-size:40px}
  .hero--page .hero__lead{font-size:14px}
  .crumbs{top:84px;font-size:12px}
  .hero__tag{margin-bottom:16px;font-size:12px}
  .hero__phone{display:none}
  .works{grid-template-columns:1fr;gap:8px}
  .work{min-height:0;padding:20px}
  .work h3{margin-top:18px}
  .pillars{grid-template-columns:1fr;gap:24px}
  .tl{padding-left:40px}
  .tl::before,.tl::after{left:7px}
  .tl__step::before{left:-40px}
  .rrow{grid-template-columns:48px minmax(0,1fr);gap:4px 12px;font-size:13px}
  .rrow b{font-size:15px}
  .faq__q{font-size:18px;padding:20px 0}
  .faq__q i{width:38px;height:38px}
  .faq__a p{padding-right:0;font-size:15px}
}

/* виды работ: список слева, закреплённая карточка с фото справа */
.wx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.wx__list{list-style:none}
.wx__item{position:relative;display:flex;align-items:baseline;gap:18px;padding:clamp(16px,2.4vh,24px) 0;cursor:pointer}
.wx__item::before,.wx__item:last-child::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}
.wx__item:last-child::after{top:auto;bottom:0}
.wx__num{flex:none;width:28px;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;transition:color .4s}
.wx__t{font-size:clamp(28px,3vw,46px);line-height:1.05;letter-spacing:-.045em;color:#BAC2D0;transition:color .45s ease,transform .6s var(--ease)}
@media (hover:hover){.wx__item:hover .wx__t{color:#6A7488}}
.wx__item.is-on .wx__t{color:var(--ink);transform:translateX(10px)}
.wx__item.is-on .wx__num{color:var(--orange)}
.wx__stage{position:sticky;top:110px;height:min(70vh,600px);border-radius:28px;overflow:hidden;background:#0B1733;color:#fff;isolation:isolate}
.wx__stage::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,13,32,.88) 0%,rgba(5,13,32,.25) 55%,rgba(5,13,32,.1) 100%)}
.wx__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12);transition:opacity .8s ease,transform 1.6s var(--ease)}
.wx__img.is-on{opacity:1;transform:none}
.wx__tag{position:absolute;top:24px;right:24px;font-size:13px;font-weight:500;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.wx__panel{position:absolute;left:clamp(22px,2.6vw,36px);right:clamp(22px,2.6vw,36px);bottom:clamp(22px,2.6vw,34px);opacity:0;transform:translate3d(0,22px,0);transition:opacity .35s ease,transform .5s var(--ease);pointer-events:none}
.wx__panel.is-on{opacity:1;transform:none;transition:opacity .7s ease .15s,transform .9s var(--ease) .15s}
.wx__count{display:block;font-size:13px;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums}
.wx__desc{margin-top:12px;max-width:520px;font-size:clamp(22px,2.1vw,32px);line-height:1.18;letter-spacing:-.035em}
.wx__where{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:13px;font-weight:500;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.wx__where svg{width:14px;height:14px}

/* на действующей станции: тёмный блок с фото станции и стеклянной панелью */
.dark--photo{position:relative;overflow:hidden;isolation:isolate}
.dark--photo::before{content:"";position:absolute;inset:0;z-index:-2;background:url(img/hero-steam.jpg) 50% 30%/cover;filter:grayscale(1) contrast(1.1);opacity:.22}
.dark--photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,14,34,.55) 0%,#060E22 70%)}
.pfacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(40px,5vw,64px);padding:8px;border-radius:28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2)}
.pfact{position:relative;padding:clamp(20px,2.2vw,30px);border-radius:22px;transition:background .35s}
.pfact:hover{background:rgba(255,255,255,.07)}
.pfact + .pfact::before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:1px;background:rgba(255,255,255,.12)}
.pfact:hover::before,.pfact:hover + .pfact::before{opacity:0}
.pfact__ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--orange);margin-bottom:clamp(40px,4vw,64px)}
.pfact__ic svg{width:19px;height:19px}
.pfact b{display:block;font-size:clamp(20px,1.8vw,26px);font-weight:400;letter-spacing:-.03em}
.pfact span{display:block;margin-top:8px;font-size:14px;color:rgba(255,255,255,.6)}

@media (max-width:1020px){
  .wx{grid-template-columns:1fr;gap:20px}
  .wx__stage{position:relative;top:0;order:-1;height:clamp(300px,60vw,460px)}
  .pfacts{grid-template-columns:1fr 1fr}
  .pfact:nth-child(3)::before{display:none}
}
@media (max-width:720px){
  .wx__t{font-size:26px}
  .wx__item{padding:14px 0}
  .wx__desc{font-size:21px}
  .wx__tag{top:16px;right:16px;font-size:12px}
  .pfacts{grid-template-columns:1fr;padding:4px}
  .pfact{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center;padding:16px}
  .pfact__ic{grid-row:1/3;margin:0}
  .pfact + .pfact::before{left:16px;right:16px;top:0;bottom:auto;width:auto;height:1px}
  .pfact:nth-child(3)::before{display:block}
  .pfact span{margin-top:2px}
}

.scard__link{margin-top:24px}

/* =========================================================
   Страницы объектов
   ========================================================= */
/* первый экран кейса: заголовок в две строки */
.hero--case h1{font-size:clamp(40px,5.2vw,84px)}
.hero--case .hero__text{max-width:none}
/* заглушка для данных, которые ещё не прислал клиент */
.tbd{color:var(--muted) !important;font-style:normal}
.tbd::before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;border-radius:50%;background:var(--orange);vertical-align:.12em}

/* паспорт объекта */
.passport{margin-top:clamp(32px,4vw,48px)}
.passport > div{position:relative;display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1.4fr);gap:20px;align-items:baseline;padding:18px 0}
.passport > div::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}
.passport > div:last-child{border-bottom:1px solid var(--line)}
.passport dt{font-size:15px;color:var(--muted)}
.passport dd{font-size:clamp(18px,1.5vw,21px);letter-spacing:-.02em;line-height:1.3}

/* задача и условия */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.duo__card{display:flex;flex-direction:column;min-height:clamp(320px,34vw,440px);padding:clamp(24px,3vw,44px);border-radius:28px;background:var(--card)}
.duo__card--dark{background:var(--navy);color:#fff}
.duo__num{font-size:13px;color:var(--orange);font-variant-numeric:tabular-nums}
.duo__card h3{margin-top:auto;font-size:clamp(34px,4vw,60px);font-weight:400;letter-spacing:-.05em;line-height:1}
.duo__card p{margin-top:18px;max-width:520px;font-size:clamp(16px,1.3vw,18px);line-height:1.55;color:#5D677C}
.duo__card--dark p{color:rgba(255,255,255,.72)}

/* этапы по годам: контурный год заливается при появлении */
.chron{margin-top:clamp(40px,5vw,64px)}
.chron__row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(24px,4vw,64px);align-items:start;padding:clamp(28px,3.4vw,48px) 0}
.chron__row::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}
.chron__row:last-child{border-bottom:1px solid var(--line)}
.chron__year{font-size:clamp(84px,12vw,190px);font-weight:500;line-height:.82;letter-spacing:-.065em;color:transparent;-webkit-text-stroke:1.5px #C5CCD8;transition:color 1.1s ease .2s,-webkit-text-stroke-color 1.1s ease .2s}
.chron__row.is-in .chron__year{color:var(--ink);-webkit-text-stroke-color:var(--ink)}
.chron__row:last-child.is-in .chron__year{color:var(--orange);-webkit-text-stroke-color:var(--orange)}
.chron__body h3{font-size:clamp(24px,2.3vw,34px);font-weight:400;letter-spacing:-.035em;line-height:1.1}
.chron__body p{margin-top:14px;max-width:560px;font-size:16px;line-height:1.6;color:#5D677C}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.chips li{font-size:13px;padding:7px 13px;border-radius:999px;background:var(--card)}

/* фото с объекта */
.gal{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;margin-top:clamp(40px,5vw,64px)}
.gal__item{position:relative;display:block;height:clamp(380px,42vw,560px);border-radius:24px;overflow:hidden;background:var(--card);cursor:zoom-in;text-align:left}
.gal__item img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gal__item:hover img{transform:scale(1.05)}
.gal__item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,13,32,.6),rgba(5,13,32,0) 40%);pointer-events:none}
.gal__cap{position:absolute;left:20px;bottom:18px;z-index:1;font-size:14px;font-weight:500;color:#fff}
.gal__item--tbd{display:flex;flex-direction:column;justify-content:flex-end;padding:26px;cursor:default}
.gal__item--tbd::after{display:none}
.gal__item--tbd i{display:grid;place-items:center;width:52px;height:52px;margin-bottom:auto;border-radius:50%;background:#fff;color:var(--muted)}
.gal__item--tbd i svg{width:20px;height:20px}
.gal__item--tbd b{font-size:22px;font-weight:400;letter-spacing:-.03em}
.gal__item--tbd span{margin-top:8px;font-size:14px;line-height:1.5;color:var(--muted)}

/* отзыв заказчика */
.review{margin:clamp(48px,5vw,72px) 0 0;max-width:900px}
.review__mark{display:block;font-size:110px;line-height:.6;color:var(--orange)}
.review blockquote{margin-top:10px;font-size:clamp(22px,2.2vw,32px);line-height:1.3;letter-spacing:-.03em}
.review .tbd{color:rgba(255,255,255,.5) !important}
.review figcaption{margin-top:18px;font-size:14px;color:rgba(255,255,255,.5)}

/* три карточки других объектов */
.cases--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cases--3 .case{grid-column:auto;min-height:440px}
#more{padding-bottom:0}

@media (max-width:1020px){
  .duo{grid-template-columns:1fr}
  .chron__row{grid-template-columns:1fr;gap:14px}
  .gal{grid-template-columns:1fr 1fr}
  .gal__item--wide{grid-column:1/-1}
  .cases--3{grid-template-columns:1fr}
  .cases--3 .case{min-height:380px}
}
@media (max-width:720px){
  .passport > div{grid-template-columns:1fr;gap:4px;padding:14px 0}
  .duo__card{min-height:300px}
  .chron__year{font-size:84px}
  .gal{grid-template-columns:1fr}
  .gal__item{height:420px}
  .gal__item--tbd{height:240px}
}

/* =========================================================
   Каталоги: услуги и объекты
   ========================================================= */
/* кому помогаем */
.aud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:clamp(40px,5vw,64px)}
.aud__card{display:flex;flex-direction:column;min-height:420px;padding:clamp(22px,2.2vw,30px);border-radius:24px;background:var(--card)}
.aud__card:first-child{background:var(--navy);color:#fff}
.aud__num{font-size:13px;color:var(--orange);font-variant-numeric:tabular-nums}
.aud__card h3{margin-top:auto;font-size:clamp(24px,2vw,30px);font-weight:400;letter-spacing:-.035em;line-height:1.08}
.aud__card p{margin-top:12px;font-size:15px;line-height:1.5;color:#5D677C}
.aud__card:first-child p{color:rgba(255,255,255,.66)}
.aud__card ul{list-style:none;margin-top:26px}
.aud__card li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid rgba(13,24,48,.1);font-size:15px;font-weight:500;transition:color .25s}
.aud__card:first-child li a{border-color:rgba(255,255,255,.14)}
.aud__card li a svg{flex:none;width:14px;height:14px;transform:rotate(-45deg);transition:transform .4s var(--ease)}
.aud__card li a:hover{color:var(--orange)}
.aud__card li a:hover svg{transform:none}

/* направления по группам: заголовок группы держится слева */
.sgroups{margin-top:clamp(48px,6vw,80px)}
.sgroup{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:40px;padding:clamp(36px,4vw,56px) 0;border-top:1px solid var(--line)}
.sgroup:first-child{border-top:0;padding-top:0}
.sgroup__head{position:sticky;top:110px;align-self:start}
.sgroup__n{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.sgroup__head h2{margin-top:14px;font-size:clamp(30px,2.9vw,44px);font-weight:400;letter-spacing:-.05em;line-height:1}
.sgroup__head p{margin-top:14px;max-width:260px;font-size:15px;line-height:1.5;color:#6A7488}
.sgroup__list{display:grid;gap:14px}
.svc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,2.4vw,36px);padding:12px;border-radius:28px;background:var(--card);scroll-margin-top:100px}
.svc__media{position:relative;display:block;min-height:350px;border-radius:20px;overflow:hidden;background:#1a2440}
.svc__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.svc:hover .svc__media img{transform:scale(1.05)}
.svc__num{position:absolute;left:16px;top:16px;font-size:13px;font-weight:500;padding:7px 12px;border-radius:999px;color:#fff;background:rgba(6,14,34,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-variant-numeric:tabular-nums}
.svc__body{display:flex;flex-direction:column;padding:clamp(10px,1.4vw,20px) clamp(8px,1vw,16px) clamp(8px,1vw,12px) 0}
.svc__title{font-size:clamp(24px,2.1vw,32px);font-weight:400;letter-spacing:-.04em;line-height:1.06}
.svc__title a{transition:color .25s}
.svc__title a:hover{color:var(--navy)}
.svc__desc{margin-top:14px;max-width:470px;font-size:15px;line-height:1.55;color:#5D677C}
.svc .chips{margin-top:18px}
.svc .chips li{background:#fff}
.svc__ex{list-style:none;display:grid;gap:9px;margin:22px 0 30px}
.svc__ex li{display:flex;align-items:center;gap:10px;font-size:14px}
.svc__ex svg{flex:none;width:14px;height:14px;color:var(--orange)}
.svc__btn{margin-top:auto;align-self:flex-start}

/* фильтр-вкладки */
.ftabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(36px,4vw,56px)}
.ftab{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 18px;border-radius:999px;background:var(--card);font-size:15px;font-weight:500;color:var(--ink);white-space:nowrap;transition:background .25s,color .25s}
.ftab sup{font-size:11px;line-height:1;color:var(--muted);transform:translateY(-5px);font-variant-numeric:tabular-nums;transition:color .25s}
.ftab:hover{background:#DDE2EA}
.ftab.is-on{background:var(--navy);color:#fff}
.ftab.is-on sup{color:var(--orange)}
.is-flt{animation:fltin .7s var(--ease) both}
@keyframes fltin{from{opacity:0;transform:translate3d(0,16px,0)}}

/* ключевые объекты */
.kgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.kcase{min-height:470px}
.kcase[hidden]{display:none}
.kcase .case__title{font-size:clamp(22px,1.75vw,27px)}
.kcase--page .case__go{opacity:1;transform:none}

/* география */
.geo{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center;margin-top:clamp(40px,5vw,64px)}
.geo__map{position:relative;aspect-ratio:1792/987}
.geo__map img{display:block;width:100%}
.gdot{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(237,125,49,.18)}
.js .gdot{opacity:0;transform:scale(0);transition:opacity .4s ease,transform .7s var(--ease)}
.js .geo__map.is-in .gdot{opacity:1;transform:none}
.geo__map.is-in .gdot:nth-of-type(2n){transition-delay:.25s}
.geo__map.is-in .gdot:nth-of-type(3n){transition-delay:.45s}
.gdot--main{width:14px;height:14px;margin:-7px 0 0 -7px;box-shadow:0 0 0 6px rgba(237,125,49,.22)}
.gdot--main::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid var(--orange);animation:gpulse 2.4s ease-out infinite}
@keyframes gpulse{from{transform:scale(.3);opacity:1}to{transform:scale(1.6);opacity:0}}
.geo__head{display:flex;justify-content:space-between;padding-bottom:12px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.geo__top{list-style:none}
.geo__top li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid rgba(255,255,255,.12);font-size:clamp(22px,2vw,30px);letter-spacing:-.03em}
.geo__top b{font-weight:400;font-size:clamp(34px,3.4vw,52px);letter-spacing:-.05em;line-height:.9;color:var(--orange);font-variant-numeric:tabular-nums}
.geo__more{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:14px;color:rgba(255,255,255,.55)}
.geo__chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.geo__chips li{font-size:13px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.85)}

/* референс-лист: вкладки, поиск, список */
.rtools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:clamp(36px,4vw,56px) 0 30px}
.ftabs--inline{margin-top:0}
.rsearch{display:flex;align-items:center;gap:10px;width:min(340px,100%);height:44px;padding:0 18px;border-radius:999px;background:var(--card);transition:box-shadow .25s}
.rsearch svg{flex:none;width:16px;height:16px;color:var(--muted)}
.rsearch input{flex:1;min-width:0;height:100%;border:0;background:none;font:inherit;font-size:15px;color:var(--ink);outline:none}
.rsearch input::placeholder{color:var(--muted)}
.rsearch:focus-within{box-shadow:0 0 0 2px var(--navy)}
.flist .rrow[hidden],.fempty[hidden],.rmore[hidden]{display:none}
.fempty{padding:30px 0;border-top:1px solid var(--line);font-size:16px;color:var(--muted)}
.flist .rrow:not([hidden]) ~ .fempty{border-top:0}

@media (max-width:1180px){
  .aud{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aud__card{min-height:340px}
}
@media (max-width:1020px){
  .sgroup{grid-template-columns:1fr;gap:26px}
  .sgroup__head{position:static}
  .kgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .geo{grid-template-columns:1fr}
}
@media (max-width:720px){
  .aud{grid-template-columns:1fr}
  .aud__card{min-height:0}
  .aud__card h3{margin-top:48px}
  .svc{grid-template-columns:1fr;padding:10px}
  .svc__media{min-height:230px}
  .svc__body{padding:8px 8px 10px}
  .kgrid{grid-template-columns:1fr}
  .kcase{min-height:420px}
  .ftabs{flex-wrap:nowrap;overflow-x:auto;margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1);padding:0 var(--pad);scrollbar-width:none}
  .ftabs::-webkit-scrollbar{display:none}
  .ftab{flex:none}
  .rtools{display:block}
  .rsearch{width:100%;margin-top:12px}
}

/* =========================================================
   Разделы: о компании, документы, контакты
   ========================================================= */
/* общий тёмный первый экран без фото */
.ahero,.chero{position:relative;background:#060E22;color:#fff;border-radius:0 0 var(--hr,0px) var(--hr,0px);overflow:hidden;isolation:isolate}
.ahero__in,.chero__in{position:relative;max-width:var(--max);margin:0 auto;padding:clamp(170px,22vh,230px) var(--pad) clamp(40px,5vw,64px)}
.ahero h1,.chero__h{font-weight:400;letter-spacing:-.05em;line-height:.95}
.ahero h1 em,.chero__h em{font-style:normal;color:rgba(255,255,255,.4)}

/* ---------- О компании ---------- */
.ahero h1{max-width:1180px;font-size:clamp(46px,7.4vw,124px)}
.ahero__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;margin-top:clamp(36px,5vw,64px)}
.ahero__lead{max-width:560px;font-size:17px;line-height:1.5;color:rgba(255,255,255,.7)}
.yline{display:grid;grid-template-columns:auto clamp(80px,14vw,220px) auto;align-items:center;gap:18px;font-size:clamp(28px,3vw,44px);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.yline i{position:relative;height:1px;background:rgba(255,255,255,.25);overflow:hidden}
.yline i::after{content:"";position:absolute;inset:0;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform 2.2s var(--ease) 1.1s}
.yline.is-in i::after{transform:none}
.yline small{grid-column:1/-1;font-size:13px;letter-spacing:0;color:rgba(255,255,255,.5)}
/* фото раскрывается от рамки до полной ширины, пока страницу крутят */
.xreveal{padding:0 0 clamp(40px,5vw,64px)}
.xreveal__frame{height:min(78svh,760px);margin:0 auto;overflow:hidden;clip-path:inset(0 calc((1 - var(--p,0)) * 18%) round calc(28px + (1 - var(--p,0)) * 12px));will-change:clip-path}
.xreveal__frame img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;filter:grayscale(calc(1 - var(--p,0))) contrast(1.04);transform:scale(calc(1.18 - var(--p,0) * .16))}

/* слово меняется по прокрутке */
.kin{position:relative;height:calc(var(--n) * 85svh);margin-top:clamp(90px,11vw,150px)}
.kin__sticky{position:sticky;top:0;height:100svh;overflow:hidden;color:#fff;background:#060E22;isolation:isolate}
.kin__bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);opacity:0;transform:scale(1.12);transition:opacity 1s ease,transform 2.4s var(--ease)}
.kin__bg.is-on{opacity:.55;transform:scale(1)}
.kin__sticky::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,14,34,.92) 0%,rgba(6,14,34,.55) 60%,rgba(6,14,34,.35) 100%)}
.kin__in{position:relative;max-width:var(--max);height:100%;margin:0 auto;padding:clamp(48px,7vw,96px) var(--pad);display:flex;flex-direction:column;justify-content:space-between}
.kin__text{font-size:clamp(46px,7.6vw,128px);line-height:1;letter-spacing:-.055em}
.kin__lead{display:block;color:rgba(255,255,255,.45)}
.kin__words{display:grid;overflow:hidden;padding-bottom:.08em}
.kin__w{grid-area:1/1;transform:translate3d(0,105%,0);transition:transform .9s var(--ease)}
.kin__w.is-on{transform:none}
.kin__w.is-out{transform:translate3d(0,-105%,0)}
.kin__foot{display:flex;align-items:center;justify-content:space-between;gap:20px}
.kin__count{font-size:14px;color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}
.kin__count b{font-weight:400;color:#fff}
.kin__dots{display:flex;gap:8px}
.kin__dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.22);transition:background .4s,transform .4s}
.kin__dots i.is-on{background:var(--orange);transform:scale(1.25)}

/* история: год как механический счётчик */
.hist{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(32px,6vw,110px);margin-top:clamp(40px,5vw,64px)}
.hist__aside{position:sticky;top:120px;align-self:start}
.odo{display:flex;font-size:clamp(110px,14vw,210px);font-weight:500;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums}
.odo__d{display:block;height:1.04em;margin-right:-.035em;clip-path:inset(0 -40%)}
.odo__s{display:flex;flex-direction:column;transform:translate3d(0,calc(var(--v,0) * -1.04em),0);transition:transform .75s cubic-bezier(.3,.9,.3,1) calc(var(--j,0) * 45ms);will-change:transform}
.odo__s span{display:block;height:1.04em;line-height:1.04}
.odo__d:last-child{color:var(--orange)}
.hist__list{list-style:none;position:relative}
.hist__ev{position:relative;padding:28px 0 28px 34px;border-top:1px solid var(--line);opacity:.32;transition:opacity .5s}
.hist__ev:last-child{border-bottom:1px solid var(--line)}
.hist__ev::before{content:"";position:absolute;left:0;top:37px;width:12px;height:12px;border-radius:50%;border:2px solid var(--line);background:var(--bg);transition:border-color .4s,background .4s}
.hist__ev.is-on{opacity:1}
.hist__ev.is-on::before{border-color:var(--orange);background:var(--orange)}
.hist__y{display:none;font-size:13px;color:var(--orange);font-variant-numeric:tabular-nums}
.hist__ev h3{font-size:clamp(24px,2.2vw,32px);font-weight:400;letter-spacing:-.035em;line-height:1.1}
.hist__ev p{margin-top:10px;max-width:520px;font-size:16px;line-height:1.55;color:#5D677C}

/* принципы: панели раскрываются при наведении */
.prn{display:flex;gap:12px;height:clamp(440px,44vw,560px);margin-top:clamp(40px,5vw,64px)}
.prn__item{position:relative;flex:1;min-width:0;border-radius:24px;overflow:hidden;color:#fff;background:#1a2440;isolation:isolate;cursor:default;outline:none;transition:flex 0.9s var(--ease)}
.prn__item.is-on{flex:2.7}
.prn__item img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.85);transform:scale(1.08);transition:filter .8s ease,transform 1.4s var(--ease)}
.prn__item.is-on img{filter:none;transform:scale(1)}
.prn__item::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,13,32,.88) 0%,rgba(5,13,32,.25) 60%,rgba(5,13,32,.1) 100%)}
.prn__num{position:absolute;left:24px;top:22px;font-size:13px;font-weight:500;color:var(--orange);font-variant-numeric:tabular-nums}
.prn__body{position:absolute;left:24px;right:24px;bottom:24px}
.prn__item h3{font-size:clamp(24px,2.3vw,36px);font-weight:400;letter-spacing:-.045em;line-height:1;white-space:nowrap}
.prn__item p{max-width:380px;margin-top:12px;font-size:15px;line-height:1.5;color:rgba(255,255,255,.78);opacity:0;transform:translate3d(0,14px,0);transition:opacity .35s ease,transform .5s var(--ease)}
.prn__item.is-on p{opacity:1;transform:none;transition-delay:.3s,.3s}

/* своя техника: итог и пять карточек, квадраты появляются по одному */
.fleet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(40px,5vw,64px)}
.fleet__total,.fcard{display:flex;flex-direction:column;min-height:clamp(240px,20vw,290px);padding:clamp(22px,2.2vw,30px);border-radius:24px}
.fleet__total{justify-content:space-between;background:var(--navy);color:#fff}
.fleet__num{font-size:clamp(96px,10vw,150px);font-weight:500;line-height:.82;letter-spacing:-.07em;font-variant-numeric:tabular-nums}
.fleet__total span{font-size:15px;line-height:1.4;color:rgba(255,255,255,.7)}
.fcard{background:var(--card)}
.fcard__dots{display:flex;flex-wrap:wrap;gap:6px}
.fcard__dots i{width:clamp(20px,1.9vw,26px);height:clamp(20px,1.9vw,26px);border-radius:7px;background:var(--navy);transform:scale(0);transition:transform .6s var(--ease) calc(var(--d,0s) + .35s + var(--k) * .09s),background .3s}
.js .fcard.is-in .fcard__dots i,html:not(.js) .fcard__dots i{transform:none}
.fcard:hover .fcard__dots i{background:var(--orange)}
.fcard b{margin-top:auto;font-size:clamp(46px,4.4vw,64px);font-weight:400;line-height:.9;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.fcard__t{margin-top:10px;font-size:clamp(17px,1.4vw,20px);letter-spacing:-.02em}

/* заказчики сеткой */
.lgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:clamp(40px,5vw,64px)}
.lgrid__tile{display:grid;place-items:center;height:clamp(130px,12vw,170px);padding:24px 30px;border-radius:22px;background:#fff;transition:transform .5s var(--ease),box-shadow .5s}
.lgrid__tile img{max-width:min(170px,80%);max-height:64px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .4s,opacity .4s}
.lgrid__tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(13,24,48,.35)}
.lgrid__tile:hover img{filter:none;opacity:1}
.lgrid__more{position:relative;place-items:end start;align-content:end;background:var(--navy);color:#fff}
.lgrid__more b{font-size:clamp(38px,3.6vw,54px);font-weight:400;letter-spacing:-.05em;line-height:1}
.lgrid__more span{margin-top:6px;font-size:14px;color:rgba(255,255,255,.7)}
.lgrid__more > i{position:absolute;right:20px;top:20px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--navy)}
.lgrid__more > i svg{width:15px;height:15px;transform:rotate(-45deg);transition:transform .45s var(--ease)}
.lgrid__more:hover > i svg{transform:none}

/* ---------- Документы ---------- */
/* первый экран: лист на бланке компании, шапка над ним тёмная */
body:has(.dochero) .header{color:var(--ink)}
body:has(.dochero) .header .logo--light{display:none}
body:has(.dochero) .header .logo--dark{display:block}
body:has(.dochero) .hmenu{border-color:var(--line);color:var(--ink)}
.dochero{position:relative;padding:clamp(150px,19vh,190px) 0 0}
.dochero__in{position:relative;max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.dochero .crumbs{top:calc(clamp(150px,19vh,190px) * -1 + clamp(100px,12vh,136px));color:var(--muted)}
.dochero .crumbs a:hover{color:var(--ink)}
.dochero .crumbs span[aria-current]{color:var(--ink)}
.blank{position:relative;padding:clamp(26px,3.6vw,56px);border-radius:var(--r-xl);background:#fff;box-shadow:0 1px 0 rgba(13,24,48,.04),0 40px 80px -48px rgba(13,24,48,.28);opacity:0;transform:translate3d(0,60px,0);transition:opacity .9s ease .25s,transform 1.4s var(--ease) .25s}
.is-loaded .blank{opacity:1;transform:none}
/* линии бланка прорисовываются слева направо */
.blank__head,.blank__list li,.blank__foot{position:relative}
.blank__head::after,.blank__list li::before,.blank__foot::before{content:"";position:absolute;left:0;right:0;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease)}
.blank__head::after{bottom:0;transition-delay:.7s}
.blank__list li::before{top:0;transition-delay:calc(1s + var(--r) * .12s)}
.blank__foot::before{top:0;transition-delay:1.5s}
.is-loaded .blank__head::after,.is-loaded .blank__list li::before,.is-loaded .blank__foot::before{transform:none}
.blank__head{display:flex;justify-content:space-between;gap:16px;padding-bottom:18px;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.blank__main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end;gap:clamp(24px,4vw,64px);padding:clamp(48px,6vw,88px) 0 clamp(36px,4vw,56px)}
.blank h1{font-size:clamp(44px,6.6vw,108px);font-weight:400;line-height:.95;letter-spacing:-.055em}
.blank h1 em{font-style:normal;color:#B5BDCB}
.blank__lead{max-width:400px;font-size:16px;line-height:1.55;color:#5D677C}
.blank__list{list-style:none}
.blank__list a{display:grid;grid-template-columns:44px minmax(0,1fr) auto 44px;align-items:center;gap:20px;padding:20px 0;opacity:0;transform:translate3d(0,14px,0);transition:opacity .7s ease calc(1.05s + var(--r) * .12s),transform .9s var(--ease) calc(1.05s + var(--r) * .12s)}
.is-loaded .blank__list a{opacity:1;transform:none}
.blank__n{font-size:13px;color:var(--orange);font-variant-numeric:tabular-nums}
.blank__t b{display:block;font-size:clamp(19px,1.6vw,23px);font-weight:400;letter-spacing:-.025em;transition:transform .5s var(--ease)}
.blank__t span{display:block;margin-top:3px;font-size:13px;color:var(--muted)}
.blank__no{font-size:15px;color:#5D677C;font-variant-numeric:tabular-nums}
.blank__go{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--card);transition:background .3s,color .3s}
.blank__go svg{width:14px;height:14px;transform:rotate(90deg);transition:transform .45s var(--ease)}
.blank__list a:hover .blank__t b{transform:translateX(6px)}
.blank__list a:hover .blank__go{background:var(--navy);color:#fff}
.blank__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:clamp(22px,2.4vw,32px);opacity:0;transition:opacity .8s ease 1.6s}
.is-loaded .blank__foot{opacity:1}
.blank__req{font-size:15px;font-weight:500;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;transition:text-decoration-color .25s}
.blank__req:hover{text-decoration-color:var(--orange)}

/* реестр */
.reg{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);margin-top:clamp(40px,5vw,64px)}
.reg__stage{position:sticky;top:110px;align-self:start;aspect-ratio:.72;max-height:calc(100svh - 150px);border-radius:24px;overflow:hidden;background:var(--card)}
.reg__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:clamp(18px,2vw,30px);opacity:0;transform:translate3d(0,24px,0) rotate(-2deg);transition:opacity .5s ease,transform .8s var(--ease)}
.reg__img.is-on{opacity:1;transform:none}
.reg__item{border-top:1px solid var(--line)}
.reg__item:last-child{border-bottom:1px solid var(--line)}
.reg__head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;padding:26px 0;text-align:left}
.reg__num{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;transition:color .3s}
.reg__t b{display:block;font-size:clamp(22px,2vw,30px);font-weight:400;letter-spacing:-.035em;line-height:1.1}
.reg__t span{display:block;margin-top:6px;font-size:14px;color:var(--muted)}
.reg__head i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--card);transition:transform .45s var(--ease),background .3s,color .3s}
.reg__head i svg{width:16px;height:16px}
.reg__head:hover i{background:var(--navy);color:#fff}
.reg__item.is-open .reg__num{color:var(--orange)}
.reg__item.is-open .reg__head i{transform:rotate(45deg);background:var(--navy);color:#fff}
.reg__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.reg__body > div{overflow:hidden;padding-left:52px}
.reg__item.is-open .reg__body{grid-template-rows:1fr}
.reg__dl > div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.reg__dl dt{font-size:14px;color:var(--muted)}
.reg__dl dd{display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.5}
.reg__no{font-size:17px;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.reg__act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:18px 0 30px}
.reg__dl-btn{background:var(--card)}
.reg__kz{font-size:14px;font-weight:500;color:var(--muted);text-decoration:underline;text-underline-offset:4px;transition:color .2s}
.reg__kz:hover{color:var(--ink)}
/* кнопка «скопировать» */
.copy{position:relative;flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--card);color:var(--ink);transition:background .25s,color .25s}
.copy svg{width:15px;height:15px}
.copy:hover{background:var(--navy);color:#fff}
.copy span{position:absolute;left:50%;bottom:calc(100% + 8px);font-size:12px;font-weight:500;white-space:nowrap;padding:6px 10px;border-radius:999px;background:var(--ink);color:#fff;opacity:0;transform:translate3d(-50%,6px,0);pointer-events:none;transition:opacity .25s,transform .35s var(--ease)}
.copy.is-done span{opacity:1;transform:translate3d(-50%,0,0)}
.copy.is-done{background:var(--orange);color:#fff}

/* реквизиты */
.req{position:relative;margin-top:clamp(40px,5vw,64px);padding:clamp(26px,3.4vw,50px);border-radius:var(--r-xl);background:var(--navy);color:#fff;overflow:hidden;isolation:isolate}
.req::before{content:"";position:absolute;right:-8%;bottom:-30%;z-index:-1;width:62%;aspect-ratio:1;background:url(img/kazakhstan-dot-map-dark.png) center/contain no-repeat;opacity:.35}
.req__top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:clamp(26px,3vw,40px)}
.req__top img{height:clamp(42px,4vw,58px);width:auto}
.req__all{position:relative}
.req__done{position:absolute;left:50%;top:calc(100% + 10px);font-size:12px;padding:6px 10px;border-radius:999px;background:var(--orange);color:#fff;opacity:0;transform:translate3d(-50%,-6px,0);transition:opacity .25s,transform .35s var(--ease);pointer-events:none}
.req__all.is-done .req__done{opacity:1;transform:translate3d(-50%,0,0)}
.req__dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,64px)}
.req__dl > div{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);gap:16px;align-items:center;min-height:68px;padding:12px 0;border-top:1px solid rgba(255,255,255,.12)}
.req__dl dt{font-size:14px;color:rgba(255,255,255,.55)}
.req__dl dd{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;line-height:1.4}
.req__dl dd.tbd{justify-content:flex-start;color:rgba(255,255,255,.5) !important}
.req .copy{background:rgba(255,255,255,.1);color:#fff}
.req .copy:hover{background:#fff;color:var(--navy)}

/* нет нужного документа */
.dask{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;padding:clamp(28px,3.6vw,52px);border-radius:var(--r-xl);background:var(--card)}
.dask__t{max-width:760px;font-size:clamp(26px,2.75vw,40px);line-height:1.14;letter-spacing:-.03em}
.dask__t em{font-style:normal;color:var(--muted)}
.dask__act{display:flex;align-items:center;gap:10px}
.dask .chip{height:48px;padding:0 20px;font-size:15px;background:#fff;color:var(--ink)}
.dask .chip:hover{background:var(--navy);color:#fff}

/* ---------- Контакты ---------- */
.chero__in{min-height:max(640px,min(94svh,900px));display:flex;flex-direction:column;justify-content:flex-end}
.chero .hero__tag{align-self:flex-start}
.chero__h{font-size:clamp(30px,3.4vw,52px);letter-spacing:-.04em;line-height:1.05}
.clock{position:absolute;right:var(--pad);top:clamp(100px,12vh,136px);display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(255,255,255,.6)}
.clock b{font-weight:400;color:#fff;font-variant-numeric:tabular-nums}
.clock__dot{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(237,125,49,.2);animation:cblink 2s ease-in-out infinite}
@keyframes cblink{50%{opacity:.35}}
.bigphone{display:inline-flex;align-items:center;flex-wrap:wrap;margin:clamp(14px,2vw,26px) 0 0 -.04em;font-size:clamp(50px,10.4vw,176px);line-height:.95;letter-spacing:-.06em;white-space:nowrap;transition:color .3s}
.bigphone__c{display:inline-block;transform:translate3d(0,40%,0);opacity:0;transition:transform 1s var(--ease) calc(.35s + var(--i) * 40ms),opacity .6s ease calc(.35s + var(--i) * 40ms),color .3s}
.bigphone__sp{display:inline-block;width:.28em}
.is-loaded .bigphone__c{transform:none;opacity:1}
.bigphone > i{display:grid;place-items:center;flex:none;width:.5em;height:.5em;margin-left:.22em;border-radius:50%;background:var(--orange);color:#fff;transform:scale(0) rotate(-90deg);transition:transform .9s var(--ease) 1.1s}
.bigphone > i svg{width:34%;height:34%;transform:rotate(-45deg);transition:transform .45s var(--ease)}
.is-loaded .bigphone > i{transform:none}
.bigphone:hover .bigphone__c{color:var(--orange)}
.bigphone:hover > i svg{transform:none}
.chero__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(32px,4vw,56px);border-top:1px solid rgba(255,255,255,.14)}
.crow{display:flex;flex-direction:column;gap:6px;padding:20px 24px 0 0}
.crow + .crow{padding-left:24px;border-left:1px solid rgba(255,255,255,.14)}
.crow > span{font-size:13px;color:rgba(255,255,255,.5)}
.crow b{display:flex;align-items:center;gap:10px;font-weight:400;font-size:clamp(17px,1.5vw,21px);letter-spacing:-.02em}
a.crow:hover b,.crow b a:hover{color:var(--orange)}
.chero .copy{background:rgba(255,255,255,.1);color:#fff}
.chero .copy:hover{background:#fff;color:var(--navy)}

/* как связаться: круг заливает плитку от иконки */
.ways{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:clamp(40px,5vw,64px)}
.way{position:relative;display:flex;flex-direction:column;min-height:360px;padding:clamp(22px,2.2vw,30px);border-radius:24px;background:var(--card);overflow:hidden;isolation:isolate;transition:color .45s}
.way::before{content:"";position:absolute;left:calc(clamp(22px,2.2vw,30px) + 26px);top:calc(clamp(22px,2.2vw,30px) + 26px);z-index:-1;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--navy);transform:scale(0);transition:transform .8s var(--ease)}
.way:hover::before{transform:scale(18)}
.way:hover{color:#fff}
.way__ic{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--navy);transition:background .45s,color .45s}
.way__ic svg{width:20px;height:20px}
.way:hover .way__ic{background:var(--orange);color:#fff}
.way h3{margin-top:auto;font-size:clamp(22px,1.9vw,28px);font-weight:400;letter-spacing:-.035em;line-height:1.1}
.way p{margin-top:12px;font-size:15px;line-height:1.5;color:#5D677C;transition:color .45s}
.way:hover p{color:rgba(255,255,255,.7)}
.way__cta{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:15px;font-weight:500}
.way__cta svg{width:14px;height:14px;transform:rotate(-45deg);transition:transform .45s var(--ease)}
.way:hover .way__cta svg{transform:none}

/* офис: адрес крупно, строки разъезжаются при прокрутке */
.addr{margin-top:clamp(40px,5vw,64px);overflow:hidden}
.addr__big{display:flex;flex-direction:column;font-size:clamp(56px,10.5vw,180px);line-height:.92;letter-spacing:-.06em;white-space:nowrap}
.addr__l1{align-self:flex-start;transform:translate3d(calc((1 - var(--a,.5)) * 12%),0,0);will-change:transform}
.addr__l2{align-self:flex-end;display:inline-flex;align-items:center;gap:.12em;transform:translate3d(calc((var(--a,.5) - 1) * 40%),0,0);will-change:transform}
.addr__pin{display:grid;place-items:center;width:.62em;height:.62em;border-radius:50%;background:var(--orange);color:#fff}
.addr__pin svg{width:42%;height:42%}
.addr__routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(36px,4vw,56px)}
.route{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-height:170px;padding:clamp(22px,2.2vw,30px);border-radius:24px;background:var(--card);overflow:hidden;isolation:isolate;transition:color .45s}
.route::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--navy);transform:translate3d(0,101%,0);transition:transform .6s var(--ease)}
.route:hover::before{transform:none}
.route:hover{color:#fff}
.route b{font-size:clamp(24px,2.2vw,32px);font-weight:400;letter-spacing:-.04em}
.route span{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:500;white-space:nowrap}
.route svg{width:14px;height:14px;transform:rotate(-45deg);transition:transform .45s var(--ease)}
.route:hover svg{transform:none}
.addr__req{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:22px;font-size:14px;color:var(--muted)}
.addr__req a{color:var(--ink);font-weight:500}
.addr__req a:hover{color:var(--orange)}

@media (max-width:1180px){
  .ways,.lgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .way{min-height:300px}
}
@media (max-width:1020px){
  .ahero__row{grid-template-columns:1fr}
  .hist,.reg{grid-template-columns:1fr}
  .fleet{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fleet__total{grid-column:1/-1}
  .hist__aside{display:none}
  .hist__ev{opacity:1}
  .hist__y{display:block;margin-bottom:6px}
  .reg__stage{display:none}
  .prn{flex-direction:column;height:auto}
  .prn__item,.prn__item.is-on{flex:none;height:260px}
  .prn__item img{filter:none;transform:none}
  .prn__item p{opacity:1;transform:none}
  .blank__main{grid-template-columns:1fr}
  .chero__row{grid-template-columns:1fr}
  .crow + .crow{padding-left:0;border-left:0}
  .crow{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14)}
  .addr__routes{grid-template-columns:1fr}
  .route{min-height:0;gap:14px}
  .route b{font-size:clamp(18px,5.4vw,22px);white-space:nowrap}
  .route span{font-size:14px}
  .req__dl{grid-template-columns:1fr}
}
@media (max-width:720px){
  .ahero__in,.chero__in{padding-top:150px}
  .ahero h1{font-size:clamp(34px,9.6vw,40px)}
  .xreveal__frame{height:58svh}
  .kin__text{font-size:clamp(40px,11vw,60px)}
  .lgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lgrid__tile{height:110px;padding:18px}
  .fleet{grid-template-columns:1fr}
  .fleet__total,.fcard{min-height:200px}
  .dochero{padding-top:130px}
  .dochero .crumbs{top:-30px}
  .blank__head span:last-child{display:none}
  .blank__list a{grid-template-columns:30px minmax(0,1fr) 36px;gap:12px}
  .blank__no{grid-column:2;grid-row:2;font-size:13px}
  .blank__go{grid-column:3;grid-row:1 / span 2;width:36px;height:36px}
  .addr__big{font-size:9.6vw}
  .addr__l1,.addr__l2{transform:none}
  .ways{grid-template-columns:1fr}
  .way{min-height:0}
  .way h3{margin-top:40px}
  .way:hover::before{transform:scale(26)}
  .reg__body > div{padding-left:0}
  .reg__head{grid-template-columns:minmax(0,1fr) auto;gap:14px}
  .reg__num{display:none}
  .reg__t b{font-size:clamp(17px,5vw,19px)}
  .reg__dl > div{grid-template-columns:1fr;gap:4px}
  .req__dl > div{grid-template-columns:1fr;gap:4px}
  .req__top{flex-wrap:wrap}
  .clock{top:100px;right:auto;left:var(--pad);display:none}
  .bigphone{font-size:clamp(40px,12.4vw,60px)}
  .bigphone > i{display:none}
  .dask{display:block}
  .dask__act{margin-top:24px;flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){
  .xreveal__frame{clip-path:none}
  .kin__w,.odo__s,.bigphone__c,.prn__item,.blank,.blank__list a{transition:none}
}

/* =========================================================
   Служебные страницы: политика и 404
   ========================================================= */
/* ссылка на политику в галочке согласия и в подвале */
.consent a{color:inherit;text-decoration:underline;text-decoration-color:rgba(106,116,136,.4);text-underline-offset:3px;transition:text-decoration-color .2s,color .2s}
.consent a:hover{color:var(--ink);text-decoration-color:var(--orange)}
.fmeta__l{display:flex;flex-wrap:wrap;align-items:center;gap:6px 28px}

/* ---------- Политика ---------- */
/* светлый первый экран, шапка над ним тёмная */
body:has(.lhero) .header{color:var(--ink)}
body:has(.lhero) .header .logo--light{display:none}
body:has(.lhero) .header .logo--dark{display:block}
body:has(.lhero) .hmenu{border-color:var(--line);color:var(--ink)}
/* круглая кнопка телефона на телефоне: тёмная обводка на светлом фоне (и на странице документов) */
body:has(.lhero) .header .phone,body:has(.dochero) .header .phone{border-color:var(--line)}
.lhero{position:relative}
.lhero__in{position:relative;max-width:var(--max);margin:0 auto;padding:clamp(170px,22vh,230px) var(--pad) 0}
.lhero .crumbs{color:var(--muted)}
.lhero .crumbs a:hover,.lhero .crumbs span[aria-current]{color:var(--ink)}
.lhero__tag{display:inline-block;margin-bottom:24px;font-size:13px;font-weight:500;padding:8px 14px;border-radius:999px;background:var(--card)}
.lhero h1{max-width:1100px;font-size:clamp(40px,6vw,96px);font-weight:400;line-height:.98;letter-spacing:-.05em}
.lhero h1 em{font-style:normal;color:#B5BDCB}
.lhero__row{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;margin-top:clamp(32px,4vw,56px);padding-top:22px;border-top:1px solid var(--line);font-size:15px;color:#5D677C}
.lhero__print{background:var(--card)}

/* коротко о главном */
.lsum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lsum__i{display:flex;flex-direction:column;min-height:220px;padding:clamp(22px,2.2vw,28px);border-radius:24px;background:#fff}
.lsum__i i{display:grid;place-items:center;width:44px;height:44px;margin-bottom:auto;border-radius:50%;background:var(--card);color:var(--navy)}
.lsum__i i svg{width:17px;height:17px}
.lsum__i b{margin-top:28px;font-size:clamp(19px,1.6vw,22px);font-weight:400;line-height:1.15;letter-spacing:-.03em}
.lsum__i span{margin-top:8px;font-size:14px;line-height:1.45;color:#6A7488}

/* текст: содержание держится слева, активный раздел подсвечен */
.lgl{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:40px}
.lgl__toc{position:sticky;top:110px;align-self:start}
.lgl__toc-t{display:block;margin-bottom:14px;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lgl__toc ol{list-style:none}
.lgl__toc a{display:flex;gap:12px;padding:8px 0;font-size:14px;line-height:1.35;color:#8B94A7;transition:color .25s}
.lgl__toc a span{flex:none;width:22px;font-variant-numeric:tabular-nums;color:inherit}
.lgl__toc a:hover{color:var(--ink)}
.lgl__toc a.is-on{color:var(--ink)}
.lgl__toc a.is-on span{color:var(--orange)}
.lgl__body{max-width:760px}
.lgl__sec{padding:clamp(28px,3vw,40px) 0;border-top:1px solid var(--line);scroll-margin-top:100px}
.lgl__sec:first-child{border-top:0;padding-top:0}
.lgl__sec h2{display:flex;gap:16px;align-items:baseline;font-size:clamp(24px,2.2vw,32px);font-weight:400;letter-spacing:-.035em;line-height:1.15}
.lgl__sec h2 span{flex:none;width:34px;font-size:14px;letter-spacing:0;color:var(--orange);font-variant-numeric:tabular-nums}
.lgl__sec p,.lgl__sec ul,.lgl__dl{margin-top:16px;margin-left:50px;font-size:17px;line-height:1.65;color:#3D475C}
.lgl__sec ul{list-style:none}
.lgl__sec li{position:relative;padding-left:22px}
.lgl__sec li + li{margin-top:6px}
.lgl__sec li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:1.5px;background:var(--orange)}
.lgl__sec a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;transition:text-decoration-color .2s}
.lgl__sec a:hover{text-decoration-color:var(--orange)}
.lgl__dl > div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:10px 0;border-top:1px solid var(--line)}
.lgl__dl > div:last-child{border-bottom:1px solid var(--line)}
.lgl__dl dt{font-size:15px;color:var(--muted)}
.lgl__dl dd{color:var(--ink)}
.lgl__ask{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:clamp(28px,3vw,40px);padding:clamp(22px,2.4vw,32px);border-radius:24px;background:var(--navy);color:#fff}
.lgl__ask p{font-size:15px;color:rgba(255,255,255,.65)}
.lgl__ask a{font-size:clamp(20px,1.8vw,26px);letter-spacing:-.03em;transition:color .2s}
.lgl__ask a:hover{color:var(--orange)}

/* ---------- 404: кран держит «0» над пустым местом ---------- */
.nf{position:relative;min-height:100svh;background:#060E22;color:#fff;overflow:hidden;isolation:isolate}
/* тонкая сетка, как на чертеже; к краям растворяется */
.nf::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 68% 60%,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at 68% 60%,#000 0%,transparent 70%)}
.nf__in{position:relative;max-width:var(--max);height:100svh;min-height:620px;margin:0 auto;padding:0 var(--pad)}
.nf__stage{position:absolute;inset:0;pointer-events:none}
.nf__code{position:absolute;right:var(--pad);bottom:clamp(48px,7svh,96px);width:62%;display:flex;justify-content:center}
/* поля внутри цифр: градиент по тексту не обрезает края букв */
.nf__d{display:inline-block;padding:.1em .06em .16em;margin:-.1em -.06em -.16em;font-size:min(30vw,56svh);font-weight:500;line-height:1;letter-spacing:-.06em;background:linear-gradient(180deg,#fff 30%,rgba(255,255,255,.14) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.nf__code .nf__d{opacity:0;transform:translate3d(0,.2em,0);transition:opacity .9s ease,transform 1.4s var(--ease)}
.nf__code .nf__d:last-child{transition-delay:.12s}
.is-loaded .nf__code .nf__d{opacity:1;transform:none}
.nf__code.is-thud .nf__d:not(.nf__slot){animation:nfthud .5s cubic-bezier(.3,.7,.4,1)}
@keyframes nfthud{30%{transform:translate3d(0,.012em,0)}}
.nf__slot{background:none;-webkit-text-stroke:1px rgba(255,255,255,.16);transition:none !important}
.nf__rig{position:absolute;inset:0;will-change:transform}
.nf__rig .crane__rope{height:1px;transform-origin:0 0;will-change:transform}
.nf__load{position:absolute;left:0;top:0;margin:0;background:none;-webkit-text-stroke:1px rgba(255,255,255,.72);pointer-events:auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;will-change:transform}
.nf__load:hover{-webkit-text-stroke-color:#fff}
.nf__load.is-drag{cursor:grabbing}
.nf__load.is-set{background:linear-gradient(180deg,#fff 30%,rgba(255,255,255,.14) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke-color:transparent;cursor:default}
.nf__bottom{position:absolute;left:var(--pad);bottom:clamp(56px,8svh,104px);width:34%}
.nf__text{max-width:640px}
.nf h1{font-size:clamp(32px,3.6vw,56px);font-weight:400;line-height:1.04;letter-spacing:-.04em}
.nf h1 em{font-style:normal;color:rgba(255,255,255,.42)}
.nf__text p{max-width:460px;margin-top:16px;font-size:16px;line-height:1.5;color:rgba(255,255,255,.65)}
.nf__links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:32px}

@media (max-width:1020px){
  .lsum{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lgl{grid-template-columns:1fr}
  .lgl__toc{display:none}
  .nf__code{left:var(--pad);width:auto;bottom:auto;top:clamp(150px,22svh,220px)}
  .nf__d{font-size:min(40vw,38svh)}
  .nf__bottom{right:var(--pad);width:auto;bottom:clamp(32px,5svh,56px)}
}
@media (max-width:720px){
  .lhero__in{padding-top:150px}
  .lhero h1{font-size:clamp(30px,8.9vw,40px)}
  .lsum{grid-template-columns:1fr}
  .lsum__i{min-height:0}
  .lsum__i b{margin-top:20px}
  .lgl__sec p,.lgl__sec ul,.lgl__dl{margin-left:0;font-size:16px}
  .lgl__dl > div{grid-template-columns:1fr;gap:2px}
  .nf__d{font-size:44vw}
  .nf__in{min-height:calc(240px + 44vw * 1.1 + 340px)}
  .nf__code{top:240px}
  .nf__links{margin-top:24px}
}
@media print{
  .header,.fbar,.menu,.footer,.dock,.tzm,.lb,#preloader,.lgl__toc,.lhero__print,.lhero .crumbs,.lsum{display:none !important}
  .reveal-foot main{margin-bottom:0 !important}
  .lhero__in{padding-top:0}
  .lgl{display:block}
  .section{padding-top:24px}
  .lgl__sec{break-inside:avoid}
  .lgl__ask{background:none;color:#000;border:1px solid #ccc}
}

/* ссылки внутри паспорта объекта и подзаголовков */
.passport__link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;transition:text-decoration-color .2s}
.passport__link:hover{text-decoration-color:var(--orange)}
.statement em a{color:inherit;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.statement em a:hover{color:var(--ink)}
.pfact span a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.pfact span a:hover{color:#fff}
