/* ==========================================================================
   Лайфтранс — светлый изумрудный B2B (паттерн Trust & Authority)
   Палитра-эталон: Adaline (Refero). Шрифты: Lexend + Source Sans 3.
   Namespace .laifl (лендинг, карьера, юр.документы — все светлые laifl-шаблоны).
   ========================================================================== */

.laifl {
	--cream:    #fbfdf6;   /* канва */
	--sage:     #eff2e8;   /* surface-1 */
	--lichen:   #e5ebdb;   /* surface-2 */
	--moss:     #d7e8b5;   /* highlight/tag */
	--ink:      #0a1d08;   /* основной текст/заголовки */
	--ink-2:    #3f4a3c;   /* вторичный текст */
	--ink-3:    #6b7563;   /* приглушённый */
	--brand:    #15603a;   /* основной изумруд / CTA */
	--brand-d:  #0f4d2d;   /* hover */
	--accent:   #1f8a4c;   /* акцент */
	--lime:     #6cb52d;   /* фирменная зелёная эмблема/бейджи */
	--lime-d:   #5aa524;
	--brand-t:  rgba(21,96,58,.08);  /* лёгкая заливка */
	--ring:     rgba(21,96,58,.16);  /* кольцевая граница */
	--border:   #e2e7d8;
	--border-2: #d3dbc5;
	--white:    #ffffff;
	--radius:   16px;
	--radius-sm:10px;
	--radius-pill: 100px;
	--container: 1180px;
	--ease: cubic-bezier(.22,.61,.36,1);
	--shadow: rgba(23,40,24,.06) 0 0 0 1px, rgba(16,40,24,.09) 0 18px 28px -10px, rgba(16,40,24,.06) 0 8px 12px -8px;
	--shadow-lg: rgba(8,20,8,.10) 0 0 0 1px, rgba(6,20,10,.35) 0 34px 64px -20px, rgba(6,20,10,.20) 0 14px 26px -10px;
	/* immersive-секции (ритм светлый/тёмный) */
	--immersive: linear-gradient(165deg, #0a1d08 0%, #123c22 48%, #0f4d2d 100%);
	--on-dark:   #f2f7ee;
	--on-dark-2: #b3c4ab;
	--lime-glow: rgba(108,181,45,.45);

	margin: 0;
	/* точечная текстура — единый непрерывный слой на весь документ (без сброса на стыках секций) */
	background-color: var(--cream);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Ccircle cx='3' cy='3' r='1.5' fill='%2315603a' fill-opacity='0.14'/%3E%3C/svg%3E");
	background-repeat: repeat;
	background-size: 32px 32px;
	color: var(--ink);
	font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: 17px;
	/* 1.5 — единый межстрочный интервал по всему сайту (правки 2026-07) */
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
.laifl * { box-sizing: border-box; }
.laifl img { max-width: 100%; display: block; }
.laifl a:not(.laifl-btn) { color: inherit; transition: color .2s var(--ease); }
.laifl a { text-decoration: none; }
.laifl svg { width: 1.15em; height: 1.15em; flex: 0 0 auto; }
.laifl h1,.laifl h2,.laifl h3,.laifl h4 {
	margin: 0; color: var(--ink); font-family: 'Lexend', sans-serif;
	font-weight: 700; line-height: 1.12; letter-spacing: -.02em;
}
.laifl p { margin: 0; }
.laifl-container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.laifl-eyebrow { display:inline-block; color: var(--brand); font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 14px; font-family:'Lexend',sans-serif; }

/* ---------- Кнопки ---------- */
.laifl-btn {
	display:inline-flex; align-items:center; justify-content:center; gap:.5em;
	padding: 13px 22px; border-radius: var(--radius-pill); font-weight: 600; font-size: 15px;
	font-family:'Lexend',sans-serif; cursor:pointer; border: 1.5px solid transparent; white-space: nowrap;
	background-repeat: no-repeat;
	/* background-origin: border-box — иначе зона позиционирования градиента (по умолчанию padding-box)
	   на 1.5px уже, чем зона клипа (border-box по умолчанию), и в этом кольце (там, где рамка
	   прозрачная — у primary/ghost/white) видно то, что под кнопкой, либо не тот кусок градиента.
	   У --outline та же нестыковка есть, но её маскирует непрозрачная var(--brand)-рамка сверху. */
	background-origin: border-box;
	transition: background-position .38s var(--ease), transform .15s var(--ease), box-shadow .25s var(--ease), border-color .2s, color .2s;
}
/* sweep слева направо через background-position, БЕЗ отдельного transform-слоя (::before + scaleX) —
   та техника давала белые пиксели на скруглённых торцах на дробном масштабе экрана (125%/150%),
   классический шов GPU-композитинга промоутнутого слоя. Здесь заливка — часть родного background
   самой кнопки: жёсткий двухцветный градиент 200%-ширины, hover просто сдвигает background-position.
   Один слой, свой border-radius клипует background всегда пиксель-точно — шов исключён конструктивно.
   background-color ниже у каждого варианта — цвет состояния покоя как страховка: если где-то на
   стыке всё же останется зазор в слое градиента (антиалиасинг/округление конкретного экрана), под
   ним будет верный сплошной цвет, а не прозрачность/фон страницы. */
.laifl-btn:active { transform: translateY(1px); }
.laifl-btn--lg { padding: 16px 30px; font-size: 16px; }
.laifl-btn--block { width: 100%; }
.laifl-btn--primary {
	background-color: var(--brand);
	background-image: linear-gradient(90deg, var(--brand-d) 0 50%, var(--brand) 50% 100%);
	background-size: 200% 100%; background-position: 100% 0%;
	color: #fff; box-shadow: 0 6px 18px rgba(21,96,58,.22);
}
.laifl-btn--primary:hover { background-position: 0% 0%; color: #fff; box-shadow: 0 10px 26px rgba(21,96,58,.3); }
.laifl-btn--outline {
	background-color: #fff;
	background-image: linear-gradient(90deg, var(--brand) 0 50%, #fff 50% 100%);
	background-size: 200% 100%; background-position: 100% 0%;
	color: var(--brand); border-color: var(--brand);
}
.laifl-btn--outline:hover { background-position: 0% 0%; color: #fff; }
.laifl-btn--ghost {
	background-color: var(--sage);
	background-image: linear-gradient(90deg, var(--lichen) 0 50%, var(--sage) 50% 100%);
	background-size: 200% 100%; background-position: 100% 0%;
	color: var(--brand);
}
.laifl-btn--ghost:hover { background-position: 0% 0%; color: var(--brand); }
.laifl-btn--white {
	background-color: #fff;
	background-image: linear-gradient(90deg, var(--sage) 0 50%, #fff 50% 100%);
	background-size: 200% 100%; background-position: 100% 0%;
	color: var(--brand);
}
.laifl-btn--white:hover { background-position: 0% 0%; color: var(--brand); }
.laifl-btn svg { width: 18px; height: 18px; }

/* ---------- Header ---------- */
.laifl-header { position: sticky; top: 0; z-index: 60; background: rgba(251,253,246,.9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid transparent; transition: border-color .3s, box-shadow .3s; }
.laifl-header.is-stuck { border-bottom-color: var(--border); box-shadow: 0 6px 20px rgba(16,40,24,.05); }
/* строка реквизитов-доверия */
.laifl-trustbar { background: var(--brand); color: #eaf3ec; font-size: 13px; }
/* justify-content:center — по правке 2026-07: строка реквизитов должна быть по центру
   на всех разрешениях, раньше была прижата к левому краю */
.laifl-trustbar__row { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; padding: 7px 0; }
.laifl-trustbar b { color: #fff; font-weight: 600; }
/* gap:.4em нужен большинству span'ов: во flex-контексте пробел в НАЧАЛЕ текстового узла
   («<b>ИНН</b> 6163214497» — пробел перед числом) схлопывается как незначащий, и без gap
   слова слипаются («ИНН6163214497»). Исключение — «<b>ОСНО</b>, работаем с НДС»: здесь между
   "<b>" и запятой пробела в тексте нет вообще (одна фраза), поэтому тот же gap там был лишним
   и выглядел как оторванная от ОСНО запятая — для него gap убран через .laifl-trustbar__tight. */
.laifl-trustbar__row > span { display:inline-flex; align-items:center; gap:.4em; opacity:.92; }
.laifl-trustbar__row > span.laifl-trustbar__tight { gap: 0; }
.laifl-trustbar svg { width: 15px; height: 15px; }
.laifl-header__row { display:flex; align-items:center; gap: 22px; min-height: 74px; }
.laifl-logo { display:inline-flex; align-items:center; gap: 11px; font-family:'Lexend',sans-serif; font-weight: 800; font-size: 25px; letter-spacing: -.02em; color: var(--ink); flex-shrink: 0; }
.laifl-logo img { height: 54px; width: auto; }
/* слот под новый утверждённый логотип единой картинкой (laif/logo-main.png, см. laifl_logo()) —
   крупный слева; при появлении файла высоту можно поднять до 60-64px под его пропорции */
.laifl-logo .laifl-logo__main { height: 58px; width: auto; }
.laifl-logo .laifl-logo__accent { color: var(--lime); }
/* Меню всегда в одну строку (правки 2026-07: «растянуть в одну строку, чтобы избежать
   съезжаний») — переносов нет, ниже 1080px шапка уходит в бургер */
.laifl-nav { display:flex; flex-wrap: nowrap; justify-content: flex-end; gap: 16px; margin-left: auto; font-size: 14.5px; font-weight: 600; font-family:'Lexend',sans-serif; }
.laifl-nav a { color: var(--ink-2); white-space: nowrap; }
.laifl-nav a:hover { color: var(--brand); }
/* не сжимается и не переносится вместе с меню — весь дефицит места забирает только .laifl-nav */
.laifl-header__cta { display:flex; align-items:center; gap: 14px; flex-shrink: 0; }
.laifl-phone { display:inline-flex; flex-direction: column; align-items: center; text-align: center; line-height: 1.15; font-family:'Lexend',sans-serif; }
.laifl-phone b { font-size: 16px; color: var(--ink); font-weight: 700; }
.laifl-phone span { font-size: 11.5px; color: var(--ink-3); }
.laifl-burger { display:none; flex-direction:column; gap:5px; width:44px; height:44px; border:1px solid var(--border-2); border-radius:12px; background:var(--white); cursor:pointer; align-items:center; justify-content:center; }
.laifl-burger span { width:20px; height:2px; background:var(--ink); border-radius:2px; transition: transform .3s, opacity .2s; }
.laifl-burger[aria-expanded="true"] span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.laifl-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.laifl-burger[aria-expanded="true"] span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }
.laifl-mobile { display:none; flex-direction:column; gap:2px; padding: 8px 24px 22px; background: var(--cream); border-bottom: 1px solid var(--border); }
.laifl-mobile a { padding: 13px 4px; font-weight: 600; font-family:'Lexend',sans-serif; border-bottom: 1px solid var(--border); }
.laifl-mobile .laifl-btn { margin-top: 14px; }
.laifl-header.is-open .laifl-mobile { display:flex; }

/* ---------- Секции ---------- */
/* было 88px — на стыке двух обычных секций суммарно давало 176px (88 низ + 88 верх), а если
   у соседних секций ещё и одинаковый фон (например sage→sage) — читалось как пустой разрыв,
   а не переход. Уменьшено, стык теперь ~128px */
.laifl-section { padding: 64px 0; position: relative; }
/* мягкие полупрозрачные пятна поверх единого фона body — угасают в прозрачность,
   а не в сплошной цвет, поэтому на стыке секций нет резкой линии.
   Важно: центр каждого пятна НЕ стоит на краю бокса (0%/100%) — иначе пик яркости
   приходится ровно на границу с соседней секцией и даёт видимый шов. Радиус/стоп
   подобраны так, чтобы к верхнему и нижнему краю секции (y=0% и y=100%) пятно уже
   полностью гасло в прозрачность — на стыке с любым соседом встречаются два «нуля». */
.laifl-section--sage {
	background:
		radial-gradient(58% 46% at 88% 32%, rgba(108,181,45,.20), transparent 58%),
		radial-gradient(52% 42% at 12% 70%, rgba(21,96,58,.15), transparent 58%),
		radial-gradient(40% 34% at 50% 50%, rgba(31,138,76,.08), transparent 62%);
}
.laifl-section--glow::before {
	content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
	background:
		radial-gradient(48% 40% at 85% 30%, rgba(108,181,45,.16), transparent 55%),
		radial-gradient(44% 36% at 10% 72%, rgba(21,96,58,.12), transparent 55%),
		radial-gradient(34% 28% at 48% 48%, rgba(31,138,76,.06), transparent 60%);
}
.laifl-section--glow > * { position: relative; z-index: 1; }
/* immersive тёмно-зелёная секция — ритм-разрыв на светлой странице (флагманский приём) */
.laifl-section--dark { background: var(--immersive); color: var(--on-dark); position: relative; overflow: hidden; }
.laifl-section--dark::before { content:""; position:absolute; inset:0; pointer-events:none; z-index:0; background:
	radial-gradient(46% 60% at 84% 6%, var(--lime-glow), transparent 60%),
	radial-gradient(40% 55% at 4% 96%, rgba(108,181,45,.16), transparent 60%); }
.laifl-section--dark > * { position: relative; z-index: 1; }
.laifl-section--dark .laifl-eyebrow { color: var(--lime); }
.laifl-section--dark h2, .laifl-section--dark h3 { color: #fff; }
.laifl-section--dark .laifl-head p { color: var(--on-dark-2); }
/* max-width убран (был 680px) — блок теперь на всю ширину контейнера, по правке 2026-07 */
.laifl-head { margin-bottom: 44px; }
/* размер уменьшен ~35-38% от исходного clamp(30px,4.2vw,48px) — подобран так, чтобы каждый
   h2 на сайте (включая самый длинный) укладывался в 1 строку на всю ширину контейнера
   (1132px) вплоть до ширины экрана ~560px; на совсем узких телефонах (~390px и уже) пара
   самых длинных заголовков всё равно переносится — дальше сжимать шрифт до однострочного
   переноса значило бы сделать его нечитаемо мелким */
.laifl-head h2 { font-size: clamp(20px, 2.3vw, 30px); }
.laifl-head p { color: var(--ink-2); font-size: 18px; margin-top: 14px; }
.laifl-head--center { margin-left:auto; margin-right:auto; text-align:center; }

/* ---------- Полоса статистики (тёмная, крупные цифры) ---------- */
.laifl-stats { display:grid; grid-template-columns: repeat(4,1fr); }
.laifl-stats--3 { grid-template-columns: repeat(3,1fr); }
.laifl-stat { text-align:center; padding: 6px 22px; border-left: 1px solid rgba(255,255,255,.12); }
.laifl-stat:first-child { border-left: none; }
.laifl-stat b { display:block; font-family:'Lexend',sans-serif; font-weight: 900; font-size: clamp(30px,4.2vw,50px); letter-spacing:-.02em;
	background: linear-gradient(135deg, #fff, var(--lime)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.laifl-stat span { display:block; margin-top: 4px; color: var(--on-dark-2); font-size: 14px; }
/* появление по очереди слева направо (once) — переиспользуем .reveal-переход, только с задержкой */
.laifl-stats .laifl-stat:nth-child(1) { transition-delay: 0ms; }
.laifl-stats .laifl-stat:nth-child(2) { transition-delay: 120ms; }
.laifl-stats .laifl-stat:nth-child(3) { transition-delay: 240ms; }
.laifl-stats .laifl-stat:nth-child(4) { transition-delay: 360ms; }
/* ОСНО — не число, отдельный эффект появления («штамп») вместо счётчика; вешается классом
   .laifl-stat--stamp прямо в разметке (позиция плашки в ряду больше не фиксирована) */
@keyframes laifl-stamp { 0% { transform: scale(1.25); opacity: 0; } 60% { transform: scale(.94); } 100% { transform: scale(1); opacity: 1; } }
.laifl-stat--stamp.is-visible b { animation: laifl-stamp .5s var(--ease) both; animation-delay: 240ms; }

/* ---------- Hero ---------- */
.laifl-hero { position: relative; padding: 52px 0 68px; overflow: hidden; background:
	radial-gradient(70% 80% at 100% 0%, rgba(108,181,45,.16), transparent 62%),
	radial-gradient(52% 60% at 0% 100%, var(--brand-t), transparent 60%),
	linear-gradient(180deg, #ffffff, var(--sage)); }
.laifl-hero::before { content:""; position:absolute; inset:-25%; z-index:0; pointer-events:none; background:
	radial-gradient(38% 40% at 22% 18%, rgba(108,181,45,.16), transparent 60%),
	radial-gradient(44% 46% at 82% 32%, rgba(21,96,58,.12), transparent 62%);
	animation: laifl-aurora 16s ease-in-out infinite alternate; }
.laifl-hero > * { position: relative; z-index: 1; }
@keyframes laifl-aurora { from { transform: translate(0,0) scale(1); } to { transform: translate(3%, 2.5%) scale(1.1); } }
.laifl-hero__grid { display:grid; grid-template-columns: 1.02fr .98fr; gap: 40px; align-items: center; }
.laifl-hero__badge { display:inline-flex; align-items:center; gap:.5em; padding: 7px 14px; border-radius: var(--radius-pill); background: var(--white); border: 1px solid var(--border-2); font-size: 13.5px; font-weight: 600; box-shadow: var(--shadow); }
.laifl-hero__badge svg { width:15px; height:15px; color: var(--lime); }
/* margin-top 30px — воздух между бейджем и заголовком (исходный уровень до правок).
   Селектор нарочно с префиксом .laifl-hero — голого .laifl-hero__title перебивал более
   специфичный общий сброс «.laifl h1,h2,h3,h4 {margin:0}» (2 части селектора против 1),
   из-за чего отступ фактически всегда оставался 0px, что бы здесь ни стояло — теперь
   применяется по-настоящему, поэтому вернули именно исходное значение, не +20px. */
/* clamp подобран под фактическую ширину колонки hero (477-557px в 2-колоночной раскладке,
   см. .laifl-hero__grid) с запасом ~20% по ширине строки (а не впритык ~95%) — впритык
   ломалось на 3 строки в реальном браузере (другой кернинг/донагрузка шрифта), хотя в
   headless-замере формально влезало.
   font-weight/line-height нарочно НЕ переопределяем — раньше стояли 800/1.2 (отличались от
   700/1.12 у остальных h2/h3 из общего правила .laifl h1,h2,h3,h4), из-за чего заголовок
   казался «другим шрифтом»; теперь наследует те же 700/1.12, что и все другие заголовки. */
.laifl-hero .laifl-hero__title { font-size: clamp(23px, 2.1vw, 27px); margin: 14px 0 0 15px; }
.laifl-hero__title em { color: var(--brand); font-style: normal; position: relative; white-space: nowrap; }
.laifl-hero__title em::after { content:""; position:absolute; left:-3%; right:-3%; bottom:.05em; height:.24em; background: var(--lime); opacity:.32; z-index:-1; border-radius:4px; }
/* тот же префикс .laifl-hero и по той же причине, что у заголовка выше: голый
   .laifl-hero__lead проигрывал по специфичности общему сбросу «.laifl p {margin:0}»
   (класс+элемент против одного класса) — отступы были 0px, текст слипался с соседями */
.laifl-hero .laifl-hero__lead { color: var(--ink-2); font-size: clamp(16px,2vw,20px); max-width: 560px; margin: 20px 0 36px 15px; line-height: 1.3; }
/* align-items:flex-start — не center: обе кнопки одной высоты и должны быть на одном уровне,
   а .laifl-hero__cta-group ниже (кнопка+подпись) выше по общей высоте блока, и center
   «съезжал» кнопку звонка вниз, выравнивая её по центру более высокого соседа */
.laifl-hero__actions { display:flex; flex-wrap:wrap; gap: 14px; align-items:flex-start; margin-top: 10px; }
.laifl-hero__cta-group { display:flex; flex-direction:column; align-items:center; gap: 8px; }
.laifl-hero__note { font-size: 13.5px; color: var(--ink-3); margin: 0; text-align: center; }
/* анимированная фура hero */
.laifl-hero__media { position: relative; min-height: 300px; display:flex; align-items:center; justify-content:center; }
.laifl-hero__glow { position:absolute; inset: 4% -6% 4% 6%; background:
	radial-gradient(52% 60% at 55% 52%, rgba(108,181,45,.42), transparent 70%),
	radial-gradient(30% 34% at 78% 30%, var(--lime-glow), transparent 72%); filter: blur(8px); z-index:0; }
.laifl-hero__media img {
	position: relative; z-index:1; width: 116%; max-width: none; height: auto;
	pointer-events: none; /* декоративная — не перехватывает клики при увеличенном overflow */
	--truck-scale: 1.2;
	/* 15px — после обрезки прозрачного поля в файле картинки (см. hero-truck-white.png) старые
	   -20px геометрически заезжали на 29px в зону хедера ДАЖЕ без скролла (раньше там была
	   прозрачная часть файла и было не видно, теперь ту же зону прикрывает антенна/зеркало на
	   крыше кабины — реальный кусочек фуры уходил под хедер). Подобрано и замерено
	   (getBoundingClientRect обеих зон) так, чтобы нахлёст был ровно 0 на всех десктопных
	   ширинах (1280-1920+, колонка одинаковая из-за max-width контейнера). */
	--truck-shift-y: 15px;
	--truck-shift-x: 13%; /* только ПК (см. ниже) — иначе при width:116% левый край (трейлер) заезжает на текстовую колонку */
	transform-origin: right bottom; /* ПК: растёт вверх-влево в пустоту над кабиной, правый край и колёса на месте */
	transform: translateY(var(--truck-shift-y)) translateX(var(--truck-shift-x)) scale(var(--truck-scale));
	filter: drop-shadow(0 26px 48px rgba(16,40,24,.26));
	animation: laifl-drivein 1.3s var(--ease) both;
}
/* «из глубины»: едет слева направо и одновременно растёт от маленького к нормальному размеру —
   только scale+translateX+opacity (без perspective/rotateY, иначе плоское фото «съезжает вбок») */
@keyframes laifl-drivein {
	0%   { opacity:0; transform: translateY(var(--truck-shift-y)) translateX(-72%) scale(calc(var(--truck-scale) * .45)); }
	100% { opacity:1; transform: translateY(var(--truck-shift-y)) translateX(var(--truck-shift-x)) scale(var(--truck-scale)); }
}
/* три плашки-факта */
.laifl-facts { display:grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 40px; }
.laifl-fact { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); transition: transform .25s var(--ease), border-color .25s, box-shadow .25s; }
.laifl-fact:hover { transform: translateY(-4px); border-color: var(--brand); box-shadow: var(--shadow-lg); }
.laifl-fact__ic { display:inline-flex; padding: 9px; border-radius: 11px; background: var(--brand-t); color: var(--brand); margin-bottom: 12px; }
.laifl-fact__ic svg { width: 20px; height: 20px; }
.laifl-fact b { display:block; font-family:'Lexend',sans-serif; font-size: 18px; }
.laifl-fact span { color: var(--ink-2); font-size: 14.5px; }
.laifl-fact a { color: var(--brand); font-weight:600; }
/* bento: одна выделенная плитка-факт ломает равномерность сетки */
.laifl-fact--feat { background: linear-gradient(135deg, var(--brand), var(--brand-d)); border-color: transparent; box-shadow: var(--shadow-lg); }
.laifl-fact--feat .laifl-fact__ic { background: rgba(255,255,255,.18); color: var(--lime); }
.laifl-fact--feat b { color: #fff; }
.laifl-fact--feat span { color: rgba(255,255,255,.8); }
.laifl-fact--feat a { color: var(--lime); }
/* базовый .laifl-fact:hover меняет border-color на var(--brand) — зелёный на зелёном градиенте
   не виден; для этой карточки нужен контрастный акцент поверх стандартного hover */
.laifl-fact--feat:hover { border-color: var(--lime); box-shadow: 0 0 0 2px var(--lime), var(--shadow-lg); }
.laifl-fact--feat:hover .laifl-fact__ic { background: rgba(255,255,255,.28); }

/* ---------- Грузы / отрасли ---------- */
.laifl-inds { display:grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.laifl-ind { background: var(--white); border:1px solid var(--border); border-radius: var(--radius); padding: 22px; transition: transform .25s var(--ease), border-color .25s, box-shadow .25s; }
.laifl-ind:hover { transform: translateY(-4px); border-color: var(--brand); box-shadow: var(--shadow); }
/* 220px — фото в контейнерах наравне по весу с текстовым блоком (было 140px, правки 2026-07) */
.laifl-ind__img { height: 220px; margin: -22px -22px 14px; border-radius: var(--radius) var(--radius) 0 0; background-size: cover; background-position: center; }
.laifl-ind__ic { display:inline-flex; padding:10px; border-radius:11px; background: var(--sage); color: var(--brand); margin-bottom: 14px; }
.laifl-ind__ic svg { width: 22px; height: 22px; }
.laifl-ind h3 { font-size: 17px; margin-bottom: 7px; }
.laifl-ind p { color: var(--ink-2); font-size: 14.5px; }
/* цветные плитки-иконки вместо однообразного салатового — разбивают монотонность */
.laifl-inds .laifl-ind:nth-child(3n+1) .laifl-ind__ic { background: var(--brand-t); color: var(--brand); }
.laifl-inds .laifl-ind:nth-child(3n+2) .laifl-ind__ic { background: rgba(108,181,45,.16); color: var(--lime-d); }
.laifl-inds .laifl-ind:nth-child(3n+3) .laifl-ind__ic { background: rgba(31,138,76,.14); color: var(--accent); }
/* Отдельный ряд фото-карточек (.laifl-inds-feat/.laifl-indf) удалён — все отрасли
   оформлены единообразно через .laifl-ind (правки 2026-07: «упорядочить, как во втором ряду») */

/* ---------- Стена фактов ---------- */
.laifl-trust { display:grid; gap: 22px; }
.laifl-panel { background: var(--white); border:1px solid var(--border); border-radius: 18px; padding: 30px; box-shadow: var(--shadow); }
.laifl-panel__label { display:inline-flex; align-items:center; gap:.5em; color: var(--brand); font-weight:700; font-family:'Lexend',sans-serif; font-size: 13px; letter-spacing:.06em; text-transform:uppercase; margin-bottom: 12px; }
.laifl-panel__label svg { width:16px; height:16px; }
.laifl-panel h3 { font-size: 22px; margin-bottom: 14px; }
/* margin-bottom между соседними <p> сильно уменьшен (было 12px, почти как отступ h3→текст
   14px — оба абзаца и заголовок выглядели тремя равноотстоящими блоками вместо заголовка
   с одним связным текстом под ним); line-height внутри абзаца тоже потуже унаследованных 1.5 */
.laifl-panel p { margin-bottom: 2px; line-height: 1.35; }
.laifl-panel p:last-child { margin-bottom: 0; }
/* воздух перед итоговой фразой после блока «что не возим» — раньше шла впритык */
.laifl-nolist + p { margin-top: 16px; }
/* строка доказательств (налоги) */
.laifl-proof { display:grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin: 18px 0; }
/* симметричные вертикальные отступы в плашке (правки 2026-07: «сверху отступы больше, чем внизу») */
.laifl-proof__item { background: var(--sage); border-radius: var(--radius-sm); padding: 16px 18px; }
.laifl-proof__item b { display:block; font-family:'Lexend',sans-serif; font-size: 26px; line-height: 1.2; color: var(--brand); }
.laifl-proof__item span { color: var(--ink-2); font-size: 14px; }
/* на тёмной секции (используется и в карьерном «Компания в цифрах») — стеклянные плашки */
.laifl-section--dark .laifl-proof__item { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); }
.laifl-section--dark .laifl-proof__item b { color: var(--lime); }
.laifl-section--dark .laifl-proof__item span { color: var(--on-dark-2); }
/* договор: список + кнопки */
.laifl-checklist { list-style:none; padding:0; margin:0 0 20px; display:grid; grid-template-columns: repeat(2,1fr); gap: 10px 24px; }
.laifl-checklist li { display:flex; gap:.6em; align-items:flex-start; font-size: 15.5px; color: var(--ink); }
.laifl-checklist svg { width:19px; height:19px; color: var(--brand); margin-top:2px; }
.laifl-pay { display:flex; flex-wrap:wrap; gap:8px; margin-bottom: 20px; }
.laifl-tag { display:inline-flex; align-items:center; gap:.4em; padding: 7px 14px; border-radius: var(--radius-pill); background: var(--moss); color: #1e3a14; font-size: 13.5px; font-weight: 600; line-height:1.35; max-width:100%; }
.laifl-panel__actions { display:flex; flex-wrap:wrap; gap: 12px; }
/* нестандартные ситуации */
.laifl-sit { display:grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.laifl-sit__card { background: var(--sage); border-radius: var(--radius-sm); padding: 18px; border:1px solid transparent; transition: border-color .2s, background .2s; }
.laifl-sit__card:hover { border-color: var(--brand); background: var(--white); }
.laifl-sit__card svg { width: 22px; height: 22px; color: var(--brand); margin-bottom: 10px; }
/* заголовки карточек, которые переносятся на 2 строки («Нужны гидроборт или грузчики» и т.п.) —
   унаследованный line-height:1.5 давал зазор между строк, сопоставимый с отступом до текста
   ниже (4px), из-за чего обе строки заголовка и текст читались как 3 равных блока */
.laifl-sit__card b { display:block; font-family:'Lexend',sans-serif; font-size: 15px; line-height: 1.2; margin-bottom: 8px; }
/* display:block обязателен: span строчный, и без него межстрочный интервал при переносе
   реально брался не отсюда, а из унаследованного line-height родителя (17px/1.5 у .laifl) —
   поэтому одно только line-height здесь раньше визуально ничего не меняло */
.laifl-sit__card span { display:block; color: var(--ink-2); font-size: 13.5px; line-height: 1.35; }
/* что не возим */
.laifl-nolist { display:flex; flex-wrap:wrap; gap:10px; }
/* line-height + max-width — длинный текст переносится внутри плашки, не въезжая в её края */
.laifl-nolist span { display:inline-flex; align-items:center; gap:.5em; padding: 9px 16px; border-radius: var(--radius-pill); background: #fbeceb; color:#8a2b23; font-size:14px; font-weight:600; line-height:1.35; max-width:100%; }
.laifl-nolist svg { width:15px; height:15px; }
/* этапы */
.laifl-steps { display:grid; grid-template-columns: repeat(4,1fr); gap: 16px; counter-reset: st; }
.laifl-step { position: relative; background: var(--white); border:1px solid var(--border); border-radius: var(--radius); padding: 22px 20px; }
.laifl-step::before { counter-increment: st; content: counter(st); display:inline-flex; align-items:center; justify-content:center; width: 34px; height:34px; border-radius: 50%; background: var(--brand); color:#fff; font-family:'Lexend',sans-serif; font-weight:700; margin-bottom: 14px; }
.laifl-step b { display:block; font-family:'Lexend',sans-serif; font-size: 16px; margin-bottom: 5px; }
/* display:block обязателен — та же причина, что у .laifl-sit__card span выше: строчный span
   без него игнорирует собственный line-height при переносе строк */
.laifl-step span { display:block; color: var(--ink-2); font-size: 14px; line-height: 1.35; }

/* ---------- Квиз ---------- */
.laifl-quiz { max-width: 720px; margin: 0 auto; background: var(--white); border:1px solid var(--border); border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; }
/* карточка квиза — светлый «остров» на тёмной секции: сбрасываем унаследованный светлый цвет текста обратно */
.laifl-section--dark .laifl-quiz { box-shadow: var(--shadow-lg); border-color: transparent; color: var(--ink); }
.laifl-quiz__bar { height: 6px; background: var(--sage); }
.laifl-quiz__fill { height:100%; width: 20%; background: var(--brand); transition: width .35s var(--ease); }
.laifl-section--dark .laifl-quiz__fill { background: linear-gradient(90deg, var(--brand), var(--lime)); }
/* фура-компаньон в правом нижнем углу секции квиза — только на десктопе (см. медиа-запрос ниже),
   декоративная, не мешает кликам по форме */
/* ширина картинки посчитана так, чтобы НИКОГДА не залезать на карточку квиза (max-width:720px,
   центрирована в .laifl-container max-width:1180px, padding 0 24px): гарантированный зазор от
   правого края секции до правого края карточки на любом вьюпорте ≥1180px равен
   (100vw-1180px)/2 + 24 + (1132-720)/2 = (100vw-1180px)/2 + 230px — берём чуть меньше (минус 15px
   на сам отступ), с потолком 480px, чтобы не раздувалось на сверхширoких мониторах. Работает только
   в паре с медиа-запросом ниже (@media max-width:1279px), который на более узких экранах уводит
   картинку под карточку — там формула для «впритык» уже не действует. */
.laifl-quiz__truck { position:absolute; right: 0; bottom: 0; width: clamp(265px, calc(215px + (100vw - 1180px) / 2), 480px); height:auto; pointer-events:none; filter: drop-shadow(0 18px 30px rgba(6,20,10,.35)); }
.laifl-quiz__body { padding: 34px; }
.laifl-quiz__meta { font-size: 13px; color: var(--ink-3); font-weight:600; letter-spacing:.04em; text-transform:uppercase; }
.laifl-quiz__q { font-family:'Lexend',sans-serif; font-size: clamp(20px,3vw,26px); font-weight:700; margin: 8px 0 22px; }
.laifl-step-panel { display:none; }
.laifl-step-panel.is-active { display:block; animation: laifl-fade .3s var(--ease); }
@keyframes laifl-fade { from { opacity:0; transform: translateY(8px); } to { opacity:1; transform:none; } }
.laifl-opts { display:grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.laifl-opt { display:flex; align-items:center; gap:.6em; padding: 15px 18px; border:1.5px solid var(--border-2); border-radius: var(--radius-sm); cursor:pointer; font-weight:600; font-size:15px; transition: border-color .2s, background .2s; background: var(--white); }
.laifl-opt:hover { border-color: var(--brand); }
.laifl-opt.is-sel { border-color: var(--brand); background: var(--brand-t); }
.laifl-opt svg { width:18px; height:18px; color: var(--brand); opacity:0; }
.laifl-opt.is-sel svg { opacity:1; }
.laifl-input { width:100%; padding: 14px 16px; border:1.5px solid var(--border-2); border-radius: var(--radius-sm); font: inherit; font-size:15px; color: var(--ink); background: var(--white); transition: border-color .2s, box-shadow .2s; }
.laifl-input:focus { outline:none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-t); }
.laifl-input + .laifl-input { margin-top: 12px; }
/* шаг 6 квиза: .laifl-opts (выбор канала связи) идёт сразу после инпута телефона,
   без .laifl-quiz__q над ним — без этого правила отступа не было вообще */
.laifl-input + .laifl-opts { margin-top: 18px; }
.laifl-quiz__nav { display:flex; justify-content: space-between; align-items:center; gap: 14px; margin-top: 26px; }
.laifl-consent { display:flex; gap:.6em; align-items:flex-start; font-size: 13px; color: var(--ink-2); margin-top: 16px; }
.laifl-consent input { margin-top: 3px; width:16px; height:16px; accent-color: var(--brand); }
.laifl-consent a { color: var(--brand); text-decoration: underline; text-underline-offset: 2px; }
.laifl-consent a:hover { color: var(--brand-d); }
.laifl-quiz__status { text-align:center; font-weight:600; margin-top: 12px; min-height:1.2em; }
.laifl-quiz__status.is-ok { color: var(--brand); }
.laifl-quiz__status.is-err { color:#b3261e; }
.laifl-quiz__done { text-align:center; padding: 20px 0; }
.laifl-quiz__done svg { width: 56px; height:56px; color: var(--brand); margin: 0 auto 14px; }

/* ---------- Автопарк ---------- */
.laifl-fleet { display:grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.laifl-fleet__item { background: var(--white); border:1px solid var(--border); border-radius: var(--radius); padding: 14px 14px 18px; box-shadow: var(--shadow); transition: transform .25s var(--ease), border-color .25s, box-shadow .25s; }
.laifl-fleet__item:hover { transform: translateY(-4px); border-color: var(--lime); box-shadow: 0 16px 40px rgba(16,40,24,.1); }
.laifl-fleet__photo { background: var(--sage); border-radius: var(--radius-sm); padding: 16px; margin-bottom: 14px; }
.laifl-fleet__photo img { width:100%; height: 118px; object-fit: contain; }
.laifl-fleet__item b { display:block; font-family:'Lexend',sans-serif; font-size: 18px; padding: 0 6px; }
.laifl-fleet__item span { display:block; color: var(--ink-2); font-size: 14px; padding: 3px 6px 0; }

/* ---------- Кейсы-маршруты ---------- */
.laifl-cases { display:grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.laifl-case { background: var(--white); border:1px solid var(--border); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); }
.laifl-case__route { display:flex; align-items:center; gap:.5em; font-family:'Lexend',sans-serif; font-weight:700; font-size: 18px; margin-bottom: 12px; }
.laifl-case__route svg { width:18px; height:18px; color: var(--brand); }
.laifl-case p { color: var(--ink-2); font-size: 14.5px; margin-bottom: 14px; }
.laifl-case__meta { display:flex; gap: 18px; border-top:1px solid var(--border); padding-top: 14px; }
.laifl-case__meta b { font-family:'Lexend',sans-serif; color: var(--brand); font-size: 17px; display:block; }
.laifl-case__meta span { font-size: 12.5px; color: var(--ink-3); }

/* ---------- Логотипы клиентов (несколько бегущих лент одновременно) ---------- */
.laifl-logos-rows { display:flex; flex-direction:column; gap: 14px; }
.laifl-logos-wrap { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.laifl-logos { display:flex; align-items:center; width: max-content; animation: laifl-marquee 30s linear infinite; }
.laifl-logos-wrap:hover .laifl-logos { animation-play-state: paused; }
/* строки чередуют направление и скорость — иначе несколько одинаковых лент подряд выглядят монотонно */
.laifl-logos-wrap--rev .laifl-logos { animation-direction: reverse; }
.laifl-logos-rows > *:nth-child(2) .laifl-logos { animation-duration: 24s; }
.laifl-logos-rows > *:nth-child(3) .laifl-logos { animation-duration: 36s; }
.laifl-logos__i { flex: 0 0 auto; width: 170px; margin-right: 14px; background: var(--white); border:1px solid var(--border); border-radius: var(--radius-sm); height: 84px; display:flex; align-items:center; justify-content:center; padding: 14px; }
.laifl-logos__i img { max-height: 100%; max-width:100%; object-fit: contain; filter: grayscale(1) opacity(.65); transition: filter .25s; }
.laifl-logos__i:hover img { filter: none; }
@keyframes laifl-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Блог + видео ---------- */
.laifl-media { display:grid; grid-template-columns: 1.4fr 1fr; gap: 40px; }
/* background-image — обложка канала (задаётся инлайн в разметке), cover/center её позиционируют */
.laifl-video { border-radius: 18px; overflow:hidden; border:1px solid var(--border); background-color:#000; background-size:cover; background-position:center; aspect-ratio: 16/9; position: relative; }
.laifl-video iframe { width:100%; height:100%; border:0; display:block; }
/* Фасад плеера: кликабельная обложка, по клику JS подменяет её на iframe Rutube.
   Кнопка, а не div — чтобы работали клавиатура и скринридеры. */
.laifl-video__ph { position:absolute; inset:0; width:100%; padding:0; border:0; background:none; color:#fff; cursor:pointer; display:block; font:inherit; text-align:left; }
.laifl-video__poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
/* затемнение — чтобы кнопка play и подпись читались на любом кадре */
.laifl-video__ph::after { content:''; position:absolute; inset:0; background: linear-gradient(180deg, rgba(8,18,10,.15) 0%, rgba(8,18,10,.15) 45%, rgba(8,18,10,.72) 100%); transition: background .25s; }
.laifl-video__play { position:absolute; top:50%; left:50%; transform: translate(-50%,-50%) scale(1); z-index:1; transition: transform .25s; filter: drop-shadow(0 6px 18px rgba(0,0,0,.35)); }
.laifl-video__play svg { width:68px; height:68px; display:block; }
.laifl-video__title { position:absolute; left:0; right:0; bottom:0; z-index:1; padding: 16px 20px; font-family:'Lexend',sans-serif; font-weight:600; font-size:16px; line-height:1.35; color:#fff; text-shadow: 0 1px 6px rgba(0,0,0,.5); }
.laifl-video__ph:hover .laifl-video__play,
.laifl-video__ph:focus-visible .laifl-video__play { transform: translate(-50%,-50%) scale(1.08); }
.laifl-video__ph:hover::after { background: linear-gradient(180deg, rgba(8,18,10,.05) 0%, rgba(8,18,10,.1) 45%, rgba(8,18,10,.68) 100%); }
.laifl-video__ph:focus-visible { outline: 3px solid var(--lime); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
	.laifl-video__play, .laifl-video__ph::after { transition: none; }
}
@media (max-width: 560px) {
	.laifl-video__play svg { width:54px; height:54px; }
	.laifl-video__title { font-size:14px; padding: 12px 14px; }
}
.laifl-blog { display:grid; gap: 14px; }
.laifl-post { display:block; background: var(--white); border:1px solid var(--border); border-radius: var(--radius); padding: 18px 20px; transition: border-color .2s, transform .2s; }
.laifl-post:hover { border-color: var(--brand); transform: translateX(3px); }
.laifl-post b { font-family:'Lexend',sans-serif; font-size: 16px; }
.laifl-post span { color: var(--ink-3); font-size: 13px; }
.laifl-author { display:flex; gap: 15px; align-items:center; background:var(--white); border:1px solid var(--border); border-radius: var(--radius); padding: 14px 18px; margin-bottom: 16px; box-shadow: var(--shadow); }
.laifl-author img { width: 62px; height: 62px; border-radius: 50%; object-fit: cover; flex:0 0 auto; }
.laifl-author b { display:block; font-family:'Lexend',sans-serif; font-size: 16px; }
.laifl-author span { color: var(--ink-2); font-size: 13.5px; }
.laifl-media__actions { margin-top: 18px; display:flex; gap: 12px; flex-wrap:wrap; }

/* ---------- Контакты ---------- */
/* карта офиса убрана (правки 2026-07: офис в Каменск-Шахтинском не показываем) — одна колонка */
.laifl-contacts { display:grid; grid-template-columns: 1fr; gap: 40px; max-width: 640px; }
.laifl-contacts__list { display:grid; gap: 18px; align-content:start; }
.laifl-contacts__row { display:flex; gap: 14px; align-items:flex-start; }
.laifl-contacts__row svg { width:22px; height:22px; color: var(--brand); margin-top:2px; }
.laifl-contacts__row b { display:block; font-family:'Lexend',sans-serif; font-size:17px; }
.laifl-contacts__row span { color: var(--ink-2); font-size:15px; }
.laifl-msgs { display:flex; gap:10px; flex-wrap:wrap; margin-top: 6px; }
.laifl-map { border-radius: 18px; overflow:hidden; border:1px solid var(--border); min-height: 320px; background: var(--lichen); }
.laifl-map iframe { width:100%; height:100%; min-height:320px; border:0; }

/* ---------- Footer ---------- */
.laifl-footer { background: var(--ink); color: #cdd6c8; padding: 60px 0 26px; }
.laifl-footer a { color:#cdd6c8; }
.laifl-footer a:hover { color:#fff; }
.laifl-footer__grid { display:grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 34px; }
.laifl-footer .laifl-logo { color:#fff; }
.laifl-footer .laifl-logo .laifl-logo__accent { color: var(--accent); }
/* нет отдельного белого файла логотипа (laif/logo-main-dark.png) — на тёмном футере
   тот же logo-main.png показываем белым силуэтом через фильтр */
.laifl-footer .laifl-logo .laifl-logo__main { filter: brightness(0) invert(1); }
.laifl-footer__about { font-size: 14.5px; margin-top: 14px; max-width: 300px; opacity:.85; }
.laifl-footer h4 { color:#fff; font-size: 14px; text-transform: uppercase; letter-spacing:.08em; margin-bottom: 16px; }
.laifl-footer__col a, .laifl-footer__col span { display:block; margin-bottom: 10px; font-size: 14.5px; }
.laifl-footer__bottom { margin-top: 42px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); display:flex; justify-content: space-between; gap: 16px; flex-wrap:wrap; font-size: 13px; opacity:.8; }

/* ---------- Exit-popup ---------- */
.laifl-exit { position: fixed; inset: 0; z-index: 100; display:none; align-items:center; justify-content:center; padding: 20px; background: rgba(10,25,8,.42); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.laifl-exit.is-open { display:flex; animation: laifl-fade .3s var(--ease); }
.laifl-exit__card { background:#fff; border-radius: 24px; max-width: 460px; width:100%; position:relative; overflow:hidden; box-shadow: rgba(16,40,24,.16) 0 30px 70px -12px, rgba(16,40,24,.10) 0 12px 24px -12px; animation: laifl-pop .35s var(--ease); }
@keyframes laifl-pop { from { opacity:0; transform: translateY(16px) scale(.97); } to { opacity:1; transform:none; } }
/* фото директора в шапке попапа (правки 2026-07: «фото Алборова в кадре») */
.laifl-exit__photo { height: 200px; background: linear-gradient(135deg, var(--brand), var(--lime)); overflow:hidden; }
.laifl-exit__photo img { width:100%; height:100%; object-fit: cover; object-position: center 22%; }
.laifl-exit__body { padding: 28px 32px 32px; }
.laifl-exit__body h3 { font-size: 23px; margin-bottom: 10px; }
.laifl-exit__body p { color: var(--ink-2); font-size: 15px; margin-bottom: 22px; }
.laifl-exit__btns { display:flex; gap:10px; flex-wrap:wrap; }
/* квадратная кнопка-крестик (тот же язык, что и .laifl-burger в хедере) — без transform/rotate/scale */
.laifl-exit__close { position:absolute; top:14px; right:14px; width:38px; height:38px; border-radius:12px; background: rgba(255,255,255,.95); border:1.5px solid rgba(255,255,255,.8); display:flex; align-items:center; justify-content:center; cursor:pointer; color: var(--ink); z-index:4; box-shadow: 0 4px 14px rgba(0,0,0,.18); transition: background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease); }
.laifl-exit__close:hover { background: var(--brand); border-color: var(--brand); color: #fff; }
.laifl-exit__close:active { background: var(--brand-d); border-color: var(--brand-d); }
.laifl-exit__close svg { width:16px; height:16px; flex: 0 0 auto; }

/* ---------- Cookie-баннер ---------- */
.laifl-cookies { position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 95; margin: 0 auto; max-width: 680px;
	display:flex; flex-wrap: wrap; align-items:center; justify-content: flex-end; gap: 12px 18px; background: #fff; border:1px solid var(--border); border-radius: 18px;
	padding: 16px 20px; box-shadow: var(--shadow-lg); animation: laifl-pop .35s var(--ease); }
.laifl-cookies p { flex: 1 1 300px; }
.laifl-cookies[hidden] { display: none; }
.laifl-cookies p { font-size: 14px; color: var(--ink-2); }
.laifl-cookies a { color: var(--brand); font-weight: 600; }
.laifl-cookies .laifl-btn { flex: 0 0 auto; padding: 10px 18px; font-size: 14px; }

/* ---------- Карьерная страница ---------- */
/* position+z-index — та же ловушка стек-контекста, что у .laifl-hero (строки 202,210):
   без неё подчёркивание em::after (z-index:-1) после снятия .reveal-transform проваливается
   за непрозрачный фон секции и пропадает сразу по окончании входной анимации */
/* нижний паддинг уменьшен (было 72px, как и верхний) — следующая секция .laifl-section
   добавляет свои 88px сверху, и вместе получался огромный стык (160px суммарно) */
.laifl-career-hero { position: relative; background:
	radial-gradient(70% 60% at 15% 0%, var(--brand-t), transparent 70%),
	linear-gradient(180deg, var(--sage), var(--cream)); padding: 72px 0 28px; }
.laifl-career-hero > * { position: relative; z-index: 1; }
/* больше воздуха между бейджем, заголовком, текстом и кнопками (правки 2026-07) */
.laifl-career-hero .laifl-hero__title { margin-top: 32px; }
.laifl-career-hero .laifl-hero__lead { margin: 26px 0 44px; }
.laifl-career-hero__grid { display:grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center; }
/* декоративная монограмма HR — заполняет колонку, где на главной странице стоит фура */
.laifl-career-hero__hr { position:relative; display:flex; align-items:center; justify-content:center; min-height: 220px; }
.laifl-career-hero__hr::before { content:""; position:absolute; inset:6%; z-index:0; pointer-events:none;
	background: radial-gradient(55% 55% at 50% 50%, var(--lime-glow), transparent 72%); filter: blur(22px); }
.laifl-career-hero__hr span {
	position:relative; z-index:1; font-family:'Lexend',sans-serif; font-weight:900; line-height:1; letter-spacing:-.03em;
	font-size: clamp(140px, 19vw, 300px);
	background: linear-gradient(135deg, var(--brand), var(--lime)); -webkit-background-clip:text; background-clip:text; color:transparent;
	display:inline-block; animation: laifl-hr-spin 1.1s cubic-bezier(.16,1,.3,1) both;
}
/* быстро раскручивается (2.5 оборота) и резко тормозит до статичного положения — тот же
   приём deceleration-кривой, что у входной анимации фуры на главной (laifl-drivein) */
@keyframes laifl-hr-spin {
	from { transform: rotate(-900deg) scale(.35); opacity: 0; }
	to   { transform: rotate(0deg) scale(1); opacity: 1; }
}
@media (max-width: 1024px) {
	.laifl-career-hero__grid { grid-template-columns: 1fr; gap: 12px; }
	.laifl-career-hero__hr { order: -1; min-height: 0; }
	.laifl-career-hero__hr span { font-size: clamp(90px, 24vw, 160px); }
}
@media (max-width: 560px) {
	.laifl-career-hero__hr { display:none; }
}
.laifl-values { display:grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
/* тень в состоянии покоя — блок не сливается с фоном секции (правки 2026-07) */
.laifl-value { padding: 26px; border-left: 3px solid var(--brand); background: var(--white); border-radius: 0 var(--radius) var(--radius) 0; box-shadow: var(--shadow); transition: transform .25s var(--ease), border-color .25s, box-shadow .25s; }
.laifl-value:hover { transform: translateY(-4px); border-color: var(--lime); box-shadow: var(--shadow-lg); }
.laifl-value h3 { font-size: 19px; margin-bottom: 8px; }
.laifl-value p { color: var(--ink-2); font-size: 15px; }

/* ---------- Куда расти (карточки-лестницы) ---------- */
.laifl-growth { display:grid; align-items:stretch; gap: 18px; grid-template-columns: repeat(4,1fr); }
.laifl-growth__card { display:flex; flex-direction:column; background: var(--white); border:1px solid var(--border); border-radius: 20px; padding: 24px; box-shadow: var(--shadow); }
.laifl-growth__head { display:flex; align-items:center; gap: 12px; min-height: 48px; }
.laifl-growth__ic { display:inline-flex; padding: 10px; border-radius: 12px; background: var(--brand-t); color: var(--brand); flex: 0 0 auto; }
.laifl-growth__ic svg { width:22px; height:22px; }
.laifl-growth__card h3 { font-size: 18px; margin: 0; }
.laifl-growth__tag { display:block; color: var(--ink-3); font-size: 13px; line-height: 1.35; min-height: 36px; margin: 12px 0 18px; }
/* цветные плитки-иконки — тот же приём, что и на грузах в основном лендинге */
.laifl-growth__card:nth-child(2) .laifl-growth__ic { background: rgba(108,181,45,.16); color: var(--lime-d); }
.laifl-growth__card:nth-child(3) .laifl-growth__ic { background: rgba(31,138,76,.14); color: var(--accent); }
.laifl-ladder { position:relative; display:flex; flex-direction:column; justify-content:space-between; gap: 10px; flex: 1 1 auto; }
/* z-index:1 — линия роста идёт ПОВЕРХ плашек-ступеней (они position:relative и позже в DOM),
   но под кружками с номерами (z-index:2 + белое кольцо box-shadow, маскирующее пунктир) */
.laifl-ladder::before { content:""; position:absolute; z-index:1; left: 31px; top: 24px; bottom: 24px; width: 2px; background: repeating-linear-gradient(180deg, var(--border-2) 0 6px, transparent 6px 12px); }
.laifl-ladder__step { position:relative; display:flex; gap: 14px; align-items:center; min-height: 64px; padding: 12px 16px; border-radius: 12px; background: var(--sage); border:1px solid var(--border); }
/* Линия должна НАЧИНАТЬСЯ из первого кружка: в высокой первой ступени («Продажи» с вариантом
   «или») кружок стоит по центру, и без маски пунктир торчал бы над ним. Маскируем фоном ступени
   участок от верха до белого кольца кружка (центр минус радиус кольца 19px). */
.laifl-ladder__step:first-child::before { content:""; position:absolute; z-index:1; left: 27px; top: 0; width: 10px; height: calc(50% - 19px); background: var(--sage); }
.laifl-ladder__num { position:relative; z-index:2; display:inline-flex; align-items:center; justify-content:center; width: 30px; height: 30px; border-radius: 50%; flex: 0 0 auto; font: 700 12.5px 'Lexend',sans-serif; background: var(--white); color: var(--brand); border: 1.5px solid var(--border-2); box-shadow: 0 0 0 4px var(--white); }
.laifl-ladder__label { font-size: 14.5px; font-weight:600; color: var(--ink); line-height: 1.3; }
/* верхняя ступень каждой лестницы — куда приходишь в итоге */
.laifl-ladder__step--final { background: linear-gradient(135deg, var(--brand), var(--brand-d)); border-color: transparent; }
.laifl-ladder__step--final .laifl-ladder__num { background: var(--lime); color: var(--ink); border-color: var(--lime); }
.laifl-ladder__step--final .laifl-ladder__label { color: #fff; }
/* ступень «Продажи»: два равноценных входа с разделителем «или» */
.laifl-ladder__or { display:grid; gap: 6px; }
.laifl-ladder__or-divider { display:flex; align-items:center; gap: 8px; }
.laifl-ladder__or-divider span:not(.laifl-ladder__or-text) { height: 1px; background: var(--border-2); }
.laifl-ladder__or-divider span:first-child { flex: 0 0 16px; }
.laifl-ladder__or-divider span:last-child { flex: 1; }
.laifl-ladder__or-text { font-size: 12px; color: var(--ink-3); text-transform:uppercase; letter-spacing:.08em; font-weight:600; }
/* .laifl перед классом обязателен: иначе margin перебивается сбросом `.laifl p { margin:0 }` */
.laifl .laifl-growth__callout { margin-top: 32px; padding: 20px 24px; background: var(--white); border-left: 3px solid var(--brand); border-radius: 0 var(--radius) var(--radius) 0; color: var(--ink-2); font-size: 15.5px; box-shadow: var(--shadow); }

/* ---------- Свои люди (кинолента) ---------- */
.laifl-people { display:flex; gap: 10px; align-items:stretch; height: 700px; }
.laifl-person {
	position:relative; overflow:hidden; cursor:pointer; border-radius: 20px;
	background: var(--lichen); border: 1px solid transparent; flex: 0 0 76px;
	box-shadow: rgba(16,40,24,.12) 0 18px 34px -18px;
	transition: flex .5s var(--ease), background .3s;
}
.laifl-person.is-active { flex: 1 1 auto; display:flex; align-items:stretch; background: var(--white); border-color: var(--border-2); }
.laifl-person__photo { position:absolute; inset:0; background-image: var(--p-photo); background-repeat:no-repeat; }
/* активная панель: крупное фото-«окно» слева фиксированной ширины */
.laifl-person.is-active .laifl-person__photo { position:relative; flex: 0 0 268px; width: 268px; max-width: 268px; align-self:stretch; background-size: auto 132%; background-position: center var(--p-focus); }
/* полоса-корешок: верхние 300px кадра с угасающей маской вниз */
.laifl-person.is-idle .laifl-person__photo { position:absolute; left:0; right:0; top:0; height: 300px; background-size: 230px auto; background-position: var(--p-fx) var(--p-idle-y); -webkit-mask-image: linear-gradient(180deg,#000 84%,transparent); mask-image: linear-gradient(180deg,#000 84%,transparent); }
.laifl-person__scrim { display:none; position:absolute; inset:0; background: linear-gradient(180deg, rgba(10,29,8,.55), rgba(10,29,8,.78)); }
.laifl-person.is-idle .laifl-person__scrim { display:block; }
/* тело активной карточки — рендерится в PHP у всех шести, скрыто CSS у неактивных */
.laifl-person__body { display:none; }
.laifl-person.is-active .laifl-person__body { display:flex; flex-direction:column; justify-content:flex-start; flex: 1 1 auto; min-width:0; min-height:0; padding: 32px 34px; animation: laifl-fade-in .4s var(--ease) both; }
@keyframes laifl-fade-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.laifl-person__role { display:inline-flex; align-self:flex-start; align-items:center; padding: 6px 13px; border-radius: var(--radius-pill); background: var(--sage); color: var(--brand); font-family:'Lexend',sans-serif; font-weight:700; font-size: 11.5px; letter-spacing:.07em; text-transform:uppercase; }
.laifl-person__body h3 { font-size: 29px; letter-spacing:-.025em; line-height: 1.1; margin: 14px 0 0; }
.laifl-person__since { display:block; color: var(--ink-3); font-size: 13.5px; margin-top: 6px; }
.laifl-person__teaser { color: var(--brand-d); font-size: 16px; font-weight:600; line-height: 1.4; margin: 14px 0 0; }
.laifl-person__text { flex: 1 1 auto; min-height:0; overflow-y:auto; margin-top: 16px; padding: 16px 14px 0 0; border-top: 1px solid var(--border); -webkit-mask-image: linear-gradient(180deg,#000 88%,transparent); mask-image: linear-gradient(180deg,#000 88%,transparent); scrollbar-width: thin; }
.laifl-person__text p { color: var(--ink-2); font-size: 15px; line-height: 1.6; margin: 0 0 12px; max-width: 66ch; }
.laifl-person__text p:last-child { margin-bottom: 0; }
/* имя вертикальной надписью на полосе-корешке */
.laifl-person__name-wrap { display:none; }
.laifl-person.is-idle .laifl-person__name-wrap { position:absolute; inset:auto 0 0 0; padding: 20px 0; display:flex; justify-content:center; }
.laifl-person__name { font-family:'Lexend',sans-serif; font-weight:700; font-size: 21px; letter-spacing:-.01em; color:#fff; text-shadow: 0 2px 10px rgba(10,29,8,.6); writing-mode: vertical-rl; transform: rotate(180deg); }
/* подсказки-стрелки — только у соседей активной панели (классы ставит JS) */
.laifl-person__hint { display:none; position:absolute; width: 34px; height: 34px; border-radius: 50%; background: rgba(251,253,246,.94); color: var(--brand); align-items:center; justify-content:center; box-shadow: 0 6px 16px rgba(10,29,8,.35); top: 14px; left: 50%; margin-left: -17px; }
.laifl-person.is-idle.has-hint-prev .laifl-person__hint--prev { display:flex; animation: laifl-nudge-left 1.5s ease-in-out infinite; }
.laifl-person.is-idle.has-hint-next .laifl-person__hint--next { display:flex; animation: laifl-nudge-right 1.5s ease-in-out infinite; }
@keyframes laifl-nudge-left { 0%,100% { transform:translateX(0); opacity:.75; } 50% { transform:translateX(-5px); opacity:1; } }
@keyframes laifl-nudge-right { 0%,100% { transform:translateX(0); opacity:.75; } 50% { transform:translateX(5px); opacity:1; } }
@keyframes laifl-nudge-up { 0%,100% { transform:translateY(0); opacity:.75; } 50% { transform:translateY(-5px); opacity:1; } }
@keyframes laifl-nudge-down { 0%,100% { transform:translateY(0); opacity:.75; } 50% { transform:translateY(5px); opacity:1; } }
/* пара svg на стрелку (горизонтальная десктопная / вертикальная мобильная) — видимость через media query ниже */
.laifl-person__hint svg.laifl-hint-svg--v { display:none; }

/* ---------- Где мы были в этом году (карусель) ---------- */
.laifl-shots-nav { display:flex; align-items:center; gap: 8px; margin-bottom: 16px; }
.laifl-shots-nav__btn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--border-2); background: var(--white); color: var(--brand); cursor:pointer; display:flex; align-items:center; justify-content:center; transition: background .2s, color .2s, border-color .2s; }
.laifl-shots-nav__btn:hover { background: var(--brand); color:#fff; border-color: var(--brand); }
.laifl-shots-nav__btn svg { width: 18px; height: 18px; }
.laifl-shots {
	overflow-x:auto; overflow-y:hidden; scrollbar-width:none; touch-action: pan-y; user-select:none; cursor: grab;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
}
.laifl-shots::-webkit-scrollbar { display:none; }
.laifl-shots.is-grabbing { cursor: grabbing; }
.laifl-shots__track { display:flex; gap: 12px; width: max-content; padding: 4px 0 6px; }
.laifl-shots__tile { position:relative; flex: 0 0 auto; height: 250px; border-radius: 16px; overflow:hidden; border:0; padding:0; cursor: zoom-in; background: var(--lichen); box-shadow: rgba(23,40,24,.08) 0 0 0 1px, rgba(16,40,24,.10) 0 14px 26px -14px; }
.laifl-shots__tile img { width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; -webkit-user-drag:none; }
.laifl-shots__cap { position:absolute; inset:auto 0 0 0; padding: 26px 14px 12px; background: linear-gradient(180deg, rgba(10,29,8,0), rgba(10,29,8,.86)); color: var(--on-dark); font-size: 12.5px; font-weight:600; line-height: 1.3; text-align:left; }
.laifl-shots__year { position:absolute; top:10px; right:10px; display:inline-flex; align-items:center; padding: 4px 9px; border-radius: var(--radius-pill); background: rgba(251,253,246,.92); color: var(--brand); font-family:'Lexend',sans-serif; font-weight:700; font-size: 11px; letter-spacing:.04em; }

/* ---------- Лайтбокс галереи (один на страницу) ---------- */
.laifl-lightbox { position:fixed; inset:0; z-index:120; display:none; align-items:center; justify-content:center; padding: 32px; background: rgba(10,25,8,.82); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.laifl-lightbox.is-open { display:flex; animation: laifl-lightbox-in .25s ease both; }
@keyframes laifl-lightbox-in { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }
.laifl-lightbox__fig { margin:0; display:flex; flex-direction:column; align-items:center; max-width: 1000px; max-height: 86vh; }
/* упрощение относительно эталона: object-fit:contain вместо формулы точного вписывания
   по натуральным пропорциям — фото показывается целиком, без обрезки, на любом кадре */
.laifl-lightbox__img { max-width: 100%; max-height: 74vh; width:auto; height:auto; border-radius: 18px; object-fit: contain; box-shadow: rgba(0,0,0,.5) 0 30px 70px -20px; }
.laifl-lightbox__cap { margin-top: 14px; color: var(--on-dark); text-align:center; font-size: 15px; }
.laifl-lightbox__close { position:absolute; top:22px; right:22px; width:42px; height:42px; border-radius:12px; border:1.5px solid rgba(255,255,255,.55); background: rgba(255,255,255,.92); color: var(--ink); cursor:pointer; display:flex; align-items:center; justify-content:center; }
.laifl-lightbox__close svg { width:16px; height:16px; }

/* ---------- Бенефиты (тёмные стеклянные карточки) ---------- */
.laifl-bene { display:grid; gap: 16px; grid-template-columns: repeat(3,1fr); }
.laifl-bene__card { display:flex; flex-direction:column; background: rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); border-radius: 18px; padding: 24px; }
.laifl-bene__ic { display:inline-flex; align-self:flex-start; padding: 10px; border-radius: 12px; background: rgba(108,181,45,.18); color: var(--lime); margin-bottom: 16px; }
.laifl-bene__ic svg { width:22px; height:22px; }
.laifl-bene__card b { display:block; font-family:'Lexend',sans-serif; font-weight:700; font-size: 17px; letter-spacing:-.01em; color:#fff; }
.laifl-bene__card span { display:block; color: var(--on-dark-2); font-size: 14.5px; line-height: 1.5; margin-top: 8px; }

/* ---------- Отбор — 5 колонок на десктопе ---------- */
.laifl-steps.laifl-steps--5 { grid-template-columns: repeat(5,1fr); }

/* Форма отклика (карьера) */
.laifl-apply { max-width: 640px; margin:0 auto; background: var(--white); border:1px solid var(--border); border-radius: 20px; padding: 32px; box-shadow: var(--shadow); }
.laifl-apply .laifl-input + .laifl-input, .laifl-apply .laifl-input { margin-top: 0; }
.laifl-field { margin-bottom: 15px; }
.laifl-field label { display:block; font-size:13.5px; font-weight:600; color: var(--ink-2); margin-bottom: 6px; font-family:'Lexend',sans-serif; }
.laifl-file { display:flex; align-items:center; gap:.6em; padding: 13px 16px; border:1.5px dashed var(--border-2); border-radius: var(--radius-sm); cursor:pointer; color: var(--ink-2); font-size: 14.5px; }
.laifl-file:hover { border-color: var(--brand); color: var(--brand); }
.laifl-file svg { width:19px; height:19px; }
.laifl-file input { display:none; }

/* ---------- Вакансии hh.ru (вкладки-категории, под-фильтр ролей, карточки) ---------- */
.laifl-vac-tabs { display:flex; flex-wrap:wrap; gap: 10px; margin-bottom: 14px; }
.laifl-vac-tabs button {
	font-family:'Lexend',sans-serif; font-weight:600; font-size: 14.5px; padding: 11px 20px;
	border-radius: var(--radius-pill); border: 1px solid transparent; cursor:pointer;
	background: var(--lichen); color: var(--ink-2); transition: background .2s, color .2s, border-color .2s;
}
.laifl-vac-tabs button:hover { border-color: var(--brand); color: var(--brand); }
.laifl-vac-tabs button.is-active { background: var(--brand); color: #fff; }
.laifl-vac-roles { display:flex; flex-wrap:wrap; gap: 6px 18px; margin-bottom: 30px; }
.laifl-vac-roles:empty { margin-bottom: 0; }
.laifl-vac-roles button {
	font-family:'Lexend',sans-serif; font-weight:600; font-size: 14px; padding: 4px 2px;
	border:0; background:none; cursor:pointer; color: var(--ink-3); border-bottom: 2px solid transparent;
	transition: color .2s, border-color .2s;
}
.laifl-vac-roles button:hover { color: var(--ink); }
.laifl-vac-roles button.is-active { color: var(--ink); border-color: var(--brand); }
.laifl-vacs { display:grid; grid-template-columns: repeat(auto-fill, minmax(300px,1fr)); gap: 18px; }
.laifl-vac {
	display:flex; flex-direction:column; background: var(--white); border:1px solid var(--border);
	border-radius: 18px; padding: 24px; box-shadow: var(--shadow); color: inherit;
	transition: transform .25s var(--ease), border-color .25s, box-shadow .25s;
}
.laifl-vac:hover { transform: translateY(-5px); border-color: var(--brand); box-shadow: var(--shadow-lg); }
.laifl-vac__role { color: var(--ink-3); font-size: 13px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; margin-bottom: 10px; }
/* префикс .laifl-vac обязателен — голый .laifl-vac__title (это <h3>) проигрывал по
   специфичности общему сбросу «.laifl h1,h2,h3,h4 {margin:0}», отступы были 0px */
.laifl-vac .laifl-vac__title { font-size: 19px; margin: 0 0 14px; }
.laifl-vac__tags { display:flex; flex-wrap:wrap; gap: 8px; margin-bottom: 12px; }
.laifl-vac__tag { display:inline-flex; padding: 5px 11px; border-radius: var(--radius-pill); background: var(--sage); color: var(--ink-2); font-size: 12.5px; font-weight:600; }
.laifl-vac__desc { color: var(--ink-2); font-size: 14px; line-height:1.5; margin-bottom: 14px;
	display:-webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow:hidden; }
.laifl-vac__salary { margin-top: auto; color: var(--brand); font-family:'Lexend',sans-serif; font-weight:700; font-size: 16px; }
.laifl-vacs__loading, .laifl-vacs__empty { grid-column: 1 / -1; text-align:center; color: var(--ink-3); font-size: 15px; padding: 30px 0; }
.laifl-vacs__empty a { color: var(--brand); font-weight:600; text-decoration: underline; }

/* ---------- Reveal ---------- */
.reveal { opacity:0; transform: translateY(22px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }

/* ---------- Адаптив ---------- */
/* ниже 1280px гарантированного зазора сбоку от карточки квиза для крупной картинки уже не хватает
   (см. формулу выше) — фура остаётся фоновым элементом (прижата к углу секции), но уходит ПОД
   карточку квиза по z-index, а не в поток документа рядом с ней — иначе (как было раньше, через
   margin:auto) она визуально «съезжает» в центр как самостоятельный объект */
@media (max-width: 1279px) {
	/* .laifl-container уже получает z-index:1 от общего правила .laifl-section--dark > * — этого
	   достаточно, чтобы карточка квиза перекрывала фуру там, где они пересекаются */
	#quiz .laifl-quiz__truck { position:absolute; right:0; bottom:0; z-index:0; display:block; width: min(60%, 300px); margin:0; opacity:.55; }
}
/* Отдельный сдвиг вверх для «ноутбучного» диапазона не прижился: уже на исходных -20px при
   скролле на 1440px капот вплотную к липкому хедеру (так было и до правок 2026-07) — любой
   дополнительный подъём почти сразу заводит картинку под хедер. Оставили --truck-shift-y
   единым (-20px, базовое правило выше) на всех десктопных ширинах без исключений; основной
   эффект против «пустого пространства» даёт обрезка прозрачного поля в самом файле картинки
   (см. hero-truck-white.png) — она безопасна и работает одинаково на всех разрешениях. */
@media (max-width: 1024px) {
	.laifl-inds { grid-template-columns: repeat(3,1fr); }
	.laifl-facts { grid-template-columns: repeat(2,1fr); }
	.laifl-sit { grid-template-columns: repeat(2,1fr); }
	.laifl-steps { grid-template-columns: repeat(2,1fr); }
	.laifl-hero__grid { grid-template-columns: 1fr; gap: 20px; }
	.laifl-hero { padding: 32px 0 40px; }
	/* картинка теперь идёт первой (правки 2026-07: «машина съехала вниз») — order вместо
	   перестановки в разметке, сдержанного размера (см. max-height ниже) */
	.laifl-hero__media { min-height: 0; order: -1; }
	/* max-height — на широком, но невысоком вьюпорте (альбомный планшет) та же % ширины
	   даёт слишком высокую картинку; абсолютный потолок высоты решает именно этот случай */
	.laifl-hero__media img { width: auto; height: auto; max-width: 54%; max-height: 210px; --truck-scale: 1.35; --truck-shift-y: -32px; --truck-shift-x: 0; transform-origin: center top; }
	.laifl-media, .laifl-contacts { grid-template-columns: 1fr; }
	.laifl-footer__grid { grid-template-columns: 1fr 1fr; }
}
/* Точка переключения шапки на бургер-меню: меню теперь строго в одну строку (без переносов),
   поэтому ниже 1080px логотип + меню + телефон + CTA перестают помещаться в контейнер —
   переключаемся на бургер раньше, чем ломается строка. */
@media (max-width: 1080px) {
	.laifl-nav, .laifl-header__cta .laifl-phone, .laifl-header__cta .laifl-btn { display:none; }
	.laifl-burger { display:flex; margin-left:auto; }
}
/* Кинолента «Свои люди» — горизонтальные полосы ломаются в вертикальный стек, у активной
   панели фото уходит наверх (было слева); карточки «Куда расти»/бенефиты — 2 колонки. */
@media (max-width: 1080px) {
	.laifl-people { flex-direction:column; height:auto; }
	/* Свёрнутая карточка (мобайл): светлая строка — круглый аватар слева, имя справа от него */
	.laifl-person { flex: 0 0 78px; min-height: 78px; }
	.laifl-person.is-idle { background: var(--white); border-color: var(--border); }
	.laifl-person.is-idle .laifl-person__photo { position:absolute; left:14px; top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:50%; background-size:cover; background-position:center var(--p-focus); border:2px solid var(--sage); box-shadow: 0 4px 12px rgba(10,29,8,.16); -webkit-mask-image:none; mask-image:none; }
	.laifl-person.is-idle .laifl-person__scrim { display:none; }
	.laifl-person.is-idle .laifl-person__name-wrap { inset:0; padding:0 60px 0 82px; align-items:center; justify-content:flex-start; }
	.laifl-person__name { font-size:16px; writing-mode:horizontal-tb; transform:none; color: var(--ink); text-shadow:none; }
	/* Развёрнутая карточка (мобайл): фото слева, текст справа */
	.laifl-person.is-active { flex: 1 1 auto; flex-direction:row; min-height:0; }
	.laifl-person.is-active .laifl-person__photo { position:relative; flex: 0 0 38%; width:38%; max-width:none; height:auto; align-self:stretch; background-size:cover; background-position:center var(--p-focus); }
	.laifl-person.is-active .laifl-person__body { padding:18px 16px; min-width:0; }
	.laifl-person__body h3 { font-size: 21px; }
	.laifl-person__teaser { font-size: 15px; }
	.laifl-person__text { margin-top:14px; padding-top:14px; padding-right:0; -webkit-mask-image:none; mask-image:none; overflow:visible; }
	.laifl-person__text p { font-size: 14px; }
	.laifl-person__hint { top:50%; left:auto; right:14px; margin-left:0; margin-top:-17px; box-shadow: 0 4px 12px rgba(10,29,8,.18); border:1px solid var(--border); }
	.laifl-person.is-idle.has-hint-prev .laifl-person__hint--prev { animation-name: laifl-nudge-up; }
	.laifl-person.is-idle.has-hint-next .laifl-person__hint--next { animation-name: laifl-nudge-down; }
	.laifl-person__hint svg.laifl-hint-svg--h { display:none; }
	.laifl-person__hint svg.laifl-hint-svg--v { display:block; }
	.laifl-growth, .laifl-bene { grid-template-columns: repeat(2,1fr); }
	.laifl-steps.laifl-steps--5 { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 700px) {
	.laifl-growth, .laifl-bene { grid-template-columns: 1fr; }
	/* Кинолента на телефонах: «фото слева / текст справа» (планшетный вариант ≤1080px) не влезает —
	   фото во всю ширину сверху, текст снизу. Планшеты (700–1080) остаются с фото слева. */
	.laifl-person.is-active { flex-direction:column; }
	.laifl-person.is-active .laifl-person__photo { flex:none; width:100%; height:340px; }
}
@media (max-width: 860px) {
	.laifl-facts, .laifl-inds, .laifl-fleet, .laifl-cases, .laifl-values, .laifl-proof, .laifl-vacs { grid-template-columns: 1fr; }
	.laifl-stats { grid-template-columns: repeat(2,1fr); }
	.laifl-stat { border-left: none; border-top: 1px solid rgba(255,255,255,.12); padding: 18px 12px 0; }
	.laifl-stat:nth-child(-n+2) { border-top: none; padding-top: 6px; }
	/* трёхэлементная полоса статистики — в столбик, разделитель у всех, кроме первой */
	.laifl-stats--3 { grid-template-columns: 1fr; }
	.laifl-stats--3 .laifl-stat { border-top: 1px solid rgba(255,255,255,.12); padding: 18px 12px 0; }
	.laifl-stats--3 .laifl-stat:first-child { border-top: none; padding-top: 6px; }
	.laifl-hero { padding: 26px 0 34px; }
	/* scale/shift пересчитаны после обрезки прозрачного поля в файле картинки — старые 1.4/-32px
	   были рассчитаны под старый (более пустой) файл и теперь обрезали капот об хедер */
	.laifl-hero__media img { width: auto; height: auto; max-width: 48%; max-height: 180px; --truck-scale: 1.1; --truck-shift-y: -5px; --truck-shift-x: 0; transform-origin: center top; }
	.laifl-checklist, .laifl-opts { grid-template-columns: 1fr; }
	.laifl-steps.laifl-steps--5 { grid-template-columns: repeat(2,1fr); }
	.laifl-exit__photo { height: 140px; }
	.laifl-section { padding: 60px 0; }
	/* row-gap отдельно от column-gap — раньше единый gap:12px давал между переносящимися
	   строками зазор почти в высоту самой строки (18px) — визуально «строка через строку» */
	.laifl-trustbar__row { font-size: 12px; row-gap: 3px; column-gap: 12px; }
}
@media (max-width: 560px) {
	.laifl { font-size: 16px; }
	.laifl-sit, .laifl-steps { grid-template-columns: repeat(2,1fr); }
	.laifl-steps.laifl-steps--5 { grid-template-columns: 1fr; }
	.laifl-footer__grid { grid-template-columns: 1fr; }
	.laifl-container { padding: 0 16px; }
	.laifl-panel, .laifl-quiz__body, .laifl-apply { padding: 20px; }
	/* первый экран телефона: бейдж + заголовок + лид + обе CTA-кнопки должны помещаться
	   без прокрутки — сжимаем картинку, шрифт заголовка (он же самый «тяжёлый» по высоте
	   из-за переноса на 5 строк на узких экранах) и вертикальные отступы hero */
	.laifl-hero { padding: 16px 0 22px; }
	.laifl-hero__grid { gap: 12px; }
	.laifl-hero__badge { padding: 5px 12px; font-size: 12.5px; }
	.laifl-hero__media img { width: auto; height: auto; max-width: 38%; max-height: 140px; --truck-scale: 1.5; --truck-shift-y: -32px; --truck-shift-x: 0; transform-origin: center top; }
	/* фикс на 27px не влезал в 2 строки на узких телефонах (см. правку выше про десктоп —
	   тот же баг, только для мобильной колонки на всю ширину); тот же префикс .laifl-hero —
	   см. комментарий у базового правила про специфичность. margin-top — исходный уровень 12px */
	.laifl-hero .laifl-hero__title { font-size: clamp(16px, 4.3vw, 22px); margin: 8px 0 0 15px; }
	.laifl-hero .laifl-hero__lead { font-size: 15px; margin: 14px 0 24px 15px; }
}
@media (prefers-reduced-motion: reduce) {
	.laifl *, .laifl *::before, .laifl *::after { animation: none !important; transition: none !important; }
	.reveal { opacity:1; transform:none; }
}

/* --- Доперенос правок ТЗ: акценты, черновые темы, вводные «дверей», подпись форм --- */
.laifl-panel__accent { margin: 10px 0 0; color: var(--brand-d); font-size: 16px; }
.laifl-posts-draft { margin: 4px 0 16px; }
.laifl-posts-draft__label { display: block; font-weight: 600; color: var(--ink-2); margin-bottom: 6px; }
.laifl-posts-draft ul { margin: 0; padding-left: 18px; color: var(--ink-2); }
.laifl-posts-draft li { margin: 4px 0; }
.laifl-form-note { margin: 10px 0 0; font-size: 13px; color: var(--ink-3); text-align: center; }

/* ---------- Юр. документы (legal-laif.php) ---------- */
/* Упрощённая шапка: на <=1080px общий медиазапрос (стр. ~790) прячет .laifl-header__cta .laifl-btn
   и включает бургер; у legal бургера нет — кнопку «На главную» возвращаем. */
@media (max-width: 1080px) {
	.laifl-header--simple .laifl-header__cta .laifl-btn { display: inline-flex; }
}
@media (max-width: 560px) {
	.laifl-header--simple .laifl-header__cta .laifl-btn { padding: 10px 16px; font-size: 14px; }
}

.laifl-legal { padding: 48px 0 72px; }
.laifl-legal__doc { margin: 0 auto; } /* во всю ширину контейнера сайта (решение пользователя 2026-07-27) */
.laifl-legal__head { margin-bottom: 30px; padding-bottom: 18px; border-bottom: 1px solid var(--border); }
.laifl-legal__title { font-size: clamp(24px, 3vw, 34px); }
.laifl-legal__meta { margin-top: 10px; color: var(--ink-3); font-size: 14px; }

/* Проза: селекторы с префиксом .laifl (0-2-1) перебивают сбросы .laifl p / .laifl h* (0-1-1). */
.laifl .laifl-prose p { margin: 0 0 1em; }
.laifl .laifl-prose p:last-child { margin-bottom: 0; }
.laifl .laifl-prose a { color: var(--brand); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.laifl .laifl-prose a:hover { color: var(--brand-d); }
.laifl .laifl-prose strong { color: var(--ink); }
.laifl .laifl-prose ol, .laifl .laifl-prose ul { margin: 0 0 1.1em; padding-left: 1.5em; }
.laifl .laifl-prose li { margin: .5em 0; }
.laifl .laifl-prose li > ol, .laifl .laifl-prose li > ul { margin: .55em 0 .35em; } /* вложенные ol.wp-block-list */
.laifl .laifl-prose h2 { font-size: 22px; margin: 1.6em 0 .6em; }
.laifl .laifl-prose h3 { font-size: 18px; margin: 1.4em 0 .5em; }
@media (max-width: 560px) {
	.laifl-legal { padding: 32px 0 56px; }
	.laifl .laifl-prose { font-size: 15.5px; }
}
