/* ============================================================
   ТеплоХаус · Тепловые насосы «воздух-воздух»
   Мир референса: нейтральный светлый, Onest, жёлтый #F3C805, тёплый чёрный
   ============================================================ */

:root{
  --bg:#F5F5F3;
  --bg-2:#EDEEF0;
  --card:#FFFFFF;
  --card-soft:#FAFAFB;
  --ink:#25282E;
  --ink-2:#5A5E66;
  --line:#E6E7EA;
  --gold:#F3C805;
  --gold-2:#F3C805;
  --gold-dark:#846C00;
  --gold-soft:#FAF1C4;
  --dark:#22252B;
  --dark-2:#2C303A;
  --ok:#4C8A5C;
  --r-lg:24px;
  --r-md:18px;
  --r-sm:12px;
  --shadow:0 12px 34px rgba(32,35,42,.09);
  --shadow-sm:0 4px 16px rgba(32,35,42,.06);
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-io:cubic-bezier(.77,0,.175,1);
  --display:"Onest", -apple-system, "Segoe UI", sans-serif;
  --sans:"Onest", -apple-system, "Segoe UI", sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
::selection{background:#F3C805;color:#25282E}
body::after{
  content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.033;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--ink);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:#846C00}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit;font-size:15px;color:var(--ink)}

h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.1;letter-spacing:-.035em}
h1{font-size:clamp(27px,3.1vw,40px);letter-spacing:-.03em}
h2{font-size:clamp(28px,3.5vw,46px)}
h3{font-size:20px;font-weight:700;letter-spacing:-.015em}
h1 .accent,h2 .accent{color:#81858D}
h2 .accent{
  color:var(--ink);
  background:linear-gradient(transparent 58%, rgba(243,200,5,.85) 58%, rgba(243,200,5,.85) 94%, transparent 94%);
  padding:0 .06em;
}
.final h2 .accent{background:none;color:rgba(37,40,46,.55)}

.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
section{padding:108px 0}
.section-alt{background:var(--bg-2)}
.breakout{
  width:min(100vw - 40px, 1520px);
  margin-left:50%;transform:translateX(-50%);
}
.lead{color:var(--ink-2);font-size:18px;line-height:1.65;max-width:760px;margin-top:20px}
.small{font-size:13.5px;line-height:1.5}
.mut{color:var(--ink-2)}
.center{text-align:center}
.calc2__main b,.calc2__col b span,.calc2__facts b,.prod__spec,.pricetable,.case__nums,.prod__price{font-variant-numeric:tabular-nums}

/* золотая черта над заголовком — фирменный жест из концепта */
.rule{width:48px;height:3px;border-radius:2px;background:#F3C805;margin-bottom:24px}
mark.hl{
  background:linear-gradient(transparent 58%, rgba(243,200,5,.5) 58%, rgba(243,200,5,.5) 94%, transparent 94%);
  color:inherit;padding:0 2px;
}
h1,h2,h3{text-wrap:balance}
:where(a,button,input,select,textarea):focus-visible{
  outline:2px solid #25282E;outline-offset:2px;border-radius:4px;
}

/* ---------- Кнопки ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:16px 28px;border-radius:14px;
  font-size:15px;font-weight:700;border:none;
  background:#F3C805;color:#25282E;text-decoration:none;
  transition:transform 160ms var(--ease-out), box-shadow 200ms var(--ease-out), background 200ms ease;
}
@media (hover:hover) and (pointer:fine){
  .btn:hover{background:#E9BE00;transform:translateY(-1px);box-shadow:0 10px 24px rgba(243,200,5,.35)}
}
.btn:active{transform:scale(.97)}
.btn--ghost{
  background:#fff;color:#25282E;box-shadow:0 4px 14px rgba(32,35,42,.07);
}
.btn--ghost:hover{background:#fff;box-shadow:0 8px 20px rgba(32,35,42,.12)}
.btn--dark{background:var(--dark);box-shadow:0 6px 18px rgba(32,37,47,.25)}
.btn--sm{padding:11px 18px;font-size:14px}
.btn--wide{width:100%}

/* ---------- Шапка: плавающая пилюля (референс) ---------- */
.header{position:sticky;top:0;z-index:60;padding:14px 0 6px}
.header__in{
  display:flex;align-items:center;gap:12px;padding:8px 14px 8px 18px;min-width:0;
  background:#fff;border-radius:18px;box-shadow:0 8px 26px rgba(32,35,42,.08);
  transition:background 280ms ease, box-shadow 280ms ease;
}
.header--clear .header__in{background:transparent;box-shadow:none}
.header--glass .header__in{background:rgba(255,255,255,.6);box-shadow:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);line-height:1.1}
.logo svg{width:34px;height:34px}
.logo svg .lg-flame,.logo svg .lg-snow{
  transform-origin:50% 58%;transform-box:fill-box;
  transition:opacity 460ms var(--ease-out), transform 620ms var(--ease-out);
}
.logo svg .lg-flame{opacity:1;transform:scale(1) rotate(0deg)}
.logo svg .lg-snow{opacity:0;transform:scale(.4) rotate(-110deg)}
/* состояние «снежинка» переключает JS — возврат идёт теми же переходами */
.logo.is-snow svg .lg-flame{opacity:0;transform:scale(.42) rotate(100deg)}
.logo.is-snow svg .lg-snow{opacity:1;transform:scale(1) rotate(0deg)}
@media (prefers-reduced-motion: reduce){
  .logo svg .lg-flame,.logo svg .lg-snow{transition:none}
}
.logo__t{font-family:var(--display);font-size:19.5px;font-weight:800;line-height:1.04;letter-spacing:-.015em;display:block}
.logo__t em{font-style:normal;color:inherit}
.logo__s{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;display:block;margin-top:1px}
.nav{display:flex;gap:2px;margin:0 auto;min-width:0;flex-shrink:1}
.nav a{
  color:var(--ink);text-decoration:none;font-size:13.5px;font-weight:500;
  padding:8px 8px;border-radius:8px;white-space:nowrap;
}
.nav a:hover{background:#F5F5F3;color:var(--ink)}
.nav .nav-cat{border:1.5px solid #F3C805;border-radius:10px;padding:7px 12px}
.nav .nav-cat:hover{background:rgba(243,200,5,.18)}
/* ховеры в прозрачном состоянии хедера */
.header--clear .nav a:hover{background:rgba(37,40,46,.08)}
.header--clear .geo-pill{background:rgba(37,40,46,.12)}
.header--clear .geo-pill:hover{background:rgba(37,40,46,.2)}
.header__phone{font-weight:700;font-size:16.5px;flex-shrink:0;color:var(--ink);text-decoration:none;white-space:nowrap;padding:9px 0;display:inline-flex;align-items:center}
.geo-pill{
  display:inline-flex;align-items:center;gap:7px;
  background:#F5F5F3;border:none;border-radius:12px;
  padding:10px 14px;font-size:14px;font-weight:500;color:var(--ink);
}
.geo-pill{transition:background .15s;max-width:230px;overflow:hidden;white-space:nowrap;flex-shrink:0}
.geo-pill b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* регион рядом с городом — только если в шапке реально есть место */
.geo-reg{display:none}
@media (min-width:1700px){ .geo-reg{display:inline;font-size:12.5px;opacity:.72} .geo-pill{max-width:340px} }
@media (max-width:1200px){ .header .nav a{padding:8px 6px;font-size:13px} .geo-pill{max-width:190px;padding:10px 12px} }
.geo-pill:hover{background:#EEEFF1}
.geo-pill svg{width:15px;height:15px;color:#D9A800}
.nav__phone{display:none}
.burger{display:none;background:none;border:none;width:42px;height:42px;position:relative}
.burger span,.burger span::before,.burger span::after{
  content:"";position:absolute;left:9px;width:24px;height:2px;background:var(--ink);transition:.2s;
}
.burger span{top:20px}
.burger span::before{top:-8px;left:0}
.burger span::after{top:8px;left:0}

.header .btn--ghost{
  background:#F3C805;color:#25282E;border-color:transparent;border-radius:12px;font-weight:700;
}
.header .btn--ghost:hover{background:#E9BE00}


/* ---------- Подтверждение города (мультилендинг) ---------- */
.geo-ask{
  position:absolute;top:calc(100% + 8px);right:24px;z-index:70;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--card);border-radius:14px;box-shadow:var(--shadow);
  padding:12px 14px;font-size:14px;
  opacity:0;transform:translateY(-6px);transition:opacity .25s ease,transform .25s ease;
}
.geo-ask.is-in{opacity:1;transform:none}
.geo-ask b{font-weight:700}
.geo-ask button{border:none;border-radius:10px;font-size:13.5px;font-weight:700;padding:9px 14px}
.geo-ask button{transition:transform 120ms var(--ease-out),background 150ms ease}
.geo-ask button:active{transform:scale(.95)}
.geo-ask__yes{background:#F3C805;color:#25282E}
.geo-ask__yes:hover{background:#E9BE00}
.geo-ask__no{background:var(--bg-2);color:var(--ink)}
.geo-ask__no:hover{background:#E4E6EA}
.header .wrap{position:relative}
@media (max-width:640px){
  .geo-ask{right:12px;left:12px;justify-content:center;text-align:center}
}

/* ---------- Hero: стилистика референса superstroy ---------- */
.hero{padding:44px 0 72px;overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.12fr .88fr;gap:44px;align-items:center}
.hero h1{
  margin-top:6px;font-family:inherit;font-weight:700;text-wrap:balance;
  font-size:clamp(30px,3.4vw,47px);line-height:1.08;letter-spacing:-.04em;
  color:#25282E;
}
.typewrap{color:#81858D}
@media (min-width:1280px){.typewrap{white-space:nowrap}}
.typewrap .ch{visibility:hidden}
.typewrap .ch.is-in{visibility:visible}
.typewrap .ch.is-cursor{box-shadow:3px 0 0 #25282E;animation:caret-blink 1s steps(1) infinite}
@keyframes caret-blink{50%{box-shadow:3px 0 0 transparent}}
@media (prefers-reduced-motion: reduce){
  .typewrap .ch{visibility:visible}
  .typewrap .ch.is-cursor{box-shadow:none;animation:none}
}
.hero__sub{color:#5A5E66;font-size:18px;line-height:1.6;margin:26px 0 32px;max-width:600px}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.hero .btn{padding:17px 30px}
.hero__photo{position:relative}
.hero__photo > img{
  width:100%;height:600px;object-fit:cover;object-position:60% 40%;
  border-radius:28px;
}
.hero .stat{border-radius:20px;box-shadow:0 4px 16px rgba(32,35,42,.06);padding:20px 18px}
.hero .stat b{font-family:inherit;font-weight:700;letter-spacing:-.02em}
.hero .trust{background:none;border:none;box-shadow:none;padding:0;margin:20px 0 0;gap:8px 26px;backdrop-filter:none;-webkit-backdrop-filter:none}
.hero .trust div{font-size:13.5px;color:var(--ink-2)}
.hero .trust svg{color:#D9B303}
.hero .miniform{border:none;border-radius:24px;box-shadow:0 12px 34px rgba(32,35,42,.09)}
.hero .miniform h3{font-family:inherit;font-weight:700;letter-spacing:-.02em}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:30px 0 62px;width:100%}
.stat{
  background:rgba(255,255,255,.42);border-radius:var(--r-md);padding:18px 16px;
  border:1px solid rgba(37,40,46,.07);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  display:flex;gap:12px;align-items:flex-start;
}
.stat svg{width:26px;height:26px;color:#25282E;flex-shrink:0;margin-top:2px}
.stat b{font-size:18px;display:block;line-height:1.2;letter-spacing:-.01em;white-space:nowrap}
.stat span{font-size:12.5px;color:var(--ink-2);line-height:1.35;display:block;margin-top:3px}
.trust{
  display:flex;flex-wrap:wrap;gap:10px 34px;margin-top:22px;
  padding:16px 22px;border:1px solid var(--line);border-radius:var(--r-md);
  background:var(--card-soft);
}
.trust div{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:500}
.trust svg{width:17px;height:17px;color:#D9A800}

/* мини-форма «за 1 минуту» */
.miniform{
  margin-top:-34px;position:relative;z-index:5;
  background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);
  padding:30px 34px;border:1px solid var(--line);
}
.miniform h3{margin-bottom:6px}
.miniform__row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:18px}
.miniform__row .inp{flex:1;min-width:170px}
.miniform .chips{margin-right:6px}

/* ---------- Формы ---------- */
.inp{
  width:100%;padding:14px 16px;border:1px solid var(--line);
  border-radius:var(--r-sm);background:#fff;outline:none;transition:border .15s;
}
.inp:focus{border-color:#25282E}
.inp::placeholder{color:#7B7F88}
textarea.inp{resize:vertical}
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink-2)}
.field.mb0{margin-bottom:0}
.consent{
  display:block;font-size:12.5px;line-height:1.5;color:var(--ink-2);
  margin-top:12px;cursor:pointer;
}
.consent input{
  accent-color:#F3C805;width:20px;height:20px;
  float:left;margin:0 10px 0 0;
}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.geo-list{max-height:230px;overflow:auto;padding:2px}
.chip{
  padding:10px 16px;border-radius:999px;border:1px solid var(--line);
  background:#fff;font-size:14px;font-weight:500;color:var(--ink);transition:background 150ms ease,border-color 150ms ease,color 150ms ease,transform 120ms var(--ease-out);
}
.chip:hover{border-color:#C4C8CE}
.chip:active{transform:scale(.95)}
.chip.is-on{background:#25282E;border-color:#25282E;color:#fff}

/* ---------- Принцип работы ---------- */
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:56px}
.how__card{
  background:var(--card);border-radius:var(--r-lg);padding:30px 28px;
  box-shadow:var(--shadow-sm);position:relative;
}
.how__num{
  font-family:var(--display);font-size:44px;color:#EBECEF;
  position:absolute;top:18px;right:24px;font-weight:800;line-height:1;
}
.how__icon{
  width:64px;height:64px;border-radius:18px;background:#F5F5F3;
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
}
.how__icon svg{width:32px;height:32px;color:#25282E}
.how__card h3{margin-bottom:10px}
.how__card p{color:var(--ink-2);font-size:15px}

.notmirror{
  margin-top:22px;display:grid;grid-template-columns:auto 1fr;gap:20px;
  background:var(--dark);color:#EAECF0;border-radius:var(--r-lg);padding:32px 36px;
  align-items:flex-start;
}
.notmirror__q{
  width:52px;height:52px;border-radius:50%;background:rgba(243,200,5,.16);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:24px;font-weight:800;color:#F3C805;flex-shrink:0;
}
.notmirror h3{color:#fff;margin-bottom:10px}
.notmirror p{color:#B4B8C0;font-size:15px;line-height:1.6}
.notmirror .btn{margin-top:18px}


/* ---------- Принцип работы: сцена-разрез ---------- */
.principle{
  margin-top:56px;background:var(--card);border-radius:28px;box-shadow:var(--shadow-sm);
  padding:40px 48px 36px;
}
.principle__scroll{overflow-x:auto;scrollbar-width:thin}
.principle__scroll svg{min-width:0;width:100%;height:auto;display:block}
.pscene{position:relative;min-width:0}
.plabel{
  position:absolute;transform:translate(-50%,-50%);white-space:nowrap;
  font-weight:800;font-size:15px;color:var(--ink);line-height:1.2;
  background:#fff;border:2px solid #25282E;border-radius:12px;padding:8px 14px;
  display:flex;align-items:center;gap:7px;
}
.plabel svg{width:13px;height:20px;flex-shrink:0}
.plabel--power{left:37.9%;top:93%}
.plabel--warm{left:63.5%;top:51%;background:none;border:none;padding:0}
.plabel--result{left:82.6%;top:54%;display:block;text-align:center;font-weight:600;font-size:13px}
.plabel--result b{display:block;font-size:19px;font-weight:800;margin-top:2px}
@media (max-width:640px){
  .plabel{font-size:13px;padding:6px 10px}
  .plabel--result b{font-size:16px}
}
@media (max-width:1080px){
  .principle{position:relative}
  .principle__scroll svg{min-width:820px}
  .principle__scroll{position:relative}
  .principle__scroll::after{
    content:"";position:absolute;top:0;right:0;bottom:0;width:48px;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(255,255,255,0),#fff 82%);
    opacity:1;transition:opacity .25s;
  }
  .principle.is-scrolled-end .principle__scroll::after{opacity:0}
}
.p-ln{fill:none;stroke:#25282E;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.p-thin{fill:none;stroke:#93979F;stroke-width:1.3;stroke-linecap:round}
.p-cold{fill:none;stroke:#9BA0AA;stroke-width:2.4;stroke-linecap:round}
.p-hot{fill:none;stroke:#F3C805;stroke-width:6;stroke-linecap:round}
.p-hotdash{fill:none;stroke:#25282E;stroke-width:2;stroke-linecap:round;opacity:.55}
.p-warm{fill:none;stroke:#E5A800;stroke-width:2.6;stroke-linecap:round}
.p-snowcap{fill:#fff;stroke:#25282E;stroke-width:2;stroke-linejoin:round}
.p-fan{fill:none;stroke:#25282E;stroke-width:2.4;stroke-linecap:round}
.p-txt{font-family:var(--sans);font-size:20px;font-weight:800;fill:#25282E;letter-spacing:0}
.p-txtw{font-family:var(--sans);font-size:17px;font-weight:800;fill:#fff !important;letter-spacing:-.01em}
.p-txt--big{font-size:25px}
.anim-fan2{transform-box:view-box;transform-origin:402px 272px;animation:fan-spin 10s linear infinite}
.anim-flow path{animation:sc-dash 1.5s linear infinite}
.anim-cold path{animation:sc-dash 2.2s linear infinite}
.anim-warm path{opacity:.5;animation:sc-air 2s ease-in-out infinite}
.anim-warm path:nth-child(2){animation-delay:.3s}
.anim-warm path:nth-child(3){animation-delay:.6s}
.anim-snow g{animation:p-snow 3s ease-in-out infinite}
.anim-snow g:nth-child(2){animation-delay:.8s}
.anim-snow g:nth-child(3){animation-delay:1.6s}
@keyframes p-snow{0%,100%{transform:translateY(0);opacity:.9}50%{transform:translateY(9px);opacity:.45}}
@media (prefers-reduced-motion: reduce){
  .anim-fan2,.anim-flow path,.anim-cold path,.anim-warm path,.anim-snow g{animation:none}
}
.principle__steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:36px;
  border-top:1px solid var(--line);margin-top:28px;padding-top:28px;
}
.principle__steps>div{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:flex-start}
.pn{
  width:40px;height:40px;border-radius:11px;background:#F3C805;color:#25282E;
  font-family:var(--display);font-weight:800;font-size:18px;
  display:flex;align-items:center;justify-content:center;
}
.principle__steps h3{font-size:17.5px;margin-bottom:6px}
.principle__steps p{font-size:14.5px;color:var(--ink-2)}
@media (max-width:1080px){
  .principle{padding:26px 22px 24px}
  .principle__steps{grid-template-columns:1fr;gap:20px}
}

#economy{padding:76px 0}
#economy .lead{margin-top:14px}

/* ---------- Калькулятор: единый блок ---------- */
input[type=range]{
  width:100%;appearance:none;-webkit-appearance:none;height:6px;border-radius:3px;
  background:linear-gradient(90deg,#F3C805 var(--fill,50%),#E3E5E9 var(--fill,50%));
  outline:none;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:22px;height:22px;border-radius:50%;
  background:#25282E;border:5px solid #F3C805;box-shadow:0 2px 8px rgba(32,35,42,.25);cursor:pointer;
}
input[type=range]::-moz-range-thumb{
  width:12px;height:12px;border-radius:50%;background:#25282E;border:5px solid #F3C805;cursor:pointer;
}
.calc2{
  margin-top:32px;background:var(--card);border-radius:28px;box-shadow:var(--shadow);
  padding:28px 36px 24px;
}
.calc2__controls{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:end}
.calc2__lbl{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:600;margin-bottom:12px}
.calc2__lbl b{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em}
.calc2__ctl .chips{gap:8px}

/* результат: светлая плашка с наглядной диаграммой */
.calc2__result{
  display:grid;grid-template-columns:minmax(240px,.62fr) minmax(0,1.38fr);gap:34px;align-items:center;
  background:var(--card-soft);border:1px solid var(--line);
  border-radius:20px;margin:22px 0 18px;padding:24px 30px;
}
.calc2__main > span{display:block;font-size:13.5px;color:var(--ink-2);letter-spacing:.02em}
.calc2__main b{
  display:block;font-family:var(--display);font-weight:800;
  font-size:clamp(40px,4.7vw,60px);line-height:1.04;letter-spacing:-.04em;
  color:var(--ink);margin:4px 0 6px;
}
.calc2__main b::after{                       /* жёлтый акцент-подчёркивание */
  content:"";display:block;width:64px;height:4px;border-radius:2px;
  background:#F3C805;margin-top:10px;
}
.calc2__main i{font-style:normal;font-size:13.5px;color:var(--ink-2);display:block}

.calc2__chart /*grid*/{display:block;min-width:0;width:100%}

.calc2__col{display:grid;grid-template-rows:112px auto;gap:12px}
.calc2__bar{
  border-radius:12px;background:#EFF0F2;
  display:flex;align-items:flex-end;overflow:hidden;
}
.calc2__fill{
  display:block;width:100%;border-radius:12px;height:12%;
  transition:height .6s cubic-bezier(.16,1,.3,1);
}
.calc2__fill--hp{background:#F3C805}
.calc2__fill--el{background:#5A5E66}
.calc2__col b{font-size:12.5px;font-weight:600;color:var(--ink-2);line-height:1.35;align-self:start}
.calc2__col b span{display:block;color:var(--ink);font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.02em;margin-top:2px}
@media (prefers-reduced-motion: reduce){.calc2__fill{transition:none}}

/* подвал: факты и кнопка */
.calc2__foot{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.calc2__facts{display:flex;gap:34px;flex-wrap:wrap;flex:1}
.calc2__facts div{display:flex;flex-direction:column;gap:2px}
.calc2__facts span{font-size:13px;color:var(--ink-2)}
.calc2__facts b{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.02em}
.calc2__note{font-size:12.5px;line-height:1.5;color:#93979F;margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.calc2 input[type=range]{width:100%}

@media (max-width:900px){
  .calc2{padding:26px 22px 22px;border-radius:22px}
  .calc2__controls{grid-template-columns:1fr;gap:22px}
  .calc2__result{grid-template-columns:1fr;gap:20px;padding:20px 22px}
  .calc2__bars{max-width:none}
  .calc2__foot{gap:18px}
  .calc2__foot .btn{width:100%}
}

/* ---------- Преимущества: манифест + реестр ---------- */
.perks-lede{
  margin-top:56px;background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);
  padding:44px 48px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;
}
.perks-lede h3{font-size:clamp(22px,2.4vw,30px);margin-bottom:12px}
.perks-lede p{color:var(--ink-2);font-size:15.5px;max-width:560px}
.perks-lede__x{
  font-family:var(--display);font-weight:800;font-size:clamp(72px,9vw,128px);
  line-height:1;color:#F3C805;letter-spacing:-.04em;
}
.perks-lede__x span{font-size:.42em;vertical-align:.62em;color:#E5BC00}
.perklist{
  margin-top:18px;display:grid;grid-template-columns:1fr 1fr;
  column-gap:56px;background:var(--card-soft);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:14px 44px;
}
.perklist>div{
  display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:flex-start;
  padding:21px 0;border-bottom:1px solid var(--line);
}
.perklist>div:nth-last-child(-n+2){border-bottom:none}
.perklist svg{width:24px;height:24px;color:#25282E;margin-top:2px}
.perklist b{font-size:16px;display:block}
.perklist p{font-size:14px;color:var(--ink-2);margin-top:4px}
.honest{
  margin-top:18px;background:var(--dark);color:#B4B8C0;border-radius:var(--r-lg);
  padding:34px 44px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:flex-start;
}
.honest svg{width:30px;height:30px;color:#F3C805;flex-shrink:0;margin-top:4px}
.honest h3{color:#fff;font-family:var(--display);margin-bottom:10px}
.honest p{font-size:15px;line-height:1.6;max-width:76ch}

/* ---------- Табы ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:48px 0 30px}
.tab{
  padding:11px 20px;border-radius:999px;border:1px solid var(--line);
  background:#fff;font-size:14.5px;font-weight:600;transition:background 150ms ease,border-color 150ms ease,color 150ms ease,transform 120ms var(--ease-out);
}
.tab:hover{border-color:#C4C8CE}
.tab:active{transform:scale(.96)}
.tab.is-on{background:#25282E;border-color:#25282E;color:#fff}
.pane{display:none}
.pane.is-on{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:stretch;animation:fadein 240ms var(--ease-out)}

@keyframes pop-in{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}
@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pane__body{background:var(--card);border-radius:var(--r-lg);padding:32px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.pane__body h3{margin-bottom:12px}
.pane__body>p{color:var(--ink-2);font-size:15px}
.pane__params{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 24px}
.pane__params div{background:var(--card-soft);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 14px;font-size:13.5px}
.pane__params span{color:var(--ink-2);display:block;font-size:12px}
.pane__params b{font-size:14px}
.pane__body .btn{margin-top:auto;align-self:flex-start}

/* фото-заглушка */
.ph{
  background:linear-gradient(150deg,#EEEFF1,#E2E3E7);
  border-radius:var(--r-lg);display:flex;flex-direction:column;gap:10px;
  align-items:center;justify-content:center;color:#93979F;
  font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  text-align:center;padding:20px;min-height:200px;
}
.ph svg{width:44px;height:44px;opacity:.75}
.ph--tall{min-height:100%}
.vign{
  background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;min-height:100%;overflow:hidden;
}
.vign svg{width:100%;height:auto;flex:1;display:block}
.vign figcaption{
  font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:#93979F;
  padding:12px 20px 16px;border-top:1px solid var(--line);
}
.vign .ln{fill:none;stroke:#25282E;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vign .ln--thin{fill:none;stroke-width:1.1;stroke:#878B93}
.vign .yl{fill:#F3C805}
.vign .yl-soft{fill:#FAF1C4}
.vign .gr{fill:#EEEFF1}
.vign .spin{animation:fan-spin 7s linear infinite;transform-origin:20px 18px;transform-box:view-box}
.vign g[transform] .spin{transform-box:fill-box;transform-origin:50% 50%}
@keyframes fan-spin{to{rotate:360deg}}
@media (prefers-reduced-motion: reduce){.vign .spin{animation:none}}

/* ---------- Квиз ---------- */
.quiz{
  background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);
  padding:44px 48px;margin-top:56px;border:1px solid var(--line);
}
.quiz__top{display:flex;justify-content:space-between;font-size:13.5px;color:var(--ink-2);margin-bottom:10px}
.quiz__bar{height:6px;background:var(--bg-2);border-radius:3px;overflow:hidden;margin-bottom:30px}
.quiz__bar i{display:block;height:100%;width:100%;background:#F3C805;border-radius:3px;transform-origin:left;transform:scaleX(.2);transition:transform 350ms var(--ease-out)}
.quiz__step{display:none}
.quiz__step.is-on{display:block;animation:fadein 240ms var(--ease-out)}
.quiz__step h3{margin-bottom:22px;font-size:24px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nb{white-space:nowrap}
.opt{
  text-align:left;background:var(--card-soft);border:1.5px solid var(--line);
  border-radius:var(--r-md);padding:18px 20px 18px 62px;position:relative;transition:border-color 150ms ease,background 150ms ease,transform 120ms var(--ease-out);
}
.opt__i{
  position:absolute;left:18px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;color:#8B9099;transition:color 160ms ease,transform 200ms var(--ease-out);
}
@media (hover:hover){ .opt:hover .opt__i{color:#25282E;transform:translateY(-50%) scale(1.08)} }
.opt.is-on .opt__i{color:#25282E}
.opt:hover{border-color:#C4C8CE}
.opt:active{transform:scale(.98)}
.opt.is-on{border-color:#F3C805;background:#FBF5D6}
.opt b{display:block;font-size:15.5px}
.opt span{font-size:13px;color:var(--ink-2);margin-top:3px;display:block}
.quiz__foot{display:flex;justify-content:space-between;align-items:center;margin-top:28px}
.quiz__back{background:none;border:none;color:var(--ink-2);font-size:14px;padding:12px 12px 12px 0}
.quiz__hint{font-size:13px;color:var(--ink-2)}
.quiz__final{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.quiz__final .field{margin-bottom:0}
.quiz__final .span2{grid-column:span 2}

/* ---------- Каталог ---------- */
.filters{
  background:var(--card);border-radius:var(--r-md);padding:20px 24px;margin:38px 0 10px;
  box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px;
}
.filters__row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.filters__row>span{font-size:13px;font-weight:700;color:var(--ink-2);min-width:72px}
.found{font-size:14.5px;font-weight:600;color:var(--ink);margin:20px 2px 20px}
.cat-intro{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
.cat-intro>div{
  background:var(--card-soft);border:1px solid var(--line);border-radius:var(--r-md);
  padding:22px 64px 22px 26px;position:relative;cursor:pointer;transition:border-color .15s;
}
.cat-intro>div:hover{border-color:#C4C8CE}
.cat-intro .go{
  position:absolute;top:20px;right:20px;width:38px;height:38px;border-radius:50%;
  background:#25282E;display:flex;align-items:center;justify-content:center;
}
.cat-intro .go svg{width:15px;height:15px;color:#fff}
.cat-intro h3{font-size:18px;margin-bottom:8px}
.cat-intro h3 b{color:#846C00}
.cat-intro p{font-size:14px;color:var(--ink-2)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.prod{
  background:var(--card);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-sm);
  position:relative;display:flex;flex-direction:column;
  transition:transform 200ms var(--ease-out), box-shadow 240ms var(--ease-out);
  animation:prod-in 260ms var(--ease-out) backwards;
}
.prod:nth-child(2){animation-delay:30ms}
.prod:nth-child(3){animation-delay:60ms}
.prod:nth-child(4){animation-delay:90ms}
.prod:nth-child(5){animation-delay:120ms}
.prod:nth-child(6){animation-delay:150ms}
.prod:nth-child(n+7){animation-delay:180ms}
@keyframes prod-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media (hover:hover){
  .prod:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(32,35,42,.12)}
}
.prod.is-flag{border:1.5px solid #F3C805}
.prod__flag{
  position:absolute;top:-11px;left:20px;background:#F3C805;
  color:#25282E;font-size:12px;font-weight:700;letter-spacing:.04em;
  padding:4px 12px;border-radius:999px;
}
.prod__img{
  position:relative;width:100%;height:132px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;padding:14px 18px;
  margin-bottom:14px;
}
.prod__img img{max-width:100%;max-height:100%;object-fit:contain}
.prod__img .badge{position:absolute;top:10px;right:10px;margin:0}
.prod h3{font-size:18px}
.prod__name{margin-bottom:10px}
.badge{
  display:inline-block;font-size:12px;font-weight:700;padding:4px 10px;
  border-radius:999px;margin-top:6px;
}
.badge--hot{background:#FAF1C4;color:#6B5600}
.prod__spec{border-top:1px solid var(--line);margin-bottom:14px}
.prod__spec div{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px solid var(--line)}
.prod__spec span{color:var(--ink-2)}
.prod__price{font-size:21px;font-weight:800;margin-bottom:4px}
.prod__price s{font-size:14px;color:var(--ink-2);font-weight:500;margin-left:8px}
.prod__more{
  background:none;border:none;color:#846C00;font-size:13.5px;font-weight:600;
  min-height:42px;display:flex;align-items:center;
  text-align:left;padding:6px 0;margin-bottom:8px;
}
.prod__more:hover{text-decoration:underline}
.prod__toggles{display:grid;grid-template-columns:auto auto;justify-content:space-between;align-items:center;gap:10px}
.prod__det{display:none;margin-bottom:12px}
.prod__det--txt p{font-size:13.5px;color:var(--ink-2);margin:0 0 8px;line-height:1.55}
.prod__det--txt ul{margin:0;padding-left:18px}
.prod__det--txt li{font-size:13px;color:var(--ink-2);margin-bottom:4px;line-height:1.45}
.prod__det.is-on{display:block;animation:fadein 200ms var(--ease-out)}
.prod__det table{width:100%;border-collapse:collapse;font-size:13px}
.prod__det td{padding:6px 0;border-bottom:1px dashed var(--line)}
.prod__det td:first-child{color:var(--ink-2)}
.prod__det td:last-child{text-align:right;font-weight:600}
.prod__btns{display:flex;gap:10px;margin-top:auto}
.prod__btns .btn{flex:1}
.morewrap{text-align:center;margin-top:30px}
.helpcard{
  margin-top:34px;background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);
  padding:30px 36px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;
}
.helpcard--cut{padding-left:32px}
.helpcard__img{
  width:170px;height:auto;flex-shrink:0;margin:-6px 0;
  filter:drop-shadow(0 10px 18px rgba(32,35,42,.16));
}
.helpcard h3{margin-bottom:6px}
.helpcard p{color:var(--ink-2);font-size:14.5px;max-width:640px}

.deal{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px}
.deal>div{background:var(--card);border-radius:var(--r-lg);padding:28px 32px;box-shadow:var(--shadow-sm)}
.deal h3{margin-bottom:16px}
.deal ul{list-style:none}
.deal li{
  display:flex;gap:10px;align-items:flex-start;font-size:14.5px;padding:7px 0;
}
.deal li svg{width:18px;height:18px;color:#D9A800;flex-shrink:0;margin-top:2px}
.deal li.dim{color:var(--ink-2)}
.deal li.dim svg{color:var(--ink-2)}


/* ---------- «Дорога заказа» ---------- */
.road{margin-top:64px}
.road__stops{
  position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;
  padding-top:76px;
}
.road__track{
  position:absolute;top:44px;left:12.5%;right:12.5%;height:4px;border-radius:2px;
  background:#E1E3E7;
}
.road__fill{
  position:absolute;left:0;top:0;bottom:0;width:0;border-radius:2px;background:#F3C805;
  transition:width 1.1s cubic-bezier(.45,.05,.35,1);
}
.road__truck{
  position:absolute;top:44px;left:12.5%;width:54px;height:34px;margin:-32px 0 0 -27px;z-index:2;
  transition:left 1.1s cubic-bezier(.45,.05,.35,1), top 1.1s cubic-bezier(.45,.05,.35,1), opacity .3s;
  filter:drop-shadow(0 3px 6px rgba(32,35,42,.2));
}
.road__truck svg{width:100%;height:100%}
.rt-body{fill:#fff;stroke:#25282E;stroke-width:1.7;stroke-linejoin:round}
.rt-cab{fill:#F3C805;stroke:#25282E;stroke-width:1.7;stroke-linejoin:round}
.rt-wheel{fill:#25282E;stroke:#fff;stroke-width:1}
.road__stop{
  background:none;border:none;text-align:center;padding:0;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;
}
.road__node{
  width:58px;height:58px;border-radius:50%;position:relative;z-index:1;
  margin-top:-61px;margin-bottom:22px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:800;font-size:23px;
  background:#fff;color:#93979F;border:3px solid #E1E3E7;
  transition:background .35s,color .35s,border-color .35s,transform .35s;
}
.road__stop b{
  font-size:15px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#93979F;transition:color .35s;margin-bottom:14px;
}
.road__stop p{
  font-size:16.5px;line-height:1.6;color:#93979F;transition:color .35s;
  margin:0;max-width:30ch;
}
.road__stop.is-past .road__node,
.road__stop.is-active .road__node{background:#F3C805;color:#25282E;border-color:#F3C805}
.road__stop.is-active .road__node{transform:scale(1.12)}
.road__stop:active .road__node{transform:scale(.94)}
.road__stop.is-past b,.road__stop.is-active b{color:#846C00}
.road__stop.is-past p{color:var(--ink-2)}
.road__stop.is-active p{color:var(--ink)}
.road__burst{
  position:absolute;width:58px;height:58px;border-radius:50%;
  border:3px solid #F3C805;pointer-events:none;
  transform:translate(-50%,-50%) scale(.5);opacity:.95;
  animation:road-burst .7s ease-out forwards;
}
@keyframes road-burst{to{transform:translate(-50%,-50%) scale(2.1);opacity:0}}
@media (prefers-reduced-motion: reduce){
  .road__fill,.road__truck,.road__node{transition:none}
  .road__truck{display:none}
}
@media (max-width:900px){
  .road{margin-top:44px}
  .road__stops{grid-template-columns:1fr;gap:0;padding-top:0;padding-left:80px}
  .road__track{left:26px;right:auto;top:30px;bottom:30px;width:4px;height:auto}
  .road__fill{width:100%;height:0;transition:height 1.1s cubic-bezier(.45,.05,.35,1)}
  .road__truck{left:26px;top:30px;margin:-17px 0 0 -27px;transform:rotate(90deg)}
  .road__stop{padding:24px 0;align-items:flex-start;text-align:left}
  .road__node{position:absolute;left:0;margin:0;width:52px;height:52px;font-size:20px}
  .road__stop b{margin-bottom:10px}
  .road__stop p{max-width:none;font-size:16px}
}

/* ---------- Галерея модели ---------- */
.prod__img{border:1px solid var(--line);cursor:zoom-in;overflow:hidden}
.prod__zoom{
  position:absolute;left:10px;bottom:10px;width:30px;height:30px;border-radius:50%;
  background:rgba(37,40,46,.82);display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease;
}
.prod__zoom svg{width:15px;height:15px;color:#fff}
@media (hover:hover){ .prod__img:hover .prod__zoom{opacity:1;transform:none} }
@media (hover:none){ .prod__zoom{opacity:1;transform:none} }
.prod__img img{transition:transform 300ms var(--ease-out)}
@media (hover:hover){ .prod__img:hover img{transform:scale(1.04)} }

.lb{
  position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;
  background:rgba(24,26,31,.82);backdrop-filter:blur(8px);padding:16px;
}
.lb.is-on{display:flex}
.lb__box{
  background:var(--card);border-radius:var(--r-lg);width:min(1180px,100%);
  padding:22px 24px 22px;position:relative;animation:pop-in 220ms var(--ease-out);
}
.lb__x{
  position:absolute;top:14px;right:14px;width:38px;height:38px;border:none;border-radius:50%;
  background:var(--bg-2);color:var(--ink-2);display:flex;align-items:center;justify-content:center;
}
.lb__x svg{width:15px;height:15px}
.lb__title{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.02em;padding-right:44px}
.lb__stage{position:relative;display:flex;align-items:center;justify-content:center;margin-top:14px;height:min(80vh,860px);background:#fff;border-radius:var(--r-md)}
.lb__img{max-height:100%;width:auto;max-width:100%;object-fit:contain;padding:10px}
.lb__nav{
  position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:none;
  border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);
  display:flex;align-items:center;justify-content:center;color:var(--ink);
}
.lb__nav svg{width:17px;height:17px}
.lb__nav--prev{left:12px}
.lb__nav--next{right:12px;transform:translateY(-50%) rotate(180deg)}

.lb__thumbs{display:none}

.lb__thumb{
  width:96px;height:76px;border:1.5px solid var(--line);border-radius:12px;background:#fff;
  padding:6px;display:flex;align-items:center;justify-content:center;transition:border-color .15s;
}
.lb__thumb img{max-width:100%;max-height:100%;object-fit:contain}
.lb__thumb.is-on{border-color:#F3C805}


/* ---------- Отзывы: сводка ---------- */
.rev-sum{
  display:grid;grid-template-columns:auto repeat(2,1fr) auto;gap:28px;align-items:center;
  background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);
  padding:26px 32px;margin-top:56px;
}
.rev-sum__score{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rev-sum__score b{font-family:var(--display);font-weight:800;font-size:38px;letter-spacing:-.03em}
.rev-sum__score span:last-child,.rev-sum__row span{font-size:13.5px;color:var(--ink-2)}
.rev-sum__row b{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.02em;display:block}
.rev-sum__link{font-weight:700;font-size:14.5px;white-space:nowrap}
.reviews{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;
  overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  padding-bottom:6px;margin-top:34px;
}
.reviews::-webkit-scrollbar{display:none}
.review{scroll-snap-align:start}
.rev-nav{display:flex;gap:10px;justify-content:flex-end;margin:26px 0 -6px}
.rev-btn{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;
  color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:border-color 150ms ease,transform 120ms var(--ease-out);
}
.rev-btn:hover{border-color:#C4C8CE}
.rev-btn:active{transform:scale(.94)}
.rev-btn svg{width:18px;height:18px}
.rev-btn[data-rev="1"] svg,.rev-btn[data-grow="1"] svg{transform:rotate(180deg)}
@media (max-width:900px){.reviews{grid-auto-columns:86%}}
.review p{min-height:0}

/* ---------- Контакты: соцсети ---------- */
.contacts__social{display:flex;gap:10px;flex-wrap:wrap;padding:14px 0 4px}
.soc{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  background:var(--bg-2);color:var(--ink);border-radius:12px;
  padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s,color .15s;
}
.soc svg{width:17px;height:17px}
.soc:hover{background:#E4E6EA}



/* ---------- 152-ФЗ: согласие и cookie ---------- */
.consent a{color:#846C00;overflow-wrap:anywhere}
.consent{min-width:0}
.consent span,.consent{overflow-wrap:anywhere}
.consent.is-warn input{outline:2px solid #B3261E;outline-offset:2px}
/* согласие: пока не отмечено — мягкая жёлтая подсветка и связь с кнопкой */
.consent{
  padding:9px 12px;border-radius:12px;border:1px solid transparent;
  transition:background 200ms ease,border-color 200ms ease;
}
.consent.is-need{background:rgba(243,200,5,.12);border-color:rgba(243,200,5,.42)}
.consent.is-need::after{
  content:"— и кнопка станет активной";color:#846C00;font-weight:600;margin-left:6px;white-space:nowrap;
}
.consent.is-warn{color:#B3261E;background:rgba(179,38,30,.08);border-color:rgba(179,38,30,.45)}
.consent.is-warn::after{content:"— отметьте, чтобы отправить";color:#B3261E}
.consent input{cursor:pointer}
.consent.shake{animation:consent-shake 420ms var(--ease-out)}
@keyframes consent-shake{
  0%,100%{transform:translateX(0)}
  22%{transform:translateX(-5px)}
  46%{transform:translateX(4px)}
  70%{transform:translateX(-2px)}
}
@media (prefers-reduced-motion: reduce){ .consent.shake{animation:none} }
@media (max-width:640px){ .consent.is-need::after,.consent.is-warn::after{display:block;margin-left:0} }

.btn.is-locked{opacity:.5;cursor:not-allowed;pointer-events:auto}
.btn.is-locked:hover{transform:none;box-shadow:none;background:#F3C805}
.final__form .btn.is-locked:hover{background:#25282E}
.cookie{
  position:fixed;left:auto;right:20px;bottom:20px;z-index:110;
  max-width:470px;margin:0;display:flex;gap:14px;align-items:center;flex-wrap:wrap;
  background:var(--card);border-radius:var(--r-md);box-shadow:var(--shadow);
  padding:18px 22px;opacity:0;transform:translateY(12px);transition:opacity .3s ease,transform .3s ease;
}
.cookie.is-in{opacity:1;transform:none}
.cookie p{font-size:13.5px;line-height:1.55;color:var(--ink-2);flex:1;min-width:240px;margin:0;font-size:12.5px;line-height:1.5}
.cookie .btn{flex-shrink:0}

/* ---------- Шапка вплотную к верху ---------- */
.header--top{padding:0 0 6px}
.header--top .header__in{border-radius:0 0 18px 18px}


/* сцены: микро-движение активного шага */
@keyframes sc-dash{to{stroke-dashoffset:-26}}
@keyframes sc-air{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(6px);opacity:1}}

/* ---------- Виджеты отзывов ---------- */
.rev-widgets{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.rw{
  background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);
  padding:26px 30px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.rw__logo{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.02em}
.rw__logo em{font-style:normal}
.rw--ya .rw__logo em{color:#FC3F1D}
.rw--gis .rw__logo em{color:#29B24A}
.rw__meta{display:flex;align-items:center;gap:10px;flex:1;min-width:140px}
.rw__meta b{font-family:var(--display);font-weight:800;font-size:22px}
.rw__meta span{font-size:13px;color:var(--ink-2)}
.rw .btn{margin-left:auto}
@media (max-width:1080px){.rev-widgets{grid-template-columns:1fr}}
@media (max-width:640px){.rw{padding:20px 22px}.rw .btn{margin-left:0;width:100%}}

/* ---------- Аккордеоны ---------- */
.acc{background:var(--card);border-radius:var(--r-md);box-shadow:var(--shadow-sm);margin-bottom:12px;overflow:hidden}
.acc__head{
  width:100%;background:none;border:none;text-align:left;
  padding:21px 56px 21px 26px;font-size:16.5px;font-weight:600;position:relative;color:var(--ink);
  transition:background 160ms ease;
}
.acc__head::after{
  content:"";position:absolute;right:24px;top:50%;width:10px;height:10px;
  border-right:2px solid #25282E;border-bottom:2px solid #25282E;
  transform:translateY(-70%) rotate(45deg);transition:transform .2s;
}
@media (hover:hover){ .acc__head:hover{background:#F3C805} }
.acc.is-open .acc__head::after{transform:translateY(-30%) rotate(225deg)}
.acc__body{display:none;padding:0 26px 24px;color:var(--ink-2);font-size:15px}
.acc.is-open .acc__body{display:block;animation:acc-in 200ms var(--ease-out)}
@keyframes acc-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.pricetable{width:100%;border-collapse:collapse;font-size:14.5px;margin-bottom:10px}
.pricetable td{padding:10px 0;border-bottom:1px dashed var(--line)}
.pricetable td:last-child{text-align:right;font-weight:700;color:var(--ink);white-space:nowrap}

/* ---------- Работы ---------- */
.gallery{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 54px)/4);gap:18px;
  grid-column:1/-1;margin-top:26px;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;padding-bottom:4px;
}
.gallery::-webkit-scrollbar{display:none}
.gallery .ph{scroll-snap-align:start}
.grow-nav{display:flex;gap:10px;justify-content:flex-end;margin:20px 0 -8px;grid-column:1/-1}
@media (max-width:900px){.gallery{grid-auto-columns:calc((100% - 12px)/2)}}
@media (max-width:560px){.gallery{grid-auto-columns:86%}}
.gallery .ph{aspect-ratio:4/3;min-height:0;font-size:11px;border-radius:var(--r-md)}
.ph--img{padding:0;position:relative;overflow:hidden;border:none;cursor:zoom-in;min-height:0}
@media (hover:hover){ .ph--img:hover img{transform:scale(1.04)} }
.ph--img img{transition:transform 300ms var(--ease-out);object-fit:cover;object-position:center}
.ph--img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case{
  position:relative;
  margin-top:22px;background:var(--dark);color:#B4B8C0;border-radius:var(--r-lg);
  padding:34px 38px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;
}
.case h3{color:#fff;font-size:22px;margin-bottom:18px}
.case__nums{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.case__nums div{background:var(--dark-2);border-radius:var(--r-sm);padding:13px 16px;font-size:13px}
.case__nums span{color:#9BA0AA;display:block;font-size:12px}
.case__nums b{color:#F3C805;font-size:16px}
.case p{font-size:14.5px;margin-top:16px}
.case a{color:#F3C805}
.case__img{border-radius:var(--r-md);overflow:hidden}
.case__img img{width:100%;height:280px;object-fit:cover}

/* ---------- Доставка ---------- */
.dlv{
  margin-top:56px;border-radius:28px;overflow:hidden;position:relative;
  background:#22252B url(delivery-bg.jpg) center 35%/cover no-repeat;
  padding:48px 64px;
}
.dlv::before{content:"";position:absolute;inset:0;background:rgba(30,33,42,.55)}
.dlv>div{
  position:relative;display:grid;grid-template-columns:auto 1fr 1.1fr;gap:26px;
  align-items:start;padding:24px 0;
}
.dlv>div + div{border-top:1px solid rgba(255,255,255,.18)}
.dlv>div.reveal:nth-child(3){transition-delay:60ms}
.dlv>div.reveal:nth-child(4){transition-delay:120ms}
.dlv>div.reveal:nth-child(5){transition-delay:180ms}
.dlv>div.reveal:nth-child(6){transition-delay:240ms}
.dlv .dots{position:relative;top:8px;display:grid;grid-template-columns:repeat(2,5px);gap:4px;width:14px}
.dlv .dots i{width:5px;height:5px;border-radius:50%;background:#F3C805}
.dlv b{font-family:var(--display);font-weight:800;font-size:clamp(19px,2vw,25px);letter-spacing:-.02em;color:#fff}
.dlv p{font-size:14.5px;line-height:1.6;color:#C8CCD4;margin-top:5px}

/* светлая версия плиты доставки (фото фуры добавим, когда пришлют) */
.dlv--light{background:var(--card);box-shadow:var(--shadow-sm)}
.dlv--light::before{display:none}
.dlv--light b{color:var(--ink)}
.dlv--light p{color:var(--ink-2)}
.dlv--light>div + div{border-top:1px solid var(--line)}
/* сравнение носителей в калькуляторе — вертикальные столбики */
.cmp__head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.cmp__head > span{font-size:13px;color:var(--ink-2)}
.chips--sm .chip{padding:6px 12px;font-size:12.5px}
@media (max-width:900px){
  .chip{padding:11px 16px}
  .chips--sm .chip{padding:8px 14px}
  .tab{padding:11px 16px}
  .consent a{display:inline-block;padding:3px 0}
  .footer__nav a,.contacts__req a,.rev-links a{display:inline-block;padding:3px 0}
}
.calc2__bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-items:end;width:100%;max-width:none}
.cbar{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.cbar__val{font-size:12.5px;font-weight:700;white-space:nowrap;letter-spacing:-.02em}
.cbar__col{display:block;width:100%;max-width:56px;height:170px;background:#EDEEF0;border-radius:8px;position:relative;overflow:hidden}
.cbar__col s{position:absolute;left:0;right:0;bottom:0;display:block;background:#C6CAD1;border-radius:8px;text-decoration:none;transition:height .55s var(--ease-out)}
.cbar__name{font-size:11.5px;line-height:1.25;color:var(--ink-2);text-align:center;min-height:2.6em}
.cbar--hp .cbar__val{color:var(--ink)}
.cbar--hp .cbar__col s{background:#F3C805}
.cbar--hp .cbar__name{color:var(--ink);font-weight:700}
@media (max-width:900px){
  .calc2__bars{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px}
  .cbar__col{height:120px}
  .cbar__name{font-size:11px;min-height:3.4em}
}
@media (max-width:640px){
  .cmp__head{margin-bottom:14px}
  .calc2__bars{gap:16px 8px}
  .cbar__col{height:96px;max-width:none}
  .cbar__val{font-size:12px}
}
@media (max-width:520px){.cbar__val{font-size:11.5px}.cbar__name{font-size:10.5px;min-height:3.6em}}

/* «Где ставят»: сетка плиток */
.where-list{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.where-list .pane{
  display:flex;flex-direction:column;background:var(--card);
  border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden;
}
.vign--photo{padding:0;overflow:hidden;border-radius:0;aspect-ratio:16/10;background:#EDEEF0;min-height:0;flex:none;box-shadow:none}
.vign--photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 320ms var(--ease-out)}
@media (hover:hover){ .where-list .pane:hover .vign--photo img{transform:scale(1.045)} }
.where-list .pane__body{padding:16px 20px 18px;display:flex;align-items:center;justify-content:center;min-height:64px;text-align:center}
.where-list .pane__body h3{font-size:16px;line-height:1.32;margin:0}
.where-list .pane__body p{font-size:13.5px;color:var(--ink-2);line-height:1.55;flex:1;margin:0}
.where-list .pane__body .btn{align-self:flex-start;padding:10px 16px;font-size:13.5px}
@media (max-width:1080px){.where-list{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.where-list{grid-template-columns:1fr}}
.dlv-map{margin-top:26px;position:relative}
.rumap{padding:0}
.rumap svg{width:100%;height:auto;display:block}
.map-card{
  position:absolute;top:44px;right:0;width:400px;
  background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);
  padding:32px 34px;display:flex;flex-direction:column;
}
.map-card h3{margin-bottom:10px}
.map-card p{color:var(--ink-2);font-size:15px}
.map-card .btn{margin-top:22px;align-self:flex-start}
.rumap .land{fill:#EEEFF1;stroke:#D8DADF;stroke-width:1.2}
.rumap .dot{fill:#F3C805;stroke:#fff;stroke-width:2.5;transition:r .2s ease}
.rumap .dot.is-active{fill:#F3C805;r:7.5;stroke-width:3}
.rumap .dot--pulse{animation:map-pulse 2.6s ease-out infinite}
@keyframes map-pulse{0%{r:5}50%{r:7}100%{r:5}}
@media (prefers-reduced-motion: reduce){.rumap .dot--pulse{animation:none}}
.rumap text{font-family:var(--sans);font-size:11.5px;font-weight:600;fill:#5A5E66;paint-order:stroke;stroke:#F5F5F3;stroke-width:3px;stroke-linejoin:round}
.rumap .dot.is-active + text{fill:#25282E;font-weight:800}
.rumap .route{stroke:#D9A800;stroke-width:2.4;stroke-linecap:round;fill:none}
.dlv-map__txt{background:var(--card);border-radius:var(--r-lg);padding:30px 34px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.dlv-map__txt h3{margin-bottom:10px}
.dlv-map__txt p{color:var(--ink-2);font-size:15px}
.dlv-map__txt .btn{margin-top:auto;align-self:flex-start}

/* ---------- Отзывы ---------- */
.review{background:var(--card);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.review__head{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.review__ava{
  width:48px;height:48px;border-radius:50%;background:#FAF1C4;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:700;font-size:19px;color:#25282E;flex-shrink:0;
}
.review__head b{display:block;font-size:15px}
.review__head span{font-size:12.5px;color:var(--ink-2)}
.reviews .review:nth-child(2){transition-delay:70ms}
.reviews .review:nth-child(3){transition-delay:140ms}
.review__stars{display:flex;gap:3px;margin-bottom:12px}
.review__stars svg{width:15px;height:15px;color:#EFC400}
.review p{font-size:14.5px;color:var(--ink-2);flex:1}
.review a{font-size:13.5px;font-weight:600;margin-top:14px;display:inline-block}
.rev-links{text-align:center;margin-top:26px;color:var(--ink-2);font-size:14px}

/* ---------- Финальный CTA ---------- */
.final{
  background:#F3C805;color:#25282E;position:relative;overflow:hidden;
}
.final::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cg fill='none' stroke='%2325282E' stroke-width='1.4'%3E%3Cpath d='M60,340 C40,260 120,240 150,180 S300,140 330,80'/%3E%3Cpath d='M20,380 C0,280 110,270 145,215 S320,170 360,90'/%3E%3Cpath d='M110,310 C100,255 150,215 172,165 S280,120 305,75'/%3E%3C/g%3E%3C/svg%3E");
}
.final .wrap{position:relative}
.final .rule{background:#25282E}
.final h2{color:#25282E}
.final .lead{color:rgba(37,40,46,.78)}
.final__list svg{color:#25282E}
.final__form .btn{background:#25282E;color:#fff}
.final__form .btn:hover{background:#363B46;box-shadow:0 10px 24px rgba(32,35,42,.3)}
.final__grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:stretch}
.final__grid>div:first-child{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.final__img{margin-top:auto;padding-top:30px}
.final__list{list-style:none;margin-top:28px;max-width:100%}
.final__list li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;font-size:15.5px}
.final__img{
  width:min(320px,60%);height:auto;
  filter:drop-shadow(0 18px 30px rgba(32,35,42,.28));
}
.final__list svg{width:20px;height:20px;flex-shrink:0;margin-top:2px}
.final__form{background:#fff;border-radius:var(--r-lg);padding:32px;color:var(--ink);box-shadow:var(--shadow)}
.final__form h3{margin-bottom:16px}

/* ---------- Контакты ---------- */
.contacts{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:56px;align-items:stretch}
.contacts__info{background:var(--card);border-radius:var(--r-lg);padding:34px;box-shadow:var(--shadow-sm)}
.contacts__row{display:flex;gap:14px;align-items:flex-start;padding:11px 0}
.contacts__row svg{width:20px;height:20px;color:#25282E;flex-shrink:0;margin-top:2px}
.contacts__row b{display:block;font-size:15.5px}
.contacts__row span{font-size:13.5px;color:var(--ink-2)}
.contacts__req{border-top:1px solid var(--line);margin-top:18px;padding-top:18px;font-size:12.5px;color:var(--ink-2)}
.contacts__map{display:flex;flex-direction:column;gap:16px}
.contacts__map .ph{flex:1}

/* ---------- Футер ---------- */
.footer{background:var(--bg-2);color:var(--ink-2);padding:54px 0 30px;font-size:13.5px;line-height:1.65;border-top:1px solid var(--line)}
.footer__cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:34px;margin:34px 0 38px}
.footer__lbl{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#93979F;margin-bottom:12px}
.footer__big{font-family:var(--display);font-weight:800;font-size:clamp(20px,2vw,26px);letter-spacing:-.02em;color:var(--ink);text-decoration:none;display:inline-block}
.footer__cols nav{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.footer__grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-start}
.footer .logo{color:var(--ink)}
.footer .logo__s{color:#93979F}
.footer__nav{display:flex;gap:22px;flex-wrap:wrap}
.footer__nav a{color:var(--ink);text-decoration:none;font-weight:500}
.footer__nav a:hover{color:#846C00}
.footer__bottom{border-top:1px solid var(--line);padding-top:22px;line-height:1.7;color:#93979F}
.footer a{color:var(--ink-2)}

/* ---------- Модалка ---------- */
.modal{
  position:fixed;inset:0;background:rgba(32,37,47,.55);backdrop-filter:blur(4px);
  display:none;align-items:center;justify-content:center;z-index:100;padding:20px;
}
.modal.is-on{display:flex}
.modal__box{
  background:var(--bg);border-radius:var(--r-lg);max-width:440px;width:100%;
  padding:34px;position:relative;max-height:92vh;overflow:auto;
  animation:fadein .25s ease;
}
.modal__box h3{margin-bottom:8px}
.modal__x{
  position:absolute;top:14px;right:14px;width:36px;height:36px;border:none;
  background:var(--bg-2);border-radius:50%;color:var(--ink-2);
  display:flex;align-items:center;justify-content:center;
}
.modal__x svg{width:15px;height:15px}

/* ---------- Появление ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .perklist.reveal>div{opacity:1;transform:none;transition:none}
  .prod{animation:none}
}

/* каскад строк преимуществ */
.perklist.reveal>div{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.perklist.reveal.is-in>div{opacity:1;transform:none}
.perklist.reveal.is-in>div:nth-child(2){transition-delay:40ms}
.perklist.reveal.is-in>div:nth-child(3){transition-delay:80ms}
.perklist.reveal.is-in>div:nth-child(4){transition-delay:120ms}
.perklist.reveal.is-in>div:nth-child(5){transition-delay:160ms}
.perklist.reveal.is-in>div:nth-child(6){transition-delay:200ms}
.perklist.reveal.is-in>div:nth-child(7){transition-delay:240ms}
.perklist.reveal.is-in>div:nth-child(8){transition-delay:280ms}

/* ---------- Адаптив ---------- */
@media (max-width:1400px){
  .logo__s{display:none}
  .header__in{gap:13px}
  .header__phone{font-size:15px}
  .geo-pill{padding:9px 11px}
}
@media (max-width:1280px){
  .header .geo-pill{display:none}
  .nav a{padding:8px 7px;font-size:13.5px}
}
@media (max-width:1080px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);
    flex-direction:column;padding:14px 22px;border-bottom:1px solid var(--line);gap:2px}
  .nav.is-open{display:flex;box-shadow:0 12px 24px rgba(32,35,42,.1);border-radius:0 0 18px 18px}
  .nav.is-open a{color:var(--ink)}
  .header:has(.nav.is-open) .burger span,
  .header:has(.nav.is-open) .burger span::before,
  .header:has(.nav.is-open) .burger span::after{background:#25282E}
  .header:has(.nav.is-open) .header__in{background:#fff}
  .nav__phone{display:block;font-size:18px;font-weight:800;padding:12px 11px;color:var(--ink)}
  .burger{display:block;margin-left:auto}
  .header__phone{margin-left:auto}
  .header .geo-pill{display:none}
  .hero__grid{grid-template-columns:1fr;gap:30px}
  .hero__photo{order:-1}
  .rev-sum{grid-template-columns:1fr 1fr;gap:20px 26px}
  .rev-sum__link{grid-column:span 2}
  .hero__photo > img{height:440px;border-radius:24px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .how{grid-template-columns:minmax(0,1fr)}
  .calc{grid-template-columns:minmax(0,1fr)}
  .perklist{grid-template-columns:1fr;padding:6px 30px;column-gap:0}
  .perklist>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .perklist>div:last-child{border-bottom:none}
  .perks-lede{grid-template-columns:1fr;gap:18px;padding:34px 32px}
  .pane.is-on{grid-template-columns:1fr}
  .ph--tall{min-height:240px}
  .grid{grid-template-columns:1fr 1fr}

  .case{grid-template-columns:1fr}
  .final__grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .contacts{grid-template-columns:minmax(0,1fr)}
  .map-card{position:static;width:auto;margin-top:18px}
  .rumap text{display:none}
  .rumap .t-key{display:block}
  .dlv{padding:16px 28px}
  .dlv>div{grid-template-columns:auto 1fr;gap:14px}
  .dlv p{grid-column:2}
  .footer__cols{grid-template-columns:1fr;gap:24px}
  .cat-intro{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .rev-sum{grid-template-columns:1fr;padding:22px 24px}
  .rev-sum__link{grid-column:span 1}
  .cookie{left:12px;right:12px;bottom:12px;padding:16px 18px}
  .contacts__social{gap:8px}
  .filters{align-items:center;text-align:center}
  .filters__row{justify-content:center}
  .filters__row>span{min-width:0;width:100%;text-align:center}
  .filters__row .chips{justify-content:center}
  .found{text-align:center}
  .lb__box{padding:20px 16px 16px}
  .lb__nav--prev{left:-2px}
  .lb__nav--next{right:-2px}
  .lb__thumb{width:64px;height:54px}
  section{padding:64px 0}
  .hero{padding:34px 0 56px}
  .hero__photo > img{height:320px;border-radius:20px}
  .typewrap{white-space:normal}
  .stats{grid-template-columns:1fr 1fr;gap:10px}
  .stat b{font-size:16px}
  .header__phone{display:none}
  .quiz{padding:26px 20px}
  .opts{grid-template-columns:1fr}
  .quiz__final{grid-template-columns:1fr}
  .quiz__final .span2{grid-column:span 1}
  .grid{grid-template-columns:1fr}
  .honest{grid-template-columns:auto 1fr;padding:24px}
  .deal{grid-template-columns:minmax(0,1fr)}
  .miniform{padding:24px 20px}
  .notmirror{grid-template-columns:1fr;padding:26px 24px}
  .helpcard{padding:24px}
  .helpcard__img{width:140px;margin:-34px auto -18px}
  .final__img{display:none}
  .case{padding:26px 22px}
  .modal__box{padding:26px 20px}
}

/* ================== Тематические эффекты ================== */

/* термометр-прогресс страницы */

/* изморозь на hero */
.frost{
  position:absolute;inset:0;border-radius:28px;pointer-events:none;
  opacity:0;transition:opacity 1.6s ease;
}
.frost.is-in{opacity:1}

/* линза-тепловизор на фото кейса */
.case__img{position:relative;cursor:crosshair}
.lens{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s ease}
.lens.is-on{opacity:1}
.lens__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:url(#thermalMap);
  -webkit-mask-image:radial-gradient(circle 92px at var(--lx,50%) var(--ly,50%), #000 0 78%, transparent 100%);
  mask-image:radial-gradient(circle 92px at var(--lx,50%) var(--ly,50%), #000 0 78%, transparent 100%);
}
.lens__ring{
  position:absolute;left:var(--lx,50%);top:var(--ly,50%);
  width:184px;height:184px;transform:translate(-50%,-50%);
  border:2px solid rgba(255,255,255,.85);border-radius:50%;
  box-shadow:0 0 0 1px rgba(37,40,46,.35), inset 0 0 24px rgba(0,0,0,.18);
}
.lens__ring::before,.lens__ring::after{
  content:"";position:absolute;background:rgba(255,255,255,.8);
}
.lens__ring::before{left:50%;top:6px;bottom:6px;width:1px;transform:translateX(-.5px)}
.lens__ring::after{top:50%;left:6px;right:6px;height:1px;transform:translateY(-.5px)}
.lens__temp{
  position:absolute;left:var(--lx,50%);top:calc(var(--ly,50%) - 112px);
  transform:translate(-50%,-100%);
  background:#22252B;color:#F3C805;font-size:13px;font-weight:800;
  font-variant-numeric:tabular-nums;letter-spacing:.02em;
  padding:5px 10px;border-radius:8px;white-space:nowrap;
}
@media (max-width:640px){.lens__ring{width:140px;height:140px}}

/* грузовик и вспышка прибытия на карте */
.map-truck .mt-body{fill:#fff;stroke:#25282E;stroke-width:1.6;stroke-linejoin:round}
.map-truck .mt-wheel{fill:#25282E;stroke:#fff;stroke-width:1}
.map-burst{
  fill:none;stroke:#F3C805;stroke-width:2.5;
  transform-box:fill-box;transform-origin:center;
  animation:map-burst .7s ease-out forwards;
}
@keyframes map-burst{
  from{transform:scale(.4);opacity:.95}
  to{transform:scale(2.6);opacity:0}
}

/* одометр главной цифры калькулятора */
#resMonth{display:flex;align-items:flex-start}
#resMonth .od-d{
  display:inline-block;height:1.05em;overflow:hidden;
}
#resMonth .od-s{
  display:block;transition:transform .6s cubic-bezier(.16,1,.3,1);
  will-change:transform;
}
#resMonth .od-s span{display:block;height:1.05em;line-height:1.05em}
#resMonth .od-c{display:inline-block;line-height:1.05em;white-space:pre}
@media (prefers-reduced-motion: reduce){#resMonth .od-s{transition:none}}

/* иней на «−30 °С» после печати */
.typewrap{position:relative}
.typewrap.is-frosted .ch:nth-last-child(-n+6){
  background:linear-gradient(180deg,#4A80B8 15%,#7FB3E4 90%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  transition:color .6s ease;
}
.typewrap.is-frosted::before,.typewrap.is-frosted::after{
  content:"";position:absolute;width:8px;height:8px;background:#C9D4E2;
  transform:rotate(45deg) scale(0);border-radius:1px;
  animation:frost-spark 1.3s ease-out .15s forwards;
}
.typewrap.is-frosted::before{right:-2px;top:-6px}
.typewrap.is-frosted::after{right:2.2em;bottom:-4px;animation-delay:.45s;width:6px;height:6px}
@keyframes frost-spark{
  0%{transform:rotate(45deg) scale(0);opacity:0}
  35%{transform:rotate(45deg) scale(1.15);opacity:1}
  100%{transform:rotate(245deg) scale(.55);opacity:0}
}

/* живые изолинии на жёлтой плите */
.final-flow{position:absolute;inset:0;pointer-events:none}
.final.has-flow::before{display:none}
.final .wrap{position:relative;z-index:1}

/* бонус за дочитывание до конца */

/* ---------- Витрина внутренних блоков на первом экране ---------- */
.ushow{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:22px 26px 20px;display:grid;gap:10px;justify-items:center;
  border-radius:0 0 28px 28px;
  background:linear-gradient(180deg, rgba(16,18,23,0) 0%, rgba(16,18,23,.42) 34%, rgba(16,18,23,.88) 100%);
}
.ushow__stage{position:relative;height:112px;width:100%;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.ushow__stage:active{cursor:grabbing}
.ushow__img{
  position:absolute;inset:0;margin:auto;max-width:100%;max-height:100%;border-radius:0;
  -webkit-user-drag:none;user-select:none;pointer-events:none;
  width:auto;height:auto;object-fit:contain;
  opacity:0;transform:translateY(14px) scale(.97);
  transition:opacity 560ms var(--ease-out), transform 680ms var(--ease-out);
  filter:drop-shadow(0 16px 26px rgba(0,0,0,.5));
}
.ushow__img.is-on{opacity:1;transform:none}
.ushow__meta{display:flex;align-items:baseline;gap:10px;min-height:20px}
.ushow__name{
  font-family:var(--display);font-weight:800;font-size:15.5px;letter-spacing:-.02em;color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.55);transition:opacity 220ms var(--ease-out);
}
.ushow__temp{
  font-size:12px;font-weight:700;color:#F3C805;white-space:nowrap;
  text-shadow:0 2px 10px rgba(0,0,0,.55);transition:opacity 220ms var(--ease-out);
}
.ushow.is-swap .ushow__name,.ushow.is-swap .ushow__temp{opacity:0}
.ushow__dots{display:flex;gap:6px;justify-content:center}
.ushow__dots i{width:16px;height:2px;border-radius:2px;background:rgba(255,255,255,.38);transition:background 260ms ease}
.ushow__dots i.is-on{background:#F3C805}
@media (max-width:1080px){ .ushow{padding:18px 20px 16px} .ushow__stage{height:86px} }
@media (max-width:640px){ .ushow__stage{height:70px} .ushow__name{font-size:13.5px} }
@media (prefers-reduced-motion: reduce){
  .ushow__img{transition:opacity 200ms linear;transform:none}
  .ushow__img.is-on{transform:none}
}

/* на сенсорных экранах листаем свайпом — стрелки не нужны */
@media (hover:none), (max-width:760px){
  .lb__nav,.rev-nav,.grow-nav{display:none}
  .gallery,.reviews{scroll-padding-left:0}
  .lb__stage{touch-action:pan-y}
}

/* фирменный логотип MAX в кнопках мессенджеров */
.soc__logo{width:20px;height:20px;display:block;flex-shrink:0}
.row__logo{width:22px;height:22px;display:block;flex-shrink:0}
.soc__logo{width:20px;height:20px;border-radius:50%}
.soc--tg{border-color:rgba(34,158,217,.35)}
.soc--wa{border-color:rgba(37,211,102,.35)}
.soc--max{border-color:rgba(90,60,240,.35)}
@media (hover:hover){
  .soc--tg:hover{border-color:rgba(34,158,217,.65);background:rgba(34,158,217,.06)}
  .soc--wa:hover{border-color:rgba(37,211,102,.65);background:rgba(37,211,102,.07)}
  .soc--max:hover{border-color:rgba(90,60,240,.6);background:rgba(90,60,240,.06)}
}

/* Яндекс.Карта в контактах */
.ymap{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  aspect-ratio:4/3;min-height:280px;background:#EDEEF0;box-shadow:var(--shadow-sm);
}
.ymap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
@media (max-width:640px){ .ymap{aspect-ratio:1/1;min-height:240px} }
