/* ============================================================
   TrackService — основной CSS.
   Перенесён из утверждённого прототипа 1:1.
   Изменены только пути к фоновым изображениям hero/CTA
   (Unsplash → локальные ../img/*) и добавлен блок «Дополнения темы»
   в конце файла (форма заявки, внутренние страницы).
   ============================================================ */

/* ============ ТОКЕНЫ БРЕНДА ============ */
:root{
  --c-ink:      #0A2231;   /* глубокий петролёво-синий: герой/футер/тёмные секции */
  --c-navy:     #11384F;   /* брендовый navy: поверхности, карточки на тёмном */
  --c-navy-2:   #16455F;   /* слой светлее для контраста */
  --c-accent:   #EE9A05;   /* амбер — единственный сигнальный: CTA, цифры, надзаголовки */
  --c-accent-d: #D78D06;
  --c-surface:  #F2F5F7;   /* холодный светлый фон секций (намёк на воду) */
  --c-line:     #E0E7EB;
  --c-line-d:   #294C61;   /* линии на тёмном */
  --c-text:     #1E303B;   /* графит — основной текст, не чёрный */
  --c-muted:    #5C7180;
  --c-muted-l:  #9FB4C2;   /* приглушённый на тёмном */
  --c-white:    #FFFFFF;

  --radius: 0px;           /* острый, инженерный */
  --radius-i: 2px;         /* поля ввода */

  --wrap: 1360px;
  --gut: clamp(20px, 5vw, 64px);

  --f-display: 'Montserrat', system-ui, sans-serif;
  --f-text: 'Golos Text', system-ui, sans-serif;

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ============ БАЗА ============ */
*{box-sizing:border-box}
html{scroll-behavior:smooth; overflow-x:clip}
body{
  margin:0; background:var(--c-white); color:var(--c-text);
  font-family:var(--f-text); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{display:block; max-width:100%}
a{color:inherit; text-decoration:none}
button{font-family:inherit}

h1,h2,h3,h4{font-family:var(--f-display); color:var(--c-ink); margin:0; line-height:1.08; letter-spacing:-.02em; font-weight:800}
p{margin:0}

.wrap{max-width:var(--wrap); margin:0 auto; padding-inline:var(--gut)}
.section{padding-block:clamp(64px,9vw,120px)}
.section--tight{padding-block:clamp(48px,6vw,84px)}
.section--dark{background:var(--c-ink); color:#D9E4EC}
.section--dark h2,.section--dark h3{color:#fff}
.section--surface{background:var(--c-surface)}

.eyebrow{
  font-family:var(--f-display); font-weight:700; font-size:.78rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--c-accent);
  display:inline-flex; align-items:center; gap:.6rem; margin-bottom:1.1rem;
}
.eyebrow::before{content:""; width:26px; height:2px; background:var(--c-accent)}

.h-lead{font-size:clamp(1.9rem,3.6vw,2.9rem)}
.measure{max-width:62ch}
.measure-sm{max-width:48ch}
.lead{font-size:1.05rem; line-height:1.7; color:var(--c-muted)}
.section--dark .lead{color:var(--c-muted-l)}

/* ============ КНОПКИ (единый язык) ============ */
.btn{
  display:inline-flex; align-items:center; gap:.6rem; cursor:pointer;
  font-family:var(--f-display); font-weight:700; font-size:.95rem; letter-spacing:.01em;
  padding:15px 28px; border:2px solid transparent; border-radius:var(--radius);
  transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);
}
.btn i{font-size:.85em}
.btn--accent{background:var(--c-accent); color:#fff}
.btn--accent:hover{background:var(--c-accent-d)}
.btn--navy{background:var(--c-navy); color:#fff}
.btn--navy:hover{background:var(--c-navy-2)}
.btn--ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.32)}
.btn--ghost:hover{border-color:var(--c-accent); color:var(--c-accent)}
.btn--ghost-dark{background:transparent; color:var(--c-ink); border-color:var(--c-ink)}
.btn--ghost-dark:hover{background:var(--c-ink); color:#fff}

/* стрелочная ссылка — единый hover для «Подробнее» */
.arrow{display:inline-flex; align-items:center; gap:.5rem; font-family:var(--f-display); font-weight:700; color:var(--c-navy); font-size:.95rem}
.arrow i{transition:transform .25s var(--ease); color:var(--c-accent)}
.arrow:hover i{transform:translateX(5px)}
.section--dark .arrow{color:#fff}

/* ============ TOPBAR ============ */
.topbar{background:var(--c-ink); color:#AFC2CE; font-size:.85rem; border-bottom:1px solid var(--c-line-d)}
.topbar .wrap{display:flex; align-items:center; justify-content:space-between; height:46px; gap:18px}
.topbar a{color:#C9D6DF; transition:color .2s}
.topbar a:hover{color:var(--c-accent)}
.topbar .tb-l{display:flex; gap:26px; align-items:center; min-width:0}
.topbar .tb-l span,.topbar .tb-l a{display:inline-flex; align-items:center; gap:.5rem; white-space:nowrap}
.topbar i{color:var(--c-accent)}
.topbar .tb-r{display:flex; align-items:center; gap:18px}
@media(max-width:860px){ .topbar .tb-l .tb-hide, .topbar .tb-r .tb-hide{display:none} }

/* ============ HEADER ============ */
.header{position:sticky; top:0; z-index:60; background:var(--c-ink); border-bottom:1px solid var(--c-line-d); transition:background .25s, box-shadow .25s}
.header.scrolled{background:rgba(10,34,49,.97)}
.header .wrap{display:flex; align-items:center; justify-content:space-between; height:80px; gap:24px; transition:height .25s}
.header.scrolled .wrap{height:66px}

.logo{display:flex; align-items:center; gap:12px}
.logo__mark{width:42px; height:42px; background:var(--c-accent); display:grid; place-items:center; color:#fff; flex:none; position:relative}
.logo__mark i{font-size:20px}
.logo__mark::after{content:""; position:absolute; inset:0; border:2px solid var(--c-ink); transform:scale(1); opacity:0}
.logo__txt{line-height:1}
.logo__name{font-family:var(--f-display); font-weight:800; font-size:1.3rem; color:#fff; letter-spacing:-.02em}
.logo__name b{color:var(--c-accent); font-weight:800}
.logo__sub{font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--c-muted-l); font-family:var(--f-display); font-weight:600}

.nav{display:flex; align-items:center; gap:30px}
.nav__list{display:flex; align-items:center; gap:30px; list-style:none; margin:0; padding:0}
.nav__item{position:relative}
.nav a{font-family:var(--f-display); font-weight:600; font-size:.95rem; color:#D6E2EA; padding:6px 0; position:relative; transition:color .2s; white-space:nowrap; display:inline-flex; align-items:center}
.nav a::after{content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--c-accent); transition:width .25s var(--ease)}
.nav a:hover{color:#fff}
.nav a:hover::after{width:100%}
.nav__item.is-current > a{color:#fff}

/* выпадающее подменю (услуги) */
.nav__caret{font-size:.6rem; margin-left:.4rem; color:var(--c-muted-l); transition:transform .25s var(--ease), color .2s}
.nav__item.has-sub:hover .nav__caret{transform:rotate(180deg); color:var(--c-accent)}
.nav__sub{
  position:absolute; top:100%; left:-20px; min-width:280px; margin:0; padding:8px 0; list-style:none;
  background:var(--c-ink); border:1px solid var(--c-line-d); z-index:70;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .22s var(--ease), transform .22s var(--ease), visibility .22s;
}
.nav__item.has-sub::before{content:""; position:absolute; top:100%; left:0; right:0; height:14px} /* мостик, чтобы курсор не терял меню */
.nav__item.has-sub:hover > .nav__sub,
.nav__item.has-sub:focus-within > .nav__sub{opacity:1; visibility:visible; transform:none}
.nav__sub a{display:flex; align-items:center; gap:11px; padding:11px 20px; font-size:.9rem; font-weight:600; color:#D6E2EA; white-space:nowrap; transition:background .18s, color .18s}
.nav__sub a::after{display:none}
.nav__sub a i{color:var(--c-accent); width:17px; text-align:center; font-size:.9rem; flex:none}
.nav__sub a:hover{background:var(--c-navy); color:#fff}
.nav__subitem.is-current > a{background:var(--c-navy); color:#fff}

/* мобильное меню: подменю — вложенным списком, всегда раскрыто */
.mnav{overflow-y:auto; -webkit-overflow-scrolling:touch} /* длинное меню с подпунктами должно прокручиваться */
.mnav .nav__list{display:block; list-style:none; margin:0; padding:0}
.mnav .nav__sub{position:static; opacity:1; visibility:visible; transform:none; background:transparent; border:0; min-width:0; padding:2px 0 8px 16px; margin:0}
.mnav .nav__sub a{padding:10px 0; font-size:.98rem; border-bottom:1px solid var(--c-line-d); color:#AFC2CE}
.mnav .nav__sub a:hover{background:transparent; color:var(--c-accent)}
.mnav .nav__caret{display:none}

.header__cta{display:flex; align-items:center; gap:20px}
.header__cta .btn{white-space:nowrap}
.header__phone{font-family:var(--f-display); font-weight:700; color:#fff; font-size:1.02rem; white-space:nowrap; display:inline-flex; align-items:center; gap:.55rem}
.header__phone i{color:var(--c-accent)}
.header__phone small{display:block; font-size:.62rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--c-muted-l)}

.burger{display:none; width:46px; height:46px; background:var(--c-navy); color:#fff; border:none; cursor:pointer; font-size:1.1rem}
@media(max-width:1280px){ .header__phone{display:none} }
@media(max-width:1080px){
  .nav{display:none}
  .burger{display:grid; place-items:center}
}
@media(max-width:560px){
  .header__cta .btn--accent{display:none}
  .header .wrap{gap:14px}
}

/* мобильное меню */
.mnav{position:fixed; inset:0 0 0 auto; width:min(86vw,360px); background:var(--c-ink); z-index:90; transform:translateX(100%); transition:transform .3s var(--ease); padding:24px; display:flex; flex-direction:column; gap:6px; border-left:3px solid var(--c-accent)}
.mnav.open{transform:none}
.mnav__top{display:flex; justify-content:space-between; align-items:center; margin-bottom:18px}
.mnav__close{background:var(--c-navy); border:none; color:#fff; width:44px; height:44px; font-size:1.2rem; cursor:pointer}
.mnav a{color:#D6E2EA; font-family:var(--f-display); font-weight:600; font-size:1.1rem; padding:13px 0; border-bottom:1px solid var(--c-line-d)}
.mnav a:hover{color:var(--c-accent)}
.mnav .btn{margin-top:18px; justify-content:center}
.scrim{position:fixed; inset:0; background:rgba(5,18,26,.6); z-index:80; opacity:0; visibility:hidden; transition:.3s}
.scrim.open{opacity:1; visibility:visible}

/* ============ HERO ============ */
.hero{position:relative; background:var(--c-ink); color:#fff; overflow:hidden}
.hero__bg{position:absolute; inset:0; background-image:url('../img/hero.jpg?v=202608201039'); background-size:cover; background-position:center}
.hero__bg::after{content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(10,34,49,.62) 0%, rgba(10,34,49,.38) 46%, rgba(10,34,49,.2) 72%, rgba(10,34,49,.35) 100%);}
.hero__inner{position:relative; max-width:var(--wrap); margin:0 auto; padding:clamp(60px,7.5vw,104px) var(--gut) clamp(150px,15vw,200px)}
.hero__panel{max-width:740px; background:rgba(9,29,43,.86); border-top:4px solid var(--c-accent); padding:clamp(34px,3.6vw,52px) clamp(28px,3.2vw,48px)}
.hero h1{color:#fff; font-size:clamp(2.25rem,3.6vw,3rem); line-height:1.07; margin:.5rem 0 1.3rem}
.hero p{font-size:clamp(1.04rem,1.4vw,1.18rem); line-height:1.6; color:#C7D6E0; max-width:52ch}
.hero__cta{display:flex; flex-wrap:wrap; gap:16px; margin-top:34px}
.hero__trust{margin-top:30px; display:flex; flex-wrap:wrap; gap:10px 26px; color:#A9BECB; font-size:.92rem}
.hero__trust span{display:inline-flex; align-items:center; gap:.5rem}
.hero__trust i{color:var(--c-accent)}

/* направления — карты внахлёст на герой */
.dirs{position:relative; margin-top:clamp(-110px,-9vw,-90px); z-index:5}
.dirs__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--c-line); background:#fff}
.dir{padding:34px 28px; border-right:1px solid var(--c-line); position:relative; transition:background .25s var(--ease)}
.dir:last-child{border-right:none}
.dir--active{background:var(--c-navy); color:#fff}
.dir__ic{width:52px; height:52px; border:2px solid var(--c-accent); display:grid; place-items:center; color:var(--c-accent); font-size:1.3rem; margin-bottom:18px}
.dir h3{font-size:1.18rem; margin-bottom:.5rem}
.dir--active h3{color:#fff}
.dir p{font-size:.92rem; color:var(--c-muted); line-height:1.55}
.dir--active p{color:var(--c-muted-l)}
.dir::after{content:""; position:absolute; left:0; bottom:0; height:3px; width:0; background:var(--c-accent); transition:width .3s var(--ease)}
.dir:hover::after{width:100%}
@media(max-width:900px){ .dirs__grid{grid-template-columns:repeat(2,1fr)} .dir:nth-child(2){border-right:none} .dir:nth-child(1),.dir:nth-child(2){border-bottom:1px solid var(--c-line)} }
@media(max-width:520px){ .dirs__grid{grid-template-columns:1fr} .dir{border-right:none; border-bottom:1px solid var(--c-line)} .dir:last-child{border-bottom:none} .dirs{margin-top:-70px} }

/* ============ О КОМПАНИИ — галерея ============ */
.aboutg__head{max-width:800px; margin:0 auto clamp(40px,5vw,58px); text-align:center}
.aboutg__head h2{font-size:clamp(1.9rem,3.6vw,2.85rem); margin:.6rem 0 1.2rem; line-height:1.1}
.aboutg__head p{color:var(--c-muted); font-size:1.06rem; line-height:1.7; margin:0 auto 30px}
.aboutg__grid{display:grid; grid-template-columns:1.7fr 1fr 1fr; gap:24px; align-items:start; margin-bottom:56px}
.aboutg__item{position:relative}
.aboutg__ph{position:relative; overflow:hidden}
.aboutg__ph img{width:100%; object-fit:cover; display:block; transition:transform .55s var(--ease)}
.aboutg__item:hover .aboutg__ph img{transform:scale(1.05)}
.aboutg__item--big .aboutg__ph img{height:578px}
.aboutg__item--sm .aboutg__ph img{height:524px}
.aboutg__cap{position:absolute; left:18px; right:18px; bottom:-54px; background:var(--c-ink); padding:28px 22px 46px; text-align:center}
.aboutg__cap .ic{width:56px; height:56px; border:2px solid var(--c-accent); display:grid; place-items:center; color:var(--c-accent); font-size:1.3rem; margin:0 auto 16px}
.aboutg__cap b{display:block; color:#fff; font-family:var(--f-display); font-weight:700; font-size:1.15rem; margin-bottom:6px}
.aboutg__cap span{display:block; color:#9FB4C2; font-size:.9rem; line-height:1.4}
@media(max-width:1080px){
  .aboutg__grid{grid-template-columns:1fr 1fr; gap:64px 24px; margin-bottom:64px}
  .aboutg__item--big{grid-column:1 / -1}
  .aboutg__item--big .aboutg__ph img{height:420px}
  .aboutg__item--sm .aboutg__ph img{height:420px}
}
@media(max-width:560px){
  .aboutg__grid{grid-template-columns:1fr; gap:78px}
  .aboutg__item--big .aboutg__ph img{height:330px}
  .aboutg__item--sm .aboutg__ph img{height:330px}
}

/* ============ О КОМПАНИИ — инфо ============ */
#process{border-top:1px solid var(--c-line)}
.ainfo__grid{display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(36px,5vw,60px); align-items:stretch}
.ainfo__text h2{font-size:clamp(1.7rem,3vw,2.4rem); margin:.5rem 0 1.1rem; line-height:1.15}
.ainfo__text > p{color:var(--c-text); line-height:1.75; margin-bottom:28px; max-width:56ch}
.ainfo__clabel{font-family:var(--f-display); font-weight:700; color:var(--c-ink); font-size:1.05rem; margin-bottom:18px}
.ainfo__check{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:15px 28px}
.ainfo__check li{display:flex; align-items:flex-start; gap:.6rem; font-size:.96rem; color:var(--c-text); line-height:1.45}
.ainfo__check li i{color:var(--c-accent); margin-top:3px; flex:none; font-size:1.02rem}
.ainfo__panel{background:var(--c-ink); padding:clamp(30px,3vw,44px); display:flex; flex-direction:column; justify-content:center}
.ainfo__stat{padding:22px 0; border-bottom:1px solid var(--c-line-d)}
.ainfo__stat:first-child{padding-top:0}
.ainfo__stat:last-child{border-bottom:none; padding-bottom:0}
.ainfo__stat b{display:block; font-family:var(--f-display); font-weight:800; font-size:2.4rem; color:var(--c-accent); line-height:1}
.ainfo__stat span{display:block; color:#C7D6E0; font-size:.92rem; margin-top:8px; line-height:1.4}
@media(max-width:880px){ .ainfo__grid{grid-template-columns:1fr} }
@media(max-width:560px){ .ainfo__check{grid-template-columns:1fr} }

/* ============ ПОЧЕМУ МЫ ============ */
.why__head{max-width:760px; margin:0 auto clamp(44px,5vw,64px); text-align:center}
.why__head h2{font-size:clamp(1.8rem,3.4vw,2.7rem)}
.why__head .eyebrow{justify-content:center}
.why__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--c-line-d); border:1px solid var(--c-line-d)}
.feat{background:var(--c-ink); padding:34px 30px; transition:background .25s var(--ease)}
.feat:hover{background:var(--c-navy)}
.feat__ic{width:54px; height:54px; border:2px solid var(--c-accent); display:grid; place-items:center; color:var(--c-accent); font-size:1.35rem; margin-bottom:20px}
.feat h3{font-size:1.18rem; color:#fff; margin-bottom:.6rem}
.feat p{font-size:.94rem; color:var(--c-muted-l); line-height:1.6}
@media(max-width:900px){ .why__grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:560px){ .why__grid{grid-template-columns:1fr} }

/* ============ УСЛУГИ ============ */
.serv__head{display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap; margin-bottom:clamp(36px,4vw,52px)}
.serv__head h2{font-size:clamp(1.8rem,3.3vw,2.6rem); max-width:18ch}
.chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px}
.chip{font-family:var(--f-display); font-weight:600; font-size:.82rem; color:var(--c-navy); border:1px solid var(--c-line); padding:7px 14px; background:#fff}
.serv__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
.card{background:#fff; border:1px solid var(--c-line); display:flex; flex-direction:column; transition:border-color .25s var(--ease); position:relative}
.card::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--c-accent); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease)}
.card:hover{border-color:var(--c-accent)}
.card:hover::before{transform:scaleX(1)}
.card__img{position:relative; height:215px; overflow:hidden}
.card__img img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease)}
.card:hover .card__img img{transform:scale(1.05)}
.card__chip{position:absolute; top:0; left:0; width:54px; height:54px; background:var(--c-ink); color:var(--c-accent); display:grid; place-items:center; font-size:1.35rem}
.card__body{padding:26px 26px 28px; display:flex; flex-direction:column; gap:12px; flex:1}
.card__body h3{font-size:1.22rem}
.card__body p{font-size:.95rem; color:var(--c-muted); line-height:1.6; flex:1}
.card__body .arrow{margin-top:6px}
@media(max-width:980px){ .serv__grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:620px){ .serv__grid{grid-template-columns:1fr} }

/* ============ КАК РАБОТАЕМ ============ */
.proc__head{max-width:720px; margin-bottom:clamp(40px,5vw,60px)}
.proc__head h2{font-size:clamp(1.8rem,3.3vw,2.6rem)}
.proc__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--c-line); border:1px solid var(--c-line)}
.step{background:#fff; padding:34px 30px; position:relative}
.step__n{font-family:var(--f-display); font-weight:800; font-size:2.6rem; color:var(--c-line); line-height:1; transition:color .25s}
.step:hover .step__n{color:var(--c-accent)}
.step h3{font-size:1.18rem; margin:12px 0 .55rem}
.step p{font-size:.93rem; color:var(--c-muted); line-height:1.6}
@media(max-width:860px){ .proc__grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:540px){ .proc__grid{grid-template-columns:1fr} }

/* ============ CTA БАННЕР ============ */
.cta{position:relative; color:#fff; overflow:hidden; background:var(--c-ink)}
.cta__bg{position:absolute; inset:0; background-image:url('../img/cta.jpg?v=202608201039'); background-size:cover; background-position:center}
.cta__bg::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,34,49,.72) 0%, rgba(10,34,49,.6) 55%, rgba(10,34,49,.4) 100%)}
.cta__inner{position:relative; max-width:var(--wrap); margin:0 auto; padding:clamp(56px,7vw,90px) var(--gut); display:grid; grid-template-columns:1.4fr auto; gap:34px; align-items:center}
.cta h2{color:#fff; font-size:clamp(1.7rem,3vw,2.5rem); max-width:20ch}
.cta p{color:#C7D6E0; margin-top:14px; max-width:50ch}
.cta__act{display:flex; flex-direction:column; gap:14px; align-items:flex-start}
.cta__phone{font-family:var(--f-display); font-weight:800; font-size:1.5rem; color:#fff; white-space:nowrap}
.cta__phone small{display:block; font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--c-muted-l)}
@media(max-width:840px){ .cta__inner{grid-template-columns:1fr} }

/* ============ ПРЕД-ФУТЕР ============ */
.preftr .wrap{display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap}
.preftr h2{font-size:clamp(1.6rem,2.8vw,2.3rem)}
.preftr p{color:var(--c-muted); margin-top:10px; max-width:46ch}

/* ============ ФУТЕР ============ */
.ftr{background:var(--c-ink); color:#AFC2CE}
.ftr__main{display:grid; grid-template-columns:minmax(250px,1.25fr) 3fr; gap:clamp(40px,5vw,72px); padding-block:clamp(52px,6vw,76px); border-bottom:1px solid var(--c-line-d)}
.ftr__about .logo{margin-bottom:22px}
.ftr__about p{font-size:.92rem; line-height:1.75; color:#9FB4C2; max-width:34ch}
.ftr__soc{display:flex; gap:10px; margin-top:26px}
.ftr__soc a{width:42px; height:42px; border:1px solid var(--c-line-d); display:grid; place-items:center; color:#C9D6DF; transition:.2s}
.ftr__soc a:hover{background:var(--c-accent); color:#fff; border-color:var(--c-accent)}

/* верхний ряд контактов */
.ftr__contacts-row{display:grid; grid-template-columns:repeat(3,1fr); gap:30px; padding-bottom:34px; margin-bottom:36px; border-bottom:1px solid var(--c-line-d)}
.ftr__ci{display:flex; gap:18px; align-items:center}
.ftr__ci .ic{width:58px; height:58px; border:2px solid var(--c-accent); display:grid; place-items:center; color:var(--c-accent); font-size:1.3rem; flex:none}
.ftr__ci b{display:block; color:#fff; font-family:var(--f-display); font-weight:700; font-size:1.12rem; margin-bottom:5px}
.ftr__ci a, .ftr__ci-txt span{display:block; font-size:.95rem; color:#B7C8D2; line-height:1.5; transition:color .2s}
.ftr__ci a:hover{color:var(--c-accent)}

/* колонки */
.ftr__cols{display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:clamp(28px,3vw,44px)}
.ftr h4{color:#fff; font-family:var(--f-display); font-weight:700; font-size:1.08rem; margin-bottom:22px; letter-spacing:.01em}
.ftr__list{display:flex; flex-direction:column; gap:14px}
.ftr__list a{font-size:.94rem; color:#B7C8D2; display:inline-flex; align-items:center; gap:.65rem; transition:color .2s}
.ftr__list a i{color:var(--c-accent); font-size:.8rem}
.ftr__list a:hover{color:#fff}

/* форма заявки */
.ftr__cta p{font-size:.9rem; line-height:1.65; color:#9FB4C2; margin-bottom:20px; max-width:36ch}
.ftr__form{display:flex; flex-direction:column; gap:12px}
.ftr__form input{background:var(--c-navy); border:1px solid var(--c-line-d); color:#fff; padding:13px 15px; font-family:var(--f-text); font-size:.92rem; border-radius:var(--radius-i)}
.ftr__form input::placeholder{color:#86A0AE}
.ftr__form input:focus{outline:none; border-color:var(--c-accent)}
.ftr__form button{justify-content:center; margin-top:4px}

.ftr__bottom{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding-block:24px; font-size:.86rem; color:#7E95A3}
.ftr__bottom a{color:#9FB4C2}
.ftr__bottom a:hover{color:var(--c-accent)}
.ftr__bottom .legal{display:flex; gap:18px; flex-wrap:wrap}

@media(max-width:980px){
  .ftr__main{grid-template-columns:1fr; gap:44px}
  .ftr__contacts-row{grid-template-columns:1fr 1fr; gap:24px}
  .ftr__cols{grid-template-columns:1fr 1fr}
  .ftr__cta{grid-column:1 / -1; max-width:480px}
}
@media(max-width:560px){
  .ftr__contacts-row{grid-template-columns:1fr; gap:22px}
  .ftr__cols{grid-template-columns:1fr; gap:32px}
  .ftr__cta{max-width:none}
}

/* ============ SCROLL REVEAL ============
   Инженерный характер: короткие, точные движения, без «плавающего» ИИ-фейда.
   Разные типы под разные блоки — см. модификаторы ниже.
   ======================================== */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .45s var(--ease), transform .45s var(--ease)}
.reveal.in{opacity:1; transform:none}
/* боковой въезд — только для крупных парных блоков (текст/медиа) */
.reveal--left{transform:translateX(-28px)}
.reveal--right{transform:translateX(28px)}
/* лёгкий зум — для баннеров/карточек-героев */
.reveal--scale{transform:scale(.97)}
.reveal--fade{transform:none}
/* штора: фото раскрывается снизу вверх — для медиа-блоков */
.reveal--mask{opacity:1; clip-path:inset(0 0 100% 0); transform:none; transition:clip-path .7s cubic-bezier(.65,0,.35,1)}
.reveal--mask.in{clip-path:inset(0 0 0 0)}
/* подчёркивание-линия: для заголовков секций (аккуратный сдвиг без фейда) */
.reveal--rise{opacity:0; transform:translateY(10px); transition:opacity .35s var(--ease), transform .35s var(--ease)}
@media(max-width:960px){ .reveal--left, .reveal--right{transform:translateY(18px)} }

/* каскад по сетке — короткий, «щелчком», не убаюкивающий */
.r-stagger > *{opacity:0; transform:translateY(16px); transition:opacity .38s var(--ease), transform .38s var(--ease)}
.r-stagger > *.in{opacity:1; transform:none}
/* каскад сеток-таблиц (ячейки без отступов): только проявление, без сдвига —
   иначе видны «швы» между ячейками во время анимации */
.r-stagger--flat > *{transform:none; transition:opacity .32s var(--ease)}

@media(prefers-reduced-motion:reduce){
  .reveal,.r-stagger > *{opacity:1 !important; transform:none !important; clip-path:none !important; transition:none !important}
  html{scroll-behavior:auto}
}

/* фокус-доступность */
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--c-accent); outline-offset:2px}

/* ============================================================
   ДОПОЛНЕНИЯ ТЕМЫ (нет в прототипе)
   Технические правила для WordPress: форма заявки, кастом-лого,
   типографика внутренних страниц (page.php/single.php/404/поиск).
   Выдержаны в той же палитре и языке форм — без «слопа».
   ============================================================ */

/* honeypot формы заявки (скрытое поле-ловушка для ботов) */
.iprod-hp{position:absolute !important; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}

/* сообщения формы заявки */
.ftr__note{display:block; font-family:var(--f-display); font-weight:600; font-size:.85rem; line-height:1.45; margin-top:2px}
.ftr__note--ok{color:var(--c-accent)}
.ftr__note--err{color:#FF8B6B}

/* кастомный логотип (если клиент загрузит картинку вместо текстового лого) */
.custom-logo-link{display:inline-flex; align-items:center}
.custom-logo-link img,.custom-logo{max-height:48px; width:auto; height:auto}
.header.scrolled .custom-logo-link img,.header.scrolled .custom-logo{max-height:42px}

/* шапка внутренней страницы */
.page-head{background:var(--c-ink); color:#fff; padding-block:clamp(48px,7vw,92px); border-bottom:1px solid var(--c-line-d)}
.page-head .eyebrow{color:var(--c-accent)}
.page-head h1{color:#fff; font-size:clamp(1.8rem,3.4vw,2.7rem); max-width:24ch}
.page-head .crumbs{font-family:var(--f-display); font-weight:600; font-size:.82rem; letter-spacing:.04em; color:var(--c-muted-l); margin-bottom:14px}
.page-head .crumbs a{color:var(--c-muted-l); transition:color .2s}
.page-head .crumbs a:hover{color:var(--c-accent)}

/* контент внутренней страницы / записи */
.entry{padding-block:clamp(48px,6vw,84px)}
.entry__inner{max-width:78ch}
.entry__content{font-size:1.04rem; line-height:1.75; color:var(--c-text)}
.entry__content > *{margin-bottom:1.1em}
.entry__content > *:last-child{margin-bottom:0}
.entry__content h2{font-size:clamp(1.5rem,2.6vw,2rem); margin:1.6em 0 .6em}
.entry__content h3{font-size:1.35rem; margin:1.4em 0 .5em}
.entry__content h4{font-size:1.12rem; margin:1.3em 0 .4em}
.entry__content a{color:var(--c-navy); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; transition:color .2s}
.entry__content a:hover{color:var(--c-accent)}
.entry__content ul,.entry__content ol{padding-left:1.25em}
.entry__content li{margin-bottom:.5em}
.entry__content img{height:auto}
.entry__content blockquote{background:var(--c-surface); border-top:3px solid var(--c-accent); padding:20px 24px; color:var(--c-text); font-style:italic}
.entry__content blockquote p{margin-bottom:.6em}
.entry__content blockquote p:last-child{margin-bottom:0}
.entry__content code{background:var(--c-surface); padding:2px 7px; font-size:.9em; font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.entry__content pre{background:var(--c-ink); color:#D9E4EC; padding:20px 22px; overflow:auto; font-size:.9rem}
.entry__content table{width:100%; border-collapse:collapse}
.entry__content th,.entry__content td{border:1px solid var(--c-line); padding:10px 14px; text-align:left}
.entry__content th{background:var(--c-surface); font-family:var(--f-display)}

/* мета записи */
.entry__meta{font-family:var(--f-display); font-weight:600; font-size:.82rem; letter-spacing:.04em; color:var(--c-muted); margin-bottom:18px; display:flex; gap:18px; flex-wrap:wrap}
.entry__meta i{color:var(--c-accent); margin-right:.4rem}

/* список записей (index/архив) */
.posts{display:grid; grid-template-columns:repeat(3,1fr); gap:26px}
.post-card{background:#fff; border:1px solid var(--c-line); display:flex; flex-direction:column; transition:border-color .25s var(--ease)}
.post-card:hover{border-color:var(--c-accent)}
.post-card__img{height:200px; overflow:hidden}
.post-card__img img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease)}
.post-card:hover .post-card__img img{transform:scale(1.05)}
.post-card__body{padding:24px 24px 26px; display:flex; flex-direction:column; gap:10px; flex:1}
.post-card__body h2{font-size:1.2rem}
.post-card__body p{font-size:.95rem; color:var(--c-muted); line-height:1.6; flex:1}
@media(max-width:980px){ .posts{grid-template-columns:repeat(2,1fr)} }
@media(max-width:620px){ .posts{grid-template-columns:1fr} }

/* пагинация */
.pagination{margin-top:48px; display:flex; gap:8px; flex-wrap:wrap}
.pagination .page-numbers{font-family:var(--f-display); font-weight:700; font-size:.92rem; min-width:46px; height:46px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border:1px solid var(--c-line); color:var(--c-navy); transition:.2s}
.pagination .page-numbers:hover,.pagination .page-numbers.current{background:var(--c-accent); border-color:var(--c-accent); color:#fff}

/* форма поиска */
.search-form{display:flex; gap:0; max-width:520px}
.search-form .search-field{flex:1; background:#fff; border:1px solid var(--c-line); padding:13px 16px; font-family:var(--f-text); font-size:.95rem; border-radius:var(--radius-i) 0 0 var(--radius-i)}
.search-form .search-field:focus{outline:none; border-color:var(--c-accent)}
.search-form .search-submit{background:var(--c-accent); color:#fff; border:none; font-family:var(--f-display); font-weight:700; padding:0 22px; cursor:pointer; transition:background .2s}
.search-form .search-submit:hover{background:var(--c-accent-d)}

/* 404 */
.notfound{text-align:center; padding-block:clamp(64px,10vw,120px)}
.notfound__code{font-family:var(--f-display); font-weight:800; font-size:clamp(5rem,16vw,11rem); line-height:1; color:var(--c-line); letter-spacing:-.04em}
.notfound h1{font-size:clamp(1.6rem,3vw,2.3rem); margin:6px 0 16px}
.notfound p{color:var(--c-muted); max-width:46ch; margin:0 auto 28px}
.notfound__act{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}

/* комментарии */
.comments{margin-top:56px; padding-top:40px; border-top:1px solid var(--c-line)}
.comments__title{font-size:1.4rem; margin-bottom:24px}
.comments .comment-list{list-style:none; margin:0; padding:0}
.comments .comment-body{padding:18px 0; border-bottom:1px solid var(--c-line)}
.comments .comment-author{font-family:var(--f-display); font-weight:700; color:var(--c-ink)}
.comments .comment-meta{font-size:.82rem; color:var(--c-muted); margin-bottom:8px}
.comment-respond{margin-top:32px}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%; background:#fff; border:1px solid var(--c-line); padding:12px 15px; font-family:var(--f-text); font-size:.95rem; border-radius:var(--radius-i); margin-bottom:14px}
.comment-form textarea:focus,.comment-form input:focus{outline:none; border-color:var(--c-accent)}

/* WP-выравнивания и подписи (для контента страниц) */
.alignleft{float:left; margin:0 24px 18px 0}
.alignright{float:right; margin:0 0 18px 24px}
.aligncenter{margin-left:auto; margin-right:auto}
.wp-caption-text,.entry__content figcaption{font-size:.85rem; color:var(--c-muted); margin-top:8px}
.screen-reader-text{position:absolute !important; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden; word-wrap:normal !important}

/* ===== Кнопки-триггеры попапа (button в роли ссылки) ===== */
button.btn{-webkit-appearance:none; appearance:none}
/* button-сброс БЕЗ font (иначе перебивает типографику .arrow): */
button.arrow{background:none; border:0; padding:0; margin:0; cursor:pointer; text-align:left}

/* ===== ПОПАП-ФОРМА ЗАЯВКИ ===== */
.modal{position:fixed; inset:0; z-index:100; display:none}
.modal.open{display:block}
.modal__scrim{position:absolute; inset:0; background:rgba(5,18,26,.72); animation:iprodFade .25s var(--ease)}
.modal__dialog{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(92vw,460px); max-height:92vh; overflow:auto; background:#fff; padding:clamp(28px,4vw,40px); animation:iprodPop .3s var(--ease)}
.modal__close{position:absolute; top:12px; right:12px; width:40px; height:40px; background:var(--c-surface); border:none; color:var(--c-ink); cursor:pointer; font-size:1.1rem; transition:.2s}
.modal__close:hover{background:var(--c-ink); color:#fff}
.modal__dialog .eyebrow{margin-bottom:.6rem}
.modal__title{font-size:clamp(1.4rem,3vw,1.8rem); margin-bottom:.5rem}
.modal__sub{color:var(--c-muted); font-size:.96rem; line-height:1.6; margin-bottom:22px}
.modal__form{display:flex; flex-direction:column; gap:12px}
.modal__form input[type=text],.modal__form input[type=tel]{background:#fff; border:1px solid var(--c-line); color:var(--c-text); padding:14px 15px; font-family:var(--f-text); font-size:.96rem; border-radius:var(--radius-i)}
.modal__form input::placeholder{color:var(--c-muted)}
.modal__form input:focus{outline:none; border-color:var(--c-accent)}
.modal__form .btn{justify-content:center; margin-top:4px}
.modal__note{display:block; font-family:var(--f-display); font-weight:600; font-size:.9rem; line-height:1.45}
.modal__note--ok{color:var(--c-accent-d)}
.modal__note--err{color:#D8482B}
.modal__policy{font-size:.78rem; color:var(--c-muted); line-height:1.5; margin-top:2px}
@keyframes iprodFade{from{opacity:0}to{opacity:1}}
@keyframes iprodPop{from{opacity:0; transform:translate(-50%,-46%)}to{opacity:1; transform:translate(-50%,-50%)}}
@media(prefers-reduced-motion:reduce){ .modal__scrim,.modal__dialog{animation:none} }

/* ===== «Почему выбирают нас» — фон на весь блок ===== */
.why-section{position:relative; background:var(--c-ink)}
.why-section::before{content:""; position:absolute; inset:0; background:var(--why-bg, url('../img/why-bg.jpg?v=202608201039') center/cover) center/cover; opacity:.85}
.why-section::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,34,49,.5) 0%, rgba(10,34,49,.58) 50%, rgba(10,34,49,.68) 100%)}
.why-section > .wrap{position:relative; z-index:1}
.why-section .why__grid{background:rgba(41,76,97,.5); border-color:rgba(159,180,194,.22)}
.why-section .feat{background:rgba(10,34,49,.42)}
.why-section .feat:hover{background:rgba(17,56,79,.62)}

/* ===== Панель «О компании — инфо»: фоновое фото ===== */
.ainfo__panel--media{background:linear-gradient(180deg, rgba(10,34,49,.42), rgba(10,34,49,.55)), var(--ainfo-bg, url('../img/about-info-bg.jpg?v=202608201039') center/cover)) center/cover}

/* ===== Мобильные правки ===== */
/* топбар: почта (.tb-mail) видна и на мобиле — ужимаем шрифт/отступы, чтобы влезла с телефоном */
@media(max-width:560px){
  .topbar{font-size:.74rem}
  .topbar .wrap{gap:10px; height:42px}
  .topbar .tb-l{gap:13px}
  .topbar i{font-size:.92em}
}
@media(max-width:380px){
  .topbar{font-size:.69rem}
  .topbar .tb-l{gap:10px}
}
/* hero H1 — компактнее на мобиле (масштаб по ширине), чтобы умещался в 3 строки на 320–560 */
@media(max-width:560px){
  .hero h1{font-size:clamp(1.25rem, 6.4vw, 1.7rem); line-height:1.12}
}

/* ============================================================
   ВНУТРЕННИЕ СТРАНИЦЫ (О компании, Услуги/Услуга, Оборудование,
   Как работаем, Контакты, FAQ, Блог) — раскладки в стиле темы.
   ============================================================ */

/* шапка страницы: видимое фоновое фото + лёгкое затемнение (~40–50%) + крошки */
.page-head--media{position:relative; overflow:hidden}
.page-head__bg{position:absolute; inset:0; background:var(--c-ink) center/cover no-repeat; z-index:0}
.page-head--media::after{content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg, rgba(10,34,49,.42) 0%, rgba(10,34,49,.3) 55%, rgba(10,34,49,.38) 100%)}
.page-head--media > .wrap{position:relative; z-index:1}
.page-head--media h1{text-shadow:0 2px 18px rgba(4,14,22,.75), 0 1px 3px rgba(4,14,22,.5)}
.page-head--media .crumbs,.page-head--media .page-head__sub{text-shadow:0 1px 10px rgba(4,14,22,.7), 0 1px 2px rgba(4,14,22,.5)}
.page-head .crumbs{display:flex; flex-wrap:wrap; align-items:center; gap:8px}
.page-head .crumbs__sep{color:var(--c-line-d)}
.page-head__sub{color:#C7D6E0; font-size:1.05rem; line-height:1.6; max-width:60ch; margin-top:14px}

/* раскладка «контент + правый сайдбар» */
.pg{padding-block:clamp(48px,6vw,84px)}
.pg__grid{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:clamp(30px,4vw,56px); align-items:start}
.pg__side{display:flex; flex-direction:column; gap:24px}
@media(max-width:980px){ .pg__grid{grid-template-columns:1fr} }

/* сайдбар: навигация по услугам */
.side-nav{border:1px solid var(--c-line); background:#fff}
.side-nav__title{font-family:var(--f-display); font-weight:700; color:#fff; background:var(--c-ink); padding:16px 20px; font-size:1.05rem}
.side-nav__list{list-style:none; margin:0; padding:0}
.side-nav__link{display:flex; align-items:center; gap:12px; padding:15px 20px; border-bottom:1px solid var(--c-line); font-family:var(--f-display); font-weight:600; font-size:.95rem; color:var(--c-text); transition:background .2s, color .2s}
.side-nav__list li:last-child .side-nav__link{border-bottom:none}
.side-nav__link > i:first-child{color:var(--c-accent); width:20px; text-align:center; flex:none}
.side-nav__link span{flex:1}
.side-nav__arr{color:var(--c-muted-l); font-size:.8rem; transition:transform .2s, color .2s}
.side-nav__link:hover{background:var(--c-surface)}
.side-nav__link:hover .side-nav__arr{transform:translateX(4px); color:var(--c-accent)}
.side-nav__link.is-active{background:var(--c-accent); color:#fff}
.side-nav__link.is-active > i:first-child,.side-nav__link.is-active .side-nav__arr{color:#fff}

/* сайдбар: контакт-блок — с фоновым фото и лёгким затемнением */
.side-cta{position:relative; overflow:hidden; background:var(--c-ink); padding:32px 24px; color:#C7D6E0; text-align:center}
.side-cta::before{content:""; position:absolute; inset:0; background:url('../img/side-cta-bg.jpg?v=202608201039') center/cover; opacity:.75}
.side-cta::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,34,49,.45), rgba(10,34,49,.62))}
.side-cta > *{position:relative; z-index:1}
.side-cta__ic{width:56px; height:56px; margin:0 auto 16px; border:2px solid var(--c-accent); color:var(--c-accent); display:grid; place-items:center; font-size:1.4rem}
.side-cta h3{color:#fff; font-size:1.2rem; margin-bottom:10px}
.side-cta p{font-size:.92rem; line-height:1.6; color:#9FB4C2; margin-bottom:18px}
.side-cta__phone{display:block; font-family:var(--f-display); font-weight:800; font-size:1.15rem; color:#fff; margin-bottom:16px}
.side-cta__phone i{color:var(--c-accent); margin-right:.4rem}
.side-cta .btn{width:100%; justify-content:center}

/* сайдбар блога */
.side-block{border:1px solid var(--c-line); background:#fff; padding:22px 20px}
.side-block__title{font-family:var(--f-display); font-weight:700; color:var(--c-ink); font-size:1.1rem; margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid var(--c-accent); display:inline-block}
.side-block .search-form{max-width:none}
.side-posts{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px}
.side-post{display:flex; gap:12px; align-items:flex-start}
.side-post__img{width:64px; height:64px; flex:none; overflow:hidden; background:var(--c-surface)}
.side-post__img img{width:100%; height:100%; object-fit:cover}
.side-post__ph{width:100%; height:100%; display:grid; place-items:center; color:var(--c-muted-l)}
.side-post__txt a{font-family:var(--f-display); font-weight:600; font-size:.92rem; color:var(--c-ink); line-height:1.35; display:block; transition:color .2s}
.side-post__txt a:hover{color:var(--c-accent)}
.side-post__txt time{font-size:.8rem; color:var(--c-muted)}
.side-cats{list-style:none; margin:0; padding:0}
.side-cats li{border-bottom:1px solid var(--c-line); padding:9px 0}
.side-cats li:last-child{border-bottom:none}
.side-cats a{color:var(--c-text); font-size:.94rem; transition:color .2s}
.side-cats a:hover{color:var(--c-accent)}

/* FAQ аккордеон */
.faq__gtitle{font-size:clamp(1.4rem,2.6vw,1.9rem); margin-bottom:22px}
.faq + .faq{margin-top:clamp(40px,5vw,60px)}
.faq__list{display:flex; flex-direction:column; gap:12px}
.faq__item{border:1px solid var(--c-line); background:#fff; transition:border-color .2s}
.faq__item.open{border-color:var(--c-accent)}
.faq__q{width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:19px 24px; background:none; border:none; cursor:pointer; text-align:left; font-family:var(--f-display); font-weight:700; font-size:1.04rem; color:var(--c-ink)}
.faq__ic{color:var(--c-accent); flex:none; transition:transform .3s var(--ease); font-size:.9rem}
.faq__item.open .faq__ic{transform:rotate(45deg)}
.faq__a{max-height:0; overflow:hidden; transition:max-height .35s var(--ease)}
.faq__a-in{padding:0 24px 22px; color:var(--c-muted); line-height:1.7; font-size:.98rem}
.faq__a-in p{margin-bottom:.8em}
.faq__a-in p:last-child{margin-bottom:0}

/* FAQ: интро 2 колонки (текст слева, аккордеон справа) */
.faq-intro{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(32px,5vw,64px); align-items:start}
.faq-intro__text{position:sticky; top:100px}
.faq-intro__text h2{font-size:clamp(1.6rem,2.8vw,2.2rem); margin-bottom:16px; line-height:1.15}
.faq-intro__text p{color:var(--c-muted); line-height:1.7; margin-bottom:16px; max-width:42ch}
.faq-intro__phone{display:flex; align-items:center; gap:.6rem; font-family:var(--f-display); font-weight:800; font-size:1.3rem; color:var(--c-ink)}
.faq-intro__phone i{color:var(--c-accent); font-size:1.1rem}
.faq-intro__acc .faq__gtitle{margin-bottom:18px}
@media(max-width:940px){ .faq-intro{grid-template-columns:1fr} .faq-intro__text{position:static} }

/* FAQ: mid-page баннер с фото (как в референсе) */
.faq-band{display:grid; grid-template-columns:1fr 1fr; background:var(--c-ink); color:#C7D6E0; align-items:stretch}
.faq-band__media{background:url('../img/banner-svc-servis.jpg?v=202608201039') center/cover; min-height:320px}
.faq-band__body{padding:clamp(34px,5vw,60px); display:flex; flex-direction:column; justify-content:center}
.faq-band__body h2{color:#fff; font-size:clamp(1.5rem,2.6vw,2.1rem); margin-bottom:14px; max-width:22ch}
.faq-band__body p{color:#9FB4C2; line-height:1.7; margin-bottom:24px; max-width:44ch}
.faq-band__body .btn{align-self:flex-start}
@media(max-width:820px){ .faq-band{grid-template-columns:1fr} .faq-band__media{min-height:220px} }

/* FAQ: финальный блок «не нашли вопрос» */
.faq-more{margin-top:clamp(32px,4vw,48px); border:1px solid var(--c-line); padding:clamp(24px,3vw,34px); display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; background:var(--c-surface)}
.faq-more p{font-family:var(--f-display); font-weight:600; color:var(--c-ink); max-width:46ch}
.faq-more__act{display:flex; gap:12px; flex-wrap:wrap}

/* Контакты */
.contacts-cards{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--c-line); border:1px solid var(--c-line); margin-bottom:clamp(40px,5vw,64px)}
.contact-card{background:#fff; padding:30px 24px; text-align:center}
.contact-card__ic{width:58px; height:58px; margin:0 auto 16px; border:2px solid var(--c-accent); color:var(--c-accent); display:grid; place-items:center; font-size:1.35rem}
.contact-card b{display:block; font-family:var(--f-display); color:var(--c-ink); font-size:1.05rem; margin-bottom:8px}
.contact-card a,.contact-card span{display:block; color:var(--c-muted); font-size:.95rem; line-height:1.5; word-break:break-word}
.contact-card a:hover{color:var(--c-accent)}
@media(max-width:860px){ .contacts-cards{grid-template-columns:1fr 1fr} }
@media(max-width:480px){ .contacts-cards{grid-template-columns:1fr} }
.contact-main{display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(32px,5vw,60px); align-items:start}
.contact-main__intro h2{font-size:clamp(1.6rem,2.8vw,2.2rem); margin-bottom:16px}
.contact-main__intro p{color:var(--c-muted); line-height:1.7; margin-bottom:22px; max-width:44ch}
.contact-form{background:var(--c-surface); padding:clamp(26px,3vw,40px); border:1px solid var(--c-line)}
.contact-form__row{display:grid; grid-template-columns:1fr 1fr; gap:0 14px}
.contact-form label{display:block; font-family:var(--f-display); font-weight:600; font-size:.85rem; color:var(--c-ink); margin-bottom:6px}
.contact-form input,.contact-form textarea{width:100%; background:#fff; border:1px solid var(--c-line); padding:13px 15px; font-family:var(--f-text); font-size:.95rem; border-radius:var(--radius-i); margin-bottom:16px}
.contact-form textarea{resize:vertical; min-height:120px}
.contact-form input:focus,.contact-form textarea:focus{outline:none; border-color:var(--c-accent)}
.contact-form .btn{justify-content:center}
@media(max-width:780px){ .contact-main{grid-template-columns:1fr} .contact-form__row{grid-template-columns:1fr} }

/* Оборудование: категории */
.equip-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--c-line); border:1px solid var(--c-line)}
.equip{background:#fff; padding:34px 30px; transition:background .25s; position:relative}
.equip::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--c-accent); transform:scaleX(0); transform-origin:left; transition:transform .3s}
.equip:hover::before{transform:scaleX(1)}
.equip__ic{width:56px; height:56px; border:2px solid var(--c-accent); color:var(--c-accent); display:grid; place-items:center; font-size:1.4rem; margin-bottom:18px}
.equip h3{font-size:1.2rem; margin-bottom:.5rem}
.equip p{color:var(--c-muted); font-size:.95rem; line-height:1.6}
@media(max-width:900px){ .equip-grid{grid-template-columns:1fr 1fr} }
@media(max-width:560px){ .equip-grid{grid-template-columns:1fr} }

/* О компании: интро 2 колонки */
.about-intro{display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,60px); align-items:center; margin-bottom:clamp(48px,6vw,80px)}
.about-intro__media{position:relative}
.about-intro__media img{width:100%; height:100%; object-fit:cover; min-height:360px; display:block}
.about-intro__badge{position:absolute; left:0; bottom:0; background:var(--c-accent); color:#fff; padding:20px 26px; font-family:var(--f-display)}
.about-intro__badge b{display:block; font-size:2rem; font-weight:800; line-height:1}
.about-intro__badge span{font-size:.85rem; font-weight:600}
.about-intro__text h2{font-size:clamp(1.7rem,3vw,2.4rem); margin-bottom:18px; line-height:1.15}
.about-intro__text p{color:var(--c-muted); line-height:1.75; margin-bottom:16px}
@media(max-width:880px){ .about-intro{grid-template-columns:1fr} .about-intro__media img{min-height:280px} }

/* полоса статистики */
.stat-band{background:var(--c-ink)}
.stat-band__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--c-line-d)}
.stat-band__i{background:var(--c-ink); padding:clamp(28px,4vw,44px) 30px; text-align:center}
.stat-band__i b{display:block; font-family:var(--f-display); font-weight:800; font-size:clamp(2rem,4vw,2.8rem); color:var(--c-accent); line-height:1}
.stat-band__i span{display:block; color:#C7D6E0; margin-top:10px; font-size:.95rem}
@media(max-width:640px){ .stat-band__grid{grid-template-columns:1fr} }

/* Единичная услуга */
.svc__lead{font-size:1.1rem; line-height:1.7; color:var(--c-text); margin-bottom:26px}
.svc__media{margin-bottom:30px; overflow:hidden}
.svc__media img{width:100%; height:auto; display:block}
.svc__h{font-size:clamp(1.4rem,2.6vw,1.9rem); margin:34px 0 18px}
.svc__benefits{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:24px 0}
.svc-benefit{border:1px solid var(--c-line); padding:22px; display:flex; gap:14px; align-items:flex-start}
.svc-benefit i{color:var(--c-accent); font-size:1.25rem; margin-top:3px; flex:none}
.svc-benefit b{display:block; font-family:var(--f-display); color:var(--c-ink); margin-bottom:5px}
.svc-benefit p{color:var(--c-muted); font-size:.92rem; line-height:1.55}
@media(max-width:560px){ .svc__benefits{grid-template-columns:1fr} }

/* Блог: список */
.blog-list{display:flex; flex-direction:column; gap:34px}
.blog-card{border:1px solid var(--c-line); background:#fff; display:flex; flex-direction:column; transition:border-color .25s}
.blog-card:hover{border-color:var(--c-accent)}
.blog-card__img{position:relative; height:300px; overflow:hidden; display:block}
.blog-card__img img{width:100%; height:100%; object-fit:cover; transition:transform .5s}
.blog-card:hover .blog-card__img img{transform:scale(1.04)}
.blog-card__cat{position:absolute; top:0; left:0; background:var(--c-accent); color:#fff; font-family:var(--f-display); font-weight:700; font-size:.76rem; padding:7px 14px; text-transform:uppercase; letter-spacing:.04em}
.blog-card__body{padding:26px 28px 30px}
.blog-card__meta{font-size:.84rem; color:var(--c-muted); margin-bottom:12px; display:flex; gap:16px; flex-wrap:wrap; font-family:var(--f-display); font-weight:600}
.blog-card__meta i{color:var(--c-accent); margin-right:.35rem}
.blog-card__body h2{font-size:1.4rem; margin-bottom:12px}
.blog-card__body h2 a:hover{color:var(--c-accent)}
.blog-card__body p{color:var(--c-muted); line-height:1.7; margin-bottom:18px}

/* соц-шэр статьи */
.entry__share{display:flex; align-items:center; gap:12px; margin-top:32px; padding-top:22px; border-top:1px solid var(--c-line); flex-wrap:wrap}
.entry__share span{font-family:var(--f-display); font-weight:700; color:var(--c-ink)}
.entry__share a{width:40px; height:40px; border:1px solid var(--c-line); display:grid; place-items:center; color:var(--c-navy); transition:.2s}
.entry__share a:hover{background:var(--c-accent); border-color:var(--c-accent); color:#fff}

/* сетка услуг в архиве (в колонке с сайдбаром) */
.pg__main{min-width:0}
.svc-cards{display:grid; grid-template-columns:1fr 1fr; gap:24px}
@media(max-width:560px){ .svc-cards{grid-template-columns:1fr} }
/* карточка-ссылка изображения услуги */
a.card__img{display:block}

/* ============================================================
   ЮРИДИЧЕСКАЯ СТРАНИЦА (политика конфиденциальности)
   ============================================================ */
.legal-page__grid{display:grid; grid-template-columns:280px minmax(0,1fr); gap:clamp(28px,4vw,56px); align-items:start}
.legal-toc__box{border:1px solid var(--c-line); background:#fff; padding:22px 20px}
.legal-toc__title{font-family:var(--f-display); font-weight:700; color:var(--c-ink); font-size:1.02rem; margin-bottom:14px; padding-bottom:11px; border-bottom:2px solid var(--c-accent); display:inline-block}
.legal-toc__list{list-style:none; counter-reset:toc; margin:0; padding:0; display:flex; flex-direction:column; gap:9px}
.legal-toc__list li{counter-increment:toc; display:flex; gap:9px; align-items:baseline; font-size:.9rem; line-height:1.4}
.legal-toc__list li::before{content:counter(toc) "."; color:var(--c-accent); font-family:var(--f-display); font-weight:700; font-size:.82rem; flex:none}
.legal-toc__list a{color:var(--c-text); transition:color .2s}
.legal-toc__list a:hover{color:var(--c-accent)}

.legal-meta{display:flex; flex-wrap:wrap; gap:10px 24px; padding-bottom:18px; margin-bottom:26px; border-bottom:1px solid var(--c-line); font-family:var(--f-display); font-weight:600; font-size:.86rem; color:var(--c-muted)}
.legal-meta i{color:var(--c-accent); margin-right:.4rem}

.legal-content{max-width:74ch}
.legal-content h2{counter-increment:legal; font-size:clamp(1.15rem,2vw,1.4rem); margin:2.2em 0 .7em; padding-top:1.1em; border-top:1px solid var(--c-line); scroll-margin-top:110px}
.legal-content > h2:first-child{margin-top:0; padding-top:0; border-top:none}
.legal-content h3{font-size:1.06rem; margin:1.5em 0 .5em}
.legal-content p{margin-bottom:1em}
.legal-content ul,.legal-content ol{padding-left:1.3em; margin-bottom:1.2em}
.legal-content li{margin-bottom:.55em}
.legal-content li::marker{color:var(--c-accent)}
.legal-content strong{color:var(--c-ink)}
.legal-content .legal-note{background:var(--c-surface); padding:18px 22px; font-size:.94rem; color:var(--c-text)}

.legal-foot{margin-top:44px; padding:28px; background:var(--c-surface)}
.legal-foot p{color:var(--c-text); margin-bottom:18px; font-size:.98rem}
.legal-foot__act{display:flex; gap:12px; flex-wrap:wrap}

@media(max-width:980px){
  .legal-page__grid{grid-template-columns:1fr}
  .legal-toc__box{padding:18px}
}
.modal__policy a{color:var(--c-navy); text-decoration:underline; text-underline-offset:2px}
.modal__policy a:hover{color:var(--c-accent)}

/* ============ КОНТАКТЫ: отделы и адреса ============ */
.dept-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--c-line); border:1px solid var(--c-line); margin-bottom:clamp(28px,3vw,40px)}
.dept{background:#fff; padding:32px 28px; display:flex; flex-direction:column}
.dept__ic{width:56px; height:56px; border:2px solid var(--c-accent); color:var(--c-accent); display:grid; place-items:center; font-size:1.35rem; margin-bottom:18px}
.dept h3{font-size:1.22rem; margin-bottom:8px}
.dept__note{color:var(--c-muted); font-size:.92rem; line-height:1.55; margin-bottom:18px; flex:1}
.dept__phone,.dept__mail{display:flex; align-items:center; gap:10px; font-family:var(--f-display); font-weight:700; color:var(--c-ink); padding:9px 0; border-top:1px solid var(--c-line); transition:color .2s; word-break:break-word}
.dept__mail{font-weight:600; font-size:.92rem}
.dept__phone i,.dept__mail i{color:var(--c-accent); width:16px; text-align:center; flex:none; font-size:.9rem}
.dept__phone:hover,.dept__mail:hover{color:var(--c-accent)}
@media(max-width:900px){ .dept-grid{grid-template-columns:1fr} }

.addr-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--c-line); border:1px solid var(--c-line); margin-bottom:clamp(40px,5vw,64px)}
.addr{background:#fff; padding:24px 22px; display:flex; gap:14px; align-items:flex-start}
.addr__ic{width:44px; height:44px; border:2px solid var(--c-accent); color:var(--c-accent); display:grid; place-items:center; font-size:1.05rem; flex:none}
.addr b{display:block; font-family:var(--f-display); color:var(--c-ink); font-size:.98rem; margin-bottom:6px}
.addr span{display:block; color:var(--c-muted); font-size:.9rem; line-height:1.5}
@media(max-width:1080px){ .addr-grid{grid-template-columns:1fr 1fr} }
@media(max-width:620px){ .addr-grid{grid-template-columns:1fr} }

/* ============ ЛОГОТИП-КАРТИНКА ============ */
.logo--img{display:flex; align-items:center; flex:none}          /* flex:none — иначе лого сжимается по ширине */
.logo--img img{height:42px; width:auto; max-width:none; object-fit:contain; display:block; flex:none; transition:height .25s var(--ease)}
.header.scrolled .logo--img img{height:36px}
.ftr .logo--img img{height:46px}
.mnav .logo--img img{height:34px}
@media(max-width:560px){ .logo--img img{height:34px} .header.scrolled .logo--img img{height:30px} }

/* ============ ПЛАВАЮЩАЯ КНОПКА VIBER ============ */
.viber-fab{
  position:fixed; left:22px; bottom:22px; z-index:70;
  width:58px; height:58px; border-radius:50%;
  background:#7360F2; color:#fff;
  display:grid; place-items:center; font-size:1.6rem;
  box-shadow:0 6px 18px rgba(115,96,242,.38);
  transition:background .2s var(--ease), transform .2s var(--ease);
}
.viber-fab:hover{background:#5B49D6; transform:translateY(-2px)}
.viber-fab i{position:relative; z-index:2; line-height:1}
/* пульсирующее кольцо */
.viber-fab__pulse{
  position:absolute; inset:0; border-radius:50%;
  background:#7360F2; opacity:.55; z-index:1;
  animation:iprodViberPulse 2.2s var(--ease) infinite;
}
@keyframes iprodViberPulse{
  0%{transform:scale(1); opacity:.5}
  70%{transform:scale(1.85); opacity:0}
  100%{transform:scale(1.85); opacity:0}
}
/* подпись при наведении */
.viber-fab__tip{
  position:absolute; left:calc(100% + 12px); top:50%; transform:translateY(-50%) translateX(-6px);
  background:var(--c-ink); color:#fff; font-family:var(--f-display); font-weight:600; font-size:.84rem;
  padding:9px 14px; white-space:nowrap; opacity:0; visibility:hidden;
  transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
}
.viber-fab:hover .viber-fab__tip{opacity:1; visibility:visible; transform:translateY(-50%) translateX(0)}
@media(max-width:560px){
  .viber-fab{left:16px; bottom:16px; width:52px; height:52px; font-size:1.45rem}
  .viber-fab__tip{display:none}
}
@media(prefers-reduced-motion:reduce){ .viber-fab__pulse{animation:none; opacity:0} }

/* Обёртка <picture> вокруг изображений (WebP): не участвует в раскладке,
   чтобы правила вида .aboutg__ph img продолжали работать как раньше. */
picture { display: contents; }

/* Соцсети на светлом фоне (страница «Контакты»).
   В подвале фон тёмный, там иконки светло-серые — на белом они были не видны. */
.ftr__soc--light a{border-color:var(--c-line); color:var(--c-navy)}
.ftr__soc--light a:hover{background:var(--c-accent); border-color:var(--c-accent); color:#fff}
