/* ============================================================
   BORDEX — лендинг. Значения перенесены из Bordex Landing.dc.html
   пиксель-в-пиксель. Радиусов нет, углы прямые.
   ============================================================ */

@keyframes beamDrift { from { transform: translate3d(-2%, 0, 0); } to { transform: translate3d(2%, 0, 0); } }
@keyframes cellFill {
  0% { opacity: 0; }
  3% { opacity: 1; }
  72% { opacity: 1; }
  76% { opacity: 0; }
  100% { opacity: 0; }
}

/* Лендинг задуман с чуть более плотным зерном, чем ЛК */
.grain { opacity: .45; }

[x-cloak] { display: none !important; }

.ld { background: var(--bg); color: var(--text); }

/* ---- Обёртки ---- */
.ld-wrap {
  max-width: 1460px; margin: 0 auto;
  padding-left: clamp(24px, 4vw, 60px);
  padding-right: clamp(24px, 4vw, 60px);
}
.ld-sec { padding-top: clamp(88px, 9vw, 140px); padding-bottom: clamp(88px, 9vw, 140px); }
.ld-sec--spec { padding-top: clamp(56px, 6vw, 88px); padding-bottom: clamp(56px, 6vw, 88px); }

.light { background: #E7E5E0; color: #15171B; }
.light-sep { border-top: 1px solid rgba(11, 12, 15, .12); }
.dark-sep { border-top: 1px solid var(--line-10); }

/* ---- Номерная линейка секции ---- */
.sec-rule { display: flex; align-items: center; gap: 18px; margin-bottom: 36px; }
.sec-rule__no { font: 700 12px/1 var(--font-mono); letter-spacing: .16em; color: var(--accent); }
.sec-rule__line { flex: 1; height: 1px; background: rgba(231, 229, 224, .14); }
.sec-rule__label { font: 500 11px/1 var(--font-mono); letter-spacing: .2em; color: var(--muted); }
.light .sec-rule__line { background: rgba(11, 12, 15, .16); }
.light .sec-rule__label { color: #55565C; }

/* ---- Шапка секции: h2 + лид ---- */
.sec-head {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 40px; align-items: end; margin-bottom: 56px;
}
.sec-head--process { margin-bottom: 64px; }
.sec-head--price { grid-template-columns: minmax(0, 1fr) minmax(280px, 480px); margin-bottom: 64px; }
.ld-h2 {
  margin: 0; font: 900 clamp(52px, 6vw, 92px)/.92 var(--font-display);
  text-transform: uppercase; letter-spacing: .005em;
}
.sec-lede { margin: 0; font: 400 16.5px/1.6 var(--font-body); color: var(--muted); }
.light .sec-lede { color: #55565C; }

/* ---- Кнопки: размеры лендинга поверх tokens .btn ---- */
.btn--hero { padding: 19px 30px; font-size: 13px; letter-spacing: .12em; gap: 12px; }
.btn--hero-ghost { padding: 18px 28px; font-size: 13px; font-weight: 500; letter-spacing: .12em; gap: 12px; border-color: rgba(231, 229, 224, .3); }
.btn--nav { padding: 11px 18px; font-size: 11px; letter-spacing: .14em; }
.btn--menu { padding: 16px 20px; font-size: 12px; letter-spacing: .14em; }
.btn--submit { width: 100%; padding: 19px 24px; font-size: 13px; letter-spacing: .12em; }
/* Тёмная CTA на светлом фоне (секция «Цена»): покой — оранжевая, ховер — чернильная */
.btn--ink {
  background-image: linear-gradient(90deg, #15171B 50%, #FF4D00 50%);
  color: #0B0C0F; padding: 19px 30px; font-size: 13px; letter-spacing: .12em; gap: 12px;
}
.btn--ink:hover { color: #E7E5E0; }

/* ---- Навигация ---- */
.ld-nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(11, 12, 15, .85);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(231, 229, 224, .12);
}
.ld-nav__in {
  max-width: 1460px; margin: 0 auto; padding: 0 clamp(24px, 4vw, 60px);
  height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.ld-logo {
  font: 900 23px/1 var(--font-display); letter-spacing: .05em; color: var(--text);
  display: flex; align-items: baseline; gap: 5px;
}
.ld-logo i { width: 7px; height: 7px; background: var(--accent); display: inline-block; }
.ld-nav__links { display: flex; gap: 26px; flex-wrap: wrap; justify-content: center; }
.ld-nav__links a { font: 500 11px/1 var(--font-mono); letter-spacing: .14em; color: var(--muted); }
.ld-nav__right { display: flex; align-items: center; gap: 18px; }
.ld-nav__phone {
  display: flex; align-items: center; gap: 8px;
  font: 700 12px/1 var(--font-mono); letter-spacing: .08em;
  color: var(--accent); white-space: nowrap;
}
.ld-burger {
  display: none; cursor: pointer; background: transparent;
  border: 1px solid var(--line-28); width: 40px; height: 40px; box-sizing: border-box;
  align-items: center; justify-content: center; flex-direction: column; gap: 5px; padding: 0;
  transition: border-color .3s ease;
}
.ld-burger:hover { border-color: var(--accent); }
.ld-burger span { width: 16px; height: 2px; background: var(--text); }
.ld-burger span:nth-child(2) { background: var(--accent); }

/* ---- Hero ---- */
.hero {
  position: relative; overflow: hidden;
  min-height: calc(100svh - 64px);
  display: flex; flex-direction: column;
  background: linear-gradient(180deg, #0B0C0F 0%, #0D0F13 60%, #0B0C0F 100%);
}
.hero__beams { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.hero__beam1 {
  position: absolute; top: -40%; right: -5%; width: 70%; height: 180%;
  background: radial-gradient(ellipse 60% 45% at 65% 25%, rgba(231, 229, 224, .13), transparent 65%);
  animation: beamDrift 16s ease-in-out infinite alternate;
}
.hero__beam2 {
  position: absolute; inset: -20%;
  background: linear-gradient(112deg, transparent 42%, rgba(255, 255, 255, .05) 47%, transparent 53%);
}
.hero__beam3 {
  position: absolute; bottom: -10%; right: 8%; width: 40%; height: 40%;
  background: radial-gradient(ellipse at center, rgba(255, 77, 0, .1), transparent 65%);
}
.hero__ticks {
  position: absolute; left: 0; right: 0; bottom: 0; height: 160px;
  background: repeating-linear-gradient(90deg, rgba(231, 229, 224, .03) 0 2px, transparent 2px 20px);
  -webkit-mask-image: linear-gradient(180deg, transparent, #000);
  mask-image: linear-gradient(180deg, transparent, #000);
  pointer-events: none;
}
.hero__grid {
  position: relative; z-index: 2; flex: 1; width: 100%; max-width: 1460px;
  margin: 0 auto; box-sizing: border-box;
  padding: clamp(48px, 7vh, 96px) clamp(24px, 4vw, 60px) clamp(40px, 5vh, 64px);
  display: grid; grid-template-columns: minmax(0, 1fr);
  align-items: center;
}
.hero__eyebrow { font: 500 12px/1.5 var(--font-mono); letter-spacing: .22em; color: var(--accent); }
.hero__h1 {
  margin: 22px 0 0;
  font: 900 clamp(42px, 5.4vw, 78px)/.98 var(--font-display);
  letter-spacing: -.02em; text-transform: uppercase; color: #E7E5E0;
}
.hero__h1-line { display: block; }
.hero__h1-line--accent { color: var(--accent); }
.hero__stroke {
  margin-top: 18px; font: 900 clamp(20px, 2.2vw, 32px)/1.05 var(--font-display);
  text-transform: uppercase; letter-spacing: .03em;
  color: rgba(231, 229, 224, .45);
}
.hero__lede { margin: 28px 0 0; max-width: 560px; font: 400 16.5px/1.65 var(--font-body); color: #ABACB0; }
.hero__ctas { margin-top: 42px; display: flex; gap: 14px; flex-wrap: wrap; }

/* появление hero-элементов */
.rise { animation: riseIn .7s cubic-bezier(.2, .7, .2, 1) both; }
.rise--0 { animation-duration: .6s; }
.rise--1 { animation-delay: .08s; }
.rise--2 { animation-delay: .18s; }
.rise--3 { animation-delay: .26s; }
.rise--4 { animation-delay: .34s; }
.rise--panel { animation-duration: .8s; animation-delay: .3s; }

/* Точечная карта мира — фоновый слой hero. Карта открыта целиком:
   слева уходит в тень (текст ложится поверх, континенты читаемы),
   правый край и верх/низ растворяются в фон. Маски в экранных координатах —
   на обёртке, наклон плоскости — на внутреннем слое */
.hero-map {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 28%, rgba(0, 0, 0, .25) 38%, rgba(0, 0, 0, .45) 52%, #000 64%, #000 90%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 7%, #000 93%, rgba(0, 0, 0, .5) 100%);
  mask-image:
    linear-gradient(90deg, transparent 28%, rgba(0, 0, 0, .25) 38%, rgba(0, 0, 0, .45) 52%, #000 64%, #000 90%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 7%, #000 93%, rgba(0, 0, 0, .5) 100%);
  -webkit-mask-composite: source-in; mask-composite: intersect;
}
.hero-map__tilt {
  position: absolute; top: 50%; right: -5%; width: min(88%, 1460px); aspect-ratio: 2400 / 1792;
  transform: translateY(-48%) perspective(1800px) rotateX(30deg) rotateZ(10deg);
  transform-origin: 55% 50%;
}
.hero-map__dots {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(231, 229, 224, .9), rgba(231, 229, 224, .42));
  -webkit-mask-image: url(../img/world-map-dots.svg);
  mask-image: url(../img/world-map-dots.svg);
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
.hero-map__routes { position: absolute; inset: 0; width: 100%; height: 100%; }
/* Базовые линии путей — блеклые, в графике сайта.
   Авиа — сплошная, море — пунктир, авто — штрих-точка */
.hero-map__arc {
  stroke: var(--accent); opacity: .8; stroke-width: 5;
}
.hero-map__sea {
  stroke: var(--accent); opacity: .8; stroke-width: 4.4; stroke-linecap: round;
  stroke-dasharray: 16 14;
}
.hero-map__auto {
  stroke: var(--accent); opacity: .8; stroke-width: 4.4; stroke-linecap: round;
  stroke-dasharray: 24 12 4 12;
}
/* Импульс доставки: короткий яркий сегмент с неоновым свечением,
   пробегает по каждому пути по очереди (pathLength=100 нормализует длину) */
.hero-map__impulse {
  stroke: #FF5A0A; stroke-width: 7; stroke-linecap: round;
  stroke-dasharray: 17 183; stroke-dashoffset: 20;
  filter: drop-shadow(0 0 7px rgba(255, 77, 0, .95));
  animation: impulseTravel 16s linear infinite;
}
.hero-map__impulse--i2 { animation-delay: 2s; }
.hero-map__impulse--i3 { animation-delay: 4s; }
.hero-map__impulse--i4 { animation-delay: 6s; }
.hero-map__impulse--i5 { animation-delay: 8s; }
.hero-map__impulse--i6 { animation-delay: 10s; }
.hero-map__impulse--i7 { animation-delay: 12s; }
/* Плечо Шанхай→Владивосток→Москва: импульс авиа стартует, когда морской доходит до Владивостока */
.hero-map__impulse--i8 { animation-delay: 15s; }
@keyframes impulseTravel {
  0% { stroke-dashoffset: 20; }
  25% { stroke-dashoffset: -110; }
  100% { stroke-dashoffset: -110; }
}
/* Узлы: квадратные маркеры + рамка-уголки (в языке .corners) */
.hero-map__sq { fill: var(--accent); filter: drop-shadow(0 0 8px rgba(255, 77, 0, .65)); }
.hero-map__frame {
  fill: none; stroke: var(--accent); stroke-width: 4;
  stroke-dasharray: 30 30; stroke-dashoffset: 15; opacity: .8;
}
.hero-map__pulse {
  fill: rgba(255, 77, 0, .35); transform-origin: center; transform-box: fill-box;
  animation: nodePulse 2.8s ease-out infinite;
}
.hero-map__node--final .hero-map__sq { filter: drop-shadow(0 0 14px rgba(255, 77, 0, .95)); }
@keyframes nodePulse {
  0% { transform: scale(.4); opacity: .9; }
  70%, 100% { transform: scale(1.6); opacity: 0; }
}

/* Уголки — используются в модале логина */
.corners::before, .corners::after { content: ""; position: absolute; width: 16px; height: 16px; }
.corners::before { top: -1px; left: -1px; border-top: 2px solid var(--accent); border-left: 2px solid var(--accent); }
.corners::after { bottom: -1px; right: -1px; border-bottom: 2px solid var(--accent); border-right: 2px solid var(--accent); }
.panel-label { font: 500 10.5px/1 var(--font-mono); letter-spacing: .18em; color: var(--muted); }
.panel-label i { color: var(--accent); font-style: normal; }

/* Полоса фич под hero */
.hero__strip { position: relative; z-index: 2; border-top: 1px solid rgba(231, 229, 224, .12); }
.hero__strip-in {
  max-width: 1460px; margin: 0 auto; padding: 18px clamp(24px, 4vw, 60px);
  display: flex; flex-wrap: wrap; gap: 16px 40px; justify-content: space-between;
}
.hero__strip-item {
  display: flex; align-items: center; gap: 10px;
  font: 500 11px/1 var(--font-mono); letter-spacing: .14em; color: var(--text-3);
}
.hero__strip-item i { width: 7px; height: 7px; background: var(--accent); }

/* ---- 02 Направления ---- */
.dir-grid { display: grid; grid-template-columns: minmax(320px, 1.35fr) minmax(280px, 1fr); gap: 20px; }
.eu-card {
  position: relative; overflow: hidden;
  background: var(--euBg, #0B0C0F); color: var(--euInk, #E7E5E0);
  padding: clamp(32px, 4vw, 52px); display: flex; flex-direction: column; min-height: 480px;
}
.eu-card__ticks {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, rgba(231, 229, 224, .03) 0 2px, transparent 2px 22px);
  pointer-events: none;
}
.eu-card__top { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.eu-card__flag { font: 700 11px/1 var(--font-mono); letter-spacing: .2em; color: var(--accent); }
.eu-card__mode { font: 500 11px/1 var(--font-mono); letter-spacing: .14em; opacity: .55; }
.eu-card__title { position: relative; margin-top: 26px; font: 900 clamp(44px, 4.6vw, 72px)/.95 var(--font-display); text-transform: uppercase; }
.eu-card__geo { position: relative; margin-top: 14px; font: 500 11.5px/1.9 var(--font-mono); letter-spacing: .12em; opacity: .6; }
.eu-card__text { position: relative; margin: 18px 0 0; max-width: 520px; font: 400 15.5px/1.65 var(--font-body); opacity: .78; }
.eu-card__foot {
  position: relative; margin-top: auto; padding-top: 28px;
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  border-top: 1px solid rgba(155, 156, 160, .25);
}
.eu-card__foot-label { font: 500 11px/1 var(--font-mono); letter-spacing: .18em; opacity: .6; }
.eu-card__foot-price { font: 900 clamp(30px, 3vw, 44px)/1 var(--font-display); text-transform: uppercase; }
.eu-card__foot-price b { color: var(--accent); font-weight: inherit; }
.dir-col { display: flex; flex-direction: column; gap: 20px; }
.dir-card {
  flex: 1; border: 1px solid rgba(11, 12, 15, .18); padding: 26px 28px;
  display: flex; flex-direction: column; gap: 10px; transition: border-color .18s ease;
}
.dir-card:hover { border-color: #15171B; }
.dir-card__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.dir-card__name { font: 900 30px/1 var(--font-display); text-transform: uppercase; }
.dir-card__code { font: 700 11px/1 var(--font-mono); letter-spacing: .16em; color: var(--accent); }
.dir-card p { margin: 0; font: 400 15px/1.6 var(--font-body); color: #55565C; }
.sec-after {
  margin-top: 28px; padding-top: 22px; border-top: 1px solid rgba(11, 12, 15, .16);
  display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;
}
.sec-after__text { font: 400 15.5px/1.5 var(--font-body); color: #55565C; }
.sec-after__link { font: 700 12px/1 var(--font-mono); letter-spacing: .14em; color: #15171B; display: flex; align-items: center; gap: 10px; }
.sec-after__link b { color: var(--accent); font-weight: inherit; }

/* ---- 03 Ситуации ---- */
.sit-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.sit-card {
  border: 1px solid rgba(11, 12, 15, .18); padding: 28px; min-height: 250px;
  display: flex; flex-direction: column; gap: 16px; transition: border-color .18s ease;
}
.sit-card:hover { border-color: #15171B; }
.sit-card__q { font: 600 19px/1.4 var(--font-body); }
.sit-card__spacer { flex: 1; }
.sit-card__arrow { font: 700 16px/1 var(--font-mono); color: var(--accent); }
.sit-card p { margin: 0; font: 400 15px/1.6 var(--font-body); color: #55565C; }
.sit-note { margin-top: 28px; font: 400 15.5px/1.5 var(--font-body); color: #55565C; }
.sit-note a { color: #15171B; font-weight: 600; border-bottom: 1px solid var(--accent); }

/* ---- Техчертежи (перебивки) ---- */
.spec {
  position: relative; border: 1px solid rgba(231, 229, 224, .14);
  padding: clamp(28px, 3.5vw, 48px);
  display: grid; grid-template-columns: minmax(220px, 300px) 1fr;
  gap: clamp(28px, 3vw, 48px); align-items: center;
}
.light .spec { border-color: rgba(11, 12, 15, .16); }
.spec__label { font: 500 11px/1 var(--font-mono); letter-spacing: .2em; color: var(--muted); }
.light .spec__label { color: #55565C; }
.spec__label i { color: var(--accent); font-style: normal; }
.spec__title { margin-top: 14px; font: 900 clamp(28px, 2.6vw, 40px)/1 var(--font-display); text-transform: uppercase; }
.spec__list { margin-top: 18px; display: flex; flex-direction: column; gap: 9px; }
.spec__list span { font: 500 11px/1 var(--font-mono); letter-spacing: .16em; color: var(--muted); }
.light .spec__list span { color: #55565C; }
.spec > * { min-width: 0; } /* грид-элементы не распирают секцию за экран */
.spec__draw { min-width: 0; overflow-x: auto; }
.spec svg { width: 100%; display: block; }
.spec__code {
  position: absolute; right: 14px; bottom: 10px;
  font: 500 9px/1 var(--font-mono); letter-spacing: .22em; color: #55565C;
}

/* ---- 04 Процесс ---- */
.proc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; }
.proc-step { border-top: 2px solid #2A2C31; padding-top: 24px; }
.proc-step--last { border-top-color: var(--accent); }
.proc-step__no { font: 700 13px/1 var(--font-mono); letter-spacing: .14em; color: var(--accent); }
.proc-step__t { margin-top: 16px; font: 800 26px/1 var(--font-display); text-transform: uppercase; }
.proc-step p { margin: 14px 0 0; font: 400 14.5px/1.6 var(--font-body); color: var(--muted); }

/* ---- 05 Кейсы ---- */
.case-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 20px; }
.case-card {
  background: var(--panel); border: 1px solid var(--line-10); padding: 32px;
  display: flex; flex-direction: column; gap: 16px; min-height: 460px;
  position: relative; transition: border-color .18s ease;
}
.case-card:hover { border-color: rgba(255, 77, 0, .55); }
.case-card::after {
  content: ""; position: absolute; right: 6%; bottom: 2%; width: 60%; aspect-ratio: 1;
  pointer-events: none; z-index: 1;
  background: radial-gradient(closest-side, rgba(255, 77, 0, .07), transparent 70%);
}
.case-card__art {
  position: absolute; right: -14px; bottom: -30px;
  z-index: 2; pointer-events: none;
  filter: drop-shadow(0 22px 34px rgba(0, 0, 0, .55));
  transition: transform .4s ease;
}
.case-card:hover .case-card__art { transform: translateY(-8px); }
/* Размеры и резерв под иллюстрацию — по реальному масштабу объектов:
   настольная центрифуга < ТНВД < генераторная установка 1000 кВт */
.case-card:nth-child(1) { padding-bottom: 235px; }
.case-card:nth-child(1) .case-card__art { width: min(260px, 66%); }
.case-card:nth-child(2) { padding-bottom: 245px; }
.case-card:nth-child(2) .case-card__art { width: min(265px, 68%); }
.case-card:nth-child(3) { padding-bottom: 295px; }
.case-card:nth-child(3) .case-card__art { width: min(315px, 82%); }
.case-card__top { display: flex; justify-content: space-between; gap: 12px; }
.case-card__no { font: 700 11px/1 var(--font-mono); letter-spacing: .18em; color: var(--accent); }
.case-card__geo { font: 500 11px/1 var(--font-mono); letter-spacing: .14em; color: var(--muted); }
.case-card__t { font: 800 30px/1.02 var(--font-display); text-transform: uppercase; }
.case-card__sub { font: 500 11px/1 var(--font-mono); letter-spacing: .14em; color: var(--muted); }
.case-card p { margin: 0; font: 400 14.5px/1.6 var(--font-body); color: var(--muted); }

/* Руллер лимитов */
.ruler { margin-top: 88px; position: relative; height: 84px; }
.ruler__ticks {
  position: absolute; left: 0; right: 0; bottom: 0; height: 16px;
  background: repeating-linear-gradient(90deg, rgba(231, 229, 224, .25) 0 1px, transparent 1px 28px);
}
.ruler__base { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: rgba(231, 229, 224, .35); }
.ruler__mark { position: absolute; bottom: 0; width: 2px; height: 34px; background: var(--accent); }
.ruler__mark--mid { left: 50%; }
.ruler__mark--end { right: 0; }
.ruler__label { position: absolute; bottom: 48px; font: 700 13px/1 var(--font-mono); letter-spacing: .14em; }
.ruler__label--mid { left: 50%; transform: translateX(-50%); }
.ruler__label--end { right: 0; text-align: right; }
.ruler-note { margin-top: 18px; font: 400 15.5px/1.5 var(--font-body); color: var(--muted); }

/* ---- 06 Состав ---- */
.scope-row {
  display: grid; grid-template-columns: 72px minmax(200px, 320px) 1fr;
  gap: 28px; padding: 26px 0; border-top: 1px solid rgba(11, 12, 15, .16); align-items: baseline;
}
.scope-row--last { border-bottom: 1px solid rgba(11, 12, 15, .16); }
.scope-row__no { font: 700 12px/1 var(--font-mono); letter-spacing: .14em; color: var(--accent); }
.scope-row__t { font: 700 18px/1.3 var(--font-body); }
.scope-row__d { font: 400 15.5px/1.6 var(--font-body); color: #55565C; }
.scope-note { margin-top: 28px; font: 400 15.5px/1.5 var(--font-body); color: #55565C; }
.scope-body { display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: 56px; align-items: center; }
/* Послойная схема поставки: слои позиционируются в % от общего холста,
   подписи — HTML, чтобы текст был русским и в шрифтах сайта */
.scope-art { position: relative; padding-left: 160px; }
.scope-art__stack { position: relative; aspect-ratio: 736 / 2311; }
.scope-art__layer { position: absolute; display: block; height: auto; }
.scope-art__cap {
  position: absolute; left: 0; top: -2px;
  font: 700 11px/1 var(--font-mono); letter-spacing: .18em; color: #15171B;
}
.scope-art__label {
  position: absolute; left: 0; width: 148px; transform: translateY(-50%);
  display: flex; align-items: center; justify-content: flex-end; gap: 10px; text-align: right;
  font: 500 10.5px/1.5 var(--font-mono); letter-spacing: .12em; color: #55565C;
}
.scope-art__label i { font-style: normal; font-weight: 700; color: var(--accent); }
.scope-art__label::after {
  content: ""; width: 22px; height: 1px; flex: none; background: rgba(11, 12, 15, .35);
}
@media (max-width: 980px) {
  .scope-body { grid-template-columns: 1fr; gap: 40px; }
  .scope-art { max-width: 440px; margin: 0 auto; }
}

/* ---- 07 Цена ---- */
.price-band {
  border-top: 1px solid rgba(11, 12, 15, .35); border-bottom: 1px solid rgba(11, 12, 15, .35);
  padding: 36px 0; display: flex; align-items: center; justify-content: space-between;
  gap: 32px; flex-wrap: wrap;
}
.price-band__side { font: 500 12px/1.7 var(--font-mono); letter-spacing: .18em; color: #55565C; }
.price-band__side--r { text-align: right; }
.price-band__main { display: flex; align-items: baseline; gap: 14px; }
.price-band__pre { font: 700 clamp(24px, 2.6vw, 40px)/1 var(--font-display); color: #55565C; }
.price-band__val { font: 900 clamp(96px, 11vw, 170px)/.82 var(--font-display); letter-spacing: -.01em; }
.price-band__unit { font: 900 clamp(34px, 3.6vw, 56px)/1 var(--font-display); color: var(--accent); }
.price-facts { margin-top: 64px; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 40px; }
.price-fact__bar { width: 40px; height: 3px; background: var(--accent); }
.price-fact__t { margin-top: 18px; font: 700 17.5px/1.3 var(--font-body); }
.price-fact p { margin: 10px 0 0; font: 400 15.5px/1.6 var(--font-body); color: #55565C; }
.price-cta { margin-top: 64px; }

/* ---- 08 FAQ ---- */
.faq-h2 { margin-bottom: 56px; }
.faq-row {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 28px 48px; padding: 26px 0; border-top: 1px solid rgba(11, 12, 15, .16);
}
.faq-row--last { border-bottom: 1px solid rgba(11, 12, 15, .16); }
.faq-row__q { font: 700 19px/1.4 var(--font-body); }
.faq-row p { margin: 0; font: 400 15.5px/1.65 var(--font-body); color: #55565C; }

/* ---- 09 Контакт ---- */
.contact { position: relative; overflow: hidden; }
.contact__beams { position: absolute; inset: 0; pointer-events: none; }
.contact__beam {
  position: absolute; top: -30%; left: -10%; width: 60%; height: 160%;
  background: radial-gradient(ellipse 55% 40% at 35% 30%, rgba(231, 229, 224, .09), transparent 65%);
}
.contact__ticks {
  position: absolute; left: 0; right: 0; bottom: 0; height: 140px;
  background: repeating-linear-gradient(90deg, rgba(231, 229, 224, .03) 0 2px, transparent 2px 20px);
  -webkit-mask-image: linear-gradient(180deg, transparent, #000);
  mask-image: linear-gradient(180deg, transparent, #000);
}
.contact__in { position: relative; }
.contact__art {
  /* сдвиг вправо — доля ширины картинки, чтобы композиция держалась на любых экранах */
  position: absolute; right: calc(min(1300px, 76vw) * -.29); bottom: 309px;
  width: min(1300px, 76vw);
  opacity: .75; pointer-events: none; user-select: none;
  -webkit-mask-image: radial-gradient(ellipse 72% 68% at 52% 50%, #000 38%, transparent 76%);
  mask-image: radial-gradient(ellipse 72% 68% at 52% 50%, #000 38%, transparent 76%);
}
/* на средних десктопах картинка мельче — расширяем её и ослабляем маску */
@media (max-width: 1440px) and (min-width: 1021px) {
  .contact__art {
    width: 88vw; right: calc(88vw * -.27);
    -webkit-mask-image: radial-gradient(ellipse 80% 74% at 50% 50%, #000 46%, transparent 84%);
    mask-image: radial-gradient(ellipse 80% 74% at 50% 50%, #000 46%, transparent 84%);
  }
}
.contact__rule { margin-bottom: 48px; }
.contact-grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 500px);
  gap: clamp(40px, 5vw, 80px); align-items: start;
  position: relative; z-index: 1;
}
.contact__h2 { font-size: clamp(44px, 4.8vw, 76px); line-height: .95; }
.contact__lede { margin: 24px 0 0; max-width: 520px; font: 400 16.5px/1.65 var(--font-body); color: var(--muted); }
.contact__phone-label { margin-top: 48px; font: 500 11px/1 var(--font-mono); letter-spacing: .2em; color: var(--muted); }
.contact__phone-row { margin-top: 12px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.contact__phone { font: 900 clamp(40px, 4.4vw, 64px)/1 var(--font-display); letter-spacing: .02em; color: var(--accent); }
.contact__tg-row { margin-top: 36px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.contact__tg-handle { font: 500 13px/1 var(--font-mono); letter-spacing: .1em; color: var(--muted); }
.btn--tg { padding: 17px 26px; font-size: 13px; font-weight: 500; letter-spacing: .12em; gap: 12px; border-color: rgba(231, 229, 224, .3); }
.btn--tg b { color: var(--accent); font-weight: inherit; transition: color .3s; }
.btn--tg:hover b { color: #0B0C0F; }

.contact-form { background: var(--panel); border: 1px solid var(--line-14); padding: clamp(28px, 3vw, 44px); }
.contact-form__label { font: 500 11px/1.6 var(--font-mono); letter-spacing: .18em; color: var(--muted); }
.contact-form__in { margin-top: 28px; display: flex; flex-direction: column; gap: 22px; }
.lfield-label { font: 500 11px/1 var(--font-mono); letter-spacing: .16em; color: var(--muted); margin-bottom: 9px; }
.lfield {
  width: 100%; box-sizing: border-box; background: var(--bg);
  border: 1px solid rgba(231, 229, 224, .18); color: var(--text);
  font: 400 15px/1.4 var(--font-body); padding: 14px 16px; outline: none;
  transition: border-color .2s ease;
}
.lfield:focus { border-color: var(--accent); }
.lfield::placeholder { color: rgba(231, 229, 224, .32); }
select.lfield { appearance: none; cursor: pointer; }
textarea.lfield { resize: vertical; line-height: 1.5; }
.buyout-chips { display: flex; gap: 10px; flex-wrap: wrap; }
.buyout-chip {
  padding: 13px 20px; border: 1px solid rgba(231, 229, 224, .2); background: transparent;
  color: var(--text-2); font-family: var(--font-mono); font-size: 12px;
  letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: all .15s ease;
}
.buyout-chip.is-on { background: var(--accent); border-color: var(--accent); color: #0B0C0F; font-weight: 700; }
.contact-form__note { margin: 0; font: 400 13px/1.6 var(--font-body); color: var(--faint); }
.form-sent { display: flex; flex-direction: column; gap: 14px; padding: 24px 0; }
.form-sent__t { font: 900 34px/1 var(--font-display); text-transform: uppercase; }
.form-sent__d { margin: 0; font: 400 15px/1.6 var(--font-body); color: var(--muted); }

/* ---- 10 Футер ---- */
.ld-foot { position: relative; background: var(--bg-footer); color: var(--text); border-top: 1px solid var(--line-10); overflow: hidden; }
.ld-foot__art { display: none; }
@media (max-width: 1020px) {
  /* мобильный футер: зеркальный контейнер справа от навигации и контактов */
  .ld-foot__art {
    display: block; position: absolute; top: 88px; right: -42vw; width: min(560px, 130vw);
    transform: scaleX(-1); opacity: .5; pointer-events: none; user-select: none;
    -webkit-mask-image: radial-gradient(ellipse 72% 70% at 50% 50%, #000 42%, transparent 80%);
    mask-image: radial-gradient(ellipse 72% 70% at 50% 50%, #000 42%, transparent 80%);
  }
  .ld-foot__in { position: relative; z-index: 1; }
}
.ld-foot__in { max-width: 1460px; margin: 0 auto; padding: 72px clamp(24px, 4vw, 60px) 0; }
.ld-foot__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 48px; }
.ld-foot__label { font: 500 11px/1 var(--font-mono); letter-spacing: .2em; color: var(--faint); margin-bottom: 18px; }
.ld-foot__links { display: flex; flex-direction: column; gap: 12px; }
.ld-foot__links a { font: 500 12px/1 var(--font-mono); letter-spacing: .12em; color: var(--text-3); }
.ld-foot__contacts { display: flex; flex-direction: column; gap: 14px; }
.ld-foot__contacts span { font: 500 12px/1.5 var(--font-mono); letter-spacing: .1em; color: var(--accent); }
.ld-foot__req { margin: 0; font: 500 12px/1.9 var(--font-mono); letter-spacing: .08em; color: var(--accent); }
.ld-foot__bottom {
  margin-top: 56px; padding: 20px 0; border-top: 1px solid var(--line-10);
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.ld-foot__bottom span { font: 500 11px/1.6 var(--font-mono); letter-spacing: .14em; color: var(--faint); }

/* ---- глитч-тег d606k (портирован с d606k.shop, палитра Bordex) ---- */
.ld-foot__sig { display: flex; justify-content: flex-end; margin-top: 48px; }
.ld-foot__sig + .ld-foot__bottom { margin-top: 14px; }
.d6-tag {
  position: relative; display: inline-block;
  font: 600 17px/1.4 var(--font-mono); letter-spacing: .12em;
  color: #E7E5E0; text-decoration: none; text-transform: uppercase;
}
.d6-tag:hover { color: var(--accent); }
.d6-tag.is-glitching { animation: d6-flash .15s infinite; }
.d6-tag.is-glitching::before, .d6-tag.is-glitching::after {
  content: attr(data-text); position: absolute; top: 0; left: 0;
  width: 100%; height: 100%; opacity: .9;
}
.d6-tag.is-glitching::before {
  left: 3px; text-shadow: -3px 0 var(--accent), 3px 0 #FF8A3D;
  clip-path: polygon(0 0,100% 0,100% 45%,0 45%);
  animation: d6-g1 .2s cubic-bezier(.25,.46,.45,.94) both infinite;
  color: #E7E5E0; z-index: 2;
}
.d6-tag.is-glitching::after {
  left: -3px; text-shadow: 3px 0 #FF8A3D, -3px 0 var(--accent);
  clip-path: polygon(0 55%,100% 55%,100% 100%,0 100%);
  animation: d6-g2 .2s cubic-bezier(.25,.46,.45,.94) both infinite reverse;
  color: #E7E5E0; z-index: 1;
}
@keyframes d6-g1 { 0%{clip-path:polygon(0 2%,100% 2%,100% 5%,0 5%);transform:translate(-3px,2px) skew(5deg)} 20%{clip-path:polygon(0 15%,100% 15%,100% 25%,0 25%);transform:translate(4px,-3px) skew(-5deg)} 40%{clip-path:polygon(0 10%,100% 10%,100% 20%,0 20%);transform:translate(3px,4px) skew(10deg)} 60%{clip-path:polygon(0 40%,100% 40%,100% 60%,0 60%);transform:translate(-4px,-2px) skew(-10deg)} 80%{clip-path:polygon(0 80%,100% 80%,100% 90%,0 90%);transform:translate(5px,2px) skew(15deg)} 100%{clip-path:polygon(0 50%,100% 50%,100% 70%,0 70%);transform:translate(-3px,-4px) skew(-5deg)} }
@keyframes d6-g2 { 0%{clip-path:polygon(0 25%,100% 25%,100% 30%,0 30%);transform:translate(4px,-2px) skew(-10deg)} 20%{clip-path:polygon(0 10%,100% 10%,100% 20%,0 20%);transform:translate(-4px,4px) skew(10deg)} 40%{clip-path:polygon(0 50%,100% 50%,100% 60%,0 60%);transform:translate(5px,-4px) skew(-5deg)} 60%{clip-path:polygon(0 75%,100% 75%,100% 85%,0 85%);transform:translate(-5px,2px) skew(5deg)} 80%{clip-path:polygon(0 15%,100% 15%,100% 30%,0 30%);transform:translate(4px,-2px) skew(-15deg)} 100%{clip-path:polygon(0 90%,100% 90%,100% 100%,0 100%);transform:translate(-4px,4px) skew(10deg)} }
@keyframes d6-flash { 0%{background:transparent;color:#E7E5E0} 33%{background:rgba(255,77,0,.8);color:#141519} 66%{background:transparent;color:#E7E5E0} 100%{background:rgba(255,138,61,.5);color:#fff} }
.ld-foot__giant {
  font: 900 clamp(110px, 18.5vw, 290px)/.76 var(--font-display);
  letter-spacing: .015em; text-align: center; color: #15171B;
  margin-bottom: -0.14em; user-select: none;
}

/* ---- Модал логина ---- */
.login-overlay {
  position: fixed; inset: 0; z-index: 80;
  background: rgba(8, 9, 11, .72); backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center; padding: 24px;
}
.login-panel {
  position: relative; width: min(430px, 100%); box-sizing: border-box;
  background: var(--panel); border: 1px solid rgba(231, 229, 224, .16);
  padding: clamp(28px, 4vw, 44px);
  animation: riseIn .45s var(--ease-rise) both;
}
.login-panel__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.login-panel__close { color: var(--muted); font: 400 18px/1 var(--font-body); padding: 2px 6px; transition: color .2s ease; }
.login-panel__close:hover { color: var(--accent); }
.login-panel__title { margin-top: 20px; font: 900 34px/1 var(--font-display); text-transform: uppercase; color: var(--text); }
.login-panel__form { margin-top: 28px; display: flex; flex-direction: column; gap: 20px; }
.login-panel__forgot { align-self: flex-start; font: 500 10.5px/1 var(--font-mono); letter-spacing: .14em; color: var(--muted); }
.login-panel__note { margin: 0; font: 400 13px/1.6 var(--font-body); color: var(--faint); }
.login-panel__reg { color: var(--accent); font-weight: 600; }
.login-error { font: 500 12px/1.5 var(--font-mono); letter-spacing: .06em; color: var(--accent); }
.btn--login { width: 100%; padding: 18px 24px; font-size: 13px; letter-spacing: .12em; gap: 10px; }

/* ---- Мобильная шторка ---- */
.ld-menu {
  position: fixed; inset: 0; z-index: 90; background: var(--bg); color: var(--text);
  display: flex; flex-direction: column; overflow: auto;
  animation: riseIn .4s var(--ease-rise) both;
}
.ld-menu__head {
  flex-shrink: 0; display: flex; justify-content: space-between; align-items: center;
  height: 64px; padding: 0 24px; border-bottom: 1px solid rgba(231, 229, 224, .12);
}
.ld-menu__close {
  border: 1px solid var(--line-28); color: var(--text); width: 40px; height: 40px;
  font: 400 16px/1 var(--font-body); transition: all .2s ease;
}
.ld-menu__close:hover { border-color: var(--accent); color: var(--accent); }
.ld-menu__links { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 36px 26px; }
.ld-menu__links a { display: flex; align-items: baseline; gap: 16px; padding: 9px 0; }
.ld-menu__num { font: 700 11px/1 var(--font-mono); color: var(--accent); letter-spacing: .14em; }
.ld-menu__label { font: 900 38px/1 var(--font-display); text-transform: uppercase; color: var(--text); }
.ld-menu__foot {
  flex-shrink: 0; padding: 22px 26px; border-top: 1px solid rgba(231, 229, 224, .12);
  display: flex; flex-direction: column; gap: 14px;
}
.ld-menu__phone { font: 700 13px/1 var(--font-mono); letter-spacing: .08em; color: var(--accent); }

/* ---- Скролл-ревилы ---- */
html.js .reveal { opacity: 0; }
html.js .reveal.is-in { animation: riseIn .6s cubic-bezier(.2, .7, .2, 1) both; opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  html.js .reveal { opacity: 1; }
}

/* ---- Responsive ---- */
@media (max-width: 1120px) {
  .ld-nav__links { display: none; }
  .ld-burger { display: inline-flex; }
}
@media (max-width: 1020px) {
  .contact-grid { grid-template-columns: minmax(0, 1fr); }
  .contact__art { display: none; }
}
@media (max-width: 960px) {
  .hero-map { opacity: .55; }
  .sec-head, .sec-head--price { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .dir-grid { grid-template-columns: minmax(0, 1fr); }
  .spec { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  /* мобильный «Состав»: без номеров и без схемы — только текст на всю ширину */
  .scope-row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .scope-row__no { display: none; }
  .scope-body { grid-template-columns: minmax(0, 1fr); }
  .scope-art { display: none; }
  .faq-row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .spec__draw svg { min-width: 0; } /* чертёж масштабируется под ширину рамки */
  .ruler__label { font-size: 10px; letter-spacing: .06em; }
}
@media (max-width: 620px) {
  .ld-nav__phone { display: none; }
  .eu-card__title { font-size: clamp(32px, 9.5vw, 44px); }
  .eu-card__foot-price { font-size: clamp(24px, 7vw, 30px); }
}
@media (max-width: 480px) {
  .ld-sec { padding-top: 64px; padding-bottom: 64px; }
  .ld-h2 { font-size: clamp(36px, 11vw, 52px); }
  .sec-head, .sec-head--process, .sec-head--price { gap: 20px; margin-bottom: 40px; }
  .hero__ctas .btn { width: 100%; justify-content: center; }
  .eu-card { min-height: 0; padding: 26px 20px; }
  .eu-card__top { flex-wrap: wrap; gap: 8px; }
  .dir-card { padding: 20px; }
  .dir-card__name { font-size: 26px; }
  .sit-card { min-height: 0; padding: 22px 20px; }
  .spec { padding: 22px 18px 26px; }
  .ld-foot__in { padding-top: 48px; }
  .ld-foot__grid { gap: 32px; }
  .ld-foot__bottom { margin-top: 36px; }
  /* моб: подпись d606k слева, с отступом от реквизитов */
  .ld-foot__sig { justify-content: flex-start; margin-top: 32px; }
  .ld-foot__sig + .ld-foot__bottom { margin-top: 12px; }
}
