/* =========================================================
   РЕЗЕРВ 230
   Визуальный язык — технический паспорт объекта.
   Страница идёт тремя движениями: ночь (авария) → бумага
   (документ) → снова ночь ровно там, где мы рубим ввод.
   Цвет несёт смысл: синий = городская сеть, янтарь = генератор.
   ========================================================= */

:root{
  /* бумага */
  --paper:    #E9E7E1;
  --sunk:     #E1DED7;
  --ink:      #14171A;
  --ink-2:    #575E62;
  --rule:     #C7C3BB;
  --rule-2:   #B3AEA4;

  /* ночь */
  --night:    #101314;
  --night-2:  #171B1D;
  --steel:    #272C2E;
  --steel-2:  #3A4143;
  --chalk:    #E9E7E1;
  --chalk-2:  #8C9296;

  /* сигнал */
  --amber:    #E88C00;
  --amber-tx: #8A5200;   /* янтарь, читаемый как текст на бумаге */
  --blue:     #2A6E9E;
  --blue-nt:  #4C9EDB;
  --alarm:    #BF2C30;
  --alarm-nt: #E5484D;

  --f-disp: "Bitter", Georgia, serif;
  --f-body: "Golos Text", "Helvetica Neue", Arial, sans-serif;

  --band: clamp(62px, 8vw, 124px);

  /* скругления */
  --r-ctl:  9px;   /* кнопки, поля ввода */
  --r-card: 12px;  /* панели, карточки */
  --r-xs:   5px;   /* мелкие элементы внутри карточек */
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:400 16.5px/1.6 var(--f-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; }
a{ color:inherit; }
::selection{ background:var(--amber); color:#0F1112; }

:focus-visible{ outline:2px solid var(--amber); outline-offset:3px; }

.vh{
  position:absolute; width:1px; height:1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
}

.skip{
  position:absolute; left:-9999px; top:0; z-index:99;
  background:var(--amber); color:#0F1112; padding:12px 18px;
  font:600 14px var(--f-body); text-decoration:none;
}
.skip:focus{ left:12px; top:12px; }

/* ---------------- каркас ---------------- */
.wrap{ width:min(1260px, calc(100% - 48px)); margin-inline:auto; }
.wrap--mid{ width:min(900px, calc(100% - 48px)); }

.band{ padding-block:var(--band); }
.band--sunk{
  background:var(--sunk);
  border-block:1px solid var(--rule);
}
.band--night{
  background:var(--night);
  color:var(--chalk);
}

/* ---------------- типографика ---------------- */
.h1{
  font:600 clamp(38px, 5.9vw, 74px)/1.03 var(--f-disp);
  letter-spacing:-.022em;
  margin:0 0 28px;
  text-wrap:balance;
}
.h2{
  font:600 clamp(27px, 3.5vw, 45px)/1.1 var(--f-disp);
  letter-spacing:-.018em;
  margin:0;
  text-wrap:balance;
}
.head{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(24px, 4vw, 66px);
  align-items:end;
  margin-bottom:clamp(38px, 4.5vw, 62px);
}
.head > .h2{ grid-column:1; }
.head > .head__sub{
  grid-column:2;
  align-self:end;
}
.head__sub{
  margin:0;
  color:var(--ink-2);
  font-size:16.5px;
  max-width:56ch;
}
.band--night .head__sub{ color:var(--chalk-2); }

.aside{
  margin:clamp(38px,4vw,56px) 0 0;
  padding-top:22px;
  border-top:1px solid var(--rule);
  max-width:82ch;
  font-size:15.5px;
  line-height:1.62;
  color:var(--ink-2);
}
.aside--night{
  border-top-color:var(--steel);
  color:var(--chalk-2);
}

/* ---------------- кнопки ---------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:15px 28px;
  background:var(--amber);
  color:#0F1112;
  font:600 15px/1 var(--f-body);
  text-decoration:none;
  border:1px solid var(--amber);
  border-radius:var(--r-ctl);
  cursor:pointer;
  transition:background .16s ease, border-color .16s ease, color .16s ease;
}
.btn:hover{ background:#FFA019; border-color:#FFA019; }
.btn--sm{ padding:10px 17px; font-size:13.5px; }
.btn--lg{ padding:18px 30px; font-size:16px; }
.btn--full{ width:100%; }

.btn--line{
  background:transparent;
  color:var(--ink);
  border-color:var(--rule-2);
}
.btn--line:hover{
  background:var(--ink);
  border-color:var(--ink);
  color:var(--paper);
}
.band--night .btn--line{
  color:var(--chalk);
  border-color:var(--steel-2);
}
.band--night .btn--line:hover{
  background:var(--chalk);
  border-color:var(--chalk);
  color:var(--night);
}

/* ---------------- шапка ---------------- */
.top{
  position:sticky; top:0; z-index:40;
  background:rgba(16,19,20,.94);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--steel);
  color:var(--chalk);
}
.top__in{ display:flex; align-items:center; gap:26px; min-height:66px; position:relative; }

.brand{ display:flex; align-items:baseline; gap:11px; text-decoration:none; margin-right:auto; }
.brand b{ font:600 19px/1 var(--f-disp); letter-spacing:-.015em; }
.brand i{
  font:500 11px/1 var(--f-body);
  font-style:normal;
  letter-spacing:.03em;
  color:var(--chalk-2);
}

.top__nav{ display:flex; gap:24px; }
.top__nav a{ font:400 14.5px/1 var(--f-body); color:var(--chalk-2); text-decoration:none; transition:color .15s; }
.top__nav a:hover{ color:var(--chalk); }

.top__act{ display:flex; align-items:center; gap:18px; }
.tel{ font:500 14.5px/1 var(--f-body); text-decoration:none; white-space:nowrap; }
.tel:hover{ color:var(--amber); }

.burger{
  display:none;
  width:40px; height:36px;
  background:transparent;
  border:1px solid var(--steel-2);
  border-radius:var(--r-xs);
  cursor:pointer;
  padding:0;
  place-items:center;
  gap:5px;
}
.burger span{ display:block; width:17px; height:1.5px; background:var(--chalk); }

/* ---------------- хиро ---------------- */
.hero{ position:relative; overflow:hidden; padding-bottom:0; }
.hero__glow{
  position:absolute;
  inset:0 -4% auto 34%;
  height:88%;
  background:radial-gradient(42% 38% at 52% 44%, rgba(76,158,219,.09), rgba(76,158,219,0) 68%);
  pointer-events:none;
  transition:background .7s ease, opacity .7s ease;
}
.hero__glow[data-state="dark"]{ opacity:.12; }
.hero__glow[data-state="gen"]{
  background:radial-gradient(42% 38% at 52% 44%, rgba(232,140,0,.12), rgba(232,140,0,0) 68%);
}
.hero__in{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:clamp(32px, 5vw, 74px);
  align-items:center;
  padding-bottom:clamp(48px, 6vw, 82px);
}
.hero__copy{ min-width:0; }
.hero__lead{
  margin:0 0 32px;
  max-width:50ch;
  font-size:17px;
  line-height:1.62;
  color:#B9BEC1;
}
.hero__cta{ display:flex; flex-wrap:wrap; gap:12px; }

/* спецификационная полоса */
.strip{
  position:relative;
  display:flex; flex-wrap:wrap;
  margin-block:0;
  border-top:1px solid var(--steel);
}
.strip > div{
  flex:1 1 auto;
  padding:20px 26px 22px 0;
  min-width:150px;
}
.strip dt{
  font:500 10.5px/1 var(--f-body);
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--chalk-2);
  margin-bottom:8px;
}
.strip dd{ margin:0; font-size:15.5px; font-weight:500; }

/* ---------------- панель АВР ---------------- */
.panel{
  min-width:0;
  background:var(--night-2);
  border:1px solid var(--steel-2);
  border-radius:var(--r-card);
  padding:18px;
  box-shadow:0 12px 28px -18px rgba(0,0,0,.9);
}
.panel__head{
  display:flex; justify-content:space-between; align-items:baseline; gap:14px;
  padding-bottom:13px;
  border-bottom:1px solid var(--steel);
}
.panel__title{
  font:500 11.5px/1 var(--f-body);
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--chalk-2);
}
.panel__rate{
  font:500 10px/1 var(--f-body);
  letter-spacing:.07em; text-transform:uppercase;
  color:#5E6669;
}
.panel__scope{
  position:relative;
  margin:15px 0;
  background:#0A0C0D;
  border:1px solid var(--steel);
  border-radius:var(--r-xs);
  overflow:hidden;
}
.scope{ display:block; width:100%; height:146px; }
.scope__hz{
  position:absolute; right:10px; bottom:7px;
  font:500 10px/1 var(--f-body); letter-spacing:.07em; color:#5E6669;
}

.panel__rows{
  display:flex; flex-direction:column; gap:1px;
  background:var(--steel);
  border:1px solid var(--steel);
  border-radius:var(--r-xs);
  overflow:hidden;
}
.row{ display:flex; align-items:center; gap:12px; padding:12px 14px; background:var(--night-2); }
.lamp{
  width:9px; height:9px; border-radius:50%;
  background:#2A3033;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
  flex:none;
  transition:background .25s ease, box-shadow .25s ease;
}
.row__name{ font:400 14.5px/1 var(--f-body); color:var(--chalk-2); margin-right:auto; }
.row__val{ font:400 13.5px/1 var(--f-body); color:#5E6669; font-variant-numeric:tabular-nums; }
.row__val b{ font-weight:600; color:var(--chalk-2); font-size:15.5px; }

.row[data-on="grid"] .lamp{ background:var(--blue-nt); box-shadow:0 0 12px rgba(76,158,219,.75); }
.row[data-on="gen"]  .lamp{ background:var(--amber);   box-shadow:0 0 12px rgba(232,140,0,.8); }
.row[data-on="grid"] .row__name,
.row[data-on="gen"]  .row__name,
.row[data-on="grid"] .row__val b,
.row[data-on="gen"]  .row__val b{ color:var(--chalk); }
.row[data-on="alarm"] .lamp{ background:var(--alarm-nt); box-shadow:0 0 12px rgba(229,72,77,.7); animation:blip .9s steps(1) infinite; }
.row[data-on="alarm"] .row__name{ color:var(--alarm-nt); }
@keyframes blip{ 50%{ opacity:.25; } }

.panel__status{
  display:flex; justify-content:space-between; align-items:baseline; gap:14px;
  margin-top:13px; padding:12px 14px;
  border:1px solid var(--steel); border-radius:var(--r-xs);
  background:#0E1112;
}
.panel__stage{ font:500 13px/1.35 var(--f-body); color:var(--chalk); }
.panel__timer{ font:400 11.5px/1 var(--f-body); color:#5E6669; white-space:nowrap; font-variant-numeric:tabular-nums; }
.panel__timer b{ font-weight:600; font-size:15px; color:var(--chalk); }

.panel__load{ margin-top:13px; }
.loadbar{ height:4px; background:#0A0C0D; border:1px solid var(--steel); border-radius:999px; overflow:hidden; }
.loadbar i{ display:block; height:100%; background:var(--amber); transition:width .5s ease; }
.panel__loadtxt{
  display:block; margin-top:9px;
  font:500 11px/1 var(--f-body); letter-spacing:.07em; text-transform:uppercase;
  color:#5E6669; font-variant-numeric:tabular-nums;
}
.panel__loadtxt b{ color:var(--chalk); font-weight:600; }

/* ---------------- хронология отключения ---------------- */
.tl{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(5, minmax(0,1fr));
  border-top:1px solid var(--rule-2);
}
.tl__i{
  position:relative;
  padding:24px 26px 0 0;
}
.tl__i::before{
  content:"";
  position:absolute; top:-1px; left:0;
  width:1px; height:13px;
  background:var(--rule-2);
}
.tl__i--end::before{ background:var(--alarm); width:2px; height:17px; }
.tl__t{
  display:block;
  font:500 11.5px/1 var(--f-body);
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-2);
  margin-bottom:12px;
  font-variant-numeric:tabular-nums;
}
.tl__i--end .tl__t{ color:var(--alarm); }
.tl__i h3{
  font:600 19px/1.22 var(--f-disp);
  letter-spacing:-.012em;
  margin:0 0 8px;
}
.tl__i p{ margin:0; color:var(--ink-2); font-size:15px; line-height:1.55; }

/* ---------------- сравнительная таблица ---------------- */
.cmp__scroll,
.kits__scroll{ overflow-x:auto; }

.cmp{
  width:100%;
  border-collapse:collapse;
  text-align:left;
  min-width:720px;
}
.cmp thead th{
  font:500 11px/1.3 var(--f-body);
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-2);
  font-weight:500;
  padding:0 22px 14px 0;
  border-bottom:1px solid var(--rule-2);
  vertical-align:bottom;
}
.cmp tbody th{
  font:500 12px/1.4 var(--f-body);
  letter-spacing:.03em;
  color:var(--ink-2);
  font-weight:500;
  width:20%;
  padding:18px 22px 18px 0;
  border-bottom:1px solid var(--rule);
  vertical-align:top;
}
.cmp td{
  font-size:15.5px;
  line-height:1.5;
  color:var(--ink-2);
  padding:18px 22px 18px 0;
  border-bottom:1px solid var(--rule);
  vertical-align:top;
  width:40%;
}
.cmp .cmp__us{
  background:var(--paper);
  color:var(--ink);
  font-weight:500;
  padding-left:22px;
}
.cmp thead .cmp__us{ color:var(--ink); }

/* ---------------- калькулятор ---------------- */
.calc{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);
  gap:28px;
  align-items:start;
}
.calc__list{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  column-gap:34px;
  border-top:1px solid var(--rule-2);
}
.ld{
  position:relative;
  display:flex; align-items:center; gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--rule);
  cursor:pointer;
  user-select:none;
}
.ld input{ position:absolute; opacity:0; width:0; height:0; }
.ld__box{
  width:16px; height:16px; flex:none;
  border:1px solid var(--rule-2);
  border-radius:var(--r-xs);
  background:transparent;
  display:grid; place-items:center;
  transition:background .15s, border-color .15s;
}
.ld__box::after{
  content:"";
  width:8px; height:8px;
  background:#0F1112;
  clip-path:polygon(14% 46%, 0 60%, 38% 100%, 100% 22%, 86% 8%, 38% 72%);
  opacity:0;
  transition:opacity .12s;
}
.ld input:checked + .ld__box{ background:var(--amber); border-color:var(--amber); }
.ld input:checked + .ld__box::after{ opacity:1; }
.ld input:focus-visible + .ld__box{ outline:2px solid var(--amber); outline-offset:2px; }
.ld__name{ font-size:15px; line-height:1.3; margin-right:auto; color:var(--ink-2); }
.ld input:checked ~ .ld__name{ color:var(--ink); }
.ld__kw{
  font:400 11.5px/1 var(--f-body);
  color:var(--ink-2);
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.ld__kw i{ font-style:normal; color:var(--blue); }

.calc__out{
  background:var(--paper);
  border:1px solid var(--rule-2);
  border-radius:var(--r-card);
  padding:22px;
  display:flex; flex-direction:column; gap:15px;
  position:sticky; top:86px;
}
.band--sunk .calc__out{ background:var(--paper); }
.calc__row{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.calc__lbl{
  font:500 10.5px/1.3 var(--f-body);
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-2);
}
.calc__v{ font:400 12.5px/1 var(--f-body); color:var(--ink-2); font-variant-numeric:tabular-nums; }
.calc__v b{ font-weight:600; font-size:16.5px; color:var(--ink); }

.calc__rec{
  border-top:1px solid var(--rule);
  padding-top:17px;
  display:flex; flex-direction:column; gap:9px;
}
.calc__big{
  display:flex; align-items:baseline; gap:8px;
  font:600 clamp(44px,6vw,60px)/0.92 var(--f-disp);
  letter-spacing:-.03em;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.calc__big i{
  font:400 13px/1 var(--f-body); font-style:normal;
  color:var(--ink-2); letter-spacing:.03em;
}
.scale{
  position:relative;
  display:flex; justify-content:space-between;
  padding-top:11px;
  border-top:1px solid var(--rule-2);
}
.scale span{ font:500 10.5px/1 var(--f-body); color:var(--ink-2); font-variant-numeric:tabular-nums; }
.scale i{
  position:absolute; top:-1px; left:0;
  width:2px; height:9px; margin-left:-1px;
  background:var(--amber);
  transition:left .35s ease, opacity .2s;
  opacity:0;
}
.calc__hint{ margin:2px 0 0; font-size:13.5px; line-height:1.5; color:var(--ink-2); }

/* ---------------- комплекты ---------------- */
.kits{
  width:100%;
  border-collapse:collapse;
  text-align:left;
  min-width:760px;
}
.kits thead th{
  padding:0 24px 16px 0;
  border-bottom:1px solid var(--rule-2);
  vertical-align:bottom;
  width:26.6%;
  font-weight:400;
}
.kits thead th:first-child{ width:20%; }
.kits thead b{
  display:block;
  font:600 34px/1 var(--f-disp);
  letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
}
.kits thead i{
  font:500 11px/1 var(--f-body); font-style:normal;
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-2);
}
.kits tbody th{
  font:500 12px/1.4 var(--f-body);
  letter-spacing:.03em;
  color:var(--ink-2);
  font-weight:500;
  padding:18px 24px 18px 0;
  border-bottom:1px solid var(--rule);
  vertical-align:top;
}
.kits td{
  font-size:15.5px; line-height:1.5;
  padding:18px 24px 18px 0;
  border-bottom:1px solid var(--rule);
  vertical-align:top;
}
.kits__price b{
  font:600 26px/1 var(--f-disp);
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}
.kits__act{ margin:clamp(30px,3.5vw,44px) 0 0; }

.incl{
  margin-top:clamp(34px,4vw,50px);
  padding-top:24px;
  border-top:1px solid var(--rule-2);
  display:grid;
  grid-template-columns:minmax(0,.24fr) minmax(0,.76fr);
  gap:clamp(20px,3vw,40px);
}
.incl__t{
  margin:0;
  font:500 11px/1.4 var(--f-body);
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-2);
}
.incl ul{
  margin:0; padding:0; list-style:none;
  columns:2; column-gap:44px;
}
.incl li{
  break-inside:avoid;
  padding:0 0 10px 18px;
  position:relative;
  font-size:15px;
  line-height:1.5;
}
.incl li::before{
  content:"";
  position:absolute; left:0; top:10px;
  width:9px; height:2px;
  background:var(--amber);
}

/* ---------------- рейка: 5 дней ---------------- */
.rail{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(5, minmax(0,1fr));
  column-gap:28px;
}
.rail li{
  border-top:1px solid var(--ink);
  padding-top:18px;
}
.rail__n{
  display:block;
  font:600 30px/1 var(--f-disp);
  letter-spacing:-.03em;
  color:var(--amber-tx);
  margin-bottom:12px;
  font-variant-numeric:tabular-nums;
}
.rail h3{
  font:600 18px/1.22 var(--f-disp);
  letter-spacing:-.012em;
  margin:0 0 8px;
}
.rail p{ margin:0; color:var(--ink-2); font-size:14.5px; line-height:1.55; }

/* ---------------- тёмная полоса: тест ---------------- */
.test__in{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,5vw,72px);
  align-items:start;
}
.test__copy .h2{ margin-bottom:20px; }

.steps{ list-style:none; margin:0; padding:0; }
.steps li{
  display:flex; gap:20px;
  padding:17px 0;
  border-bottom:1px solid var(--steel);
}
.steps li:first-child{ border-top:1px solid var(--steel); }
.steps__t{
  flex:none; width:66px;
  font:600 12.5px/1.5 var(--f-body);
  letter-spacing:.03em;
  color:var(--amber);
  font-variant-numeric:tabular-nums;
}
.steps b{ display:block; font:500 16.5px/1.35 var(--f-body); margin-bottom:4px; color:var(--chalk); }
.steps p{ margin:0; color:var(--chalk-2); font-size:14.5px; line-height:1.5; }

/* ---------------- стандарты ---------------- */
.std{
  margin:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  column-gap:clamp(34px,5vw,72px);
}
.std > div{ padding:21px 0; border-top:1px solid var(--rule); }
.std dt{
  font:600 18px/1.25 var(--f-disp);
  letter-spacing:-.012em;
  margin-bottom:7px;
}
.std dd{ margin:0; color:var(--ink-2); font-size:15px; line-height:1.55; }

/* ---------------- гарантия ---------------- */
.warranty{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:clamp(32px,5vw,68px);
  align-items:start;
}
.warranty .h2{ margin-bottom:20px; }
.warranty .head__sub{ margin-bottom:30px; }

.wl{ margin:0; border-top:1px solid var(--rule-2); }
.wl > div{
  display:flex; gap:20px; align-items:baseline;
  padding:14px 0;
  border-bottom:1px solid var(--rule);
}
.wl dt{
  flex:none; width:38%;
  font:500 11.5px/1.4 var(--f-body);
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-2);
}
.wl dd{ margin:0; font-size:15px; line-height:1.45; }

.honest{
  background:var(--paper);
  border:1px solid var(--rule-2);
  border-radius:var(--r-card);
  padding:26px;
}
.honest__t{
  margin:0 0 16px;
  font:500 11px/1.4 var(--f-body);
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--blue);
}
.honest p{ margin:0 0 14px; color:var(--ink-2); font-size:15px; line-height:1.6; }
.honest__f{
  margin:0 !important;
  padding-top:14px;
  border-top:1px solid var(--rule);
  color:var(--ink) !important;
}

/* ---------------- FAQ ---------------- */
.faq{ border-top:1px solid var(--rule-2); max-width:920px; }
.q{ border-bottom:1px solid var(--rule); }
.q summary{
  list-style:none;
  cursor:pointer;
  padding:19px 44px 19px 0;
  position:relative;
  font:600 17.5px/1.4 var(--f-disp);
  letter-spacing:-.01em;
  transition:color .15s;
}
.q summary::-webkit-details-marker{ display:none; }
.q summary:hover{ color:var(--amber-tx); }
.q summary::after{
  content:"";
  position:absolute; right:6px; top:50%;
  width:10px; height:10px; margin-top:-6px;
  border-right:1.5px solid var(--ink-2);
  border-bottom:1.5px solid var(--ink-2);
  transform:rotate(45deg);
  transition:transform .22s ease;
}
.q[open] summary::after{ transform:rotate(-135deg); }
.q__a{ padding:0 44px 22px 0; }
.q__a p{ margin:0; color:var(--ink-2); font-size:15.5px; line-height:1.62; max-width:74ch; }

/* ---------------- заявка ---------------- */
.lead2{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.84fr);
  gap:clamp(32px,5vw,72px);
  align-items:start;
}
.lead2 .h2{ margin-bottom:20px; }
.lead2 .head__sub{ margin-bottom:26px; }
.lead2__list{ list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:column; gap:11px; }
.lead2__list li{ position:relative; padding-left:20px; font-size:15.5px; color:var(--chalk-2); }
.lead2__list li::before{
  content:""; position:absolute; left:0; top:10px;
  width:8px; height:1.5px; background:var(--amber);
}
.lead2__note{ margin:0; font-size:13.5px; line-height:1.5; color:#6E7477; max-width:46ch; }

.form{
  background:var(--night-2);
  border:1px solid var(--steel-2);
  border-radius:var(--r-card);
  padding:26px;
  display:flex; flex-direction:column; gap:15px;
}
.field{ display:flex; flex-direction:column; gap:7px; }
.field label{
  font:500 10.5px/1 var(--f-body);
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--chalk-2);
}
.field input,
.field textarea{
  width:100%;
  background:#0C0F10;
  border:1px solid var(--steel-2);
  border-radius:var(--r-ctl);
  color:var(--chalk);
  font:400 15.5px/1.45 var(--f-body);
  padding:13px 14px;
  transition:border-color .15s, background .15s;
  resize:vertical;
}
.field input::placeholder,
.field textarea::placeholder{ color:#5E6669; }
.field input:focus,
.field textarea:focus{ outline:none; border-color:var(--amber); background:#0E1112; }
.field input[aria-invalid="true"],
.field textarea[aria-invalid="true"]{ border-color:var(--alarm-nt); }
.err{ font:400 12.5px/1.3 var(--f-body); color:var(--alarm-nt); }
.err:empty{ display:none; }

.form__legal{ margin:0; font:400 12px/1.5 var(--f-body); color:#6E7477; }
.form__done{
  margin:0; padding:14px 16px;
  border:1px solid var(--amber);
  background:rgba(232,140,0,.08);
  border-radius:var(--r-xs);
  font-size:14.5px;
  color:var(--chalk);
}

/* ---------------- футер ---------------- */
.foot{
  background:var(--night);
  color:var(--chalk);
  border-top:1px solid var(--steel);
  padding-top:52px;
}
.foot__in{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) repeat(3, minmax(0,1fr));
  gap:34px;
  padding-bottom:42px;
}
.foot__brand b{ display:block; font:600 19px/1 var(--f-disp); letter-spacing:-.015em; margin-bottom:12px; }
.foot__brand p{ margin:0; color:var(--chalk-2); font-size:14px; max-width:44ch; }
.foot__col{ display:flex; flex-direction:column; gap:9px; }
.foot__col span{
  font:500 10.5px/1 var(--f-body);
  letter-spacing:.07em; text-transform:uppercase;
  color:#6E7477; margin-bottom:3px;
}
.foot__col a{ font-size:14.5px; color:var(--chalk-2); text-decoration:none; transition:color .15s; }
.foot__col a:hover{ color:var(--amber); }
.foot__p{ margin:0; font-size:14.5px; color:var(--chalk-2); }

.foot__bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding:16px 0;
  border-top:1px solid var(--steel);
  font:400 12.5px/1 var(--f-body);
  color:#6E7477;
}
.foot__bottom a{ text-decoration:none; }
.foot__bottom a:hover{ color:var(--amber); }

/* ---------------- мобильная плашка ---------------- */
.callbar{
  display:none;
  position:fixed; left:12px; right:12px; bottom:12px;
  z-index:45;
  background:var(--amber);
  color:#0F1112;
  text-align:center; text-decoration:none;
  font:600 15px/1 var(--f-body);
  padding:16px;
  border-radius:var(--r-ctl);
  box-shadow:0 8px 20px -10px rgba(0,0,0,.55);
  transform:translateY(140%);
  transition:transform .28s ease;
}
.callbar[data-show]{ transform:translateY(0); }

/* =========================================================
   Адаптив
   ========================================================= */
@media (max-width:1080px){
  .hero__in{ grid-template-columns:1fr; }
  .head{ grid-template-columns:1fr; align-items:start; }
  .tl{ grid-template-columns:repeat(2, minmax(0,1fr)); border-top:0; }
  .tl__i{ border-top:1px solid var(--rule-2); padding-bottom:22px; }
  .rail{ grid-template-columns:repeat(2, minmax(0,1fr)); row-gap:26px; }
  .calc{ grid-template-columns:1fr; }
  .calc__out{ position:static; }
  .foot__in{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .incl{ grid-template-columns:1fr; }
}

@media (max-width:900px){
  .top__nav{ display:none; }
  .top__act .btn{ display:none; }
  .burger{ display:grid; }
  .test__in,.warranty,.lead2{ grid-template-columns:1fr; }
  .std{ grid-template-columns:1fr; }
  .callbar{ display:block; }
  .foot{ padding-bottom:76px; }

  .top__in[data-open] .top__nav{
    display:flex; flex-direction:column; gap:0;
    position:absolute; left:0; right:0; top:100%;
    background:var(--night-2);
    border-bottom:1px solid var(--steel);
    padding:4px 24px 12px;
  }
  .top__in[data-open] .top__nav a{
    padding:13px 0;
    border-bottom:1px solid var(--steel);
    font-size:15px;
  }
}

@media (max-width:640px){
  .wrap,.wrap--mid{ width:calc(100% - 32px); }
  .tl{ grid-template-columns:1fr; }
  .rail{ grid-template-columns:1fr; }
  .calc__list{ grid-template-columns:1fr; }
  .incl ul{ columns:1; }
  .foot__in{ grid-template-columns:1fr; gap:28px; }
  .hero__cta .btn{ flex:1 1 100%; }
  .steps li{ flex-direction:column; gap:6px; }
  .steps__t{ width:auto; }
  .wl > div{ flex-direction:column; gap:5px; }
  .wl dt{ width:auto; }
  .form{ padding:20px; }
  .strip > div{ min-width:130px; padding-right:18px; }
}
