/* ================================================================
   Landing: Для проектировщиков (landing_proj template)
   ================================================================ */

/* Шрифт Montserrat — переиспользуем тот же файл что на главной (aspro_max_new) */
@import url('/local/templates/aspro_max_new/css/fonts/montserrat/css/montserrat.min.css');

:root {
	--lp-primary: #1a1d26;
	--lp-primary-dark: #141519;
	--lp-primary-mid: #1a1d26;
	--lp-primary-accent: #1a1d26;
	--lp-orange: #92289A;
	--lp-orange-hover: #7b1c83;
	--lp-yellow: #c470d0;
	--lp-text-dark: #0b1221;
	--lp-text-mid: #5b6472;
	--lp-text-light: #8a94a3;
	--lp-bg-grey: #f5f7fa;
	--lp-border: #e2e8f0;
	--lp-border-strong: #cbd5e1;
	--lp-success: #16a34a;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body.lp {
	font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	color: #fff;
	background: #1a1d26 !important;
	position: relative;
}
html { background: #1a1d26; }
body.lp > * { position: relative; z-index: 1; }
body.lp a { color: inherit; text-decoration: none; }
body.lp img { max-width: 100%; height: auto; display: block; }
body.lp h1, body.lp h2, body.lp h3, body.lp h4 { margin: 0; line-height: 1.15; font-weight: 600; }

.lp-container { max-width: 1260px; margin: 0 auto; padding: 0; }

/* ===== HEADER (glassmorphism — синхронизирован с aspro_max_new custom.css)  ===== */
.lp-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 100;
	background: #101213;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	box-shadow: 0px 4px 18px 0px rgba(0, 0, 0, 0.18);
	border-bottom: 1px solid rgba(255,255,255,.06);
	color: #fff;
	transition: top .15s ease-out;
}
/* Компенсируем fixed-header — контент должен начинаться ниже */
body.lp main { padding-top: 72px; }
@media (max-width: 960px) {
	body.lp main { padding-top: 64px; }
}
.lp-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; height: 72px; flex-wrap: nowrap; max-width: 1175px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.lp-header__brand { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.lp-header__logo { display: flex; align-items: center; color: #fff; font-weight: 600; letter-spacing: .3px; transition: opacity .2s; }
.lp-header__logo:hover { opacity: .85; }
/* Inline SVG — currentColor берёт цвет из родительского .lp-header__logo (color: #fff).
   Inline нужен потому что Aspro lazyload подменяет <img src> на 1×1 GIF-заглушку. */
.lp-header__logo-img { height: 28px; width: auto; display: block; color: #fff; }
.lp-header__logo-sub {
	font-size: 11px; letter-spacing: .6px; text-transform: uppercase;
	color: rgba(255,255,255,.65); font-weight: 500;
	padding-left: 14px; border-left: 1px solid rgba(255,255,255,.18);
	line-height: 1.1;
	text-decoration: none;
	white-space: nowrap;
	transition: color .2s, border-color .2s;
}
.lp-header__logo-sub:hover { color: var(--lp-yellow); border-left-color: rgba(196, 112, 208, .5); }
.lp-header__nav { display: flex; gap: 22px; font-size: 14px; flex-shrink: 1; min-width: 0; }
.lp-header__nav a { color: rgba(255,255,255,.82); transition: color .2s; white-space: nowrap; }
.lp-header__nav a:hover { color: var(--lp-yellow); }
.lp-header__phone { display: flex; align-items: center; gap: 8px; color: #fff; font-weight: 600; font-size: 15px; transition: color .2s; white-space: nowrap; flex-shrink: 0; }
.lp-header__phone svg { width: 18px; height: 18px; color: var(--lp-yellow); }
.lp-header__phone:hover { color: var(--lp-yellow); }
@media (max-width: 960px) {
	.lp-header__nav { display: none; }
	.lp-header__logo-sub { display: none; }
	.lp-header__phone span { display: none; }
	.lp-header__phone svg { width: 22px; height: 22px; }
}

/* ===== HERO ===== */
.lp-hero {
	background: transparent;
	color: #fff; padding: 80px 0 48px; position: relative;
	/* overflow: visible — чтобы dropdown Bitrix24 формы мог выйти за границы hero */
	z-index: 2;
}
.lp-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(1000px 400px at 80% -10%, rgba(146, 40, 154, .16), transparent 60%),
		radial-gradient(600px 300px at 10% 110%, rgba(146, 40, 154, .1), transparent 60%);
	clip-path: inset(0); /* ограничиваем декор градиента рамкой hero, не ломая overflow основного hero */
}
.lp-hero__grid { position: relative; display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: start; }
.lp-hero__tag {
	display: inline-block; padding: 9px 16px; border-radius: 4px;
	background: rgba(255,255,255,.1); font-size: 12px; letter-spacing: .6px;
	text-transform: uppercase; font-weight: 600; color: rgba(255,255,255,.92); margin-bottom: 20px;
}
.lp-hero__title { font-size: 44px; font-weight: 600; margin: 0 0 18px; color: #fff; line-height: 1.1; }
.lp-hero__title em { font-style: normal; color: var(--lp-yellow); display: block; }
.lp-hero__sub { font-size: 17px; line-height: 1.55; color: rgba(255,255,255,.82); margin: 0 0 28px; max-width: 580px; }
.lp-hero__benefits { list-style: none; padding: 0; margin: 0 0 32px; display: grid; gap: 10px; }
.lp-hero__benefits li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; color: rgba(255,255,255,.88); }
.lp-hero__benefits svg { flex: 0 0 20px; width: 20px; height: 20px; color: var(--lp-yellow); margin-top: 2px; }
.lp-hero__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 48px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.12); }
.lp-hero__stat-num { font-size: 28px; font-weight: 700; color: var(--lp-yellow); line-height: 1; }
.lp-hero__stat-label { font-size: 12px; color: rgba(255,255,255,.7); margin-top: 6px; line-height: 1.3; }

/* Hero Form — обёртка прозрачная, Bitrix24 сам рисует свою карточку */
.lp-hero__form-wrap {
	background: transparent; border-radius: 0; padding: 0; box-shadow: none;
	color: var(--lp-text-dark);
	max-width: 480px;
	margin: 0 auto;
	width: 100%;
}
/* ===== Bitrix24 CRM form — глубокая стилизация под landing_proj =====
   ПРАВИЛА:
   - Используем префикс `body.lp` для специфичности — !important не нужен.
   - НЕ трогаем width/max-width/margin/padding на `.b24-form-wrapper` и `.b24-form-content` (ломает init).
   - НЕ удаляем/переставляем DOM.
   - Всё остальное — стилизуем: шрифт, цвет, фон, border, shadow, radius, анимации. */

/* Карточка формы — визуально приводим к стилю lp-object/hero-card */
body.lp .b24-form-wrapper {
	background: linear-gradient(180deg, #1a1d26 0%, #14171f 100%);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 24px;
	box-shadow: 0 26px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08);
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
/* Фиолетовый radial в углу + сетка */
body.lp .b24-form-wrapper::before {
	content: "";
	position: absolute; inset: 0;
	background:
		radial-gradient(circle at 100% 0%, rgba(196,108,255,.14), transparent 50%),
		radial-gradient(circle at 0% 100%, rgba(139,92,246,.08), transparent 55%);
	pointer-events: none;
	z-index: 0;
}
body.lp .b24-form-wrapper::after {
	content: "";
	position: absolute; inset: 0;
	background:
		repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 40px),
		repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 40px);
	pointer-events: none;
	z-index: 0;
}
body.lp .b24-form-content,
body.lp .b24-form-inner-box,
body.lp .b24-form-padding-side {
	position: relative;
	z-index: 1;
	background: transparent;
}

/* Заголовок формы */
body.lp .b24-form-header { background: transparent; }
body.lp .b24-form-header-title,
body.lp .b24-form-form-1-title {
	font-family: 'Montserrat', sans-serif;
	font-size: 22px;
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.02em;
	line-height: 1.15;
	text-align: left;
	margin-bottom: 40px;
}
body.lp .b24-form-header-description,
body.lp .b24-form-form-1-desc {
	font-family: 'Montserrat', sans-serif;
	font-size: 13px;
	color: rgba(255,255,255,.65);
	line-height: 1.5;
	text-align: left;
	margin-top: 0;
}

/* Progress bar «1/2 · Страница 1» */
body.lp .b24-form-progress,
body.lp .b24-form-progress-container { background: transparent; }
body.lp .b24-form-progress-bar-counter {
	background: linear-gradient(90deg, rgba(196,108,255,.28), rgba(139,92,246,.2));
	border: 1px solid rgba(196,108,255,.4);
	color: #fff;
	border-radius: 999px;
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .04em;
	box-shadow: 0 0 16px rgba(196,108,255,.22);
}
body.lp .b24-form-progress-bar-title {
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 14px;
}
body.lp .b24-form-progress-track {
	background: rgba(255,255,255,.06);
	border-radius: 999px;
	overflow: hidden;
}
body.lp .b24-form-progress-bar {
	background: linear-gradient(90deg, #c470d0, #8b5cf6);
	box-shadow: 0 0 12px rgba(196,108,255,.5);
}

/* Поля ввода */
body.lp .b24-form-field { background: transparent; }
body.lp .b24-form-control {
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 12px;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
body.lp .b24-form-control:hover {
	border-color: rgba(196,108,255,.3);
	background: rgba(255,255,255,.06);
}
body.lp .b24-form-control:focus,
body.lp .b24-form-control-not-empty .b24-form-control {
	border-color: rgba(196,108,255,.55);
	background: rgba(196,108,255,.06);
	box-shadow: 0 0 0 3px rgba(196,108,255,.15);
	outline: none;
}
body.lp .b24-form-control-label {
	color: rgba(255,255,255,.55);
	font-family: 'Montserrat', sans-serif;
	font-size: 13px;
	font-weight: 500;
	transition: color .25s ease, transform .25s ease;
}
body.lp .b24-form-control-not-empty .b24-form-control-label,
body.lp .b24-form-control:focus + .b24-form-control-label {
	color: #c470d0;
}
body.lp .b24-form-control-required .b24-form-control-label::after {
	color: #c470d0;
}

/* Dropdown «Тип объекта» */
body.lp .b24-form-dropdown,
body.lp [class*="b24-form"][class*="list"],
body.lp [class*="b24-form"][class*="popup"],
body.lp [class*="b24-form"] [role="listbox"],
body.lp [class*="b24-form"] [role="menu"] {
	background: #1a1d26;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 12px;
	max-height: 520px;
	z-index: 1000;
	box-shadow: 0 20px 50px rgba(0,0,0,.5);
}
body.lp .b24-form-dropdown li,
body.lp [role="listbox"] li,
body.lp [role="menu"] li {
	color: rgba(255,255,255,.82);
	font-family: 'Montserrat', sans-serif;
	transition: background .2s ease, color .2s ease;
}
body.lp .b24-form-dropdown li:hover,
body.lp [role="listbox"] li:hover,
body.lp [role="menu"] li:hover {
	background: rgba(196,108,255,.14);
	color: #fff;
}

/* Кнопка «+ Добавить ещё» */
body.lp .b24-form-control-add-btn {
	color: #c470d0;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 13px;
	transition: color .25s ease;
}
body.lp .b24-form-control-add-btn:hover {
	color: #d88cff;
}

/* Сабмит-кнопка «Далее» */
body.lp .b24-form-btn-container { background: transparent; }
body.lp .b24-form-btn {
	background: linear-gradient(90deg, #c470d0, #8b5cf6);
	border: 1px solid rgba(196,108,255,.5);
	border-radius: 14px;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .01em;
	box-shadow: 0 10px 30px rgba(196,108,255,.32), inset 0 1px 0 rgba(255,255,255,.15);
	transition: transform .3s ease, box-shadow .3s ease, filter .25s ease;
}
body.lp .b24-form-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 40px rgba(196,108,255,.45), inset 0 1px 0 rgba(255,255,255,.2);
	filter: brightness(1.08);
}
body.lp .b24-form-btn:active {
	transform: translateY(0);
}
body.lp .b24-form-btn-border,
body.lp .b24-form-btn-block.b24-form-btn-tight { background: transparent; }

/* Подпись внизу / «Сообщить о нарушении» — приглушаем */
body.lp .b24-form-sign,
body.lp .b24-form-sign-abuse { background: transparent; }
body.lp .b24-form-sign-abuse-link {
	color: rgba(255,255,255,.35);
	font-size: 11px;
	transition: color .25s ease;
}
body.lp .b24-form-sign-abuse-link:hover {
	color: rgba(255,255,255,.6);
}

/* Ошибки и состояния */
body.lp .b24-form-error,
body.lp .b24-form-control-alert-message {
	color: #ff8fb7;
	font-size: 12px;
}
body.lp .b24-form-success { color: #86efac; }
body.lp .b24-form-warning { color: #fde68a; }
body.lp .b24-form-state-text {
	color: #fff;
	font-family: 'Montserrat', sans-serif;
}

/* Убираем стандартную «shadow» обёртку b24 — у нас своя тень на wrapper */
body.lp .b24-form-shadow { box-shadow: none; }

/* Лоадер */
body.lp .b24-form-loader-icon-sun-ring { color: #c470d0; }
.lp-hero__form-title { font-size: 20px; font-weight: 600; margin: 0 0 4px; color: var(--lp-text-dark); display: flex; align-items: center; gap: 10px; }
.lp-hero__form-title svg { width: 22px; height: 22px; color: var(--lp-orange); }
.lp-hero__form-sub { font-size: 13px; color: var(--lp-text-mid); margin: 0 0 22px; }
.lp-form { display: grid; gap: 14px; }
.lp-form__label { display: block; font-size: 13px; color: var(--lp-text-mid); font-weight: 500; }
.lp-form__label em { font-style: normal; color: #dc2626; }
.lp-form__input,
.lp-form__select,
.lp-form__textarea {
	display: block; width: 100%; margin-top: 6px;
	padding: 11px 14px; border: 1px solid var(--lp-border); border-radius: 8px;
	font-size: 14px; font-family: inherit; color: var(--lp-text-dark);
	background: #fff; transition: border-color .2s, box-shadow .2s;
	box-sizing: border-box;
}
.lp-form__input:focus,
.lp-form__select:focus,
.lp-form__textarea:focus {
	outline: none; border-color: var(--lp-orange);
	box-shadow: 0 0 0 3px rgba(146, 40, 154, .12);
}
.lp-form__textarea { resize: vertical; min-height: 80px; font-family: inherit; }
.lp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 13px 24px; border: none; border-radius: 10px;
	background: var(--lp-orange); color: #fff;
	font-size: 14px; font-weight: 600; letter-spacing: .2px;
	cursor: pointer; transition: background-color .2s, transform .15s;
	text-decoration: none;
}
.lp-btn:hover { background: var(--lp-orange-hover); }
.lp-btn:active { transform: translateY(1px); }
.lp-btn--wide { width: 100%; }
.lp-btn--lg { padding: 15px 28px; font-size: 15px; }
.lp-btn svg { width: 18px; height: 18px; }
.lp-form__policy { font-size: 11px; color: var(--lp-text-light); line-height: 1.45; margin-top: 4px; }
.lp-form__policy a { color: var(--lp-text-mid); border-bottom: 1px dotted var(--lp-border-strong); }
.lp-form__success { text-align: center; padding: 30px 10px; }
.lp-form__success-icon { width: 56px; height: 56px; border-radius: 50%; background: #dcfce7; color: var(--lp-success); display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; }
.lp-form__success-icon svg { width: 32px; height: 32px; }
.lp-form__success h3 { font-size: 20px; margin: 0 0 6px; color: var(--lp-text-dark); }
.lp-form__success p { margin: 0; font-size: 14px; color: var(--lp-text-mid); }

@media (max-width: 960px) {
	.lp-hero { padding: 48px 0 64px; }
	.lp-hero__grid { grid-template-columns: 1fr; gap: 36px; }
	.lp-hero__title { font-size: 32px; }
	.lp-hero__stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.lp-hero__title { font-size: 26px; }
	.lp-hero__form-wrap { padding: 22px 20px; border-radius: 16px; }
	.lp-hero__stat-num { font-size: 22px; }
}

/* ===== SECTION BASE — единый сквозной фон через body.lp::before (grid-подложка).
   Секции ПРОЗРАЧНЫЕ — не ставим background, чтобы grid-сетка проходила сквозь весь раздел. ===== */
.lp-section { padding: 56px 0 96px; background: transparent; color: #fff; position: relative; z-index: 1; }
.lp-section--grey { background: transparent; }
.lp-section--dark { background: transparent; }
.lp-section--gradient { background: transparent; position: relative; overflow: hidden; }
.lp-section--gradient::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(600px 300px at 100% 0%, rgba(146, 40, 154, .15), transparent 60%),
		radial-gradient(400px 300px at 0% 100%, rgba(146, 40, 154, .1), transparent 60%);
}
.lp-section__head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 48px; }
.lp-section__head-text { flex: 1; min-width: 0; }
.lp-section__tag {
	display: inline-block; padding: 8px 14px; border-radius: 4px;
	background: rgba(255,255,255,.08); color: var(--lp-yellow);
	font-size: 12px; font-weight: 600; letter-spacing: .5px;
	text-transform: uppercase; margin-bottom: 14px;
}
.lp-section__title { font-size: 32px; font-weight: 600; margin: 0 0 14px; color: #fff; line-height: 1.2; }
.lp-section__desc { font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.78); margin: 0; }
.lp-section__link { color: var(--lp-yellow); font-weight: 600; font-size: 14px; white-space: nowrap; position: relative; }
.lp-section__link:hover { text-decoration: underline; }

@media (max-width: 768px) {
	.lp-section { padding: 60px 0; }
	.lp-section__title { font-size: 24px; }
}

/* ===== CATEGORIES ===== */
.lp-cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.lp-cat {
	background: #25272b; border: 1px solid rgba(255,255,255,.08); border-radius: 16px;
	padding: 32px 28px; transition: transform .2s, border-color .2s, box-shadow .2s, background-color .2s;
	display: flex; flex-direction: column; color: inherit;
}
.lp-cat:hover { transform: translateY(-4px); border-color: var(--lp-orange); background: #2d2f33; box-shadow: 0 18px 40px rgba(0, 0, 0, .3); }
.lp-cat__head { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.lp-cat__icon { width: 44px; height: 44px; border-radius: 10px; background: rgba(255,255,255,.08); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background-color .2s; }
.lp-cat:hover .lp-cat__icon { background: var(--lp-orange); }
.lp-cat__icon svg { width: 22px; height: 22px; }
.lp-cat__title { font-size: 17px; font-weight: 600; line-height: 1.3; margin: 0; color: #fff; }
.lp-cat__desc { font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.7); margin: 0 0 24px; flex: 1; }
.lp-cat__meta { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08); }
.lp-cat__count { font-size: 12px; color: rgba(255,255,255,.5); font-weight: 500; }
.lp-cat__action { font-size: 13px; color: var(--lp-yellow); font-weight: 600; }
@media (max-width: 960px) { .lp-cats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .lp-cats { grid-template-columns: 1fr; } }

/* ===== ARTICLES ===== */
.lp-articles { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; }
.lp-article { background: #25272b; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; overflow: hidden; display: block; color: inherit; transition: box-shadow .2s, transform .2s, border-color .2s; }
.lp-article:hover { box-shadow: 0 16px 40px rgba(0, 0, 0, .3); transform: translateY(-2px); border-color: rgba(146, 40, 154, .4); }
.lp-article--featured { grid-row: span 2; display: flex; flex-direction: column; }
.lp-article__img { background: linear-gradient(135deg, #2a2d32, #3a3d42); aspect-ratio: 16/9; position: relative; overflow: hidden; }
.lp-article__img svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.lp-article__body { padding: 22px 24px; flex: 1; display: flex; flex-direction: column; }
.lp-article--small .lp-article__body { padding: 18px 20px; }
.lp-article__tag {
	display: inline-block; padding: 6px 12px; border-radius: 4px;
	background: rgba(255,255,255,.08); color: rgba(255,255,255,.8);
	font-size: 11px; font-weight: 600; letter-spacing: .4px;
	text-transform: uppercase; margin-bottom: 10px;
}
.lp-article--featured .lp-article__tag { background: rgba(146, 40, 154, .2); color: var(--lp-yellow); }
.lp-article__title { font-size: 17px; font-weight: 600; margin: 0 0 10px; color: #fff; line-height: 1.3; }
.lp-article--featured .lp-article__title { font-size: 22px; line-height: 1.25; }
.lp-article__desc { font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.7); margin: 0 0 14px; flex: 1; }
.lp-article__meta { display: flex; align-items: center; gap: 6px; color: rgba(255,255,255,.55); font-size: 12px; }
.lp-article__meta svg { width: 14px; height: 14px; }
.lp-articles { align-items: start; }

/* Глубина сцены — тонкая радиальная подсветка в фоне секции статей */
.lp-section--articles { overflow: hidden; }
.lp-section--articles::before {
	content: "";
	position: absolute; inset: 0;
	background:
		radial-gradient(circle at 22% 38%, rgba(196,108,255,.08), transparent 55%),
		radial-gradient(circle at 85% 72%, rgba(139,92,246,.06), transparent 50%);
	pointer-events: none;
	z-index: 0;
}
.lp-section--articles > .lp-container { position: relative; z-index: 1; }

/* Микро-анимации текста на hover карточек */
.lp-article .lp-article__title,
.lp-article-hero__subtitle { transition: transform .35s cubic-bezier(.2,.8,.2,1), color .25s ease; }
.lp-article .lp-article__desc { transition: opacity .3s ease, color .25s ease; }
.lp-article:hover .lp-article__title { transform: translateY(-2px); }
.lp-article--hero:hover .lp-article-hero__subtitle { transform: translateY(-2px); }
.lp-article:hover .lp-article__desc { opacity: .95; }
.lp-articles__side { display: grid; gap: 20px; grid-template-rows: repeat(3, 1fr); height: 640px; align-self: start; }
.lp-articles__bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }
.lp-articles__bottom .lp-article { flex-direction: row; }
.lp-articles__bottom .lp-article__img { flex: 0 0 220px; aspect-ratio: auto; min-height: 100%; }
@media (max-width: 960px) {
	.lp-articles { grid-template-columns: 1fr; }
	.lp-articles__bottom { grid-template-columns: 1fr; }
	.lp-articles__bottom .lp-article { flex-direction: column; }
	.lp-articles__bottom .lp-article__img { flex: 0 0 auto; aspect-ratio: 16/9; }
}

/* ===== TOOLS (on dark) ===== */
.lp-tools-grid { display: grid; grid-template-columns: 320px 1fr; gap: 40px; align-items: start; }
.lp-tools-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.lp-tool {
	background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 14px;
	padding: 22px 20px; color: #fff; display: block; transition: background-color .2s, border-color .2s;
}
.lp-tool:hover { background: rgba(255,255,255,.1); border-color: rgba(196, 112, 208, .4); }
.lp-tool__icon { width: 42px; height: 42px; border-radius: 10px; background: var(--lp-orange); color: #fff; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.lp-tool__icon svg { width: 22px; height: 22px; }
.lp-tool__title { font-size: 15px; font-weight: 600; margin: 0 0 4px; color: #fff; }
.lp-tool__sub { font-size: 13px; color: rgba(255,255,255,.6); margin: 0 0 12px; line-height: 1.4; }
.lp-tool__action { font-size: 12px; color: var(--lp-yellow); font-weight: 600; }
@media (max-width: 960px) {
	.lp-tools-grid { grid-template-columns: 1fr; gap: 28px; }
	.lp-tools-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.lp-tools-list { grid-template-columns: 1fr; }
}

/* ===== OBJECTS — премиум-карточки типов объектов ===== */
.lp-objects { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.lp-object {
	position: relative; display: block;
	min-height: 280px;
	border-radius: 22px;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	isolation: isolate;
	border: 1px solid rgba(255,255,255,.1);
	background: linear-gradient(180deg, #1a1d26 0%, #14171f 100%);
	box-shadow: 0 18px 44px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06);
	transition: transform .45s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease;
}
.lp-object__bg {
	position: absolute; inset: 0; z-index: 0;
	background:
		radial-gradient(circle at 80% 15%, rgba(196,108,255,.18), transparent 55%),
		radial-gradient(circle at 10% 90%, rgba(139,92,246,.14), transparent 55%);
	pointer-events: none;
	transition: transform .8s cubic-bezier(.2,.8,.2,1), opacity .5s ease;
}
.lp-object__grid-overlay {
	position: absolute; inset: 0; z-index: 1;
	background:
		repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 40px),
		repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 40px);
	pointer-events: none;
	opacity: .8;
}
.lp-object__img {
	position: absolute; inset: 0 0 50% 0; z-index: 2;
	display: flex; align-items: center; justify-content: center;
	opacity: .45;
	transition: opacity .4s ease, transform .6s cubic-bezier(.2,.8,.2,1);
}
.lp-object__img svg {
	width: 90px; height: 90px;
	color: rgba(255,255,255,.82);
	filter: drop-shadow(0 0 22px rgba(196,108,255,.4));
}
.lp-object__overlay {
	position: absolute; inset: 0; z-index: 3;
	background: linear-gradient(180deg, rgba(15,18,26,0) 0%, rgba(15,18,26,.55) 55%, rgba(15,18,26,.95) 100%);
	pointer-events: none;
}
.lp-object__content {
	position: absolute; inset: auto 0 0 0; z-index: 4;
	padding: 22px 26px 24px;
	display: flex; flex-direction: column; gap: 8px;
}
.lp-object__count {
	display: inline-block;
	align-self: flex-start;
	padding: 4px 12px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(196,108,255,.28), rgba(139,92,246,.2));
	border: 1px solid rgba(196,108,255,.38);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	box-shadow: 0 0 16px rgba(196,108,255,.2), inset 0 1px 0 rgba(255,255,255,.1);
	margin-bottom: 4px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.lp-object__title {
	font-size: 19px;
	font-weight: 700;
	color: #fff;
	margin: 0;
	line-height: 1.25;
	letter-spacing: -0.01em;
	transition: transform .35s cubic-bezier(.2,.8,.2,1);
}
.lp-object__desc {
	font-size: 13px;
	color: rgba(255,255,255,.65);
	margin: 0;
	line-height: 1.45;
}
.lp-object__cta {
	margin-top: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #c470d0;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: transform .3s ease, color .25s ease;
}
.lp-object:hover {
	transform: translateY(-6px);
	border-color: rgba(196,108,255,.38);
	box-shadow: 0 26px 56px rgba(0,0,0,.44), 0 0 0 1px rgba(196,108,255,.2), inset 0 1px 0 rgba(255,255,255,.08);
}
.lp-object:hover .lp-object__img {
	opacity: .7;
	transform: scale(1.06);
}
.lp-object:hover .lp-object__title { transform: translateY(-2px); }
.lp-object:hover .lp-object__cta { transform: translateX(4px); }
.lp-object:hover .lp-object__bg { transform: scale(1.05); opacity: 1.1; }

@media (max-width: 960px) { .lp-objects { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .lp-objects { grid-template-columns: 1fr; } }

/* ===== DOWNLOADS ===== */
.lp-downloads { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.lp-download {
	background: #25272b; border: 1px solid rgba(255,255,255,.08); border-radius: 14px;
	padding: 24px 22px; display: block; color: inherit;
	transition: border-color .2s, box-shadow .2s, transform .2s, background-color .2s;
}
.lp-download:hover { border-color: var(--lp-orange); background: #2d2f33; box-shadow: 0 10px 30px rgba(0,0,0,.3); transform: translateY(-2px); }
.lp-download__icon { width: 48px; height: 48px; border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.lp-download__icon svg { width: 22px; height: 22px; }
.lp-download__icon--pdf { background: rgba(220, 38, 38, .18); color: #fca5a5; }
.lp-download__icon--xlsx { background: rgba(5, 150, 105, .18); color: #6ee7b7; }
.lp-download__icon--ies { background: rgba(2, 132, 199, .18); color: #7dd3fc; }
.lp-download__icon--dialux { background: rgba(124, 58, 237, .18); color: #c4b5fd; }
.lp-download__meta { display: flex; justify-content: space-between; font-size: 11px; color: rgba(255,255,255,.5); letter-spacing: .6px; text-transform: uppercase; font-weight: 600; margin-bottom: 8px; }
.lp-download__title { font-size: 15px; font-weight: 600; margin: 0 0 14px; color: #fff; line-height: 1.35; }
.lp-download__action { font-size: 13px; color: var(--lp-yellow); font-weight: 600; }
@media (max-width: 960px) { .lp-downloads { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .lp-downloads { grid-template-columns: 1fr; } }

/* ===== WEBINARS ===== */
.lp-webinars { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.lp-webinar {
	background: #25272b; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; overflow: hidden;
	display: block; color: inherit; transition: box-shadow .2s, border-color .2s;
}
.lp-webinar:hover { box-shadow: 0 16px 40px rgba(0,0,0,.3); border-color: rgba(146, 40, 154, .4); }
.lp-webinar__preview { position: relative; aspect-ratio: 16/9; background: linear-gradient(135deg, #141519, #1D1F22); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.lp-webinar__play { width: 64px; height: 64px; border-radius: 50%; background: rgba(146, 40, 154, .92); color: #fff; display: flex; align-items: center; justify-content: center; transition: transform .2s; }
.lp-webinar__play svg { width: 28px; height: 28px; }
.lp-webinar:hover .lp-webinar__play { transform: scale(1.1); }
.lp-webinar__badge { position: absolute; top: 14px; left: 14px; padding: 7px 13px; border-radius: 4px; background: rgba(255,255,255,.95); color: #1D1F22; font-size: 11px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; }
.lp-webinar__body { padding: 22px 24px; }
.lp-webinar__meta { display: flex; align-items: center; gap: 6px; color: rgba(255,255,255,.6); font-size: 13px; margin-bottom: 8px; }
.lp-webinar__meta svg { width: 14px; height: 14px; }
.lp-webinar__title { font-size: 17px; font-weight: 600; margin: 0 0 12px; color: #fff; line-height: 1.35; }
.lp-webinar__speaker { display: flex; align-items: center; gap: 6px; font-size: 13px; color: rgba(255,255,255,.65); }
.lp-webinar__speaker svg { width: 14px; height: 14px; }
@media (max-width: 768px) { .lp-webinars { grid-template-columns: 1fr; } }

/* ===== PROCESS ===== */
.lp-process {
	display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px;
	align-items: start;
	position: relative; margin-top: 40px; padding-top: 60px;
}
/* Анимированная линия — проходит ВЫШЕ карточек, через центры бейджей */
/* DIAG v=35: отключено всё декоративное в PROCESS */
.lp-process::before { display: none !important; }
.lp-section--grey:has(.lp-process)::before,
.lp-section--grey:has(.lp-process)::after { display: none !important; }
.lp-step__badge { box-shadow: none !important; }
.lp-step__glow { display: none !important; }
.lp-step { position: relative; }
.lp-step__card {
	position: relative; padding: 40px 22px 26px;
	min-height: 260px;
	display: flex; flex-direction: column;
	border-radius: 20px;
	background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
	border: 1px solid rgba(255,255,255,.1);
	backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.1),
		0 20px 40px rgba(0,0,0,.3);
	transition: transform .35s ease, border-color .3s ease, box-shadow .3s ease;
	transform-style: preserve-3d;
	overflow: hidden;
}
.lp-step__card:hover {
	border-color: rgba(196,108,255,.45);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.14),
		0 28px 60px -16px rgba(196,108,255,.4);
}
.lp-step__glow {
	position: absolute; inset: 0; border-radius: 20px;
	opacity: 0; transition: opacity .3s ease;
	pointer-events: none;
}
.lp-step__card:hover .lp-step__glow { opacity: 1; }
/* Бейдж-номер: вне card, выше линии по z-index */
.lp-step__badge {
	position: absolute; top: -25px; left: 50%; transform: translateX(-50%);
	width: 52px; height: 52px; border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #c46cff, #6d28d9);
	color: #fff; font-weight: 700; font-size: 20px;
	display: flex; align-items: center; justify-content: center;
	box-shadow:
		0 0 20px rgba(196,108,255,.6),
		0 0 40px rgba(139,92,246,.4),
		inset 0 1px 0 rgba(255,255,255,.25);
	z-index: 3;
}
.lp-step__title {
	font-size: 18px; font-weight: 700; margin: 28px 0 22px;
	color: #fff; text-align: center;
	transition: transform .25s ease;
}
.lp-step__subtitle { font-size: 13px; color: rgba(255,255,255,.5); text-align: center; margin-bottom: 0; line-height: 1.5; }
.lp-step__bullets {
	list-style: none; padding: 0; margin: 0; position: relative;
	max-height: 0; opacity: 0; overflow: hidden;
	transition: max-height .45s cubic-bezier(.4,0,.2,1), opacity .3s ease, margin-top .35s ease;
}
.lp-step__card:hover .lp-step__bullets {
	max-height: 600px; opacity: 1; margin-top: 18px;
}
/* Подсказка «наведи, чтобы узнать больше» снизу компактной карточки */
.lp-step__hint {
	margin-top: auto; padding-top: 20px; text-align: center;
	font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
	color: rgba(196,108,255,.55); transition: opacity .25s ease, max-height .35s ease, padding-top .35s ease;
	max-height: 40px; overflow: hidden;
}
.lp-step__card:hover .lp-step__hint { opacity: 0; max-height: 0; padding-top: 0; }
.lp-step__bullets li {
	font-size: 13px; line-height: 1.55; color: rgba(255,255,255,.75);
	padding-left: 14px; position: relative; margin-bottom: 10px;
	transition: transform .25s ease;
}
.lp-step__bullets li::before {
	content: ''; position: absolute; left: 0; top: 8px;
	width: 6px; height: 6px; border-radius: 50%;
	background: #c46cff; box-shadow: 0 0 8px rgba(196,108,255,.6);
}
.lp-step__bullets li:last-child { margin-bottom: 0; }
.lp-step__bullets a { color: #c46cff; text-decoration: none; border-bottom: 1px dashed rgba(196,108,255,.5); }
.lp-step__bullets a:hover { border-bottom-style: solid; }
/* Микро-анимации контента при hover карточки */
.lp-step__card:hover .lp-step__title { transform: translateY(-2px); }
.lp-step__card:hover .lp-step__bullets li { transform: translateX(3px); }

.lp-principles { margin-top: 56px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.lp-principle {
	display: flex; align-items: center; gap: 14px;
	padding: 18px 22px; background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.08); border-radius: 14px;
	backdrop-filter: blur(12px);
}
.lp-principle__icon {
	width: 42px; height: 42px; border-radius: 50%;
	background: linear-gradient(135deg, #c46cff, #8b5cf6); color: #fff; flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center;
}
.lp-principle__icon svg { width: 20px; height: 20px; }
.lp-principle__text { font-size: 14px; line-height: 1.45; color: rgba(255,255,255,.92); }

@media (max-width: 1100px) {
	.lp-process { grid-template-columns: repeat(3, 1fr); gap: 40px 20px; }
	.lp-process::before { display: none; }
}
@media (max-width: 760px) {
	.lp-process { grid-template-columns: repeat(2, 1fr); }
	.lp-principles { grid-template-columns: 1fr; }
}
@media (max-width: 480px) { .lp-process { grid-template-columns: 1fr; } }

/* ===== FAQ ===== */
.lp-faq { max-width: 860px; margin: 0 auto; display: grid; gap: 12px; }
.lp-faq__item { background: #25272b; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; overflow: hidden; }
.lp-faq__q {
	width: 100%; text-align: left; background: none; border: none;
	padding: 20px 24px; font-size: 16px; font-weight: 600; color: #fff;
	display: flex; justify-content: space-between; align-items: center; gap: 16px;
	cursor: pointer; font-family: inherit;
}
.lp-faq__q:hover { background: rgba(255,255,255,.04); }
.lp-faq__q-icon {
	flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%;
	background: rgba(255,255,255,.1); color: rgba(255,255,255,.8);
	display: flex; align-items: center; justify-content: center;
	transition: background-color .2s, color .2s, transform .2s;
}
.lp-faq__q-icon svg { width: 14px; height: 14px; }
.lp-faq__item--open .lp-faq__q-icon { background: var(--lp-orange); color: #fff; transform: rotate(45deg); }
.lp-faq__a { padding: 0 24px; max-height: 0; overflow: hidden; transition: max-height .3s ease, padding .3s ease; font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.78); }
.lp-faq__item--open .lp-faq__a { padding: 0 24px 20px; max-height: 500px; }

/* ===== FINAL CTA ===== */
.lp-finalcta-box {
	position: relative; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
	border-radius: 28px; padding: 56px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
}
.lp-finalcta__title { font-size: 30px; font-weight: 600; color: #fff; margin: 0 0 14px; line-height: 1.2; }
.lp-finalcta__desc { font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.78); margin: 0 0 24px; }
.lp-finalcta__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.lp-finalcta__list li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; color: rgba(255,255,255,.88); }
.lp-finalcta__list svg { flex: 0 0 18px; width: 18px; height: 18px; color: var(--lp-yellow); margin-top: 3px; }
.lp-finalcta__form { background: transparent; border-radius: 0; padding: 0; color: var(--lp-text-dark); }
.lp-finalcta__form .lp-form__success { padding: 20px 10px; }
@media (max-width: 960px) {
	.lp-finalcta-box { grid-template-columns: 1fr; padding: 36px 28px; }
	.lp-finalcta__title { font-size: 24px; }
}

/* ===== FOOTER ===== */
.lp-footer { background: var(--lp-primary-dark); color: rgba(255,255,255,.72); padding: 72px 0 32px; font-size: 14px; }
.lp-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; }
.lp-footer__logo { display: flex; align-items: center; gap: 14px; color: #fff; margin-bottom: 16px; }
.lp-footer__logo-img { height: 28px; width: auto; display: block; color: #fff; }
.lp-footer__desc { font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.6); margin: 0 0 20px; max-width: 380px; }
.lp-footer__contacts { display: grid; gap: 10px; font-size: 14px; }
.lp-footer__contacts a, .lp-footer__contacts span { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.82); transition: color .2s; }
.lp-footer__contacts a:hover { color: #fff; }
.lp-footer__contacts svg { flex: 0 0 16px; width: 16px; height: 16px; color: var(--lp-orange); }
.lp-footer__col h4 { color: #fff; font-size: 14px; font-weight: 600; margin: 0 0 14px; letter-spacing: .3px; }
.lp-footer__col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.lp-footer__col a { color: rgba(255,255,255,.66); font-size: 14px; transition: color .2s; }
.lp-footer__col a:hover { color: #fff; }
.lp-footer__bottom { margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; font-size: 12px; color: rgba(255,255,255,.5); }
.lp-footer__bottom a { color: rgba(255,255,255,.6); }
.lp-footer__bottom a:hover { color: #fff; }
@media (max-width: 960px) {
	.lp-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; }
	.lp-footer__brand { grid-column: span 2; }
}
@media (max-width: 560px) {
	.lp-footer__grid { grid-template-columns: 1fr; }
	.lp-footer__brand { grid-column: span 1; }
}

/* ================================================================
   GENILED UI MIXINS — переиспользуемые премиум-эффекты
   Активация: добавить класс на элемент (комбинируются между собой).
   JS-зависимость только у .gn-glow-cursor и .gn-tilt-3d (см. landing-index.php).
   ================================================================ */

/* 1. Стеклянная карточка с inset highlight */
.gn-glass-card {
	background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
	border: 1px solid rgba(255,255,255,.1);
	border-radius: var(--gn-radius, 20px);
	backdrop-filter: blur(20px) saturate(180%);
	-webkit-backdrop-filter: blur(20px) saturate(180%);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 20px 40px rgba(0,0,0,.3);
	isolation: isolate;
	position: relative;
}

/* 2. Glow за курсором — JS пишет --mx/--my в px от верх-левого угла */
.gn-glow-cursor { position: relative; isolation: isolate; }
.gn-glow-cursor::after {
	content: ''; position: absolute; inset: 0; border-radius: inherit;
	background: radial-gradient(circle 280px at var(--mx, 50%) var(--my, 50%),
		var(--gn-glow-color, rgba(196,108,255,.28)), transparent 60%);
	opacity: 0; transition: opacity .3s ease; pointer-events: none; z-index: 0;
}
.gn-glow-cursor > * { position: relative; z-index: 1; }

/* 3. Tilt 3D — JS пишет --rx/--ry в deg, --gn-scale при hover задаёт CSS */
.gn-tilt-3d {
	transform-style: preserve-3d; will-change: transform;
	transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) scale(var(--gn-scale, 1));
}

/* 4. Цветной blob (декор-фон секции) */
.gn-blob {
	position: absolute; border-radius: 50%;
	filter: blur(120px); opacity: .3; pointer-events: none; z-index: 0;
}

/* Активация эффектов только на hover-устройствах */
@media (hover: hover) and (pointer: fine) {
	.gn-glow-cursor:hover::after { opacity: 1; }
	.gn-glow-cursor:hover { --gn-scale: 1.03; }
}

/* Reduced motion — отключить все эффекты */
@media (prefers-reduced-motion: reduce) {
	.gn-glow-cursor::after,
	.gn-tilt-3d { transition: none !important; animation: none !important; }
	.gn-tilt-3d { transform: none !important; }
}

/* ================================================================
   PROCESS — премиум-апгрейд (вариант B)
   Архитектура (из свежих правок): .lp-step (wrapper) > .lp-step__card (карточка).
   Tilt идёт на .lp-step__card через CSS-переменные (JS пишет --rx/--ry/--mx/--my).
   ================================================================ */

/* Glow-blobs под секцией — без них blur у glassmorphism пустой на сплошном #1D1F22 */
.lp-section--grey:has(.lp-process) {
	position: relative; overflow: hidden; isolation: isolate;
}
.lp-section--grey:has(.lp-process)::before,
.lp-section--grey:has(.lp-process)::after {
	content: ''; position: absolute;
	width: 540px; height: 540px; border-radius: 50%;
	filter: blur(120px); opacity: .3; pointer-events: none; z-index: 0;
}
.lp-section--grey:has(.lp-process)::before { background: #c46cff; top: -160px; left: -120px; }
.lp-section--grey:has(.lp-process)::after  { background: #6d28d9; bottom: -200px; right: -160px; }
.lp-section--grey:has(.lp-process) > .lp-container { position: relative; z-index: 1; }

/* Glow за курсором: радиальный gradient через CSS-переменные --mx/--my (JS обновляет).
   Заменяет ранний паттерн "menyaem glow.style.background" который не fade'ит. */
.lp-step__glow {
	background: radial-gradient(circle 280px at var(--mx, 50%) var(--my, 50%),
		rgba(196,108,255,.28), transparent 60%);
}

/* Tilt + scale через CSS-переменные (только на hover-устройствах) */
.lp-step__card {
	transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) scale(var(--gn-scale, 1));
	will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
	.lp-step__card:hover { --gn-scale: 1.03; }
}

/* Микро-анимация li через padding-left (НЕ translateX — иначе перенос строк меняет высоту карточки) */
.lp-step__bullets li { transition: padding-left .22s ease, transform .25s ease; }
.lp-step__card:hover .lp-step__bullets li {
	padding-left: 18px;       /* было 14px */
	transform: none;          /* отменяем translateX(3px) выше */
}

/* Мобила/touch — отрубаем 3D-tilt, оставляем базовые hover-стили */
@media not all and (hover: hover) {
	.lp-step__card { transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
	.lp-step__card,
	.lp-step__title,
	.lp-step__bullets li,
	.lp-step__glow {
		transform: none !important; transition: none !important; animation: none !important;
	}
}

/* ================================================================
   CATALOG REVEAL — под катом bento-grid с главной
   ================================================================ */
.lp-catalog-reveal { text-align: center; }
.lp-catalog-reveal__sub {
	margin: 14px 0 0; font-size: 14px; color: rgba(255,255,255,.55);
}
.lp-catalog-toggle {
	display: flex; width: 100%; align-items: center; justify-content: center; gap: 12px;
	padding: 20px 40px; border-radius: 4px;
	background: #92289a;
	color: #fff; font-size: 16px; font-weight: 600;
	border: none; cursor: pointer; font-family: inherit;
	box-shadow: 0 10px 30px -8px rgba(146,40,154,.55), inset 0 1px 0 rgba(255,255,255,.18);
	transition: background-color .2s ease, transform .25s ease, box-shadow .3s ease;
}
.lp-catalog-toggle:hover { background: #7b1c83; transform: translateY(-2px); box-shadow: 0 14px 36px -8px rgba(146,40,154,.7), inset 0 1px 0 rgba(255,255,255,.22); }
.lp-catalog-toggle__icon { width: 18px; height: 18px; transition: transform .35s ease; }
.lp-catalog-toggle[aria-expanded="true"] .lp-catalog-toggle__icon { transform: rotate(180deg); }

.lp-catalog-grid {
	display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px;
	margin-top: 40px; animation: lp-catalog-in .5s cubic-bezier(.4,0,.2,1);
}
.lp-catalog-grid[hidden] { display: none !important; }
@keyframes lp-catalog-in {
	from { opacity: 0; transform: translateY(20px); }
	to   { opacity: 1; transform: none; }
}
.lp-cat-tile {
	grid-column: span 2; position: relative; display: flex; flex-direction: column;
	justify-content: flex-start; min-height: 200px;
	padding: 20px 22px;
	border-radius: 16px;
	background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
	border: 1px solid rgba(255,255,255,.1);
	color: #fff; text-decoration: none; overflow: hidden; isolation: isolate;
	transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.lp-cat-tile--wide { grid-column: span 3; min-height: 220px; }
.lp-cat-tile:hover {
	transform: translateY(-4px);
	border-color: rgba(196,108,255,.45);
	box-shadow: 0 24px 48px -16px rgba(196,108,255,.4);
}
.lp-cat-tile__name {
	position: relative; z-index: 2;
	font-size: 14px; font-weight: 600; line-height: 1.35;
	max-width: 55%;
}
.lp-cat-tile--wide .lp-cat-tile__name { font-size: 16px; max-width: 45%; }
.lp-cat-tile__img {
	position: absolute; right: 10px; bottom: 10px;
	width: 55%; height: 85%;
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: contain;
	z-index: 1; pointer-events: none;
	transition: transform .4s cubic-bezier(.4,0,.2,1), opacity .35s ease;
}
.lp-cat-tile__img--off { opacity: 1; }
.lp-cat-tile__img--on  { opacity: 0; }
.lp-cat-tile:hover .lp-cat-tile__img--off { opacity: 0; }
.lp-cat-tile:hover .lp-cat-tile__img--on  { opacity: 1; }
.lp-cat-tile:hover .lp-cat-tile__img { transform: scale(1.08) translate(-4px, -4px); }

.lp-catalog__cta { grid-column: 1 / -1; margin-top: 8px; }
.lp-catalog__all {
	display: flex; width: 100%; align-items: center; justify-content: center; gap: 10px;
	padding: 20px 40px; border-radius: 4px;
	background: #92289a;
	color: #fff; font-size: 16px; font-weight: 600;
	box-shadow: 0 10px 30px -8px rgba(146,40,154,.55), inset 0 1px 0 rgba(255,255,255,.18);
	transition: background-color .2s ease, transform .25s ease, box-shadow .3s ease;
}
.lp-catalog__all:hover { background: #7b1c83; transform: translateY(-2px); box-shadow: 0 14px 36px -8px rgba(146,40,154,.7); }
.lp-catalog__all svg { width: 18px; height: 18px; transition: transform .25s ease; }
.lp-catalog__all:hover svg { transform: translateX(4px); }

@media (max-width: 960px) {
	.lp-catalog-grid { grid-template-columns: repeat(2, 1fr); }
	.lp-cat-tile, .lp-cat-tile--wide { grid-column: span 1; min-height: 180px; }
}
@media (max-width: 480px) {
	.lp-catalog-grid { grid-template-columns: 1fr; }
	.lp-cat-tile__name { max-width: 60%; font-size: 14px !important; }
}

/* ================================================================
   ARTICLE HERO — featured-карточка статьи в стиле hero
   ================================================================ */
.lp-article--hero {
	position: relative;
	display: flex;
	flex-direction: column;
	background: transparent;
	border: 0;
	box-shadow: none;
	overflow: visible;
}
.lp-article-hero__card {
	position: relative; overflow: hidden;
	display: flex; align-items: stretch;
	min-height: 640px;
	isolation: isolate;
	border-radius: 24px;
	border: 1px solid rgba(255,255,255,.12);
	box-shadow: 0 26px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08);
}
.lp-article-hero__bg {
	position: absolute; inset: 0; z-index: 0;
	background-image: var(--hero-bg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transform: scale(1.02);
	transition: transform 1.2s cubic-bezier(.2,.8,.2,1);
}
.lp-article-hero__bg svg { width: 100%; height: 100%; display: block; }
.lp-article--hero:hover .lp-article-hero__card .lp-article-hero__bg { transform: scale(1.06); }
/* Затемнение: слева темнее + низ градиентно уходит в тёмный */
.lp-article-hero__shade {
	position: absolute; inset: 0; z-index: 1;
	background:
		linear-gradient(90deg,
			rgba(4,8,15,.88) 0%,
			rgba(4,8,15,.64) 29%,
			rgba(4,8,15,.22) 56%,
			rgba(4,8,15,.42) 100%),
		linear-gradient(180deg,
			rgba(6,11,20,.36) 0%,
			rgba(6,11,20,.05) 42%,
			rgba(6,11,20,.86) 100%);
	pointer-events: none;
}
/* Премиум-noise */
.lp-article-hero__card::after {
	content: "";
	position: absolute; inset: 0; z-index: 2;
	pointer-events: none;
	opacity: .08;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
	mix-blend-mode: soft-light;
}
.lp-article-hero__cursor {
	position: absolute; inset: 0; z-index: 3;
	background: radial-gradient(circle 320px at var(--hx, 50%) var(--hy, 50%), rgba(196,108,255,.18), transparent 55%);
	opacity: 0; transition: opacity .35s ease; pointer-events: none;
}
.lp-article--hero:hover .lp-article-hero__cursor { opacity: 1; }
.lp-article-hero__content {
	position: relative; z-index: 4;
	width: 100%;
	min-height: inherit;
	padding: 40px 44px 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex: 1 1 auto;
	align-self: stretch;
}
.lp-article-hero__text { max-width: 640px; }
.lp-article--hero .lp-article__tag {
	background: linear-gradient(90deg, rgba(196,108,255,.32), rgba(139,92,246,.22));
	color: #fff;
	backdrop-filter: blur(10px);
	border: 1px solid rgba(196,108,255,.42);
	padding: 6px 14px;
	border-radius: 999px;
	display: inline-block;
	font-size: 11px;
	box-shadow: 0 0 24px rgba(196,108,255,.28), inset 0 1px 0 rgba(255,255,255,.12);
}
.lp-article--hero .lp-article__title {
	font-size: clamp(22px, 2.4vw, 32px);
	line-height: 1.1;
	letter-spacing: -0.025em;
	font-weight: 800;
	color: #fff;
	margin: 14px 0 6px;
	max-width: 560px;
	text-shadow: 0 8px 34px rgba(0,0,0,.55);
}
.lp-article-hero__subtitle {
	font-size: clamp(14px, 1.4vw, 18px);
	line-height: 1.1;
	letter-spacing: 0;
	font-weight: 700;
	text-transform: uppercase;
	color: #c470d0;
	margin-bottom: 12px;
	text-shadow: 0 6px 24px rgba(0,0,0,.5);
}
.lp-article--hero .lp-article__desc {
	font-size: 15px; line-height: 1.55;
	color: rgba(255,255,255,.82);
	max-width: 620px;
	margin: 0;
	text-shadow: 0 6px 24px rgba(0,0,0,.5);
}
.lp-article-hero__metrics {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 0;
	margin-top: auto;
	border-radius: 18px;
	overflow: hidden;
	background: rgba(17,22,32,.62);
	border: 1px solid rgba(255,255,255,.13);
	backdrop-filter: blur(18px) saturate(130%);
	-webkit-backdrop-filter: blur(18px) saturate(130%);
	box-shadow: 0 22px 52px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
}
.lp-article-hero__metric {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px 20px;
	min-height: 88px;
	transition: background .25s ease;
}
.lp-article-hero__metric:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 20px; right: 0;
	width: 1px; height: calc(100% - 40px);
	background: linear-gradient(180deg, transparent, rgba(255,255,255,.16), transparent);
}
.lp-article-hero__metric {
	transition: background .25s ease, transform .35s cubic-bezier(.2,.8,.2,1);
}
.lp-article-hero__metric:hover {
	background: rgba(196,108,255,.08);
	transform: translateY(-3px);
}
.lp-article--hero:hover .lp-article-hero__metric {
	background: rgba(255,255,255,.04);
}
.lp-article-hero__metric-icon {
	flex-shrink: 0;
	width: 42px; height: 42px;
	display: grid;
	place-items: center;
	border-radius: 12px;
	color: #d88cff;
	background: rgba(196,108,255,.16);
	border: 1px solid rgba(196,108,255,.22);
	box-shadow: 0 0 22px rgba(196,108,255,.2), inset 0 1px 0 rgba(255,255,255,.12);
}
.lp-article-hero__metric-icon svg { width: 20px; height: 20px; }
.lp-article-hero__metric-body { min-width: 0; }
.lp-article-hero__metric-body span {
	display: block;
	font-size: 11px;
	color: rgba(255,255,255,.65);
	text-transform: uppercase;
	letter-spacing: .06em;
	margin-bottom: 4px;
}
.lp-article-hero__metric-body strong {
	display: block;
	font-size: 17px;
	font-weight: 700;
	color: #fff;
	font-variant-numeric: tabular-nums;
}
.lp-article-hero__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 18px;
	padding: 0 4px;
	color: rgba(255,255,255,.78);
	font-size: 14px;
}
.lp-article-hero__footer-note {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.lp-article-hero__footer-note svg {
	width: 18px; height: 18px;
	opacity: .78;
}
.lp-article-hero__footer-site {
	white-space: nowrap;
	color: #c470d0;
	font-weight: 600;
	transition: transform .25s ease;
}
.lp-article--hero:hover .lp-article-hero__footer-site { transform: translateX(4px); }

/* ================================================================
   SIDE CARDS — мини-статьи справа в стиле hero
   ================================================================ */
.lp-articles__side .lp-article--small {
	background: linear-gradient(180deg, #1a1d26 0%, #14171f 100%);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 20px;
	box-shadow: 0 18px 44px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.06);
	overflow: hidden;
	position: relative;
	isolation: isolate;
	transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.lp-articles__side .lp-article--small::before {
	content: "";
	position: absolute; inset: 0;
	background: radial-gradient(circle at 85% 0%, rgba(196,108,255,.1), transparent 60%);
	pointer-events: none;
	z-index: 0;
}
.lp-articles__side .lp-article--small:hover {
	transform: translateY(-2px);
	border-color: rgba(196,108,255,.3);
	box-shadow: 0 22px 52px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.08);
}
.lp-articles__side .lp-article--small .lp-article__body {
	position: relative;
	z-index: 1;
	padding: 24px 26px;
	gap: 0;
}
.lp-articles__side .lp-article--small .lp-article__tag {
	background: linear-gradient(90deg, rgba(196,108,255,.28), rgba(139,92,246,.18));
	border: 1px solid rgba(196,108,255,.38);
	color: #fff;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	box-shadow: 0 0 18px rgba(196,108,255,.22), inset 0 1px 0 rgba(255,255,255,.1);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.lp-articles__side .lp-article--small .lp-article__title {
	font-size: 17px;
	line-height: 1.32;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #fff;
	margin: 16px 0 14px;
}
.lp-articles__side .lp-article--small .lp-article__meta {
	font-size: 13px;
	color: rgba(255,255,255,.62);
}
.lp-articles__side .lp-article--small .lp-article__meta svg {
	width: 15px; height: 15px;
}

@media (max-width: 1100px) {
	.lp-article--hero { min-height: 720px; }
	.lp-article-hero__metrics { grid-template-columns: repeat(2, 1fr); }
	.lp-article-hero__metric:nth-child(2)::after { display: none; }
}
@media (max-width: 720px) {
	.lp-article--hero { min-height: 780px; border-radius: 18px; }
	.lp-article-hero__content { padding: 28px 22px 22px; gap: 22px; }
	.lp-article-hero__metrics { grid-template-columns: 1fr; }
	.lp-article-hero__metric::after { display: none !important; }
	.lp-article-hero__footer { flex-direction: column; align-items: flex-start; padding: 14px 18px; }
}


/* Light Skin блок вырезан 2026-05-15 — см. _light-skin-disabled.css */



/* ================================================================
   NORMATIVNYE DOKUMENTY — библиотека НТД (DS landing layer, fg-* prefix)
   ================================================================ */

/* --- HERO (компактный, прижат к шапке) --- */
.fg-doc-hero { padding: 24px 0 40px; }
body.lp .fg-doc-hero__title {
	font-size: 48px;
	font-weight: 700 !important;
	line-height: 1.2;
	color: #fff !important;
	max-width: 880px;
	margin: 0;
}
.fg-doc-hero__title em {
	font-style: normal; display: block; margin-top: 8px;
	color: #FFFFFF;
}
.fg-doc-hero__tag {
	display: inline-block; margin-bottom: 16px;
	padding: 6px 14px;
	background: rgba(155, 48, 174, .12);
	border: 1px solid rgba(155, 48, 174, .35);
	border-radius: 999px;
	color: #d89cf0;
	font-size: 12px; font-weight: 600; letter-spacing: .5px;
	text-transform: uppercase;
}
.fg-doc-hero__sub {
	max-width: 775px;
	color: rgba(255, 255, 255, .72);
	font-size: 20px; font-weight: 300; line-height: 1.3;
	margin: 32px 0 0;
}

.fg-doc-breadcrumb {
	display: inline-flex; align-items: center; gap: 10px; margin-bottom: 24px;
	font-size: 14px; color: #888888; letter-spacing: 0;
}
.fg-doc-breadcrumb a { color: rgba(255, 255, 255, .7); transition: color .2s; }
.fg-doc-breadcrumb a:hover { color: #d89cf0; }
.fg-doc-breadcrumb span[aria-hidden] { color: rgba(255, 255, 255, .3); }

.fg-doc-stats { display: flex; gap: 48px; margin-top: 32px; flex-wrap: wrap; }
.fg-doc-stat { display: flex; flex-direction: column; gap: 4px; }
.fg-doc-stat strong {
	font-size: 32px; font-weight: 700; line-height: 1;
	background: linear-gradient(135deg, #fff 0%, rgba(255, 255, 255, .6) 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.fg-doc-stat span {
	font-size: 13px; color: rgba(255, 255, 255, .55); letter-spacing: .3px;
	text-transform: uppercase; font-weight: 500;
}

/* --- LAYOUT — sticky sidebar + content --- */
.fg-doc-section { padding-top: 24px; padding-bottom: 80px; }
.fg-doc-layout {
	display: grid; grid-template-columns: 264px 1fr; gap: 48px;
	align-items: start;
}

/* --- SIDEBAR --- */
.fg-doc-sidebar { position: relative; }
.fg-doc-sidebar__inner {
	position: sticky; top: 96px;
	display: flex; flex-direction: column; gap: 24px;
	max-height: calc(100vh - 120px); overflow-y: auto;
	padding-right: 8px;
	scrollbar-width: thin;
	scrollbar-color: rgba(255, 255, 255, .1) transparent;
}
.fg-doc-sidebar__inner::-webkit-scrollbar { width: 4px; }
.fg-doc-sidebar__inner::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .12); border-radius: 4px; }

.fg-doc-sidebar__block {
	background: rgba(255, 255, 255, .025);
	border: 1px solid rgba(255, 255, 255, .06);
	border-radius: 14px; padding: 20px;
}
.fg-doc-sidebar__title {
	font-size: 11px; letter-spacing: 1px; text-transform: uppercase;
	color: rgba(255, 255, 255, .45); font-weight: 600;
	margin-bottom: 14px;
}

.fg-doc-nav { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.fg-doc-nav__link {
	display: grid; grid-template-columns: 1fr auto; align-items: baseline;
	gap: 4px 12px; padding: 10px 12px; border-radius: 8px;
	transition: background .2s, color .2s;
	border-left: 2px solid transparent;
}
.fg-doc-nav__link:hover { background: rgba(255, 255, 255, .04); }
.fg-doc-nav__link--active {
	background: rgba(155, 48, 174, .12);
	border-left-color: #9B30AE;
}
.fg-doc-nav__label { font-size: 15px; font-weight: 600; color: #fff; }
.fg-doc-nav__sub { grid-column: 1 / -1; font-size: 12px; color: rgba(255, 255, 255, .5); }
.fg-doc-nav__count {
	font-size: 12px; color: rgba(255, 255, 255, .45); font-variant-numeric: tabular-nums;
	background: rgba(255, 255, 255, .05); padding: 2px 8px; border-radius: 999px; min-width: 24px; text-align: center;
}
.fg-doc-nav__link--active .fg-doc-nav__count { background: rgba(155, 48, 174, .22); color: #d89cf0; }

/* --- CHIPS (фильтр по применению) --- */
.fg-doc-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.fg-doc-chip {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 7px 12px;
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: 999px;
	color: rgba(255, 255, 255, .78); font-size: 13px; font-weight: 500;
	cursor: pointer; transition: all .2s;
	font-family: inherit;
}
.fg-doc-chip svg { width: 14px; height: 14px; flex-shrink: 0; opacity: .7; }
.fg-doc-chip:hover {
	background: rgba(255, 255, 255, .07);
	border-color: rgba(255, 255, 255, .16);
	color: #fff;
}
.fg-doc-chip--active {
	background: rgba(155, 48, 174, .2);
	border-color: rgba(155, 48, 174, .55);
	color: #fff;
}
.fg-doc-chip--active svg { opacity: 1; color: #d89cf0; }
.fg-doc-chip__count {
	font-size: 11px; color: rgba(255, 255, 255, .5);
	background: rgba(0, 0, 0, .25); padding: 1px 6px; border-radius: 999px;
	font-variant-numeric: tabular-nums;
}
.fg-doc-chip--active .fg-doc-chip__count { color: #d89cf0; background: rgba(0, 0, 0, .35); }

/* --- SIDEBAR HINT --- */
.fg-doc-sidebar__hint {
	display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start;
	padding: 16px;
	background: linear-gradient(135deg, rgba(155, 48, 174, .08) 0%, rgba(155, 48, 174, .02) 100%);
	border: 1px solid rgba(155, 48, 174, .18);
	border-radius: 14px;
}
.fg-doc-sidebar__hint svg { width: 18px; height: 18px; color: #d89cf0; flex-shrink: 0; margin-top: 2px; }
.fg-doc-sidebar__hint p { margin: 0; font-size: 13px; line-height: 1.55; color: rgba(255, 255, 255, .72); }
.fg-doc-sidebar__hint a { color: #d89cf0; border-bottom: 1px solid rgba(216, 156, 240, .35); }
.fg-doc-sidebar__hint a:hover { border-bottom-color: #d89cf0; }

/* --- CONTENT — группы и карточки --- */
.fg-doc-content { min-width: 0; }
.fg-doc-group { margin-bottom: 56px; scroll-margin-top: 96px; }
.fg-doc-group:last-child { margin-bottom: 0; }

.fg-doc-group__head {
	display: flex; align-items: center; gap: 16px;
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.fg-doc-group__badge {
	display: flex; align-items: center; justify-content: center;
	min-width: 56px; height: 56px; padding: 0 12px;
	border-radius: 14px;
	font-weight: 700; font-size: 16px; letter-spacing: .5px;
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .1);
}
.fg-doc-group__badge--sp     { background: linear-gradient(135deg, rgba(155, 48, 174, .25) 0%, rgba(155, 48, 174, .08) 100%); border-color: rgba(155, 48, 174, .4); color: #d89cf0; }
.fg-doc-group__badge--gost   { background: linear-gradient(135deg, rgba(56, 132, 224, .22) 0%, rgba(56, 132, 224, .06) 100%); border-color: rgba(56, 132, 224, .4); color: #7bb3ff; }
.fg-doc-group__badge--sanpin { background: linear-gradient(135deg, rgba(34, 158, 102, .22) 0%, rgba(34, 158, 102, .06) 100%); border-color: rgba(34, 158, 102, .4); color: #5ed59a; }
.fg-doc-group__badge--sto    { background: linear-gradient(135deg, rgba(220, 138, 50, .22) 0%, rgba(220, 138, 50, .06) 100%); border-color: rgba(220, 138, 50, .4); color: #ffba75; }

body.lp .fg-doc-group__title { font-size: 24px; font-weight: 600 !important; color: #fff !important; margin: 0; line-height: 1.2; }
.fg-doc-group__desc { margin: 4px 0 0; font-size: 14px; color: rgba(255, 255, 255, .55); }

.fg-doc-list { display: flex; flex-direction: column; gap: 12px; }

/* --- DOC CARD --- */
.fg-doc-card {
	display: grid; grid-template-columns: 56px 1fr auto;
	gap: 20px; align-items: center;
	padding: 20px 22px;
	background: rgba(255, 255, 255, .025);
	border: 1px solid rgba(255, 255, 255, .07);
	border-radius: 14px;
	transition: background .2s, border-color .2s, transform .2s, box-shadow .2s;
	position: relative;
}
.fg-doc-card:hover {
	background: rgba(255, 255, 255, .04);
	border-color: rgba(155, 48, 174, .35);
	transform: translateY(-1px);
	box-shadow: 0 8px 28px rgba(0, 0, 0, .25), 0 0 0 1px rgba(155, 48, 174, .15) inset;
}
.fg-doc-card--pin::before {
	content: ""; position: absolute; top: -1px; left: 24px; right: 24px; height: 2px;
	background: linear-gradient(90deg, #9B30AE, #c46cff);
	border-radius: 0 0 2px 2px;
}

.fg-doc-card__icon {
	width: 56px; height: 56px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 12px;
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .06);
}
.fg-doc-card__icon svg { width: 26px; height: 26px; color: rgba(255, 255, 255, .7); }
.fg-doc-card__icon--sp     { background: linear-gradient(135deg, rgba(155, 48, 174, .15) 0%, transparent 100%); border-color: rgba(155, 48, 174, .25); }
.fg-doc-card__icon--sp svg { color: #d89cf0; }
.fg-doc-card__icon--gost   { background: linear-gradient(135deg, rgba(56, 132, 224, .15) 0%, transparent 100%); border-color: rgba(56, 132, 224, .25); }
.fg-doc-card__icon--gost svg { color: #7bb3ff; }
.fg-doc-card__icon--sanpin { background: linear-gradient(135deg, rgba(34, 158, 102, .15) 0%, transparent 100%); border-color: rgba(34, 158, 102, .25); }
.fg-doc-card__icon--sanpin svg { color: #5ed59a; }
.fg-doc-card__icon--sto    { background: linear-gradient(135deg, rgba(220, 138, 50, .15) 0%, transparent 100%); border-color: rgba(220, 138, 50, .25); }
.fg-doc-card__icon--sto svg { color: #ffba75; }

.fg-doc-card__body { min-width: 0; }
.fg-doc-card__meta {
	display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
	margin-bottom: 6px;
}
.fg-doc-card__number {
	font-size: 13px; font-weight: 700; color: rgba(255, 255, 255, .92);
	letter-spacing: .3px;
	font-variant-numeric: tabular-nums;
}
.fg-doc-card__year {
	font-size: 12px; color: rgba(255, 255, 255, .5);
	padding: 2px 8px; background: rgba(255, 255, 255, .05); border-radius: 4px;
	font-variant-numeric: tabular-nums;
}
.fg-doc-card__badge {
	font-size: 11px; font-weight: 600; letter-spacing: .3px;
	padding: 2px 8px; border-radius: 4px;
	text-transform: uppercase;
}
.fg-doc-card__badge--key { background: rgba(155, 48, 174, .22); color: #d89cf0; }
.fg-doc-card__badge--rev { background: rgba(220, 138, 50, .2); color: #ffba75; }

body.lp .fg-doc-card__title {
	font-size: 17px; font-weight: 600 !important; line-height: 1.35;
	color: #fff !important; margin: 0 0 6px;
}
.fg-doc-card__note {
	font-size: 13px; color: rgba(255, 255, 255, .55); margin: 0 0 10px;
	font-style: italic;
}
.fg-doc-card__chips { display: flex; flex-wrap: wrap; gap: 5px; }
.fg-doc-card__chip {
	font-size: 11px; color: rgba(255, 255, 255, .6);
	padding: 3px 9px; background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .06);
	border-radius: 999px;
	letter-spacing: .2px;
}

/* --- DOWNLOAD BUTTON (теперь триггер модалки) --- */
.fg-doc-card__download {
	display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 4px; padding: 12px 18px; min-width: 110px;
	background: rgba(155, 48, 174, .14);
	border: 1px solid rgba(155, 48, 174, .35);
	border-radius: 12px;
	color: #fff;
	cursor: pointer;
	font-family: inherit;
	transition: all .2s;
}
.fg-doc-card__download:hover {
	background: #9B30AE;
	border-color: #9B30AE;
	box-shadow: 0 6px 20px rgba(155, 48, 174, .4);
}
.fg-doc-card__download svg { width: 20px; height: 20px; }
.fg-doc-card__download-label { font-size: 13px; font-weight: 600; }
.fg-doc-card__download-size { font-size: 11px; color: rgba(255, 255, 255, .65); letter-spacing: .2px; }
.fg-doc-card__download:hover .fg-doc-card__download-size { color: rgba(255, 255, 255, .85); }

/* --- EMPTY STATE --- */
.fg-doc-empty {
	display: flex; flex-direction: column; align-items: center; gap: 16px;
	padding: 64px 24px; text-align: center;
	background: rgba(255, 255, 255, .02);
	border: 1px dashed rgba(255, 255, 255, .1);
	border-radius: 16px;
}
.fg-doc-empty svg { width: 48px; height: 48px; color: rgba(255, 255, 255, .35); }
body.lp .fg-doc-empty h3 { font-size: 18px; font-weight: 600 !important; color: rgba(255, 255, 255, .85) !important; margin: 0; }
.fg-doc-empty p { font-size: 14px; color: rgba(255, 255, 255, .55); margin: 0; max-width: 520px; line-height: 1.55; }

/* --- FINAL CTA (заменил Bitrix24 на кнопку-триггер модалки) --- */
.fg-doc-finalcta {
	padding-bottom: 96px;
}
.fg-doc-finalcta__box {
	background: linear-gradient(135deg, rgba(155, 48, 174, .14) 0%, rgba(155, 48, 174, .04) 50%, rgba(15, 16, 18, .8) 100%);
	border: 1px solid rgba(155, 48, 174, .22);
	border-radius: 24px;
	padding: 56px 64px;
	position: relative;
	overflow: hidden;
}
.fg-doc-finalcta__box::before {
	content: ""; position: absolute; inset: 0;
	background: radial-gradient(circle at 85% 50%, rgba(155, 48, 174, .14) 0%, transparent 60%);
	pointer-events: none;
}
.fg-doc-finalcta__text { position: relative; max-width: 720px; }
body.lp .fg-doc-finalcta__title {
	font-size: 32px; font-weight: 600 !important; line-height: 1.2;
	color: #fff !important; margin: 0 0 16px;
}
.fg-doc-finalcta__desc {
	font-size: 17px; line-height: 1.55;
	color: rgba(255, 255, 255, .72);
	margin: 0 0 24px;
}
.fg-doc-finalcta__list {
	list-style: none; padding: 0; margin: 0 0 32px;
	display: flex; flex-direction: column; gap: 12px;
}
.fg-doc-finalcta__list li {
	display: flex; align-items: center; gap: 12px;
	color: rgba(255, 255, 255, .85); font-size: 15px;
}
.fg-doc-finalcta__list svg { width: 20px; height: 20px; color: #d89cf0; flex-shrink: 0; }

.fg-doc-finalcta__btn {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 16px 28px;
	background: #9B30AE;
	border: 0;
	border-radius: 12px;
	color: #fff;
	font-family: inherit;
	font-size: 16px; font-weight: 600;
	cursor: pointer;
	transition: background .2s, transform .1s, box-shadow .2s;
}
.fg-doc-finalcta__btn:hover { background: #b03ec5; box-shadow: 0 10px 28px rgba(155, 48, 174, .42); }
.fg-doc-finalcta__btn:active { transform: scale(.98); }
.fg-doc-finalcta__btn svg { width: 18px; height: 18px; }

/* hr30__container override снят: ширина наследует --hr-page-width=1260 */

/* ====================================================================
   Читаемость в визуальном редакторе Bitrix (LHE, совмещённый режим).
   В iframe редактора у <body> НЕТ класса .lp, поэтому цвета текста
   (заданы под body.lp) не применяются → текст тёмный, а фон темы
   (html/body #1a1d26 выше) остаётся → чёрный текст на чёрном фоне.
   Осветляем фон + затемняем текст ТОЛЬКО при отсутствии .lp.
   На проде <body class="lp"> → правила игнорируются, вид не меняется.
   styles.css грузится LHE прямо в iframe → фикс работает в редакторе. ==== */
html:not(:has(body.lp)) { background: #ffffff !important; }
body:not(.lp) {
	background: #ffffff !important;
	color: #1a1a1a !important;
}
/* Весь текст контента → тёмный (часть заголовков/.fg-lead--white покрашены
   color:#fff !important без body.lp-префикса — на белом фоне были невидимы).
   Широкий охват: иконки (svg/path) исключаем, чтобы не залить их сплошняком. */
body:not(.lp) *:not(svg):not(path):not(.fg-knowledge-icon) {
	color: #1a1a1a !important;
}
/* тёмные плашки → светлая подложка, чтобы карточки читались как карточки */
body:not(.lp) .fg-loyalty,
body:not(.lp) .fg-benefit,
body:not(.lp) .fg-cat,
body:not(.lp) .fg-step,
body:not(.lp) .fg-calc { background: #f1f1f4 !important; }
