/* Главная, вариант 2 (13.10.2026). Макет: site/mockups/variant2/.
   Цвета, шрифты и отступы — только токены tokens.css; общие кирпичи (.lm-sec, .lm-sh,
   .lm-btn, .lm-chip, .lm-band) — из base.css. Здесь только то, что есть на одной главной. */

/* Главная рисуется внутри контейнера Aspro (.maxwidth-theme с полями) — секции растягиваем
   на всю ширину окна, содержимое снова ограничиваем .lm-wrap. */
/* Контейнер Aspro здесь — flex-строка (container_inner flexbox--row-reverse): без явной
   ширины главная сжимается в узкий столбец (так было с вариантом A 21.09.2026).
   --lm-sb — ширина полосы прокрутки, её меряет script.js: 100vw её включает, и без
   поправки на Windows появлялась бы горизонтальная прокрутка. */
.lmv { width: 100%; flex: 1 1 100%; min-width: 0; font-family: var(--lm-body); color: var(--lm-ink); -webkit-font-smoothing: antialiased; }
.lmv *, .lmv *::before, .lmv *::after { box-sizing: border-box; }
.lmv > section, .lmv > .lmv-showcase {
  width: calc(100vw - var(--lm-sb, 0px));
  margin-left: calc(50% - (100vw - var(--lm-sb, 0px)) / 2);
}
.lmv a { text-decoration: none; }
.lmv p { margin: 0; }
.lmv ul, .lmv ol { margin: 0; padding: 0; list-style: none; }
.lmv li::before { content: none !important; }   /* у Aspro в контенте li рисует «—» */
.lmv h1, .lmv h2, .lmv h3 { margin: 0; }
.lmv-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0; font: 600 12px/1 var(--lm-body); letter-spacing: .16em; text-transform: uppercase; color: var(--lm-acc); }
.lmv-eyebrow::before { content: ""; width: 32px; height: 2px; background: currentColor; }
.lmv-sh__r { display: flex; align-items: center; gap: 16px; }

/* ── 1. первый экран ─────────────────────────────────── */
.lmv-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: clamp(560px, calc(100svh - 230px), 820px); background: #03050b; }
.lmv-hero__l {
  position: relative; overflow: hidden; display: flex; align-items: center; color: var(--lm-white);
  background: radial-gradient(900px 420px at 10% -10%, rgba(255, 183, 3, .16), transparent 60%), var(--lm-grad);
}
.lmv-hero__l::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(115deg, transparent 0 120px, rgba(255, 255, 255, .05) 120px 121px); }
.lmv-hero__l::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, var(--lm-acc), rgba(255, 183, 3, 0) 70%); }
.lmv-hero__txt {
  position: relative; display: flex; flex-direction: column; gap: 22px; max-width: 760px;
  padding: 48px clamp(24px, 4vw, 56px) 48px max(clamp(24px, 4vw, 56px), calc((100vw - var(--lm-container)) / 2 + 32px));
}
.lmv-hero__h1 { font: 700 clamp(34px, 3.3vw, 54px)/1.04 var(--lm-display) !important; text-transform: uppercase; letter-spacing: .005em; color: var(--lm-white) !important; text-wrap: balance; }
.lmv-hero__lead { font-size: clamp(16px, 1.25vw, 19px); line-height: 1.55; font-weight: 300; color: #dce4f0; max-width: 32em; }
.lmv-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }

/* машина */
.lmv-hero__r { position: relative; overflow: hidden; background: #03050b; color: var(--lm-white); }
.lmv-car__top { position: absolute; left: 28px; right: 28px; top: 24px; z-index: 4; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.lmv-car__tabs { display: flex; border: 1px solid rgba(255, 255, 255, .22); background: rgba(6, 11, 24, .6); backdrop-filter: blur(8px); }
.lmv-car__tabs button { border: 0; background: transparent; color: var(--lm-white); font: 600 14px var(--lm-body); padding: 10px 16px; min-height: 44px; cursor: pointer; display: flex; align-items: center; gap: 8px; }
.lmv-car__tabs button s { text-decoration: none; font-size: 11px; opacity: .7; }
.lmv-car__tabs button[aria-selected=true] { background: var(--lm-acc); color: var(--lm-acc-ink); }
.lmv-car__hint { font: 600 11px/1.3 var(--lm-body); letter-spacing: .14em; text-transform: uppercase; color: #c9d3e3; }
.lmv-car__stage { position: absolute; left: 50%; top: 44%; width: 104%; aspect-ratio: 1152/896; transform: translate(-50%, -50%); }
.lmv-car__ext, .lmv-car__cab { position: absolute; inset: 0; transition: transform 1.1s cubic-bezier(.65, 0, .25, 1), opacity .7s ease; }
.lmv-car__glow { position: absolute; inset: 0; background: radial-gradient(44% 42% at 50% 44%, var(--lm-navy-hi) 0%, #0a1a38 50%, #03050b 100%); }
.lmv-car__img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; mix-blend-mode: lighten;
  -webkit-mask-image: radial-gradient(60% 68% at 52% 48%, #000 58%, transparent 100%); mask-image: radial-gradient(60% 68% at 52% 48%, #000 58%, transparent 100%); }
.lmv-car__xray { position: absolute; inset: 0; clip-path: inset(0 100% 0 0); transition: clip-path 1.3s cubic-bezier(.65, 0, .25, 1); }
.lmv-car__xray img { position: absolute; inset: 0; width: 100%; height: 100%; display: block;
  -webkit-mask-image: radial-gradient(60% 68% at 52% 48%, #000 58%, transparent 100%); mask-image: radial-gradient(60% 68% at 52% 48%, #000 58%, transparent 100%); }
.lmv-car__scan { position: absolute; top: 0; bottom: 0; right: 0; width: 2px; background: var(--lm-acc); box-shadow: 0 0 18px 4px rgba(255, 183, 3, .6); }
[data-mode=xray] .lmv-car__xray { clip-path: inset(0 0 0 0); }
.lmv-car__cab { opacity: 0; pointer-events: none; }
.lmv-car__cab img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.lmv-car__cab::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(3, 5, 11, .35) 0%, rgba(3, 5, 11, 0) 30%, rgba(3, 5, 11, 0) 60%, rgba(3, 5, 11, .85) 100%); }
[data-mode=cabin] .lmv-car__cab { opacity: 1; pointer-events: auto; transition-delay: .25s; }
[data-mode=cabin] .lmv-car__ext { opacity: 0; pointer-events: none; }
.lmv-car__spots { position: absolute; inset: 0; z-index: 2; }
.lmv-hs { position: absolute; width: 44px; height: 44px; margin: -22px 0 0 -22px; border: 0; padding: 0; background: none; cursor: pointer; }
.lmv-hs i { position: absolute; inset: 13px; border-radius: 50%; background: rgba(255, 183, 3, .6); border: 2px solid var(--lm-white); transition: background .2s, transform .2s; }
.lmv-hs i::after { content: ""; position: absolute; inset: -8px; border-radius: 50%; border: 1.5px solid rgba(255, 183, 3, .55); animation: lmvPulse 2s ease-out infinite; }
@keyframes lmvPulse { from { transform: scale(.6); opacity: 1; } to { transform: scale(1.5); opacity: 0; } }
.lmv-hs span { position: absolute; left: 38px; top: 50%; transform: translateY(-50%); white-space: nowrap; background: rgba(6, 11, 24, .88); color: var(--lm-white); font: 500 13px var(--lm-body); padding: 6px 10px; border-left: 2px solid var(--lm-acc); opacity: 0; transition: opacity .2s; pointer-events: none; }
.lmv-hs.is-on i { background: var(--lm-acc); transform: scale(1.15); }
.lmv-hs.is-on span, .lmv-hs:hover span, .lmv-hs:focus-visible span { opacity: 1; }
.lmv-car__card {
  position: absolute; left: 28px; right: 28px; bottom: 24px; z-index: 4; display: grid; grid-template-columns: 84px minmax(0, 1fr) auto; gap: 18px; align-items: center;
  padding: 14px 18px 14px 14px; background: rgba(6, 11, 24, .86); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, .14); border-top: 3px solid var(--lm-acc);
}
.lmv-car__card img { width: 84px; height: 84px; object-fit: cover; display: block; background: var(--lm-navy-2); }
.lmv-car__cb { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lmv-car__k { font: 600 11px/1 var(--lm-body); letter-spacing: .14em; text-transform: uppercase; color: var(--lm-acc); }
.lmv-car__t { color: var(--lm-white) !important; font: 600 19px/1.25 var(--lm-body); }
.lmv-car__t small { color: var(--lm-muted-2); font-weight: 400; font-size: 14px; }
.lmv-car__t:hover { color: var(--lm-acc) !important; }
.lmv-car__cb p { font-size: 14px; line-height: 1.5; color: #c9d3e3; font-weight: 300; }
.lmv-car__act { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
.lmv-car__arw { display: flex; gap: 6px; }
.lmv-car__arw button { flex: 1; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, .3); background: none; color: var(--lm-white); font-size: 16px; cursor: pointer; }
.lmv-car__arw button:hover { border-color: var(--lm-acc); color: var(--lm-acc); }
@media (max-width: 1180px) and (min-width: 901px) { .lmv-car__cb p { display: none; } }

/* ── ленты (марки, бренды) ─────────────────────────────── */
.lmv-sl { display: grid; grid-auto-flow: column; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.lmv-sl::-webkit-scrollbar { display: none; }
.lmv-sl > * { scroll-snap-align: start; }
.lmv-sl:focus-visible { outline: 2px solid var(--lm-acc); outline-offset: 4px; }
.lmv-slnav { display: flex; gap: 6px; }
.lmv-slnav__b { width: 44px; height: 44px; border: 1px solid var(--lm-navy); background: var(--lm-white); color: var(--lm-navy); font-size: 17px; cursor: pointer; transition: .15s; }
.lmv-slnav__b:hover:not(:disabled) { background: var(--lm-acc); border-color: var(--lm-acc); color: var(--lm-acc-ink); }
.lmv-slnav__b:disabled { border-color: var(--lm-line); color: var(--lm-muted-2); cursor: default; }

/* ── 2. марки ──────────────────────────────────────────── */
.lmv-makes__track { grid-template-rows: repeat(2, auto); grid-auto-columns: calc((100% - 4px) / 5); gap: 1px; background: var(--lm-line); border: 1px solid var(--lm-line); }
.lmv-make { background: var(--lm-white); padding: 18px 20px; display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; column-gap: 14px; row-gap: 4px; align-content: center; min-height: 84px; color: var(--lm-ink); transition: box-shadow .2s; }
.lmv-make__lg { grid-row: 1 / 3; grid-column: 1; width: 56px; height: 40px; align-self: center; background: var(--lm-navy); -webkit-mask: var(--lg) center / contain no-repeat; mask: var(--lg) center / contain no-repeat; }
.lmv-make b { grid-column: 2; align-self: end; font: 700 21px/1 var(--lm-display); text-transform: uppercase; color: var(--lm-navy); }
.lmv-make small { grid-column: 2; align-self: start; font-size: 13px; color: var(--lm-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lmv-make i { grid-row: 1 / 3; grid-column: 3; align-self: center; font-style: normal; color: var(--lm-navy); transition: transform .2s; }
.lmv-make:hover { box-shadow: inset 0 -3px 0 var(--lm-acc); }
.lmv-make:hover i { transform: translateX(4px); }

/* ── 3. каталог ────────────────────────────────────────── */
.lmv-cats__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 16px; }
.lmv-cat { display: flex; flex-direction: column; background: var(--lm-white); border: 1px solid var(--lm-line); color: var(--lm-ink); overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.lmv-cat img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: var(--lm-navy-2); }
.lmv-cat__b { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 20px; }
.lmv-cat b { font: 700 22px/1.15 var(--lm-display); color: var(--lm-navy); }
.lmv-cat small { font-size: 14px; line-height: 1.5; color: var(--lm-muted); }
.lmv-cat em { font-style: normal; font-weight: 600; font-size: 14px; color: var(--lm-navy); margin-top: 4px; }
.lmv-cat:hover { border-color: var(--lm-acc); box-shadow: 0 18px 40px -28px rgba(15, 26, 43, .6); }
.lmv-cats__more { margin-top: 20px; }

/* ── 4. витрина (showcase.php, классы .lmhs) — к виду варианта 2 ── */
.lmv-showcase .lmhs { max-width: var(--lm-container); margin-inline: auto; padding-inline: clamp(16px, 3vw, 32px); }
.lmv-showcase .lmhs__h2 { font: 700 clamp(26px, 3.2vw, 40px)/1.1 var(--lm-display) !important; text-transform: uppercase; letter-spacing: .01em; color: var(--lm-navy) !important; }
.lmv-showcase .lmhs__h2::before { content: ""; display: block; width: 44px; height: 4px; background: var(--lm-acc); margin-bottom: 14px; }
.lmv-showcase .lmhs__card { border-radius: 0 !important; }

/* ── 5. бренды ─────────────────────────────────────────── */
.lmv-brands__track { grid-auto-columns: calc((100% - 48px) / 4); gap: 16px; margin-top: 20px; }
.lmv-brand { display: grid; grid-template-columns: 56px minmax(0, 1fr); grid-template-rows: auto auto; gap: 6px 16px; align-items: center; padding: 18px 20px; border: 1px solid var(--lm-line); background: var(--lm-white); color: var(--lm-ink); transition: border-color .2s, box-shadow .2s; }
.lmv-brand:hover { border-color: var(--lm-acc); box-shadow: 0 14px 32px -24px rgba(15, 26, 43, .6); }
.lmv-brand__ic { grid-row: 1 / 3; width: 56px; height: 56px; display: grid; place-items: center; background: var(--lm-bg); color: var(--lm-navy); }
.lmv-brand__ic svg { width: 32px; height: 32px; }
.lmv-brand__t { display: flex; flex-direction: column; gap: 3px; }
.lmv-brand__t b { font: 700 19px/1.1 var(--lm-display); color: var(--lm-navy); }
.lmv-brand__t small { font-size: 13px; color: var(--lm-muted); }
.lmv-brand em { grid-column: 2; font-style: normal; font-weight: 600; font-size: 13px; color: var(--lm-navy); }

/* ── 6. почему LM74 ────────────────────────────────────── */
.lmv-trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 8px 0 24px !important; }
.lmv-trust li { background: var(--lm-bg); border-left: 3px solid var(--lm-acc); }
.lmv-trust li > a, .lmv-trust li:not(:has(a)) { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; height: 100%; color: var(--lm-acc-ink); }
.lmv-trust b { font: 600 30px/1 var(--lm-display); color: var(--lm-ink); }
.lmv-trust small { font-size: 14px; color: var(--lm-muted); }
.lmv-trust a:hover small { color: var(--lm-ink); text-decoration: underline; text-underline-offset: 3px; }
.lmv-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.lmv-why__i { display: flex; flex-direction: column; gap: 10px; padding: 24px; border-top: 3px solid var(--lm-navy); background: var(--lm-bg); color: var(--lm-ink); }
.lmv-why__i:hover { border-top-color: var(--lm-acc); }
.lmv-why__i b { font: 700 20px/1.2 var(--lm-display); color: var(--lm-navy); }
.lmv-why__i span { font-weight: 300; font-size: 15px; line-height: 1.6; color: var(--lm-muted); }
.lmv-why__i em { font-style: normal; font-weight: 600; font-size: 14px; color: var(--lm-navy); margin-top: auto; }

/* ── 7. как отличить оригинал ──────────────────────────── */
.lmv-auth__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.lmv-auth__text .lm-sh__t { margin: 12px 0 10px; }
.lmv-auth__text .lm-sh__t::before { display: none; }
.lmv-auth__text em { font-style: normal; color: var(--lm-navy-hov); }
.lmv-auth__steps { display: flex; flex-direction: column; gap: 10px; }
.lmv-auth__step { width: 100%; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 14px; text-align: left; padding: 18px 20px; background: var(--lm-white); border: 1px solid var(--lm-line); border-left: 3px solid transparent; cursor: pointer; font: inherit; color: inherit; transition: border-color .2s, box-shadow .2s; }
.lmv-auth__step s { text-decoration: none; font: 700 26px/1 var(--lm-display); color: var(--lm-muted-2); }
.lmv-auth__step b { display: block; font: 600 17px/1.3 var(--lm-body); color: var(--lm-navy); margin-bottom: 4px; }
.lmv-auth__step span span { font-weight: 300; font-size: 15px; line-height: 1.55; color: var(--lm-muted); }
.lmv-auth__step:hover { border-color: var(--lm-line-2); }
.lmv-auth__step.is-on { border-left-color: var(--lm-acc); box-shadow: 0 14px 30px -24px rgba(15, 26, 43, .6); }
.lmv-auth__step.is-on s { color: var(--lm-navy); }
.lmv-auth__ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.lmv-auth__tg { display: block; margin-top: 16px; padding: 14px 16px; border: 1px dashed var(--lm-muted-2); color: var(--lm-navy); font-size: 15px; line-height: 1.4; }
.lmv-auth__tg:hover { border-style: solid; background: var(--lm-white); }
.lmv-auth__pic { position: relative; }
.lmv-auth__pic img { width: 100%; height: auto; display: block; }
.lmv-auth__dot { position: absolute; width: 38px; height: 38px; margin: -19px 0 0 -19px; border-radius: 50%; border: 2px solid var(--lm-white); background: var(--lm-acc); color: var(--lm-acc-ink); font: 700 16px/1 var(--lm-display); cursor: pointer; display: grid; place-items: center; transition: transform .2s; }
.lmv-auth__dot.is-on { transform: scale(1.2); background: var(--lm-white); color: var(--lm-navy); border-color: var(--lm-acc); }

/* ── 8. опт ────────────────────────────────────────────── */
.lmv-b2b { padding-block: 0 72px; }
.lmv-b2b__box { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px 48px; align-items: center; background: var(--lm-white); border: 1px solid var(--lm-line); border-top: 4px solid var(--lm-acc); padding: 36px 40px; box-shadow: 0 24px 50px -40px rgba(15, 26, 43, .55); }
.lmv-b2b__h { margin: 10px 0 14px !important; font: 700 clamp(28px, 3vw, 38px)/1.1 var(--lm-display) !important; text-transform: uppercase; color: var(--lm-navy) !important; }
.lmv-b2b__l ul { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.lmv-b2b__l li { position: relative; padding-left: 20px; font-size: 15px; color: var(--lm-muted); }
.lmv-b2b__l li::before { content: "" !important; position: absolute; left: 0; top: .6em; width: 10px; height: 2px; background: var(--lm-acc); }
.lmv-b2b__f { display: flex; flex-direction: column; gap: 10px; position: relative; }
.lmv-b2b__two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
.lmv-b2b__two label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 500; color: var(--lm-ink); }
.lmv-b2b__two label i { font-style: normal; color: var(--lm-err); }
/* 14.10.2026: звёздочка «обязательно» стояла отдельной строкой и сдвигала поле телефона вниз —
   подпись теперь в одном span, оба поля одной высоты и на одной линии */
.lmv-b2b__two label > span { display: block; line-height: 1.3; min-height: 17px; }
.lmv-b2b__two input { box-sizing: border-box; height: 52px !important; margin: 0 !important; box-shadow: none; }
.lmv-b2b__two input { padding: 14px 16px; border: 1px solid var(--lm-line-2); background: var(--lm-bg); font: inherit; font-size: 16px; color: var(--lm-ink); min-width: 0; border-radius: 0; height: auto; }
.lmv-b2b__two input:focus { outline: 2px solid var(--lm-navy); outline-offset: 0; background: var(--lm-white); }
.lmv-b2b__ok { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.45; color: var(--lm-muted); }
.lmv-b2b__ok input { width: 20px; height: 20px; margin: 0; flex: 0 0 auto; accent-color: var(--lm-navy); }
.lmv-b2b__ok a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.lmv-b2b__f .submitButton { align-self: flex-start; }
.lmv-b2b__f small { font-size: 13px; color: var(--lm-muted); }
.lmv-b2b__f small a { color: var(--lm-navy); font-weight: 600; }
.lmv-b2b__f .successMessage { display: none; padding: 12px 14px; background: #eef7f0; color: var(--lm-ok); font-size: 14px; }
.lmv-b2b__f .successMessage.active { display: block; }

/* ── 9. вопросы и текст ────────────────────────────────── */
.lmv-faq__i { border: 1px solid var(--lm-line); background: var(--lm-white); margin-top: 10px; }
.lmv-faq__i summary { cursor: pointer; list-style: none; padding: 18px 52px 18px 20px; position: relative; font: 600 17px/1.35 var(--lm-body); color: var(--lm-navy); }
.lmv-faq__i summary::-webkit-details-marker { display: none; }
.lmv-faq__i summary::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font: 400 24px/1 var(--lm-body); color: var(--lm-navy); }
.lmv-faq__i[open] summary::after { content: "−"; }
.lmv-faq__i[open] { border-left: 3px solid var(--lm-acc); }
.lmv-faq__a { padding: 0 20px 18px; font-size: 15px; line-height: 1.65; color: var(--lm-muted); }
.lmv-faq__a p + p { margin-top: 10px; }
.lmv-seo p { max-width: 80ch; margin-top: 14px; font-size: 16px; line-height: 1.7; color: var(--lm-muted); }
.lmv-seo a { color: var(--lm-link); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--lm-line-2); }
.lmv-seo a:hover { text-decoration-color: var(--lm-acc); }

/* ── 10. магазины ──────────────────────────────────────── */
.lmv-stores__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
.lmv-store { background: var(--lm-white); padding: 26px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.lmv-store > b { font: 700 22px/1.2 var(--lm-display); color: var(--lm-navy); }
.lmv-store p { font-size: 15px; line-height: 1.6; color: var(--lm-muted); }
.lmv-store a:not(.lm-btn) { color: var(--lm-navy); font-weight: 600; }
.lmv-store__st { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--lm-muted); }
.lmv-store__st::before { content: ""; width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid var(--lm-muted-2); }
.lmv-store__st.is-open { color: var(--lm-ink); font-weight: 600; }
.lmv-store__st.is-open::before { background: var(--lm-ok); border-color: var(--lm-ok); }
.lmv-store__btns { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; }
.lmv-store--alt { background: var(--lm-grad); }
.lmv-store--alt > b { color: var(--lm-white); }
.lmv-store--alt p, .lmv-store--alt a:not(.lm-btn) { color: #c9d3e3 !important; }
.lmv-store--alt .lm-k { color: var(--lm-acc); }

/* ── адаптив ───────────────────────────────────────────── */
@media (min-width: 901px) and (max-width: 1180px) {
  .lmv-makes__track { grid-auto-columns: calc((100% - 3px) / 4); }
  .lmv-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .lmv-brands__track { grid-auto-columns: calc((100% - 32px) / 3); }
}
@media (max-width: 900px) {
  .lmv-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .lmv-hero__txt { padding: 28px 16px 32px; gap: 14px; }
  .lmv-hero__h1 { font-size: clamp(30px, 8.5vw, 42px) !important; }
  .lmv-hero__lead { font-size: 15px; }
  .lmv-hero__ctas { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .lmv-hero__r { display: flex; flex-direction: column; }
  .lmv-car__top { position: relative; left: auto; right: auto; top: auto; padding: 16px 16px 0; }
  .lmv-car__hint { display: none; }
  .lmv-car__tabs { width: 100%; }
  .lmv-car__tabs button { flex: 1; justify-content: center; padding: 10px 6px; }
  .lmv-car__stage { position: relative; left: auto; top: auto; width: 118%; margin-left: -9%; transform: none; }
  .lmv-car__card { position: relative; left: auto; right: auto; bottom: auto; margin: -8px 16px 20px; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
  .lmv-car__card img { width: 64px; height: 64px; }
  .lmv-car__act { grid-column: 1 / -1; flex-direction: row; }
  .lmv-car__act .lm-btn { flex: 1; }
  .lmv-hs span { display: none; }
  .lmv-sh__r .lmv-slnav { display: none !important; }
  .lmv-makes__track { grid-auto-columns: 42%; }
  .lmv-make { grid-template-columns: minmax(0, 1fr); padding: 14px; min-height: 0; align-content: start; row-gap: 6px; }
  .lmv-make__lg { grid-row: auto; width: 48px; height: 30px; align-self: start; }
  .lmv-make b, .lmv-make small { grid-column: 1; }
  .lmv-make b { font-size: 18px; }
  .lmv-make i { display: none; }
  .lmv-cats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .lmv-cat img { aspect-ratio: 1 / 1; }
  .lmv-cat__b { padding: 12px 12px 14px; gap: 4px; }
  .lmv-cat b { font-size: 16px; }
  .lmv-cat small { display: none; }
  .lmv-cats__more { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -16px; padding-inline: 16px; }
  .lmv-cats__more li { flex: 0 0 auto; }
  .lmv-brands__track { grid-auto-columns: 62%; }
  .lmv-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lmv-trust b { font-size: 24px; }
  .lmv-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .lmv-why__i { padding: 18px; }
  .lmv-auth__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .lmv-auth__pic { order: -1; }
  .lmv-b2b__box { grid-template-columns: minmax(0, 1fr); padding: 24px; }
  .lmv-stores__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .lmv-b2b__two { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .lmv-why__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 380px) { .lmv-hero__ctas { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  .lmv-hs i::after { animation: none; }
  .lmv-car__ext, .lmv-car__cab, .lmv-car__xray { transition: none; }
}

/* ══ Машина: контраст и «едет» (14.10.2026) ═══════════════════════════════════════════
   Тим: «улучши контраст точек и картинки, может затемни; создай движение, как будто едет».
   1) Фото притушено и чуть контрастнее — жёлтые точки читаются с первого взгляда.
   2) Точки — сплошной жёлтый с белым ободком, тёмной обводкой и свечением (было 60 % жёлтого).
   3) Движение: лёгкое покачивание кузова, вращение дисков, бегущие блики по полу и «ветер» за машиной.
      Диски — копии из того же car.webp, вырезанные эллипсом и повёрнутые в плоскости колеса
      (scaleX · rotate). В покое слои совпадают с фото, без JS и при prefers-reduced-motion
      машина просто стоит. Анимация идёт только в режиме «Кузов», пока первый экран виден
      и никто не приблизил точку (класс .is-drive ставит script.js). */
.lmv-car__stage { container-type: inline-size; }
.lmv-car__glow { background: radial-gradient(44% 42% at 50% 44%, #0d2a57 0%, #071430 50%, #02040a 100%); }
.lmv-car__img, .lmv-wheel b { filter: brightness(.8) contrast(1.14) saturate(1.08); }
.lmv-car__ext::after { /* виньетка по краям: точки в центре читаются лучше */
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: radial-gradient(70% 70% at 52% 50%, transparent 55%, rgba(2, 4, 10, .55) 100%);
}
.lmv-car__spots { z-index: 3; }

/* точки */
.lmv-hs i {
  inset: 12px; background: var(--lm-acc); border: 3px solid var(--lm-white);
  box-shadow: 0 0 0 3px rgba(2, 4, 10, .7), 0 6px 16px rgba(0, 0, 0, .65), 0 0 24px 4px rgba(255, 183, 3, .55);
}
.lmv-hs i::after { inset: -9px; border: 2px solid rgba(255, 183, 3, .95); }
.lmv-hs:hover i { transform: scale(1.12); }
.lmv-hs.is-on i { background: var(--lm-white); border-color: var(--lm-acc); transform: scale(1.3);
  box-shadow: 0 0 0 3px rgba(2, 4, 10, .75), 0 0 0 9px rgba(255, 183, 3, .35), 0 0 30px 8px rgba(255, 183, 3, .6); }
.lmv-hs span { background: rgba(2, 4, 10, .94); font-weight: 600; border-left-width: 3px; box-shadow: 0 8px 20px rgba(0, 0, 0, .5); }
@media (pointer: coarse) { .lmv-hs { width: 52px; height: 52px; margin: -26px 0 0 -26px; } .lmv-hs i { inset: 14px; } }

/* слой эффектов — та же маска, что у фото, чтобы края совпадали. Наложение обычное, не lighten:
   иначе неподвижные спицы фото просвечивали бы сквозь вращающиеся */
.lmv-car__fx { position: absolute; inset: 0; pointer-events: none;
  -webkit-mask-image: radial-gradient(60% 68% at 52% 48%, #000 58%, transparent 100%); mask-image: radial-gradient(60% 68% at 52% 48%, #000 58%, transparent 100%); }
.lmv-car__fx i, .lmv-car__fx b { display: block; position: absolute; }

/* диски: внешний эллипс = обод на фото; внутренний квадрат — диск, растянутый в круг */
.lmv-wheel { border-radius: 50%; overflow: hidden; opacity: 0; transition: opacity .4s;
  -webkit-mask-image: radial-gradient(closest-side, #000 82%, transparent 100%); mask-image: radial-gradient(closest-side, #000 82%, transparent 100%); }
/* фон эллипса — цвет подсветки за диском: фото лежит на ней в режиме lighten, и диск-копия
   смешивается с тем же цветом внутри своего эллипса (иначе просветы между спицами чернее фото) */
.lmv-wheel { background: var(--wg); }
.lmv-wheel b { top: 0; background-image: var(--car); background-repeat: no-repeat; will-change: transform; mix-blend-mode: lighten; }
/* передний: центр 624×586, полуоси 64×83 px из 1152×896 → k = 0,771 */
.lmv-wheel--f { --wg: rgb(6, 16, 39); left: 48.611cqw; top: 43.663cqw; width: 11.111cqw; height: 14.41cqw; }
.lmv-wheel--f b { left: -1.649cqw; width: 14.41cqw; height: 14.41cqw; --k: .7711;
  background-size: 129.69cqw 77.778cqw; background-position: -63.043cqw -43.663cqw; }
/* задний: центр 1006×544, полуоси 28×56 px → k = 0,5 */
.lmv-wheel--r { --wg: rgb(3, 7, 16); left: 84.896cqw; top: 42.361cqw; width: 4.861cqw; height: 9.722cqw; }
.lmv-wheel--r b { left: -2.431cqw; width: 9.722cqw; height: 9.722cqw; --k: .5;
  background-size: 200cqw 77.778cqw; background-position: -169.792cqw -42.361cqw; }
.lmv-wheel b { transform: scaleX(var(--k)) rotate(0deg); }

/* блики на полу — бегут назад, вправо: машина смотрит влево и «едет» на нас */
.lmv-car__road { left: 0; right: 0; top: 76%; bottom: 0; opacity: 0; transition: opacity .6s;
  background:
    repeating-linear-gradient(90deg, transparent 0 9cqw, rgba(150, 190, 255, .16) 9cqw 15cqw, transparent 15cqw 31cqw) 0 18% / 100% 2px no-repeat,
    repeating-linear-gradient(90deg, transparent 0 14cqw, rgba(255, 255, 255, .12) 14cqw 26cqw, transparent 26cqw 44cqw) 0 46% / 100% 3px no-repeat,
    repeating-linear-gradient(90deg, transparent 0 6cqw, rgba(255, 183, 3, .10) 6cqw 10cqw, transparent 10cqw 22cqw) 0 78% / 100% 2px no-repeat;
  filter: blur(1px);
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 25%, #000 70%, transparent); mask-image: linear-gradient(180deg, transparent, #000 25%, #000 70%, transparent); }
/* «ветер» за кузовом: тонкие светлые штрихи на тёмном фоне (фото поверх в режиме lighten) */
.lmv-car__wind { position: absolute; inset: 8% 0 30% 0; opacity: 0; transition: opacity .6s; pointer-events: none;
  background:
    linear-gradient(90deg, transparent, rgba(160, 200, 255, .22) 40%, transparent) 0 22% / 18cqw 1px repeat-x,
    linear-gradient(90deg, transparent, rgba(160, 200, 255, .16) 50%, transparent) 0 41% / 26cqw 1px repeat-x,
    linear-gradient(90deg, transparent, rgba(255, 255, 255, .14) 50%, transparent) 0 63% / 12cqw 1px repeat-x,
    linear-gradient(90deg, transparent, rgba(160, 200, 255, .12) 50%, transparent) 0 84% / 34cqw 2px repeat-x; }

.is-drive .lmv-wheel, .is-drive .lmv-car__road, .is-drive .lmv-car__wind { opacity: 1; }
/* 14.10 Тим: «слишком быстро крутятся» — оборот 2,2 с, спицы видны, лёгкое размытие */
.is-drive .lmv-wheel b { animation: lmvSpin 2.2s linear infinite; filter: brightness(.8) contrast(1.14) saturate(1.08) blur(.4px); }
.is-drive .lmv-car__road { animation: lmvRoad 2.4s linear infinite; }
.is-drive .lmv-car__wind { animation: lmvWind 3.2s linear infinite; }
.is-drive .lmv-car__ext { animation: lmvRide 3s ease-in-out infinite; }
@keyframes lmvSpin { to { transform: scaleX(var(--k)) rotate(-360deg); } }
@keyframes lmvRoad { to { background-position: 31cqw 18%, 44cqw 46%, 22cqw 78%; } }
@keyframes lmvWind { to { background-position: 18cqw 22%, 26cqw 41%, 12cqw 63%, 34cqw 84%; } }
@keyframes lmvRide {
  0%, 100% { translate: 0 0; rotate: 0deg; }
  22% { translate: 0 -1px; rotate: -.06deg; }
  48% { translate: 0 .5px; rotate: .05deg; }
  74% { translate: 0 -1px; rotate: -.06deg; }
}
@media (prefers-reduced-motion: reduce) {
  .is-drive .lmv-wheel, .is-drive .lmv-car__road, .is-drive .lmv-car__wind { opacity: 0; }
  .is-drive .lmv-wheel b, .is-drive .lmv-car__road, .is-drive .lmv-car__wind, .is-drive .lmv-car__ext { animation: none; }
}
@supports not (width: 1cqw) { .lmv-car__fx, .lmv-car__wind { display: none; } }

/* 14.10.2026: у фактов без ссылки («с 2014», «2 магазина») внутренний отступ задаёт сам li —
   общий сброс отступов списков (base.css) его обнулял, текст прилипал к жёлтой черте */
.lmv-trust > li:not(:has(a)) { padding: 18px 20px !important; }

/* ══ Масштаб машины «+ / −» (14.10.2026) ═══════════════════════════════════════════════
   Тим: «добавь кнопки +- зум на картинке авто; управление чтобы работало и на клаве, и мышкой».
   Мышь: кнопки, двойной щелчок по машине, Ctrl/⌘ + колесо (и щипок на тачпаде), перетаскивание
   при увеличении. Клавиатура: фокус на машине или любой её кнопке — «+»/«−», «0» сброс,
   стрелки сдвигают увеличенную картинку, а без увеличения листают разделы (← →).
   Палец: кнопки, при увеличении — перетаскивание. Масштаб — свойства scale/translate у сцены,
   они складываются с её transform и с приближением к точке (у .lmv-car__ext), ничего не ломая. */
.lmv-car__stage { transition: scale .35s cubic-bezier(.25, .8, .3, 1), translate .35s cubic-bezier(.25, .8, .3, 1); touch-action: pan-y; }
.lmv-car__stage:focus-visible { outline: 2px solid var(--lm-acc); outline-offset: -6px; }
.is-zoomed .lmv-car__stage { cursor: grab; touch-action: none; }
.lmv-car__stage.is-drag { cursor: grabbing; transition: none; }
/* картинки не перетаскиваются браузером — иначе вместо сдвига начинается перенос файла */
.lmv-car__stage img { -webkit-user-drag: none; user-select: none; -webkit-user-select: none; }
.is-zoomed .lmv-car__stage { user-select: none; -webkit-user-select: none; }
.lmv-hs { scale: calc(1 / var(--uz, 1)); }
.lmv-car__zoom { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); z-index: 5; display: flex; flex-direction: column;
  border: 1px solid rgba(255, 255, 255, .22); background: rgba(6, 11, 24, .72); backdrop-filter: blur(8px); }
.lmv-car__zoom button { width: 44px; height: 44px; border: 0; background: none; color: var(--lm-white); font: 600 22px/1 var(--lm-body); cursor: pointer;
  display: grid; place-items: center; touch-action: manipulation; }
.lmv-car__zoom button + button { border-top: 1px solid rgba(255, 255, 255, .14); }
.lmv-car__zoom button:hover:not(:disabled) { background: var(--lm-acc); color: var(--lm-acc-ink); }
.lmv-car__zoom button:focus-visible { outline: 2px solid var(--lm-acc); outline-offset: -3px; }
.lmv-car__zoom button:disabled { opacity: .35; cursor: default; }
.lmv-car__zoom button[data-z=reset] { font-size: 18px; }
.lmv-car__zlvl { font: 600 11px/1 var(--lm-body); color: #c9d3e3; text-align: center; padding: 6px 0; border-top: 1px solid rgba(255, 255, 255, .14); letter-spacing: .04em; }
@media (max-width: 900px) {
  .lmv-car__zoom { top: 84px; right: 16px; transform: none; }
  .lmv-car__zoom button { width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) { .lmv-car__stage { transition: none; } }

/* ══ Вертикальный ритм главной (14.10.2026) ══════════════════════════════════════════
   Тим: «отступы между секциями от шапки до футера — по правилам». Правило одно: между
   соседними блоками ровно один шаг секции — 72 px на десктопе, 44 px до 900 px (как .lm-sec
   в base.css). Что было не так (замер Playwright, 1440 px):
   • после тёмных плашек (.lm-band) «узкие» секции брендов начинались через 24 px — заголовок
     прилипал к плашке (скриншот Тима);
   • над плашками было 72 + 16 = 88 px, под ними 72 — несимметрично;
   • витрина не имела нижнего отступа: плашка под ней стояла в 25 px;
   • две белые секции подряд давали 72 + 24 = 96 px вместо одного шага. */
.lmv { --lmv-gap: 72px; }
@media (max-width: 900px) { .lmv { --lmv-gap: 44px; } }
.lmv > .lm-band { padding-top: 0 !important; padding-bottom: 0 !important; margin-block: 0 !important; }
.lmv > .lmv-showcase { padding-bottom: var(--lmv-gap); }
/* узкая секция после плашки — полный шаг сверху */
.lmv > .lm-band + .lm-sec--tight { padding-top: var(--lmv-gap) !important; }
/* белая узкая секция сразу после белой — без второго отступа: шаг уже даёт нижний отступ соседа */
.lmv > .lm-sec:not(.lm-sec--bg) + .lm-sec--tight:not(.lm-sec--bg) { padding-top: 0 !important; }
/* серые секции подряд (проверка оригинала → опт) — один шаг между ними */
.lmv > .lm-sec--bg + .lm-sec--bg { padding-top: 0 !important; }
/* плашка сразу после серой секции стоит на белом — даём ей шаг сверху */
.lmv > .lm-sec--bg + .lm-band { padding-top: var(--lmv-gap) !important; }
/* последний элемент FAQ не вылезает за секцию */
.lmv-faq .lmv-faq__i:last-child { margin-bottom: 0; }

/* ══ «Соберите ТО одной коробкой» (14.10.2026) ══ по макету, цвета — токены сайта:
   акцент макета (красный) заменён нашим жёлтым, текст и обводки — тёмно-синие. */
.lmv-kit__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px 64px; align-items: start; }
.lmv-kit__h { margin: 8px 0 12px !important; font: 700 clamp(30px, 3.4vw, 46px)/1.08 var(--lm-display) !important; color: var(--lm-navy) !important; }
.lmv-kit__h mark { display: inline; background: linear-gradient(transparent 62%, var(--lm-acc) 62%, var(--lm-acc) 92%, transparent 92%); color: inherit; padding: 0 .06em; }
.lmv-kit__sub { font-size: 17px; line-height: 1.6; color: var(--lm-ink-2); max-width: 34em; margin: 0 0 22px; }
.lmv-kit__car { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; max-width: 560px; }
.lmv-kit__car label { display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 500; color: var(--lm-muted); margin: 0; }
.lmv-kit__car select { height: 52px; padding: 0 40px 0 14px; border: 1px solid var(--lm-line-2); border-radius: 0; background: var(--lm-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2300336b' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center;
  -webkit-appearance: none; appearance: none; font: 500 16px var(--lm-body); color: var(--lm-ink); cursor: pointer; }
.lmv-kit__car select:disabled { background-color: var(--lm-bg); color: var(--lm-muted-2); cursor: default; }
.lmv-kit__car select:focus-visible { outline: 2px solid var(--lm-navy); outline-offset: 0; }
.lmv-kit__go { display: flex; align-items: center; gap: 28px; margin: 24px 0 18px; flex-wrap: wrap; }
.lmv-kit__ring { position: relative; width: 120px; height: 120px; flex: 0 0 120px; display: grid; place-content: center; text-align: center; }
.lmv-kit__ring svg { position: absolute; inset: 0; transform: rotate(-90deg); }
.lmv-kit__ring circle { fill: none; stroke: var(--lm-line); stroke-width: 10; }
.lmv-kit__ring .lmv-kit__arc { stroke: var(--lm-acc); stroke-dasharray: var(--p, 0) 1; transition: stroke-dasharray .35s ease; }
.lmv-kit__ring b { position: relative; font: 700 34px/1 var(--lm-display); color: var(--lm-navy); }
.lmv-kit__ring small { position: relative; font-size: 13px; color: var(--lm-muted); letter-spacing: .04em; margin-top: 4px; }
.lmv-kit__btn { min-height: 56px; padding-inline: 28px; }
.lmv-kit__btn.is-off { background: var(--lm-line); color: var(--lm-muted) !important; box-shadow: none; cursor: default; }
.lmv-kit__note { font-size: 15px; color: var(--lm-ink-2); margin: 0; }
.lmv-kit__note a { color: var(--lm-navy); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--lm-acc); }
.lmv-kit__list { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.lmv-kit__list > li { margin: 0 !important; padding: 0 !important; display: flex; align-items: stretch; background: var(--lm-white); border: 1px solid var(--lm-line); transition: border-color .15s, box-shadow .15s; }
.lmv-kit__list > li::before { content: none !important; display: none !important; }
.lmv-kit__list > li.is-on { border-color: var(--lm-navy); box-shadow: inset 3px 0 0 var(--lm-acc); }
.lmv-kit__list label { flex: 1; display: grid; grid-template-columns: 28px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 16px; align-items: center; padding: 16px 20px; margin: 0; cursor: pointer; min-height: 72px; }
.lmv-kit__list input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lmv-kit__list i { grid-row: 1 / 3; width: 28px; height: 28px; border: 2px solid var(--lm-line-2); background: var(--lm-white); display: grid; place-items: center; transition: background .15s, border-color .15s; }
.lmv-kit__list input:checked + i { background: var(--lm-navy); border-color: var(--lm-navy); }
.lmv-kit__list input:checked + i::after { content: ""; width: 12px; height: 7px; border: solid var(--lm-acc); border-width: 0 0 3px 3px; transform: translateY(-2px) rotate(-45deg); }
.lmv-kit__list input:focus-visible + i { outline: 2px solid var(--lm-acc); outline-offset: 2px; }
.lmv-kit__list b { font: 600 18px/1.25 var(--lm-body); color: var(--lm-navy); }
.lmv-kit__list small { font-size: 13px; color: var(--lm-muted); }
.lmv-kit__to { display: grid; place-items: center; width: 64px; border-left: 1px solid var(--lm-line); color: var(--lm-navy); font-size: 20px; text-decoration: none; }
.lmv-kit__to:hover { background: var(--lm-acc); color: var(--lm-acc-ink); }
@media (max-width: 900px) {
  .lmv-kit__in { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .lmv-kit__go { gap: 18px; }
  .lmv-kit__ring { width: 96px; height: 96px; flex-basis: 96px; }
  .lmv-kit__ring b { font-size: 28px; }
  .lmv-kit__btn { flex: 1; justify-content: center; }
}
@media (max-width: 420px) { .lmv-kit__car { grid-template-columns: minmax(0, 1fr); } }

/* ══ Выбор точки → карточка раздела (14.10.2026) ══
   Тим: «при нажатии точки должен заметно подсвечиваться раздел, и было видно, куда кликнуть,
   чтобы перейти подробнее». Карточка вспыхивает жёлтым контуром, кнопка «Подробнее →»
   пульсирует, вся карточка кликабельна (курсор-рука). */
.lmv-car__card { cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s; }
.lmv-car__card:hover { border-color: rgba(255, 183, 3, .6); }
.lmv-car__card.is-flash { animation: lmvCardFlash 1.4s ease-out 1; border-color: var(--lm-acc); }
@keyframes lmvCardFlash {
  0% { box-shadow: 0 0 0 0 rgba(255, 183, 3, .85), 0 0 0 0 rgba(255, 183, 3, .35); transform: translateY(0); }
  18% { box-shadow: 0 0 0 4px rgba(255, 183, 3, .9), 0 0 40px 6px rgba(255, 183, 3, .45); transform: translateY(-3px); }
  100% { box-shadow: 0 0 0 0 rgba(255, 183, 3, 0), 0 0 0 0 rgba(255, 183, 3, 0); transform: translateY(0); }
}
.lmv-car__card.is-flash .lmv-car__k, .lmv-car__card.is-flash .lmv-car__t { animation: lmvTextFlash 1.4s ease-out 1; }
@keyframes lmvTextFlash { 0%, 30% { color: var(--lm-acc); } 100% { } }
.lmv-car__more { white-space: nowrap; justify-content: center; position: relative; }
.lmv-car__card.is-flash .lmv-car__more { animation: lmvMorePulse 1s ease-in-out 3; }
@keyframes lmvMorePulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(255, 183, 3, .7); } 50% { box-shadow: 0 0 0 10px rgba(255, 183, 3, 0); } }
/* «рука» над кнопкой: подсказка, куда нажать, видна пока карточка подсвечена */
.lmv-car__more::after { content: ""; position: absolute; right: 10px; bottom: -14px; width: 26px; height: 26px; opacity: 0; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 11V4.5a1.5 1.5 0 0 1 3 0V10l1-.2a1.5 1.5 0 0 1 3 .2v.3a1.5 1.5 0 0 1 3 .3V15c0 3.3-2.2 6-5.5 6h-1.2c-1.9 0-3.6-1-4.6-2.6L4.6 14a1.4 1.4 0 0 1 2.3-1.6L9 14.5' fill='%23ffffff' stroke='%2306172e' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .5)); }
.lmv-car__card.is-flash .lmv-car__more::after { animation: lmvHand 2.4s ease-in-out 1; }
@keyframes lmvHand { 0% { opacity: 0; transform: translate(10px, 14px); } 20%, 75% { opacity: 1; transform: translate(0, 0); } 40%, 60% { transform: translate(0, -3px) scale(.92); } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .lmv-car__card.is-flash, .lmv-car__card.is-flash .lmv-car__more, .lmv-car__card.is-flash .lmv-car__more::after { animation: none; }
  .lmv-car__card.is-flash { box-shadow: 0 0 0 3px var(--lm-acc); }
}
@media (max-width: 900px) { .lmv-car__act { flex-wrap: wrap; } .lmv-car__act .lmv-car__more { flex: 1 1 100%; } }
/* кнопки масштаба — строкой под вкладками справа: сбоку посередине они закрывали заднюю точку */
.lmv-car__zoom { top: 76px; right: 28px; transform: none; flex-direction: row; align-items: stretch; }
.lmv-car__zoom button + button { border-top: 0; border-left: 1px solid rgba(255, 255, 255, .14); }
.lmv-car__zlvl { display: grid; place-items: center; min-width: 48px; padding: 0 8px; border-top: 0; border-left: 1px solid rgba(255, 255, 255, .14); }
@media (max-width: 900px) { .lmv-car__zoom { top: 84px; right: 16px; } }

/* ══ 14.10.2026, по макету (dev.5na5.ru/project/lm74-variant2) и замечаниям Тима ═══════════
   • H1 первого экрана — Inter Tight (шрифт текста), а не "Sofia Sans Condensed": «как здесь шрифты надо» —
     жирный капс с воздухом между строк, меньше кеглем, чтобы первый экран с кнопками влезал;
   • в карточке раздела вместо кнопки «Подробнее» — само название как ссылка: подсвечивается,
     когда курсор подъезжает, подпись «← кликни для перехода» мигает, указатель-подсказка;
   • чипы под плитками каталога прилипали к плиткам — отступ и воздух между чипами;
   • ленты: полоска прогресса под лентой. */
.lmv-hero__h1 { font: 700 clamp(30px, 2.9vw, 46px)/1.18 var(--lm-body) !important; letter-spacing: .015em; }
.lmv-hero__txt { gap: 18px; }
.lmv-hero { min-height: clamp(560px, calc(100svh - 230px), 760px); }
@media (max-height: 760px) and (min-width: 901px) { .lmv-hero__h1 { font-size: clamp(28px, 2.5vw, 38px) !important; } .lmv-hero__lead { display: none; } .lmv-hero__txt { gap: 14px; } }
@media (max-width: 900px) { .lmv-hero__h1 { font-size: clamp(26px, 7.2vw, 36px) !important; line-height: 1.2; } }

/* карточка раздела */
.lmv-car__cb { gap: 8px; }
.lmv-car__cb p { margin-top: 2px; }
.lmv-car__act { align-self: center; }
.lmv-car__t.lmv-mag { display: block; line-height: 1.3; --k: 0; --tx: 0px; --ty: 0px; position: relative; transform: translate(var(--tx), var(--ty)); transition: transform .18s ease-out, color .2s; will-change: transform; }
.lmv-car__t small { white-space: nowrap; }
.lmv-mag__in { display: inline; font-size: 18px; padding-bottom: 3px; background-image: linear-gradient(var(--lm-acc), var(--lm-acc)); background-repeat: no-repeat; background-size: calc(var(--k) * 100%) 2px; background-position: 0 100%; transition: background-size .15s ease-out; }
.lmv-mag.is-near, .lmv-mag:hover, .lmv-mag.is-demo { color: var(--lm-acc) !important; }
.lmv-mag.is-near .lmv-mag__in, .lmv-mag:hover .lmv-mag__in, .lmv-mag.is-demo .lmv-mag__in { background-size: 100% 2px; }
.lmv-mag__hint { display: block; margin-top: 5px; text-align: right; font: 600 11px/1 var(--lm-body); letter-spacing: .1em; text-transform: uppercase; color: var(--lm-acc); white-space: nowrap; opacity: calc((var(--k) - .3) / .7); transform: translateY(calc((1 - var(--k)) * 6px)); pointer-events: none; transition: opacity .15s, transform .15s; }
.lmv-mag__hint b { display: inline-block; font-weight: 700; font-size: 14px; line-height: 0; vertical-align: -1px; margin-right: 4px; animation: lmvHintNudge 1s ease-in-out infinite; }
.lmv-mag.is-near .lmv-mag__hint, .lmv-mag:hover .lmv-mag__hint, .lmv-mag.is-demo .lmv-mag__hint { opacity: 1; transform: none; animation: lmvHintBlink 1s steps(1, end) infinite; }
@keyframes lmvHintBlink { 0%, 60% { opacity: 1; } 61%, 100% { opacity: .45; } }
@keyframes lmvHintNudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-4px); } }
@media (hover: none) { .lmv-mag__hint { display: none; } }
/* указатель-подсказка */
.lmv-ghost { position: absolute; left: 0; top: 0; z-index: 9; pointer-events: none; opacity: 0; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .6)); will-change: transform; }
.lmv-ghost.is-show { opacity: 1; }
.lmv-ghost i { position: absolute; left: -12px; top: -12px; width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--lm-acc); opacity: 0; transform: scale(.4); }
.lmv-ghost.is-click i { animation: lmvGhostTap .45s ease-out; }
@keyframes lmvGhostTap { from { opacity: 1; transform: scale(.4); } to { opacity: 0; transform: scale(1.6); } }
/* чипы под плитками */
.lmv-cats__more { margin-top: 28px !important; gap: 10px !important; }
.lm-chip { min-height: 44px; display: inline-flex; align-items: center; }
/* полоска прогресса под лентой */
.lmv-slbar { height: 3px; background: var(--lm-line); margin-top: 14px; position: relative; overflow: hidden; }
.lmv-slbar i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--lm-acc); border-radius: 2px; transition: transform .15s linear; }
@media (prefers-reduced-motion: reduce) { .lmv-mag__hint, .lmv-mag__hint b { animation: none !important; } .lmv-car__t.lmv-mag { transition: none; } }

/* ══ Плашки-призывы во всю ширину с волной (14.10.2026, «овальный как в макете») ══
   .lm-band из base.css рисовала плашку в контейнере прямоугольником. Здесь: фон на всю ширину
   окна (секция и так растянута .lmv > section), контент — в .lm-wrap, снизу волна тем же цветом,
   что низ градиента (#0c2b57), с мягкой тенью на белом. */
.lmv-band { position: relative; background: var(--lm-white); }
.lmv-band .lm-band__in { padding: 64px clamp(16px, 4vw, 48px) 20px; }
.lmv-band__wrap { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.lmv-band__wave { display: block; width: 100%; height: 72px; fill: #0c2b57; filter: drop-shadow(0 14px 14px rgba(15, 26, 43, .18)); }
.lmv > .lm-band + .lm-sec--tight, .lmv > .lm-band + .lm-sec { padding-top: calc(var(--lmv-gap) - 24px) !important; }
@media (max-width: 900px) { .lmv-band .lm-band__in { padding: 44px 16px 14px; } .lmv-band__wave { height: 40px; } }
/* «Есть в наличии» в штатных карточках витрины: зелёный Aspro давал 2,96:1 на белом */
.lmv-showcase .value.font_sxs, .lmv-showcase .item-stock .value { color: #2e7d32 !important; }

/* плашка после серой секции: верхний шаг тем же серым, без белой полосы */
.lmv > .lm-sec--bg + .lm-band { background: var(--lm-bg); }
/* 14.10.2026, Тим: «колёса намного медленнее, плавнее»: оборот 7 с вместо 2,2, без размытия;
   дорога и ветер — в том же темпе */
.is-drive .lmv-wheel b { animation-duration: 7s !important; filter: brightness(.8) contrast(1.14) saturate(1.08) !important; }
.is-drive .lmv-car__road { animation-duration: 7.5s !important; }
.is-drive .lmv-car__wind { animation-duration: 9s !important; }
.is-drive .lmv-car__ext { animation-duration: 6s !important; }
/* 14.10.2026, Тим: «много пустоты» в левой половине первого экрана. Высота теперь по содержимому
   (не выше 720 px), под кнопками — факты и статус двух магазинов; подзаголовок виден всегда. */
.lmv-hero { min-height: 0; height: clamp(560px, calc(100svh - 230px), 720px); }
.lmv-hero__txt { gap: 16px; padding-top: 36px; padding-bottom: 36px; }
.lmv-hero__h1 { font-size: clamp(30px, 2.7vw, 42px) !important; }
.lmv-hero__lead { display: block !important; font-size: 17px; }
.lmv-hero__ctas { margin-top: 2px; }
.lmv-hero__facts { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 10px 0 0 !important; padding: 18px 0 0 !important; border-top: 1px solid rgba(255, 255, 255, .22); list-style: none; }
.lmv-hero__facts li { display: flex; align-items: center; gap: 10px; margin: 0 !important; padding: 0 !important; }
.lmv-hero__facts b { font: 700 30px/1 var(--lm-display); color: var(--lm-acc); }
.lmv-hero__facts span { font-size: 13px; line-height: 1.25; color: #dce4f0; }
.lmv-hero__stores { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.lmv-hero__stores a { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 14px; min-height: 32px; }
.lmv-hero__stores a:hover b { color: var(--lm-acc); }
/* 16.10.2026 (Leon): закрытый магазин — красная точка, как в шапке, а не пустой кружок */
.lmv-hero__stores i { width: 8px; height: 8px; border-radius: 50%; background: var(--lm-err-hi, #ff9f9a); border: 1.5px solid var(--lm-err-hi, #ff9f9a); box-shadow: 0 0 0 3px rgba(255, 159, 154, .2); flex: 0 0 auto; }
.lmv-hero__stores i.is-open { background: var(--lm-ok-hi, #4ade80); border-color: var(--lm-ok-hi, #4ade80); box-shadow: 0 0 0 3px rgba(74, 222, 128, .18); }
.lmv-hero__stores b { font-weight: 600; }
.lmv-hero__stores span { color: #c9d3e3; font-size: 13px; }
@media (max-height: 760px) and (min-width: 901px) { .lmv-hero__facts { display: none; } .lmv-hero__lead { display: block !important; } }
@media (max-width: 900px) { .lmv-hero { height: auto; } .lmv-hero__facts { gap: 8px 18px; } .lmv-hero__facts b { font-size: 24px; } .lmv-hero__stores { flex-direction: column; gap: 4px; } }

/* ══ «Сейчас актуально» с картинкой (14.10.2026, как в макете) ══════════════════════════
   showcase.php общий с вариантом A, поэтому разметку не трогаем: картинка — фон псевдоэлемента
   слева, текст и кнопки сдвинуты вправо. Картинки декоративные, alt не нужен. Карточки — по
   одной в ряд: при двух колонках картинка и текст в каждой становятся слишком узкими. */
.lmv-showcase .lmhs__cards { grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; margin-top: 20px !important; }
.lmv-showcase .lmhs__card { position: relative; overflow: hidden; min-height: 340px; justify-content: center; gap: 12px;
  padding: 40px 48px 40px calc(46% + 48px) !important; border-radius: 0 !important; }
.lmv-showcase .lmhs__card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 46%;
  background: var(--lmv-pic) center / cover no-repeat var(--lm-navy-2); }
.lmv-showcase .lmhs__card--season { --lmv-pic: url(/include/lm74-home-v2/img/cat/winter.webp); background: #0f1a3a !important; }
.lmv-showcase .lmhs__card:not(.lmhs__card--season) { --lmv-pic: url(/include/lm74-home-v2/img/cat/kit.webp?v=20261112); }
.lmv-showcase .lmhs__card:not(.lmhs__card--season)::before { background-color: #eef1f5; }
.lmv-showcase .lmhs__kicker { font: 600 12px/1 var(--lm-body); letter-spacing: .16em; }
.lmv-showcase .lmhs__card-title { font: 700 clamp(26px, 2.6vw, 38px)/1.12 var(--lm-display) !important; }
.lmv-showcase .lmhs__card-title a { color: var(--lm-navy); }
.lmv-showcase .lmhs__card--season .lmhs__card-title a { color: #fff; }
.lmv-showcase .lmhs__card-text { font-size: 17px !important; line-height: 1.6 !important; max-width: 34em; }
.lmv-showcase .lmhs__card .lmhs__chip { min-height: 48px; padding-inline: 22px; font-size: 15px; }
.lmv-showcase .lmhs__card:hover { transform: none; }
.lmv-showcase .lmhs__card:hover::before { filter: brightness(1.06); }
@media (max-width: 900px) {
  .lmv-showcase .lmhs__card { min-height: 0; padding: calc(56% + 20px) 20px 22px !important; }
  .lmv-showcase .lmhs__card::before { right: 0; bottom: auto; width: auto; height: 56%; aspect-ratio: auto; }
  .lmv-showcase .lmhs__card::before { height: auto; padding-top: 56%; }
  .lmv-showcase .lmhs__card-text { font-size: 15px !important; }
}
/* кнопки в карточках — как остальные кнопки варианта 2: прямые углы, шрифт текста */
.lmv-showcase .lmhs__card .lmhs__chip { border-radius: 0 !important; font: 600 15px/1 var(--lm-body) !important; letter-spacing: 0 !important; text-transform: none !important; }

/* ══ Ритм «заголовок → подзаголовок → содержимое» (14.10.2026, Тим: «прижато между блоками») ══
   Общий сброс .lmv p { margin: 0 } обнулял нижний отступ подзаголовка .lm-sub — список шагов,
   ленты и карточки вставали к тексту вплотную. Единая лестница отступов для всех секций:
   метка → 12 → заголовок → 14 → подзаголовок → 28 → содержимое. */
.lmv .lm-sh { margin-bottom: 14px; }
.lmv .lm-sub { margin: 0 0 28px !important; max-width: 62ch; }
.lmv .lm-sh + .lmv-cats__grid, .lmv .lm-sh + .lmv-stores__grid, .lmv .lm-sh + .lmv-brands__track { margin-top: 24px; }
.lmv-auth__text .lm-k { display: block; margin-bottom: 12px; }
.lmv-auth__text .lm-sh__t { margin: 0 0 14px !important; }
.lmv-auth__steps { gap: 12px; }
.lmv-auth__ctas { margin-top: 28px; }
.lmv-auth__tg { margin-top: 20px; }
.lmv-why .lm-sub { margin-bottom: 20px !important; }
.lmv-trust { margin: 0 0 28px !important; }
.lmv-kit__h { margin: 12px 0 14px !important; }
.lmv-kit__sub { margin-bottom: 28px !important; }
.lmv-b2b__h { margin: 12px 0 18px !important; }
.lmv-b2b__l ul { margin-bottom: 20px; }
.lmv-faq .lmv-faq__i:first-of-type { margin-top: 24px; }
@media (max-width: 900px) {
  .lmv .lm-sub { margin-bottom: 20px !important; }
  .lmv-auth__ctas { margin-top: 20px; }
}

/* ══ иерархия заголовков (14.10, Тим: «h2 слишком крупные, h1 крупнее, дальше по убыванию») ══
   H1 Inter Tight 700 капс — самый крупный; H2 секций "Sofia Sans Condensed" — на ступень меньше (~0,65 от H1);
   заголовки карточек (уровень H3) — 18–22 px. "Sofia Sans Condensed" узкий и высокий, поэтому разрыв делаем заметным. */
.lmv-hero__h1 { font-size: clamp(32px, 2.9vw, 46px) !important; }
@media (max-height: 760px) and (min-width: 901px) { .lmv-hero__h1 { font-size: clamp(30px, 2.6vw, 40px) !important; } }
.lmv h2.lm-sh__t, .lmv .lm-sh__t, .lmv .lmhs__h2, .lmv .lmv-kit__h, .lmv .lm-band__t, .lmv .lmv-b2b__h,
.lmv-band .lm-band__t { font-size: clamp(24px, 1.9vw, 32px) !important; line-height: 1.12 !important; }
@media (max-width: 900px) {
  .lmv-hero__h1 { font-size: clamp(28px, 7.6vw, 36px) !important; }
  .lmv h2.lm-sh__t, .lmv .lm-sh__t, .lmv .lmhs__h2, .lmv .lmv-kit__h, .lmv .lm-band__t, .lmv .lmv-b2b__h,
  .lmv-band .lm-band__t { font-size: 22px !important; }
}

/* «В наличии сегодня» / «Сейчас актуально»: заголовок, подпись и сетка товаров стояли вплотную (0 px).
   Ритм как у остальных секций: H2 → 14 → подпись → 28 → контент */
.lmv-showcase .lmhs__head { margin-bottom: 14px !important; align-items: flex-end; }
.lmv-showcase .lmhs__note { margin: 0 0 28px !important; color: var(--lm-mute, #5b6b82); font-size: 17px; line-height: 1.5; max-width: 760px; }
.lmv-showcase .lmhs__head + .lmhs__grid, .lmv-showcase .lmhs__head + .lmhs__cards { margin-top: 28px !important; }
.lmv-showcase .lmhs { margin-bottom: 72px !important; }
@media (max-width: 900px) {
  .lmv-showcase .lmhs__note { font-size: 15px; margin-bottom: 20px !important; }
  .lmv-showcase .lmhs { margin-bottom: 48px !important; }
}
.lmv-showcase .lmhs__note { max-width: 920px; text-wrap: pretty; }

/* ══ полосы с фото (14.10, Тим: «разбавь картинками, к примеру фото консультанта»; фото — Шедеврум) ══ */
.lmv-band--pic .lmv-band__wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); align-items: center; gap: 56px; text-align: left; }
.lmv-band--pic .lmv-band__txt { display: flex; flex-direction: column; align-items: flex-start; }
.lmv-band--pic .lm-band__t, .lmv-band--pic .lm-band__p { text-align: left !important; margin-left: 0 !important; margin-right: 0 !important; }
.lmv-band--pic .lm-band__p { max-width: 560px; }
.lmv-band__pic { position: relative; margin: 0; border-radius: 20px; overflow: hidden; aspect-ratio: 4 / 3;
  box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .7), 0 0 0 1px rgba(255, 255, 255, .08); transform: rotate(1.5deg); transition: transform .4s ease; }
.lmv-band__pic::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1);
  background: linear-gradient(180deg, rgba(12, 43, 87, 0) 55%, rgba(12, 43, 87, .35)); pointer-events: none; }
.lmv-band__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lmv-band--pic:hover .lmv-band__pic { transform: rotate(0deg) scale(1.01); }
.lmv-band__pic::before { content: ""; position: absolute; z-index: 1; left: 18px; top: 18px; width: 44px; height: 4px; border-radius: 2px; background: var(--lm-acc); }
@media (max-width: 900px) {
  .lmv-band--pic .lmv-band__wrap { grid-template-columns: 1fr; gap: 24px; }
  .lmv-band__pic { order: -1; aspect-ratio: 16 / 9; transform: none; border-radius: var(--lm-r-lg); }
  .lmv-band--pic:hover .lmv-band__pic { transform: none; }
}
.lmv-band--pic .lm-band__t { margin: 0 0 14px !important; }
.lmv-band--pic .lm-band__p { margin: 0 0 28px !important; }
/* все полосы: заголовок → 14 → текст → 28 → кнопка (раньше стояли вплотную) */
.lmv-band .lm-band__t { margin: 0 0 14px !important; }
.lmv-band .lm-band__p { margin: 0 0 28px !important; }
.lmv-band .lmv-band__wrap { padding-top: 8px; padding-bottom: 8px; }

/* ══ первый экран по референсу Тима (14.10.2026): светлая левая половина, заголовок Sofia Sans
      Condensed тёмно-синим, «в Челябинске» красным, обещание и четыре факта-чипа с жёлтой точкой.
      Правая половина с машиной не меняется. ══ */
.lmv-hero__l { background: var(--lm-bg) !important; color: var(--lm-ink) !important; }
.lmv-hero__l::before { content: none !important; }
.lmv-hero__l::after { background: linear-gradient(90deg, var(--lm-acc), rgba(255, 183, 3, 0) 70%) !important; }
.lmv .lmv-hero .lmv-hero__txt { gap: 22px !important; }
.lmv .lmv-hero .lmv-eyebrow { color: var(--lm-navy) !important; }
.lmv .lmv-hero .lmv-eyebrow::before { background: var(--lm-acc) !important; height: 3px; }
.lmv .lmv-hero .lmv-hero__h1 {
  font: 800 clamp(44px, 4.6vw, 84px)/.98 var(--lm-display) !important; text-transform: none !important;
  letter-spacing: -.005em !important; color: var(--lm-ink) !important; text-wrap: balance; margin: 0;
}
.lmv .lmv-hero .lmv-hero__accent { color: var(--lm-err); }
.lmv .lmv-hero .lmv-hero__lead { display: block !important; margin: 0; max-width: none; font: 400 clamp(19px, 1.6vw, 26px)/1.35 var(--lm-body) !important; color: #5b6b80 !important; }
.lmv-hero__chips { display: flex; flex-wrap: wrap; gap: 12px; margin: 2px 0 0 !important; padding: 0 !important; list-style: none; }
.lmv-hero__chips li { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; margin: 0 !important; padding: 0 22px !important;
  border: 1.5px solid #cfd6e3; border-radius: 999px; background: rgba(255, 255, 255, .55); color: var(--lm-ink); font: 500 16px/1.2 var(--lm-body); }
.lmv-hero__chips li::before { content: "" !important; position: static !important; margin: 0 !important; width: 9px; height: 9px; border-radius: 50%; background: #e8b341; flex: none; }
.lmv-hero__chips a { color: inherit !important; text-decoration: none !important; }
.lmv-hero__chips li:has(a):hover { border-color: var(--lm-acc); background: #fff; }
.lmv .lmv-hero .lmv-hero__ctas { margin-top: 6px; }
@media (max-width: 900px) {
  .lmv .lmv-hero .lmv-hero__h1 { font-size: clamp(38px, 11vw, 56px) !important; }
  .lmv-hero__chips li { min-height: 40px; padding: 0 16px !important; font-size: 14px; }
}

/* факты первого экрана — тёмная плашка по скрину Тима (14.10.2026): крупная цифра жёлтым, пояснение под ней */
.lmv-hero__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 32px; margin: 4px 0 0 !important; padding: 24px 28px !important; list-style: none;
  border-radius: 20px; background: linear-gradient(180deg, rgba(30, 44, 70, .97), rgba(20, 32, 56, .97)); border: 1px solid rgba(255, 255, 255, .14);
  box-shadow: 0 24px 48px -28px rgba(6, 15, 34, .7), inset 0 1px 0 rgba(255, 255, 255, .06); }
.lmv-hero__stats li { margin: 0 !important; padding: 0 !important; min-width: 0; }
.lmv-hero__stats li::before { content: none !important; }
.lmv-hero__stats a { display: block; color: inherit !important; text-decoration: none !important; }
.lmv-hero__stats b { display: block; font: 800 clamp(26px, 2.3vw, 36px)/1.05 var(--lm-body); letter-spacing: -.01em; color: #f6b93b; white-space: nowrap; }
.lmv-hero__stats span { display: block; margin-top: 8px; font: 400 15px/1.45 var(--lm-body); color: #c9d3e3; }
.lmv-hero__stats a:hover b { color: var(--lm-acc-hi); }
.lmv-hero__stats a:hover span { color: #fff; }
@media (max-width: 900px) {
  .lmv-hero__stats { gap: 16px 20px; padding: 18px 20px !important; }
  .lmv-hero__stats span { font-size: 13.5px; }
}

/* бренды: настоящие логотипы (14.10.2026) — белая плитка шире, логотип целиком, без обрезки */
.lmv-brand { grid-template-columns: 96px minmax(0, 1fr) !important; }
.lmv-brand__ic--logo { width: 96px !important; height: 64px !important; padding: 8px; background: #fff !important; border-radius: 10px; box-shadow: inset 0 0 0 1px var(--lm-line); }
.lmv-brand__ic--logo img { display: block; width: 100% !important; height: 100% !important; object-fit: contain; }

/* 14.10.2026 (Тим): красный — не в первом экране, а в «Как отличить оригинал» */
.lmv .lmv-hero .lmv-hero__accent { color: inherit !important; }
.lmv-auth__text .lm-sh__t em, .lmv-auth__text em { color: var(--lm-err) !important; }

/* ══ полосы-призывы «кино» (14.10.2026, Тим: «премиум, иллюстрация не нравится») ══
   Фото — на всю высоту полосы справа, уходит под тёмный градиент; текст слева на чистом синем.
   Наклонённая рамка с фото, скругление 20px и жёлтая черта на фото — в прошлом. */
.lmv-band--cine .lm-band__in { position: relative; overflow: hidden; min-height: 440px; padding: 72px 0 64px !important; display: flex; align-items: center;
  background: #0a2247 !important; }
.lmv-band--cine .lmv-band__pic { position: absolute !important; inset: 0 0 0 auto; width: 64%; height: 100%; margin: 0; border-radius: 0 !important; transform: none !important; box-shadow: none !important; aspect-ratio: auto !important; order: 0 !important; }
.lmv-band--cine .lmv-band__pic::before { content: none !important; }
.lmv-band--cine .lmv-band__pic::after { content: "" !important; position: absolute; inset: 0; border-radius: 0 !important; box-shadow: none !important;
  background: linear-gradient(90deg, #0a2247 0%, rgba(10, 34, 71, .92) 18%, rgba(10, 34, 71, .55) 46%, rgba(10, 34, 71, .12) 78%, rgba(10, 34, 71, .25) 100%),
              linear-gradient(0deg, rgba(10, 34, 71, .55) 0%, rgba(10, 34, 71, 0) 35%) !important; }
.lmv-band--cine .lmv-band__pic img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.9) contrast(1.05); transform: scale(1.02); transition: transform 6s ease; }
.lmv-band--cine:hover .lmv-band__pic img { transform: scale(1.06); }
.lmv-band--cine .lmv-band__wrap { position: relative; z-index: 1; display: block !important; width: 100%; padding-block: 0 !important; }
.lmv-band--cine .lmv-band__txt { max-width: 560px; display: flex; flex-direction: column; align-items: flex-start; }
.lmv-band__k { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 16px !important; font: 600 12.5px/1 var(--lm-body); letter-spacing: .16em; text-transform: uppercase; color: var(--lm-acc); }
.lmv-band__k::before { content: ""; width: 32px; height: 2px; background: currentColor; }
.lmv-band--cine .lm-band__t { margin: 0 0 14px !important; font: 800 clamp(36px, 3.6vw, 56px)/1 var(--lm-display) !important; text-transform: none !important; letter-spacing: -.005em; color: #fff; }
.lmv-band--cine .lm-band__p { margin: 0 0 26px !important; max-width: 46ch; font-size: 18px; line-height: 1.55; color: #dce4f0; }
/* поиск в полосе */
.lmv-band__search { position: relative; display: flex; align-items: center; gap: 6px; width: 100%; height: 60px; padding: 6px; box-sizing: border-box; border-radius: var(--lm-r-md);
  background: rgba(255, 255, 255, .96); box-shadow: 0 0 0 4px rgba(255, 255, 255, .08), 0 24px 48px -24px rgba(0, 0, 0, .7); }
.lmv-band__search:focus-within { box-shadow: 0 0 0 4px rgba(255, 183, 3, .45), 0 24px 48px -24px rgba(0, 0, 0, .7); }
.lmv-band__search svg { position: absolute; left: 20px; top: 50%; width: 20px; height: 20px; margin-top: -10px; color: #8a97ab; pointer-events: none; }
.lmv-band__search input { flex: 1 1 auto; min-width: 0; height: 48px; padding: 0 12px 0 44px !important; border: 0 !important; background: transparent !important; box-shadow: none !important; outline: none;
  color: #0a1224 !important; font: 500 16px/48px var(--lm-body) !important; }
.lmv-band__search input::placeholder { color: #8a97ab; font-weight: 400; }
.lmv-band__search button { flex: none; height: 48px; padding: 0 26px; border: 0; border-radius: var(--lm-r); cursor: pointer; background: linear-gradient(180deg, #ffc533, #ffb703); color: #0a1224; font: 700 16px/1 var(--lm-body);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45); }
.lmv-band__search button:hover { filter: brightness(1.05); }
.lmv-band__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.lmv-band__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; font-size: 13px; color: #a9b8cf; }
.lmv-band__chips a { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .06);
  color: #fff !important; font: 500 13.5px/1 var(--lm-body); text-decoration: none !important; transition: background .15s, border-color .15s, color .15s; }
.lmv-band__chips a:hover { background: var(--lm-acc); border-color: var(--lm-acc); color: var(--lm-acc-ink) !important; }
.lmv-band__link { margin-top: 22px; color: #fff !important; font: 600 15px/1 var(--lm-body); text-decoration: underline !important; text-underline-offset: 5px; text-decoration-color: rgba(255, 183, 3, .6) !important; }
.lmv-band__link:hover { color: var(--lm-acc) !important; }
.lmv-band--cine .lmv-band__wave { fill: #0a2247; }
@media (max-width: 900px) {
  .lmv-band--cine .lm-band__in { display: block; min-height: 0; padding: 0 0 36px !important; }
  .lmv-band--cine .lmv-band__pic { position: relative !important; inset: auto; width: 100%; height: 220px; }
  .lmv-band--cine .lmv-band__pic::after { background: linear-gradient(0deg, #0a2247 0%, rgba(10, 34, 71, 0) 60%) !important; }
  .lmv-band--cine .lmv-band__wrap { margin-top: -40px; padding-inline: 16px !important; }
  .lmv-band--cine .lm-band__t { font-size: clamp(30px, 8.6vw, 40px) !important; }
  .lmv-band--cine .lm-band__p { font-size: 15.5px; }
  .lmv-band__search { height: 54px; }
  .lmv-band__search button { padding: 0 16px; }
}
@media (prefers-reduced-motion: reduce) { .lmv-band--cine .lmv-band__pic img { transition: none; transform: none; } }

/* 14.10.2026: цифры плашки вылезали за край («Опт для СТО», «2 магазина») — колонка в полэкрана
   уже, чем строка в 36px без переноса. Размер считаем от ширины самой плашки, перенос разрешён. */
.lmv-hero__stats { container-type: inline-size; }
.lmv-hero__stats b { white-space: normal; overflow-wrap: anywhere; font-size: clamp(22px, 2.3vw, 36px); }
@supports (font-size: 1cqi) { .lmv-hero__stats b { font-size: clamp(20px, 6.4cqi, 36px); } }

/* 14.10.2026: у консультанта голова у самого верха снимка — при центрированной обрезке широкой
   полосой срезалось лицо. Кадр держим за верхний край, увеличение при наведении — от него же. */
.lmv-band--cine .lmv-band__pic img[src*="/band/consult."] { object-position: 62% 0; transform-origin: 50% 0; }

/* ══ 16.10.2026 (Leon, Тим): «в более короткой вёрстке (ноут) заголовок ныряет под шапку» —
   «сделай универсальные брейкпоинты, чтобы всегда был виден 1 экран на любых десктопах».
   Причина: высота первого экрана жёсткая (clamp(560px, 100svh − 230px, 720px)), а текст слева
   с заголовком 84px был выше неё; он центровался с overflow: hidden и уезжал вверх под шапку.
   Решение без набора точечных брейкпоинтов: всё, что определяет высоту левой колонки — кегль
   заголовка, подзаголовок, промежутки, плашка фактов, — масштабируется от высоты окна (svh),
   с потолком по ширине (vw), как было. Экран занимает «окно минус шапка»; если окно совсем низкое
   (меньше ~620px), экран растёт под текст, а не обрезает его, и «safe center» не выталкивает
   содержимое за верхний край. Проверено на 1280×600 … 2560×1440. ══ */
@media (min-width: 901px) {
  .lmv-hero { height: auto !important; min-height: clamp(400px, calc(100svh - var(--lm-hdr-h, 232px)), 900px) !important; }
  .lmv-hero__l { align-items: safe center; }
  /* Вторая причина: у колонки текста max-width: 760px считался вместе с левым отступом, который на
     широких окнах выравнивает текст по колонке шапки (на 1920 — ~290px, на 2133 — ~460px).
     Текст сжимался до 250–420px, заголовок ломался на 4 строки, плашка фактов — в столбик,
     и колонка вырастала выше экрана. Ограничиваем ширину самого текста, а не колонки с отступом. */
  .lmv-hero__txt { max-width: none !important; width: 100%; }
  .lmv-hero__txt > * { max-width: 660px; }
  .lmv .lmv-hero .lmv-hero__txt { gap: clamp(10px, 2.2svh, 22px) !important; padding-top: clamp(18px, 3.4svh, 40px) !important; padding-bottom: clamp(18px, 3.4svh, 40px) !important; }
  .lmv .lmv-hero .lmv-hero__h1 { font-size: clamp(32px, min(4.6vw, 7svh), 84px) !important; }
  .lmv .lmv-hero .lmv-hero__lead { font-size: clamp(15px, min(1.6vw, 2.5svh), 26px) !important; }
  .lmv-hero__stats { gap: clamp(10px, 2svh, 20px) 32px !important; padding: clamp(12px, 2.4svh, 24px) 28px !important; margin-top: 0 !important; }
  .lmv-hero__stats b { font-size: clamp(20px, min(2.3vw, 3.6svh), 36px) !important; }
  .lmv-hero__stats span { font-size: clamp(12px, 1.6svh, 15px) !important; margin-top: clamp(2px, .7svh, 8px) !important; line-height: 1.35 !important; }
}
/* совсем низкие окна (ноутбук с панелью закладок и масштабом 125%): подзаголовок уступает место */
@media (min-width: 901px) and (max-height: 640px) {
  .lmv .lmv-hero .lmv-hero__lead { display: none !important; }
}

/* lm74 18.10.2026 — тире в списке «Юрлицам»: тема Aspro сдвигала ::before на -21px */
.lmv-b2b__l li { padding-left: 22px; }
.lmv-b2b__l li::before { margin: 0 !important; left: 0 !important; top: 12px !important; width: 12px; }

/* lm74 20.10.2026 — кнопки масштаба в одну строку с вкладками (справа), подсказка уходит левее них:
   под вкладками они перекрывали верхние точки, а на невысоких экранах отнимали место у машины.
   Сцену под свободную высоту подгоняет script.js («на невысоких экранах»). */
@media (min-width: 901px) {
  .lmv-car__zoom { top: 24px; height: 46px; }
  .lmv-car__top { padding-right: 236px; min-height: 46px; }
}
@media (min-width: 901px) and (max-width: 1600px) { .lmv-car__hint { display: none; } }
/* 20.10.2026 — масштаб от видимого центра сцены: на ПК её центрирует translate(-50%, -50%),
   и при отдалении (75% / 50%) машина уезжала в правый нижний угол */
@media (min-width: 901px) { .lmv-car__stage { transform-origin: 0 0; } }
.is-zoomout .lmv-car__ext, .is-zoomout .lmv-car__cab, .is-zoomout .lmv-car__glow {
  -webkit-mask-image: radial-gradient(closest-side, #000 72%, transparent 100%); mask-image: radial-gradient(closest-side, #000 72%, transparent 100%); }
