/* ============================================================
   СЕРВИС ПИЩЕВОГО ИНЖИНИРИНГА — portal
   Самостоятельная палитра: тёмный графит + инженерный голубой
   ============================================================ */

:root{
  --bg:        #090E12;
  --bg-2:      #0D151A;
  --surface:   #121D23;
  --surface-2: #18262E;
  --line:      rgba(161,196,211,.12);
  --line-2:    rgba(161,196,211,.24);

  --tx:        #F1F6F8;
  --tx-2:      #A7B6BE;
  --tx-3:      #6F818B;

  --acc:       #35BCE8;
  --acc-2:     #83D9F2;
  --acc-dim:   rgba(53,188,232,.11);
  --cold:      #1C88B5;

  --r:    4px;
  --r-lg: 8px;
  --wrap: 1280px;
  --ease: cubic-bezier(.22,1,.36,1);

  /* ---------- Типографическая шкала ----------
     11 / 12 / 13 / 14 / 15 / 16 / 18 px и четыре текучих размера.
     Промежуточных значений в файле быть не должно. */
  --fs-4xs:  .625rem;    /* 10px — декоративные глифы */
  --fs-3xs:  .6875rem;   /* 11px — микроподписи */
  --fs-2xs:  .75rem;     /* 12px — mono-метки */
  --fs-xs:   .8125rem;   /* 13px — подписи */
  --fs-sm:   .875rem;    /* 14px — вторичный текст */
  --fs-md:   .9375rem;   /* 15px — интерфейс */
  --fs-base: 1rem;       /* 16px — основной текст */
  --fs-lg:   1.125rem;   /* 18px — заголовок карточки */
  --fs-input: 16px;      /* НЕ уменьшать: iOS зумит поля меньше 16px */

  --fs-lead: clamp(1rem, 1.35vw, 1.125rem);
  --fs-stat: clamp(1.75rem, 2.6vw, 2.25rem);
  --fs-h2:   clamp(1.875rem, 3.6vw, 3rem);
  /* потолок подобран по ширине левой колонки (707px): при большем кегле
     строки заголовка ломаются пополам и построчная маска перестаёт читаться */
  --fs-h1:   clamp(2.25rem, 3.6vw, 2.875rem);
  --fs-h1-m: clamp(2.125rem, 8.6vw, 2.875rem);

  /* ---------- Длительности ---------- */
  --t-fast: .25s;
  --t-base: .4s;
  --t-slow: .75s;

  /* ---------- Шрифты ----------
     Wix Madefor — суперсемейство с кириллицей: Display слегка узкий,
     держит длинные русские заголовки, Text спокойный в наборе. */
  --font-display: 'Wix Madefor Display', 'Segoe UI', Roboto, sans-serif;
  --font: 'Wix Madefor Text', 'Segoe UI', Roboto, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
}

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

html{
  scroll-behavior:smooth; scroll-padding-top:88px;
  -webkit-text-size-adjust:100%; text-size-adjust:100%;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--tx);
  font-family:var(--font);
  font-size:var(--fs-input);
  line-height:1.6;
  -webkit-tap-highlight-color:rgba(53,188,232,.18);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  /* `clip` does not create a scrolling ancestor, so sticky headers keep
     working in modern iOS WebViews. `hidden` remains the legacy fallback. */
  overflow-x:hidden;
  overflow-x:clip;
}

h1,h2,h3,h4{
  margin:0; font-family:var(--font-display); font-weight:700;
  line-height:1.1; letter-spacing:-.02em; overflow-wrap:break-word;
  text-wrap:balance;
}
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
img{ max-width:100%; display:block; }
button,input,select,textarea{ font:inherit; color:inherit; }

.sprite{ position:absolute; width:0; height:0; overflow:hidden; }
.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 32px; }
.mono{ font-family:var(--mono); font-size:var(--fs-2xs); letter-spacing:.06em; text-transform:uppercase; }
.grad{
  background:linear-gradient(100deg,var(--cold) 0%,var(--acc) 55%,var(--acc-2) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.ic{ width:20px; height:20px; flex:none; }
.ic--sm{ width:16px; height:16px; }
.ic--xs{ width:13px; height:13px; }

/* ---------- reveal ----------
   Контент виден по умолчанию. Скрываем только когда JS подтвердил,
   что анимация действительно отработает (html.anim) — чтобы страница
   никогда не осталась пустой при сбое IntersectionObserver. */
.reveal{ transition:opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease); }
html.anim .reveal{ opacity:0; transform:translateY(14px); }
html.anim .reveal.in{ opacity:1; transform:none; }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:16px 26px; border-radius:var(--r); border:1px solid transparent;
  font-weight:600; font-size:var(--fs-md); letter-spacing:-.01em; cursor:pointer;
  transition:.35s var(--ease); position:relative; overflow:hidden; white-space:nowrap;
}
.btn--sm{ padding:11px 18px; font-size:var(--fs-sm); border-radius:11px; }
.btn--full{ width:100%; }

.btn--accent{
  background:linear-gradient(135deg,var(--acc-2),var(--acc) 55%,#C96A2E);
  color:#180D04;
  box-shadow:0 8px 30px -10px rgba(224,135,63,.65);
}
.btn--accent:hover{ transform:translateY(-2px); box-shadow:0 16px 40px -12px rgba(224,135,63,.8); }
.btn--accent .ic{ transition:transform .35s var(--ease); }
.btn--accent:hover .ic{ transform:translateX(4px); }

.btn--ghost{
  border-color:var(--line-2); color:var(--tx);
  background:rgba(255,255,255,.02); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.btn--ghost:hover{ border-color:var(--acc); color:var(--acc-2); background:var(--acc-dim); }

/* ============================================================
   TOPBAR / HEADER
   ============================================================ */
.topbar{
  border-bottom:1px solid var(--line);
  background:var(--bg);
  font-size:var(--fs-xs); color:var(--tx-3);
  position:relative; z-index:60;
}
.topbar__in{ display:flex; align-items:center; justify-content:space-between; height:40px; gap:20px; }
.topbar__geo{ display:inline-flex; align-items:center; gap:7px; }
.topbar__right{ display:flex; align-items:center; gap:24px; }
.topbar__link{ display:inline-flex; align-items:center; gap:7px; transition:color .25s; }
.topbar__link:hover{ color:var(--acc-2); }
.topbar__phone{ color:var(--tx-2); font-weight:600; transition:color .25s; }
.topbar__phone:hover{ color:var(--acc-2); }

.hdr{
  position:sticky; top:0; z-index:50;
  border-bottom:1px solid var(--line);
  background:rgba(10,13,16,.72);
  -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%);
  transition:box-shadow .4s var(--ease), background .4s;
}
.hdr.is-stuck{ background:rgba(10,13,16,.92); box-shadow:0 12px 40px -20px rgba(0,0,0,.9); }
.hdr__in{ display:flex; align-items:center; gap:32px; height:72px; }

.hdr__progress{ position:absolute; left:0; right:0; bottom:-1px; height:2px; overflow:hidden; pointer-events:none; }
.hdr__progress i{
  display:block; width:100%; height:100%;
  transform:scaleX(0); transform-origin:left;
  background:linear-gradient(90deg,var(--acc),var(--acc-2));
}

.logo{ display:inline-flex; align-items:center; gap:12px; flex:none; }
.logo__mark{
  width:38px; height:38px; border-radius:11px; flex:none;
  display:grid; place-items:center; color:var(--acc);
  background:linear-gradient(150deg,rgba(224,135,63,.2),rgba(224,135,63,.04));
  border:1px solid rgba(224,135,63,.28);
  transition:.4s var(--ease);
}
.logo:hover .logo__mark{ transform:rotate(-4deg) scale(1.05); border-color:rgba(224,135,63,.6); }
.logo__mark svg{ width:24px; height:24px; }
.logo__txt{ display:flex; flex-direction:column; line-height:1.1; }
.logo__txt b{ font-size:var(--fs-base); font-weight:800; letter-spacing:.06em; }
.logo__txt i{ font-style:normal; font-size:var(--fs-3xs); color:var(--tx-3); letter-spacing:.04em; margin-top:3px; }

.nav{ display:flex; align-items:center; gap:28px; margin-left:auto; }
.nav a{
  font-size:var(--fs-sm); color:var(--tx-2); font-weight:500; position:relative;
  padding:6px 0; transition:color .25s;
}
.nav a::after{
  content:''; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--acc); transition:width .35s var(--ease);
}
.nav a:hover{ color:var(--tx); }
.nav a:hover::after{ width:100%; }
.nav__phone{ display:none; }

.hdr__cta{ display:flex; align-items:center; gap:18px; flex:none; }
.hdr__tel{ font-weight:700; font-size:var(--fs-md); white-space:nowrap; transition:color .25s; }
.hdr__tel:hover{ color:var(--acc-2); }

.burger{
  display:none; width:44px; height:44px; border:1px solid var(--line-2); border-radius:11px;
  background:transparent; cursor:pointer; padding:0; place-items:center; margin-left:auto;
  flex:0 0 44px;
}
.burger span{ display:block; width:18px; height:1.6px; background:var(--tx); border-radius:2px; transition:.3s var(--ease); }
.burger span+span{ margin-top:4px; }
.burger.is-open span:nth-child(1){ transform:translateY(5.6px) rotate(45deg); }
.burger.is-open span:nth-child(2){ opacity:0; }
.burger.is-open span:nth-child(3){ transform:translateY(-5.6px) rotate(-45deg); }

/* ============================================================
   HERO
   ============================================================ */
.hero{ position:relative; padding:96px 0 0; overflow:hidden; }

.hero__bg{ position:absolute; inset:0; pointer-events:none; }

.hero__photo{
  position:absolute; inset:-8% 0; will-change:transform;
  background:url("/assets/img/hero.145d5f8248e4.webp") center right/cover no-repeat;
  opacity:.32;
  mask-image:radial-gradient(120% 90% at 78% 20%,#000 0%,transparent 70%);
  -webkit-mask-image:radial-gradient(120% 90% at 78% 20%,#000 0%,transparent 70%);
}
.hero__photo::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(100deg,var(--bg) 0%,rgba(10,13,16,.75) 42%,transparent 78%);
}

.hero__chevrons{
  position:absolute; inset:-10% -5% 0 -5%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='36' viewBox='0 0 64 36'%3E%3Cpath d='M0 34L32 4l32 30' fill='none' stroke='%23ffffff' stroke-width='1.1'/%3E%3C/svg%3E");
  background-size:64px 36px;
  opacity:.03;
  mask-image:radial-gradient(90% 70% at 60% 15%, #000 0%, transparent 78%);
  -webkit-mask-image:radial-gradient(90% 70% at 60% 15%, #000 0%, transparent 78%);
  animation:chev 26s linear infinite;
}
@keyframes chev{ to{ background-position:0 -360px; } }

.hero__grid{
  position:absolute; inset:0;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:100% 96px, 96px 100%;
  mask-image:linear-gradient(#000,transparent 65%);
  -webkit-mask-image:linear-gradient(#000,transparent 65%);
  opacity:.5;
}

.hero__glow{ position:absolute; border-radius:50%; filter:blur(110px); }
.hero__glow--hot{
  width:620px; height:620px; top:-220px; right:-120px;
  background:radial-gradient(circle,rgba(224,135,63,.38),transparent 68%);
  animation:float 14s ease-in-out infinite;
}
.hero__glow--cold{
  width:520px; height:520px; top:200px; left:-200px;
  background:radial-gradient(circle,rgba(94,169,216,.16),transparent 68%);
  animation:float 18s ease-in-out infinite reverse;
}
@keyframes float{ 50%{ transform:translate3d(24px,32px,0) scale(1.06); } }

/* встречные потоки: горячий вниз, холодный вверх */
.hero__flow{ position:absolute; inset:0; overflow:hidden; }
.hero__flow i{
  position:absolute; top:-40%; width:1px; height:38%;
  background:linear-gradient(180deg,transparent,var(--acc),transparent);
  opacity:.5; animation:flowDown 7s linear infinite;
}
.hero__flow i:nth-child(1){ left:16%; animation-delay:0s; }
.hero__flow i:nth-child(3){ left:73%; animation-delay:2.6s; }
.hero__flow i:nth-child(2),
.hero__flow i:nth-child(4){
  background:linear-gradient(180deg,transparent,var(--cold),transparent);
  animation-name:flowUp; opacity:.35;
}
.hero__flow i:nth-child(2){ left:31%; animation-delay:1.4s; animation-duration:8.5s; }
.hero__flow i:nth-child(4){ left:88%; animation-delay:3.9s; animation-duration:9.5s; }
@keyframes flowDown{ from{ transform:translateY(0); } to{ transform:translateY(360%); } }
@keyframes flowUp{ from{ transform:translateY(360%); } to{ transform:translateY(0); } }

.hero__in{
  position:relative; z-index:2;
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);
  gap:64px; align-items:start; padding-bottom:72px;
}

.tag{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 16px 8px 12px; border-radius:100px;
  border:1px solid var(--line-2); background:rgba(255,255,255,.03);
  font-size:var(--fs-xs); color:var(--tx-2); letter-spacing:.01em; margin-bottom:28px;
}
.tag__dot{
  width:7px; height:7px; border-radius:50%; background:var(--acc);
  box-shadow:0 0 0 0 rgba(224,135,63,.6); animation:pulse 2.4s infinite;
}
@keyframes pulse{ 70%{ box-shadow:0 0 0 9px rgba(224,135,63,0); } 100%{ box-shadow:0 0 0 0 rgba(224,135,63,0); } }

.hero__title{
  font-size:var(--fs-h1);
  font-weight:800; letter-spacing:-.035em; margin-bottom:26px;
  text-wrap:initial;   /* строки заданы вручную, балансировать их не нужно */
}

/* Единственный поставленный момент на странице: строки заголовка выезжают
   из-под маски одна за другой. Всё остальное появляется спокойно. */
.hero__title .ln{ display:block; overflow:hidden; padding-bottom:.14em; margin-bottom:-.14em; }
.hero__title .ln > i{ display:block; font-style:normal; }
html.anim .hero__title{ opacity:1; transform:none; }
html.anim .hero__title .ln > i{ transform:translateY(115%); transition:transform 1s var(--ease); }
html.anim.hero-in .hero__title .ln > i{ transform:none; }
html.anim.hero-in .hero__title .ln:nth-child(2) > i{ transition-delay:.1s; }
html.anim.hero-in .hero__title .ln:nth-child(3) > i{ transition-delay:.2s; }
.hero__lead{
  font-size:var(--fs-lead); color:var(--tx-2);
  max-width:56ch; margin-bottom:36px;
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:34px; }

.hero__usp{ display:flex; flex-wrap:wrap; gap:12px 28px; }
.hero__usp li{ display:inline-flex; align-items:center; gap:9px; font-size:var(--fs-sm); color:var(--tx-2); }
.hero__usp .ic{ color:var(--acc); }

/* панель параметров */
.hero__panel{ position:relative; }
.panel{
  border:1px solid var(--line-2); border-radius:var(--r-lg);
  background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); overflow:hidden;
  box-shadow:0 40px 80px -40px rgba(0,0,0,.9);
}
.panel::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.06) 50%,transparent 65%);
  transform:translateX(-100%); animation:sheen 6s ease-in-out infinite;
}
@keyframes sheen{ 55%,100%{ transform:translateX(100%); } }
.panel__head{ padding:18px 24px; border-bottom:1px solid var(--line); color:var(--acc); }
.panel__rows{ padding:8px 24px; }
.panel__row{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  padding:15px 0; border-bottom:1px dashed var(--line);
}
.panel__row:last-child{ border-bottom:0; }
.panel__row span{ color:var(--tx-3); font-size:var(--fs-sm); }
.panel__row b{ font-size:var(--fs-md); font-weight:700; text-align:right; }
.panel__btn{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:20px 24px; border-top:1px solid var(--line);
  font-weight:600; font-size:var(--fs-sm); color:var(--acc-2);
  transition:.3s var(--ease);
}
.panel__btn:hover{ background:var(--acc-dim); padding-left:30px; }

/* ---------- статистика ---------- */
.stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  position:relative; z-index:2;
}
.stat{ padding:34px 28px 34px 0; border-right:1px solid var(--line); }
.stat:last-child{ border-right:0; }
.stat b{
  display:block; font-size:var(--fs-stat); font-weight:800;
  letter-spacing:-.03em; margin-bottom:8px;
  background:linear-gradient(160deg,#fff,#9aa7b3);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat span{ font-size:var(--fs-xs); color:var(--tx-3); line-height:1.45; display:block; }

/* ============================================================
   MARQUEE
   ============================================================ */
.marquee{
  overflow:hidden; border-bottom:1px solid var(--line);
  background:var(--bg-2); padding:16px 0;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee__track{ display:flex; align-items:center; gap:28px; width:max-content; animation:march 44s linear infinite; }
.marquee__track span{ font-size:var(--fs-sm); color:var(--tx-3); white-space:nowrap; letter-spacing:.02em; }
.marquee__track i{ color:var(--acc); font-size:var(--fs-4xs); font-style:normal; }
@keyframes march{ to{ transform:translateX(-50%); } }

/* ============================================================
   SECTIONS
   ============================================================ */
.sect{ padding:110px 0; position:relative; }
.sect--alt{ background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

.sect__head{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.72fr);
  gap:48px; align-items:end; margin-bottom:56px;
}
.sect__label{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--mono); font-size:var(--fs-2xs); letter-spacing:.14em; text-transform:uppercase;
  color:var(--acc); margin-bottom:20px;
}
.sect__label i{
  font-style:normal; padding:3px 8px; border-radius:6px;
  background:var(--acc-dim); border:1px solid rgba(224,135,63,.2);
}
.sect__title{ font-size:var(--fs-h2); font-weight:800; letter-spacing:-.03em; }
.sect__desc{ color:var(--tx-2); font-size:var(--fs-base); max-width:52ch; }

/* ---------- tabs ---------- */
.tabs{
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:36px;
  padding:6px; border:1px solid var(--line); border-radius:16px;
  background:rgba(255,255,255,.02); width:fit-content; max-width:100%;
}
.tab{
  padding:12px 22px; border:0; border-radius:11px; background:transparent;
  color:var(--tx-2); font-size:var(--fs-sm); font-weight:600; cursor:pointer;
  transition:.3s var(--ease); white-space:nowrap;
}
.tab:hover{ color:var(--tx); }
.tab.is-active{
  background:linear-gradient(135deg,rgba(224,135,63,.22),rgba(224,135,63,.08));
  color:var(--acc-2); box-shadow:inset 0 0 0 1px rgba(224,135,63,.3);
}

.tabpane{ display:none; }
.tabpane.is-active{ display:block; animation:fadeUp .55s var(--ease); }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(14px); } }

/* ---------- cards ---------- */
.cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(285px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.card{
  position:relative; padding:34px 30px 30px; background:var(--bg);
  transition:background .4s var(--ease); overflow:hidden;
}
.sect--alt .card{ background:var(--bg-2); }
.card::after{
  content:''; position:absolute; left:0; right:0; top:0; height:2px;
  background:linear-gradient(90deg,var(--acc),transparent);
  transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease);
}
.card:hover{ background:var(--surface); }
.card:hover::after{ transform:scaleX(1); }
.card__num{
  position:absolute; top:26px; right:26px; color:var(--tx-3);
  font-size:var(--fs-3xs); opacity:.5; transition:.4s var(--ease);
}
.card:hover .card__num{ color:var(--acc); opacity:1; }
.card__ic{
  display:grid; place-items:center; width:52px; height:52px; border-radius:13px;
  color:var(--acc); margin-bottom:22px;
  background:linear-gradient(150deg,rgba(224,135,63,.16),rgba(224,135,63,.03));
  border:1px solid rgba(224,135,63,.18);
  transition:.45s var(--ease);
}
.card__ic .ic{ width:26px; height:26px; }
.card:hover .card__ic{ transform:translateY(-3px); border-color:rgba(224,135,63,.45); box-shadow:0 12px 28px -14px rgba(224,135,63,.7); }
.card h3{ font-size:var(--fs-lg); margin-bottom:11px; letter-spacing:-.02em; }
.card h3 small{
  display:inline-block; margin-left:7px; color:var(--acc-2); font-family:var(--mono);
  font-size:var(--fs-4xs); font-weight:500; letter-spacing:.04em; text-transform:uppercase;
}
.card p{ font-size:var(--fs-sm); color:var(--tx-2); line-height:1.6; margin-bottom:20px; }
.card__specs{ display:flex; flex-wrap:wrap; gap:7px; }
.card__specs li{
  font-family:var(--mono); font-size:var(--fs-3xs); letter-spacing:.03em;
  padding:5px 10px; border-radius:7px; color:var(--tx-3);
  border:1px solid var(--line); background:rgba(255,255,255,.02);
  transition:.35s var(--ease);
}
.card:hover .card__specs li{ border-color:var(--line-2); color:var(--tx-2); }

/* Фотографические карточки оборудования */
.tabpane[data-pane="heat"] .card{
  min-height:360px; display:flex; flex-direction:column; justify-content:flex-end;
  background-color:var(--bg);
  background-image:
    linear-gradient(180deg,rgba(6,8,10,.08) 8%,rgba(6,8,10,.48) 46%,rgba(6,8,10,.98) 100%),
    var(--card-photo);
  background-size:cover; background-position:center; isolation:isolate;
}
.tabpane[data-pane="heat"] .card:hover{
  background-image:
    linear-gradient(180deg,rgba(6,8,10,.02) 5%,rgba(6,8,10,.38) 42%,rgba(6,8,10,.96) 100%),
    var(--card-photo);
}
.tabpane[data-pane="heat"] .card__ic{ display:none; }
.tabpane[data-pane="heat"] .card h3,
.tabpane[data-pane="heat"] .card p,
.tabpane[data-pane="heat"] .card__specs{ position:relative; z-index:1; }
.tabpane[data-pane="heat"] .card p{ color:#C5CED6; }
.tabpane[data-pane="heat"] .card__specs li{ background:rgba(7,10,12,.58); border-color:rgba(255,255,255,.16); color:#AFBAC3; }
.card--plate{ --card-photo:url("/assets/img/card-plate.5777c335b07b.webp"); }
.card--brazed{ --card-photo:url("/assets/img/card-brazed.8d0378f79cd1.webp"); }
.card--welded{ --card-photo:url("/assets/img/card-welded.a1395813db79.webp"); }
.card--shell{ --card-photo:url("/assets/img/card-shell.54cf5d9252f2.webp"); }
.card--tube{ --card-photo:url("/assets/img/card-tube.e941aabe9f36.webp"); }
.card--scraper{ --card-photo:url("/assets/img/card-scraper.929d62597189.webp"); }
.card--substation{ --card-photo:url("/assets/img/card-substation.8e2830d37ac2.webp"); }
.card--tank{ --card-photo:url("/assets/img/card-tank.b70487ce2ea0.webp"); }

.nom__foot{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px;
  margin-top:28px; padding:26px 30px; border:1px dashed var(--line-2); border-radius:var(--r-lg);
  background:rgba(255,255,255,.015);
}
.nom__foot p{ color:var(--tx-2); font-size:var(--fs-md); }
.nom__foot b{ color:var(--tx); }

/* ============================================================
   ПРОИЗВОДСТВО
   ============================================================ */
.prod{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:56px; align-items:start; }

.media{
  position:relative; border-radius:var(--r-lg); overflow:hidden;
  border:1px solid var(--line-2); background:var(--surface);
  box-shadow:0 40px 90px -50px rgba(0,0,0,1);
}
.media__img{ width:100%; height:100%; object-fit:cover; display:block; }
.media::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,transparent 45%,rgba(10,13,16,.85));
}
.media--tall{ aspect-ratio:4/5; }
.media__art{ position:absolute; inset:0; }
.media__art--plates{
  background:
    repeating-linear-gradient(90deg,
      rgba(255,255,255,.09) 0 2px,
      transparent 2px 13px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='28' viewBox='0 0 48 28'%3E%3Cpath d='M0 26L24 3l24 23' fill='none' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E"),
    linear-gradient(160deg,#1B2229,#0C1014 60%);
  background-size:auto, 48px 28px, auto;
}
.media__art--plates::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(115deg,transparent 30%,rgba(245,181,113,.16) 45%,rgba(255,255,255,.08) 50%,transparent 66%);
  transform:translateX(-60%); animation:sweep 7s ease-in-out infinite;
}
@keyframes sweep{ 55%,100%{ transform:translateX(60%); } }
.media__art--plates::after{
  content:''; position:absolute; inset:0;
  background:radial-gradient(70% 50% at 50% 110%,rgba(224,135,63,.28),transparent 70%);
}
.media__cap{
  position:absolute; left:18px; bottom:18px; z-index:2;
  padding:8px 14px; border-radius:9px; color:var(--tx-2);
  background:rgba(10,13,16,.7); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid var(--line);
}

.prod__list{ display:grid; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.feat{ display:flex; gap:22px; padding:30px 32px; background:var(--bg-2); transition:background .4s var(--ease); }
.feat:hover{ background:var(--surface); }
.feat__n{
  flex:none; color:var(--acc); font-size:var(--fs-2xs); padding-top:5px;
  min-width:26px; letter-spacing:.08em;
}
.feat h3{ font-size:var(--fs-lg); margin-bottom:9px; }
.feat p{ color:var(--tx-2); font-size:var(--fs-sm); }

.badges{ display:flex; flex-wrap:wrap; gap:10px; margin-top:36px; }
.badge{
  display:inline-flex; align-items:center; gap:9px;
  padding:11px 18px; border-radius:100px; font-size:var(--fs-xs); color:var(--tx-2);
  border:1px solid var(--line); background:rgba(255,255,255,.02);
  transition:.35s var(--ease);
}
.badge .ic{ color:var(--acc); }
.badge:hover{ border-color:rgba(224,135,63,.35); color:var(--tx); }

.facility-gallery{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px;
}
.facility-gallery figure{
  position:relative; margin:0; aspect-ratio:4/3; border:1px solid var(--line-2);
  border-radius:var(--r); overflow:hidden; background:var(--surface);
}
.facility-gallery img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s var(--ease); }
.facility-gallery figure:hover img{ transform:scale(1.025); }
.facility-gallery figcaption{
  position:absolute; left:12px; bottom:12px; padding:7px 10px; border-radius:8px;
  background:rgba(7,10,12,.76); color:#D9E0E5; font-size:var(--fs-3xs);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
}

/* ============================================================
   КАЛЬКУЛЯТОР ТЕПЛОВОГО БАЛАНСА
   ============================================================ */
.calc-sect{ overflow:hidden; }
.calc{
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);
  border:1px solid var(--line-2); border-radius:24px; overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.008));
  box-shadow:0 48px 110px -70px #000;
}
.calc__form{ padding:36px; min-width:0; }
.calc__streams{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.calc__stream{
  min-width:0; padding:24px; border:1px solid var(--line); border-radius:18px;
  background:rgba(255,255,255,.018);
}
.calc__stream legend{
  display:flex; align-items:center; gap:10px; padding:0 8px;
  font-size:var(--fs-md); font-weight:700;
}
.calc__stream legend span{
  font-family:var(--mono); color:var(--acc); font-size:var(--fs-3xs);
}
.calc__grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.calc-field{ display:block; min-width:0; }
.calc-field--wide{ grid-column:1/-1; }
.calc-field > span{ display:block; min-height:34px; margin-bottom:7px; color:var(--tx-3); font-size:var(--fs-3xs); line-height:1.35; }
.calc-field input,.calc-field select{
  width:100%; min-height:50px; padding:13px 14px; border:1px solid var(--line-2);
  border-radius:11px; color:var(--tx); background:rgba(255,255,255,.035);
  font-size:16px; transition:.25s var(--ease);
}
.calc-field select{ cursor:pointer; }
.calc-field select option{ background:var(--surface); color:var(--tx); }
.calc-field input::placeholder{ color:var(--tx-3); opacity:.7; }
.calc-field input:focus,.calc-field select:focus{
  outline:none; border-color:var(--acc); box-shadow:0 0 0 4px rgba(224,135,63,.1);
}
.calc-field.is-error input{ border-color:#D8543F; box-shadow:0 0 0 4px rgba(216,84,63,.12); }
.calc__hint{ margin-top:16px; color:var(--tx-3); line-height:1.45; }
.calc__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:22px; }
.calc__reset{ min-height:44px; padding:0 8px; border:0; background:none; color:var(--tx-3); cursor:pointer; font-size:var(--fs-sm); }
.calc__reset:hover{ color:var(--tx); }
.calc__error{ flex-basis:100%; min-height:1.4em; color:#E08472; font-size:var(--fs-xs); }
.calc__result{
  padding:38px 32px; border-left:1px solid var(--line);
  background:
    radial-gradient(circle at 100% 0,rgba(224,135,63,.18),transparent 40%),
    var(--bg-2);
}
.calc__result > .mono{ color:var(--acc); }
.calc__power{ display:block; margin:30px 0 26px; }
.calc__power b{ display:block; font-size:clamp(3.2rem,5vw,5rem); line-height:.9; letter-spacing:-.06em; }
.calc__power span{ display:block; margin-top:12px; color:var(--tx-3); font-family:var(--mono); }
.calc__metrics{ display:grid; border-top:1px solid var(--line); }
.calc__metrics div{ display:flex; justify-content:space-between; gap:18px; padding:15px 0; border-bottom:1px solid var(--line); }
.calc__metrics dt{ color:var(--tx-3); font-size:var(--fs-xs); }
.calc__metrics dd{ text-align:right; font-family:var(--mono); font-size:var(--fs-3xs); color:var(--tx-2); }
.calc__note{ margin:22px 0; color:var(--tx-3); font-size:var(--fs-xs); }

/* ============================================================
   ТОРГОВЫЙ ДОМ
   ============================================================ */
.trade{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.trade__cell{
  padding:32px 30px; border-radius:var(--r-lg); border:1px solid var(--line);
  background:linear-gradient(165deg,var(--surface),var(--bg-2));
  transition:.45s var(--ease); position:relative; overflow:hidden;
}
.trade__cell:hover{ transform:translateY(-4px); border-color:var(--line-2); box-shadow:0 30px 60px -40px rgba(0,0,0,1); }
.trade__cell--wide{ grid-column:span 2; }
.trade__cell--wide::before{
  content:''; position:absolute; inset:0;
  background:url("/assets/img/warehouse.567614b5fad3.webp") center/cover no-repeat;
  opacity:.22; transition:opacity .5s var(--ease);
}
.trade__cell--wide::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(120deg,var(--bg-2) 12%,rgba(13,17,22,.72) 55%,transparent);
}
.trade__cell--wide:hover::before{ opacity:.32; }
.trade__cell--wide > *{ position:relative; z-index:1; }
.trade__cell--accent{
  background:linear-gradient(160deg,rgba(224,135,63,.16),rgba(224,135,63,.03) 60%,transparent);
  border-color:rgba(224,135,63,.28);
}
.trade__ic{
  display:grid; place-items:center; width:46px; height:46px; border-radius:12px;
  color:var(--acc); margin-bottom:20px;
  background:rgba(224,135,63,.1); border:1px solid rgba(224,135,63,.2);
}
.trade__cell h3{ font-size:var(--fs-lg); margin-bottom:11px; }
.trade__cell p{ color:var(--tx-2); font-size:var(--fs-sm); }
.trade__meta{ margin-top:20px; color:var(--tx-3); }
.trade__link{
  display:inline-flex; align-items:center; gap:9px; margin-top:20px;
  color:var(--acc-2); font-weight:600; font-size:var(--fs-sm); transition:gap .3s var(--ease);
}
.trade__link:hover{ gap:15px; }

/* ============================================================
   ОТРАСЛИ
   ============================================================ */
.inds{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.ind{
  display:flex; flex-direction:column; gap:7px; padding:32px 28px;
  background:var(--bg-2); position:relative; transition:.4s var(--ease); min-height:150px;
}
.ind b{ font-size:var(--fs-base); font-weight:700; letter-spacing:-.015em; }
.ind span{ font-size:var(--fs-xs); color:var(--tx-3); }
.ind .ic{ position:absolute; right:26px; top:32px; color:var(--acc); opacity:0; transform:translateX(-8px); transition:.4s var(--ease); }
.ind:hover{ background:var(--surface); }
.ind:hover .ic{ opacity:1; transform:none; }

/* ============================================================
   ЭТАПЫ
   ============================================================ */
.steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:20px; counter-reset:s; }
.step{
  padding:30px 26px 26px; border-radius:var(--r-lg);
  border:1px solid var(--line); background:var(--bg-2);
  position:relative; transition:.45s var(--ease);
}
.step::before{
  content:''; position:absolute; top:-1px; left:-1px; right:-1px; height:2px;
  border-radius:2px 2px 0 0;
  background:linear-gradient(90deg,var(--acc),rgba(224,135,63,0));
  opacity:0; transition:opacity .45s var(--ease);
}
.step:hover{ transform:translateY(-4px); background:var(--surface); }
.step:hover::before{ opacity:1; }
.step__n{
  display:inline-grid; place-items:center; width:38px; height:38px; border-radius:10px;
  background:var(--acc-dim); border:1px solid rgba(224,135,63,.22);
  color:var(--acc-2); font-size:var(--fs-2xs); margin-bottom:18px;
}
.step h3{ font-size:var(--fs-base); margin-bottom:10px; }
.step p{ font-size:var(--fs-sm); color:var(--tx-2); margin-bottom:18px; }
.step__time{
  display:inline-flex; align-items:center; gap:7px; color:var(--tx-3);
  padding-top:14px; border-top:1px dashed var(--line); width:100%;
}
.step__time .ic{ color:var(--acc); }

/* ============================================================
   ФОРМА
   ============================================================ */
.sect--form{ background:var(--bg-2); border-top:1px solid var(--line); }
.form-block{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; align-items:start; }
.form-block > *{ min-width:0; }
.form-block__lead{ color:var(--tx-2); margin:22px 0 28px; max-width:44ch; }
.form-block__usp{ display:grid; gap:13px; margin-bottom:34px; }
.form-block__usp li{ display:flex; align-items:center; gap:11px; font-size:var(--fs-sm); color:var(--tx-2); }
.form-block__usp .ic{ color:var(--acc); }
.form-block__contacts{ display:grid; gap:12px; padding-top:26px; border-top:1px solid var(--line); }
.form-block__contacts a{ display:inline-flex; align-items:center; gap:11px; font-weight:600; transition:color .25s; }
.form-block__contacts a:hover{ color:var(--acc-2); }
.form-block__contacts .ic{ color:var(--acc); }

.form{
  padding:38px; border-radius:var(--r-lg); border:1px solid var(--line-2);
  background:linear-gradient(165deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  box-shadow:0 40px 90px -50px rgba(0,0,0,1);
}
.request-kind{
  display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:24px;
  padding:6px; border:1px solid var(--line); border-radius:14px;
  background:rgba(255,255,255,.02);
}
.request-kind__btn{
  min-height:44px; padding:10px 14px; border:0; border-radius:9px;
  min-width:0; color:var(--tx-2); background:transparent; font-size:var(--fs-sm); font-weight:600; cursor:pointer;
  transition:.3s var(--ease);
}
.request-kind__btn.is-active{
  color:var(--acc-2); background:rgba(224,135,63,.13);
  box-shadow:inset 0 0 0 1px rgba(224,135,63,.28);
}
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field{ display:block; margin-bottom:18px; }
.field > span{ display:block; font-size:var(--fs-xs); color:var(--tx-3); margin-bottom:9px; letter-spacing:.01em; }
.field input,.field select,.field textarea{
  width:100%; padding:15px 17px; border-radius:12px;
  border:1px solid var(--line-2); background:rgba(255,255,255,.03);
  font-size:var(--fs-input); transition:.3s var(--ease); resize:vertical;  /* ровно 16px: меньше — и iOS зумит страницу при фокусе */
}
.field input::placeholder,.field textarea::placeholder{ color:var(--tx-3); opacity:.65; }
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:var(--acc); background:rgba(224,135,63,.06);
  box-shadow:0 0 0 4px rgba(224,135,63,.1);
}
.field select{ appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236C7883' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 17px center;
}
.field select option{ background:var(--surface); color:var(--tx); }
.field.is-error input,.field.is-error select,.field.is-error textarea{ border-color:#D8543F; box-shadow:0 0 0 4px rgba(216,84,63,.12); }

.file-field{
  display:flex; align-items:center; gap:14px; margin:2px 0 22px;
  padding:15px 17px; border:1px dashed var(--line-2); border-radius:12px;
  color:var(--tx-2); cursor:pointer; transition:.3s var(--ease);
}
.file-field:hover{ border-color:rgba(224,135,63,.45); background:rgba(224,135,63,.04); }
.file-field input{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.file-field__button{ display:inline-flex; align-items:center; gap:9px; font-size:var(--fs-sm); font-weight:600; }
.file-field__button .ic{ color:var(--acc); }
.file-field__name{ margin-left:auto; color:var(--tx-3); font-size:var(--fs-3xs); text-align:right; }

.check{ display:flex; align-items:flex-start; gap:12px; margin:6px 0 26px; cursor:pointer; }
.check input{ width:19px; height:19px; margin-top:2px; accent-color:var(--acc); flex:none; cursor:pointer; }
.check span{ font-size:var(--fs-xs); color:var(--tx-3); line-height:1.5; }
.check a{ color:var(--tx-2); text-decoration:underline; text-underline-offset:3px; }
.check.is-error span{ color:#E08472; }

.form__note{ text-align:center; color:var(--tx-3); margin-top:18px; font-size:var(--fs-3xs); }

/* ============================================================
   ДОКУМЕНТЫ
   ============================================================ */
.docs{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px; align-items:start; }
.docs__head .sect__desc{ margin-top:18px; }
.docs__list{ display:grid; gap:12px; }
.doc{
  display:flex; align-items:center; gap:18px; padding:22px 26px;
  border:1px solid var(--line); border-radius:var(--r); background:var(--bg);
  transition:.4s var(--ease);
}
.doc .ic{ color:var(--acc); }
.doc b{ font-weight:600; font-size:var(--fs-md); flex:1; }
.doc span{ color:var(--tx-3); white-space:nowrap; }
.doc:hover{ border-color:rgba(224,135,63,.35); background:var(--surface); transform:translateX(5px); }

/* ============================================================
   FOOTER
   ============================================================ */
.ftr{ background:var(--bg); border-top:1px solid var(--line); padding:72px 0 28px; }
.ftr__top{ display:grid; grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,.85fr) ) minmax(0,1.1fr); gap:48px; padding-bottom:52px; border-bottom:1px solid var(--line); }
.logo--ftr{ margin-bottom:22px; }
.ftr__about{ color:var(--tx-3); font-size:var(--fs-sm); max-width:34ch; }
.ftr__col h4{ font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.12em; color:var(--tx-3); margin-bottom:20px; font-weight:600; }
.ftr__col a{ display:block; font-size:var(--fs-sm); color:var(--tx-2); padding:6px 0; transition:color .25s, padding-left .25s; }
.ftr__col a:hover{ color:var(--acc-2); padding-left:5px; }
.ftr__col--contacts .btn{ margin-top:18px; }
.ftr__tel{ font-size:var(--fs-lg) !important; font-weight:700; color:var(--tx) !important; }
.ftr__addr{ font-size:var(--fs-xs); color:var(--tx-3); margin-top:16px; line-height:1.65; }
.ftr__addr .mono{ display:inline-block; margin-top:8px; color:var(--tx-3); }
.ftr__bottom{ display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; padding-top:26px; font-size:var(--fs-xs); color:var(--tx-3); }
.ftr__legal{ display:flex; gap:26px; }
.ftr__legal a{ transition:color .25s; }
.ftr__legal a:hover{ color:var(--tx-2); }

/* ============================================================
   FAB + TOAST
   ============================================================ */
.fab{
  position:fixed; right:24px; bottom:24px; z-index:70;
  display:none; align-items:center; gap:10px;
  padding:14px 20px; border-radius:100px; font-weight:600; font-size:var(--fs-sm);
  background:linear-gradient(135deg,var(--acc-2),var(--acc));
  color:#180D04; box-shadow:0 14px 40px -12px rgba(224,135,63,.8);
  transform:translateY(120px); transition:transform .5s var(--ease);
}
.fab.is-on{ transform:none; }

.toast{
  position:fixed; left:50%; bottom:34px; z-index:90;
  display:flex; align-items:center; gap:14px;
  padding:16px 24px; border-radius:14px;
  border:1px solid rgba(224,135,63,.35);
  background:rgba(18,23,28,.96); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  box-shadow:0 30px 70px -30px rgba(0,0,0,1);
  transform:translate(-50%,140px); opacity:0; pointer-events:none;
  transition:.55s var(--ease);
}
.toast.is-on{ transform:translate(-50%,0); opacity:1; }
.toast .ic{ color:var(--acc); }
.toast div{ display:flex; flex-direction:column; }
.toast b{ font-size:var(--fs-md); }
.toast span{ font-size:var(--fs-xs); color:var(--tx-3); }

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width:1180px){
  .hero__in{ grid-template-columns:1fr; gap:44px; }
  .hero__panel{ max-width:520px; }
  .stats{ grid-template-columns:repeat(2,1fr); }
  .stat{ border-bottom:1px solid var(--line); }
  .stat:nth-child(2n){ border-right:0; }
  .stat:nth-child(n+3){ border-bottom:0; }
  .trade{ grid-template-columns:repeat(2,1fr); }
  .trade__cell--wide{ grid-column:span 2; }
  .inds{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:repeat(3,1fr); }
  .prod,.docs,.form-block{ grid-template-columns:1fr; gap:40px; }
  .calc{ grid-template-columns:1fr; }
  .calc__result{ border-left:0; border-top:1px solid var(--line); }
  /* фото цеха вертикальное (4:5) — 16/9 срезал бы его в полоску */
  .media--tall{ aspect-ratio:3/2; max-height:78vh; }
  .ftr__top{ grid-template-columns:repeat(2,1fr); gap:40px; }
}

@media (max-width:960px){
  .nav{
    /* absolute от самой шапки: fixed здесь врёт, т.к. backdrop-filter
       у .hdr создаёт containing block и меню уезжает вниз на высоту топбара */
    position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0;
    background:rgba(10,13,16,.98); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
    border-bottom:1px solid var(--line); padding:12px 32px 26px;
    transform:translateY(-130%); transition:transform .45s var(--ease); margin-left:0;
    /* в альбомной ориентации iPhone высоты не хватает — меню должно скроллиться */
    max-height:calc(100vh - 112px);
    max-height:calc(100dvh - 112px);
    box-shadow:0 30px 60px -30px rgba(0,0,0,.9);
    overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  }
  .nav.is-open{ transform:none; }
  .nav a{ padding:16px 0; border-bottom:1px solid var(--line); font-size:var(--fs-base); }
  .nav__phone{ display:block; color:var(--acc-2) !important; font-weight:700 !important; }
  .hdr__cta{ display:none; }
  .burger{ display:grid; }
  .fab{ display:flex; }
  .sect{ padding:80px 0; }
  .sect__head{ grid-template-columns:1fr; gap:22px; align-items:start; margin-bottom:40px; }
  .topbar__geo{ display:none; }
  .topbar__in{ justify-content:center; }
}

@media (max-width:720px){
  .wrap{ padding:0 20px; }
  .hero{ padding-top:60px; }
  .hero__title{ font-size:var(--fs-h1-m); }
  .stats{ grid-template-columns:repeat(2,1fr); }
  .stat{ padding:24px 18px 24px 0; }
  .stat:nth-child(3){ border-right:1px solid var(--line); }
  .stat:nth-child(2n){ border-right:0; }
  .stat:last-child{ border-bottom:0; }
  .trade,.inds,.steps{ grid-template-columns:1fr; }
  .trade__cell--wide{ grid-column:span 1; }
  .cards{ grid-template-columns:1fr; }
  .card{
    display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center;
    column-gap:14px; padding:20px 54px 20px 20px; cursor:pointer;
  }
  .card::before{
    content:'+'; position:absolute; right:20px; top:25px;
    color:var(--acc); font-family:var(--mono); font-size:var(--fs-lg);
  }
  .card.is-expanded::before{ content:'−'; }
  .card__num{ display:none; }
  .card__ic{ width:44px; height:44px; margin:0; grid-column:1; grid-row:1; }
  .card h3{ grid-column:2; grid-row:1; margin:0; }
  .card p,.card__specs{ display:none; grid-column:1/-1; }
  .card.is-expanded p{ display:block; margin:18px 0 14px; }
  .card.is-expanded .card__specs{ display:flex; }
  .tabpane[data-pane="heat"] .card{
    display:flex; min-height:142px; padding:72px 54px 20px 20px;
    background-position:center; justify-content:flex-end;
  }
  .tabpane[data-pane="heat"] .card h3{ margin:0; max-width:88%; }
  .tabpane[data-pane="heat"] .card.is-expanded{ min-height:300px; }
  .tabpane[data-pane="heat"] .card.is-expanded p{ margin:18px 0 14px; }
  .calc__form,.calc__result{ padding:24px 20px; }
  .calc__streams{ grid-template-columns:1fr; }
  .calc__stream{ padding:20px 16px; }
  .calc__grid{ gap:14px 10px; }
  .calc__actions .btn{ width:100%; }
  .facility-gallery{
    display:flex; gap:12px; overflow-x:auto; margin-right:-20px; padding-right:20px;
    scroll-snap-type:x mandatory; scrollbar-width:none;
  }
  .facility-gallery::-webkit-scrollbar{ display:none; }
  .facility-gallery figure{ flex:0 0 82%; scroll-snap-align:start; }
  .form{ padding:26px 22px; }
  .form__row{ grid-template-columns:1fr; gap:0; }
  .ftr__top{ grid-template-columns:1fr; gap:34px; }
  .topbar__right{ gap:14px; font-size:var(--fs-2xs); }
  .topbar__link:first-child{ display:none; }
  .nom__foot{ flex-direction:column; align-items:flex-start; }
  .btn{ width:100%; }
  .hero__actions{ width:100%; }
  .toast{ left:16px; right:16px; transform:translate(0,140px); }
  .toast.is-on{ transform:none; }
  .fab span{ display:none; }
  .fab{ padding:16px; }

  /* пальцевые цели: Apple HIG требует не меньше 44px */
  .btn--sm{ min-height:48px; }
  .ftr__col a{ padding:11px 0; }
  .form-block__contacts a{ padding:7px 0; }
  .trade__link{ padding:9px 0; }
  .doc{ padding:20px 22px; }
  .tab{ min-height:46px; }
  .file-field{ align-items:flex-start; flex-direction:column; }
  .file-field__name{ margin-left:0; text-align:left; }
}

@media (max-width:380px){
  .hdr__in{ gap:12px; }
  .logo__txt i{ display:none; }
  .hero{ padding-top:48px; }
  .hero__lead{ font-size:var(--fs-md); }
}

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  html.anim .reveal{ opacity:1; transform:none; }
}

/* ============================================================
   ТЁМНАЯ ПОРТАЛЬНАЯ СИСТЕМА
   Из презентации взяты чистота, ритм и голубой инженерный акцент.
   Воздух и типографика работают вместо вложенных рамок.
   ============================================================ */
body{ background:var(--bg); }

.btn{ border-radius:3px; box-shadow:none; }
.btn--accent{ background:var(--acc); color:#fff; box-shadow:none; }
.btn--accent:hover{ background:var(--cold); box-shadow:none; }
.btn--ghost{ border:0; border-bottom:2px solid var(--acc); border-radius:0; background:transparent; color:var(--tx); backdrop-filter:none; }
.btn--ghost:hover{ background:var(--acc-dim); color:var(--cold); }

.topbar{ background:#070B0E; }
.hdr{ background:rgba(9,14,18,.88); }
.hdr.is-stuck{ background:rgba(9,14,18,.97); box-shadow:0 16px 40px -30px rgba(0,0,0,.95); }
.logo__mark{ border:0; border-radius:0; background:transparent; color:var(--acc); }
.burger{ border:0; border-radius:0; }

.hero__photo{ opacity:.34; filter:saturate(.72) contrast(1.08); }
.hero__photo::after{ background:linear-gradient(100deg,var(--bg) 0%,rgba(9,14,18,.93) 43%,rgba(9,14,18,.26) 82%); }
.hero__chevrons{ opacity:.055; }
.hero__glow--hot{ background:radial-gradient(circle,rgba(53,188,232,.2),transparent 68%); }
.hero__glow--cold{ background:radial-gradient(circle,rgba(28,136,181,.15),transparent 68%); }
.tag{ padding:0 0 0 14px; border:0; border-left:3px solid var(--acc); border-radius:0; background:transparent; }
.tag__dot{ display:none; }
.panel{ border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.panel::before{ display:none; }
.panel__head{ padding:14px 0; border-bottom:3px solid var(--acc); }
.panel__rows{ padding:4px 0; }
.panel__row{ padding:16px 0; border-bottom:1px solid var(--line); }
.panel__btn{ padding:18px 0; border-top:1px solid var(--line); color:var(--cold); }
.panel__btn:hover{ padding-left:10px; background:var(--acc-dim); }

.stats{ border-top:1px solid var(--line); border-bottom:0; }
.stat{ border-right:0; border-bottom:1px solid var(--line); }
.stat b{ background:none; color:var(--tx); }

.sect--alt{ background:var(--bg-2); border:0; }
.sect__label i{ padding:0; border:0; border-radius:0; background:transparent; }
.sect__label::after{ content:''; width:72px; height:3px; background:var(--acc); }

.tabs{ width:100%; padding:0; gap:28px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.tab{ padding:13px 0; border-radius:0; }
.tab.is-active{ color:var(--cold); background:transparent; box-shadow:inset 0 -3px 0 var(--acc); }

.cards{ gap:22px; border:0; border-radius:0; background:transparent; overflow:visible; }
.tabpane[data-pane="heat"] .card{ border-radius:2px; }
.card:not([class*="card--"]){ border:0; border-top:2px solid var(--acc); background:transparent; }
.card__ic{ border:0; border-radius:0; background:transparent; }
.card__specs li{ border-radius:2px; }
.nom__foot{ padding:24px 0; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; }

.media{ border:0; border-radius:0; box-shadow:none; }
.prod__list{ gap:0; border:0; border-radius:0; background:transparent; }
.feat{ padding:28px 0; border-top:1px solid var(--line); background:transparent; }
.feat:first-child{ border-top:3px solid var(--acc); }
.feat:hover{ background:var(--acc-dim); }
.facility-gallery figure{ border:0; border-radius:0; }
.facility-gallery figcaption{ left:0; bottom:0; border-radius:0; background:rgba(30,48,58,.78); }
.badge{ padding:6px 12px; border:0; border-left:3px solid var(--acc); border-radius:0; background:transparent; }

.calc{ border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
.calc__form{ padding:0 52px 0 0; }
.calc__streams{ gap:48px; }
.calc__stream{ padding:24px 0 0; border:0; border-top:3px solid var(--acc); border-radius:0; background:transparent; }
.calc__stream legend{ padding:0; }
.calc-field input,.calc-field select{
  border:0; border-bottom:1px solid var(--line-2); border-radius:0;
  background:var(--bg-2); box-shadow:none;
}
.calc-field input:focus,.calc-field select:focus{ border-color:var(--acc); background:#10242D; box-shadow:none; }
.calc__result{ border:0; border-left:1px solid var(--line); background:#0C2029; }

.trade{ gap:32px; }
.trade__cell{ padding:24px 0; border:0; border-top:3px solid var(--acc); border-radius:0; background:transparent; box-shadow:none; }
.trade__cell:hover{ transform:none; background:var(--acc-dim); box-shadow:none; }
.trade__cell--wide{ padding:28px; min-height:270px; color:#fff; }
.trade__cell--wide::before{ opacity:.52; }
.trade__cell--wide::after{ background:linear-gradient(110deg,rgba(24,41,50,.94) 8%,rgba(24,41,50,.7) 58%,rgba(24,41,50,.18)); }
.trade__cell--wide p,.trade__cell--wide .trade__meta{ color:rgba(255,255,255,.78); }
.trade__cell--accent{ border-color:var(--acc); background:transparent; }
.trade__ic{ width:auto; height:auto; margin-bottom:18px; border:0; border-radius:0; background:transparent; }

/* Каждое направление поставки получает собственную фотографическую подложку.
   Анимируется только фон: размер и положение самой карточки не меняются. */
.trade__cell--photo{ isolation:isolate; color:#fff; background:#0A1115; }
.trade__cell--photo::before{
  content:''; position:absolute; inset:-2%; z-index:0;
  background-image:var(--trade-photo); background-repeat:no-repeat;
  background-size:cover; background-position:var(--trade-position,center);
  opacity:.55; transform:scale(1.02); transition:opacity .55s var(--ease),transform .75s var(--ease);
}
.trade__cell--photo::after{
  content:''; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg,rgba(7,12,15,.12),rgba(7,12,15,.93) 78%);
}
.trade__cell--photo > *{ position:relative; z-index:1; }
.trade__cell--photo p{ color:rgba(235,243,246,.82); }
.trade__cell--photo:hover::before{ opacity:.7; transform:scale(1.055); }
.trade__cell--standards{ --trade-photo:url("/assets/img/real-shell-tube-detail-preview-v1-800.81df30bdc56c.webp"); --trade-position:42% center; }
.trade__cell--documents{ --trade-photo:url("/assets/img/qc.7d80a2d26bbb.webp"); --trade-position:58% center; }
.trade__cell--supply{ --trade-photo:url("/assets/img/real-engineering-module-preview-v1-800.d86179478f90.webp"); --trade-position:center 38%; }

.inds{ gap:0 34px; border:0; border-radius:0; background:transparent; overflow:visible; }
.ind{ min-height:130px; padding:28px 0; border-top:1px solid var(--line); background:transparent; }
.ind:nth-child(-n+4){ border-top:3px solid var(--acc); }
.ind:hover{ background:var(--acc-dim); }

.steps{ gap:28px; }
.step{ padding:26px 0; border:0; border-top:3px solid var(--acc); border-radius:0; background:transparent; }
.step:hover{ transform:none; background:var(--acc-dim); }
.step::before{ display:none; }
.step__n{ display:block; width:auto; height:auto; margin-bottom:14px; border:0; border-radius:0; background:transparent; color:var(--cold); }

.sect--form{ border:0; background:var(--bg-2); }
.form{ padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.request-kind{ padding:0; gap:28px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.request-kind__btn{ border-radius:0; }
.request-kind__btn.is-active{ color:var(--cold); background:transparent; box-shadow:inset 0 -3px 0 var(--acc); }
.field input,.field select,.field textarea{ border:0; border-bottom:1px solid var(--line-2); border-radius:0; background:var(--bg); }
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--acc); background:#10242D; box-shadow:none; }
.file-field{ padding:15px 0; border:0; border-bottom:1px solid var(--line-2); border-radius:0; }

.docs__list{ gap:0; }
.doc{ padding:22px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.doc:first-child{ border-top:3px solid var(--acc); }
.doc:hover{ padding-left:10px; background:var(--acc-dim); }

.ftr{ background:var(--bg-2); }
.fab{ background:var(--acc); color:#fff; box-shadow:0 14px 36px -20px rgba(22,126,174,.8); }
.toast{ border:0; border-radius:3px; background:#10242D; color:var(--tx); box-shadow:0 20px 50px -30px rgba(0,0,0,.85); }

@media (max-width:1180px){
  .calc__form{ padding:0; }
  .calc__result{ margin-top:48px; border-left:0; border-top:3px solid var(--acc); }
}

@media (max-width:960px){
  .nav{ background:rgba(9,14,18,.985); box-shadow:0 30px 60px -30px rgba(0,0,0,.9); }
}

@media (max-width:720px){
  .sect{ padding:72px 0; }
  .tabs{ display:grid; gap:0; }
  .tab{ text-align:left; white-space:normal; border-bottom:1px solid var(--line); }
  .cards{ gap:0; }
  .tabpane[data-pane="heat"] .card{ border-radius:0; border-bottom:1px solid rgba(255,255,255,.16); }
  .calc__streams{ gap:52px; }
  .calc__stream{ padding:20px 0 0; }
  .calc__form{ padding:0; }
  .calc__result{ margin-top:52px; padding:28px 20px; }
  .trade{ gap:40px; }
  .trade__cell--wide{ padding:24px 20px; }
  .inds{ gap:0; }
  .ind:nth-child(n){ border-top:1px solid var(--line); }
  .ind:first-child{ border-top:3px solid var(--acc); }
  .steps{ gap:32px; }
  .form{ padding:0; }
}

/* ============================================================
   ИЗОБРАЖЕНИЯ ОТРАСЛЕЙ И ПИЛОТНЫЕ УСТАНОВКИ
   ============================================================ */
.ind{
  justify-content:flex-end; min-height:190px; padding:24px;
  border:0; overflow:hidden; isolation:isolate; background:#0A1217;
  transition:box-shadow .4s var(--ease),filter .4s var(--ease);
}
.ind__image{
  position:absolute; inset:-2px; z-index:-2;
  width:calc(100% + 4px); height:calc(100% + 4px); max-width:none; object-fit:cover;
  transform:scale(1.002); transform-origin:center;
  transition:transform .65s var(--ease),filter .65s var(--ease);
}
.ind::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(5,9,12,.08) 12%,rgba(5,9,12,.92) 100%);
  transition:background .5s var(--ease);
}
.ind:nth-child(n){ border:0; }
.ind b{ color:#F1F6F8; text-shadow:0 2px 18px rgba(0,0,0,.75); }
.ind span{ color:#AFC0C8; }
.ind:hover,.ind:focus-visible{ background:#0A1217; box-shadow:0 18px 38px rgba(0,0,0,.28); }
.ind:hover .ind__image,.ind:focus-visible .ind__image{ transform:scale(1.045); filter:brightness(1.08) saturate(1.05); }
.ind:hover::after,.ind:focus-visible::after{ background:linear-gradient(180deg,rgba(5,9,12,0) 4%,rgba(5,9,12,.82) 100%); }
.ind:focus-visible{ outline:2px solid var(--acc); outline-offset:3px; }

.rental-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.rental-card{ min-width:0; }
.rental-card__visual{
  aspect-ratio:4/3; overflow:hidden;
  background:linear-gradient(155deg,#F0F4F6,#D8E1E6);
}
.rental-card__visual img{ width:100%; height:100%; object-fit:contain; transition:transform .45s var(--ease); }
.rental-card:hover .rental-card__visual img{ transform:scale(1.025); }
.rental-card__body{ padding:18px 0 0; }
.rental-card__body > .mono{ color:var(--acc); }
.rental-card h3{ margin:8px 0 9px; font-size:var(--fs-lg); }
.rental-card p{ color:var(--tx-2); font-size:var(--fs-xs); line-height:1.5; }
.rental-foot{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  margin-top:24px; padding-top:16px; border-top:1px solid var(--line);
}
.rental-foot p{ color:var(--tx-2); font-size:var(--fs-sm); }

/* ============================================================
   ДЕСКТОП: КОМПАКТНАЯ КОМПОНОВКА
   Первый экран ограничен viewport, остальные секции растут по содержимому.
   ============================================================ */
@media (min-width:1181px) and (min-height:700px){
  html{ scroll-padding-top:72px; }

  .hero{
    height:calc(100vh - 157px);
    height:calc(100svh - 157px);
    min-height:0; padding:20px 0 0;
    display:grid; grid-template-rows:minmax(0,1fr) auto;
  }
  .hero__in{ align-self:center; gap:54px; padding-bottom:14px; }
  .tag{ margin-bottom:12px; }
  .hero__title{ margin-bottom:14px; font-size:clamp(2.15rem,3.1vw,2.7rem); }
  .hero__lead{ margin-bottom:18px; line-height:1.45; }
  .hero__actions{ margin-bottom:16px; }
  .panel__head{ padding:11px 0; }
  .panel__row{ padding:10px 0; }
  .panel__btn{ padding:12px 0; }
  .stat{ padding:14px 20px 14px 0; }
  .stat b{ margin-bottom:3px; font-size:clamp(1.55rem,2.3vw,2rem); }
  .marquee{ height:45px; padding:0; display:flex; align-items:center; }

  .sect{
    height:auto;
    min-height:0; padding:clamp(28px,3.8vh,44px) 0;
    overflow:hidden;
  }
  .sect > .wrap{ width:100%; }
  .sect__head{
    grid-template-columns:minmax(0,1fr) minmax(0,.72fr);
    gap:64px; margin-bottom:clamp(18px,2.6vh,28px); align-items:end;
  }
  .sect__label{ margin-bottom:10px; }
  .sect__title{ font-size:clamp(2.1rem,2.7vw,2.75rem); line-height:1.08; }
  .sect__desc{ font-size:var(--fs-md); line-height:1.5; }

  #nomenclature .sect__head{ margin-bottom:16px; }
  .tabs{ gap:28px; margin-bottom:14px; }
  .tab{ padding:10px 0; }
  .cards{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
  .card{ min-height:210px; padding:20px; }
  .card__num{ top:18px; right:18px; }
  .card__ic{ width:38px; height:38px; margin-bottom:12px; }
  .card__ic .ic{ width:21px; height:21px; }
  .card h3{ margin-bottom:8px; }
  .card p{
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
    overflow:hidden; margin-bottom:11px; font-size:var(--fs-xs); line-height:1.45;
  }
  .card__specs{ gap:5px; }
  .card__specs li{ padding:3px 7px; }
  .tabpane[data-pane="heat"] .card{ min-height:clamp(190px,23vh,220px); }
  .nom__foot{ min-height:46px; margin-top:14px; padding:9px 0; }
  .nom__foot p{ font-size:var(--fs-sm); }

  .calc{ grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr); }
  .calc__form{ padding:0 36px 0 0; }
  .calc__streams{ gap:28px; }
  .calc__stream{ padding:16px 0 0; }
  .calc__grid{ gap:10px 14px; }
  .calc-field > span{ min-height:27px; margin-bottom:5px; }
  .calc-field input,.calc-field select{ min-height:44px; padding:10px 13px; }
  .calc__hint{ margin-top:10px; }
  .calc__actions{ margin-top:14px; }
  .calc__result{ padding:24px 28px; }
  .calc__power{ margin:18px 0; }
  .calc__power b{ font-size:3.6rem; }
  .calc__metrics div{ padding:10px 0; }
  .calc__note{ margin:14px 0; }

  .prod{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:48px; align-items:stretch; height:clamp(378px,54vh,486px); }
  .prod__media{ display:grid; grid-template-rows:minmax(0,1fr) 86px; gap:12px; min-height:0; }
  .media--tall{ height:100%; min-height:0; aspect-ratio:auto; }
  .prod__list{ grid-template-rows:repeat(4,1fr); }
  .feat{ padding:14px 0; gap:18px; }
  .feat h3{ margin-bottom:4px; font-size:var(--fs-base); }
  .feat p{ font-size:var(--fs-xs); line-height:1.45; }
  .facility-gallery{ height:86px; margin:0; gap:12px; }
  .facility-gallery figure{ height:86px; aspect-ratio:auto; }
  .facility-gallery figcaption{ display:none; }
  .badges{ gap:8px; margin-top:14px; }
  .badge{ padding:4px 10px; }

  .trade{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
  .trade__cell,
  .trade__cell--wide,
  .trade__cell--accent{
    grid-column:auto; min-height:300px; padding:28px;
    border:0; background:rgba(255,255,255,.018); box-shadow:none;
  }
  .trade__cell:hover{ transform:none; background:rgba(255,255,255,.028); box-shadow:none; }
  .trade__cell--wide::before{ opacity:.42; }
  .trade__cell--wide::after{ background:linear-gradient(180deg,rgba(7,12,15,.2),rgba(7,12,15,.95)); }
  .trade__cell--wide p,.trade__cell--wide .trade__meta{ color:var(--tx-2); }
  .trade__ic{ margin-bottom:auto; padding-bottom:30px; }

  .rental-grid{ gap:16px; }
  .rental-card__body{ padding-top:13px; }
  .rental-card h3{ margin:6px 0; font-size:var(--fs-base); }
  .rental-card p{
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
    overflow:hidden; line-height:1.42;
  }
  .rental-foot{ margin-top:16px; padding-top:10px; }

  .inds{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
  .ind{ min-height:clamp(160px,20vh,188px); padding:22px; }

  .steps{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
  .step{ min-height:248px; padding:24px 20px; border:0; background:rgba(255,255,255,.018); }
  .step:hover{ background:rgba(255,255,255,.028); }
  .step__n{ margin-bottom:12px; }
  .step p{ font-size:var(--fs-xs); line-height:1.45; }

  .form-block{ gap:72px; align-items:center; }
  .form-block__lead{ margin:16px 0 20px; }
  .form-block__usp{ gap:9px; margin-bottom:20px; }
  .form-block__contacts{ gap:8px; padding-top:16px; }
  .request-kind{ margin-bottom:14px; }
  .field{ margin-bottom:10px; }
  .field > span{ margin-bottom:5px; }
  .field input,.field select,.field textarea{ padding:11px 14px; }
  .file-field{ margin:0 0 12px; padding:11px 0; }
  .check{ margin:4px 0 16px; }
  .form__note{ margin-top:10px; }

  .docs{ align-items:center; }
  .docs__list{ align-self:center; }
  .doc{ padding:18px 0; }

  /* Финальный компактный раздел не растягиваем на полный экран:
     после четырёх документов сразу начинается содержательный футер. */
  #docs{
    height:auto;
    min-height:0;
    padding:clamp(48px,6vh,64px) 0 clamp(56px,7vh,80px);
    overflow:visible;
  }
}

@media (min-width:1181px) and (min-height:700px) and (max-height:820px){
  .hero{ padding-top:14px; }
  .hero__in{ gap:44px; padding-bottom:8px; }
  .hero__title{ font-size:2.15rem; }
  .hero__lead{ font-size:var(--fs-md); }
  .hero__actions .btn{ padding:12px 20px; }
  .panel__row{ padding:7px 0; }
  .panel__row span{ font-size:var(--fs-xs); }
  .panel__row b{ font-size:var(--fs-sm); }
  .stat{ padding:9px 18px 9px 0; }
  .sect{ padding:24px 0; }
  .sect__head{ margin-bottom:12px; }
  .sect__label{ margin-bottom:7px; }
  .sect__title{ font-size:2rem; }
  #nomenclature .sect__head{ margin-bottom:10px; }
  .tabs{ margin-bottom:10px; }
  .tab{ padding:8px 0; }
  .card{ min-height:180px; padding:16px 18px; }
  .card p{ -webkit-line-clamp:2; margin-bottom:8px; }
  .tabpane[data-pane="heat"] .card{ min-height:180px; }
  .nom__foot{ min-height:38px; margin-top:10px; padding:6px 0; }
  .calc__stream{ padding-top:11px; }
  .calc-field > span{ min-height:23px; }
  .calc-field input,.calc-field select{ min-height:40px; padding:8px 12px; }
  .calc__actions{ margin-top:10px; }
  .calc__result{ padding:20px 24px; }
  .calc__power{ margin:12px 0; }
  .calc__metrics div{ padding:8px 0; }
  .prod__media{ grid-template-rows:minmax(0,1fr) 70px; }
  .facility-gallery,.facility-gallery figure{ height:70px; }
  .feat{ padding:10px 0; }
  .badges{ margin-top:10px; }
  .trade__cell,.trade__cell--wide,.trade__cell--accent{ min-height:250px; padding:24px; }
  .rental-card__body{ padding-top:9px; }
  .rental-card p{ -webkit-line-clamp:2; }
  .rental-foot{ margin-top:10px; padding-top:8px; }
  .ind{ min-height:145px; }
  .step{ min-height:210px; padding:18px; }
  .step p{ margin-bottom:10px; }
  .field{ margin-bottom:8px; }
  .field input,.field select,.field textarea{ padding:9px 12px; }
  .file-field{ margin-bottom:9px; padding:9px 0; }
  .check{ margin-bottom:12px; }
}

@media (max-width:1180px){
  .rental-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rental-card:last-child{ grid-column:span 2; max-width:50%; }
}

@media (max-width:720px){
  .rental-grid{ grid-template-columns:1fr; gap:26px; }
  .rental-card,
  .rental-card:last-child{
    display:grid; grid-column:auto; grid-template-columns:118px minmax(0,1fr);
    gap:16px; width:100%; max-width:none;
  }
  .rental-card__visual{ aspect-ratio:1; }
  .rental-card__body{ padding:0; align-self:center; }
  .rental-card h3{ margin:5px 0 7px; font-size:var(--fs-base); }
  .rental-card p{ font-size:var(--fs-3xs); line-height:1.45; }
  .rental-foot{ align-items:flex-start; flex-direction:column; margin-top:34px; }
  .ind{ min-height:176px; padding:22px 20px; }
  .ind:nth-child(n){ border:0; }
}

/* ============================================================
   ЗАЯВКА: СПОКОЙНАЯ ИЕРАРХИЯ БЕЗ КАСКАДА РАМОК
   ============================================================ */
#request .form-block__side{
  max-width:390px;
}
#request .form{
  padding:28px 32px 32px;
  border:0;
  border-top:3px solid var(--acc);
  border-radius:0;
  background:linear-gradient(145deg,rgba(18,35,44,.82),rgba(8,17,22,.48));
  box-shadow:0 28px 70px -56px rgba(0,0,0,.9);
}
#request .request-kind{
  display:flex;
  justify-content:flex-start;
  gap:34px;
  margin:0 0 26px;
  padding:0;
  border:0;
  background:transparent;
}
#request .request-kind__btn{
  width:auto;
  min-width:0;
  min-height:0;
  padding:0 0 11px;
  border-radius:0;
  background:transparent;
  white-space:nowrap;
}
#request .request-kind__btn.is-active{
  color:var(--acc-2);
  background:transparent;
  box-shadow:inset 0 -2px 0 var(--acc);
}
#request .form__row{
  gap:24px;
}
#request .field{
  margin-bottom:18px;
}
#request .field > span{
  margin-bottom:7px;
  color:var(--tx-2);
  font-weight:500;
}
#request .field input,
#request .field select,
#request .field textarea{
  min-height:52px;
  padding:13px 15px;
  border:0;
  border-left:2px solid transparent;
  border-radius:0;
  background:rgba(255,255,255,.035);
}
#request .field textarea{
  min-height:118px;
  line-height:1.5;
}
#request .field input:focus,
#request .field select:focus,
#request .field textarea:focus{
  border-color:var(--acc);
  background:rgba(53,188,232,.075);
  box-shadow:none;
}
#request .field input::placeholder,
#request .field textarea::placeholder{
  opacity:.72;
}
#request .file-field{
  margin:2px 0 18px;
  padding:15px 16px;
  border:0;
  background:rgba(255,255,255,.028);
}
#request .file-field:hover{
  background:rgba(53,188,232,.075);
}
#request .check{
  margin:0 0 18px;
}
#request .btn--full{
  min-height:56px;
}

@media (min-width:1181px){
  #request .form-block{
    grid-template-columns:minmax(280px,.72fr) minmax(620px,1.28fr);
    gap:clamp(56px,6vw,92px);
    align-items:start;
  }
  #request .form-block__side{
    padding-top:28px;
  }
}

@media (min-width:1181px) and (min-height:700px) and (max-height:820px){
  #request .form-block__side{
    padding-top:18px;
  }
  #request .form{
    padding:20px 26px 24px;
  }
  #request .request-kind{
    margin-bottom:18px;
  }
  #request .field{
    margin-bottom:12px;
  }
  #request .field input,
  #request .field select,
  #request .field textarea{
    min-height:44px;
    padding:10px 12px;
  }
  #request .field textarea{
    min-height:92px;
  }
  #request .file-field{
    margin-bottom:12px;
    padding:11px 12px;
  }
  #request .check{
    margin-bottom:12px;
  }
  #request .btn--full{
    min-height:48px;
  }
}

@media (max-width:720px){
  #request .form{
    padding:22px 0 0;
    background:transparent;
    box-shadow:none;
  }
  #request .request-kind{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
  }
  #request .request-kind__btn{
    white-space:normal;
  }
  #request .form__row{
    gap:0;
  }
  #request .file-field{
    align-items:flex-start;
    padding:14px;
  }
}
