/* АРС — стили сайта (премиум-проход 27.09.2026). Шрифты: Manrope (заголовки), Onest (текст), OFL.
   Сетка жидкая: контейнер clamp(1200px, 92vw, 2240px), фоны секций — на всю ширину окна (full-bleed).
   На широких экранах растёт число колонок, а не пустые поля; абзацы не шире ~68 знаков.
   Фоновая инженерная графика — site/img/bp-*.svg (генератор _src/blueprint.py). */
@font-face{font-family:Manrope;src:url(../fonts/manrope.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:Onest;src:url(../fonts/onest.woff2) format("woff2");font-weight:100 900;font-display:swap}

:root{
  /* цвет: графит + сумеречный синий и рассветный янтарь (вариант Б) + родированный металл — других оттенков на сайте нет */
  --navy-950:#07111E; --navy-900:#0B1A2C; --navy-800:#10243B; --navy-700:#1A3452; --navy-500:#3B5876;
  --ink:#14202E; --muted:#4F5E6E; --line:#DAE2EA; --line-dk:rgba(255,255,255,.13);
  --bg:#FFFFFF; --bg-muted:#F1F4F7;
  --accent:#3A62A0;          /* вариант Б: сумеречный синий, заливки (текст на нём — белый) */
  --accent-ink:#2C4F86;      /* сумеречный синий для текста на белом, 8.2:1 */
  --accent-soft:#C9D8EE;     /* светлый сумеречный для тёмного фона */
  --on-dark:#E8EEF4; --on-dark-2:#A9B8C8;
  --metal:linear-gradient(90deg,#8E9CAA 0%,#E9EFF4 22%,#FFFFFF 34%,#B8C4CF 52%,#F4F8FB 70%,#8E9CAA 100%);
  --warn:#E35D5D;
  --r:6px; --r-lg:12px;
  --max:clamp(1200px,92vw,2240px); --pad:clamp(20px,3.2vw,72px);
  --gap:clamp(16px,1.3vw,28px);
  --sec:clamp(64px,7vw,140px);
  --hdr:72px;
  --f-head:Manrope,"Segoe UI",Arial,sans-serif; --f-text:Onest,"Segoe UI",Arial,sans-serif;
  --fs-body:clamp(16px,.3vw + 12.4px,20px);
  --fs-lead:clamp(17px,.42vw + 12.6px,23px);
  --fs-h2:clamp(30px,2.9vw + 6px,68px);
  --fs-h3:clamp(19px,.55vw + 13px,26px);
  --fs-small:clamp(14px,.16vw + 12px,16px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font:400 var(--fs-body)/1.6 var(--f-text);color:var(--ink);background:var(--bg);overflow-x:hidden;
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
picture{display:block}
a{color:var(--accent-ink);text-underline-offset:3px}
a:hover{color:var(--navy-700)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--f-head);line-height:1.1;margin:0 0 .5em;letter-spacing:-.015em;color:var(--navy-900);text-wrap:balance}
h2{font-size:var(--fs-h2);font-weight:800}
h3{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.005em}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--accent);color:var(--navy-950);padding:10px 16px;border-radius:var(--r)}
.skip:focus{left:8px}

/* плавная смена страниц (главная ↔ услуги) там, где браузер умеет; остальные просто переходят */
@view-transition{navigation:auto}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* ---------- кнопки: «Керамика с напылением», белый вариант (стиль №8 витрины, правки заказчика 28.09.2026)
   Рендер Blender Cycles (skills/buttons, пресет ceramic, make.py): матовая «пухлая» плитка, шагрень с крапинками,
   узкий кант полированного металла. Главная — белая керамика, вторичная — светло-серая керамика той же системы.
   9-slice: торцы (скругления и кант) не тянутся, середина тянется; под стыками подложка -mid-*.webp
   (иначе при дробной ширине Chrome оставляет волосяные щели). Высота — --bh, торцы — доля от неё.
   Перелив: при наведении/фокусе фон меняется на кадр b (тот же материал в другом свете).
   Текст в кнопках — голый узел, поэтому слоёв поверх фона (::before) нет: так текст не перекроется ни на каком GPU.
   Прежняя огранка — _work/backup_before_edits1/site/css/site.css. */
.btn{--bh:48px;--b-a:url(../img/btn-cer-white-a.webp);--b-b:url(../img/btn-cer-white-b.webp);
  --b-ma:url(../img/btn-cer-white-mid-a.webp);--b-mb:url(../img/btn-cer-white-mid-b.webp);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;
  height:var(--bh);min-height:0;padding:0 calc(var(--bh) * .52);border-radius:0;
  font:700 clamp(15px,.18vw + 12.6px,18px)/1.2 var(--f-head);letter-spacing:.01em;text-decoration:none;
  border:0 solid transparent;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;
  border-image:var(--b-a) 0 36 0 36 fill / 0 calc(var(--bh) * .3) 0 calc(var(--bh) * .3) / 0 stretch;
  background:var(--b-ma) calc(var(--bh) * .3 - 1px) 0 / calc(100% - var(--bh) * .6 + 2px) 100% no-repeat;
  color:#1E262F;-webkit-text-fill-color:currentColor;text-shadow:0 1px 0 rgba(255,255,255,.6);
  filter:drop-shadow(0 1px 1px rgba(40,48,58,.28)) drop-shadow(0 6px 10px rgba(40,48,58,.18));
  transition:transform .22s cubic-bezier(.2,.7,.2,1),filter .22s}
.btn:hover,.btn:focus-visible{border-image-source:var(--b-b);background-image:var(--b-mb)}
.btn--lg{--bh:clamp(52px,.6vw + 44px,60px);padding:0 calc(var(--bh) * .55)}
.btn--accent,.btn--accent:hover{color:#1E262F}
/* кнопка в мобильном меню: правило ссылок .nav a перебивало цвет и подменяло ::after подчёркиванием */
.nav a.btn--accent,.nav a.btn--accent:hover{color:#1E262F;font-weight:700}
.nav a.btn::after{display:none}
/* вторичные — светло-серая керамика в той же системе */
.btn--ghost,.btn--outline{--b-a:url(../img/btn-cer-grey-a.webp);--b-b:url(../img/btn-cer-grey-b.webp);
  --b-ma:url(../img/btn-cer-grey-mid-a.webp);--b-mb:url(../img/btn-cer-grey-mid-b.webp);color:#1E262F;text-shadow:0 1px 0 rgba(255,255,255,.45)}
.btn--ghost:hover,.btn--outline:hover{color:#11171D}
.btn:hover{transform:translateY(-1px);
  filter:brightness(1.03) drop-shadow(0 1px 1px rgba(40,48,58,.3)) drop-shadow(0 10px 14px rgba(40,48,58,.24))}
.btn:active{transform:translateY(1px) scale(.985);transition-duration:.08s;
  filter:brightness(.95) drop-shadow(0 1px 1px rgba(40,48,58,.3)) drop-shadow(0 2px 3px rgba(40,48,58,.22))}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}
.btn:focus-visible{outline:3px solid var(--accent-ink);outline-offset:4px;border-radius:2px}
@media (prefers-reduced-motion:reduce){.btn:hover,.btn:active{transform:none}}

/* ---------- шапка */
.hdr{position:sticky;top:0;z-index:50;background:var(--navy-950);color:var(--on-dark);border-bottom:1px solid rgba(255,255,255,.08)}
.hdr__in{display:flex;align-items:center;gap:clamp(16px,1.6vw,36px);height:var(--hdr)}
/* индикатор прочтения: тонкая металлическая нить по низу шапки (scroll-driven, только где поддерживается) */
.hdr__progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-soft) 60%,#fff);
  transform-origin:0 50%;transform:scaleX(0);opacity:0}
@supports (animation-timeline:scroll()){
  .hdr__progress{opacity:.85;animation:readp linear both;animation-timeline:scroll(root)}
  @keyframes readp{to{transform:scaleX(1)}}
}
.logo{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;flex:none}
.logo__txt{display:flex;flex-direction:column;line-height:1.05}
.logo__txt b{font:800 23px/1 var(--f-head);letter-spacing:.04em}
.logo__txt small{font:500 10.5px/1.3 var(--f-head);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2);margin-top:4px}
.logo:hover{color:#fff}
.logo__mark{width:44px;height:44px;flex:none}
.nav{margin-left:auto}
.nav ul{display:flex;gap:clamp(18px,1.7vw,40px)}
.nav a{position:relative;color:var(--on-dark);text-decoration:none;font:600 clamp(15px,.15vw + 13px,17px)/1 var(--f-head);padding:8px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent-soft);transform:scaleX(0);transform-origin:0 50%;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.nav a:hover{color:#fff}
.nav a:hover::after{transform:scaleX(1)}
.nav__foot{display:none}
.hdr__phone{color:#fff;text-decoration:none;font:700 clamp(16px,.15vw + 14px,18px)/1 var(--f-head);white-space:nowrap;font-variant-numeric:tabular-nums}
.hdr__phone:hover{color:var(--accent-soft)}
.lang{color:var(--on-dark-2);text-decoration:none;font:700 13px/1 var(--f-head);border:1px solid rgba(255,255,255,.25);border-radius:4px;padding:7px 8px;letter-spacing:.06em}
.lang:hover{color:#fff;border-color:var(--accent-soft)}
.hdr__cta{--bh:42px;padding:0 20px;font-size:15px}
.burger{display:none;width:46px;height:46px;border:0;background:transparent;padding:11px;cursor:pointer;flex-direction:column;justify-content:space-between}
.burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(10px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}
@media (max-width:1180px){.hdr__phone{display:none}}
@media (max-width:1060px){.nav ul{gap:18px}}
@media (max-width:420px){.hdr__in{gap:12px}.logo__txt small{display:none}.logo__mark{width:40px;height:40px}}
@media (max-width:980px){
  .hdr__cta{display:none}
  .burger{display:flex;margin-left:4px}
  .lang{margin-left:auto}
  .nav{position:fixed;inset:var(--hdr) 0 0 0;background:var(--navy-950);padding:28px var(--pad) 40px;display:none;flex-direction:column;overflow:auto}
  .nav.is-open{display:flex}
  .nav ul{flex-direction:column;gap:0}
  .nav li a{display:block;padding:16px 0;font-size:22px;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav li a::after{display:none}
  .nav__foot{display:flex;flex-direction:column;gap:16px;margin-top:28px}
  .nav__phone{color:#fff;font:800 24px/1 var(--f-head);text-decoration:none}
  body.menu-open{overflow:hidden}
}

/* ---------- фоновая инженерная графика (full-bleed, за содержимым) */
.sec--bp{position:relative;isolation:isolate}
.sec--bp::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-repeat:no-repeat}
/* «О компании»: схема КИПиА справа, уходит под манометр; к тексту слева гаснет */
.sec--bp-kip::before{background-image:url(../img/bp-kip-l.svg);background-position:right calc(var(--pad) * -.5) center;background-size:min(46vw,1200px) auto;
  -webkit-mask:linear-gradient(90deg,transparent 58%,#000 78%);mask:linear-gradient(90deg,transparent 58%,#000 78%)}
/* тёмные секции и шапки услуг: план кабельных трасс */
.sec--bp-cable::before{background-image:url(../img/bp-cable-d.svg);background-position:left -6vw bottom -6vw;background-size:min(56vw,1500px) auto;
  -webkit-mask:linear-gradient(0deg,#000 8%,transparent 48%);mask:linear-gradient(0deg,#000 8%,transparent 48%);opacity:.8}
.svc-hero.sec--bp-cable::before{background-position:right -3vw center;background-size:min(62vw,1400px) auto;
  -webkit-mask:linear-gradient(90deg,transparent 30%,#000 70%);mask:linear-gradient(90deg,transparent 30%,#000 70%)}
/* заявка: эстакада с кабельными лотками по низу */
.sec--bp-rack::before{background-image:url(../img/bp-rack-d.svg);background-position:left bottom;background-repeat:repeat-x;background-size:auto clamp(180px,14vw,300px);opacity:.4;
  -webkit-mask:linear-gradient(0deg,#000 30%,transparent);mask:linear-gradient(0deg,#000 30%,transparent)}
/* допуски: миллиметровка чертёжного листа */
.sec--bp-grid::before{background-image:linear-gradient(rgba(11,26,44,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,26,44,.045) 1px,transparent 1px);
  background-size:32px 32px;-webkit-mask:radial-gradient(120% 90% at 100% 0%,#000 20%,transparent 70%);mask:radial-gradient(120% 90% at 100% 0%,#000 20%,transparent 70%)}
@media (max-width:860px){.sec--bp-kip::before,.sec--bp-cable::before{opacity:.5;background-size:140vw auto}}

/* ---------- первый экран */
.hero{position:relative;background:var(--navy-950);color:var(--on-dark);overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-2}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(7,17,30,.95) 0%,rgba(7,17,30,.84) 36%,rgba(7,17,30,.32) 72%,rgba(7,17,30,.2) 100%),
             linear-gradient(0deg,rgba(7,17,30,.96) 0%,rgba(7,17,30,0) 42%)}
.hero__in{display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,30vw,640px);gap:clamp(24px,4vw,96px);align-items:center;
  padding-top:clamp(56px,7.5vw,150px);padding-bottom:clamp(40px,4.5vw,80px)}
.hero__eyebrow{font:600 clamp(13px,.2vw + 10.5px,16px)/1.4 var(--f-head);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:18px}
.hero__brand{font:800 clamp(72px,9.6vw,220px)/.88 var(--f-head);letter-spacing:.015em;color:#fff;margin:0 0 .12em}
.hero__h1{color:#fff;font-size:clamp(26px,2.6vw + 4px,60px);font-weight:700;max-width:19em;line-height:1.12;margin-bottom:.45em}
.hero__sub{font-size:var(--fs-lead);color:var(--on-dark-2);max-width:36em;margin-bottom:clamp(24px,2vw,40px)}
.hero__btns{display:flex;flex-wrap:wrap;gap:14px}
.hero__trust{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:clamp(24px,2.2vw,44px);padding-top:18px;border-top:1px solid rgba(255,255,255,.12);max-width:60em}
.hero__trust li{position:relative;padding-left:22px;font:600 var(--fs-small)/1.4 var(--f-head);color:var(--on-dark);letter-spacing:.01em}
.hero__trust li::before{content:"";position:absolute;left:0;top:.28em;width:13px;height:13px;border-radius:50%;
  background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%2307111E' stroke-width='3.4'/%3E%3C/svg%3E") center/9px no-repeat}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16);margin-bottom:0}
.facts li{padding:clamp(22px,1.8vw,36px) 24px clamp(28px,2.2vw,44px) 0;display:flex;flex-direction:column;gap:6px}
.facts li+li{padding-left:clamp(20px,2vw,44px);border-left:1px solid rgba(255,255,255,.16)}
.facts b{font:800 clamp(34px,3.2vw,76px)/1 var(--f-head);color:var(--accent-soft);letter-spacing:-.01em}
.facts span{font-size:var(--fs-small);color:var(--on-dark-2);line-height:1.4;max-width:17em}
@media (max-width:860px){
  .facts{grid-template-columns:1fr 1fr}
  .facts li{padding:20px 12px 22px 0}
  .facts li+li{padding-left:0;border-left:0}
  .facts li:nth-child(even){padding-left:16px;border-left:1px solid rgba(255,255,255,.16)}
  .facts li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.16)}
  .hero::before{background:linear-gradient(180deg,rgba(7,17,30,.72) 0%,rgba(7,17,30,.9) 55%,rgba(7,17,30,.97) 100%)}
}
@media (max-width:480px){.hero__btns .btn{flex:1 1 100%}.hero__trust{gap:8px}}

/* ---------- секции */
.sec{padding:var(--sec) 0}
.sec--muted{background:var(--bg-muted)}
.sec--dark{background:var(--navy-900);color:var(--on-dark)}
.sec--dark h2,.sec--dark h3{color:#fff}
/* номер раздела над заголовком: тонкая металлическая черта + индекс (только оформление) */
main{counter-reset:sec}
main>.hero~.sec[id]{counter-increment:sec}
main>.hero~.sec[id] h2:first-of-type::before{content:counter(sec,decimal-leading-zero);content:counter(sec,decimal-leading-zero) / "";display:flex;align-items:center;gap:12px;
  font:700 clamp(12px,.15vw + 10px,14px)/1 var(--f-head);letter-spacing:.14em;color:var(--accent-ink);margin-bottom:.9em}
main>.hero~.sec--dark[id] h2:first-of-type::before,main>.hero~.sec--form h2:first-of-type::before{color:var(--accent-soft)}
.sec__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px clamp(32px,4vw,96px);align-items:end;margin-bottom:clamp(32px,3vw,64px)}
.sec__head h2{margin:0}
.sec__head p{margin:0;color:var(--muted);font-size:var(--fs-lead);max-width:34em}
@media (max-width:860px){.sec__head{grid-template-columns:1fr}}
.note{font-size:var(--fs-small);color:var(--muted);margin-top:20px}
.h-sm{font-size:clamp(24px,1.4vw + 10px,36px)}

/* о компании: текст | цифры | манометр — три колонки на широком, без пустот под текстом */
.about{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr) minmax(240px,.7fr);grid-template-areas:"t s g";
  gap:clamp(32px,4vw,110px);align-items:center}
.about__txt{grid-area:t}
.about__txt p{font-size:var(--fs-lead);color:var(--ink);max-width:34em;line-height:1.55}
.stats{grid-area:s;display:grid;border-top:2px solid var(--navy-900)}
.stats li{display:grid;grid-template-columns:minmax(120px,.9fr) 1fr;gap:20px;align-items:baseline;padding:clamp(18px,1.6vw,30px) 0;border-bottom:1px solid var(--line)}
.stats b{font:800 clamp(44px,3.8vw,92px)/1 var(--f-head);color:var(--navy-900);letter-spacing:-.02em}
.stats span{color:var(--muted);font-size:var(--fs-body)}
.gauge{grid-area:g;width:100%;max-width:480px;justify-self:center}
@media (max-width:1199px){.about{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"t s" "g s"}.gauge{max-width:320px}}
@media (max-width:860px){.about{grid-template-columns:1fr;grid-template-areas:"t" "s" "g"}.gauge{max-width:260px}}
@media (max-width:600px){.gauge{display:none}}

/* карточки услуг: 1 → 2 → 3 → 6 колонок, без «висящих» строк */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  transition:box-shadow .3s cubic-bezier(.2,.7,.2,1),transform .3s cubic-bezier(.2,.7,.2,1),border-color .3s}
.card:hover{box-shadow:0 18px 40px -18px rgba(11,26,44,.35);transform:translateY(-3px);border-color:#C5D1DC}
.card__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;position:relative}
.card__pic{overflow:hidden}
.card__pic img{aspect-ratio:16/10;width:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.card:hover .card__pic img{transform:scale(1.04)}
.card__n{position:absolute;top:12px;left:12px;background:rgba(7,17,30,.88);color:var(--accent-soft);font:800 13px/1 var(--f-head);padding:7px 9px;border-radius:4px;letter-spacing:.06em}
.card__h{margin:clamp(18px,1.3vw,26px) clamp(18px,1.3vw,26px) 8px;font-size:clamp(18px,.45vw + 13px,24px)}
.card__p{margin:0 clamp(18px,1.3vw,26px) 18px;color:var(--muted);font-size:clamp(15px,.15vw + 13px,17px);line-height:1.5;flex:1}
.card__more{margin:0 clamp(18px,1.3vw,26px) clamp(18px,1.3vw,26px);font:700 15px/1 var(--f-head);color:var(--accent-ink)}
.card__more span{display:inline-block;transition:transform .3s}
.card__link:hover .card__h{color:var(--accent-ink)}
.card__link:hover .card__more span{transform:translateX(4px)}
@media (max-width:1023px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 1500–2299 px: три колонки карточек-строк (фото слева) — компактнее и без мелкого текста в узких колонках */
@media (min-width:1500px) and (max-width:2299px){
  .card__link{display:grid;grid-template-columns:42% 1fr;grid-template-rows:auto 1fr auto;column-gap:24px}
  .card__pic{grid-row:1/-1}
  .card__pic img{height:100%;aspect-ratio:auto;min-height:230px}
  .card__h{margin:24px 24px 8px 0}
  .card__p{margin:0 24px 14px 0}
  .card__more{margin:0 24px 24px 0}
}
/* от 2300 px — шесть колонок в один ряд */
@media (min-width:2300px){.cards{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* телефон: карточка строкой (фото слева) — лента услуг вдвое короче */
@media (max-width:639px){
  .cards{grid-template-columns:1fr;gap:12px}
  .card__link{display:grid;grid-template-columns:36% 1fr;grid-template-rows:auto 1fr auto;column-gap:14px}
  .card__pic{grid-row:1/-1}
  .card__pic img{height:100%;aspect-ratio:auto;min-height:150px}
  .card__h{margin:14px 14px 4px 0;font-size:17px}
  .card__p{margin:0 14px 8px 0;font-size:14.5px}
  .card__more{margin:0 14px 14px 0;font-size:14px}
  .card__n{top:8px;left:8px;font-size:12px;padding:5px 7px}
}

/* делаем / не делаем: «делаем» шире и в две колонки на широком — высоты коробок равны */
.scope{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--gap)}
.scope--wide{margin-top:clamp(28px,2.4vw,48px)}
.scope__col{border-radius:var(--r-lg);padding:clamp(24px,2vw,40px) clamp(24px,2.2vw,44px);background:#fff;border:1px solid var(--line)}
.scope__col h2,.scope__col h3{font-size:clamp(20px,.5vw + 14px,26px);display:flex;align-items:center;gap:10px}
.scope__col h2::before,.scope__col h3::before{content:"";width:26px;height:26px;border-radius:50%;flex:none;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%2307111E' stroke-width='3'/%3E%3C/svg%3E") center/16px no-repeat}
.scope__col--dont{background:var(--navy-900);border-color:var(--navy-900);color:var(--on-dark)}
.scope__col--dont h2,.scope__col--dont h3{color:#fff}
.scope__col--dont h2::before,.scope__col--dont h3::before{background:var(--warn) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7l10 10M17 7L7 17' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E") center/14px no-repeat}
.scope li{position:relative;padding:12px 0 12px 22px;border-top:1px solid var(--line);break-inside:avoid}
.scope__col--dont li{border-color:var(--line-dk)}
.scope li::before{content:"";position:absolute;left:0;top:1.15em;width:8px;height:8px;background:var(--accent);border-radius:2px}
.scope__col--dont li::before{background:var(--warn)}
@media (min-width:1200px){.scope--wide .scope__col--do ul{columns:2;column-gap:clamp(24px,2.4vw,56px)}}
@media (max-width:760px){.scope{grid-template-columns:1fr}}

/* особые условия: текст | 2×2 условия | фото во всю высоту */
.cond{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,.95fr);gap:clamp(28px,3vw,72px);align-items:stretch}
.cond__txt{display:flex;flex-direction:column;align-items:flex-start}
.cond__txt>p{color:var(--on-dark-2);font-size:var(--fs-lead);max-width:26em}
.cond__txt .link-arrow{margin-top:auto;padding-top:24px}
.cond__list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-dk);border:1px solid var(--line-dk);border-radius:var(--r-lg);overflow:hidden;align-self:center}
.cond__list li{background:var(--navy-900);padding:clamp(20px,1.8vw,36px)}
.cond__list h3{font-size:clamp(17px,.4vw + 12.5px,22px);margin-bottom:8px;color:var(--accent-soft)}
.cond__list p{margin:0;font-size:clamp(15px,.15vw + 13px,17px);color:var(--on-dark-2);line-height:1.5}
.cond__pic{border-radius:var(--r-lg);overflow:hidden;min-height:340px}
.cond__pic img{width:100%;height:100%;object-fit:cover}
.link-arrow{color:var(--accent-soft);font:700 16px/1 var(--f-head);text-decoration:none}
.link-arrow span{display:inline-block;transition:transform .3s}
.link-arrow:hover{color:#fff}
.link-arrow:hover span{transform:translateX(4px)}
@media (max-width:1499px){.cond{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.cond__txt{grid-column:1/-1}.cond__txt .link-arrow{margin-top:8px;padding-top:0}}
@media (max-width:760px){.cond{grid-template-columns:1fr}.cond__pic{min-height:0}.cond__pic img{aspect-ratio:16/10;height:auto}}
@media (max-width:480px){.cond__list{grid-template-columns:1fr}}

/* преимущества */
.adv{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--navy-900);margin-top:clamp(20px,2vw,40px)}
.adv li{padding:clamp(22px,1.8vw,36px) clamp(18px,1.6vw,36px) 8px 0;position:relative}
.adv li+li{padding-left:clamp(18px,1.6vw,36px);border-left:1px solid var(--line)}
.adv__n{display:block;font:800 clamp(28px,2vw,48px)/1 var(--f-head);margin-bottom:18px;
  background:var(--metal);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 0 rgba(11,26,44,.35))}
.adv p{font:700 clamp(18px,.5vw + 12.5px,25px)/1.3 var(--f-head);color:var(--navy-900);margin:0}
@media (max-width:1100px){
  .adv{grid-template-columns:1fr 1fr}
  .adv li,.adv li+li{padding:22px 16px 22px 0;border-left:0;border-bottom:1px solid var(--line)}
  .adv li:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}
  .adv li:last-child{grid-column:1/-1}
}
@media (max-width:560px){.adv{grid-template-columns:1fr}.adv li:nth-child(even){padding-left:0;border-left:0}}

/* объекты */
.pf{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr) minmax(0,1.1fr);gap:var(--gap);margin-top:clamp(20px,2vw,40px)}
.pf__big{background:var(--navy-900);color:var(--on-dark);border-radius:var(--r-lg);padding:clamp(26px,2.2vw,44px);margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:24px;
  position:relative;overflow:hidden;isolation:isolate}
.pf__big::after{content:"";position:absolute;inset:auto -30% -40% auto;width:90%;aspect-ratio:1;z-index:-1;border-radius:50%;
  background:radial-gradient(closest-side,rgba(250,223,192,.16),transparent)}
.pf__big b{font:800 clamp(64px,6vw,150px)/.9 var(--f-head);color:var(--accent-soft);letter-spacing:-.02em}
.pf__big span{font:600 clamp(18px,.45vw + 13px,24px)/1.3 var(--f-head)}
.pf__main{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-lg);padding:clamp(26px,2.2vw,44px);background:var(--navy-950);color:var(--on-dark);
  display:flex;flex-direction:column;min-height:clamp(320px,24vw,520px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.pf__bg{position:absolute;inset:0;z-index:-1}
.pf__bg img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.pf__main::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,17,30,.55) 0%,rgba(7,17,30,.35) 40%,rgba(7,17,30,.92) 100%)}
.pf__main::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--metal);opacity:.9}
.pf__main h3{font-size:clamp(24px,1.4vw + 10px,42px);color:#fff;margin:18px 0 10px;font-weight:800;max-width:16em}
.pf__tag{align-self:flex-start;font:700 12px/1 var(--f-head);text-transform:uppercase;letter-spacing:.1em;background:var(--accent);color:var(--navy-950);padding:7px 10px;border-radius:4px}
.pf__org{font-weight:600;margin-bottom:auto;color:var(--on-dark)}
.pf__role{margin:20px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.22);font:700 16px/1.3 var(--f-head);color:var(--accent-soft)}
.pf__ref{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(26px,2.2vw,44px)}
.pf__ref h3{margin-bottom:.6em}
.pf__ref li{padding:clamp(11px,.9vw,16px) 0;border-top:1px solid var(--line);display:flex;flex-direction:column}
.pf__ref b{font:800 clamp(17px,.4vw + 12.5px,22px)/1.25 var(--f-head);color:var(--navy-900)}
.pf__ref span{font-size:var(--fs-small);color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-top:var(--gap)}
.gallery figure{margin:0}
.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%}
.gallery figcaption{font-size:var(--fs-small);color:var(--muted);margin-top:10px;line-height:1.35}
@media (max-width:1100px){.pf{grid-template-columns:1fr 1fr}.pf__main{grid-column:1/-1;order:-1}}
@media (max-width:640px){.pf{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}}

/* допуски: СРО | 2×3 документа (шестая ячейка — запрос копий) */
.docs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:var(--gap);margin-top:clamp(20px,2vw,40px);align-items:stretch}
.sro{position:relative;overflow:hidden;background:var(--navy-900);color:var(--on-dark);border-radius:var(--r-lg);padding:clamp(26px,2.2vw,44px)}
.sro::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--metal);opacity:.9}
.sro h3{color:#fff}
.sro dl{margin:18px 0 0}
.sro dl div{display:grid;grid-template-columns:minmax(150px,.7fr) 1fr;gap:16px;padding:clamp(13px,1vw,18px) 0;border-top:1px solid var(--line-dk)}
.sro dt{color:var(--on-dark-2);font-size:var(--fs-small)}
.sro dd{margin:0;font-weight:500;color:#fff}
.docs__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--gap)}
.docs__list li{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,1.4vw,28px);display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  transition:border-color .25s,box-shadow .25s}
.docs__list li:hover{border-color:#C5D1DC;box-shadow:0 12px 28px -18px rgba(11,26,44,.35)}
.docs__list h3{font-size:clamp(17px,.3vw + 13px,21px);margin:0}
.docs__list p{margin:0;color:var(--muted);font-size:var(--fs-small)}
.docs__list .badge{margin-top:auto}
.badge{font:700 12px/1.2 var(--f-head);letter-spacing:.02em;padding:7px 10px;border-radius:4px;background:#FDF1DC;color:#6E4300;text-align:center;white-space:nowrap}
.badge--ok{background:#E3EAF5;color:#2C4F86}
.docs__list .docs__cta{background:var(--navy-950);border-color:var(--navy-950);color:var(--on-dark);justify-content:space-between;gap:18px}
.docs__cta p{color:var(--on-dark-2);font-size:var(--fs-body)}
.docs__list li:not(.docs__cta){padding-bottom:clamp(16px,1.2vw,24px)}
.docs__list li:not(.docs__cta) p{margin-bottom:14px}
@media (max-width:1199px){.docs{grid-template-columns:1fr}}
@media (max-width:640px){.docs__list{grid-template-columns:1fr;grid-auto-rows:auto}.docs__list li:not(.docs__cta) p{margin-bottom:10px}.sro dl div{grid-template-columns:1fr;gap:4px}
}

/* форма */
.sec--form{background:var(--navy-950);color:var(--on-dark)}
.sec--form h2{color:#fff}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(32px,6vw,140px)}
.form-intro p{color:var(--on-dark-2);font-size:var(--fs-lead);max-width:28em}
.form-intro__alt a{color:#fff;font:700 clamp(20px,.6vw + 14px,28px)/1.6 var(--f-head);text-decoration:none;font-variant-numeric:tabular-nums}
.form-intro__alt a:hover{color:var(--accent-soft)}
.lead{display:grid;gap:18px;padding:clamp(24px,2.2vw,44px);border-radius:var(--r-lg);background:rgba(11,26,44,.72);border:1px solid rgba(255,255,255,.1);
  box-shadow:0 30px 60px -40px rgba(0,0,0,.8)}
@supports (backdrop-filter:blur(6px)){.lead{background:rgba(11,26,44,.55);backdrop-filter:blur(6px)}}
.lead__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fld{display:grid;gap:8px}
.fld span{font:600 15px/1.2 var(--f-head);color:var(--on-dark)}
.fld i{color:var(--accent-soft);font-style:normal}
.fld input,.fld textarea{width:100%;font:400 17px/1.4 var(--f-text);color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.28);border-radius:var(--r);padding:13px 14px;min-height:50px;
  transition:border-color .2s,box-shadow .2s,background .2s}
.fld input:hover,.fld textarea:hover{border-color:rgba(255,255,255,.45)}
.fld textarea{resize:vertical;min-height:120px}
.fld input::placeholder,.fld textarea::placeholder{color:#8596A8}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--accent);background:rgba(255,255,255,.09);box-shadow:0 0 0 3px rgba(58,98,160,.35)}
.fld .is-bad{border-color:#FF8A8A}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--on-dark-2);cursor:pointer}
.chk input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--accent);flex:none}
.chk a{color:var(--accent-soft)}
.chk.is-bad span{color:#FF9C9C}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead .btn{justify-self:start}
.lead__status{margin:0;min-height:1.6em;font-weight:600}
.lead__status.ok{color:var(--accent-soft)}
.lead__status.err{color:#FF9C9C}
@media (max-width:860px){.form-grid{grid-template-columns:1fr}}
@media (max-width:560px){.lead__row{grid-template-columns:1fr}.lead .btn{justify-self:stretch}.lead{padding:20px}}

/* подвал */
.ftr{position:relative;background:var(--navy-900);color:var(--on-dark-2);padding:clamp(56px,4.5vw,96px) 0 28px;font-size:var(--fs-small)}
.ftr::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--metal);opacity:.35}
.ftr__grid{display:grid;grid-template-columns:1.3fr 1.2fr .8fr 1.2fr;gap:clamp(24px,3vw,72px)}
.ftr__brand img{width:clamp(200px,14vw,280px);height:auto;margin-bottom:16px}
.ftr__h{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-2);margin-bottom:14px;font-weight:700}
.ftr ul li{margin:0 0 10px}
.ftr a{color:var(--on-dark);text-decoration:none}
.ftr a:hover{color:var(--accent-soft)}
.contacts{margin:0}
.contacts dt{font-size:13px;color:var(--on-dark-2);margin-top:12px}
.contacts dt:first-child{margin-top:0}
.contacts dd{margin:2px 0 0;color:#fff}
.contacts dd a{color:#fff;font-weight:600}
.ftr__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:22px}
.ftr__bottom p{margin:0}
@media (max-width:1000px){.ftr__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ftr__grid{grid-template-columns:1fr}}

/* ---------- страницы услуг */
.svc-hero{background:var(--navy-950) linear-gradient(120deg,var(--navy-950) 0%,var(--navy-800) 100%);color:var(--on-dark);padding:clamp(40px,5vw,110px) 0 clamp(48px,5vw,110px)}
.svc-hero h1{color:#fff;font-size:clamp(30px,3.2vw + 6px,76px);font-weight:800;max-width:18em}
.svc-hero__lead{font-size:var(--fs-lead);color:var(--on-dark-2);max-width:38em;margin-bottom:28px}
.crumbs{font-size:14px;margin-bottom:24px;display:flex;flex-wrap:wrap;gap:8px;color:var(--on-dark-2)}
.crumbs a{color:var(--on-dark)}
.crumbs a:hover{color:var(--accent-soft)}
.svc{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,4vw,110px);align-items:start}
.svc .scope{grid-template-columns:1fr;gap:16px;margin-bottom:24px}
.svc__permit{color:var(--muted);font-size:var(--fs-body);border-left:3px solid var(--accent);padding-left:14px;max-width:42em}
.svc__media{display:grid;gap:var(--gap);position:sticky;top:calc(var(--hdr) + 24px)}
.svc__media img{border-radius:var(--r-lg);aspect-ratio:3/2;object-fit:cover;width:100%}
.svc .note{border-left:3px solid #E0A33B;padding-left:14px;color:var(--ink);font-size:var(--fs-body);margin:0 0 20px}
@media (max-width:900px){.svc{grid-template-columns:1fr}.svc__media{order:-1;position:static}}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.chips a{display:inline-block;padding:12px 18px;border:1px solid var(--line);background:#fff;border-radius:40px;color:var(--navy-900);text-decoration:none;font:600 clamp(15px,.15vw + 13px,17px)/1.2 var(--f-head);
  transition:border-color .2s,color .2s,box-shadow .2s}
.chips a:hover{border-color:var(--accent);color:var(--accent-ink);box-shadow:0 8px 20px -14px rgba(11,26,44,.4)}
/* список услуг /uslugi/: те же карточки */

/* политика */
.prose{max-width:860px}
.prose h1{font-size:clamp(30px,2.4vw + 10px,52px);font-weight:800}
.prose h2{font-size:22px;margin-top:32px}

/* ================================================================ 3D и динамика
   Знак АРС и манометр — модели Blender (_src/3d/), живая сцена three.js грузится только на
   компьютере, после первого экрана. До неё и вместо неё — рендер Cycles той же модели в той же
   позе (.stage3d > img): вёрстка не прыгает, подмена — плавное перетекание. */
.stage3d{position:relative;aspect-ratio:1/1;width:100%}
.stage3d>img,.stage3d>canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.stage3d>canvas{opacity:0;transition:opacity .9s ease}
.stage3d.is-live>canvas{opacity:1}
.stage3d.is-live>img{opacity:0;transition:opacity .9s ease .15s}

.hero__mark::before{content:"";position:absolute;inset:6%;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(250,223,192,.18),rgba(250,223,192,.05) 55%,rgba(250,223,192,0) 72%)}
/* блик по буквам «АРС» — один проход после загрузки (раньше повторялся каждые 9 с) */
.hero__brand{background:linear-gradient(100deg,#fff 0%,#fff 38%,#F8DEC0 46%,#fff 54%,#fff 100%) 0 0/300% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:brandSheen 2.6s ease-in-out .8s both}
@keyframes brandSheen{from{background-position:100% 0}to{background-position:0 0}}
@media (max-width:860px){
  .hero__in{display:block;position:relative}
  .hero__mark{position:absolute;top:calc(clamp(56px,7.5vw,150px) + 34px);right:var(--pad);width:clamp(110px,33vw,160px)}
  .hero__brand{max-width:calc(100% - clamp(110px,33vw,160px))}
}
/* без WebGL и на телефоне: тот же рендер покачивается средствами CSS, по металлу бежит блик */
.stage3d.is-static{animation:markSway 10s ease-in-out infinite;transform-style:preserve-3d}
.stage3d.is-static::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.7) 50%,rgba(250,223,192,.3) 54%,transparent 62%) 0 0/300% 100% no-repeat;
  -webkit-mask:var(--mask) center/contain no-repeat;mask:var(--mask) center/contain no-repeat;
  animation:markSheen 8s ease-in-out infinite 1s;mix-blend-mode:overlay}
.hero__mark{--mask:url(../img/logo3d-480.webp?v=6)}
.gauge{--mask:url(../img/gauge-480.webp)}
@keyframes markSway{0%,100%{transform:perspective(900px) rotateY(-9deg) rotateX(2deg) translateY(0)}
  50%{transform:perspective(900px) rotateY(9deg) rotateX(-1.5deg) translateY(-4px)}}
@keyframes markSheen{0%{background-position:100% 0}45%,100%{background-position:0 0}}
.gauge.is-static{animation-duration:12s}

/* появление блоков при прокрутке: класс .rv ставит скрипт, без JS всё видно сразу */
.rv{opacity:0;transform:translate3d(0,24px,0);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);
  transition-delay:calc(var(--i,0) * 80ms)}
.rv.is-in{opacity:1;transform:none}
@media print{.rv{opacity:1!important;transform:none!important}}

/* живые счётчики: число считается, экранный диктор читает итог из .vh */
.facts b,.stats b,.pf__big b{font-variant-numeric:tabular-nums}
.cnt{font-style:normal}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* параллакс фото: картинка двигается внутри своей рамки */
.cond__pic,.gallery picture{overflow:hidden;border-radius:var(--r-lg)}
.gallery picture{border-radius:var(--r)}
.px img{will-change:transform;transform:translate3d(0,var(--py,0px),0) scale(1.08)}
.hero__bg.px img{transform:translate3d(0,var(--py,0px),0) scale(1.06)}

@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none}
  .stage3d.is-static,.stage3d.is-static::after,.hero__brand{animation:none}
  .px img{transform:none}
}
@media (max-width:860px){.sec--bp-kip::before{display:none}}
/* страница услуги на широком экране: текст во всю ширину, фото рядом в ряд — без пустоты под текстом */
@media (min-width:1200px){
  .svc{grid-template-columns:1fr}
  .svc .scope{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
  .svc .scope__col--do ul{columns:2;column-gap:32px}
  .svc .scope:has(.scope__col--dont) .scope__col--do ul{columns:auto}
  .svc__txt{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);column-gap:var(--gap);align-items:start}
  .svc__txt>.scope{grid-row:span 3}
  .svc__media{position:static;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column}
  .svc__media img{aspect-ratio:16/9}
  .svc__media>picture:only-child img{aspect-ratio:21/8}
}

/* ---------- «Как мы работаем» (модуль film.js + css/film.css; исходник — azbukars/film/web).
   Сцена «прилипает» под шапкой; режим (3d | video | stills) ставит встроенный скрипт блока классом sec--film-*. */
.sec--film{background:var(--navy-950);color:var(--on-dark);padding-bottom:0}
.sec--film h2{color:#fff}
main>.hero~.sec--film[id] h2:first-of-type::before{color:var(--accent-soft)}
.film__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px clamp(32px,4vw,96px);align-items:end;
  margin-bottom:clamp(32px,3vw,64px)}
.film__head h2{margin:0}
.film__lead p{margin:0 0 20px;color:var(--on-dark-2);font-size:var(--fs-lead);max-width:34em}
.film__p3d{display:none}
.sec--film-3d .film__p3d{display:inline}
.film__btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.film__watch small{font-size:.82em;font-weight:500;opacity:.7;margin-left:2px}
.film__play{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent var(--accent-soft)}
.film__skip{display:none}
.sec--film-3d .film__skip{display:inline-block}
.film__skip:hover span{transform:translateY(3px)}
.sec--film-video .film__watch{display:none}   /* ролик и так стоит в блоке */
.film__note{font-size:var(--fs-small);color:var(--on-dark-2)}
.sec--film .arsfilm__sticky{top:var(--hdr);height:calc(100vh - var(--hdr));height:calc(100svh - var(--hdr))}
.arsfilm--3d>.arsfilm__static{display:none}
.sec--film .arsfilm__intro{display:none}   /* заголовок уже над сценой, второй «Как мы работаем» не нужен */
.sec--film .arsfilm__static{max-width:var(--max);padding:0 var(--pad) var(--sec)}
.sec--film .arsfilm__video{max-height:78vh;object-fit:contain}
.sec--film .arsfilm__stills{grid-template-columns:1fr;gap:clamp(20px,1.6vw,32px) var(--gap)}
.sec--film .arsfilm__stills strong{font-size:var(--fs-h3)}
.sec--film .arsfilm__stills span{font-size:var(--fs-small)}
@media (min-width:640px){
  .sec--film .arsfilm__stills{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sec--film .arsfilm__stills li:last-child{grid-column:span 2}     /* 7 этапов: последний (пуск) — на всю строку */
  .sec--film .arsfilm__stills li:last-child img{aspect-ratio:32/9}
}
@media (min-width:1100px){.sec--film .arsfilm__stills{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:860px){.film__head{grid-template-columns:1fr}}
/* модальное окно ролика */
.filmdlg{padding:0;border:0;background:#000;border-radius:var(--r-lg);width:min(94vw,1600px);max-width:none;max-height:92vh;overflow:visible;
  box-shadow:0 30px 90px rgba(0,0,0,.6)}
.filmdlg::backdrop{background:rgba(7,17,30,.88);backdrop-filter:blur(4px)}
.filmdlg video{display:block;width:100%;height:auto;max-height:92vh;aspect-ratio:16/9;border-radius:var(--r-lg);background:#000}
.filmdlg--v{width:auto}
.filmdlg--v video{width:auto;height:88vh;aspect-ratio:9/16;max-width:94vw}
.filmdlg form{position:absolute;top:-52px;right:0;margin:0}
.filmdlg__x{width:44px;height:44px;border-radius:50%;border:1px solid rgba(250,223,192,.45);background:rgba(7,17,30,.7);color:#fff;
  font:400 28px/1 var(--f-text);cursor:pointer}
.filmdlg__x:hover{background:var(--navy-700)}
@media (max-height:560px),(max-width:560px){.filmdlg form{top:8px;right:8px;z-index:1}}

/* ================================================================ Светлая палитра (правки заказчика 28.09.2026)
   «Убрать тёмные цвета: вместо чёрного — графитовый / светло-серый». Тёмные плашки (шапка, подвал, «Не делаем»,
   «Особые условия», СРО, форма, шапки услуг, «Как мы работаем») переведены в светло-серые с графитовым текстом.
   Токены тёмного текста (--on-dark*) внутри бывших тёмных блоков переопределены на графит — поэтому правила
   выше работают без переписывания. Прежний вид — _work/backup_before_edits1/site/css/site.css. */
:root{
  --navy-950:#1E262F; --navy-900:#26303A; --navy-800:#3A444F; --navy-700:#4A5561; --navy-500:#6B7682; /* графит (текст) */
  --ink:#1E262F; --muted:#4F5A66; --line:#D5DBE1;
  --g-100:#F3F5F7; --g-150:#ECEFF2; --g-200:#E4E8EC; --g-300:#D6DCE2; --g-400:#C3CAD2;
}
.light-zone,.hdr,.nav,.sec--dark,.scope__col--dont,.pf__big,.sro,.docs__list .docs__cta,.sec--form,.ftr,.svc-hero,.sec--film{
  --on-dark:#26303A; --on-dark-2:#4F5A66; --accent-soft:var(--accent-ink); --line-dk:rgba(38,48,58,.14)}

/* шапка — серая */
.hdr{background:linear-gradient(180deg,#E9ECEF 0%,#DDE2E7 100%);color:var(--ink);border-bottom:1px solid var(--g-400);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset}
.logo,.logo:hover{color:var(--navy-900)}
.logo__mark{filter:drop-shadow(0 1px 1px rgba(30,38,47,.45)) contrast(1.15) brightness(.92)}
.nav a:hover{color:var(--navy-950)}
.hdr__phone{color:var(--navy-900)}
.hdr__phone:hover{color:var(--accent-ink)}
.lang{border-color:rgba(38,48,58,.28)}
.lang:hover{color:var(--navy-950);border-color:var(--accent-ink)}
.burger span{background:var(--navy-900)}
@media (max-width:980px){
  .nav{background:var(--g-150)}
  .nav li a{border-bottom-color:var(--line)}
  .nav__phone{color:var(--navy-900)}
}

/* первый экран: новое небо (сумерки слева → рассвет справа), лёгкая графитовая вуаль только под текстом */
.hero{background:#8C93AE}
.hero__bg img{object-position:62% 50%}
.hero::before{background:
  linear-gradient(90deg,rgba(40,48,64,.76) 0%,rgba(40,48,64,.73) 40%,rgba(40,48,64,.52) 52%,rgba(40,48,64,.14) 68%,rgba(40,48,64,0) 82%),
  linear-gradient(0deg,rgba(34,41,52,.72) 0%,rgba(34,41,52,.28) 24%,rgba(34,41,52,0) 44%)}
.hero__eyebrow{color:#FADFC0}
.hero__sub{color:#EEF2F6}
.hero__trust li{color:#F4F7FA}
.facts span{color:#E3E9EF}
.facts b{color:#FADFC0}
.hero__h1,.hero__sub,.hero__eyebrow,.hero__trust li,.facts{text-shadow:0 1px 12px rgba(30,38,50,.35)}
@media (max-width:860px){
  .hero::before{background:linear-gradient(180deg,rgba(40,48,64,.6) 0%,rgba(40,48,64,.66) 50%,rgba(34,41,52,.8) 100%)}
}

/* бывшие тёмные секции */
.sec--dark{background:var(--g-150);color:var(--ink)}
.sec--dark h2,.sec--dark h3{color:var(--navy-900)}
.cond__list{background:var(--line);border-color:var(--line)}
.cond__list li{background:#fff}
.link-arrow:hover{color:var(--navy-900)}
.sec--bp-cable::before{background-image:url(../img/bp-cable-l.svg);opacity:.9}
.sec--bp-rack::before{background-image:url(../img/bp-rack-l.svg);opacity:.55}

/* «Делаем / Не делаем»: обе коробки светлые, у «Не делаем» — красный значок и красные точки, текст чёрный */
.scope__col--dont{background:#fff;border-color:var(--line);color:var(--ink)}
.scope__col--dont h2,.scope__col--dont h3{color:var(--navy-950)}
.scope__col--dont li{border-color:var(--line)}

/* объекты */
.card__n{background:rgba(38,48,58,.82);color:#fff}
.pf__big{background:var(--g-150);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.pf__big::after{background:radial-gradient(closest-side,rgba(58,98,160,.12),transparent)}
.pf__big b{color:var(--accent-ink)}
.pf__main{background:#5B6574}
.pf__main::before{background:linear-gradient(180deg,rgba(38,46,58,.62) 0%,rgba(38,46,58,.4) 45%,rgba(38,46,58,.84) 100%)}
.pf__main .pf__org{color:#EEF2F6}
.pf__main .pf__role{color:#FADFC0;border-top-color:rgba(255,255,255,.3)}
.pf__ref-note{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:var(--fs-small);color:var(--muted);line-height:1.45}

/* допуски */
.sro{background:var(--g-150);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.sro h3,.sro dd{color:var(--navy-950)}
.docs__list .docs__cta{background:var(--g-200);border-color:var(--g-300);color:var(--ink)}

/* заявка */
.sec--form{background:linear-gradient(180deg,var(--g-200) 0%,var(--g-150) 100%);color:var(--ink)}
.sec--form h2{color:var(--navy-900)}
.form-intro__alt a{color:var(--navy-900)}
.form-intro__alt a:hover{color:var(--accent-ink)}
.lead{background:rgba(255,255,255,.82);border-color:var(--g-300);box-shadow:0 30px 60px -40px rgba(38,48,58,.45)}
.fld input,.fld textarea{color:var(--ink);background:#fff;border-color:var(--g-400)}
.fld input:hover,.fld textarea:hover{border-color:#9AA4AF}
.fld input::placeholder,.fld textarea::placeholder{color:#7A8591}
.fld input:focus,.fld textarea:focus{background:#fff;border-color:var(--accent-ink)}
.fld .is-bad{border-color:#D33A3A}
.chk.is-bad span,.lead__status.err{color:#B3261E}

/* подвал — серый */
.ftr{background:var(--g-300);color:var(--muted)}
.ftr::before{opacity:.8}
.ftr a,.contacts dd,.contacts dd a{color:var(--navy-900)}
.ftr a:hover{color:var(--accent-ink)}
.ftr__bottom{border-top-color:rgba(38,48,58,.16)}

/* шапки страниц услуг */
.svc-hero{background:linear-gradient(120deg,var(--g-100) 0%,var(--g-200) 100%);color:var(--ink)}
.svc-hero h1{color:var(--navy-900)}
.crumbs a:hover{color:var(--accent-ink)}

/* «Как мы работаем» */
.sec--film{background:var(--g-150);color:var(--ink)}
.sec--film h2{color:var(--navy-900)}
.filmdlg::backdrop{background:rgba(38,46,58,.78)}
.sec--film .arsfilm{--af-navy:#9AA3AE}
/* сцена ролика: затемнения под подписями — графитовые и мягче, итоговая плашка графитовая, а не чёрная */
.sec--film .arsfilm__ui::after{background:linear-gradient(to bottom,rgba(38,46,58,.45),rgba(38,46,58,0))}
.sec--film .arsfilm__ui::before{background:linear-gradient(to top,rgba(38,46,58,.58),rgba(38,46,58,0))}
.sec--film .arsfilm__done{background:rgba(58,67,79,.78);border-color:rgba(250,223,192,.4);box-shadow:0 20px 60px rgba(38,46,58,.3)}
/* запасные режимы ролика (видео / кадры, в т.ч. телефон): светлый фон секции, графитовый текст */
.sec--film .arsfilm:not(.arsfilm--3d){--af-navy:transparent;--af-ink:#26303A;--af-ink2:#4F5A66;--af-acc:#2C4F86}
.sec--film .arsfilm:not(.arsfilm--3d) .arsfilm__stills strong{color:var(--navy-900)}
/* знак на светлом небе: мягкий графитовый ореол вместо тиффани-свечения — серебро не теряется на рассвете */
.hero__mark::before{inset:2%;background:radial-gradient(closest-side,rgba(38,46,62,.5),rgba(38,46,62,.3) 58%,rgba(38,46,62,0) 78%)}

/* ================================================================ Три палитры с переключателем (29.09.2026, заменили вариант Б)
   Основа во всех наборах — прежний тёмно-синий сайта (#1A3452 и родня: логотип, манометр, «родированный» металл, шапка,
   фон, подвал — не меняются). Меняются только акценты, по двум ролям (как в wheel/REPORT.md):
     • «действие» — ссылки, «Подробнее →», галочки «Делаем», маркеры, фокус, плашка «Крупнейший проект», бейдж «Есть»;
     • «число»    — 15+ / 30 / 50+ / 10 кВ, надзаголовок первого экрана, полоса прочтения, подписи ролика.
   Набор задаёт атрибут <html data-pal="1|2|3|4|5"> (скрипт в <head>, выбор — ?pal=N и localStorage), без атрибута — набор 5 «Серо-синий» (по умолчанию с 29.09.2026).
   Контраст пересчитан _tools/pal3.py, отчёт — wheel/REPORT_pal3.md. Откат — _work/backup_before_pal3/rollback.sh.
   Токены: --accent (заливка) / --on-accent (текст на ней) / --accent-ink (текст на светлом, ≥4,5:1) / --accent-mark (мелкие
   значки и фокус, ≥3:1 к белому) / --accent-rgb (свечения); --dawn* — роль «число» (имя токена осталось от варианта Б). */
/* 4 «Синий» (29.09.2026, Айрат: «сделай ещё синий цвет, а то опять тот же тёмно-синий»). Основа — насыщенный синий
   (HSL-тон 218°, #1F4E9A): шапка и подвал синие с белым текстом, заголовки синие, серые плашки с голубым отливом,
   затемнение первого экрана синее. Акцент — янтарь напротив по кругу, текст на янтаре — тёмно-синий. */
html[data-pal="4"]{
  --navy-950:#143A78; --navy-900:#1A4389; --navy-800:#1F4E9A; --navy-700:#2E6BD1; --navy-500:#5A83C8;
  --blue:#1F4E9A; --blue-hi:#2257B5; --on-blue:#FFFFFF; --on-blue-2:#D6E2F5;
  --line:#D3DEEE; --bg-muted:#EEF3FA;
  --g-100:#F2F6FC; --g-150:#E8EFF9; --g-200:#DFE8F5; --g-300:#CFDCEF; --g-400:#B5C7E3;
  --veil:24,58,124; --veil2:18,44,96;
  /* 29.09.2026 Радик: вместо жёлтого — «тиффани-Сибур» (синий + сине-зелёный, соседние цвета круга) */
  --accent:#0ABAB5; --on-accent:#0E2248; --accent-ink:#06746F; --accent-mark:#07908A; --accent-soft:#81D8D0; --accent-rgb:10,186,181;
  --dawn:#2CD0CB; --dawn-ink:#05625E; --dawn-soft:#A6E9E3; --dawn-rgb:44,208,203;
  --eyebrow:#C9F2EE; --glint:#D5F5F2; --prog-a:#2E6BD1;
  --badge-ok-bg:#DDF5F3; --badge-ok-ink:#05625E; --warn:#E35D5D;
  --chk-on:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%230E2248' stroke-width='3.2'/%3E%3C/svg%3E");
  --chk-g:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%231E262F' stroke-width='3.4'/%3E%3C/svg%3E");
}
/* 5 «Серо-синий» (29.09.2026, Айрат: «чтобы цветовая гамма серо-синяя получилась») — ПО УМОЛЧАНИЮ.
   Вся шкала — приглушённый серо-синий (slate, HSL-тон 207–212°, насыщенность 15–28 %): шапка #3E5163, подвал #2F3E4E,
   заголовки и текст — тёмный slate, плашки #E9EEF2, линии #D3DBE2, затемнение фото серо-синее.
   Акцент — приглушённая охра/латунь #C9974A (HSL 36°): напротив slate на круге, но без кислотности, в тон гамме. */
:root,html[data-pal="5"]{
  --navy-950:#1F2A36; --navy-900:#243140; --navy-800:#2F3E4E; --navy-700:#3E5163; --navy-500:#6A7C8E;
  --ink:#1F2A36; --muted:#4E5D6C;
  --blue:#3E5163; --blue-hi:#475C70; --ftr-bg:#2F3E4E; --on-blue:#FFFFFF; --on-blue-2:#D6DEE6; --hdr-hover:#EBCB94;
  --line:#D3DBE2; --bg-muted:#EEF2F5;
  --g-100:#F3F5F8; --g-150:#E9EEF2; --g-200:#DFE5EB; --g-300:#D0D9E1; --g-400:#B8C4CF;
  --veil:44,58,74; --veil2:34,45,58;
  --accent:#C9974A; --on-accent:#1F2A36; --accent-ink:#76562A; --accent-mark:#A97D38; --accent-soft:#EBCB94; --accent-rgb:201,151,74;
  --dawn:#C9974A; --dawn-ink:#7E5C26; --dawn-soft:#E8C58C; --dawn-rgb:201,151,74;
  --eyebrow:#F0D9B0; --glint:#F2E2C4; --prog-a:#6A7C8E;
  --badge-ok-bg:#F2E8D6; --badge-ok-ink:#6A4C1C; --warn:#C0504D;
  --chk-on:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%231F2A36' stroke-width='3.2'/%3E%3C/svg%3E");
  --chk-g:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%231E262F' stroke-width='3.4'/%3E%3C/svg%3E");
}
html[data-pal="4"]{--ftr-bg:var(--blue); --hdr-hover:#81D8D0}
/* наборы 1–3: основа тоже сдвинута от графита к насыщенному тёмно-синему (заголовки, цифры, затемнения) */
html[data-pal="1"],html[data-pal="2"],html[data-pal="3"]{
  --navy-950:#0E2248; --navy-900:#122C5C; --navy-800:#16366E; --navy-700:#1F4488; --navy-500:#4A6A9E;
  --veil:16,38,82; --veil2:14,32,70;
  /* светлая шкала с голубым отливом — как у набора 4 (раньше наследовалась от :root, теперь :root = набор 5) */
  --line:#D3DEEE; --bg-muted:#EEF3FA; --g-100:#F2F6FC; --g-150:#E8EFF9; --g-200:#DFE8F5; --g-300:#CFDCEF; --g-400:#B5C7E3;
}
html[data-pal="1"],html[data-pal="2"],html[data-pal="3"],html[data-pal="4"]{--ink:#1E262F; --muted:#4F5A66}
/* шапка наборов 1–3 — их тёмно-синяя основа */
html[data-pal="1"],html[data-pal="2"],html[data-pal="3"]{--blue:#16366E; --blue-hi:#1F4488; --ftr-bg:#122C5C; --on-blue:#FFFFFF; --on-blue-2:#D3DEEE}
html[data-pal="1"]{--hdr-hover:#FFC271}
html[data-pal="2"]{--hdr-hover:#E2CC3C}
html[data-pal="3"]{--hdr-hover:#FFA9CE}
/* «Делаем» = «да» (29.09.2026, Айрат: «Делаем напрашивается на зелёный»). По умолчанию — цвет действия набора (синий/янтарь/охра
   далеко от красного «Не делаем»). В наборе 3 — оливковый набора, в наборе 2 кирпич ≈ красный → приглушённый зелёный. */
:root{--do:var(--accent); --do-mark:var(--accent-mark); --do-chk:var(--chk-on);
  --chk-w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23FFFFFF' stroke-width='3'/%3E%3C/svg%3E")}
html[data-pal="3"]{--do:#4E7F24; --do-mark:#4E7F24; --do-chk:var(--chk-w)}
html[data-pal="2"]{--do:#52813A; --do-mark:#52813A; --do-chk:var(--chk-w)}
html[data-pal="1"]{
  /* 1 «Синий + янтарь»: дополнительная пара круга, синий ↔ янтарь. Текст на янтаре — тёмно-синий */
  --accent:#E99535; --on-accent:#0B1A2C; --accent-ink:#8D5000; --accent-mark:#B86A0E; --accent-soft:#F8A345; --accent-rgb:233,149,53;
  --dawn:#E99535; --dawn-ink:#9E5B00; --dawn-soft:#FFC271; --dawn-rgb:233,149,53;
  --eyebrow:#FFD29A; --glint:#FCDDB2; --prog-a:#1F4488;
  --badge-ok-bg:#FBEBD6; --badge-ok-ink:#7A4500; --warn:#E35D5D;
  --chk-on:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%230B1A2C' stroke-width='3.2'/%3E%3C/svg%3E");
  --chk-g:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%231E262F' stroke-width='3.4'/%3E%3C/svg%3E");
}
html[data-pal="2"]{
  /* 2 «Синий + кирпич + золото»: расщеплённая пара. Действие — кирпич (белый текст), число — золото (на белом — тёмное) */
  --accent:#D03E39; --on-accent:#FFFFFF; --accent-ink:#B82323; --accent-mark:#D03E39; --accent-soft:#FF9B8C; --accent-rgb:208,62,57;
  --dawn:#D6BF29; --dawn-ink:#7D6A00; --dawn-soft:#E2CC3C; --dawn-rgb:214,191,41;
  --eyebrow:#EEDD74; --glint:#F4E79A; --prog-a:#D03E39;
  --badge-ok-bg:#FBE4E2; --badge-ok-ink:#A51F1F;
  --warn:#8E2A58;   /* «Не делаем» сдвинут в винный: красный #E35D5D сливался с кирпичом (Δтон 5°) */
  --chk-on:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23FFFFFF' stroke-width='3'/%3E%3C/svg%3E");
}
html[data-pal="3"]{
  /* 3 «Триада»: синий — малиновый — оливковый (120° друг от друга). Действие — малиновый, число — оливковый */
  --accent:#C6397B; --on-accent:#FFFFFF; --accent-ink:#B12269; --accent-mark:#C6397B; --accent-soft:#FF95C4; --accent-rgb:198,57,123;
  --dawn:#6FAC39; --dawn-ink:#3F7900; --dawn-soft:#9AD267; --dawn-rgb:111,172,57;
  --eyebrow:#B8E391; --glint:#D9F0BF; --prog-a:#C6397B;
  --badge-ok-bg:#F9E1EC; --badge-ok-ink:#9E1D5E;
  --chk-on:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23FFFFFF' stroke-width='3'/%3E%3C/svg%3E");
}
a:hover{color:var(--navy-900)}
:focus-visible{outline-color:var(--accent-mark)}
.btn:focus-visible{outline-color:var(--accent-ink)}
.skip,.pf__tag{background:var(--accent);color:var(--on-accent)}
/* полоса прочтения: от действия к числу (в наборе 1 — от тёмно-синего основы к янтарю) */
.hdr__progress{background:linear-gradient(90deg,var(--prog-a) 0%,#8C93AE 45%,var(--dawn) 100%)}
/* первый экран */
.hero__eyebrow{color:var(--eyebrow)}
.facts b{color:var(--dawn-soft)}
.hero__trust li::before{background:var(--dawn-soft) var(--chk-g) center/9px no-repeat}
.hero__brand{background-image:linear-gradient(100deg,#fff 0%,#fff 38%,var(--glint) 46%,#fff 54%,#fff 100%)}
.hero__mark::before{inset:2%;background:radial-gradient(closest-side,rgba(38,46,62,.5),rgba(38,46,62,.3) 58%,rgba(38,46,62,0) 78%)}
.stage3d.is-static::after{background-image:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.7) 50%,rgba(var(--dawn-rgb),.3) 54%,transparent 62%)}
/* «Делаем»: кружок цвета действия с галочкой (тёмной на янтаре, белой на кирпиче/малиновом), маркеры; «Не делаем» — --warn */
.scope__col--do h2::before,.scope__col--do h3::before{background:var(--do) var(--do-chk) center/16px no-repeat;
  box-shadow:0 0 0 1px var(--do-mark)}
.scope .scope__col--do li::before{background:var(--do-mark)}
.scope li::before{background:var(--accent-mark)}
.scope__col--dont li::before{background:var(--warn)}
.scope__col--dont h2::before,.scope__col--dont h3::before{background-color:var(--warn)}
/* объекты: «50+» и свечение — число; роль на фото — число */
.pf__big::after{background:radial-gradient(closest-side,rgba(var(--dawn-rgb),.16),transparent)}
.pf__big b{color:var(--dawn-ink)}
.pf__main .pf__role{color:var(--dawn-soft)}
.badge--ok{background:var(--badge-ok-bg);color:var(--badge-ok-ink)}
.svc__permit{border-left-color:var(--dawn)}
.chips a:hover{border-color:var(--accent-mark)}
/* поля формы */
.fld input:focus,.fld textarea:focus{border-color:var(--accent-ink);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.3)}
.chk input{accent-color:var(--accent-ink)}
/* ролик «Как мы работаем»: над 3D-небом — светлое число, в запасном светлом режиме — действие */
.arsfilm{--af-acc:var(--dawn-soft);--af-acc-soft:var(--glint)}
.sec--film .arsfilm:not(.arsfilm--3d){--af-acc:var(--accent-ink)}
.sec--film .arsfilm__done{border-color:rgba(var(--dawn-rgb),.45)}
.filmdlg__x{border-color:rgba(var(--dawn-rgb),.5)}
.arsfilm__loading i{border-color:rgba(var(--dawn-rgb),.25);border-top-color:var(--af-acc)}

/* ---------- основа: затемнения поверх фото и тёмные плашки — из --veil (синие), а не графитовые */
.hero::before{background:
  linear-gradient(90deg,rgba(var(--veil),.76) 0%,rgba(var(--veil),.73) 40%,rgba(var(--veil),.52) 52%,rgba(var(--veil),.14) 68%,rgba(var(--veil),0) 82%),
  linear-gradient(0deg,rgba(var(--veil2),.72) 0%,rgba(var(--veil2),.28) 24%,rgba(var(--veil2),0) 44%)}
@media (max-width:860px){
  .hero::before{background:linear-gradient(180deg,rgba(var(--veil),.62) 0%,rgba(var(--veil),.68) 50%,rgba(var(--veil2),.82) 100%)}
}
.hero__mark::before{background:radial-gradient(closest-side,rgba(var(--veil2),.5),rgba(var(--veil2),.3) 58%,rgba(var(--veil2),0) 78%)}
.pf__main{background:rgb(var(--veil))}
.pf__main::before{background:linear-gradient(180deg,rgba(var(--veil2),.62) 0%,rgba(var(--veil2),.4) 45%,rgba(var(--veil2),.86) 100%)}
.card__n{background:rgba(var(--veil2),.84)}
.sec--film .arsfilm__done{background:rgba(var(--veil),.8)}
.filmdlg::backdrop,.sec--film .filmdlg::backdrop{background:rgba(var(--veil2),.8)}
.filmdlg__x{background:rgba(var(--veil2),.7)}
.ftr__logo--d{display:none}

/* ---------- цветная шапка во ВСЕХ наборах (29.09.2026, Айрат: «почему верхняя плашка синяя только в одном варианте»),
   цветной подвал — только в наборах 4 и 5 (в 1–3 подвал светлый, как был). Цвета шапки — токены --blue/--blue-hi/--hdr-hover набора. */
html:is([data-pal],:not([data-pal])) .hdr{background:linear-gradient(180deg,var(--blue-hi) 0%,var(--blue) 100%);color:var(--on-blue);
  border-bottom-color:var(--navy-950);box-shadow:0 1px 0 rgba(255,255,255,.14) inset;
  --on-dark:var(--on-blue); --on-dark-2:var(--on-blue-2); --accent-soft:var(--hdr-hover)}
html:is([data-pal],:not([data-pal])) .hdr .logo{color:#fff}
html:is([data-pal],:not([data-pal])) .hdr__phone{color:#fff}
html:is([data-pal],:not([data-pal])) .hdr__phone:hover{color:var(--hdr-hover)}
html:is([data-pal],:not([data-pal])) .nav a:hover{color:var(--hdr-hover)}
html:is([data-pal],:not([data-pal])) .lang{color:var(--on-blue-2);border-color:rgba(255,255,255,.4)}
html:is([data-pal],:not([data-pal])) .lang:hover{color:#fff;border-color:var(--hdr-hover)}
html:is([data-pal],:not([data-pal])) .burger span{background:#fff}
html:is([data-pal],:not([data-pal])) .palsw__cap{color:var(--on-blue-2)}
html:is([data-pal],:not([data-pal])) .palsw button{color:#fff}
html:is([data-pal],:not([data-pal])) .palsw button:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35)}
html:is([data-pal],:not([data-pal])) .palsw button[aria-pressed=true]{background:#fff;color:var(--blue);border-color:#fff}
html:is([data-pal],:not([data-pal])) .palsw i{box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
html:is([data-pal],:not([data-pal])) .nav{--on-dark:#fff; --on-dark-2:var(--on-blue-2); --accent-soft:var(--hdr-hover)}
@media (max-width:980px){   /* выпадающее меню телефона — светлая панель, текст обратно тёмный */
  html:is([data-pal],:not([data-pal])) .nav{--on-dark:#1E262F; --on-dark-2:#4F5A66; --accent-soft:var(--accent-ink)}
  html:is([data-pal],:not([data-pal])) .nav a:hover{color:var(--navy-950)}
}
html .ftr{background:var(--ftr-bg);color:var(--on-blue-2);--on-dark:#fff;--on-dark-2:var(--on-blue-2)}html .ftr a,html .contacts dd,html .contacts dd a{color:#fff}html .ftr a:hover{color:var(--hdr-hover)}html .ftr__h,html .contacts dt{color:var(--on-blue-2)}html .ftr__bottom{border-top-color:rgba(255,255,255,.2)}html .ftr__logo--l{display:none}html .ftr__logo--d{display:block}

/* ---------- переключатель палитр в шапке (только главная RU) */
.palsw{display:flex;align-items:center;gap:6px;margin:0;padding:0;border:0;flex:none}
.palsw__cap{font:600 12px/1 var(--f-head);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.palsw button{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 9px 0 5px;border:1px solid transparent;border-radius:18px;
  background:transparent;cursor:pointer;font:700 14px/1 var(--f-head);color:var(--navy-900);-webkit-tap-highlight-color:transparent}
.palsw button:hover{border-color:var(--g-400);background:rgba(255,255,255,.5)}
.palsw button[aria-pressed=true]{border-color:var(--navy-900);background:#fff;box-shadow:0 1px 3px rgba(38,48,58,.18)}
.palsw i{width:24px;height:24px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px rgba(11,26,44,.25)}
.palsw [data-p="1"] i{background:conic-gradient(#122C5C 0 50%,#E99535 0 100%)}
.palsw [data-p="2"] i{background:conic-gradient(#122C5C 0 33.3%,#D03E39 0 66.6%,#D6BF29 0 100%)}
.palsw [data-p="3"] i{background:conic-gradient(#122C5C 0 33.3%,#C6397B 0 66.6%,#6FAC39 0 100%)}
.palsw [data-p="4"] i{background:conic-gradient(#2257B5 0 60%,#0ABAB5 0 100%)}
.palsw [data-p="5"] i{background:conic-gradient(#3E5163 0 60%,#C9974A 0 100%)}
@media (max-width:1760px){.palsw__cap{display:none}}
@media (max-width:1560px){.hdr__in:has(.palsw) .hdr__phone{display:none}}
@media (max-width:980px){.palsw{margin-left:auto}.palsw~.lang{margin-left:0}}
@media (max-width:560px){.palsw{gap:2px}.palsw button{padding:0 5px;gap:0;height:34px}.palsw b{display:none}.palsw i{width:22px;height:22px}}
@media (max-width:420px){.palsw button{padding:0 3px}.palsw i{width:20px;height:20px}}
/* набор 4 на телефоне: синяя вуаль светлее графитовой — вверху плотнее, иначе надзаголовок 3,9:1 (замер 29.09.2026) */
@media (max-width:860px){
  html:not([data-pal]) .hero::before,html[data-pal="4"] .hero::before,html[data-pal="5"] .hero::before{background:linear-gradient(180deg,rgba(var(--veil2),.78) 0%,rgba(var(--veil),.72) 50%,rgba(var(--veil2),.84) 100%)}
}
/* пять кнопок: на обычных экранах подпись только у выбранной, остальные — кружки с подсказкой (title) */
@media (max-width:1760px){.palsw button:not([aria-pressed=true]) b{display:none}.palsw button:not([aria-pressed=true]){padding:0 5px}}
@media (max-width:420px){.palsw{gap:0}.palsw button{padding:0 2px}.palsw i{width:19px;height:19px}.hdr__in:has(.palsw){gap:8px}}

/* ================================================================ Пакет правок 2 Радика — ТОЛЬКО набор 2 (29.09.2026, «да» Айрата 22:37)
   Итог набора — 4 цвета: синий (градиенты), тёплый жёлтый #E3A82B (образец Радика), красный «Подробнее» #D03E39/#B82323,
   зелёный «Делаем» #52813A. Остальные наборы не затронуты: все правила ниже — под html[data-pal="2"]. Отчёт — REPORT_pal3.md. */
html[data-pal="2"]{
  --dawn:#E3A82B; --dawn-ink:#8A5A00; --dawn-soft:#E3A82B; --dawn-rgb:227,168,43;
  --eyebrow:#F8DC9E; --glint:#F6DDA3; --hdr-hover:#FFD27A;   /* надзаголовок светлее: на 390 px #F1C46A давал 4,0:1 */
  --warn:#D03E39;                                   /* «Не делаем» = красный «Подробнее» (п. 4) */
  --badge-ok-bg:#E3EEDB; --badge-ok-ink:#3D6A28;    /* «Есть» = зелёный «Делаем» (п. 7) */
  --blue-hi:#2F5DB0; --blue:#13305F;                /* заметный градиент шапки (п. 1) */
}
/* 1. шапка: сверху светлее, книзу темнее */
html[data-pal="2"] .hdr{background:linear-gradient(180deg,#2F5DB0 0%,#1F4488 55%,#13305F 100%)}
/* 2. логотип пожирнее: надпись толще обводкой; знак — свой рендер Blender (30.09.2026, Айрат): все толщины ×1,8,
   соотношения как у парящего знака (_src/3d/logo.py -- hdr). Прежний светлый ореол утолщал все линии поровну — убран. */
html[data-pal="2"] .hdr .logo__txt b{-webkit-text-stroke:.7px currentColor;paint-order:stroke fill}
/* 5. номера «Преимуществ» — синие с вертикальным градиентом, как шапка */
html[data-pal="2"] .adv__n{background-image:linear-gradient(180deg,#3F6FC4 0%,#1F4488 55%,#13305F 100%)}
/* 6. «50+» — красный «Подробнее», «Участие в проекте» — жёлтый (чуть светлее на тёмном фото ради контраста мелкого текста) */
html[data-pal="2"] .pf__big b{color:#B82323}
html[data-pal="2"] .pf__big::after{background:radial-gradient(closest-side,rgba(208,62,57,.12),transparent)}
html[data-pal="2"] .pf__main .pf__role{color:#ECB64A}
/* 8. подвал: зеркально шапке — вверху тёмный, книзу светлее, белый текст */
html[data-pal="2"] .ftr{background:linear-gradient(180deg,#13305F 0%,#1F4488 45%,#2A5AAE 100%);color:#D3DEEE;--on-dark:#fff;--on-dark-2:#D3DEEE}
html[data-pal="2"] .ftr a,html[data-pal="2"] .contacts dd,html[data-pal="2"] .contacts dd a{color:#fff}
html[data-pal="2"] .ftr a:hover{color:var(--hdr-hover)}
html[data-pal="2"] .ftr__h,html[data-pal="2"] .contacts dt{color:#D3DEEE}
html[data-pal="2"] .ftr__bottom{border-top-color:rgba(255,255,255,.2)}
html[data-pal="2"] .ftr__logo--l{display:none}
html[data-pal="2"] .ftr__logo--d{display:block}
/* цифры 15+/30/50+/10 кВ на небе: тот же тон, на ступень светлее — #E3A82B в самой светлой точке неба давал 2,8:1 (норма крупного — 3) */
html[data-pal="2"] .facts b{color:#F0B53D}

/* 04.10.2026: слоган — белый текст на общем фоне рядом с АРС. */
.hero__signature{display:flex;align-items:baseline;gap:clamp(16px,1.7vw,32px);margin-bottom:20px}
.hero__signature .hero__brand{margin:0;flex:none;max-width:none}
.hero__tagline{font:600 clamp(16px,1.5vw,30px)/1.4 var(--f-head);color:#fff;margin:0;background:none;letter-spacing:-.015em}
@media (max-width:1150px) and (min-width:861px){.hero__signature{flex-wrap:wrap;gap:16px}}
@media (max-width:860px){
 .hero__signature{display:block;min-height:clamp(110px,33vw,160px)}
 .hero__signature .hero__brand{max-width:calc(100% - clamp(110px,33vw,160px))}
 .hero__tagline{margin-top:clamp(90px,14vw,120px);font-size:clamp(15px,3.4vw,22px)}
}

.facts__team b{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.facts__team b small{font:600 var(--fs-small)/1.4 var(--f-head);color:var(--on-dark-2)}

/* Шапка с пятью палитрами помещается на планшете и узком телефоне. */
@media(max-width:1200px){.hdr__in:has(.palsw) .logo__txt small{display:none}}
@media(max-width:380px){
 .hdr__in:has(.palsw){gap:4px}
 .palsw button{padding:0 1px}.palsw i{width:16px;height:16px}
 .hdr__in:has(.palsw) .lang{font-size:11px;padding:7px 6px}
 .hdr__in:has(.palsw) .burger{width:36px;padding:11px 8px}
}

@media(min-width:981px) and (max-width:1200px){.hdr__in:has(.palsw){gap:12px}}

/* 04.10.2026: Айрат утвердил вариант 1 — чистый белый знак из Blender. */
.hdr .logo__mark--white{display:block;filter:none}
.hdr .logo__txt small{color:#fff}

/* RU / EN / TT: keep controls compact and usable on narrow phones. */
.languages{display:flex;align-items:center;gap:4px;flex:none;margin-left:auto}
.languages .lang{display:block;margin-left:0;letter-spacing:.02em}
.languages .is-current{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}
.ftr__credit{white-space:nowrap}
@media(max-width:420px){.hdr__in{gap:8px}.languages{gap:3px}.languages .lang{font-size:11px;padding:7px 5px}.burger{width:40px;margin-left:0;padding:9px}}
@media(min-width:981px) and (max-width:1280px){.hdr__phone{display:none}.hdr__in{gap:16px}.nav ul{gap:16px}.hdr__cta{font-size:12px;padding:12px}}
html[lang="tt"] .logo__txt small{max-width:160px}
@media(min-width:981px) and (max-width:1120px){html[lang="tt"] .logo__txt small{max-width:110px}}

@font-face{font-family:Onest;src:url(../fonts/onest-tt.woff2?v=21) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0496-0497,U+04A2-04A3,U+04AE-04AF,U+04BA-04BB,U+04D8-04D9,U+04E8-04E9}
html[lang="tt"]{--f-head:Onest,"Segoe UI",Arial,sans-serif}
