@charset "UTF-8";
/* ==========================================================================
   ГЕОПИР — страница «О компании» (about.html). Десктоп 1920 / 1680.
   Все размеры — calc(Npx * var(--s)), поэтому 1680 масштабируется
   тем же множителем 0.88372, что и остальные страницы.
   Раскладка потоковая (grid/flex), а не абсолютная: у страницы нет
   макета в Figma, и правки текста не должны ломать координаты.
   ========================================================================== */

.page-about{
  --sec-pad:calc(120px * var(--s));   /* вертикальный ритм секций */
  --card-r:calc(20px * var(--s));
  --card-sh:0 4px 24px rgba(0,0,0,.07);
}

/* блок-обёртка секции: одинаковые отступы и место под якорь.
   Шапка absolute и над контентом не висит, поэтому запас минимальный */
.ab-sec{padding:var(--sec-pad) 0;scroll-margin-top:calc(24px * var(--s))}
.ab-sec--warm{background:var(--warm)}
.ab-sec--grey{background:var(--grey)}
.ab-sec--tight{padding-top:calc(90px * var(--s))}

/* шапка секции: надзаголовок → H2 → лид.
   width:fit-content у H2 — чтобы его блок не растягивался на всю ширину
   и не подлезал под стрелки слайдера отзывов, стоящие справа */
.ab-head{max-width:calc(1180px * var(--s))}
.ab-head .sec-h2{margin-top:calc(14px * var(--s));width:fit-content;max-width:100%}
.ab-head .sec-lead{margin-top:calc(18px * var(--s))}
.ab-grid-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:calc(40px * var(--s));
}
.ab-grid-head .ab-head{flex:1 1 auto}
.ab-grid-head .btn{flex:none}

/* тонкая оранжевая черта — тот же приём, что на карточках услуг */
.ab-rule{display:block;width:calc(62.5px * var(--s));height:1px;background:#F5BE91;border:0;margin:0}

/* --------------------------------------------------------------------------
   1. Первый экран
   -------------------------------------------------------------------------- */
.ab-hero{position:relative;height:calc(620px * var(--s));overflow:hidden}
.ab-hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ab-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(15,44,63,.78) 0%,rgba(15,44,63,.52) 46%,rgba(15,44,63,.12) 100%);
}
.ab-hero__stage{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:calc(96px * var(--s))}
.ab-hero .crumbs{position:static;margin-bottom:auto;padding-top:calc(196px * var(--s))}
.ab-hero .crumbs a{color:rgba(255,255,255,.66)}
.ab-hero .crumbs a:hover{color:#fff}
.ab-hero .crumbs span{color:#fff}
.ab-hero .crumbs i{background:rgba(255,255,255,.66)}
.ab-hero__eyebrow{color:rgba(255,255,255,.82)}
.ab-hero__eyebrow i{background:var(--orange)}
.ab-hero__title{
  margin-top:calc(18px * var(--s));width:calc(1100px * var(--s));
  font-weight:900;font-size:calc(70px * var(--s));line-height:1.2;color:#fff;text-transform:uppercase;
}
.ab-hero__lead{
  margin-top:calc(24px * var(--s));width:calc(820px * var(--s));
  font-size:calc(20px * var(--s));line-height:1.5;color:rgba(255,255,255,.86);
}

/* --------------------------------------------------------------------------
   2. Якорная навигация — фиксированная колонка буллитов слева.
      Живёт в боковом поле страницы (при 1920 контейнер отступает на 100px,
      при 1680 — на 80px), поэтому контент не перекрывает.
   -------------------------------------------------------------------------- */
.ab-rail{
  position:fixed;left:calc(30px * var(--s));top:50%;transform:translateY(-50%);
  z-index:35;
  opacity:0;visibility:hidden;
  transition:opacity .28s ease,visibility .28s ease;
}
/* появляется, когда первый экран прокручен */
.ab-rail[data-show="true"]{opacity:1;visibility:visible}
.ab-rail__list{display:flex;flex-direction:column;gap:calc(10px * var(--s))}

/* сама зона клика больше точки — попасть проще */
.ab-rail__dot{
  position:relative;display:block;
  width:calc(30px * var(--s));height:calc(30px * var(--s));
}
.ab-rail__dot::before{           /* точка */
  content:"";position:absolute;left:50%;top:50%;
  width:calc(10px * var(--s));height:calc(10px * var(--s));
  margin:calc(-5px * var(--s)) 0 0 calc(-5px * var(--s));
  border-radius:50%;background:#BFC7CC;
  transition:background .18s ease,width .18s ease,height .18s ease,margin .18s ease;
}
.ab-rail__dot::after{            /* кольцо активного раздела */
  content:"";position:absolute;left:50%;top:50%;
  width:calc(26px * var(--s));height:calc(26px * var(--s));
  margin:calc(-13px * var(--s)) 0 0 calc(-13px * var(--s));
  border-radius:50%;border:1px solid var(--blue);
  opacity:0;transform:scale(.5);
  transition:opacity .2s ease,transform .2s ease;
}
.ab-rail__dot:hover::before{background:var(--blue)}
.ab-rail__dot[aria-current="true"]::before{
  background:var(--blue);
  width:calc(14px * var(--s));height:calc(14px * var(--s));
  margin:calc(-7px * var(--s)) 0 0 calc(-7px * var(--s));
}
.ab-rail__dot[aria-current="true"]::after{opacity:1;transform:scale(1)}

/* подпись раздела — всплывает справа от буллита */
.ab-rail__label{
  position:absolute;left:100%;top:50%;
  padding:calc(8px * var(--s)) calc(14px * var(--s));
  background:#2F3142;color:#fff;border-radius:calc(8px * var(--s));
  font-size:calc(15px * var(--s));line-height:1.3;white-space:nowrap;
  box-shadow:0 6px 18px rgba(0,0,0,.16);
  opacity:0;pointer-events:none;
  transform:translate(calc(-6px * var(--s)),-50%);
  transition:opacity .18s ease,transform .18s ease;
}
.ab-rail__label::before{         /* уголок к буллиту */
  content:"";position:absolute;right:100%;top:50%;
  border:calc(6px * var(--s)) solid transparent;border-right-color:#2F3142;
  margin-top:calc(-6px * var(--s));
}
.ab-rail__dot:hover .ab-rail__label,
.ab-rail__dot:focus-visible .ab-rail__label{
  opacity:1;transform:translate(calc(2px * var(--s)),-50%);
}

/* --------------------------------------------------------------------------
   3. О компании
   -------------------------------------------------------------------------- */
.ab-about__body{
  display:grid;grid-template-columns:1fr calc(1px) 1fr;
  gap:calc(46px * var(--s));margin-top:calc(48px * var(--s));
}
.ab-about__body p{font-size:calc(20px * var(--s));line-height:1.6}
.ab-about__body p + p{margin-top:calc(18px * var(--s))}
.ab-about__rule{background:var(--line)}

.ab-panel{
  position:relative;display:grid;grid-template-columns:calc(760px * var(--s)) 1fr;
  gap:calc(56px * var(--s));align-items:center;
  margin-top:calc(64px * var(--s));padding:calc(40px * var(--s));
  background:#fff;border-radius:var(--card-r);box-shadow:var(--card-sh);
}
.ab-panel__photo{width:100%;height:calc(430px * var(--s));object-fit:cover;border-radius:calc(14px * var(--s))}
.ab-panel__title{font-weight:600;font-size:calc(30px * var(--s));line-height:1.3;color:#2F3142}
.ab-panel .ab-rule{margin:calc(20px * var(--s)) 0}
.ab-panel__body{font-size:calc(20px * var(--s));line-height:1.6}
.ab-panel .btn{margin-top:calc(30px * var(--s))}

/* --------------------------------------------------------------------------
   4. Обращение директора
   -------------------------------------------------------------------------- */
.ab-dir{display:grid;grid-template-columns:calc(560px * var(--s)) 1fr;gap:calc(80px * var(--s));margin-top:calc(56px * var(--s))}
.ab-dir__figure{margin:0}
.ab-dir__photo{
  width:100%;height:calc(700px * var(--s));object-fit:cover;
  border-radius:var(--card-r);box-shadow:var(--card-sh);
}
.ab-dir__cap{margin-top:calc(24px * var(--s))}
.ab-dir__name{font-weight:700;font-size:calc(24px * var(--s));line-height:1.3;color:#2F3142}
.ab-dir__post{margin-top:calc(6px * var(--s));font-size:calc(18px * var(--s));line-height:1.4;color:var(--ink-2)}

.ab-dir__text{position:relative;align-self:center}
.ab-dir__quote{
  display:block;font-weight:900;font-size:calc(120px * var(--s));line-height:.7;
  color:#DCEBF5;user-select:none;
}
.ab-dir__text p{margin-top:calc(24px * var(--s));font-size:calc(20px * var(--s));line-height:1.65}
.ab-dir__text p + p{margin-top:calc(18px * var(--s))}
.ab-dir__sign{
  display:flex;align-items:center;gap:calc(20px * var(--s));
  margin-top:calc(36px * var(--s));padding-top:calc(28px * var(--s));border-top:1px solid var(--line);
}
.ab-dir__sign b{font-weight:700;font-size:calc(20px * var(--s));color:#2F3142}
.ab-dir__sign span{font-size:calc(18px * var(--s));color:var(--ink-2)}

/* --------------------------------------------------------------------------
   5. Показатели и преимущества
   -------------------------------------------------------------------------- */
.ab-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(32px * var(--s));margin-top:calc(56px * var(--s))}
.ab-stat{
  padding:calc(38px * var(--s)) calc(34px * var(--s));
  background:#fff;border-radius:var(--card-r);box-shadow:var(--card-sh);
}
.ab-stat__n{
  display:flex;align-items:baseline;gap:calc(4px * var(--s));
  font-weight:900;font-size:calc(60px * var(--s));line-height:1;color:var(--blue);
}
.ab-stat__n i{font-style:normal;font-size:calc(34px * var(--s));color:var(--orange)}
.ab-stat__t{margin-top:calc(18px * var(--s));font-weight:600;font-size:calc(20px * var(--s));line-height:1.3;color:#2F3142}
.ab-stat__d{margin-top:calc(10px * var(--s));font-size:calc(17px * var(--s));line-height:1.5;color:var(--ink-2)}

.ab-adv{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(32px * var(--s));margin-top:calc(32px * var(--s))}
.ab-adv__item{
  display:flex;flex-direction:column;
  padding:calc(36px * var(--s)) calc(34px * var(--s));
  background:#F3F6F8;border-radius:var(--card-r);
}
.ab-adv__ico{width:calc(64px * var(--s));height:calc(64px * var(--s));object-fit:contain}
.ab-adv__t{margin-top:calc(24px * var(--s));font-weight:600;font-size:calc(22px * var(--s));line-height:1.3;color:#2F3142}
.ab-adv__item .ab-rule{margin:calc(16px * var(--s)) 0}
.ab-adv__d{font-size:calc(18px * var(--s));line-height:1.6}

/* --------------------------------------------------------------------------
   6. Модальное окно (лайтбокс) — используется галереей на object.html
   -------------------------------------------------------------------------- */
.ab-modal{
  position:fixed;inset:0;z-index:60;display:none;
  align-items:center;justify-content:center;padding:calc(40px * var(--s));
  background:rgba(18,26,32,.82);
}
.ab-modal[data-open="true"]{display:flex}
.ab-modal__box{position:relative;max-width:calc(1100px * var(--s));width:100%;text-align:center}
.ab-modal__img{
  max-height:calc(78vh);width:auto;margin:0 auto;
  border-radius:calc(10px * var(--s));box-shadow:0 20px 60px rgba(0,0,0,.45);background:#fff;
}
.ab-modal__cap{margin-top:calc(20px * var(--s));font-size:calc(20px * var(--s));line-height:1.4;color:#fff}
.ab-modal__cap small{display:block;margin-top:calc(6px * var(--s));font-size:calc(16px * var(--s));color:rgba(255,255,255,.6)}
.ab-modal__btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:calc(64px * var(--s));height:calc(64px * var(--s));border-radius:50%;
  background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.2);
}
.ab-modal__btn::before{
  content:"";position:absolute;left:50%;top:50%;
  width:calc(12px * var(--s));height:calc(12px * var(--s));
  border-right:2px solid #2F3142;border-bottom:2px solid #2F3142;
}
.ab-modal__btn--prev{left:calc(-90px * var(--s))}
.ab-modal__btn--prev::before{transform:translate(-30%,-50%) rotate(135deg)}
.ab-modal__btn--next{right:calc(-90px * var(--s))}
.ab-modal__btn--next::before{transform:translate(-70%,-50%) rotate(-45deg)}
.ab-modal__close{
  position:absolute;right:calc(-72px * var(--s));top:calc(-56px * 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;
}
.ab-modal__close:hover{background:rgba(255,255,255,.28)}

/* --------------------------------------------------------------------------
   7. Отзывы — слайдер на slick
   -------------------------------------------------------------------------- */
.ab-rev__stage{position:relative;margin-top:calc(56px * var(--s))}
/* Список шире рамки ровно на один зазор — тогда третья карточка встаёт
   вровень с правым краем контейнера. Лишнее режет сам слайдер, а не список:
   у списка overflow:visible, чтобы не срезалась тень карточек.
   Вертикальный паддинг даёт тени место, отрицательный margin гасит его в потоке. */
.ab-rev__slider{
  overflow:hidden;
  padding:calc(20px * var(--s)) 0;
  margin:calc(-20px * var(--s)) 0;
}
.ab-rev__slider .slick-list{width:calc(100% + 32px * var(--s));overflow:visible}
.ab-rev__slider .slick-slide{padding-right:calc(32px * var(--s))}
.ab-rev__card{
  display:flex;flex-direction:column;height:calc(430px * var(--s));
  padding:calc(40px * var(--s));background:#fff;border-radius:var(--card-r);box-shadow:var(--card-sh);
}
.ab-rev__mark{font-weight:900;font-size:calc(64px * var(--s));line-height:.6;color:#DCEBF5}
.ab-rev__text{margin-top:calc(24px * var(--s));font-size:calc(18px * var(--s));line-height:1.6;flex:1 1 auto;overflow:hidden}
.ab-rev__foot{display:flex;align-items:center;gap:calc(18px * var(--s));padding-top:calc(24px * var(--s));border-top:1px solid var(--line)}
/* логотипы заказчиков разной пропорции — бокс фиксированный, вписываем contain */
.ab-rev__logo{width:calc(120px * var(--s));height:calc(52px * var(--s));object-fit:contain;object-position:left center;flex:none}
.ab-rev__who b{display:block;font-weight:700;font-size:calc(18px * var(--s));color:#2F3142}
.ab-rev__who span{display:block;margin-top:calc(4px * var(--s));font-size:calc(16px * var(--s));color:var(--ink-2)}

.ab-arw{
  position:absolute;top:calc(-92px * var(--s));z-index:2;
  width:calc(64px * var(--s));height:calc(64px * var(--s));border-radius:50%;
  background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.10);
  transition:background .18s ease;
}
.ab-arw:hover{background:#F4F4F4}
.ab-arw::before{
  content:"";position:absolute;left:50%;top:50%;
  width:calc(11px * var(--s));height:calc(11px * var(--s));
  border-right:2px solid #2F3142;border-bottom:2px solid #2F3142;
}
.ab-arw--prev{right:calc(84px * var(--s))}
.ab-arw--prev::before{transform:translate(-30%,-50%) rotate(135deg)}
.ab-arw--next{right:0}
.ab-arw--next::before{transform:translate(-70%,-50%) rotate(-45deg)}

/* --------------------------------------------------------------------------
   8. Партнёры
   -------------------------------------------------------------------------- */
.ab-partners{display:grid;grid-template-columns:repeat(6,1fr);gap:calc(28px * var(--s));margin-top:calc(56px * var(--s))}
.ab-partner{
  display:flex;align-items:center;justify-content:center;
  height:calc(180px * var(--s));padding:calc(24px * var(--s));
  background:#fff;border:1px solid var(--line);border-radius:calc(14px * var(--s));
  transition:border-color .18s ease,box-shadow .18s ease;
}
.ab-partner:hover{border-color:transparent;box-shadow:var(--card-sh)}
.ab-partner img{max-width:100%;max-height:calc(110px * var(--s));width:auto;object-fit:contain}

/* --------------------------------------------------------------------------
   9. Завод по нанесению промышленных покрытий
   -------------------------------------------------------------------------- */
.ab-plant__body{display:grid;grid-template-columns:1fr calc(720px * var(--s));gap:calc(70px * var(--s));margin-top:calc(56px * var(--s));align-items:start}
.ab-plant__text p{font-size:calc(20px * var(--s));line-height:1.6}
.ab-plant__text p + p{margin-top:calc(18px * var(--s))}
.ab-plant__list{margin-top:calc(34px * var(--s));display:grid;gap:calc(18px * var(--s))}
.ab-plant__list li{position:relative;padding-left:calc(38px * var(--s));font-size:calc(19px * var(--s));line-height:1.5}
.ab-plant__list li::before{
  content:"";position:absolute;left:0;top:calc(8px * var(--s));
  width:calc(20px * var(--s));height:calc(12px * var(--s));
  border-left:2px solid var(--orange);border-bottom:2px solid var(--orange);
  transform:rotate(-45deg);
}
.ab-plant__text .btn{margin-top:calc(40px * var(--s))}
.ab-plant__gal{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(20px * var(--s))}
.ab-plant__gal img{width:100%;height:calc(240px * var(--s));object-fit:cover;border-radius:calc(14px * var(--s))}
.ab-plant__gal img:first-child{grid-column:1 / -1;height:calc(330px * var(--s))}

/* --------------------------------------------------------------------------
   11. Решения по огнезащите — синяя плашка, как промо на главной
   -------------------------------------------------------------------------- */
.ab-fire{background:var(--blue);color:#fff}
.ab-fire .sec-h2{color:#fff}
.ab-fire .eyebrow{color:rgba(255,255,255,.72)}
.ab-fire .sec-lead{color:rgba(255,255,255,.86)}
.ab-fire__brand{display:flex;align-items:center;gap:calc(20px * var(--s));margin-bottom:calc(30px * var(--s))}
.ab-fire__brand img{width:calc(166px * var(--s));height:calc(54px * var(--s));background:#fff;border-radius:calc(10px * var(--s));padding:calc(8px * var(--s)) calc(14px * var(--s));object-fit:contain}
.ab-fire__brand span{font-size:calc(18px * var(--s));color:rgba(255,255,255,.8)}
.ab-fire__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(32px * var(--s));margin-top:calc(56px * var(--s))}
.ab-fire__card{
  padding:calc(40px * var(--s)) calc(36px * var(--s));
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.24);border-radius:var(--card-r);
}
.ab-fire__n{font-weight:900;font-size:calc(40px * var(--s));line-height:1;color:rgba(255,255,255,.4)}
.ab-fire__t{margin-top:calc(22px * var(--s));font-weight:600;font-size:calc(24px * var(--s));line-height:1.3}
.ab-fire__d{margin-top:calc(16px * var(--s));font-size:calc(18px * var(--s));line-height:1.6;color:rgba(255,255,255,.86)}
.ab-fire__foot{display:flex;align-items:center;gap:calc(28px * var(--s));margin-top:calc(48px * var(--s))}
.ab-fire__foot p{font-size:calc(20px * var(--s));line-height:1.5;color:rgba(255,255,255,.86)}

/* --------------------------------------------------------------------------
   12. Вакансии — аккордеон
   -------------------------------------------------------------------------- */
.ab-jobs{margin-top:calc(56px * var(--s));border-top:1px solid var(--line)}
.ab-job{border-bottom:1px solid var(--line)}
.ab-job__head{
  display:flex;align-items:center;gap:calc(32px * var(--s));width:100%;
  padding:calc(34px * var(--s)) calc(70px * var(--s)) calc(34px * var(--s)) 0;
  text-align:left;position:relative;
}
.ab-job__t{flex:1 1 auto;font-weight:600;font-size:calc(26px * var(--s));line-height:1.3;color:#2F3142}
.ab-job__meta{flex:none;font-size:calc(18px * var(--s));color:var(--ink-2);white-space:nowrap}
.ab-job__tag{
  flex:none;padding:calc(7px * var(--s)) calc(16px * var(--s));border-radius:calc(8px * var(--s));
  background:#FDF0E4;color:var(--orange);font-size:calc(16px * var(--s));white-space:nowrap;
}
.ab-job__sign{
  position:absolute;right:calc(10px * var(--s));top:50%;transform:translateY(-50%);
  width:calc(36px * var(--s));height:calc(36px * var(--s));border-radius:50%;background:var(--grey);
}
.ab-job__sign::before,.ab-job__sign::after{
  content:"";position:absolute;left:50%;top:50%;background:#2F3142;
  transform:translate(-50%,-50%);transition:opacity .18s ease;
}
.ab-job__sign::before{width:calc(14px * var(--s));height:2px}
.ab-job__sign::after{width:2px;height:calc(14px * var(--s))}
.ab-job__head[aria-expanded="true"] .ab-job__sign{background:var(--blue)}
.ab-job__head[aria-expanded="true"] .ab-job__sign::before,
.ab-job__head[aria-expanded="true"] .ab-job__sign::after{background:#fff}
.ab-job__head[aria-expanded="true"] .ab-job__sign::after{opacity:0}
.ab-job__head:hover .ab-job__t{color:var(--blue)}
.ab-job__panel{display:none;padding:0 calc(70px * var(--s)) calc(38px * var(--s)) 0}
.ab-job__panel[data-open="true"]{display:grid;grid-template-columns:1fr 1fr;gap:calc(48px * var(--s))}
.ab-job__panel h4{font-weight:600;font-size:calc(20px * var(--s));line-height:1.3;color:#2F3142;margin-bottom:calc(16px * var(--s))}
.ab-job__panel li{position:relative;padding-left:calc(22px * var(--s));font-size:calc(18px * var(--s));line-height:1.6}
.ab-job__panel li + li{margin-top:calc(10px * var(--s))}
.ab-job__panel li::before{
  content:"";position:absolute;left:0;top:calc(11px * var(--s));
  width:calc(6px * var(--s));height:calc(6px * var(--s));border-radius:50%;background:var(--orange);
}
.ab-jobs__cta{
  display:flex;align-items:center;gap:calc(30px * var(--s));
  margin-top:calc(46px * var(--s));padding:calc(36px * var(--s)) calc(40px * var(--s));
  background:#F3F6F8;border-radius:var(--card-r);
}
.ab-jobs__cta p{flex:1 1 auto;font-size:calc(20px * var(--s));line-height:1.5}
.ab-jobs__cta b{display:block;font-weight:600;font-size:calc(24px * var(--s));color:#2F3142;margin-bottom:calc(8px * var(--s))}

/* --------------------------------------------------------------------------
   13. Мелочи
   -------------------------------------------------------------------------- */
.page-about .sec-form{padding-top:var(--sec-pad);scroll-margin-top:calc(96px * var(--s))}
html{scroll-behavior:smooth}
/* пока открыт лайтбокс, буллиты не мозолят глаза сквозь затемнение */
body.ab-modal-open .ab-rail{opacity:0;visibility:hidden}


/* ==========================================================================
   АДАПТИВ. Ниже 1660 переменная --s равна 1, поэтому все десктопные
   calc(Npx * var(--s)) превращаются в значения от 1920 — каждый такой
   размер нужно перекрыть токеном (--sect, --gap, --r, --fs-*).
   Границы полос совпадают с общими: 1659 / 1279 / 959 / 567.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1280–1659
   -------------------------------------------------------------------------- */
@media (max-width:1659px){

  .page-about{--sec-pad:var(--sect);--card-r:var(--r)}
  .ab-sec{scroll-margin-top:20px}
  .page-about .sec-form{scroll-margin-top:20px}
  .ab-head{max-width:none}
  .ab-head .sec-h2{margin-top:12px}
  .ab-head .sec-lead{margin-top:14px;max-width:960px}
  .ab-grid-head{gap:28px}
  .ab-rule{width:56px}

  /* — первый экран: высота по содержимому, фото растянуто по inset — */
  .ab-hero{height:auto;min-height:440px}
  .ab-hero__stage{padding:150px 0 52px}
  .ab-hero .crumbs{padding-top:0;margin-bottom:18px}
  .ab-hero__title{width:auto;margin-top:14px;font-size:var(--fs-h1)}
  .ab-hero__lead{width:auto;max-width:680px;margin-top:16px;font-size:var(--fs-body)}

  /* — буллиты: поле у контейнера 40px, колонку сдвигаем ближе к краю — */
  .ab-rail{left:6px}
  .ab-rail__list{gap:6px}
  .ab-rail__dot{width:26px;height:26px}
  .ab-rail__dot::before{width:8px;height:8px;margin:-4px 0 0 -4px}
  .ab-rail__dot[aria-current="true"]::before{width:12px;height:12px;margin:-6px 0 0 -6px}
  .ab-rail__dot::after{width:22px;height:22px;margin:-11px 0 0 -11px}
  .ab-rail__label{font-size:14px;padding:7px 12px;border-radius:8px}

  /* — О компании — */
  .ab-about__body{gap:32px;margin-top:36px}
  .ab-about__body p{font-size:var(--fs-body)}
  .ab-about__body p + p{margin-top:14px}

  .ab-panel{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:32px;margin-top:44px;padding:28px;
  }
  .ab-panel__photo{height:auto;aspect-ratio:16/9;border-radius:12px}
  .ab-panel__title{font-size:var(--fs-h3)}
  .ab-panel .ab-rule{margin:14px 0}
  .ab-panel__body{font-size:var(--fs-body)}
  .ab-panel .btn{margin-top:22px}

  /* — Обращение директора — */
  .ab-dir{grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:48px;margin-top:40px}
  .ab-dir__photo{height:auto;aspect-ratio:560/700}
  .ab-dir__cap{margin-top:18px}
  .ab-dir__name{font-size:var(--fs-h3)}
  .ab-dir__post{font-size:var(--fs-cap)}
  .ab-dir__quote{font-size:84px}
  .ab-dir__text p{margin-top:18px;font-size:var(--fs-body)}
  .ab-dir__sign{gap:14px;margin-top:26px;padding-top:20px}
  .ab-dir__sign b{font-size:var(--fs-body)}
  .ab-dir__sign span{font-size:var(--fs-cap)}

  /* — Показатели и преимущества — */
  .ab-stats,.ab-adv{gap:var(--gap)}
  .ab-stats{margin-top:40px}
  .ab-adv{margin-top:var(--gap)}
  .ab-stat{padding:28px 24px}
  .ab-stat__n{font-size:var(--fs-num)}
  .ab-stat__n i{font-size:20px}
  .ab-stat__t{margin-top:14px;font-size:var(--fs-body)}
  .ab-stat__d{margin-top:8px;font-size:var(--fs-cap)}
  .ab-adv__item{padding:26px 24px}
  .ab-adv__ico{width:52px;height:52px}
  .ab-adv__t{margin-top:18px;font-size:var(--fs-h3)}
  .ab-adv__item .ab-rule{margin:12px 0}
  .ab-adv__d{font-size:var(--fs-cap)}

  /* — Модальное окно — */
  .ab-modal{padding:28px}
  .ab-modal__box{max-width:900px}
  .ab-modal__img{max-height:72vh;border-radius:8px}
  .ab-modal__cap{margin-top:16px;font-size:var(--fs-body)}
  .ab-modal__cap small{font-size:14px}
  .ab-modal__btn{width:52px;height:52px}
  .ab-modal__btn::before{width:11px;height:11px}
  .ab-modal__btn--prev{left:-70px}
  .ab-modal__btn--next{right:-70px}
  .ab-modal__close{width:44px;height:44px;right:-56px;top:-48px;font-size:26px}

  /* — Отзывы — */
  .ab-rev__stage{margin-top:40px}
  .ab-rev__slider{padding:16px 0;margin:-16px 0}
  .ab-rev__slider .slick-list{width:calc(100% + var(--gap))}
  .ab-rev__slider .slick-slide{padding-right:var(--gap)}
  .ab-rev__card{height:380px;padding:28px;border-radius:var(--r)}
  .ab-rev__mark{font-size:52px}
  .ab-rev__text{margin-top:18px;font-size:var(--fs-cap)}
  .ab-rev__foot{gap:14px;padding-top:18px}
  .ab-rev__logo{width:100px;height:44px}
  .ab-rev__who b{font-size:var(--fs-cap)}
  .ab-rev__who span{font-size:13px}
  .ab-arw{width:52px;height:52px;top:-76px}
  .ab-arw--prev{right:62px}

  /* — Партнёры — */
  .ab-partners{gap:var(--gap);margin-top:40px}
  .ab-partner{height:150px;padding:18px;border-radius:12px}
  .ab-partner img{max-height:88px}

  /* — Завод покрытий — */
  .ab-plant__body{grid-template-columns:minmax(0,1fr) minmax(0,46%);gap:40px;margin-top:40px}
  .ab-plant__text p{font-size:var(--fs-body)}
  .ab-plant__text p + p{margin-top:14px}
  .ab-plant__list{margin-top:26px;gap:14px}
  .ab-plant__list li{padding-left:32px;font-size:var(--fs-cap)}
  .ab-plant__list li::before{top:5px;width:17px;height:10px}
  .ab-plant__text .btn{margin-top:30px}
  .ab-plant__gal{gap:var(--gap)}
  .ab-plant__gal img{height:auto;aspect-ratio:560/430;border-radius:12px}
  .ab-plant__gal img:first-child{height:auto;aspect-ratio:1140/430}

  /* — Огнезащита — */
  .ab-fire__brand{gap:16px;margin-bottom:24px}
  .ab-fire__brand img{width:132px;height:44px;padding:6px 10px}
  .ab-fire__brand span{font-size:var(--fs-cap)}
  .ab-fire__grid{gap:var(--gap);margin-top:40px}
  .ab-fire__card{padding:28px 26px}
  .ab-fire__n{font-size:32px}
  .ab-fire__t{margin-top:16px;font-size:var(--fs-h3)}
  .ab-fire__d{margin-top:12px;font-size:var(--fs-cap)}
  .ab-fire__foot{gap:24px;margin-top:36px}
  .ab-fire__foot p{font-size:var(--fs-body)}

  /* — Вакансии — */
  .ab-jobs{margin-top:40px}
  .ab-job__head{gap:22px;padding:26px 56px 26px 0}
  .ab-job__t{font-size:var(--fs-h3)}
  .ab-job__meta{font-size:var(--fs-cap)}
  .ab-job__tag{padding:6px 12px;font-size:13px;border-radius:8px}
  .ab-job__sign{width:32px;height:32px;right:6px}
  .ab-job__sign::before{width:12px;height:2px}
  .ab-job__sign::after{width:2px;height:12px}
  .ab-job__panel{padding:0 56px 28px 0}
  .ab-job__panel[data-open="true"]{gap:32px}
  .ab-job__panel h4{font-size:var(--fs-body);margin-bottom:12px}
  .ab-job__panel li{padding-left:18px;font-size:var(--fs-cap)}
  .ab-job__panel li + li{margin-top:8px}
  .ab-job__panel li::before{top:8px;width:5px;height:5px}
  .ab-jobs__cta{gap:24px;margin-top:34px;padding:28px}
  .ab-jobs__cta p{font-size:var(--fs-cap)}
  .ab-jobs__cta b{font-size:var(--fs-h3);margin-bottom:6px}
}

/* --------------------------------------------------------------------------
   960–1279. Шапка становится фиксированной (88px) — учитываем в первом экране.
   Буллиты уходят вниз: бокового поля для колонки больше нет.
   -------------------------------------------------------------------------- */
@media (max-width:1279px){

  .ab-sec{scroll-margin-top:96px}
  .page-about .sec-form{scroll-margin-top:96px}

  .ab-hero{min-height:400px}
  .ab-hero__stage{padding:128px 0 44px}
  .ab-hero::after{background:linear-gradient(90deg,rgba(15,44,63,.82) 0%,rgba(15,44,63,.62) 60%,rgba(15,44,63,.3) 100%)}

  /* буллиты — горизонтальная плашка по центру снизу */
  .ab-rail{
    left:50%;right:auto;top:auto;bottom:16px;
    transform:translateX(-50%);
    padding:6px 10px;border-radius:999px;
    background:rgba(255,255,255,.96);border:1px solid var(--line);
    box-shadow:0 6px 20px rgba(0,0,0,.14);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  }
  .ab-rail__list{flex-direction:row;gap:0}
  .ab-rail__dot{width:26px;height:26px}
  /* Подпись — одна на всю плашку, по центру окна: у крайних буллитов
     подпись, привязанная к самой точке, вылезала бы за экран. */
  .ab-rail__label{
    position:fixed;left:50%;right:auto;top:auto;bottom:62px;
    max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis;
    transform:translate(-50%,4px);
  }
  .ab-rail__label::before{display:none}
  .ab-rail__dot:hover .ab-rail__label,
  .ab-rail__dot:focus-visible .ab-rail__label{transform:translate(-50%,0)}

  /* сетки: 4→2, 6→4 */
  .ab-stats,.ab-adv{grid-template-columns:repeat(2,1fr)}
  .ab-partners{grid-template-columns:repeat(4,1fr)}

  .ab-panel{grid-template-columns:1fr;gap:24px}
  .ab-dir{grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:32px}
  .ab-dir__quote{font-size:64px}

  .ab-plant__body{grid-template-columns:1fr;gap:32px}
  .ab-plant__gal img:first-child{aspect-ratio:1140/380}

  .ab-rev__card{height:360px}

  .ab-modal{padding:20px}
  .ab-modal__box{max-width:760px}
  .ab-modal__btn{width:46px;height:46px}
  /* стрелки уезжают внутрь: снаружи места уже нет */
  .ab-modal__btn--prev{left:0}
  .ab-modal__btn--next{right:0}
  .ab-modal__close{right:0;top:-52px}
}

/* --------------------------------------------------------------------------
   568–959. Шапка 64px, .btn во всю ширину.
   -------------------------------------------------------------------------- */
@media (max-width:959px){

  .ab-sec{scroll-margin-top:72px}
  .page-about .sec-form{scroll-margin-top:72px}

  .ab-hero{min-height:360px}
  .ab-hero__stage{padding:96px 0 36px}
  .ab-hero__lead{max-width:none}

  .ab-grid-head{flex-direction:column;align-items:stretch;gap:20px}

  .ab-about__body{grid-template-columns:1fr;gap:16px;margin-top:26px}
  .ab-about__rule{display:none}

  .ab-panel{margin-top:32px;padding:20px}
  .ab-dir{grid-template-columns:1fr;gap:26px;margin-top:28px}
  .ab-dir__figure{max-width:360px}
  .ab-dir__quote{font-size:52px}
  .ab-dir__sign{flex-direction:column;align-items:flex-start;gap:4px}

  .ab-stats{margin-top:28px}
  .ab-partners{grid-template-columns:repeat(3,1fr);margin-top:28px}
  .ab-partner{height:120px;padding:14px}
  .ab-partner img{max-height:70px}

  .ab-fire__grid{grid-template-columns:1fr;margin-top:28px}
  .ab-fire__foot{flex-direction:column;align-items:stretch;gap:18px;margin-top:28px}

  .ab-rev__stage{margin-top:28px}
  .ab-rev__card{height:330px;padding:22px}
  .ab-arw{width:46px;height:46px;top:-64px}
  .ab-arw--prev{right:54px}

  /* вакансии: заголовок на своей строке, детали в одну колонку */
  .ab-jobs{margin-top:28px}
  .ab-job__head{flex-wrap:wrap;gap:10px 12px;padding:20px 44px 20px 0}
  .ab-job__t{flex:0 0 100%}
  .ab-job__panel{padding:0 0 24px}
  .ab-job__panel[data-open="true"]{grid-template-columns:1fr;gap:20px}
  .ab-jobs__cta{flex-direction:column;align-items:stretch;gap:18px;padding:22px}

  .ab-modal{padding:14px}
  .ab-modal__img{max-height:66vh}
  .ab-modal__btn{width:40px;height:40px}
  .ab-modal__close{width:40px;height:40px;top:-48px;font-size:24px}
}

/* --------------------------------------------------------------------------
   320–567
   -------------------------------------------------------------------------- */
@media (max-width:567px){

  .ab-hero{min-height:320px}
  .ab-hero__stage{padding:92px 0 28px}
  .ab-hero .crumbs{margin-bottom:14px}
  .ab-hero__title{margin-top:10px}
  .ab-hero__lead{margin-top:12px}

  .ab-rail{bottom:12px;padding:5px 8px}
  .ab-rail__dot{width:22px;height:22px}
  .ab-rail__label{bottom:52px;font-size:13px;padding:6px 10px}

  .ab-stats,.ab-adv{grid-template-columns:1fr}
  .ab-partners{grid-template-columns:repeat(2,1fr)}
  .ab-partner{height:96px}
  .ab-partner img{max-height:56px}

  .ab-panel{padding:16px}
  .ab-dir__figure{max-width:none}

  /* стрелки отзывов уходят под слайдер: сверху их некуда поставить */
  .ab-rev__stage{padding-bottom:60px}
  .ab-rev__card{height:auto;min-height:280px}
  .ab-arw{top:auto;bottom:0;width:44px;height:44px}
  .ab-arw--prev{right:auto;left:calc(50% - 52px)}
  .ab-arw--next{right:auto;left:calc(50% + 8px)}

  .ab-job__head{padding:18px 40px 18px 0}
  .ab-job__meta,.ab-job__tag{font-size:12px}

  .ab-modal__cap{font-size:var(--fs-cap)}
  .ab-modal__btn{width:36px;height:36px}
  .ab-modal__btn::before{width:9px;height:9px}
}
