/* Светлый вариант главной. Конкуренты все тёмные, поэтому здесь воздух, тепло и цвет. */

.lt {
  --bg: #fbfaf7;
  --card: #ffffff;
  --ink: #16181b;
  --text: #4a4f57;
  --muted: #686e75;
  --line: #ebe8e2;
  --gold: #e8a908;
  --gold-2: #ffc233;
  --copper: #c1622a;
  --r: 22px;
  --sh: 0 30px 60px -35px rgba(22, 24, 27, .35);
  --ease: cubic-bezier(.2, .7, .3, 1);

  background: var(--bg);
  color: var(--text);
  font: 400 17px/1.7 Inter, "Segoe UI", Arial, sans-serif;
}
.lt h1, .lt h2, .lt h3 { font-family: "Space Grotesk", "Segoe UI", sans-serif; color: var(--ink);
  font-weight: 600; letter-spacing: -.02em; }
.lt p { margin: 0 0 14px; }
.lt a { color: inherit; text-decoration: none; }
.lt img { display: block; max-width: 100%; height: auto; }
.lt-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.lt-sec { padding: 72px 0; position: relative; }

/* мягкие цветные пятна на фоне: то, чего у конкурентов нет */
.lt-blob { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .5; z-index: 0;
  pointer-events: none; }
.lt-blob--gold { width: 520px; height: 520px; background: rgba(232, 169, 8, .35); }
.lt-blob--copper { width: 460px; height: 460px; background: rgba(193, 98, 42, .25); }

/* шапка на светлом фоне: белая, с чёткими ссылками */
.lt .head { background: #fff; box-shadow: 0 1px 0 var(--line); }
.lt .nav > a, .lt .nav__more > button { color: #3d434b; }
.lt .nav > a:hover, .lt .nav__more > button:hover { color: var(--copper); }
.lt .nav > a.is-active { color: var(--copper); }
.lt .brand__t b { color: var(--ink); }
.lt .brand__t i { color: var(--muted); }
.lt .head__phone { color: var(--muted); }
.lt .head__phone b { color: var(--ink); }
.lt .head__phone svg { color: var(--gold); }

/* ——— первый экран ——— */
.lt-hero { position: relative; overflow: hidden; padding: 78px 0 40px; }
.lt-hero .lt-blob--gold { top: -180px; right: -120px; }
.lt-hero .lt-blob--copper { bottom: -220px; left: -160px; }
.lt-hero__in { position: relative; z-index: 2; display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 56px; align-items: center; }
.lt-eyebrow { display: inline-flex; align-items: center; gap: 9px; padding: 8px 16px;
  background: #fff; border: 1px solid var(--line); border-radius: 100px;
  font-size: 13.5px; letter-spacing: .02em; color: var(--copper); box-shadow: var(--sh); }
.lt-hero h1 { margin: 22px 0 18px; font-size: clamp(38px, 5vw, 66px); line-height: 1.04; }
.lt-hero h1 em { font-style: normal; background: linear-gradient(92deg, var(--copper), var(--gold));
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.lt-hero__lead { max-width: 52ch; font-size: 18.5px; }
.lt-act { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.lt-btn { display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px;
  border-radius: 100px; background: var(--ink); color: #fff; font-size: 15.5px; font-weight: 500;
  transition: transform .3s var(--ease), box-shadow .3s, background .3s; }
.lt-btn:hover { transform: translateY(-2px); box-shadow: 0 18px 32px -18px rgba(22, 24, 27, .8); }
.lt-btn--gold { background: linear-gradient(92deg, var(--gold), var(--gold-2)); color: var(--ink); }
.lt-btn--gold:hover { box-shadow: 0 18px 32px -16px rgba(232, 169, 8, .9); }
.lt-btn--ghost { background: #fff; color: var(--ink); border: 1px solid var(--line); }

/* видео в светлом окне, а не на весь тёмный экран */
.lt-hero__media { position: relative; border-radius: 26px; overflow: hidden;
  box-shadow: var(--sh); background: #111; aspect-ratio: 4 / 3; }
.lt-hero__media img, .lt-hero__media video { width: 100%; height: 100%; object-fit: cover; }
.lt-hero__media video { position: absolute; inset: 0; opacity: 0; transition: opacity .9s var(--ease); }
.lt-hero__media video.is-on { opacity: 1; }
.lt-badge { position: absolute; left: 18px; bottom: 18px; z-index: 3; display: flex; gap: 10px;
  align-items: center; padding: 12px 18px; background: rgba(255, 255, 255, .92);
  border-radius: 100px; font-size: 14px; color: var(--ink); backdrop-filter: blur(6px); }
.lt-badge b { font-family: "Space Grotesk", sans-serif; }

/* мини-факты под первым экраном */
.lt-facts { position: relative; z-index: 2; display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 46px; }
.lt-fact { padding: 24px; background: var(--card); border-radius: var(--r);
  border: 1px solid var(--line); transition: transform .35s var(--ease), box-shadow .35s; }
.lt-fact:hover { transform: translateY(-4px); box-shadow: var(--sh); }
.lt-fact b { display: block; font-family: "Space Grotesk", sans-serif; font-size: 34px;
  line-height: 1.1; color: var(--ink); }
.lt-fact span { display: block; margin-top: 6px; font-size: 14.5px; color: var(--muted); }

/* ——— общие заголовки секций ——— */
.lt-head { max-width: 760px; margin: 0 auto 36px; text-align: center; }
.lt-head h2 { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.14; }
.lt-head p { margin-top: 12px; font-size: 17.5px; color: var(--muted); }
.lt-tag { display: inline-block; margin-bottom: 14px; padding: 6px 14px; border-radius: 100px;
  background: rgba(232, 169, 8, .15); color: var(--copper); font-size: 13px;
  letter-spacing: .12em; text-transform: uppercase; }

/* ——— продукция ——— */
.lt-prods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.lt-prod { display: block; background: var(--card); border-radius: var(--r); overflow: hidden;
  border: 1px solid var(--line); transition: transform .4s var(--ease), box-shadow .4s; }
.lt-prod:hover { transform: translateY(-6px); box-shadow: var(--sh); }
.lt-prod__pic { aspect-ratio: 4 / 3; overflow: hidden; background: #f2efe9; }
.lt-prod__pic img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.lt-prod:hover .lt-prod__pic img { transform: scale(1.06); }
.lt-prod__body { padding: 22px 24px 26px; }
.lt-prod__body b { display: block; font-family: "Space Grotesk", sans-serif; font-size: 19px;
  color: var(--ink); margin-bottom: 6px; }
.lt-prod__body span { display: block; font-size: 15px; color: var(--muted); }
.lt-prod__mark { display: inline-block; margin-top: 14px; padding: 5px 12px; border-radius: 100px;
  background: rgba(193, 98, 42, .1); color: var(--copper); font-size: 13px; }

/* ——— цифры на цветной полосе ——— */
.lt-nums { background: linear-gradient(100deg, #1b1d20, #2a2016); border-radius: 30px;
  padding: 56px 40px; color: rgba(255, 255, 255, .78); }
.lt-nums h2 { color: #fff; }
.lt-nums__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px;
  margin-top: 34px; }
.lt-num b { display: block; font-family: "Space Grotesk", sans-serif; font-size: clamp(38px, 4vw, 56px);
  line-height: 1; background: linear-gradient(92deg, var(--gold-2), var(--copper));
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.lt-num span { display: block; margin-top: 10px; font-size: 15px; color: rgba(255, 255, 255, .6); }

/* ——— мозаика цеха ——— */
.lt-shop { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 200px;
  gap: 16px; grid-auto-flow: dense; }
.lt-shot { position: relative; overflow: hidden; border-radius: 18px; background: #eee; }
.lt-shot img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.lt-shot:hover img { transform: scale(1.06); }
.lt-shot span { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 16px 14px;
  font-size: 13.5px; color: #fff;
  background: linear-gradient(180deg, transparent, rgba(20, 20, 20, .82)); }
.lt-shot--wide { grid-column: span 2; }
.lt-shot--tall { grid-row: span 2; }

/* ——— услуги ——— */
.lt-servs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.lt-serv { padding: 26px; background: var(--card); border: 1px solid var(--line);
  border-radius: var(--r); transition: transform .35s var(--ease), box-shadow .35s, border-color .3s; }
.lt-serv:hover { transform: translateY(-4px); box-shadow: var(--sh); border-color: transparent; }
.lt-serv b { display: block; font-family: "Space Grotesk", sans-serif; font-size: 17.5px;
  color: var(--ink); margin-bottom: 8px; }
.lt-serv span { font-size: 15px; color: var(--muted); }

/* ——— приём лома ——— */
.lt-scrap { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 40px;
  align-items: start; }
.lt-table { background: var(--card); border: 1px solid var(--line); border-radius: var(--r);
  overflow: hidden; }
.lt-table table { width: 100%; border-collapse: collapse; }
.lt-table th { padding: 16px 20px; background: #f5f2ec; font-size: 12.5px; letter-spacing: .1em;
  text-transform: uppercase; color: var(--muted); text-align: left; }
.lt-table td { padding: 15px 20px; border-top: 1px solid var(--line); font-size: 15.5px; }
.lt-table tr:hover td { background: rgba(232, 169, 8, .07); }
.lt-point { padding: 32px; border-radius: var(--r);
  background: linear-gradient(150deg, #fff5df, #ffe9c4); border: 1px solid rgba(232, 169, 8, .35); }
.lt-point h3 { font-size: 22px; margin-bottom: 10px; }
.lt-point ul { list-style: none; margin: 16px 0; }
.lt-point li { padding: 7px 0; border-bottom: 1px dashed rgba(22, 24, 27, .12); font-size: 15px; }
.lt-point .lt-btn { width: 100%; justify-content: center; margin-top: 18px; }

/* ——— партнёры ——— */
.lt-logos { overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.lt-logos__run { display: flex; gap: 16px; width: max-content; animation: ltRun 40s linear infinite; }
.lt-logos:hover .lt-logos__run { animation-play-state: paused; }
@keyframes ltRun { to { transform: translateX(-50%); } }
.lt-logo { flex: none; width: 200px; height: 116px; display: grid; place-items: center; padding: 18px;
  background: var(--card); border: 1px solid var(--line); border-radius: 18px; }
.lt-logo img { max-height: 62px; width: auto; object-fit: contain; }

/* ——— заявка ——— */
.lt-cta { position: relative; overflow: hidden; border-radius: 30px; padding: 62px 48px;
  background: linear-gradient(100deg, #fff3d6, #ffe2b8 55%, #ffd7c2); }
.lt-cta .lt-blob--copper { top: -140px; right: -100px; opacity: .45; }
.lt-cta__in { position: relative; z-index: 2; display: grid;
  grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center; }
.lt-cta h2 { font-size: clamp(26px, 3vw, 38px); }
.lt-cta p { max-width: 54ch; margin-top: 12px; color: #6b5a3c; }
.lt-contacts { display: grid; gap: 12px; text-align: right; }
.lt-contacts a { font-family: "Space Grotesk", sans-serif; font-size: 26px; color: var(--ink); }
.lt-contacts a:hover { color: var(--copper); }
.lt-contacts small { font-size: 14.5px; color: #6b5a3c; }

/* ——— бегущая строка марок ——— */
.lt-ticker { padding: 18px 0; background: var(--ink); overflow: hidden; }
.lt-ticker__in { display: flex; width: max-content; white-space: nowrap;
  animation: ltRun 46s linear infinite; }
.lt-ticker span { font-family: "Space Grotesk", sans-serif; font-size: 13.5px; letter-spacing: .18em;
  color: rgba(255, 255, 255, .5); }

/* появления */
.lt [data-reveal] { opacity: 0; transform: translateY(26px);
  transition: opacity .7s var(--ease), transform .7s var(--ease); }
.lt [data-reveal].is-in { opacity: 1; transform: none; }

@media (max-width: 1024px) {
  .lt-hero__in, .lt-scrap, .lt-cta__in { grid-template-columns: 1fr; }
  .lt-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lt-prods, .lt-servs, .lt-nums__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lt-shop { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 160px; }
  .lt-contacts { text-align: left; }
}
@media (max-width: 600px) {
  .lt-sec { padding: 62px 0; }
  .lt-facts, .lt-prods, .lt-servs, .lt-nums__grid { grid-template-columns: 1fr; }
  .lt-shot--tall { grid-row: span 1; }
  .lt-cta, .lt-nums { padding: 38px 24px; border-radius: 22px; }
}

/* ——— движение: то, что сразу читается как «сделано сейчас» ——— */

/* фон дышит: пятна медленно плывут */
@keyframes ltFloat1 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(60px, -40px) scale(1.12); }
  66% { transform: translate(-30px, 40px) scale(.94); }
}
@keyframes ltFloat2 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  40% { transform: translate(-70px, 50px) scale(1.15); }
  75% { transform: translate(40px, -30px) scale(.9); }
}
.lt-blob--gold { animation: ltFloat1 22s ease-in-out infinite; }
.lt-blob--copper { animation: ltFloat2 26s ease-in-out infinite; }

/* подсветка за курсором в первом экране */
.lt-hero__glow {
  position: absolute; width: 460px; height: 460px; margin: -230px 0 0 -230px;
  border-radius: 50%; pointer-events: none; z-index: 1; opacity: 0;
  background: radial-gradient(circle, rgba(232, 169, 8, .3), transparent 62%);
  transition: opacity .5s var(--ease);
}
.lt-hero:hover .lt-hero__glow { opacity: 1; }

/* заголовок выходит по словам */
.lt-hero h1 .w { display: inline-block; opacity: 0; filter: blur(10px);
  transform: translateY(26px); animation: ltWord .9s var(--ease) forwards; }
@keyframes ltWord { to { opacity: 1; filter: blur(0); transform: none; } }

/* остальное первого экрана подтягивается следом */
.lt-hero__lead, .lt-act, .lt-eyebrow, .lt-hero__media {
  opacity: 0; animation: ltUp .9s var(--ease) forwards; }
@keyframes ltUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.lt-eyebrow { animation-delay: .05s; }
.lt-hero__lead { animation-delay: .5s; }
.lt-act { animation-delay: .62s; }
.lt-hero__media { animation-delay: .3s; }
.lt-facts .lt-fact { opacity: 0; animation: ltUp .8s var(--ease) forwards; }
.lt-facts .lt-fact:nth-child(1) { animation-delay: .72s; }
.lt-facts .lt-fact:nth-child(2) { animation-delay: .8s; }
.lt-facts .lt-fact:nth-child(3) { animation-delay: .88s; }
.lt-facts .lt-fact:nth-child(4) { animation-delay: .96s; }

/* появление секций: с размытием и лёгким приближением */
.lt [data-reveal] { opacity: 0; transform: translateY(30px) scale(.985); filter: blur(6px);
  transition: opacity .8s var(--ease), transform .8s var(--ease), filter .8s var(--ease); }
.lt [data-reveal].is-in { opacity: 1; transform: none; filter: blur(0); }

/* карточки слегка наклоняются под курсором */
.lt-prod, .lt-fact, .lt-serv { transform-style: preserve-3d; will-change: transform; }
.lt-prod:hover, .lt-fact:hover, .lt-serv:hover { box-shadow: var(--sh); }

/* кнопка тянется к курсору */
.lt-btn { will-change: transform; }

/* шапка становится стеклянной при прокрутке */
.lt .head { transition: background .35s, box-shadow .35s, backdrop-filter .35s; }
.lt.is-scrolled .head { background: rgba(255, 255, 255, .82); backdrop-filter: blur(14px) saturate(1.4);
  box-shadow: 0 10px 30px -22px rgba(22, 24, 27, .8); }

/* галерея цеха листается вбок: перетаскиванием или колесом */
.lt-shop--rail { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory;
  padding-bottom: 12px; cursor: grab; scrollbar-width: thin; }
.lt-shop--rail::-webkit-scrollbar { height: 6px; }
.lt-shop--rail::-webkit-scrollbar-thumb { background: rgba(22, 24, 27, .2); border-radius: 100px; }
.lt-shop--rail.is-drag { cursor: grabbing; scroll-snap-type: none; }
.lt-shop--rail .lt-shot { flex: none; width: 340px; height: 250px; scroll-snap-align: start; }
.lt-shop--rail .lt-shot--wide { width: 520px; }
.lt-rail-hint { margin-top: 12px; text-align: center; font-size: 13.5px; color: var(--muted); }

/* бегущая строка марок в обратную сторону, чтобы не дублировать верхнюю */
.lt-ticker--back .lt-ticker__in { animation-direction: reverse; }

/* цифры подсвечиваются, когда доходят до экрана */
.lt-num.is-in b { animation: ltPulse 1.4s var(--ease); }
@keyframes ltPulse { 40% { transform: scale(1.06); } }

@media (prefers-reduced-motion: reduce) {
  .lt-blob, .lt-hero h1 .w, .lt-hero__lead, .lt-act, .lt-eyebrow, .lt-hero__media,
  .lt-facts .lt-fact, .lt-num.is-in b { animation: none !important; opacity: 1 !important;
    transform: none !important; filter: none !important; }
  .lt [data-reveal] { opacity: 1; transform: none; filter: none; }
}

/* ═══ вариант 3: видео на весь экран и смена блоков при прокрутке ═══ */

.lt-full { position: relative; height: 100vh; min-height: 620px; overflow: hidden; }
.lt-full__media { position: absolute; inset: 0; background: #14161a; }
.lt-full__media img, .lt-full__media video { width: 100%; height: 100%; object-fit: cover; }
.lt-full__media video { position: absolute; inset: 0; opacity: 0; transition: opacity 1s var(--ease); }
.lt-full__media video.is-on { opacity: 1; }
.lt-full::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(75% 70% at 22% 45%, rgba(16, 12, 6, .82), transparent 72%),
    linear-gradient(180deg, rgba(16, 14, 12, .62) 0%, rgba(16, 14, 12, .3) 40%, var(--bg) 99%);
}
.lt-full__in { position: relative; z-index: 2; height: 100%; display: flex; align-items: center; }
.lt-full h1 { color: #fff; font-size: clamp(40px, 6.4vw, 92px); line-height: .98; margin: 20px 0 22px;
  text-shadow: 0 20px 50px rgba(0, 0, 0, .35); }
.lt-full h1 em { font-style: normal;
  background: linear-gradient(92deg, #ffd166, #ff9a4d);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.lt-full__lead { max-width: 46ch; color: rgba(255, 255, 255, .86); font-size: 19px; }
.lt-full .lt-eyebrow { background: rgba(255, 255, 255, .14); border-color: rgba(255, 255, 255, .3);
  color: #ffe0a8; box-shadow: none; backdrop-filter: blur(8px); }
.lt-full .lt-btn--ghost { background: rgba(255, 255, 255, .12); color: #fff;
  border-color: rgba(255, 255, 255, .38); backdrop-filter: blur(8px); }
.lt-scrolldown { position: absolute; left: 50%; bottom: 34px; z-index: 3; margin-left: -13px;
  width: 26px; height: 42px; border: 1.5px solid rgba(255, 255, 255, .5); border-radius: 20px; }
.lt-scrolldown i { position: absolute; left: 50%; top: 9px; width: 3px; height: 7px; margin-left: -1.5px;
  border-radius: 2px; background: #ffd166; animation: ltDot 1.9s var(--ease) infinite; }
@keyframes ltDot { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; }
  100% { opacity: 0; transform: translateY(15px); } }

/* липкая секция: экран стоит, содержимое меняется */
.lt-pin { position: relative; }
.lt-pin__stage { position: sticky; top: 0; height: 100vh; display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 50px;
  max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.lt-pin__side h2 { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.1; }
.lt-pin__count { margin-top: 26px; font-family: "Space Grotesk", sans-serif; font-size: 15px;
  color: var(--muted); letter-spacing: .1em; }
.lt-pin__count b { color: var(--copper); font-size: 30px; }
.lt-pin__slides { position: relative; height: 66vh; }
.lt-slide { position: absolute; inset: 0; opacity: 0; transform: scale(.94) translateY(30px);
  transition: opacity .7s var(--ease), transform .7s var(--ease); pointer-events: none; }
.lt-slide.is-on { opacity: 1; transform: none; pointer-events: auto; }
.lt-slide__pic { height: 74%; border-radius: 26px; overflow: hidden; box-shadow: var(--sh);
  background: #f0ece4; }
.lt-slide__pic img { width: 100%; height: 100%; object-fit: cover; }
.lt-slide__body { padding-top: 20px; }
.lt-slide__body b { display: block; font-family: "Space Grotesk", sans-serif; font-size: 25px;
  color: var(--ink); }
.lt-slide__body span { display: block; margin-top: 6px; color: var(--muted); }
.lt-slide__body i { display: inline-block; margin-top: 12px; padding: 5px 14px; border-radius: 100px;
  font-style: normal; font-size: 13.5px; background: rgba(193, 98, 42, .12); color: var(--copper); }
.lt-dots { display: flex; gap: 8px; margin-top: 26px; }
.lt-dots span { width: 28px; height: 4px; border-radius: 100px; background: rgba(22, 24, 27, .14);
  transition: background .4s, width .4s; }
.lt-dots span.is-on { width: 52px; background: linear-gradient(92deg, var(--gold), var(--copper)); }

@media (max-width: 900px) {
  .lt-pin__stage { grid-template-columns: 1fr; height: auto; position: static; padding: 40px 24px; }
  .lt-pin__slides { height: 460px; }
  .lt-full h1 { font-size: clamp(34px, 8vw, 54px); }
}

/* заголовок разбивается на слова, поэтому градиент вешаем на сами слова */
.lt-hero h1 em .w {
  background: linear-gradient(92deg, var(--copper), var(--gold));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.lt-full h1 em .w {
  background: linear-gradient(92deg, #ffd166, #ff9a4d);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ═══ вариант 3: секции — карточки, которые собираются стопкой ═══ */

.st { position: relative; padding: 0 0 40px; }
.st-card {
  position: sticky;
  top: 96px;
  max-width: 1240px;
  margin: 0 auto 28px;
  padding: 54px 48px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 32px;
  box-shadow: 0 40px 80px -50px rgba(22, 24, 27, .45);
  transition: transform .5s var(--ease), opacity .5s var(--ease);
}
.st-card:last-child { margin-bottom: 0; }
/* нижние карточки чуть уходят вглубь, когда на них наезжает следующая */
.st-card.is-under { transform: scale(.965) translateY(-10px); opacity: .55; }
.st-card--dark { background: linear-gradient(100deg, #1b1d20, #2a2016); border-color: transparent;
  color: rgba(255, 255, 255, .78); }
.st-card--dark h2, .st-card--dark .lt-head h2 { color: #fff; }
.st-card--warm { background: linear-gradient(120deg, #fff5df, #ffe9c4); border-color: rgba(232,169,8,.3); }
.st-card .lt-head { margin-bottom: 30px; }
.st-card > .lt-head:first-child { margin-top: 0; }

/* слайдер продукции внутри карточки */
.pslide { position: relative; }
.pslide__track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-behavior: smooth; padding-bottom: 6px; scrollbar-width: none; }
.pslide__track::-webkit-scrollbar { display: none; }
.pslide__item { flex: 0 0 calc(33.333% - 14px); scroll-snap-align: start; }
.pslide__nav { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; }
.pslide__dots { display: flex; gap: 7px; }
.pslide__dots span { width: 26px; height: 4px; border-radius: 100px; background: rgba(22,24,27,.14);
  transition: width .35s, background .35s; cursor: pointer; }
.pslide__dots span.is-on { width: 48px; background: linear-gradient(92deg, var(--gold), var(--copper)); }
.pslide__arrows { display: flex; gap: 10px; }
.pslide__arrows button { width: 46px; height: 46px; display: grid; place-items: center; padding: 0;
  border: 1px solid var(--line); border-radius: 50%; background: #fff; cursor: pointer;
  font-size: 19px; color: var(--ink); transition: background .25s, transform .25s var(--ease); }
.pslide__arrows button:hover { background: var(--ink); color: #fff; transform: translateY(-2px); }
.pslide__arrows button:disabled { opacity: .35; cursor: default; transform: none; background: #fff;
  color: var(--ink); }

@media (max-width: 1024px) {
  .st-card { padding: 40px 26px; border-radius: 26px; top: 80px; }
  .pslide__item { flex: 0 0 calc(50% - 10px); }
}
@media (max-width: 640px) {
  .st-card { position: static; transform: none !important; opacity: 1 !important; }
  .pslide__item { flex: 0 0 86%; }
}


/* ═══ вариант 3: экраны собираются стопкой, как папки в архиве ═══ */

body.fp-on { overflow: hidden; }
body.fp-on .head { position: fixed; left: 0; right: 0; top: 0; z-index: 60; }

.fp { height: 100vh; overflow-y: scroll; scrollbar-width: none; }
.fp::-webkit-scrollbar { display: none; }

/* каждый экран прилипает к верху, следующий наезжает на него сверху */
.fp-sec {
  position: sticky;
  top: 0;
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 106px 0 58px;
  background: var(--bg);
  border-radius: 40px 40px 0 0;
  box-shadow: 0 -30px 70px -26px rgba(22, 24, 27, .5);
  will-change: transform;
}
.fp-sec:first-child { border-radius: 0; box-shadow: none; }
/* уходящий экран притухает: отдельный слой дешевле фильтра */
.fp-sec::after {
  content: ""; position: absolute; inset: 0; z-index: 6; pointer-events: none;
  background: #12100c; opacity: var(--p, 0);
}
.fp-sec > .lt-wrap { width: 100%; }
.fp-sec--hero { padding: 0; }
.fp-sec--warm { background: linear-gradient(120deg, #fff6e2, #ffe9c6); }
.fp-sec--dark { background: linear-gradient(100deg, #1b1d20, #2a2016); color: rgba(255,255,255,.78); }
.fp-sec--dark h2, .fp-sec--dark .lt-head h2 { color: #fff; }
.fp-sec--dark .lt-head p { color: rgba(255, 255, 255, .6); }
.fp-sec--dark .lt-shot { border-color: rgba(255, 255, 255, .12); }

/* панель навигации справа: стрелка, точки, стрелка */
.fp-nav { position: fixed; right: 22px; top: 50%; transform: translateY(-50%); z-index: 80;
  display: flex; flex-direction: column; align-items: center; gap: 15px; }
.fp-nav__dots { display: flex; flex-direction: column; align-items: center; gap: 13px; }
.fp-nav__dots button { position: relative; width: 10px; height: 10px; padding: 0; border: 0;
  cursor: pointer; border-radius: 50%; background: rgba(22, 24, 27, .25);
  box-shadow: 0 0 0 4px rgba(255, 255, 255, .1);
  transition: background .3s, transform .3s var(--ease); }
.fp-nav__dots button:hover { transform: scale(1.35); }
.fp-nav__dots button.is-on { background: linear-gradient(92deg, var(--gold), var(--copper));
  transform: scale(1.45); }
.fp-nav__dots button span { position: absolute; right: 22px; top: 50%; transform: translateY(-50%);
  white-space: nowrap; font: 500 12.5px/1 Inter, Arial, sans-serif; color: var(--ink);
  background: #fff; padding: 7px 12px; border-radius: 100px; box-shadow: var(--sh);
  opacity: 0; pointer-events: none; transition: opacity .25s; }
.fp-nav__dots button:hover span { opacity: 1; }

.fp-arr { width: 34px; height: 34px; display: grid; place-items: center; padding: 0; border: 0;
  border-radius: 50%; cursor: pointer; color: var(--ink); background: rgba(255, 255, 255, .92);
  box-shadow: 0 8px 20px -10px rgba(22, 24, 27, .6);
  transition: transform .25s var(--ease), background .25s, color .25s, opacity .25s; }
.fp-arr:hover { background: var(--ink); color: #fff; }
.fp-arr--up:hover { transform: translateY(-3px); }
.fp-arr--down:hover { transform: translateY(3px); }
.fp-arr[disabled] { opacity: .22; pointer-events: none; }

/* на тёмном экране панель перекрашивается */
body.fp-dark .fp-nav__dots button { background: rgba(255, 255, 255, .38); }
body.fp-dark .fp-nav__dots button.is-on { background: linear-gradient(92deg, var(--gold-2), var(--copper)); }
body.fp-dark .fp-arr { background: rgba(255, 255, 255, .18); color: #fff;
  box-shadow: 0 8px 20px -10px rgba(0, 0, 0, .8); }
body.fp-dark .fp-arr:hover { background: #fff; color: var(--ink); }

/* внутри экрана всё компактнее, чтобы влезало без прокрутки */
.fp-sec .lt-head { margin-bottom: 24px; }
.fp-sec .lt-head h2 { font-size: clamp(26px, 2.9vw, 37px); }
.fp-sec .lt-prod__pic { aspect-ratio: 16 / 11; }
.fp-sec .lt-shop--rail .lt-shot { height: 210px; }
.fp-sec .lt-servs { gap: 14px; }
.fp-sec .lt-serv { padding: 20px; }
.fp-sec .lt-table td { padding: 10px 18px; }
.fp-sec .lt-nums__grid { margin-top: 26px; }

/* экран производства: лента цеха и цифры под ней */
.fp-prod__nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px;
  margin-top: 30px; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .12); }

/* экран контактов: три карточки и строка партнёров */
.fp-conts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.fp-cont { display: block; padding: 24px 26px; border-radius: var(--r); background: #fff;
  border: 1px solid rgba(232, 169, 8, .28); box-shadow: 0 30px 60px -46px rgba(22, 24, 27, .5);
  text-decoration: none; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
a.fp-cont:hover { transform: translateY(-5px); box-shadow: 0 34px 60px -40px rgba(22, 24, 27, .55); }
.fp-cont span { display: block; font-size: 13px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--copper); }
.fp-cont b { display: block; margin: 9px 0 6px; font-family: "Space Grotesk", sans-serif;
  font-size: 21px; font-weight: 500; line-height: 1.25; color: var(--ink); }
.fp-cont i { font-style: normal; font-size: 14px; line-height: 1.5; color: #7a6748; }
.fp-part { margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(232, 169, 8, .3); }
.fp-part__t { display: block; margin-bottom: 14px; text-align: center; font-size: 14px;
  letter-spacing: .08em; text-transform: uppercase; color: #7d6844; }
.fp-part .lt-logos { background: none; padding: 0; }

/* невысокие экраны ноутбуков */
@media (max-height: 780px) {
  .fp-sec { padding: 94px 0 46px; }
  .fp-sec .lt-head { margin-bottom: 18px; }
  .fp-sec .lt-head p { display: none; }
  .fp-sec .lt-shop--rail .lt-shot { height: 172px; }
  .fp-sec .lt-serv { padding: 15px 18px; }
  .fp-sec .lt-table td { padding: 7px 16px; }
  .fp-sec .lt-nums__grid, .fp-prod__nums { margin-top: 20px; padding-top: 18px; }
  .fp-cont { padding: 18px 20px; }
  .fp-part { margin-top: 20px; padding-top: 16px; }
}

/* телефон: обычная страница, без стопки и без панели */
@media (max-width: 900px) {
  body.fp-on { overflow: auto; }
  .fp { height: auto; overflow: visible; }
  .fp-sec { position: static; height: auto; min-height: 0; padding: 64px 0;
    border-radius: 0; box-shadow: none; transform: none !important; }
  .fp-sec::after { display: none; }
  .fp-nav { display: none; }
  .fp-conts { grid-template-columns: 1fr; }
}

/* заголовок первого экрана держим по центру колонки */
.fp-sec--hero .lt-full__in { width: 100%; }
.fp-sec--hero .lt-full__in .lt-wrap { width: 100%; margin: 0 auto; }

/* метка ГОСТ по ширине текста, а не на всю карточку */
.lt-prod__mark { display: inline-block; }

/* карточки продукции в слайдере одной высоты, метка прижата к низу */
.pslide__item .lt-prod { display: flex; flex-direction: column; height: 100%; }
.pslide__item .lt-prod__body { flex: 1; display: flex; flex-direction: column; }
.pslide__item .lt-prod__mark { margin-top: auto; align-self: flex-start; }

/* экран услуг: слева текст, справа плитка карточек */
.fp-split { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 48px; align-items: center; }
.fp-split__side h2 { margin: 14px 0 14px; font-size: clamp(27px, 2.9vw, 39px); line-height: 1.12; }
.fp-split__side p { max-width: 38ch; margin-bottom: 24px; color: var(--muted); }
.fp-sec .lt-servs--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) { .fp-split { grid-template-columns: 1fr; gap: 26px; } }

/* карточка уходит в стопку с наклоном — прячем изнанку */
.fp-sec { backface-visibility: hidden; transform-origin: 50% 45%; }

/* лента цеха: тонкая полоса прокрутки вместо системной */
.fp-sec .lt-shop--rail { scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.3) transparent; }
.fp-sec .lt-shop--rail::-webkit-scrollbar { height: 6px; }
.fp-sec .lt-shop--rail::-webkit-scrollbar-track { background: transparent; }
.fp-sec .lt-shop--rail::-webkit-scrollbar-thumb { border-radius: 100px;
  background: rgba(255, 255, 255, .28); }

/* на высоких экранах фотографии цеха крупнее, чтобы не было пустоты */
.fp-sec .lt-shop--rail .lt-shot { height: clamp(170px, 27vh, 330px); }

/* последний экран: контакты сверху, футер прижат к низу */
.fp-sec--last { display: block; padding: 0; }
.fp-last { height: 100%; display: flex; flex-direction: column; }
.fp-last__body { flex: 1; min-height: 0; display: flex; align-items: center; padding: 100px 0 22px; }
.fp-last__body > .lt-wrap { width: 100%; }

.foot--fp { padding: 24px 0 62px; font-size: 13.5px; }
.foot--fp .foot__grid { gap: 26px; }
.foot--fp .foot__brand { margin-bottom: 9px; }
.foot--fp .foot__brand img { width: 34px; }
.foot--fp .foot__brand b { font-size: 16px; }
.foot--fp .foot__about p { margin-bottom: 6px; }
.foot--fp h4 { margin-bottom: 9px; }
.foot--fp ul { gap: 6px; }
.foot--fp .foot__phone { font-size: 18px; }
.foot--fp .foot__contacts span { margin-bottom: 4px; }
.foot--fp .foot__bot { margin-top: 16px; padding-top: 12px; }

/* партнёры на тёмном экране производства */
.fp-part--dark { border-top-color: rgba(255, 255, 255, .12); }
.fp-part--dark .fp-part__t { color: rgba(255, 255, 255, .5); }

/* футер поджимаем, чтобы последний экран не переполнялся */
.foot--fp { padding: 20px 0 54px; }
@media (max-height: 900px) {
  .foot--fp .foot__about p:not(.foot__req) { display: none; }
  .foot--fp .foot__req + .foot__req { display: none; }
}
@media (max-height: 800px) {
  .fp-last__body { padding-top: 92px; }
  .foot--fp ul li:nth-child(n+5) { display: none; }
  .foot--fp .foot__bot { margin-top: 12px; }
}

/* поджимаем экраны: содержимое не должно упираться в шапку и переключатель */
.fp-sec { padding: 106px 0 78px; }
.fp-sec .lt-shop--rail .lt-shot { height: clamp(158px, 24vh, 300px); }
.fp-prod__nums { margin-top: 22px; padding-top: 20px; }
.fp-part { margin-top: 22px; padding-top: 18px; }
.fp-part__t { margin-bottom: 10px; }
.fp-part .lt-logo { width: 168px; height: 92px; padding: 14px; }
.fp-part .lt-logo img { max-height: 52px; }
.fp-last__body { padding: 112px 0 20px; }
@media (max-height: 800px) {
  .fp-sec { padding: 92px 0 70px; }
  .fp-part .lt-logo { width: 148px; height: 78px; }
  .fp-part .lt-logo img { max-height: 44px; }
}

/* последний экран: контакты и футер должны уместиться вместе */
.foot--fp ul li:nth-child(n+5) { display: none; }
.fp-last__body { padding: 96px 0 16px; }
.fp-sec--last .lt-head { margin-bottom: 18px; }
.fp-sec--last .lt-head p { max-width: 62ch; margin-left: auto; margin-right: auto; }
.fp-cont { padding: 19px 22px; }
@media (max-height: 870px) {
  .fp-sec--last .lt-head p { display: none; }
  .fp-last__body { padding-top: 88px; }
}

/* у последнего экрана отступы задаёт его внутренняя разметка, не общая */
.fp-sec.fp-sec--last { padding: 0; }
@media (max-height: 870px) {
  .fp-sec.fp-sec--last .fp-last__body { padding: 76px 0 12px; }
  .foot--fp { padding-top: 14px; }
  .foot--fp .foot__bot { margin-top: 10px; }
}

.foot--fp { padding-bottom: 62px; }

/* ═══ стопка: каждый следующий экран встаёт чуть ниже, верхушки прежних видны ═══ */
.fp-sec { top: var(--t, 0px); padding: 106px 0 calc(78px + var(--t, 0px));
  transform-origin: 50% 0; }
.fp-sec.fp-sec--last { padding: 0; }
.fp-sec.fp-sec--last .fp-last { height: calc(100% - var(--t, 0px)); }
.fp { background: #e9e2d5; }

/* фоновый снимок завода за содержимым экрана */
.fp-sec--photo::before { content: ""; position: absolute; inset: 0; z-index: 0;
  pointer-events: none; background: var(--photo) center / cover no-repeat;
  opacity: .16; filter: grayscale(.4); }
.fp-sec--dark.fp-sec--photo::before { opacity: .22; filter: none; }
.fp-sec > .lt-wrap, .fp-sec > .fp-last { position: relative; z-index: 1; }

@media (max-height: 800px) {
  .fp-sec { padding: 92px 0 calc(70px + var(--t, 0px)); }
}
@media (max-width: 900px) {
  .fp-sec { padding: 64px 0; }
  .fp-sec.fp-sec--last { padding: 0; }
  .fp-sec.fp-sec--last .fp-last { height: auto; }
  .fp-sec--photo::before { opacity: .1; }
}

/* видео на первом экране: подложка потемнее, чтобы текст читался поверх искр */
.fp-sec--hero .lt-full::after {
  background:
    linear-gradient(90deg, rgba(10, 8, 5, .58) 0%, rgba(10, 8, 5, .34) 52%, rgba(10, 8, 5, .12) 100%),
    radial-gradient(75% 70% at 22% 45%, rgba(16, 12, 6, .55), transparent 72%),
    linear-gradient(180deg, rgba(16, 14, 12, .5) 0%, rgba(16, 14, 12, .26) 40%, var(--bg) 99%);
}
.fp-sec--hero h1, .fp-sec--hero .lt-full__lead { text-shadow: 0 4px 28px rgba(8, 6, 3, .55); }
.fp-sec--hero .lt-eyebrow { background: rgba(10, 8, 5, .42); }

/* отступ сверху больше не нужен: экран и так встаёт под шапкой */
.fp-sec { padding: 38px 0 calc(78px + var(--t, 0px)); }
.fp-sec.fp-sec--hero, .fp-sec.fp-sec--last { padding: 0; }
.fp-sec { box-shadow: 0 -18px 44px -18px rgba(22, 24, 27, .55); }
@media (max-height: 800px) {
  .fp-sec { padding: 30px 0 calc(70px + var(--t, 0px)); }
  .fp-sec.fp-sec--hero, .fp-sec.fp-sec--last { padding: 0; }
}
@media (max-width: 900px) {
  .fp-sec { padding: 64px 0; box-shadow: none; }
  .fp-sec.fp-sec--hero, .fp-sec.fp-sec--last { padding: 0; }
}

/* последний экран стоит ниже из-за стопки — поджимаем содержимое и футер */
.fp-sec--last .lt-head p { display: none; }
.fp-sec.fp-sec--last .fp-last__body { padding: 34px 0 14px; }
.foot--fp { padding: 12px 0 50px; }
.foot--fp ul { gap: 5px; }
.foot--fp .foot__contacts { gap: 2px; }
.foot--fp .foot__contacts span { margin-bottom: 2px; }
.foot--fp .foot__bot { margin-top: 10px; padding-top: 10px; }
@media (max-height: 870px) {
  .fp-cont { padding: 14px 18px; }
  .fp-cont b { margin: 7px 0 4px; font-size: 19px; }
  .fp-sec.fp-sec--last .fp-last__body { padding: 26px 0 12px; }
}

/* совсем невысокие экраны: на последнем оставляем только суть */
@media (max-height: 780px) {
  .fp-cont i { display: none; }
  .foot--fp { padding-bottom: 44px; }
  .foot--fp .foot__about p:not(.foot__req) { display: none; }
}

/* ═══ правки по замечаниям ═══ */

/* 1. видео на первом экране: подложка плотнее, текст читается на любом кадре */
.fp-sec--hero .lt-full::after {
  background:
    linear-gradient(90deg, rgba(8, 7, 4, .74) 0%, rgba(8, 7, 4, .52) 50%, rgba(8, 7, 4, .28) 100%),
    radial-gradient(75% 70% at 22% 45%, rgba(12, 9, 4, .58), transparent 72%),
    linear-gradient(180deg, rgba(14, 12, 10, .55) 0%, rgba(14, 12, 10, .38) 40%, var(--bg) 99%);
}

/* 6. кнопки наследовали серый цвет от соседей — возвращаем свой */
.lt a.lt-btn { color: #fff; }
.lt a.lt-btn--gold, .lt a.lt-btn--ghost { color: var(--ink); }
/* и подписи на экранах делаем контрастнее */
.fp-sec .lt-head p, .fp-sec .lt-prod__body span, .fp-sec .lt-serv span,
.fp-sec .lt-point p, .fp-sec .lt-point li { color: #6a5c47; }
.fp-sec--dark .lt-head p { color: rgba(255, 255, 255, .74); }
.fp-sec--dark .lt-num span { color: rgba(255, 255, 255, .68); }
.fp-sec .lt-table td { color: #3d3831; }

/* 7. фон экранов рисуем, а не грузим: чётко на любом мониторе и нулевой вес */
.fp-sec--art::before {
  content: ""; position: absolute; inset: -6%; z-index: 0; pointer-events: none;
  background: var(--art);
  animation: artDrift 34s ease-in-out infinite alternate;
}
.fp-art--brass {
  --art:
    radial-gradient(58% 52% at 16% 20%, rgba(232, 169, 8, .24), transparent 62%),
    radial-gradient(48% 44% at 84% 74%, rgba(193, 98, 42, .18), transparent 64%);
}
.fp-art--steel {
  --art:
    radial-gradient(55% 50% at 80% 18%, rgba(120, 132, 148, .2), transparent 62%),
    radial-gradient(52% 46% at 14% 82%, rgba(232, 169, 8, .16), transparent 64%);
}
.fp-art--amber {
  --art:
    radial-gradient(60% 55% at 22% 24%, rgba(193, 98, 42, .22), transparent 62%),
    radial-gradient(50% 46% at 82% 80%, rgba(232, 169, 8, .26), transparent 64%);
}
.fp-art--gold {
  --art:
    radial-gradient(62% 58% at 78% 22%, rgba(232, 169, 8, .22), transparent 64%),
    radial-gradient(54% 48% at 18% 78%, rgba(193, 98, 42, .14), transparent 66%);
}
@keyframes artDrift {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to { transform: translate3d(-1.6%, 1.2%, 0) scale(1.05); }
}

/* рисованные обложки продукции */
.lt-prod__pic { position: relative; display: block; overflow: hidden; }
.lt-art { display: block; width: 100%; height: 100%; }
.lt-art__gleam { position: absolute; top: 0; left: -60%; width: 44%; height: 100%; opacity: 0;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent);
  transform: skewX(-14deg); pointer-events: none; }
.lt-prod:hover .lt-art__gleam { animation: gleam 1.1s var(--ease); }
@keyframes gleam {
  0% { left: -60%; opacity: 0; }
  18% { opacity: 1; }
  100% { left: 116%; opacity: 0; }
}

/* 5. калькулятор над таблицей цен */
.fp-calc { display: grid; grid-template-columns: minmax(0, 1fr) 130px auto; gap: 14px;
  align-items: end; max-width: 720px; margin: 0 auto 22px; padding: 16px 20px;
  border-radius: var(--r); background: rgba(255, 255, 255, .8);
  border: 1px solid rgba(232, 169, 8, .35); backdrop-filter: blur(6px);
  box-shadow: 0 26px 50px -40px rgba(22, 24, 27, .6); }
.fp-calc label { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
  color: #7d6844; }
.fp-calc select, .fp-calc input { width: 100%; margin-top: 6px; padding: 10px 12px;
  border: 1px solid rgba(22, 24, 27, .14); border-radius: 12px; background: #fff;
  font: inherit; font-size: 15px; color: var(--ink); }
.fp-calc select:focus, .fp-calc input:focus { outline: 2px solid rgba(232, 169, 8, .6);
  outline-offset: 1px; }
.fp-calc__out { text-align: right; white-space: nowrap; }
.fp-calc__out span { display: block; font-size: 11px; letter-spacing: .1em;
  text-transform: uppercase; color: #7d6844; }
.fp-calc__out b { font-family: "Space Grotesk", sans-serif; font-size: 30px; color: var(--copper);
  transition: transform .3s var(--ease); }
.fp-calc__out i { font-style: normal; font-size: 13px; color: #6a5c47; margin-left: 4px; }
.fp-calc.is-calc .fp-calc__out b { animation: sumPop .5s var(--ease); }

/* 2-4. запас снизу: без него последний экран не встаёт со сдвигом и внизу зияет дыра */
.fp-tail { height: 180px; }

@media (max-width: 900px) {
  .fp-calc { grid-template-columns: 1fr; text-align: left; }
  .fp-calc__out { text-align: left; }
  .fp-tail { display: none; }
  .fp-sec--art::before { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
  .fp-sec--art::before { animation: none; }
}

/* форма заявки на последнем экране */
.fp-final { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 22px;
  align-items: start; }
.fp-form { display: grid; gap: 12px; padding: 22px 24px; border-radius: var(--r);
  background: rgba(255, 255, 255, .82); border: 1px solid rgba(232, 169, 8, .35);
  box-shadow: 0 30px 60px -46px rgba(22, 24, 27, .5); backdrop-filter: blur(6px); }
.fp-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fp-form label { display: block; font-size: 11.5px; letter-spacing: .09em; text-transform: uppercase;
  color: #7d6844; }
.fp-form input[type="text"], .fp-form input[type="tel"], .fp-form input[type="email"] { width: 100%; margin-top: 5px; padding: 10px 12px;
  border: 1px solid rgba(22, 24, 27, .14); border-radius: 12px; background: #fff;
  font: inherit; font-size: 15px; color: var(--ink); text-transform: none; letter-spacing: 0; }
.fp-form input[type="text"]:focus, .fp-form input[type="tel"]:focus,
.fp-form input[type="email"]:focus { outline: 2px solid rgba(232, 169, 8, .6);
  outline-offset: 1px; }
.fp-form__ok { display: flex; align-items: flex-start; gap: 9px; font-size: 13px;
  letter-spacing: 0; text-transform: none; color: #6a5c47; line-height: 1.45; }
.fp-form__ok input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--copper);
  flex: none; cursor: pointer; }
.fp-form__ok a { color: var(--copper); border-bottom: 1px solid rgba(193, 98, 42, .4); }
.fp-form button { justify-content: center; }
.fp-form button[disabled] { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }
.fp-form__done { display: grid; gap: 6px; place-content: center; text-align: center; min-height: 190px;
  padding: 26px; border-radius: var(--r); background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(232, 169, 8, .35); }
.fp-form__done b { font-family: "Space Grotesk", sans-serif; font-size: 22px; color: var(--ink); }
.fp-form__done span { font-size: 14.5px; color: #6a5c47; }
.fp-final .fp-conts { grid-template-columns: 1fr; gap: 10px; }
.fp-final .fp-cont { padding: 13px 18px; }
.fp-final .fp-cont b { margin: 5px 0 3px; font-size: 18px; }
.fp-final .fp-cont i { font-size: 13px; }
@media (max-width: 900px) {
  .fp-final { grid-template-columns: 1fr; }
  .fp-form__row { grid-template-columns: 1fr; }
}

/* последний экран плотный: заголовок, форма и футер должны уместиться вместе */
.fp-sec--last .lt-tag { display: none; }
.fp-sec--last .lt-head { margin-bottom: 14px; }
.fp-sec--last .lt-head h2 { font-size: clamp(24px, 2.4vw, 33px); }
.fp-form { gap: 10px; padding: 16px 20px; }
.fp-form__row { gap: 10px; }
.fp-form input[type="text"], .fp-form input[type="tel"], .fp-form input[type="email"] { padding: 9px 12px; }
.fp-form button { padding: 12px 22px; }
.fp-final .fp-cont { padding: 11px 18px; }
.fp-final .fp-cont b { font-size: 17px; }
@media (max-height: 870px) {
  .fp-final .fp-cont i { display: none; }
  .fp-form { padding: 14px 18px; }
}

/* заявка в строку и контакты одной карточкой — последний экран стал ниже */
.fp-form__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fp-form__send { display: flex; align-items: center; justify-content: space-between; gap: 16px;
  flex-wrap: wrap; }
.fp-form__send .fp-form__ok { flex: 1 1 260px; margin: 0; }
.fp-form__send button { flex: none; }
.fp-cbox { display: grid; align-content: start; padding: 6px 20px; border-radius: var(--r);
  background: rgba(255, 255, 255, .82); border: 1px solid rgba(232, 169, 8, .35);
  box-shadow: 0 30px 60px -46px rgba(22, 24, 27, .5); }
.fp-cbox > * { display: block; padding: 12px 0; text-decoration: none; }
.fp-cbox > * + * { border-top: 1px dashed rgba(22, 24, 27, .12); }
.fp-cbox span { display: block; font-size: 11.5px; letter-spacing: .09em; text-transform: uppercase;
  color: var(--copper); }
.fp-cbox b { display: block; margin-top: 3px; font-family: "Space Grotesk", sans-serif;
  font-size: 19px; font-weight: 500; color: var(--ink); }
.fp-cbox a:hover b { color: var(--copper); }
@media (max-width: 900px) { .fp-form__row { grid-template-columns: 1fr; } }

/* короткий футер для одноэкранного макета */
.foot--slim { padding: 18px 0 54px; font-size: 13.5px; }
.foot__slim { display: flex; align-items: center; justify-content: space-between; gap: 24px;
  flex-wrap: wrap; padding-bottom: 14px; }
.foot__links { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.foot__links a { color: rgba(255, 255, 255, .62); }
.foot__links a:hover { color: var(--gold); }
.foot--slim .foot__brand { margin: 0; }
.foot--slim .foot__brand img { width: 32px; }
.foot--slim .foot__brand b { font-size: 15px; }
.foot--slim .foot__bot { margin-top: 0; padding-top: 12px; gap: 6px 22px; font-size: 12.5px; }
@media (max-width: 900px) {
  .foot__slim { justify-content: flex-start; }
  .foot--slim { padding-bottom: 24px; }
}

/* подложка видео: на ярких кадрах текст всё равно должен читаться */
.fp-sec--hero .lt-full::after {
  background:
    linear-gradient(90deg, rgba(8, 7, 4, .86) 0%, rgba(8, 7, 4, .74) 44%,
      rgba(8, 7, 4, .38) 76%, rgba(8, 7, 4, .22) 100%),
    radial-gradient(72% 68% at 24% 46%, rgba(10, 8, 3, .5), transparent 74%),
    linear-gradient(180deg, rgba(14, 12, 10, .5) 0%, rgba(14, 12, 10, .34) 40%, var(--bg) 99%);
}
.fp-sec--hero h1, .fp-sec--hero .lt-full__lead { text-shadow: 0 4px 30px rgba(6, 5, 2, .8); }

/* экран приёма лома: с калькулятором стало теснее */
.fp-calc { margin-bottom: 16px; padding: 12px 18px; gap: 12px; }
.fp-sec .lt-point { padding: 24px; }
.fp-sec .lt-point li { padding: 5px 0; font-size: 14.5px; }
.fp-sec .lt-point .lt-btn { margin-top: 14px; }
.fp-sec .lt-point h3 { font-size: 20px; }
.fp-sec .lt-scrap { gap: 30px; }

/* прозрачная кнопка на видео остаётся белой */
.lt .lt-full a.lt-btn--ghost { color: #fff; }

/* ═══ фигуры на фоне: по ним понятно, о чём экран ═══ */
.fp-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.fp-bg svg { display: block; width: 100%; height: 100%; }
.fp-bg [class^="bgm"] { transform-box: view-box; }
.bgm-a { animation: bgFloatA 21s ease-in-out infinite alternate; }
.bgm-b { animation: bgFloatB 27s ease-in-out infinite alternate; }
.bgm-c { animation: bgFloatC 34s ease-in-out infinite alternate; }
.bgm-spin { transform-origin: 1180px 230px; animation: bgSpin 70s linear infinite; }
.bgm-spin-back { transform-origin: 230px 700px; animation: bgSpin 56s linear infinite reverse; }
.bgm-spin-slow { transform-origin: 1320px 450px; animation: bgSpin 110s linear infinite; }
@keyframes bgFloatA { from { transform: translate(0, -40px); } to { transform: translate(0, 46px); } }
@keyframes bgFloatB { from { transform: translate(0, 34px); } to { transform: translate(-22px, -38px); } }
@keyframes bgFloatC { from { transform: translate(18px, 20px); } to { transform: translate(-16px, -30px); } }
@keyframes bgSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* 6. подложка под текстом первого экрана */
.lt-full__panel { display: inline-block; max-width: 740px; padding: 30px 38px 34px;
  border-radius: 30px; border: 1px solid rgba(255, 255, 255, .1);
  background: linear-gradient(122deg, rgba(9, 8, 5, .66), rgba(9, 8, 5, .34)); }

/* 1. цех: аккуратный слайдер вместо горизонтальной прокрутки */
.pslide--shop .pslide__item { flex: 0 0 calc(33.333% - 14px); }
.pslide--shop .lt-shot { display: block; position: relative; overflow: hidden;
  height: clamp(150px, 23vh, 290px); border-radius: 18px; }
.pslide--shop .lt-shot img { width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s var(--ease); }
.pslide--shop .lt-shot:hover img { transform: scale(1.05); }
.pslide--shop .lt-shot span { position: absolute; left: 14px; bottom: 12px; z-index: 2;
  padding: 5px 12px; border-radius: 100px; font-size: 13px; color: #fff;
  background: rgba(10, 9, 6, .6); }
.pslide--shop .pslide__nav { margin-top: 14px; }
.fp-sec--dark .pslide__arrows button { background: rgba(255, 255, 255, .12); color: #fff;
  border-color: rgba(255, 255, 255, .22); }
.fp-sec--dark .pslide__arrows button:hover { background: #fff; color: var(--ink); }
.fp-sec--dark .pslide__arrows button:disabled { background: rgba(255, 255, 255, .08); opacity: .5; }
.fp-sec--dark .pslide__dots span { background: rgba(255, 255, 255, .25); }

/* 2. иконки услуг */
.lt-serv--ico { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 3px 14px;
  align-items: start; }
.lt-serv__i { grid-row: span 2; display: grid; place-items: center; width: 42px; height: 42px;
  border-radius: 13px; color: var(--copper);
  background: linear-gradient(140deg, rgba(232, 169, 8, .2), rgba(193, 98, 42, .14));
  transition: transform .45s var(--ease), background .35s, color .35s; }
.lt-serv--ico:hover .lt-serv__i { color: #fff;
  background: linear-gradient(140deg, var(--gold), var(--copper)); transform: scale(1.08); }
.lt-serv--ico:hover .lt-serv__i svg { animation: icoSpin 1.1s var(--ease); }
@keyframes icoSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* 3. приём лома: калькулятор во всю ширину, колонки одной высоты */
.fp-calc { max-width: none; }
.fp-sec .lt-scrap { align-items: stretch; }
.fp-sec .lt-table, .fp-sec .lt-point { height: 100%; }
.fp-sec .lt-point { display: flex; flex-direction: column; }
.fp-sec .lt-point .lt-btn { margin-top: auto; }

/* 4. футер: важные страницы и подпись разработчика */
.foot__legal { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 12px 0;
  border-top: 1px solid rgba(255, 255, 255, .1); font-size: 12.5px; }
.foot__legal a { color: rgba(255, 255, 255, .5); }
.foot__legal a:hover { color: var(--gold); }
.foot--slim .foot__bot { border-top: 1px solid rgba(255, 255, 255, .1); }
.foot__by b { color: rgba(255, 255, 255, .82); font-weight: 600; letter-spacing: .04em; }

@media (max-width: 900px) {
  .pslide--shop .pslide__item { flex: 0 0 82%; }
  .lt-full__panel { padding: 22px 20px 26px; border-radius: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .fp-bg [class^="bgm"] { animation: none; }
}

/* карточки услуг одной высоты, подложка первого экрана шире */
.fp-sec .lt-servs--2 { grid-auto-rows: 1fr; }
.lt-full__panel { max-width: 860px; }

/* появление содержимого экрана: общий механизм внутри .fp не работает */
.fp [data-reveal] { opacity: 1; transform: none; filter: none;
  transition: opacity .6s var(--ease), transform .6s var(--ease); }
.fp-sec.fp-hold [data-reveal] { opacity: 0; transform: translateY(22px); }
@media (prefers-reduced-motion: reduce) {
  .fp-sec.fp-hold [data-reveal] { opacity: 1; transform: none; }
}

/* снимки цеха: у своего раздела — стрелка, у остальных — лупа */
.lt-shot__go { position: absolute; right: 12px; bottom: 12px; z-index: 2; display: grid;
  place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #fff;
  background: rgba(10, 9, 6, .55); opacity: 0; transform: translateY(6px);
  transition: opacity .3s var(--ease), transform .3s var(--ease), background .3s; }
.lt-shot:hover .lt-shot__go { opacity: 1; transform: none; }
.lt-shot:hover .lt-shot__go { background: linear-gradient(92deg, var(--gold), var(--copper)); }

/* подпись разработчика */
.fdev { white-space: nowrap; }
.fdev__a { display: inline-flex; align-items: center; gap: 5px; color: rgba(255, 255, 255, .82);
  text-decoration: none; }
.fdev__a:hover { color: var(--gold); }
.fdev__n { font-weight: 600; letter-spacing: .05em; }
.fdev__ok { color: #3ecf8e; flex: none; }

/* форма и контакты — одной высоты, содержимое по центру */
.fp-final { align-items: stretch; }
.fp-form { align-content: center; }
.fp-cbox { align-content: center; }

/* первый экран: слева текст, справа цифры */
.lt-full__grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  gap: 44px; align-items: center; }
.lt-full__grid .lt-full__panel { max-width: none; }
.lt-stats { display: grid; gap: 12px; }
.lt-stat { padding: 17px 22px; border-radius: 20px; border: 1px solid rgba(255, 255, 255, .14);
  background: linear-gradient(122deg, rgba(9, 8, 5, .62), rgba(9, 8, 5, .3));
  animation: statIn .85s var(--ease) both;
  transition: transform .35s var(--ease), border-color .35s; }
.lt-stat:hover { transform: translateX(-6px); border-color: rgba(232, 169, 8, .5); }
.lt-stat:nth-child(1) { animation-delay: .55s; }
.lt-stat:nth-child(2) { animation-delay: .7s; }
.lt-stat:nth-child(3) { animation-delay: .85s; }
.lt-stat b { display: block; font-family: "Space Grotesk", sans-serif; line-height: 1;
  font-size: clamp(28px, 3vw, 40px); font-weight: 500;
  background: linear-gradient(92deg, #ffd166, #ff9a4d);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.lt-stat span { display: block; margin-top: 7px; font-size: 14px; line-height: 1.35;
  color: rgba(255, 255, 255, .74); }
@keyframes statIn {
  from { opacity: 0; transform: translateX(34px); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 900px) {
  .lt-full__grid { grid-template-columns: 1fr; gap: 24px; }
  .lt-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lt-stat { padding: 13px 15px; }
}
@media (prefers-reduced-motion: reduce) { .lt-stat { animation: none; } }

/* цифры прижимаем к правому краю — композиция собраннее */
.lt-stats { justify-items: end; }
.lt-stat { width: 100%; max-width: 380px; }

/* карточки цифр плотнее: справа кадр бывает очень ярким */
.lt-stat { background: linear-gradient(122deg, rgba(9, 8, 5, .74), rgba(9, 8, 5, .5)); }

/* ═══ живые сцены на фонах ═══ */
/* пруток выходит из пресса */
.bgm-rod { animation: rodOut 12s linear infinite; }
@keyframes rodOut {
  0% { transform: translateX(-700px); }
  100% { transform: translateX(1400px); }
}
.bgm-roll { transform-origin: 1180px 760px; animation: bgSpin 24s linear infinite; }

/* патрон станка крутится, резец подходит и отходит */
.bgm-chuck { transform-origin: 1330px 440px; animation: bgSpin 26s linear infinite; }
.bgm-tool { animation: toolFeed 7s ease-in-out infinite alternate; }
@keyframes toolFeed {
  from { transform: translateX(-120px); }
  to { transform: translateX(190px); }
}

/* лом падает в контейнер */
.bgm-fall { animation: scrapFall 7.5s linear infinite; }
@keyframes scrapFall {
  0% { transform: translateY(-160px) rotate(0deg); opacity: 0; }
  12% { opacity: 1; }
  84% { opacity: 1; }
  100% { transform: translateY(660px) rotate(150deg); opacity: 0; }
}

/* фигуры двигаются только на том экране, где вы сейчас */
.fp-bg [class^="bgm"] { animation-play-state: paused; }
.fp-sec.is-now .fp-bg [class^="bgm"] { animation-play-state: running; }

/* 1. первый экран затемняем ровно, а не только слева */
.fp-sec--hero .lt-full::after {
  background: linear-gradient(180deg, rgba(9, 8, 5, .74) 0%, rgba(9, 8, 5, .58) 42%,
    rgba(9, 8, 5, .7) 100%);
}

/* если анимации выключены, падающий лом просто не показываем */
@media (prefers-reduced-motion: reduce) { .bgm-fall { display: none; } }

/* 1. первый экран: затемнение ровное по всему блоку, карточки цифр с контуром */
.fp-sec--hero .lt-full::after { background: rgba(9, 8, 5, .68); }
.lt-stat { border: 1px solid rgba(255, 255, 255, .3);
  background: linear-gradient(122deg, rgba(9, 8, 5, .8), rgba(9, 8, 5, .62));
  box-shadow: 0 20px 40px -30px rgba(0, 0, 0, .9); }
.lt-stat:hover { border-color: rgba(232, 169, 8, .75); }
.lt-full__panel { border-color: rgba(255, 255, 255, .16); }

/* 3. цех: второй ролик и искры снизу слева */
.bgm-roll2 { transform-origin: 180px 720px; animation: bgSpin 19s linear infinite reverse; }
.bgm-spark { animation: sparkUp 5s ease-out infinite; }
@keyframes sparkUp {
  0% { transform: translateY(0) scale(.6); opacity: 0; }
  15% { opacity: .55; }
  100% { transform: translateY(-330px) scale(1.1); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .bgm-spark { display: none; } }

/* 5. калькулятор ложится на ту же сетку, что таблица и пункт приёма */
.fp-calc { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 30px;
  align-items: stretch; max-width: none; margin: 0 0 16px; padding: 0;
  background: none; border: 0; box-shadow: none; backdrop-filter: none; }
.fp-calc__box { display: block; padding: 13px 20px; border-radius: var(--r);
  background: rgba(255, 255, 255, .82); border: 1px solid rgba(232, 169, 8, .35);
  box-shadow: 0 26px 50px -40px rgba(22, 24, 27, .6); }
.fp-calc__box--sum { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 16px;
  align-items: end; }
.fp-calc__box--sum .fp-calc__out { padding-bottom: 3px; }

/* видео на первом экране бывает почти белым — держим затемнение плотным */
.fp-sec--hero .lt-full::after { background: rgba(9, 8, 5, .78); }

/* У секции один слой ::after, и он занят затуханием в стопке — под видео его не вешаем.
   Читаемость держат тёмная панель под текстом и контуры на карточках цифр. */
.fp-sec--hero .lt-full::after { background: #12100c; }

/* живая точка в плашке первого экрана */
.fp-sec--hero .lt-eyebrow { display: inline-flex; align-items: center; gap: 10px; }
.lt-dot { position: relative; flex: none; width: 9px; height: 9px; border-radius: 50%;
  background: #ff9a3c; box-shadow: 0 0 10px rgba(255, 154, 60, .9); }
.lt-dot::after { content: ""; position: absolute; inset: -5px; border-radius: 50%;
  border: 2px solid #ff9a3c; animation: dotPulse 2.2s ease-out infinite; }
@keyframes dotPulse {
  0% { transform: scale(.55); opacity: .85; }
  100% { transform: scale(1.9); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .lt-dot::after { animation: none; opacity: .35; } }

/* панель под текстом убрана: текст лежит прямо на кадре, читаемость держит тень */
.lt-full__panel { padding: 0; background: none; border: 0; border-radius: 0; }
.fp-sec--hero h1, .fp-sec--hero .lt-full__lead {
  text-shadow: 0 3px 22px rgba(6, 5, 2, .92), 0 1px 4px rgba(6, 5, 2, .7);
}
.fp-sec--hero .lt-eyebrow { background: rgba(10, 8, 5, .55); border-color: rgba(255, 255, 255, .26); }

/* ═══ первый экран: цифры лентой вдоль низа, а не карточками поверх кадра ═══ */
.fp-sec--hero .lt-full__in { flex-direction: column; justify-content: center;
  padding-bottom: 170px; }
.fp-sec--hero .lt-full__in > .lt-wrap { width: 100%; }
.lt-full__panel { max-width: 780px; }

.lt-bar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; padding: 26px 0 74px;
  background: linear-gradient(180deg, rgba(8, 7, 4, 0), rgba(8, 7, 4, .5) 38%, rgba(8, 7, 4, .82));
  animation: barUp 1s var(--ease) .5s both; }
.lt-bar__in { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; }
.lt-bar__i { position: relative; padding-left: 26px; }
.lt-bar__i::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 2px;
  border-radius: 2px; background: linear-gradient(180deg, var(--gold), rgba(232, 169, 8, 0)); }
.lt-bar__i b { display: block; font-family: "Space Grotesk", sans-serif; font-weight: 500;
  line-height: 1; font-size: clamp(26px, 2.6vw, 38px);
  background: linear-gradient(92deg, #ffd166, #ff9a4d);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.lt-bar__i span { display: block; margin-top: 7px; font-size: 14.5px; line-height: 1.3;
  color: rgba(255, 255, 255, .78); }
@keyframes barUp { from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: none; } }

@media (max-width: 900px) {
  .fp-sec--hero .lt-full__in { padding-bottom: 130px; }
  .lt-bar { padding: 18px 0 24px; }
  .lt-bar__in { gap: 16px; }
  .lt-bar__i { padding-left: 14px; }
  .lt-bar__i span { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .lt-bar { animation: none; } }

/* мягкая тень с той стороны, где текст: справа кадр остаётся ярким */
.fp-sec--hero .lt-full__media::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(115% 95% at 6% 36%, rgba(6, 5, 3, .88) 0%, rgba(6, 5, 3, .6) 32%,
    rgba(6, 5, 3, .16) 60%, transparent 76%);
}

/* тень растягиваем чуть дальше: заголовок в две строки уходит за середину */
.fp-sec--hero .lt-full__media::after {
  background: radial-gradient(128% 105% at 3% 36%, rgba(6, 5, 3, .9) 0%, rgba(6, 5, 3, .7) 36%,
    rgba(6, 5, 3, .34) 60%, rgba(6, 5, 3, .08) 80%, transparent 92%);
}

/* лента цифр поднята выше, под ней остаётся воздух */
.lt-bar { padding: 26px 0 124px; }
.fp-sec--hero .lt-full__in { padding-bottom: 205px; }
@media (max-height: 800px) {
  .lt-bar { padding: 20px 0 96px; }
  .fp-sec--hero .lt-full__in { padding-bottom: 168px; }
}
@media (max-width: 900px) {
  .lt-bar { padding: 18px 0 54px; }
  .fp-sec--hero .lt-full__in { padding-bottom: 140px; }
}

/* Высоту подъёма ленты держим в одной переменной и считаем от высоты окна,
   иначе на низких экранах жёсткие пиксели съедают заголовок. */
.fp-sec--hero { --barpad: clamp(88px, 27vh, 300px); }
.lt-bar { padding: 26px 0 var(--barpad); }
.fp-sec--hero .lt-full__in { padding-bottom: calc(var(--barpad) + 84px); }
@media (max-height: 800px) {
  .lt-bar { padding: 20px 0 var(--barpad); }
  .fp-sec--hero .lt-full__in { padding-bottom: calc(var(--barpad) + 70px); }
}
@media (max-width: 900px) {
  .fp-sec--hero { --barpad: 54px; }
  .lt-bar { padding: 18px 0 var(--barpad); }
  .fp-sec--hero .lt-full__in { padding-bottom: calc(var(--barpad) + 76px); }
}

/* ═══ третий вариант тоже живой: сцены на фонах разделов ═══ */
.lt-sec--art { position: relative; overflow: hidden; }
.lt-sec--art::before { content: ""; position: absolute; inset: -6%; z-index: 0;
  pointer-events: none; background: var(--art);
  animation: artDrift 34s ease-in-out infinite alternate; }
.lt-sec--art > .lt-wrap { position: relative; z-index: 1; }
/* пауза нужна только в полноэкранном варианте, там экраны не видны */
.fp-bg [class^="bgm"] { animation-play-state: running; }
.fp .fp-bg [class^="bgm"] { animation-play-state: paused; }
.fp .fp-sec.is-now .fp-bg [class^="bgm"] { animation-play-state: running; }
@media (prefers-reduced-motion: reduce) { .lt-sec--art::before { animation: none; } }

/* галочка у подписи разработчика рисуется сама */
.fdev__ok path { stroke-dasharray: 20; stroke-dashoffset: 20;
  animation: okDraw .7s var(--ease) .5s forwards; }
.fdev__a:hover .fdev__ok path { animation: okDraw .45s var(--ease) forwards; }
@keyframes okDraw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .fdev__ok path { stroke-dashoffset: 0; animation: none; } }

/* первый экран на низких окнах: заголовок не должен уходить под шапку */
.fp-sec--hero .lt-full__in { padding-top: 118px; }
@media (max-height: 780px) {
  .fp-sec--hero { --barpad: clamp(64px, 17vh, 150px); }
  .fp-sec--hero .lt-full__in { padding-top: 104px; }
  .fp-sec--hero h1 { font-size: clamp(30px, 3.9vw, 46px); }
  .fp-sec--hero .lt-full__lead { font-size: 15px; }
  .lt-bar__i b { font-size: 26px; }
  .lt-bar__i span { font-size: 13px; }
}

/* ═══ третий вариант: фоны не должны резать друг друга ═══ */
/* цвет и фигуры растворяются у краёв блока, поэтому стык не виден */
.lt-sec--art::before, .lt-sec--art .fp-bg {
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 15%, #000 85%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 15%, #000 85%, transparent 100%);
}
/* фигуры чуть меньше — так они целиком помещаются в свой блок */
.lt-sec--art .fp-bg svg { transform: scale(.88); transform-origin: 50% 50%; }
.lt-sec--art .fp-bg { opacity: .9; }

/* ═══ фон: только мягкий свет, без линий и штриховки ═══ */

/* цветное свечение гаснет у краёв — стыка блоков не видно */
.lt-sec--art::before {
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 78%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 78%, transparent 100%);
}

/* фигуры меньше своего блока и растворяются со всех четырёх сторон */
.lt-sec--art .fp-bg svg { transform: scale(.76); transform-origin: 50% 50%; }
.lt-sec--art .fp-bg {
  opacity: .95;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 26%, #000 74%, transparent 100%),
                      linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 26%, #000 74%, transparent 100%),
              linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}

/* то же и в полноэкранном варианте: сцена не должна упираться в край экрана */
.fp-sec--art .fp-bg svg { transform: scale(.8); transform-origin: 50% 50%; }
.fp-sec--art .fp-bg {
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 20%, #000 80%, transparent 100%),
                      linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 20%, #000 80%, transparent 100%),
              linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
/* цветное свечение экрана тоже гасим у краёв */
.fp-sec--art::before {
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 16%, #000 84%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 16%, #000 84%, transparent 100%);
}

/* по высоте фигуры держим внутри блока, а по ширине пусть уходят за край экрана */
.lt-sec--art .fp-bg {
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 78%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 78%, transparent 100%);
  -webkit-mask-composite: source-over;
  mask-composite: add;
}
.lt-sec--art .fp-bg svg { transform: scaleY(.82); }

/* Второй вариант возвращаем как был: там экран во весь размер окна,
   фигурам гаснуть не нужно — они просто уходят за край. */
.fp-sec--art .fp-bg { -webkit-mask-image: none; mask-image: none; }
.fp-sec--art .fp-bg svg { transform: none; }
.fp-sec--art::before { -webkit-mask-image: none; mask-image: none; }

/* Полноэкранный вариант возвращаем как было: фигуры во всю величину,
   ничего не режем и не гасим — там каждый экран и так отдельный. */
.fp-sec--art .fp-bg { -webkit-mask-image: none; mask-image: none; opacity: 1; }
.fp-sec--art .fp-bg svg { transform: none; }
.fp-sec--art::before { -webkit-mask-image: none; mask-image: none; }

/* Полноэкранный вариант: то же правило, что и в третьем — по высоте фигуры
   растворяются внутри экрана, по ширине свободно уходят за край. */
.fp-sec--art .fp-bg {
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 18%, #000 82%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 18%, #000 82%, transparent 100%);
  -webkit-mask-composite: source-over;
  mask-composite: add;
  opacity: 1;
}
.fp-sec--art .fp-bg svg { transform: scaleY(.86); }

/* ═══ Правки 08.09: главная это единственный вариант ═══ */

/* Сцены на фонах остаются, но читаются как свет, а не как рисунок поверх текста. */
.lt-sec--art .fp-bg { opacity: .52; }
.lt-sec--art .fp-bg svg { transform: scaleY(.78); }
.lt-sec--art::before { opacity: .82; }

/* Карточки каталога одной высоты: марка ГОСТ прижата к низу. */
.lt-prod { display: flex; flex-direction: column; }
.lt-prod__body { display: flex; flex-direction: column; flex: 1 1 auto; }
.lt-prod__body span { margin-bottom: 14px; }
.lt-prod__mark { margin-top: auto; align-self: flex-start; }

/* Блок заявки: слева текст и контакты, справа форма. */
.lt-cta { padding: 46px; }
.lt-cta__in { grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 34px;
  align-items: start; }
.lt-cta__text .lt-tag { margin-bottom: 14px; }
.lt-cta__text p { margin-bottom: 22px; }
.lt-contacts { text-align: left; gap: 8px; }
.lt-contacts a { font-size: 23px; }
.lt-contacts a[href^="mailto"] { font-size: 18px; color: var(--copper); }
.lt-cta__form .form { background: rgba(255, 255, 255, .82); border: 1px solid rgba(22, 24, 27, .07);
  border-radius: 20px; padding: 26px; backdrop-filter: blur(6px); }
.lt-cta__form .form h3 { font-size: 20px; }
.lt-cta__form .form__note { color: #7a6742; }

/* Плотность: разделы чуть ближе друг к другу, страница короче. */
.lt-sec { padding: 62px 0; }
.lt-hero { padding: 64px 0 34px; }

@media (max-width: 900px) {
  .lt-cta { padding: 30px 22px; border-radius: 22px; }
  .lt-cta__in { grid-template-columns: 1fr; gap: 26px; }
  .lt-cta__form .form { padding: 20px; }
  .lt-sec { padding: 46px 0; }
}

/* Сетки под фактическое число позиций: восемь товаров ложатся в два ряда,
   четыре услуги в один. Пустых клеток в конце ряда не остаётся. */
@media (min-width: 1180px) {
  .lt-prods { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
  .lt-servs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .lt-prod__body { padding: 18px 20px 22px; }
  .lt-prod__body b { font-size: 17.5px; }
}

/* Телефон: карточки фактов по две в ряд, иначе первый экран уходит в простыню. */
@media (max-width: 600px) {
  .lt-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .lt-fact { padding: 16px 14px; border-radius: 16px; }
  .lt-fact b { font-size: 26px; }
  .lt-fact span { font-size: 12.5px; line-height: 1.35; }
  .lt-hero { padding: 30px 0 26px; }
  .lt-hero__media { border-radius: 18px; }
}

/* Ссылки под заголовком блока: плитки теперь открывают снимок, переходы вынесены сюда. */
.lt-head__links { display: flex; gap: 18px; justify-content: center; margin-top: 14px; }
.lt-head__links a { font-size: 14.5px; color: var(--copper); border-bottom: 1px solid currentColor;
  padding-bottom: 2px; }
.lt-head__links a:hover { color: var(--ink); }


/* Скорость лент: марки и логотипы едут спокойно, а не мелькают. */
.lt-ticker__in { animation-duration: 210s; }
.lt-logos__run { animation-duration: 72s; }

/* ═══ Мобильный вид: телефон первым делом ═══ */
@media (max-width: 600px) {
  /* кнопки первого экрана: во всю ширину, палец попадает без прицела */
  .lt-act { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .lt-act .lt-btn { justify-content: center; width: 100%; }
  .lt-hero h1 { font-size: clamp(30px, 8.6vw, 40px); }
  .lt-hero__lead { font-size: 16.5px; }
  .lt-eyebrow { font-size: 12px; padding: 7px 12px; }

  /* иконки: две в ряд, подпись под заголовком мелкая */
  .lt-advs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .lt-adv { padding: 14px 14px 16px; }
  .lt-adv .adv__i { width: 34px; height: 34px; margin-bottom: 9px; }
  .lt-adv b { font-size: 14.5px; line-height: 1.25; }
  .lt-adv > span:last-child { font-size: 12px; }

  /* цифры: две в ряд, чтобы блок не растягивался на четыре экрана */
  .lt-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lt-fact__i { width: 30px; height: 30px; margin-bottom: 10px; }

  /* заголовки блоков компактнее */
  .lt-head h2, .fp-split__side h2 { font-size: clamp(24px, 7vw, 30px); }
  .lt-head p { font-size: 15px; }

  /* слайдер: карточка почти во весь экран, стрелки крупнее пальца */
  .pslide__item { flex: 0 0 88%; }
  .pslide__arrows button { width: 44px; height: 44px; }

  /* пункт приёма и таблица цен: плотнее */
  .lt-point { padding: 22px 20px; }
  .lt-table th, .lt-table td { padding: 12px 14px; font-size: 14px; }
  .lt-scrap { gap: 22px; }

  /* форма заявки: поля в одну колонку и кнопка во всю ширину */
  .fp-form { padding: 18px; }
  .fp-form__row { grid-template-columns: 1fr; }
  .fp-form button { width: 100%; }
  .fp-cbox { padding: 4px 18px; }
  .fp-cbox b { font-size: 17px; }
}
@media (max-width: 380px) {
  .lt-advs, .lt-facts { grid-template-columns: 1fr; }
}

/* ═══ Блок преимуществ: выделен подложкой, невысокий ═══ */
.lt-sec--advs { padding: 30px 0 44px; }
.lt-advbox { display: grid; grid-template-columns: minmax(0, 250px) minmax(0, 1fr); gap: 32px;
  align-items: center; padding: 28px 32px; border-radius: var(--r);
  background: rgba(255, 255, 255, .72); border: 1px solid rgba(232, 169, 8, .28);
  box-shadow: 0 30px 60px -46px rgba(22, 24, 27, .45); backdrop-filter: blur(6px); }
.lt-head--left { text-align: left; margin: 0; max-width: none; }
.lt-head--left h2 { font-size: clamp(23px, 2.2vw, 30px); }
.lt-advbox .lt-advs { margin-top: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.lt-advbox .lt-adv { padding: 0 0 0 2px; background: none; border: 0; backdrop-filter: none;
  box-shadow: none; }
.lt-advbox .lt-adv:hover { transform: none; box-shadow: none; }
.lt-advbox .lt-adv .adv__i { width: 34px; height: 34px; border-radius: 50%; margin-bottom: 10px; }
.lt-advbox .lt-adv b { font-size: 15px; }
.lt-advbox .lt-adv > span:last-child { font-size: 12.5px; }

/* ═══ Цифры: блок ниже, иконки круглые ═══ */
.lt-sec--facts { padding: 22px 0; }
.lt-facts { gap: 12px; }
.lt-fact { padding: 18px 20px; }
.lt-fact__i { width: 32px; height: 32px; border-radius: 50%; margin-bottom: 10px; }
.lt-fact b { font-size: 30px; }
.lt-fact span:last-child { font-size: 13.5px; }
.lt-hero .lt-facts { margin-top: 32px; }

/* ═══ Калькулятор: сумма больше не выезжает из рамки ═══ */
.fp-calc__box--sum { grid-template-columns: minmax(84px, 108px) minmax(0, 1fr); }
.fp-calc__out { min-width: 0; overflow: hidden; }
.fp-calc__out b { font-size: clamp(20px, 2.4vw, 28px); }
.fp-calc__out i { white-space: nowrap; }

/* ═══ Заявка: форма компактнее, за ней своё свечение ═══ */
.fp-final { position: relative; }
.fp-final::before { content: ""; position: absolute; inset: -18px 0; z-index: 0;
  border-radius: 26px; pointer-events: none;
  background: radial-gradient(60% 70% at 20% 30%, rgba(232, 169, 8, .16), transparent 70%),
              radial-gradient(55% 65% at 85% 75%, rgba(193, 98, 42, .12), transparent 72%);
  animation: ctaGlow 14s ease-in-out infinite alternate; }
.fp-final > * { position: relative; z-index: 1; }
@keyframes ctaGlow { from { transform: translate3d(-8px, 4px, 0) scale(1); }
  to { transform: translate3d(10px, -6px, 0) scale(1.04); } }
@media (prefers-reduced-motion: reduce) { .fp-final::before { animation: none; } }
.fp-form { gap: 10px; padding: 20px 22px; }
.fp-form__row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.fp-form input[type="text"], .fp-form input[type="tel"], .fp-form input[type="email"] { padding: 9px 12px; }
/* галочка и подпись по одной линии, кнопка рядом */
.fp-form__send { display: flex; align-items: center; justify-content: space-between; gap: 16px;
  flex-wrap: wrap; }
.fp-form__ok { align-items: center; }
.fp-form__ok input { margin: 0; }

@media (max-width: 1024px) {
  .lt-advbox { grid-template-columns: 1fr; gap: 20px; padding: 24px; }
  .lt-advbox .lt-advs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 600px) {
  .lt-advbox { padding: 20px 18px; }
  .lt-advbox .lt-advs { gap: 14px; }
  .fp-form__row { grid-template-columns: 1fr; }
  .fp-form__send { flex-direction: column; align-items: stretch; }
}

/* Навигация слайдера на узком экране: точки мельче и переносятся, стрелки на месте. */
.pslide__nav { flex-wrap: wrap; gap: 12px; }
.pslide__dots { flex-wrap: wrap; min-width: 0; }
@media (max-width: 700px) {
  .pslide__dots span { width: 18px; height: 3px; }
  .pslide__dots span.is-on { width: 30px; }
  .pslide__nav { justify-content: space-between; }
}
@media (max-width: 460px) {
  .pslide__dots { display: none; }
  .pslide__nav { justify-content: flex-end; }
}

/* ═══ Строка под первым экраном: цифра и четыре преимущества ═══ */
.lt-strip { position: relative; z-index: 2; display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 3.05fr); gap: 14px; margin-top: 36px; }
.lt-strip__num { display: grid; align-content: center; padding: 20px 22px; border-radius: var(--r);
  background: linear-gradient(150deg, #fff6dd, #ffe9c0); border: 1px solid rgba(232, 169, 8, .34);
  box-shadow: 0 26px 50px -40px rgba(184, 124, 8, .7); }
.lt-strip__num .lt-fact__i { background: rgba(255, 255, 255, .75); color: var(--copper); }
.lt-strip__num b { display: block; font-family: "Space Grotesk", sans-serif; font-size: 34px;
  color: var(--ink); line-height: 1.05; }
.lt-strip__num > span:last-child { display: block; margin-top: 5px; font-size: 13.5px;
  color: #7a6231; }
.lt-strip__advs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.lt-strip .lt-adv { padding: 16px 18px; }
.lt-strip .lt-adv .adv__i { width: 34px; height: 34px; border-radius: 50%; margin-bottom: 10px; }
.lt-strip .lt-adv b { font-size: 15px; line-height: 1.25; }
.lt-strip .lt-adv > span:last-child { font-size: 12.5px; }

@media (max-width: 1200px) {
  .lt-strip { grid-template-columns: 1fr; }
  .lt-strip__num { display: flex; align-items: center; gap: 16px; padding: 16px 20px; }
  .lt-strip__num .lt-fact__i { margin: 0; flex: none; }
  .lt-strip__num b { font-size: 28px; }
  .lt-strip__num > span:last-child { margin-top: 0; }
}
@media (max-width: 700px) {
  .lt-strip { margin-top: 26px; gap: 10px; }
  .lt-strip__advs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
@media (max-width: 420px) {
  .lt-strip__num { flex-wrap: wrap; gap: 10px; }
  .lt-strip__num b { font-size: 26px; }
}

/* ═══ Движение на фоне: один неподвижный слой на всю страницу ═══ */
/* Слой закреплён за окном, поэтому фигуры не режутся на стыках блоков и не тянутся.
   Три разные фигуры: кольца, зубчатое кольцо и спираль, у каждой свой ход. */
.lt-bgart { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.lt-bgart svg { position: absolute; will-change: transform; }
.lt-bgart__a { top: -110px; right: -110px; opacity: .55;
  animation: artSpin 64s linear infinite, artFloatA 17s ease-in-out infinite alternate; }
.lt-bgart__b { top: 44%; left: -150px; opacity: .5;
  animation: artSpinBack 52s linear infinite, artFloatB 21s ease-in-out infinite alternate; }
.lt-bgart__c { bottom: -150px; right: -130px; opacity: .45;
  animation: artSpin 86s linear infinite reverse, artFloatC 25s ease-in-out infinite alternate; }
@keyframes artSpin { to { rotate: 360deg; } }
@keyframes artSpinBack { to { rotate: -360deg; } }
@keyframes artFloatA { from { translate: 0 -46px; } to { translate: -30px 40px; } }
@keyframes artFloatB { from { translate: -34px 26px; } to { translate: 40px -34px; } }
@keyframes artFloatC { from { translate: 24px 34px; } to { translate: -36px -28px; } }
@media (prefers-reduced-motion: reduce) { .lt-bgart svg { animation: none; } }
@media (max-width: 700px) {
  .lt-bgart__b { display: none; }
  .lt-bgart__a { top: -150px; right: -170px; opacity: .42; }
  .lt-bgart__c { bottom: -190px; right: -160px; opacity: .34; }
}

/* ═══ Заголовки блоков по левому краю и во всю ширину ═══ */
.lt-head { text-align: left; max-width: none; margin-left: 0; margin-right: 0; }
.lt-head p { max-width: 92ch; margin-left: 0; }
.lt-head .lt-tag { margin-left: 0; }
.fp-part__t { text-align: left; }

/* ═══ Наведение: оранжевое, не чёрное ═══ */
.pslide__arrows button { background: #fff; border: 1px solid var(--line); color: var(--ink); }
.pslide__arrows button:hover { background: linear-gradient(96deg, var(--gold), var(--gold-2));
  border-color: transparent; color: #17181a;
  box-shadow: 0 12px 24px -14px rgba(232, 169, 8, .9); }
.lt-btn--ghost:hover { background: var(--gold-soft); border-color: rgba(232, 169, 8, .6);
  color: var(--copper); }
.lt-btn:not(.lt-btn--ghost):hover { background: linear-gradient(96deg, var(--gold-2), var(--gold));
  color: #17181a; }
.lt-prod:hover .lt-prod__mark { background: var(--gold-soft); color: var(--copper); }
.lt-shot__go { background: rgba(193, 98, 42, .9); }
.lt-shot:hover .lt-shot__go { background: linear-gradient(96deg, var(--gold), var(--gold-2));
  color: #17181a; }

/* ═══ Калькулятор: единица не обрезается ═══ */
.fp-calc__box--sum { grid-template-columns: minmax(76px, 96px) minmax(0, 1fr); gap: 12px; }
.fp-calc__out { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap;
  white-space: normal; }
.fp-calc__out span { flex: 0 0 100%; }
.fp-calc__out b { font-size: clamp(20px, 2.2vw, 26px); }
.fp-calc__out i { margin-left: 0; font-size: 12.5px; letter-spacing: .04em; }

/* ═══ Восстановлено: карточки преимуществ и строка под первым экраном ═══ */
/* Базовый блок этих стилей пропадал, из-за чего карточки читались как обычный текст. */
.lt-advs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.lt-adv { display: block; padding: 18px 20px; border-radius: var(--r);
  background: rgba(255, 255, 255, .82); border: 1px solid rgba(22, 24, 27, .07);
  box-shadow: 0 20px 40px -34px rgba(22, 24, 27, .45); backdrop-filter: blur(6px);
  transition: transform .3s var(--ease), box-shadow .3s, border-color .3s; }
.lt-adv:hover { transform: translateY(-3px); box-shadow: var(--sh);
  border-color: rgba(232, 169, 8, .4); }
.lt-adv .adv__i { display: grid; place-items: center; width: 36px; height: 36px;
  border-radius: 50%; background: var(--gold-soft); color: var(--copper); margin-bottom: 12px; }
.lt-adv .adv__i svg { display: block; }
.lt-adv b { display: block; font-family: "Space Grotesk", sans-serif; font-size: 15.5px;
  line-height: 1.3; color: var(--ink); }

/* Строка: цифра и четыре карточки одной высоты. */
.lt-strip { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 3.05fr);
  gap: 12px; margin-top: 34px; position: relative; z-index: 2; }
.lt-strip__num { display: grid; align-content: center; padding: 20px 22px; border-radius: var(--r);
  background: linear-gradient(150deg, #fff6dd, #ffe9c0); border: 1px solid rgba(232, 169, 8, .34);
  box-shadow: 0 24px 46px -38px rgba(184, 124, 8, .7); }
.lt-strip__num b { display: block; font-family: "Space Grotesk", sans-serif; font-size: 34px;
  color: var(--ink); line-height: 1.05; }
.lt-strip__num > span:last-child { display: block; margin-top: 5px; font-size: 13.5px;
  color: #7a6231; }
.lt-strip__num .lt-fact__i { display: grid; place-items: center; width: 34px; height: 34px;
  border-radius: 50%; background: rgba(255, 255, 255, .8); color: var(--copper);
  margin-bottom: 12px; }
.lt-strip__num .lt-fact__i svg { display: block; }
.lt-strip__advs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.lt-strip .lt-adv { display: flex; flex-direction: column; justify-content: center; }

@media (max-width: 1200px) {
  .lt-strip { grid-template-columns: 1fr; }
  .lt-strip__num { display: flex; align-items: center; gap: 14px; padding: 16px 20px; }
  .lt-strip__num .lt-fact__i { margin: 0; flex: none; }
  .lt-strip__num > span:last-child { margin-top: 0; }
}
@media (max-width: 760px) {
  .lt-strip__advs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .lt-adv { padding: 14px 16px; }
  .lt-adv b { font-size: 14px; }
}

/* ═══ Калькулятор: подпись короткая, единица справа от суммы ═══ */
.fp-calc__out { display: grid; grid-template-columns: auto auto; align-items: baseline;
  justify-content: start; column-gap: 7px; row-gap: 2px; white-space: nowrap; }
.fp-calc__out span { grid-column: 1 / -1; font-size: 10.5px; letter-spacing: .1em; }
.fp-calc__out b { font-size: clamp(22px, 2.2vw, 27px); }
.fp-calc__out i { font-size: 13px; color: #7d6844; }

/* ═══ Услуги рядом с заголовком: строго две колонки ═══ */
/* Выше есть правило на четыре колонки для отдельной секции услуг, поэтому здесь
   селектор с двумя классами: он весит больше и не даёт карточкам сжиматься. */
.fp-split .lt-servs, .fp-split .lt-servs--2 { grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px; }
@media (min-width: 1180px) {
  .fp-split .lt-servs, .fp-split .lt-servs--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .fp-split .lt-servs, .fp-split .lt-servs--2 { grid-template-columns: 1fr; }
}
.fp-split .lt-serv--ico { grid-template-columns: 40px minmax(0, 1fr); gap: 4px 12px;
  padding: 18px 20px; }
.fp-split .lt-serv b { font-size: 16px; line-height: 1.3; }
.fp-split .lt-serv span { font-size: 13.5px; }

/* ═══ Калькулятор: сумме хватает места ═══ */
.fp-calc, .fp-calc--wide { grid-template-columns: minmax(0, 1fr) minmax(250px, .9fr); }
.fp-calc__box--sum { grid-template-columns: minmax(66px, 84px) minmax(0, 1fr); gap: 14px; }
.fp-calc__out { overflow: visible; }
.fp-calc__out span { overflow: visible; text-overflow: clip; }
@media (max-width: 760px) {
  .fp-calc, .fp-calc--wide { grid-template-columns: 1fr; }
  .fp-calc__box--sum { grid-template-columns: minmax(66px, 84px) minmax(0, 1fr); }
}


/* ═══ Правки 09.09 по главной ═══ */

/* Сноска под таблицей цен: отступ от таблицы, чтобы не липла. */
.lt-scrap__note { margin-top: 16px; font-size: 14px; color: var(--muted); line-height: 1.6; }

/* Подпись про телефон приёмной отделена от кнопки. */
.lt-point__note { margin-top: 14px; font-size: 13.5px; color: var(--muted); line-height: 1.55; }

/* Заявка идёт сразу за приёмом лома, поэтому верхний отступ меньше. */
.lt-sec--near { padding-top: 34px; }

/* Галочка согласия: отступ от текста и выравнивание по центру галочки. */
.fp-form__ok { align-items: center; gap: 12px; }
.fp-form__ok input { margin: 0; }

/* Подписи колонок футера и цветные буквы логотипа работают и на главной. */
.lt .foot__h { color: #fff; }
.lt .foot .foot__brand b { background: linear-gradient(96deg, var(--copper), var(--gold) 70%);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.lt .foot__contacts a, .lt .foot__contacts .foot__phone { font-size: 16.5px; }
.lt .head__strip-in svg { color: var(--gold-2); }

/* .lt p и .fp-form label весят больше одного класса, поэтому селекторы вложенные. */
.lt .lt-scrap__note { margin-top: 18px; }
.lt .lt-point__note { margin-top: 16px; margin-bottom: 0; }
.fp-form .fp-form__ok { display: flex; align-items: center; gap: 12px; font-size: 13px;
  letter-spacing: 0; text-transform: none; }
.fp-form .fp-form__ok input { margin: 0; flex: none; }

/* Подсказка у слова «Примерно»: что входит в цену и когда её обновляли. */
.fp-calc__lab { position: relative; display: inline-flex; align-items: center; gap: 6px; }
/* кружок виден на 16 px, а нажимается на 24: поле вокруг прозрачное */
.tip__b { width: 24px; height: 24px; flex: none; border: 0; border-radius: 50%;
  background-clip: content-box; padding: 4px;
  background: rgba(193, 98, 42, .14); color: var(--copper); font-size: 11px;
  font-weight: 700; line-height: 1; cursor: pointer; letter-spacing: 0;
  transition: background .2s, color .2s; }
.tip__b:hover, .tip__b[aria-expanded="true"] { background: var(--copper); color: #fff; }
.tip__box { position: absolute; right: 0; top: calc(100% + 8px); z-index: 6; width: 260px;
  padding: 12px 14px; border-radius: 12px; background: #fff; color: var(--ink);
  border: 1px solid var(--line); box-shadow: 0 16px 34px rgba(18, 19, 21, .16);
  font-size: 12.5px; line-height: 1.5; letter-spacing: 0; text-transform: none;
  text-align: left; white-space: normal; }
@media (max-width: 560px) {
  .tip__box { right: auto; left: 0; width: min(260px, 78vw); }
}

/* .fp-calc__out span весит больше одного класса, поэтому селекторы вложенные.
   Подсказка открывается влево от знака вопроса, чтобы не закрывать сумму. */
.fp-calc__out .fp-calc__lab { display: inline-flex; }
.fp-calc__out .tip__box { display: block; right: calc(100% + 10px); left: auto; top: -10px;
  font-size: 12.5px; letter-spacing: 0; text-transform: none; color: var(--ink);
  line-height: 1.5; }
@media (max-width: 760px) {
  /* на узком экране подсказка висит под карточкой калькулятора во всю её ширину:
     внутри узкой колонки она вылезала за экран */
  .fp-calc__out .fp-calc__lab { position: static; }
  .fp-calc__out .tip__box { left: 0; right: auto; top: calc(100% + 8px);
    width: 100%; white-space: normal; }
}
/* display: block перебивает атрибут hidden, поэтому закрытую подсказку гасим явно. */
.tip__box[hidden], .fp-calc__out .tip__box[hidden] { display: none; }

/* якорь для подсказки на узких экранах */
.fp-calc, .fp-calc--wide { position: relative; }

/* Слайд без ссылки: обычный блок, ни курсора-руки, ни увеличения по клику. */
.pslide--shop .lt-shot--flat { cursor: default; }
.pslide--shop .lt-shot--flat:hover img { transform: none; }

/* Телефон с флагом и кодом страны в форме на главной. */
.fp-form .phone { display: flex; align-items: stretch; margin-top: 5px; overflow: hidden;
  border: 1px solid rgba(22, 24, 27, .14); border-radius: 12px; background: #fff; }
.fp-form .phone__cc { display: inline-flex; align-items: center; gap: 7px; padding: 0 10px;
  flex: none; background: rgba(22, 24, 27, .04);
  border-right: 1px solid rgba(22, 24, 27, .12);
  font-family: "Space Grotesk", sans-serif; font-size: 13.5px; letter-spacing: 0;
  text-transform: none; color: #4a4a46; white-space: nowrap; }
.fp-form .phone input[type="tel"] { margin: 0; border: 0; border-radius: 0; background: none;
  min-width: 0; flex: 1 1 auto; }
.fp-form .phone:focus-within { border-color: var(--gold); }
/* На главной в заявке два поля: имя и телефон. */
.fp-form .fp-form__row--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 600px) { .fp-form .fp-form__row--two { grid-template-columns: 1fr; } }

/* Выбор страны в поле телефона на главной. */
.fp-form .phone { position: relative; }
.fp-form .phone__cc { border: 0; border-right: 1px solid rgba(22, 24, 27, .12);
  cursor: pointer; }
.fp-form .phone__cc:hover { background: rgba(232, 169, 8, .14); }
.fp-form .phone__list { position: absolute; left: 0; top: calc(100% + 6px); z-index: 20;
  display: grid; min-width: 232px; padding: 6px; border-radius: 12px; background: #fff;
  border: 1px solid rgba(22, 24, 27, .12); box-shadow: 0 20px 40px rgba(22, 24, 27, .18);
  max-height: 264px; overflow-y: auto; }
.fp-form .phone__list[hidden] { display: none; }
.fp-form .phone__list button { display: flex; align-items: center; gap: 9px; width: 100%;
  padding: 8px 10px; border: 0; border-radius: 8px; background: none; cursor: pointer;
  font-size: 14px; color: var(--ink); text-align: left; letter-spacing: 0;
  text-transform: none; }
.fp-form .phone__list button:hover, .fp-form .phone__list button.is-on {
  background: rgba(232, 169, 8, .14); }
.fp-form .phone__list button b { font-family: "Space Grotesk", sans-serif; min-width: 42px; }
.fp-form .phone__list button span::before { content: "· "; color: var(--muted); }
.fp-form .phone { overflow: visible; }
.fp-form .phone__cc { border-radius: 12px 0 0 12px; padding: 0 8px 0 10px; gap: 6px; }

/* Строки списка стран на сетке: иначе общее правило кнопок центрирует содержимое. */
.fp-form .phone__list button { display: grid; grid-template-columns: 18px 42px minmax(0, 1fr);
  align-items: center; justify-items: start; gap: 10px; width: 100%; text-align: left; }
.fp-form .phone__list button b { min-width: 0; }
.fp-form .phone__cc b { display: inline-block; min-width: 34px; text-align: left; }

/* Подсветка обводит всё поле телефона, а не только ввод. */
.fp-form .phone input[type="tel"]:focus { outline: 0; }
.fp-form .phone:focus-within { border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(232, 169, 8, .18); }
.fp-form .phone input[type="tel"] { border-radius: 0 12px 12px 0; }
/* Форма и карточка телефонов на главной тоже заканчиваются на одной линии. */
.fp-final { align-items: stretch; }
.fp-final .fp-cbox { align-content: center; }
/* На главной блоки тоже плотнее. */
.lt-sec { padding: clamp(34px, 4.4vw, 48px) 0; }
.lt-sec--near { padding-top: 26px; }

/* Контейнер главной по тем же полям, что на остальных страницах:
   иначе шапка и футер стоят на 20 px, а блоки на 13. */
.lt-wrap { max-width: none; width: min(100% - 40px, 1300px); margin-inline: auto;
  padding: 0; }
@media (max-width: 640px) { .lt-wrap { width: calc(100% - 28px); } }

/* Услуг стало три, поэтому в сетке два на два оставалась пустая клетка:
   последняя карточка занимает оба столбца. */
.fp-split .lt-servs > *:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 760px) {
  .fp-split .lt-servs > *:last-child:nth-child(odd) { grid-column: auto; }
}

/* На главной мелкий акцентный текст тоже темнее: контраст был около 3,4. */
.lt .lt-tag, .lt .lt-prod__mark, .lt .fp-part__t, .lt .fp-cbox span,
.lt .fp-calc__out span, .lt .lt-serv span, .lt .foot__h { color: #8a5a1e; }
.lt .foot__h { color: #fff; }
.lt .lt-prod__body span { color: #5c6169; }
.lt .head__scrap a { color: var(--gold-2); }
.lt .fp-form__ok a { color: #8a5a1e; }
/* Служебный серый на главной был светловат: контраст 3,3. */
.lt { --muted: #5f656d; }
.lt .drawer__c a, .lt .drawer__c span { color: #5f656d; }
.lt .fp-calc__box, .lt .fp-calc__out i, .lt .fp-form label { color: #5f5342; }
.lt .tip__b { color: #8a5a1e; }
.lt .drawer .btn { color: var(--ink); }
.lt { --copper: #8a5a1e; }
.lt .fp-calc__box label, .lt .fp-calc__box--sum label { color: #5f5342; }

/* Проверка полей в заявке на главной: красная рамка и строка о недостающем. */
.fp-form__err { font-size: 13px; color: #b4442e; }
.fp-form input.is-bad { border-color: #d64545; }
.fp-form .phone.is-bad { border-color: #d64545; }
.fp-form .phone.is-bad input[type="tel"] { border-color: transparent; }
.fp-form .fp-form__ok.is-bad, .fp-form .fp-form__ok.is-bad a { color: #b4442e; }

/* Число объёма не разрываем: на телефоне «5 000» уезжало на две строки. */
.lt-fact b, .lt-num b, .lt-strip__num b { white-space: nowrap; }

/* Заявка на телефоне: код страны и номер в одну строку, без пустой высоты.
   Правило .fp-form button растягивало и кнопку выбора страны. */
@media (max-width: 620px) {
  .fp-form .phone__cc { width: auto; flex: none; }
  .fp-form .phone input[type="tel"] { flex: 1 1 auto; min-width: 0; }
  .fp-form__send { gap: 12px; }
  .fp-form__send .fp-form__ok { flex: none; }
  .fp-form button[type="submit"] { width: 100%; }
}

/* Подписи мелким кеглем на светлом фоне не дотягивали до нормы контраста
   (4,2 при нужных 4,5), поэтому тон затемнён до 5,0. */

/* Точки слайдеров стали кнопками: полоску рисуем внутри, а сама кнопка
   держит область нажатия 24 px по высоте, иначе пальцем не попасть. */
.pslide__dots button { display: grid; place-items: center; width: 26px; height: 24px;
  padding: 0; border: 0; background: none; cursor: pointer; }
.pslide__dots button::before { content: ""; display: block; width: 26px; height: 4px;
  border-radius: 100px; background: rgba(22, 24, 27, .14); transition: width .3s var(--ease), background .3s; }
.pslide__dots button.is-on { width: 48px; }
.pslide__dots button.is-on::before { width: 48px;
  background: linear-gradient(92deg, var(--gold), var(--copper)); }
/* скрытая точка: display grid выше перебивает hidden, поэтому гасим явно */
.pslide__dots button[hidden] { display: none; }
.pslide__dots button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.fp-sec--dark .pslide__dots button::before { background: rgba(255, 255, 255, .25); }

/* см. style.css: страховка на случай, когда скрипт не выполнился */
.no-js [data-reveal] { opacity: 1 !important; transform: none !important; }
@media print {
  [data-reveal] { opacity: 1 !important; transform: none !important; }
}

/* Подсказка «как считается цена»: рисунок оставляем 16px, а зону нажатия
   расширяем прозрачным полем, иначе цель 16x16 и пальцем в неё не попасть */
.tip__b { position: relative; }
.tip__b::after { content: ""; position: absolute; inset: -9px; border-radius: 50%; }

/* Галочка согласия на главной. Правило в style.css перебивается light.css,
   который подключается после него, поэтому цель нажатия задаём здесь */
@media (max-width: 700px) {
  .fp-form__ok input { width: 24px; height: 24px; }
}
