@charset "UTF-8";
/* ГЕОПИР — адаптивная вёрстка. Контрольные ширины: 1920 / 1280 / 960 / 568 / 320 */

/* ==========================================================================
   1. Токены. Меняются только здесь — компоненты их не переопределяют.
   ========================================================================== */
:root{
  /* цвет */
  --blue:#1386C8;
  --blue-dark:#0F6EA4;
  --orange:#EB7E23;
  --orange-dark:#D46B14;
  --ink:#555555;
  --ink-2:#888888;
  --ink-3:#8B8B8B;
  --white:#FFFFFF;
  --warm:#FEF9F4;
  --grey:#F5F5F5;
  --bar:#EBEFF1;
  --line:#E6E6E6;
  --shadow:0 4px 24px rgba(0,0,0,.06);
  --shadow-lg:0 10px 40px rgba(0,0,0,.10);

  /* сетка */
  --cw:1720px;
  --pad:100px;
  --gap:20px;
  --sect:120px;
  --r:20px;
  --r-btn:10px;

  /* типографика */
  --fs-h1:70px;
  --fs-h2:50px;
  --fs-h3:30px;
  --fs-body:20px;
  --fs-label:20px;
  --fs-cap:20px;
  --fs-num:50px;
  --fs-btn:20px;
  --fs-menu:20px;

  --hero-h:850px;

  /* масштаб десктопной композиции: 1 при 1920, 0.88372 при 1680 */
  --s:1;
  /* минимальный зазор до края окна: контейнер не сжимается, пока он есть */
  --gut:20px;
}

/* 1680 — пропорциональное уменьшение эталонной композиции 1920.
   Нижняя граница 1660, а не 1680: окно 1680 с полосой прокрутки даёт ~1665 CSS-px. */
@media (min-width:1660px) and (max-width:1899px){
  :root{
    --s:.88372;
    --cw:1520px; --pad:80px; --gut:20px; --gap:18px; --sect:106px; --r:18px;
    --fs-h1:62px; --fs-h2:44px; --fs-h3:26px; --fs-body:18px;
    --fs-label:18px; --fs-cap:18px; --fs-num:44px; --fs-btn:18px; --fs-menu:18px;
    --hero-h:751px;
  }
}

/* 1280 */
@media (max-width:1659px){
  :root{
    --s:1;
    --cw:100000px; --pad:40px; --gut:40px; --gap:20px; --sect:90px; --r:20px;
    --fs-h1:52px; --fs-h2:40px; --fs-h3:26px; --fs-body:18px;
    --fs-label:17px; --fs-cap:16px; --fs-num:42px; --fs-btn:18px; --fs-menu:17px;
    --hero-h:720px;
  }
}
/* 960 */
@media (max-width:1279px){
  :root{
    --cw:100000px; --pad:32px; --gut:32px; --gap:20px; --sect:70px; --r:16px;
    --fs-h1:42px; --fs-h2:34px; --fs-h3:24px; --fs-body:17px;
    --fs-label:16px; --fs-cap:15px; --fs-num:36px; --fs-btn:17px;
    --hero-h:600px;
  }
}
/* 568 */
@media (max-width:959px){
  :root{
    --cw:100000px; --pad:24px; --gut:24px; --gap:16px; --sect:48px; --r:14px; --r-btn:8px;
    --fs-h1:32px; --fs-h2:26px; --fs-h3:20px; --fs-body:16px;
    --fs-label:14px; --fs-cap:14px; --fs-num:32px; --fs-btn:16px;
    --hero-h:480px;
  }
}
/* 320 */
@media (max-width:567px){
  :root{
    --cw:100000px; --pad:16px; --gut:16px; --gap:12px; --sect:40px; --r:12px;
    --fs-h1:26px; --fs-h2:22px; --fs-h3:18px; --fs-body:16px;
    --fs-label:13px; --fs-cap:13px; --fs-num:28px;
    --hero-h:420px;
  }
}

/* ==========================================================================
   2. База
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font:400 var(--fs-body)/1.4 Roboto,"Helvetica Neue",Arial,sans-serif;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.container{
  width:min(var(--cw), calc(100% - var(--gut) * 2));
  margin-inline:auto;
}

/* кнопки */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:calc(56px * var(--s));padding:0 calc(30px * var(--s));border-radius:calc(10px * var(--s));
  background:var(--orange);color:#fff;border:1px solid #fff;
  font-weight:600;font-size:calc(20px * var(--s));line-height:1.4;text-align:center;
  transition:background .18s ease;
}
.btn:hover{background:var(--orange-dark)}
.btn--blue{background:var(--blue)}
.btn--blue:hover{background:var(--blue-dark)}
.btn--ghost{background:transparent;color:var(--blue);border-color:var(--blue)}
.btn--outline{background:transparent;border-color:#FFE8D4;color:#fff}
.btn--outline:hover{background:rgba(255,255,255,.12)}
.btn--ghost:hover{background:var(--blue);color:var(--white)}

/* сетки */
.grid{display:grid;gap:var(--gap)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--6{grid-template-columns:repeat(6,1fr)}

.card{background:var(--white);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}

/* ==========================================================================
   3. Шапка — геометрия снята из Figma (карточка 1719x120 при x=101, y=40).
      Все размеры умножены на --s: 1 при 1920, 0.88372 при 1680.
   ========================================================================== */
.header{position:absolute;top:calc(40px * var(--s));left:0;right:0;z-index:40}
.header__inner{
  position:relative;display:flex;align-items:center;
  margin-left:1px;height:calc(120px * var(--s));
  padding:0 calc(28px * var(--s)) 0 calc(15px * var(--s));
  background:rgba(255,255,255,.78);
  -webkit-backdrop-filter:blur(4.55px);backdrop-filter:blur(4.55px);
  border:1px solid #fff;border-radius:calc(20px * var(--s));
}
.header__logo{flex:none;line-height:0}
.header__logo img{width:calc(99px * var(--s));height:calc(96px * var(--s))}
/* «Группа компаний Vecfort» рядом с логотипом ГЕОПИР — на фоне самой шапки,
   отделён тонкой чертой. Где он есть, меню сжимается и отдаёт ему место. */
.header__group{
  flex:none;display:flex;flex-direction:column;justify-content:center;gap:calc(4px * var(--s));
  position:relative;margin-left:calc(22px * var(--s));padding-left:calc(23px * var(--s));
}
.header__group::before{
  content:"";position:absolute;left:0;top:50%;width:1px;height:calc(64px * var(--s));
  margin-top:calc(-32px * var(--s));background:#D9D9D9;
}
.header__group-label{font-size:calc(14px * var(--s));line-height:1.2;color:#555;white-space:nowrap}
.header__group-logo{width:calc(120px * var(--s));height:calc(39px * var(--s))}
.header__group ~ .nav{flex:0 1 calc(800px * var(--s));width:auto;min-width:0}
/* распорки: при 1920 дают ровно 79 и 101 px, ниже — сжимаются пропорционально */
.header__gap{flex-basis:0;flex-shrink:1;min-width:calc(16px * var(--s))}
.header__gap--1{flex-grow:79}
.header__gap--2{flex-grow:101}

.nav{flex:none;width:calc(906px * var(--s))}
.nav__list{display:flex;align-items:center;justify-content:space-between;gap:0}
.nav__list a{font-size:calc(20px * var(--s));line-height:1.4;color:#555;white-space:nowrap;display:block}
.nav__list a:hover{color:var(--blue)}
.nav__sep{width:1px;height:calc(12.5px * var(--s));background:#707070;flex:none}

.header__phone-ico{flex:none;line-height:0;margin-right:calc(10px * var(--s))}
.header__phone-ico img{width:calc(42px * var(--s));height:calc(42px * var(--s))}
.header__contact{
  flex:none;position:relative;width:calc(181px * var(--s));height:calc(44px * var(--s));
  align-self:flex-start;margin-top:calc(37px * var(--s));margin-right:calc(35px * var(--s));color:#555;
}
.header__contact b{position:absolute;left:0;top:0;font-weight:900;font-size:calc(20px * var(--s));line-height:1.4;white-space:nowrap}
.header__contact small{position:absolute;left:0;top:calc(25.6px * var(--s));font-weight:400;font-size:calc(12px * var(--s));line-height:1.4;white-space:nowrap}
.header__cta{
  flex:none;width:calc(221px * var(--s));padding:0;
  height:calc(56px * var(--s));font-size:calc(20px * var(--s));border-radius:calc(10px * var(--s));
}

.burger{display:none;width:44px;height:44px;flex:none;align-items:center;justify-content:center}
.burger span{display:block;width:26px;height:2px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:26px;height:2px;background:var(--ink)}
.burger span::before{top:-8px}
.burger span::after{top:8px}
/* открытое меню: средняя полоска гаснет, крайние складываются в крестик */
.burger span,.burger span::before,.burger span::after{transition:transform .2s ease,background .2s ease,top .2s ease}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

/* Мобильное меню. Панель открывается ПОД шапкой и не перекрывает её:
   --header-h задаётся в адаптивных полосах и равен высоте шапки. */
.mobile-menu{
  position:fixed;left:0;right:0;bottom:0;top:var(--header-h,88px);
  z-index:50;background:var(--white);
  padding:20px var(--pad) 40px;overflow-y:auto;
  display:none;flex-direction:column;gap:8px;
}
.mobile-menu[data-open="true"]{display:flex}
/* крестик переехал в шапку — на сам бургер */
.mobile-menu__close{display:none}
.mobile-menu a{display:flex;align-items:center;min-height:48px;font-size:18px;border-bottom:1px solid var(--line)}
.mobile-menu .btn{margin-top:16px}
.mobile-menu__phone{margin-top:20px;font-size:22px;font-weight:700;color:var(--blue)}


/* ==========================================================================
   4. Первый экран — координаты из Figma (фрейм 1920x850), масштаб --s
   ========================================================================== */
.hero{position:relative;height:calc(850px * var(--s))}
.hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* фоновое видео вместо фото: декоративное, клики не перехватывает */
.hero__bg{display:block;pointer-events:none;background:#1f2a33}
.hero__stage{position:relative;height:100%}

.hero__strip{
  position:absolute;left:0;top:calc(643px * var(--s));
  width:calc(371px * var(--s));height:calc(26px * var(--s));background:#fff;
}
.hero__eyebrow{
  position:absolute;left:0;top:calc(271.4px * var(--s));
  font-weight:500;font-size:calc(20px * var(--s));line-height:1.4;color:#fff;white-space:nowrap;
}
.hero__title{
  position:absolute;left:0;top:calc(328.8px * var(--s));width:calc(901px * var(--s));
  font-weight:900;font-size:calc(70px * var(--s));line-height:1.2;color:#fff;text-transform:uppercase;
}
.hero__video{
  position:absolute;left:0;top:calc(740px * var(--s));
  display:flex;align-items:flex-start;gap:calc(16px * var(--s));color:#fff;
}
.hero__video img{width:calc(42px * var(--s));height:calc(42px * var(--s));flex:none}
.hero__video-label{display:flex;flex-direction:column;gap:calc(2.06px * var(--s));margin-top:calc(7.8px * var(--s))}
.hero__video-label > span{font-weight:700;font-size:calc(18px * var(--s));line-height:1.2;white-space:nowrap}
.hero__video-label i{
  display:block;height:1px;
  background-image:repeating-linear-gradient(90deg,
    #DDDBDB 0 calc(5px * var(--s)),
    transparent calc(5px * var(--s)) calc(10px * var(--s)));
}

.hero__objects{
  position:absolute;right:calc(477px * var(--s));bottom:0;
  width:calc(270px * var(--s));height:calc(90px * var(--s));
  display:flex;align-items:flex-start;justify-content:flex-start;
  padding:calc(30.4px * var(--s)) 0 0 calc(52px * var(--s));background:#fff;
  font-weight:600;font-size:calc(20px * var(--s));line-height:1.4;color:var(--blue);
  text-decoration:underline;text-underline-position:from-font;
}

.hero__promo{
  position:absolute;right:0;top:calc(630px * var(--s));
  width:calc(477px * var(--s));height:calc(401px * var(--s));   /* было 478 — меньше свисает за первый экран */
  background:var(--blue);border-radius:calc(20px * var(--s));
}
.hero__promo p{
  position:absolute;left:calc(67px * var(--s));top:calc(48px * var(--s));width:calc(362px * var(--s));
  font-weight:600;font-size:calc(22px * var(--s));line-height:calc(31px * var(--s));color:#fff;
}
.hero__promo .btn{
  position:absolute;left:calc(67px * var(--s));top:calc(297px * var(--s));width:calc(345px * var(--s));
  height:calc(56px * var(--s));font-size:calc(20px * var(--s));border-radius:calc(10px * var(--s));
}

.hero__badge{
  position:absolute;right:0;top:calc(230px * var(--s));
  width:calc(214px * var(--s));height:calc(140px * var(--s));
  background:#fff;border-radius:calc(20px * var(--s));box-shadow:0 4px 24px rgba(0,0,0,.07);
}
.hero__badge span{
  position:absolute;left:calc(23px * var(--s));top:calc(25.4px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.4;color:#555;white-space:nowrap;
}
.hero__badge img{
  position:absolute;left:calc(23px * var(--s));top:calc(62px * var(--s));
  width:calc(166px * var(--s));height:calc(54px * var(--s));
}

/* ==========================================================================
   5. Типовые элементы секций (метрики из Figma)
   ========================================================================== */
.eyebrow{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:fit-content;
  font-weight:500;font-size:calc(20px * var(--s));line-height:1.4;color:#8B8B8B;
}
.eyebrow i{width:calc(6px * var(--s));height:calc(6px * var(--s));border-radius:50%;background:var(--orange);flex:none}
.sec-h2{font-weight:400;font-size:calc(50px * var(--s));line-height:1.4;color:var(--blue)}
.sec-lead{font-weight:400;font-size:calc(20px * var(--s));line-height:1.4;color:#555}

/* ==========================================================================
   6. Наши преимущества
   ========================================================================== */
.sec-adv{padding-top:calc(105.4px * var(--s));padding-bottom:calc(124px * var(--s))}
.sec-adv .sec-head{margin-left:2px}
.sec-adv .sec-lead{width:calc(1177px * var(--s));margin-top:calc(5.9px * var(--s))}
.adv-grid{display:grid;grid-template-columns:repeat(4,calc(406px * var(--s)));gap:calc(32px * var(--s));margin-top:calc(84.6px * var(--s));margin-left:1px}
.adv-card{
  position:relative;width:calc(406px * var(--s));height:calc(516px * var(--s));
  background:#fff;border-radius:calc(20px * var(--s));box-shadow:0 4px 24px rgba(0,0,0,.07);
}
.adv-card__photo{
  position:absolute;left:-1px;top:0;width:calc(295px * var(--s));height:calc(295px * var(--s));object-fit:cover;
  border-radius:0 0 100% 0;
}
.adv-card__text{position:absolute;left:calc(31px * var(--s));top:calc(339.8px * var(--s));width:calc(254px * var(--s))}
.adv-card__num{font-weight:900;font-size:calc(40px * var(--s));line-height:1.4;color:var(--orange);white-space:nowrap}
.adv-card__cap{font-weight:400;font-size:calc(16px * var(--s));line-height:1.4;color:#000;margin-top:.3px}

/* ==========================================================================
   7. Результат в цифрах
   ========================================================================== */
.sec-stats{
  padding-top:calc(73.4px * var(--s));padding-bottom:calc(76px * var(--s));
  background:linear-gradient(180deg,#F6F6F6 0%,#F2F2F2 55%,#F4F4F4 100%);
}
.sec-stats .sec-head{margin-bottom:calc(49.7px * var(--s))}
.stats{
  display:grid;grid-template-columns:repeat(4,calc(407px * var(--s)));
  height:calc(206px * var(--s));background:#fff;border-radius:calc(20px * var(--s));box-shadow:0 4px 24px rgba(0,0,0,.05);
}
.stats__item{position:relative;padding:calc(42.5px * var(--s)) 0 0 calc(84px * var(--s))}
.stats__item:first-child::before{display:none}
.stats__item::before{
  content:"";position:absolute;left:calc(34px * var(--s));top:calc(18.5px * var(--s));width:1px;height:calc(85px * var(--s));background:#E6E6E6;
}
.stats__num{font-weight:400;font-size:calc(50px * var(--s));line-height:1.4;color:var(--orange);white-space:nowrap}
.stats__cap{font-weight:400;font-size:calc(16px * var(--s));line-height:1.4;color:#000;width:calc(307px * var(--s));margin-top:calc(-2.8px * var(--s))}

/* ==========================================================================
   8. Кто мы — координаты из Figma
   ========================================================================== */
.sec-about{
  position:relative;
  padding-top:calc(116.4px * var(--s));
  padding-bottom:calc(120px * var(--s));
}
.sec-about .container{position:relative}
.about__h2{width:calc(871px * var(--s));line-height:1;margin-top:calc(10.1px * var(--s))}
.about__text{
  width:calc(850px * var(--s));margin-top:calc(45.9px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.4;color:#555;
}
.about__text p + p{margin-top:calc(28px * var(--s))}

.facts{display:flex;width:calc(973px * var(--s));margin-top:calc(82.6px * var(--s))}
.fact{
  position:relative;width:calc(487px * var(--s));height:calc(190px * var(--s));
  border:1px solid #D9D9D9;flex:none;
}
.fact + .fact{margin-left:-1px}
.fact__bar{
  position:absolute;right:calc(20px * var(--s));top:-1px;
  width:calc(88px * var(--s));height:3px;background:var(--orange);
}
.fact__ico{position:absolute}
.fact__ico--1{left:calc(51px * var(--s));top:calc(62px * var(--s));width:calc(72px * var(--s));height:calc(71px * var(--s))}
.fact__ico--2{left:calc(56px * var(--s));top:calc(64px * var(--s));width:calc(67px * var(--s));height:calc(63px * var(--s))}
.fact b{
  position:absolute;left:calc(183px * var(--s));top:calc(13.5px * var(--s));
  font-weight:400;font-size:calc(50px * var(--s));line-height:1.4;color:#555;
}
.fact + .fact b{top:calc(12.5px * var(--s))}
.fact span{
  position:absolute;left:calc(188px * var(--s));top:calc(82.4px * var(--s));width:calc(226px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.4;color:#888;
}
.fact + .fact span{top:calc(81.4px * var(--s))}

.about__btn{margin-top:calc(60px * var(--s))}
.about__photo{
  position:absolute;right:0;top:calc(30.6px * var(--s));
  width:calc(705px * var(--s));height:calc(766px * var(--s));
  object-fit:cover;border-radius:calc(20px * var(--s));
}

/* ==========================================================================
   9. Что мы делаем + процесс 01/02/03 — координаты из Figma
   ========================================================================== */
.sec-dir{
  background:var(--warm);
  padding-top:calc(113.4px * var(--s));
  padding-bottom:calc(120px * var(--s));
}
.dir__h2{line-height:1;margin-top:calc(10.1px * var(--s))}

.dir-grid{
  display:grid;grid-template-columns:repeat(2,calc(855px * var(--s)));
  gap:calc(16px * var(--s));margin-top:calc(72.5px * var(--s));
}
.dir{
  position:relative;height:calc(490px * var(--s));
  background:#fff;border-radius:calc(20px * var(--s));
}
.dir__ico{position:absolute}
.dir__ico--1{left:calc(383px * var(--s));top:calc(32px * var(--s));width:calc(88.05px * var(--s));height:calc(88.05px * var(--s))}
.dir__ico--2{left:calc(393px * var(--s));top:calc(51px * var(--s));width:calc(73px * var(--s));height:calc(80.15px * var(--s))}
.dir__title{
  position:absolute;left:0;right:0;top:calc(150.1px * var(--s));text-align:center;
  font-weight:700;font-size:calc(30px * var(--s));line-height:1.4;color:#555;
}
.dir__body{
  position:absolute;left:calc(175.5px * var(--s));top:calc(208.4px * var(--s));width:calc(504px * var(--s));
  text-align:center;font-weight:400;font-size:calc(20px * var(--s));line-height:1.2;color:#555;
}
.dir__tags-title{
  position:absolute;left:0;right:0;top:calc(347.4px * var(--s));text-align:center;
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.4;color:#888;
}
.dir__tags{
  position:absolute;left:0;right:0;top:calc(384px * var(--s));
  display:flex;justify-content:center;
}
.dir__tags--2{gap:calc(10px * var(--s))}
.dir__tags--3{gap:calc(8px * var(--s))}
.tag{
  display:flex;align-items:center;justify-content:center;
  height:calc(56px * var(--s));border-radius:calc(10px * var(--s));
  background:#E8F3FA;border:1px solid #fff;
  font-weight:600;font-size:calc(20px * var(--s));line-height:1.4;color:#555;text-align:center;
}
.dir__tags--2 .tag{width:calc(360px * var(--s))}
.dir__tags--3 .tag{width:calc(254px * var(--s))}

.steps{
  display:grid;grid-template-columns:repeat(3,calc(560px * var(--s)));
  gap:calc(20px * var(--s));margin-top:calc(90px * var(--s));
}
.step{
  position:relative;height:calc(270px * var(--s));
  background:#FFF2E4;border-radius:calc(20px * var(--s));
}
.step__ghost{
  position:absolute;left:calc(248px * var(--s));top:calc(30.3px * var(--s));
  font-weight:900;font-size:calc(250px * var(--s));line-height:1.4;
  letter-spacing:calc(-17.5px * var(--s));color:#F4EAE0;white-space:nowrap;pointer-events:none;
}
.step__n{
  position:absolute;left:calc(30px * var(--s));top:calc(-28px * var(--s));
  width:calc(90px * var(--s));height:calc(90px * var(--s));border-radius:50%;
  background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:calc(30px * var(--s));line-height:1;
}
.step__title{
  position:absolute;left:calc(41px * var(--s));top:calc(100.1px * var(--s));
  font-weight:700;font-size:calc(30px * var(--s));line-height:1.4;color:#555;white-space:nowrap;
}
.step__body{
  position:absolute;left:calc(41px * var(--s));top:calc(158.4px * var(--s));width:calc(339px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.2;color:#555;
}

/* ==========================================================================
   10. Почему выбирают ГЕОПИР — координаты из Figma
   ========================================================================== */
.sec-why{padding-top:calc(113.4px * var(--s));padding-bottom:0}
.why__h2{line-height:1;margin-top:calc(10.1px * var(--s))}
.why-grid{
  display:grid;grid-template-columns:repeat(3,calc(559px * var(--s)));
  gap:calc(21px * var(--s));margin-top:calc(52.6px * var(--s));margin-left:1px;
}
.why{
  position:relative;height:calc(540px * var(--s));
  background:#fff;border-radius:calc(20px * var(--s));box-shadow:0 4px 24px rgba(0,0,0,.07);
}
.why__photo{
  position:absolute;right:0;top:0;width:calc(295px * var(--s));height:calc(295px * var(--s));
  object-fit:cover;border-radius:0 0 0 100%;
}
.why__label{
  position:absolute;left:calc(29px * var(--s));top:calc(65.4px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.2;color:#888;
}
.why__rule{
  position:absolute;left:calc(31px * var(--s));top:calc(101px * var(--s));
  width:calc(62px * var(--s));height:1px;background:var(--orange);
}
.why__title{
  position:absolute;left:calc(29px * var(--s));top:calc(118.1px * var(--s));width:calc(224px * var(--s));
  font-weight:700;font-size:calc(30px * var(--s));line-height:1;color:#555;text-transform:uppercase;
}
.why__body{
  position:absolute;left:calc(29px * var(--s));top:calc(311.4px * var(--s));width:calc(451px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.2;color:#888;
}
.why__nums{
  position:absolute;left:calc(29px * var(--s));top:calc(427.1px * var(--s));
  display:grid;grid-auto-flow:column;grid-auto-columns:calc(160px * var(--s));
}
.why__nums > div{position:relative}
.why__nums > div + div::before{
  content:"";position:absolute;left:calc(-20px * var(--s));top:calc(3px * var(--s));
  width:1px;height:calc(50px * var(--s));background:#E6E6E6;
}
.why__nums b{
  display:block;font-weight:900;font-size:calc(30px * var(--s));line-height:1;color:var(--orange);
}
.why__nums span{
  display:block;margin-top:calc(.8px * var(--s));
  font-weight:400;font-size:calc(16px * var(--s));line-height:1.2;color:#888;
}

/* ==========================================================================
   11. Технологии — координаты из Figma
   ========================================================================== */
.sec-tech{padding-top:calc(113.4px * var(--s));padding-bottom:0}
.tech__h2{line-height:1;margin-top:calc(10.1px * var(--s));width:calc(1141px * var(--s))}
.tech__lead{
  width:calc(1141px * var(--s));margin-top:calc(27.9px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.2;color:#555;
}
.tech-grid{
  display:grid;grid-template-columns:repeat(3,calc(559px * var(--s)));
  column-gap:calc(21px * var(--s));row-gap:calc(30px * var(--s));
  margin-top:calc(57.6px * var(--s));margin-left:1px;
}
.tech{
  position:relative;height:calc(520px * var(--s));
  background:#fff;border-radius:calc(20px * var(--s));box-shadow:0 4px 24px rgba(0,0,0,.07);
}
.tech__media{
  position:absolute;left:calc(27px * var(--s));top:calc(30px * var(--s));
  width:calc(505px * var(--s));height:calc(190px * var(--s));
  object-fit:cover;border-radius:calc(20px * var(--s));
}
.tech__tag{
  position:absolute;left:calc(27px * var(--s));top:calc(240px * var(--s));
  height:calc(26px * var(--s));padding:0 calc(14px * var(--s));
  display:inline-flex;align-items:center;border-radius:calc(13px * var(--s));
  font-weight:400;font-size:calc(13px * var(--s));line-height:1;color:#555;white-space:nowrap;
}
.tech__tag--base{background:#E8F3FA}
.tech__tag--prot{background:#FFF1E4}
.tech__rule{
  position:absolute;left:calc(27px * var(--s));top:calc(300px * var(--s));
  width:1px;height:calc(167px * var(--s));background:var(--orange);
}
/* колонка текста вертикально центрируется в блоке 167px, как в макете */
.tech__text{
  position:absolute;left:calc(53px * var(--s));top:calc(300px * var(--s));
  width:calc(397px * var(--s));height:calc(167px * var(--s));
  display:flex;flex-direction:column;justify-content:center;
  padding-top:calc(1.26px * var(--s));
}
.tech__title{
  margin-bottom:calc(20.61px * var(--s));
  font-weight:700;font-size:calc(30px * var(--s));line-height:1;color:#555;text-transform:uppercase;
}
.tech__body{font-weight:400;font-size:calc(20px * var(--s));line-height:1.2;color:#888}
.tech__mark{
  position:absolute;right:calc(30px * var(--s));bottom:0;
  width:calc(27px * var(--s));height:calc(48px * var(--s));background:var(--orange);
}

/* ==========================================================================
   12. Объекты — координаты из Figma
   ========================================================================== */
.sec-obj{padding-top:calc(109.4px * var(--s));padding-bottom:calc(122px * var(--s))}
.obj__h2{line-height:1;margin-top:calc(10.1px * var(--s));width:calc(872px * var(--s))}
.obj-grid{
  display:grid;grid-template-columns:repeat(3,calc(560px * var(--s)));
  column-gap:calc(20px * var(--s));row-gap:calc(54.2px * var(--s));
  margin-top:calc(68.5px * var(--s));
}
.obj__media{
  width:calc(560px * var(--s));height:calc(370px * var(--s));
  object-fit:cover;border-radius:calc(20px * var(--s));
}
.obj__text{margin-top:calc(15.4px * var(--s));margin-left:1px;width:calc(559px * var(--s))}
.obj__meta{font-weight:400;font-size:calc(20px * var(--s));line-height:1.2;color:#888}
.obj__title{
  margin-top:calc(12.2px * var(--s));
  font-weight:700;font-size:calc(20px * var(--s));line-height:1;color:#555;text-transform:uppercase;
}
.obj__body{
  margin-top:calc(12.2px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.2;color:#888;
}
.obj-more{display:flex;justify-content:center;margin-top:calc(54.2px * var(--s))}
.obj-more .btn{width:auto}

/* ==========================================================================
   13. Промо-баннер — координаты из Figma
   ========================================================================== */
.sec-promo{position:relative;height:calc(811px * var(--s));background:#fff}
.promo__photo{
  position:absolute;left:0;top:0;width:100%;height:calc(585px * var(--s));object-fit:cover;
}
.promo__inner{position:relative;height:100%}
.promo__tiles{
  position:absolute;right:0;top:calc(293px * var(--s));display:flex;
}
.promo__tile{position:relative;height:calc(392px * var(--s))}
.promo__tile--blue{width:calc(393px * var(--s));background:rgba(19,134,200,.9)}
.promo__tile--orange{width:calc(391px * var(--s));background:rgba(235,126,35,.9)}
.promo__ico{position:absolute;top:calc(52px * var(--s))}
.promo__tile--blue .promo__ico{left:calc(35px * var(--s));width:calc(167px * var(--s));height:calc(161px * var(--s))}
.promo__tile--orange .promo__ico{left:calc(38px * var(--s));width:calc(188px * var(--s));height:calc(147px * var(--s))}
.promo__tile p{
  position:absolute;top:calc(238.2px * var(--s));
  font-weight:500;font-size:calc(25px * var(--s));line-height:1.2;color:#fff;
}
.promo__tile--blue p{left:calc(33px * var(--s));width:calc(336px * var(--s))}
.promo__tile--orange p{left:calc(40px * var(--s));width:calc(246px * var(--s))}

/* ==========================================================================
   14. Партнёры — координаты из Figma
   ========================================================================== */
.sec-partners{
  background:var(--warm);
  padding-top:calc(116.4px * var(--s));padding-bottom:calc(123px * var(--s));
}
.partners__h2{line-height:1;margin-top:calc(10.1px * var(--s))}
.partners{
  display:grid;
  grid-template-columns:calc(287px * var(--s)) calc(286px * var(--s)) calc(287px * var(--s))
                        calc(286px * var(--s)) calc(286px * var(--s)) calc(288px * var(--s));
  margin-top:calc(52.5px * var(--s));
}
.partner{
  position:relative;height:calc(205px * var(--s));background:#fff;
  border:1px solid #D9D9D9;border-right:0;
}
.partner:last-child{border-right:1px solid #D9D9D9}
.partner--active{background:var(--blue)}
.partner__bar{
  position:absolute;left:calc(20px * var(--s));top:-1px;
  width:calc(88px * var(--s));height:3px;background:var(--orange);
}
.partner__logo{position:absolute;object-fit:contain}
.pl-1{left:calc(95px * var(--s));top:calc(43px * var(--s));width:calc(96px * var(--s));height:calc(92px * var(--s))}
.pl-2{left:calc(70px * var(--s));top:calc(24px * var(--s));width:calc(154px * var(--s));height:calc(109px * var(--s))}
.pl-3{left:calc(17px * var(--s));top:calc(69px * var(--s));width:calc(255px * var(--s));height:calc(40px * var(--s))}
.pl-4{left:calc(21px * var(--s));top:calc(64px * var(--s));width:calc(246px * var(--s));height:calc(51px * var(--s))}
.pl-5{left:calc(38px * var(--s));top:calc(46px * var(--s));width:calc(210px * var(--s));height:calc(87px * var(--s))}
.pl-6{left:calc(81px * var(--s));top:calc(51px * var(--s));width:calc(123px * var(--s));height:calc(76px * var(--s))}
.partner span{
  position:absolute;left:0;right:0;top:calc(138.4px * var(--s));text-align:center;
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.4;color:#555;
}
.partner--active span{color:#fff}

/* ==========================================================================
   15. Блог — координаты из Figma
   ========================================================================== */
.sec-blog{padding-top:calc(113.4px * var(--s));padding-bottom:calc(122.6px * var(--s))}
.blog__h2{line-height:1;margin-top:calc(10.1px * var(--s))}
.blog-grid{
  display:grid;grid-template-columns:repeat(3,calc(560px * var(--s)));
  gap:calc(20px * var(--s));margin-top:calc(54.5px * var(--s));
}
.post__media{
  width:calc(560px * var(--s));height:calc(370px * var(--s));
  object-fit:cover;border-radius:calc(20px * var(--s));
}
.post__date{
  display:block;margin:calc(15.4px * var(--s)) 0 0 1px;
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.2;color:#888;
}
.post__title{
  margin:calc(12.2px * var(--s)) 0 0 1px;
  font-weight:700;font-size:calc(20px * var(--s));line-height:1;color:#555;
}

/* ==========================================================================
   16. Форма заявки — координаты из Figma
   ========================================================================== */
.sec-form{padding-bottom:calc(120px * var(--s))}
.form-wrap{position:relative;height:calc(1020px * var(--s))}
.form-plate{
  position:absolute;left:1px;top:0;width:calc(849px * var(--s));height:calc(1020px * var(--s));
  background:#F7F7F7;border-radius:calc(20px * var(--s));z-index:1;
}
.form-aside{
  position:absolute;left:1px;top:0;width:calc(849px * var(--s));height:calc(1020px * var(--s));
  z-index:3;
}
.form-aside__photo{
  position:absolute;left:calc(-1 * ((100vw - var(--cw)) / 2) - 1px);top:calc(400px * var(--s));
  width:calc(721px * var(--s));height:calc(620px * var(--s));z-index:1;pointer-events:none;
}
/* обёртки «иконка + контакт»: на десктопе боксов не создают, координаты детей
   по-прежнему считаются от .form-aside */
.c-row{display:contents}
.form-aside__label{
  position:absolute;left:calc(46px * var(--s));top:calc(49.4px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.4;color:#8B8B8B;
}
.form-aside__h2{
  position:absolute;left:calc(46px * var(--s));top:calc(87.5px * var(--s));width:calc(593px * var(--s));
  font-weight:400;font-size:calc(50px * var(--s));line-height:1;color:var(--blue);
}
.form-aside__note{
  position:absolute;left:calc(46px * var(--s));top:calc(231.4px * var(--s));width:calc(397px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.2;color:#8B8B8B;
}
.c-ico{position:absolute;left:calc(354px * var(--s));width:calc(61px * var(--s));height:calc(61px * var(--s));z-index:2}
.c-ico--1{top:calc(380px * var(--s))}
.c-ico--2{top:calc(460px * var(--s))}
.c-ico--3{top:calc(540px * var(--s))}
.c-phone{
  position:absolute;z-index:2;left:calc(432px * var(--s));top:calc(383.8px * var(--s));
  font-weight:400;font-size:calc(40px * var(--s));line-height:1.4;color:#555;white-space:nowrap;
}
.c-mail{
  position:absolute;z-index:2;left:calc(432px * var(--s));top:calc(470.4px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.4;color:#555;
  text-decoration:underline;text-underline-position:from-font;
}
.c-addr{
  position:absolute;z-index:2;left:calc(432px * var(--s));top:calc(548.4px * var(--s));width:calc(370px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.2;color:#555;
}

.lead{position:absolute;left:0;top:0;margin:0;width:100%;height:100%}
.lead__title{
  position:absolute;left:calc(955px * var(--s));top:calc(295.7px * var(--s));
  font-weight:400;font-size:calc(33px * var(--s));line-height:1;color:var(--blue);
}
.lead__note{
  position:absolute;left:calc(955px * var(--s));top:calc(340.4px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.4;color:#8B8B8B;
}
.lead__label{
  position:absolute;left:calc(955px * var(--s));
  font-weight:400;font-size:calc(20px * var(--s));line-height:1.4;color:#555;
}
.lead__label--1{top:calc(399.4px * var(--s))}
.lead__label--2{top:calc(503.4px * var(--s))}
.lead__label--3{top:calc(607.4px * var(--s))}
.lead__input{
  position:absolute;left:calc(955px * var(--s));width:calc(765px * var(--s));height:calc(50px * var(--s));
  border:1px solid #D9D9D9;border-radius:calc(20px * var(--s));background:#fff;
  font:400 calc(20px * var(--s))/1.4 Roboto,Arial,sans-serif;color:#555;
  padding:0 calc(24px * var(--s));
}
.lead__input--1{top:calc(430px * var(--s))}
.lead__input--2{top:calc(534px * var(--s))}
.lead__area{top:calc(638px * var(--s));height:calc(205px * var(--s));padding:calc(14px * var(--s)) calc(24px * var(--s));resize:none}
.lead__input::placeholder{color:#B5B5B5}
.lead__input:focus{outline:none;border-color:var(--blue)}
.lead__check{
  position:absolute;left:calc(955px * var(--s));top:calc(880px * var(--s));
  width:calc(26px * var(--s));height:calc(26px * var(--s));margin:0;
  appearance:none;-webkit-appearance:none;
  border:1px solid #D9D9D9;border-radius:calc(20px * var(--s));background:#fff;
}
.lead__check:checked::after{
  content:"";position:absolute;left:calc(6px * var(--s));top:calc(6px * var(--s));
  width:calc(11px * var(--s));height:calc(11px * var(--s));border-radius:50%;background:var(--blue);
}
.lead__agree{
  position:absolute;left:calc(997px * var(--s));top:calc(870.7px * var(--s));width:calc(477px * var(--s));
  font-weight:400;font-size:calc(16px * var(--s));line-height:1.4;color:#8B8B8B;
}
.lead__btn{
  position:absolute;left:calc(955px * var(--s));top:calc(964px * var(--s));
  width:calc(233px * var(--s));padding:0;
  height:calc(56px * var(--s));font-size:calc(20px * var(--s));border-radius:calc(10px * var(--s));
}

/* ==========================================================================
   17. Подвал — координаты из Figma
   ========================================================================== */
.footer{background:var(--warm);padding-bottom:calc(42.9px * var(--s))}
.footer__top{position:relative;height:calc(520px * var(--s))}
.footer__logo{position:absolute;left:calc(222px * var(--s));top:calc(54px * var(--s));width:calc(161px * var(--s));height:calc(156px * var(--s))}
.footer__brand{
  position:absolute;left:calc(398px * var(--s));top:calc(98.5px * var(--s));
  font-weight:400;font-size:calc(56px * var(--s));line-height:1.4;color:#555;
}
.footer__descr{
  position:absolute;left:calc(222px * var(--s));top:calc(239.7px * var(--s));width:calc(477px * var(--s));
  font-weight:400;font-size:calc(16px * var(--s));line-height:1.4;color:#8B8B8B;
}
.soc{position:absolute;top:calc(370px * var(--s));width:calc(61px * var(--s));height:calc(61px * var(--s))}
.soc img{width:100%;height:100%}
.soc--1{left:calc(222px * var(--s))}
.soc--2{left:calc(302px * var(--s))}
.soc--3{left:calc(382px * var(--s))}
.soc--4{left:calc(463px * var(--s))}
.fh{
  position:absolute;top:calc(110.4px * var(--s));
  font-weight:500;font-size:calc(26px * var(--s));line-height:1.4;color:#555;
}
.fh--1{left:calc(817px * var(--s))}
.fh--2{left:calc(1009px * var(--s))}
.fh--3{left:calc(1305px * var(--s))}
.flinks{position:absolute;top:calc(163.7px * var(--s))}
.flinks--1{left:calc(817px * var(--s))}
.flinks--2{left:calc(1009px * var(--s))}
.flinks li{height:calc(31px * var(--s))}
.flinks a{font-weight:400;font-size:calc(16px * var(--s));line-height:1.4;color:#8B8B8B}
.flinks a:hover{color:var(--blue)}
.footer__map{
  position:absolute;left:calc(1305px * var(--s));top:calc(170px * var(--s));
  width:calc(415px * var(--s));height:calc(181px * var(--s));object-fit:cover;border-radius:calc(10px * var(--s));
}
.footer__phone{
  position:absolute;left:calc(1305px * var(--s));top:calc(361.4px * var(--s));
  font-weight:500;font-size:calc(26px * var(--s));line-height:1.4;color:var(--blue);
}
.footer__mail{
  position:absolute;left:calc(1305px * var(--s));top:calc(419.7px * var(--s));
  font-weight:400;font-size:calc(16px * var(--s));line-height:1.4;color:#8B8B8B;
  text-decoration:underline;text-underline-position:from-font;
}
.footer__addr{
  position:absolute;left:calc(1305px * var(--s));top:calc(453.7px * var(--s));width:calc(202px * var(--s));
  font-weight:400;font-size:calc(16px * var(--s));line-height:1.4;color:#8B8B8B;
}

.footer__bar{position:relative;height:calc(140px * var(--s));background:#EBEFF1}
.footer__chevron{
  position:absolute;left:calc(50% - 70px * var(--s));top:0;
  width:calc(80px * var(--s));height:100%;background:var(--warm);
  clip-path:polygon(7.5% 0,33.75% 0,81.25% 50%,36.25% 100%,6.25% 100%,53.75% 50%);
}
.footer__bar-in{position:relative;height:100%}
.bar-logo{position:absolute;left:calc(145px * var(--s));top:calc(30px * var(--s));width:calc(77px * var(--s));height:calc(75px * var(--s))}
.bar-name{position:absolute;top:calc(43.1px * var(--s));font-weight:500;font-size:calc(30px * var(--s));line-height:1.4;color:#555}
.bar-name--1{left:calc(240px * var(--s))}
.bar-name--2{left:calc(1097px * var(--s))}
.bar-sub{position:absolute;top:calc(79.7px * var(--s));font-weight:400;font-size:calc(16px * var(--s));line-height:1.4;color:#8B8B8B}
.bar-sub--1{left:calc(240px * var(--s))}
.bar-sub--2{left:calc(1101px * var(--s))}
.bar-sub a{color:var(--blue);text-decoration:underline;text-underline-position:from-font}
.bar-mid{
  position:absolute;left:calc(529px * var(--s));top:calc(54.8px * var(--s));
  font-weight:400;font-size:calc(19px * var(--s));line-height:1.4;color:#8B8B8B;
}
.bar-vecfort{position:absolute;left:calc(899px * var(--s));top:calc(40px * var(--s));width:calc(169px * var(--s));height:calc(56px * var(--s))}

.footer__copy{
  display:flex;justify-content:space-between;margin-top:calc(24.7px * var(--s));
  font-weight:400;font-size:calc(16px * var(--s));line-height:1.4;color:#8B8B8B;
}
.footer__copy a{text-decoration:underline;text-underline-position:from-font;white-space:nowrap}
.footer__copy span:first-child{text-decoration:underline;text-underline-position:from-font}

/* ==========================================================================
   Адаптив для блоков, собранных по точным метрикам макета
   ========================================================================== */


/* ==========================================================================
   17. Модальное окно с видео
   ========================================================================== */
.vmodal{
  position:fixed;inset:0;z-index:70;display:none;
  align-items:center;justify-content:center;padding:calc(40px * var(--s));
  background:rgba(12,18,23,.93);
}
.vmodal[data-open="true"]{display:flex}
.vmodal__box{position:relative;width:100%;max-width:calc(1280px * var(--s))}
/* 16:9 держим пропорцией, а не фиксированной высотой — ролик не обрежется */
.vmodal__frame{
  position:relative;aspect-ratio:16/9;width:100%;
  background:#000;border-radius:calc(16px * var(--s));overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.5);
}
.vmodal__frame video,
.vmodal__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vmodal__cap{margin-top:calc(18px * var(--s));font-size:calc(18px * var(--s));line-height:1.5;color:rgba(255,255,255,.72)}
.vmodal__close{
  position:absolute;right:0;top:calc(-58px * var(--s));
  width:calc(48px * var(--s));height:calc(48px * var(--s));border-radius:50%;
  background:rgba(255,255,255,.16);color:#fff;font-size:calc(28px * var(--s));line-height:1;
  transition:background .18s ease;
}
.vmodal__close:hover{background:rgba(255,255,255,.3)}

/* ==========================================================================
   18. АДАПТИВ. Контрольные ширины 1280 / 960 / 568 / 320.
       Десктопная композиция (1920 и 1680) описана выше и здесь не меняется.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1280 — контейнер 1200. Композиция сохраняется, меню целиком.
   -------------------------------------------------------------------------- */
@media (max-width:1659px){

  /* — общие — */
  .eyebrow{font-size:var(--fs-label);gap:8px}
  .eyebrow i{width:5px;height:5px}
  .sec-h2{font-size:var(--fs-h2)}
  .sec-lead{font-size:var(--fs-body)}
  .btn{height:52px;padding:0 26px;font-size:var(--fs-btn);border-radius:10px}

  /* — шапка — */
  .header{top:24px}
  .header__inner{height:100px;padding:0 24px 0 20px;border-radius:16px;margin-left:0}
  .header__logo img{width:78px;height:76px}
  .header__group{margin-left:16px;padding-left:17px;gap:3px}
  .header__group::before{height:52px;margin-top:-26px}
  .header__group-label{font-size:12px}
  .header__group-logo{width:96px;height:31px}
  .header__group ~ .nav{flex:0 1 auto}
  .header__gap{min-width:16px;flex-shrink:1}
  .nav{width:auto;flex:0 1 auto;min-width:0}
  .nav__list{gap:0;justify-content:space-between;flex-wrap:nowrap}
  .nav__list a{font-size:var(--fs-menu)}
  .nav__sep{margin-inline:14px;height:12px}
  .header__phone-ico{margin-right:8px}
  .header__phone-ico img{width:36px;height:36px}
  .header__contact{width:auto;height:auto;align-self:center;margin:0 20px 0 0}
  .header__contact b{position:static;display:block;font-size:16px}
  .header__contact small{position:static;display:block;font-size:11px;color:#8B8B8B}
  .header__cta{width:auto;padding:0 22px;height:48px;font-size:16px}

  /* — первый экран — */
  .hero{height:var(--hero-h)}
  .hero__strip{top:500px;width:300px;height:22px}
  .hero__eyebrow{top:205px;font-size:var(--fs-label)}
  .hero__title{top:250px;width:640px;font-size:var(--fs-h1)}
  .hero__video{top:560px;gap:14px}
  .hero__video img{width:38px;height:38px}
  .hero__video-label{gap:2px;margin-top:6px}
  .hero__video-label > span{font-size:16px}
  .hero__objects{right:400px;width:240px;height:76px;padding:26px 0 0 42px;font-size:16px}
  .hero__promo{top:430px;width:360px;height:324px;border-radius:16px}
  .hero__promo p{left:32px;top:36px;width:296px;font-size:18px;line-height:1.4}
  .hero__promo .btn{left:32px;top:236px;width:296px;height:52px;font-size:16px}
  .hero__badge{top:150px;width:172px;height:112px;border-radius:16px}
  .hero__badge span{left:16px;top:16px;font-size:15px}
  .hero__badge img{left:16px;top:46px;width:140px;height:46px}

  /* — Наши преимущества — */
  .sec-adv{padding-top:var(--sect);padding-bottom:var(--sect)}
  .sec-adv .sec-head{margin-left:0}
  .sec-adv .sec-lead{width:auto;max-width:900px;margin-top:12px}
  .adv-grid{grid-template-columns:repeat(4,1fr);gap:var(--gap);margin-top:48px;margin-left:0}
  .adv-card{width:auto;height:auto;padding-bottom:32px;border-radius:var(--r)}
  .adv-card__photo{position:static;width:72.6%;height:auto;aspect-ratio:1/1;border-radius:0 0 100% 0}
  .adv-card__text{position:static;width:auto;margin:24px 24px 0}
  .adv-card__num{font-size:var(--fs-num)}
  .adv-card__cap{font-size:var(--fs-cap);margin-top:14px}

  /* — Результат в цифрах — */
  .sec-stats{padding-top:var(--sect);padding-bottom:var(--sect)}
  .sec-stats .sec-head{margin-bottom:36px}
  .stats{grid-template-columns:repeat(4,1fr);height:auto;padding:36px 0;border-radius:var(--r)}
  .stats__item{padding:0 28px}
  .stats__item::before{left:0;top:4px;height:calc(100% - 8px)}
  .stats__num{font-size:var(--fs-num)}
  .stats__cap{width:auto;font-size:var(--fs-cap);margin-top:12px}

  /* — Кто мы — */
  .sec-about{padding-top:var(--sect);padding-bottom:var(--sect)}
  .about__h2{width:auto;max-width:620px;margin-top:12px}
  .about__text{width:auto;max-width:620px;margin-top:28px;font-size:var(--fs-body)}
  .about__text p + p{margin-top:20px}
  .facts{width:auto;max-width:660px;margin-top:40px}
  .fact{width:50%;height:auto;min-height:160px}
  .fact__ico{display:none}
  .fact b{position:static;display:block;padding:26px 24px 0;font-size:var(--fs-num)}
  .fact + .fact b{padding-top:26px}
  .fact span{position:static;display:block;width:auto;padding:10px 24px 26px;font-size:var(--fs-cap)}
  .fact + .fact span{padding-top:10px}
  .about__btn{margin-top:36px}
  .about__photo{width:420px;height:auto;aspect-ratio:705/766;top:100px;border-radius:var(--r)}

  /* — Что мы делаем + шаги — */
  .sec-dir{padding-top:var(--sect);padding-bottom:var(--sect)}
  .dir-grid{grid-template-columns:repeat(2,1fr);gap:var(--gap);margin-top:44px}
  .dir{height:auto;padding:36px 32px 40px;display:flex;flex-direction:column;align-items:center;gap:16px;border-radius:var(--r)}
  .dir__ico{position:static;width:72px;height:72px}
  .dir__title,.dir__body,.dir__tags-title,.dir__tags{position:static;width:auto;left:auto;right:auto;top:auto}
  .dir__title{font-size:var(--fs-h3)}
  .dir__body{font-size:var(--fs-body);max-width:460px}
  .dir__tags-title{font-size:var(--fs-cap);margin-top:8px}
  .dir__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
  .tag{height:48px;font-size:var(--fs-cap);padding:0 18px;border-radius:10px}
  .dir__tags--2 .tag,.dir__tags--3 .tag{width:auto}
  .steps{grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:80px}
  .step{height:auto;min-height:220px;padding:56px 26px 28px;border-radius:var(--r)}
  .step__n{width:72px;height:72px;top:-24px;left:26px;font-size:24px;z-index:2}
  .step__ghost{font-size:150px;letter-spacing:-10px;left:auto;right:14px;top:auto;bottom:-34px;z-index:0}
  .step__title,.step__body{position:relative;inset:auto;z-index:1;width:auto}
  .step__title{font-size:var(--fs-h3);white-space:normal}
  .step__body{font-size:var(--fs-cap);margin-top:12px}

  /* — Почему выбирают — */
  .sec-why{padding-top:var(--sect)}
  .why-grid{grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:48px;margin-left:0}
  .why{height:auto;padding:28px 26px 32px;display:flex;flex-direction:column;border-radius:var(--r)}
  .why__photo{width:46%;aspect-ratio:1/1;height:auto}
  .why__label{position:static;max-width:50%;font-size:var(--fs-cap)}
  .why__rule{position:static;margin:12px 0 0}
  .why__title{position:static;width:auto;max-width:54%;margin-top:14px;font-size:var(--fs-h3)}
  .why__body{position:static;width:auto;margin-top:24px;font-size:var(--fs-cap);flex:1}
  .why__nums{position:static;margin-top:22px;grid-auto-columns:minmax(0,1fr)}
  .why__nums > div + div::before{left:-10px;top:2px;height:44px}
  .why__nums b{font-size:24px}
  .why__nums span{font-size:14px}

  /* — Технологии — */
  .sec-tech{padding-top:var(--sect)}
  .tech__h2,.tech__lead{width:auto}
  .tech__lead{margin-top:20px;font-size:var(--fs-body)}
  .tech-grid{grid-template-columns:repeat(3,1fr);column-gap:var(--gap);row-gap:var(--gap);margin-top:44px;margin-left:0}
  .tech{height:auto;padding:26px 26px 74px;border-radius:var(--r)}
  .tech__media{position:static;width:100%;height:auto;aspect-ratio:505/190;border-radius:14px}
  .tech__tag{position:static;margin-top:18px}
  .tech__rule{top:auto;bottom:74px;left:26px;height:auto;display:none}
  .tech__text{position:static;width:auto;height:auto;display:block;padding:0 0 0 14px;margin-top:18px;border-left:2px solid var(--orange)}
  .tech__title{margin:0 0 14px;font-size:var(--fs-h3)}
  .tech__body{font-size:var(--fs-cap)}
  .tech__mark{right:26px;bottom:20px;width:22px;height:38px}

  /* — Объекты — */
  .sec-obj{padding-top:var(--sect);padding-bottom:var(--sect)}
  .obj__h2{width:auto}
  .obj-grid{grid-template-columns:repeat(3,1fr);column-gap:var(--gap);row-gap:44px;margin-top:44px}
  .obj__media{width:100%;height:auto;aspect-ratio:560/370;border-radius:var(--r)}
  .obj__text{width:auto;margin-left:0}
  .obj__meta,.obj__body{font-size:var(--fs-cap)}
  .obj__title{font-size:var(--fs-cap);margin-top:10px}
  .obj__body{margin-top:10px}
  .obj-more{margin-top:44px}

  /* — Промо-баннер — */
  .sec-promo{height:auto;background:#fff}
  .promo__photo{position:static;width:100%;height:auto;aspect-ratio:1920/585}
  .promo__inner{height:auto}
  .promo__tiles{position:relative;right:auto;top:auto;margin:-140px 0 0 auto;width:min(100%,720px)}
  .promo__tile{height:auto;width:50%;padding:28px 26px 32px}
  .promo__ico{position:static;width:96px!important;height:auto!important}
  .promo__tile p{position:static;width:auto!important;left:auto!important;margin-top:28px;font-size:var(--fs-body)}

  /* — Партнёры — */
  .sec-partners{padding-top:var(--sect);padding-bottom:var(--sect)}
  .partners{grid-template-columns:repeat(6,1fr);margin-top:44px}
  .partner{height:180px}
  .partner__bar{left:50%;transform:translateX(-50%);width:72px}
  .partner__logo{left:50%!important;top:34px!important;transform:translateX(-50%);
    width:auto!important;height:auto!important;max-width:72%;max-height:62px}
  .partner span{top:auto;bottom:18px;font-size:var(--fs-cap);padding:0 8px}

  /* — Блог — */
  .sec-blog{padding-top:var(--sect);padding-bottom:var(--sect)}
  .blog-grid{grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:44px}
  .post__media{width:100%;height:auto;aspect-ratio:560/370;border-radius:var(--r)}
  .post__date{font-size:var(--fs-cap);margin-top:14px}
  .post__title{font-size:var(--fs-cap);margin-top:10px}
  .post__title br,.tech__title br,.obj__title br{display:none}

  /* — Форма — */
  .sec-form{padding-bottom:var(--sect)}
  .form-wrap{height:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
  .form-plate{display:none}
  .form-aside{position:relative;left:auto;top:auto;width:auto;height:auto;z-index:auto;
    background:#F7F7F7;border-radius:var(--r);padding:36px 32px 0;overflow:hidden}
  .form-aside__photo{position:static;width:calc(100% + 64px);max-width:none;height:auto;margin:32px -32px 0;z-index:auto}
  .form-aside__label,.form-aside__h2,.form-aside__note,.c-phone,.c-mail,.c-addr{
    position:static;left:auto;top:auto;width:auto;display:block;margin-top:0}
  .form-aside__label{font-size:var(--fs-cap)}
  .form-aside__h2{margin-top:14px;font-size:var(--fs-h2)}
  .form-aside__note{margin-top:20px;font-size:var(--fs-cap);max-width:420px}
  .c-row{display:flex;align-items:center;gap:14px}
  .c-row--1{margin-top:32px}
  .c-row--2{margin-top:16px}
  .c-row--3{margin-top:14px;align-items:flex-start}
  .c-ico{position:static;flex:none;width:46px;height:46px;z-index:auto}
  .c-row--3 .c-ico{margin-top:-2px}
  .c-phone{font-size:30px;white-space:nowrap}
  .c-mail{font-size:var(--fs-cap)}
  .c-addr{font-size:var(--fs-cap)}
  .lead{position:relative;left:auto;top:auto;width:auto;height:auto}
  .lead__title,.lead__note,.lead__label,.lead__input,.lead__check,.lead__agree,.lead__btn{
    position:static;left:auto;top:auto}
  .lead__title{font-size:30px}
  .lead__note{margin-top:8px;font-size:var(--fs-cap)}
  .lead__label{display:block;margin-top:22px;font-size:var(--fs-cap)}
  .lead__input{width:100%;margin-top:8px;height:52px;font-size:16px;border-radius:14px;padding:0 20px}
  .lead__area{height:190px;padding:14px 20px}
  .lead__check{position:relative;width:24px;height:24px;border-radius:8px;margin-top:26px;flex:none}
  .lead__check:checked::after{left:5px;top:5px;width:10px;height:10px}
  .lead__agree{width:auto;margin-top:26px;font-size:14px}
  .lead__row{display:flex;gap:12px;align-items:flex-start}
  .lead__btn{width:auto;padding:0 26px;margin-top:26px;height:52px;font-size:16px}

  /* — Подвал — */
  .footer{padding-bottom:32px}
  .footer__top{height:auto;display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);
    gap:32px var(--gap);padding:64px 0 40px;
    grid-template-areas:"brand razdel company contacts"}
  .footer__logo,.footer__brand,.footer__descr,.soc,.fh,.flinks,
  .footer__map,.footer__phone,.footer__mail,.footer__addr{
    position:static;left:auto;top:auto;width:auto}
  .footer__brand-col{grid-area:brand}
  .footer__col-1{grid-area:razdel}
  .footer__col-2{grid-area:company}
  .footer__col-3{grid-area:contacts}
  .footer__logo{width:96px;height:auto}
  .footer__brand{font-size:34px}
  .footer__brandline{display:flex;align-items:center;gap:14px}
  .footer__descr{margin-top:18px;font-size:var(--fs-cap)}
  .socials{display:flex;gap:14px;margin-top:26px}
  .soc{width:48px;height:48px}
  .fh{font-size:20px;margin-bottom:18px}
  .flinks li{height:auto;margin-bottom:12px}
  .flinks a{font-size:var(--fs-cap)}
  .footer__map{width:100%;height:auto;aspect-ratio:415/181;margin-bottom:18px;border-radius:10px}
  .footer__phone{display:block;font-size:20px}
  .footer__mail{display:block;margin-top:10px;font-size:var(--fs-cap)}
  .footer__addr{margin-top:10px;font-size:var(--fs-cap)}
  .footer__bar{height:auto;padding:22px 0}
  .footer__chevron{display:none}
  .footer__bar-in{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
  .bar-logo,.bar-name,.bar-sub,.bar-mid,.bar-vecfort{position:static;left:auto;top:auto}
  .bar-group{display:flex;align-items:center;gap:12px}
  .bar-logo{width:56px;height:auto}
  .bar-name{font-size:22px}
  .bar-sub{font-size:13px}
  .bar-mid{font-size:var(--fs-cap)}
  .bar-vecfort{width:120px;height:auto}
  .footer__copy{margin-top:20px;font-size:var(--fs-cap);gap:20px}
}

/* --------------------------------------------------------------------------
   960 — контейнер 896. Меню в бургер, шапка залипает, две колонки.
   -------------------------------------------------------------------------- */
@media (max-width:1279px){

  /* — шапка — */
  :root{--header-h:88px}
  /* шапка выше панели меню: логотип и кнопка звонка остаются на месте */
  .header{position:fixed;top:0;z-index:52;background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.07)}
  .header__inner{height:88px;padding:0;border:0;border-radius:0;background:none;
    backdrop-filter:none;-webkit-backdrop-filter:none;justify-content:space-between}
  .nav,.header__gap,.header__cta{display:none}
  .burger{display:flex;margin-left:auto}
  .header__logo img{width:62px;height:60px}
  .header__group{margin-left:16px;padding-left:17px}
  .header__group::before{height:44px;margin-top:-22px}
  .header__phone-ico{margin-left:auto;margin-right:10px}
  .header__contact{margin-right:16px}

  /* — первый экран: синяя карточка выходит из наложения — */
  .hero{height:auto;min-height:0;padding-top:88px;padding-bottom:0}
  .hero__photo{position:absolute;left:0;top:88px;width:100%;height:var(--hero-h);object-fit:cover}
  .hero__stage{height:auto;padding-top:150px;padding-bottom:0}
  .hero__strip{display:none}
  .hero__eyebrow,.hero__title,.hero__video,.hero__objects,.hero__promo,.hero__badge{
    position:static;left:auto;right:auto;top:auto;bottom:auto}
  .hero__eyebrow{font-size:var(--fs-label);white-space:normal}
  .hero__title{width:auto;max-width:calc(100% - 180px);margin-top:16px;font-size:var(--fs-h1)}
  .hero__badge + .hero__promo{margin-top:44px}
  .hero__video{display:inline-flex;margin-top:34px}
  .hero__objects{display:inline-flex;width:auto;height:auto;padding:16px 26px;margin:24px 0 0 20px;
    border-radius:10px;font-size:var(--fs-cap);vertical-align:top}
  .hero__badge{position:absolute;right:0;top:120px;width:150px;height:98px;border-radius:14px}
  .hero__badge span{position:absolute;left:14px;top:14px;font-size:13px}
  .hero__badge img{position:absolute;left:14px;top:40px;width:122px;height:40px}
  .hero__promo{width:100%;height:auto;margin-top:44px;padding:32px 30px 36px;border-radius:var(--r)}
  .hero__promo p{position:static;width:auto;font-size:var(--fs-body);line-height:1.4}
  .hero__promo .btn{position:static;width:100%;margin-top:28px;height:52px}
  .hero-spacer{display:block;height:calc(var(--hero-h) - 320px)}

  /* — сетки: 4→2, 3→2, 6→3 — */
  .adv-grid{grid-template-columns:repeat(2,1fr);margin-top:36px}
  .stats{grid-template-columns:repeat(2,1fr);row-gap:28px;padding:32px 0}
  .stats__item:nth-child(2n+1)::before{display:none}
  .dir-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr);margin-top:70px}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .why:last-child{grid-column:span 2}
  .why__photo{position:static;width:100%;aspect-ratio:16/9;height:auto;
    border-radius:14px 14px 0 60px;margin-bottom:16px}
  .why:last-child .why__photo{aspect-ratio:32/9}
  .why__label,.why__title{max-width:none}
  .why__body{margin-top:16px}
  .tech-grid{grid-template-columns:repeat(2,1fr)}
  .obj-grid{grid-template-columns:repeat(2,1fr)}
  .partners{grid-template-columns:repeat(3,1fr)}
  .partner:nth-child(3n) {border-right:1px solid #D9D9D9}
  .partner:nth-child(-n+3){border-bottom:1px solid #D9D9D9}
  .blog-grid{grid-template-columns:repeat(3,1fr)}

  /* — Кто мы — */
  .about__h2,.about__text{max-width:520px}
  .about__photo{width:300px;top:80px}
  .facts{max-width:520px}

  /* — промо-баннер: плитки под фото на всю ширину — */
  .promo__tiles{margin:0;width:100%}
  .promo__tile{padding:26px 22px 30px}

  /* — форма — */
  .c-phone{font-size:26px}

  /* — подвал: 2×2 — */
  .footer__top{grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:"brand contacts" "razdel company"}
}

/* --------------------------------------------------------------------------
   568 — контейнер 520. Один столбик, фото первого экрана уходит в фон.
   -------------------------------------------------------------------------- */
@media (max-width:959px){

  .btn{height:48px;padding:0 20px;font-size:var(--fs-btn);width:100%}
  .sec-adv,.sec-stats,.sec-about,.sec-dir,.sec-obj,.sec-partners,.sec-blog{
    padding-top:var(--sect);padding-bottom:var(--sect)}
  .sec-why,.sec-tech{padding-top:var(--sect)}

  /* — шапка — */
  :root{--header-h:64px}
  .header__inner{height:64px}
  .header__logo img{width:46px;height:45px}
  .header__group{margin-left:12px;padding-left:13px;gap:2px}
  .header__group::before{height:36px;margin-top:-18px}
  .header__group-label{font-size:10px}
  .header__group-logo{width:80px;height:26px}
  .header__contact{display:none}
  .header__phone-ico img{width:38px;height:38px}

  /* — первый экран — */
  .hero{padding-top:64px}
  .hero__photo{top:64px;height:var(--hero-h);filter:brightness(.62)}
  .hero__stage{padding-top:90px}
  .hero__title{max-width:none;font-size:var(--fs-h1);margin-top:14px}
  .hero__video{margin-top:26px}
  .hero__objects{display:flex;width:100%;justify-content:center;margin:20px 0 0}
  .hero__badge{display:none}
  .hero__promo{margin-top:36px;padding:26px 22px 30px}
  .hero__promo .btn{height:48px}

  /* — карточки — */
  .adv-grid{grid-template-columns:repeat(2,1fr);gap:var(--gap);margin-top:26px}
  .adv-card{padding-bottom:24px}
  .adv-card__text{margin:18px 18px 0}
  .adv-card__cap{margin-top:10px}
  .stats{grid-template-columns:repeat(2,1fr);row-gap:22px;padding:26px 0}
  .stats__item{padding:0 20px}
  .stats__cap{margin-top:10px}

  .about__h2,.about__text,.facts{max-width:none;width:auto}
  .about__photo{position:static;width:100%;height:auto;margin-top:26px;order:9}
  .sec-about .container{display:flex;flex-direction:column}
  .facts{flex-wrap:wrap;margin-top:26px}
  .fact{width:100%;min-height:0}
  .fact + .fact{margin-left:0;margin-top:-1px}
  .fact b{padding:22px 20px 0}
  .fact span{padding:8px 20px 22px}
  .about__btn{margin-top:22px}

  .dir-grid{grid-template-columns:1fr;gap:var(--gap);margin-top:26px}
  .dir{padding:24px 20px 28px;align-items:flex-start;text-align:left;gap:14px}
  .dir__title,.dir__body,.dir__tags-title{text-align:left}
  .dir__body{max-width:none}
  .dir__tags{justify-content:flex-start}
  .tag{height:44px;font-size:var(--fs-cap);padding:0 16px}
  .steps{grid-template-columns:1fr;gap:52px;margin-top:56px}
  .step{padding:46px 20px 24px;min-height:0}
  .step__n{width:56px;height:56px;top:-20px;left:20px;font-size:20px}
  .step__ghost{display:none}
  .step__body{margin-top:10px}

  .why-grid{grid-template-columns:1fr;gap:var(--gap);margin-top:26px}
  .why:last-child{grid-column:auto}
  .why{padding:20px 20px 24px}
  .why__photo,.why:last-child .why__photo{width:100%;aspect-ratio:16/9;border-radius:14px 14px 0 56px;margin-bottom:16px}
  .why__body{margin-top:16px}
  .why__nums{margin-top:18px}

  .tech-grid{grid-template-columns:1fr;margin-top:26px}
  .tech{padding:20px 20px 66px}
  .tech__text{margin-top:16px}

  .obj-grid{grid-template-columns:1fr;row-gap:28px;margin-top:26px}
  .obj-more{margin-top:26px}

  .promo__tiles{flex-direction:column}
  .promo__tile{width:100%;display:flex;align-items:center;gap:18px;padding:20px}
  .promo__ico{width:64px!important;flex:none}
  .promo__tile p{margin-top:0}

  .partners{grid-template-columns:repeat(2,1fr);margin-top:26px}
  .partner{height:150px;border-right:1px solid #D9D9D9;border-bottom:1px solid #D9D9D9}
  .partner:nth-child(2n){border-right:0}
  .partner:nth-child(n+5){border-bottom:0}
  .partner__logo{top:26px!important;max-height:50px}
  .partner span{bottom:14px;font-size:13px}

  .blog-grid{grid-template-columns:1fr;margin-top:26px}

  .form-wrap{grid-template-columns:1fr;gap:22px}
  .form-aside{padding:24px 20px 0}
  .form-aside__photo{width:calc(100% + 40px);margin:24px -20px 0}

  .form-aside__h2{font-size:var(--fs-h2)}
  .c-row{gap:12px}
  .c-ico{width:38px;height:38px}
  .c-phone{font-size:24px}
  .lead__title{font-size:24px}
  .lead__btn{width:100%}

  .footer{padding-bottom:24px}
  .footer__top{grid-template-columns:1fr;grid-template-areas:"brand" "razdel" "company" "contacts";
    gap:28px;padding:44px 0 32px}
  .footer__brand{font-size:28px}
  .footer__logo{width:80px}
  .footer__copy{flex-direction:column;gap:10px}
}

/* --------------------------------------------------------------------------
   320 — контейнер 288. Всё в один столбик.
   -------------------------------------------------------------------------- */
@media (max-width:567px){

  :root{--header-h:56px}
  .header__inner{height:56px}
  .header__logo img{width:42px;height:41px}
  .header__group{margin-left:10px;padding-left:11px}
  .header__group::before{height:32px;margin-top:-16px}
  .header__group-label{font-size:9px}
  .header__group-logo{width:72px;height:23px}

  .hero{padding-top:56px}
  .hero__photo{top:56px}
  .hero__stage{padding-top:70px}
  .hero__promo{padding:22px 18px 26px}

  .adv-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr;row-gap:0}
  .stats__item{padding:18px 18px}
  .stats__item + .stats__item{border-top:1px solid var(--line)}
  .stats__item::before{display:none!important}

  .why__nums{grid-auto-flow:row;grid-auto-columns:auto;gap:14px}
  .why__nums > div + div::before{display:none}

  .dir__tags{flex-direction:column;width:100%}
  .dir__tags--2 .tag,.dir__tags--3 .tag{width:100%}

  .partners{grid-template-columns:repeat(2,1fr)}
  .partner{height:130px}
  .partner__logo{max-height:42px;top:22px!important}
  .partner span{font-size:12px;bottom:12px}

  .lead__agree{font-size:13px}

  .footer__brandline{gap:10px}
  .footer__brand{font-size:24px}
  .footer__logo{width:64px}
}

/* «Показать ещё» — включается скриптом на узких ширинах */
.js-hidden{display:none!important}
.more-btn{display:none;width:100%;margin-top:20px}


/* ---------- Модальное окно с видео: адаптив ---------- */
@media (max-width:1659px){
  .vmodal{padding:28px}
  .vmodal__box{max-width:1080px}
  .vmodal__frame{border-radius:14px}
  .vmodal__cap{margin-top:14px;font-size:var(--fs-cap)}
  .vmodal__close{width:44px;height:44px;top:-54px;font-size:26px}
}
@media (max-width:959px){
  .vmodal{padding:16px}
  .vmodal__close{width:40px;height:40px;top:-48px;font-size:24px}
}
@media (max-width:567px){
  .vmodal{padding:12px}
  .vmodal__frame{border-radius:10px}
  .vmodal__close{width:36px;height:36px;top:-44px;font-size:22px}
  .vmodal__cap{font-size:13px}
}

/* ---------- Шапка с логотипом Vecfort: узкая десктопная полоса ----------
   1280–1439: меню целиком + два логотипа + телефон + кнопка не влезают
   со штатными отступами у разделителей — поджимаем их и распорки. */
@media (min-width:1280px) and (max-width:1439px){
  .header__group ~ .nav .nav__sep{margin-inline:clamp(6px, calc((100vw - 1280px) / 10 + 6px), 14px)}
  .header__group{margin-left:12px;padding-left:13px}
  .header__group ~ .header__gap{min-width:12px}
}
