@font-face {
    font-family: 'Soyuz Grotesk';
    src: url('fonts/SoyuzGrotesk-Bold.woff2') format('woff2'),
        url('fonts/SoyuzGrotesk-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

* {
		box-sizing: border-box;
		margin: 0;
		padding: 0;
	}

	body {
		font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
		color: #2E2E2E;
		background-color: #fff;
		/* Отступ для демонстрации */
	}

	a {
		text-decoration: none;
		color: inherit;
		display: inline-block;
	}

	button {
		border: none;
		background: none;
		cursor: pointer;
		font-family: inherit;
	}

	ul {
		list-style: none;
	}

	.wrapper {
		max-width: 1240px;
		/* Чуть шире для воздуха */
		margin: 0 auto;
		padding: 0 20px;
		width: 100%;
	}

	/* --- VARIABLES --- */
	:root {
    /* Colors */
    --c-black: #2E2E2E;
    --c-dark-blue: #133557;
    --c-light-blue: #87A6C4;
    --c-white: #FFFFFF;
    --c-grey-bg: #F6F7F5;
    --c-grey-dots: #E5E5E5;
    --c-logo-big: #93A7BE;
    --c-grey-text: #B0B0B0;
    --c-input-bg: #F5F5F7;
    --c-light-blue-bg: #93A7BE;
    --c-text-grey: #555555;
    --c-input-fill: #93A7BE;
    --c-grey-card: #F5F5F7;
    --c-btn-bg: #8FA9C2;

    /* Typography */
    --font-display: 'Soyuz Grotesk';
    --font-main: 'Inter', sans-serif;
    
    /* Font Sizes */
    --fz-h2: clamp(32px, 5vw, 64px); /* Последнее актуальное значение */
    --fz-marquee: clamp(24px, 4vw, 42px);
    --fz-card: clamp(24px, 3vw, 40px);
    --fz-cat-title: clamp(20px, 2.5vw, 32px);
    --fz-card-title: clamp(24px, 5vw, 40px);
    --fz-num: clamp(24px, 5vw, 40px);
    --fz-text: clamp(16px, 3vw, 20px);
    --fz-btn: clamp(18px, 4vw, 30px);
    --fz-client-name: clamp(18px, 4vw, 26px);
    --fz-client-desc: clamp(16px, 3.5vw, 22px);
    --fz-name: clamp(18px, 4vw, 26px);
    --fz-role: 16px;
    --fz-review: clamp(16px, 3.5vw, 22px);
    --fz-subtitle: clamp(24px, 5vw, 56px);
    --fz-link: 18px;
    --fz-small: 14px;
    --title-size: clamp(32px, 5vw, 80px);
    --subtitle-size: clamp(20px, 3.5vw, 56px);

    /* Spacing & Sizes */
    --h-marquee: 72px;
    --h-marquee-mob: 50px;
    --btn-height: 70px;

    /* Border Radii */
    --radius-pill: 12px;
    --radius-btn: 12px; /* Из предпоследнего блока, приоритетнее ранних 8px/16px */
    --radius-card: 30px;
    --radius-input: 12px;
    --radius-block: 40px;
    --radius-logo: 20px;
    --radius-map: 20px;
    --radius-main: 32px;

    /* Animations */
    --anim-fast: 0.2s ease;
    --anim-med: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

	.header_new {
		width: 100%;
		background-color: var(--c-white);
		position: relative;
		z-index: 100;
		padding-top: 40px;
	}

	/* --- GRID LAYOUT (The Fix for Centering) --- */
	.header_new__grid {
		display: grid;
		/* 1fr (Лого + воздух) | auto (Центр) | 1fr (Кнопка + воздух) 
			   Это гарантирует строгий центр для средней колонки
			*/
		grid-template-columns: 1fr auto 1fr;
		align-items: end;
		/* Выравнивание по нижней линии (меню и кнопка) */
		padding-bottom: 24px;
		gap: 20px;
	}

	/* Левая колонка: Логотип */
	.header_new__col-left {
		display: flex;
		align-items: center;
		/* Логотип по центру высоты блока */
		/* Или start, если лого большое */
	}

	/* Центральная колонка: Контакты + Меню */
	.header_new__col-center {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 16px;
	}

	/* Правая колонка: Кнопка */
	.header_new__col-right {
		display: flex;
		justify-content: flex-end;
		/* Прибиваем вправо */
		align-items: center;
		padding-bottom: 2px;
		/* Микро-коррекция под меню */
	}

	/* --- COMPONENTS --- */

	/* Логотип */
	.header_new__logo {
		display: block;
		width: 140px;
	}

	.header_new__logo svg {
		display: block;
		width: 100%;
		height: auto;
	}

	/* Контакты */
	.header_new__contacts {
		display: flex;
		gap: 40px;
		font-size: 15px;
		font-weight: 500;
		color: var(--c-black);
		white-space: nowrap;
		width: 100%;
		justify-content: space-between;
	}

	.header_new__phone {
		transition: color var(--anim-fast);
	}

	.header_new__phone:hover {
		color: var(--c-dark-blue);
	}

	/* Меню (Плашка) */
	.header_new__nav-list {
		display: flex;
		align-items: center;
		background-color: var(--c-grey-bg);
		border-radius: var(--radius-pill);
		padding: 4px;
		/* Внутренний отступ для "островка" */
		position: relative;
	}

	.header_new__nav-item {
		position: relative;
	}

	.header_new__nav-link {
		padding: 10px 20px;
		font-size: var(--font-main);
		font-weight: 500;
		color: var(--c-black);
		border-radius: 8px;
		/* Скругление внутри плашки */
		transition: all var(--anim-fast);
	}

	/* Hover эффект для меню */
	.header_new__nav-link:hover {
		background-color: var(--c-white);
		color: var(--c-dark-blue);
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	}

	/* Акцент на "Каталог" */
	.header_new__nav-link--catalog {
		color: var(--c-dark-blue);
		border: 1px solid rgba(19, 53, 87, 0.2);
		/* Полупрозрачный темно-синий */
		margin-right: 4px;
	}

	.header_new__nav-link--catalog:hover {
		border-color: var(--c-dark-blue);
		background-color: var(--c-dark-blue);
		color: var(--c-white);
	}

	/* Кнопка заявки */
	.header_new__btn {
		background-color: var(--c-dark-blue);
		color: var(--c-white);
		padding: 14px 28px;
		border-radius: var(--radius-btn);
		font-size: var(--font-main);
		font-weight: 600;
		transition: opacity var(--anim-fast), transform var(--anim-fast);
		white-space: nowrap;
	}

	.header_new__btn:hover {
		opacity: 0.95;
		transform: translateY(-1px);
	}

	/* Поиск */
	.header_new__search-wrapper {
		margin-bottom: 20px;
	}

	.header_new__search-form {
		position: relative;
		width: 100%;
	}

	.header_new__search-input {
		width: 100%;
		background-color: var(--c-grey-bg);
		border: 1px solid transparent;
		padding: 16px 24px;
		padding-right: 60px;
		border-radius: var(--radius-btn);
		font-size: var(--font-main);
		color: var(--c-black);
		outline: none;
		transition: all var(--anim-fast);
		box-sizing: border-box;
	}

	.header_new__search-input:focus {
		background-color: var(--c-white);
		border-color: var(--c-light-blue);
		box-shadow: 0 0 0 4px rgba(135, 166, 196, 0.15);
	}

	.header_new__search-input::placeholder {
		color: var(--c-light-blue);
		font-weight: 500;
	}

	.header_new__search-btn {
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
		color: var(--c-light-blue);
		transition: color var(--anim-fast);
	}

	.header_new__search-btn:hover {
		color: var(--c-dark-blue);
	}

	/* --- MOBILE MENU ELEMENTS --- */
	.header_new__burger {
		display: none;
		/* Скрыт на десктопе */
		width: 32px;
		height: 32px;
		position: relative;
		z-index: 200;
		color: var(--c-black);
	}

	/* Рисуем бургер SVG или span-ами */
	.burger-icon {
		width: 24px;
		height: 2px;
		background-color: currentColor;
		position: absolute;
		left: 4px;
		top: 50%;
		transition: all var(--anim-med);
	}

	.burger-icon::before,
	.burger-icon::after {
		content: '';
		position: absolute;
		width: 24px;
		height: 2px;
		background-color: currentColor;
		transition: all var(--anim-med);
	}

	.burger-icon::before {
		transform: translateY(-8px);
	}

	.burger-icon::after {
		transform: translateY(8px);
	}

	/* Анимация крестика */
	.header_new__burger.active .burger-icon {
		background-color: transparent;
	}

	.header_new__burger.active .burger-icon::before {
		transform: rotate(45deg);
	}

	.header_new__burger.active .burger-icon::after {
		transform: rotate(-45deg);
	}

	/* Мобильное меню (Контейнер) */
	.header_new__mobile-menu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-color: rgba(255, 255, 255, 0.95);
		backdrop-filter: blur(10px);
		z-index: 150;

		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 40px;

		/* Скрыто по умолчанию */
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: all var(--anim-med);
		transform: translateY(-20px);
	}

	.header_new__mobile-menu.active {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	.header_new__mobile-nav {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 24px;
	}

	.header_new__mobile-link {
		font-size: 32px;
		/* Крупная типографика */
		font-weight: 600;
		color: var(--c-black);
		transition: color var(--anim-fast);
	}

	.header_new__mobile-link:hover {
		color: var(--c-light-blue);
	}

	.header_new__mobile-contacts {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 12px;
		margin-top: 20px;
		font-size: 18px;
		color: var(--c-text-secondary);
	}

	.header_new__mobile-btn {
		margin-top: 20px;
		width: 80%;
		max-width: 300px;
		text-align: center;
	}

	/* --- MEDIA QUERIES --- */

	/* Планшет: Перестраиваемся */
	@media (max-width: 1100px) {
		.header_new__grid {
			grid-template-columns: 1fr auto;
			grid-template-rows: auto auto;
			gap: 15px;
			padding-bottom: 0;
		}

		/* Логотип слева */
		.header_new__col-left {
			grid-column: 1 / 2;
			grid-row: 1 / 2;
		}

		/* Бургер справа */
		.header_new__burger {
			display: block;
			grid-column: 2 / 3;
			grid-row: 1 / 2;
			justify-self: end;
		}

		/* Скрываем десктопные колонки */
		.header_new__col-center,
		.header_new__col-right {
			display: none;
		}

		/* Поиск переезжает на вторую строку */
		.header_new__search-wrapper {
			margin-top: 10px;
		}
	}

    .font-soyuz {
		font-family: var(--font-display);
		font-weight: 900;
		line-height: 0.85;
	}
	
	.nemma-slider-instance {
		width: 100%;
		aspect-ratio: 16 / 9;
		max-height: 600px;
		min-height: 400px;
		border-radius: var(--radius-main);
		background-color: var(--c-grey-bg);
		overflow: hidden;
		/* Фикс для Safari */
		transform: translateZ(0);
		isolation: isolate;
	}

	/* Стилизуем слайды только внутри нашего инстанса */
	.nemma-slider-instance .swiper-slide {
		position: relative;
		width: 100%;
		height: 100%;
	}

	.nemma-slider__image {
		width: 100%;
		object-fit: contain;
		display: block;
	}

	/* --- TEXT & BOX STYLES --- */

	.nemma-slider__content {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		z-index: 10;
	}

	/* --- БЕЛАЯ ПЛАШКА (TITLE BOX) --- */
	.nemma-slider__title-box {
		position: absolute;
		background-color: var(--c-white);
		padding: 30px 40px;
		color: var(--c-black);
		pointer-events: auto;

		display: inline-flex;
		align-items: center;
		gap: 20px;

		font-size: var(--title-size);
		text-transform: lowercase;
		z-index: 10;
	}

	.nemma-slider__arrow {
		color: var(--c-light-blue);
		width: 0.6em;
		height: 0.6em;
		stroke-width: 3;
		transform: translateY(0.05em);
	}

	/* === ТИП 1: Плашка СЛЕВА СВЕРХУ === */
	.nemma-slider__slide--type-1 .nemma-slider__title-box {
		top: 0;
		left: 0;
		border-bottom-right-radius: var(--radius-main);
		border-top-left-radius: 0;
		max-width: 50%;
	}

	.nemma-slider__slide--type-1 .nemma-slider__title-box::before,
	.nemma-slider__slide--type-1 .nemma-slider__title-box::after {
		content: '';
		position: absolute;
		width: var(--radius-main);
		height: var(--radius-main);
		background: transparent;
		z-index: 5;
		pointer-events: none;
	}

	/* Скругление по правой грани (вверх) */
	.nemma-slider__slide--type-1 .nemma-slider__title-box::before {
		top: 0;
		right: calc(var(--radius-main) * -1);
		background: radial-gradient(circle at bottom right, transparent 70%, var(--c-white) 70.5%);
		background: radial-gradient(circle at 100% 100%, transparent calc(var(--radius-main) - 1px), var(--c-white) var(--radius-main));
	}

	/* Скругление по нижней грани (влево) */
	.nemma-slider__slide--type-1 .nemma-slider__title-box::after {
		bottom: calc(var(--radius-main) * -1);
		left: 0;
		background: radial-gradient(circle at 100% 100%, transparent calc(var(--radius-main) - 1px), var(--c-white) var(--radius-main));
	}

	/* === ТИП 2: Плашка СПРАВА СНИЗУ === */
	.nemma-slider__slide--type-2 .nemma-slider__title-box {
		bottom: 0;
		right: 0;
		text-transform: uppercase;
		border-top-left-radius: var(--radius-main);
	}

	.nemma-slider__slide--type-2 .nemma-slider__title-box::before,
	.nemma-slider__slide--type-2 .nemma-slider__title-box::after {
		content: '';
		position: absolute;
		width: var(--radius-main);
		height: var(--radius-main);
		background: transparent;
		z-index: 5;
		pointer-events: none;
	}

	.nemma-slider__slide--type-2 .nemma-slider__title-box::before {
		top: calc(var(--radius-main) * -1);
		right: 0;
		background: radial-gradient(circle at 0% 0%, transparent calc(var(--radius-main) - 1px), var(--c-white) var(--radius-main));
	}

	.nemma-slider__slide--type-2 .nemma-slider__title-box::after {
		bottom: 0;
		left: calc(var(--radius-main) * -1);
		background: radial-gradient(circle at 0% 0%, transparent calc(var(--radius-main) - 1px), var(--c-white) var(--radius-main));
	}

	/* --- SUBTITLE --- */
	.nemma-slider__subtitle {
		position: absolute;
		font-size: var(--subtitle-size);
		color: var(--c-white);
		max-width: 60%;
		z-index: 10;
	}

	.nemma-slider__subtitle--dark {
		/* color: var(--c-black); */
	}

	.nemma-slider__slide--type-1 .nemma-slider__subtitle {
		bottom: 40px;
		right: 40px;
		text-align: right;
	}

	.nemma-slider__slide--type-2 .nemma-slider__subtitle {
		top: 40px;
		left: 40px;
		text-align: left;
	}

picture {
    display: block;
    width: 100%;
    height: 100%;
}

/* 2. Адаптив для мобильных устройств (ширина до 767px включительно) */
@media (max-width: 767px) {
    .nemma-slider-instance {
        /* Меняем пропорцию на квадратную */
        aspect-ratio: 1 / 1 !important; 
        /* Отключаем минимальную высоту, которая вытягивала блок */
        min-height: auto; 
        /* Опционально: можно снять и max-height, чтобы квадрат всегда был ровным по ширине экрана */
        max-height: none; 
    }
}

.lemma-callback__honey, 
.lemma-cta__honey, 
.footer-cta__honey {
    position: absolute;
    opacity: 0;
    top: 0;
    left: -9999px;
    height: 0;
    width: 0;
    z-index: -1;
}

	/* --- NEMMA PAGINATION (Scoped) --- */
	.nemma-pagination {
		position: absolute;
		bottom: -40px !important;
		/* Выносим под слайдер */
		right: 20px !important;
		left: auto !important;
		width: auto !important;
		display: flex;
		gap: 12px;
		z-index: 10;
	}

	/* Таргетируем буллет только внутри нашей пагинации */
	.nemma-pagination .swiper-pagination-bullet {
		width: 12px;
		height: 12px;
		background: var(--c-grey-dots);
		opacity: 1;
		margin: 0 !important;
		transition: all 0.3s;
		border-radius: 50%;
	}

	.nemma-pagination .swiper-pagination-bullet-active {
		background: var(--c-light-blue);
		width: 32px;
		border-radius: 6px;
	}

	/* --- MOBILE ADAPTIVE --- */
	@media (max-width: 768px) {
		.nemma-slider-instance {
			aspect-ratio: 1 / 1.3;
			border-radius: 20px;
		}

		:root {
			--radius-main: 20px;
		}

		.nemma-slider__title-box {
			padding: 20px;
			width: auto;
			max-width: 85%;
		}

		.nemma-slider__slide--type-1 .nemma-slider__title-box {
			max-width: 100%;
		}

		.nemma-slider__slide--type-1 .nemma-slider__subtitle {
			bottom: 80px;
			right: 20px;
		}

		.nemma-slider__slide--type-2 .nemma-slider__subtitle {
			top: 20px;
			left: 20px;
		}

		/* На мобилке пагинация по центру */
		.nemma-pagination {
			right: 50% !important;
			transform: translateX(50%);
			bottom: -30px !important;
		}
	}

    .lemma-promo {
		width: 100%;
		position: relative;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		margin-top: clamp(110px, 2vw, 160px);
		margin-bottom: clamp(70px, 2vw, 140px);
	}

	/* --- MARQUEE ELEMENT --- */
	.lemma-promo__marquee {
		width: 100%;
		height: var(--h-marquee);
		background-color: var(--c-light-blue);
		color: var(--c-white);
		display: flex;
		align-items: center;
		overflow: hidden;
		user-select: none;
		position: relative;
		z-index: 2;
	}

	.lemma-promo__marquee-track {
		display: flex;
		align-items: center;
		white-space: nowrap;
		animation: scroll 20s linear infinite;
		will-change: transform;
	}

	.lemma-promo__marquee-content {
		display: flex;
		align-items: center;
		gap: 20px;
		padding-right: 20px;
		font-size: var(--fz-marquee);
		font-weight: 700;
		text-transform: lowercase;
	}

	.lemma-promo__marquee-icon {
		height: 0.8em;
		width: auto;
		fill: var(--c-black);
		color: #133557;
	}

	@keyframes scroll {
		0% {
			transform: translateX(0);
		}

		100% {
			transform: translateX(-100%);
		}
	}

	/* --- VISUAL ELEMENT --- */
	.lemma-promo__visual {
		position: relative;
		width: 100%;
		height: 600px;
		overflow: hidden;
	}

	.lemma-promo__image {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
		filter: brightness(0.85);
		/* Чуть светлее, чем было */
	}

	.lemma-promo__overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: flex;
		/* Смещаем контент вниз */
		align-items: flex-end;
		justify-content: center;
		text-align: center;
		z-index: 1;
		/* Отступ снизу, чтобы текст не прилипал к марку, адаптивный */
		padding-bottom: clamp(60px, 10vw, 120px);
	}

	.lemma-promo__title {
		font-size: var(--fz-h2);
		color: var(--c-white);
		max-width: 90%;
		width: 1200px;
		margin: 0;
		text-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
		/* Легкая тень для читаемости */
	}

	/* --- MOBILE ADAPTIVE --- */
	@media (max-width: 768px) {
		:root {
			--h-marquee: 50px;
		}

		.lemma-promo__visual {
			height: 400px;
			/* На мобильном блок ниже */
		}

		.lemma-promo__marquee-track {
			animation-duration: 15s;
		}

		/* На мобилке можно чуть поднять текст выше, если нужно */
		.lemma-promo__overlay {
			padding-bottom: 50px;
		}
	}

    .lemma-top-cat {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 40px;
		padding-top: clamp(40px, 10vw, 100px);
		padding-bottom: clamp(40px, 10vw, 100px);
	}

	/* Заголовок секции */
	.lemma-top-cat__header {
		text-align: right;
		/* Выравнивание по правому краю */
		width: 100%;
	}

	.lemma-top-cat__title {
		font-size: var(--fz-h2);
		color: var(--c-black);
		margin: 0;
	}

	/* Сетка карточек */
	.lemma-top-cat__grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
		width: 100%;
	}

	/* Карточка */
	.lemma-top-cat__card {
		position: relative;
		border-radius: var(--radius-card);
		overflow: hidden;
		/* Высота карточки, можно регулировать или делать aspect-ratio */
		aspect-ratio: 3/5;
		min-height: 400px;
		text-decoration: none;
		cursor: pointer;
		transition: transform 0.3s ease;
	}

	.lemma-top-cat__card:hover {
		transform: translateY(-5px);
	}

	/* Картинка карточки */
	.lemma-top-cat__image {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
		transition: transform 0.5s ease;
	}

	.lemma-top-cat__card:hover .lemma-top-cat__image {
		transform: scale(1.05);
	}

	/* Затемнение снизу для читаемости текста */
	.lemma-top-cat__overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, 0.6) 100%);
		z-index: 1;
	}

	/* Текст внутри карточки */
	.lemma-top-cat__card-title {
		position: absolute;
		bottom: 30px;
		left: 30px;
		right: 30px;
		z-index: 2;

		font-family: var(--font-main);
		/* Inter */
		font-size: var(--fz-card);
		font-weight: 700;
		line-height: 1.1;
		color: var(--c-white);
		letter-spacing: -0.02em;
	}

	/* Стрелка в тексте */
	.lemma-top-cat__arrow {
		display: inline-block;
		vertical-align: middle;
		margin-left: 8px;
		font-weight: 400;
		/* Стрелка чуть тоньше текста */
		transition: transform 0.3s ease;
	}

	.lemma-top-cat__card:hover .lemma-top-cat__arrow {
		transform: translateX(5px);
	}

	/* --- MOBILE ADAPTIVE --- */
	@media (max-width: 992px) {
		.lemma-top-cat__grid {
			grid-template-columns: repeat(2, 1fr);
			/* 2 колонки на планшете */
		}
	}

	@media (max-width: 768px) {
		.lemma-top-cat__grid {
			grid-template-columns: 1fr;
			/* 1 колонка на мобильном */
		}

		.lemma-top-cat__card {
			aspect-ratio: 4/5;
			/* Чуть ниже на мобильном */
			min-height: 300px;
		}

		.lemma-top-cat__card-title {
			bottom: 20px;
			left: 20px;
			right: 20px;
		}
	}

    .lemma-cat-list {
		display: flex;
		flex-direction: column;
		gap: 40px;
		padding-top: clamp(40px, 6vw, 80px);
		padding-bottom: clamp(40px, 6vw, 80px);
	}

	/* Заголовок секции */
	.lemma-cat-list__title {
		font-size: var(--fz-h2);
		color: var(--c-black);
		margin: 0;
		text-align: left;
		/* Или right, если нужно как в прошлом блоке */
	}

	/* Сетка BENTO GRID */
	.lemma-cat-list__grid {
		display: grid;
		/* 3 колонки на десктопе */
		grid-template-columns: repeat(3, 1fr);
		/* Автоматические ряды высотой минимум 280px */
		grid-auto-rows: minmax(280px, auto);
		gap: 20px;
		grid-auto-flow: dense;
		/* Магия для заполнения пустот */
	}

	/* Карточка категории */
	.lemma-cat-list__item {
		position: relative;
		border-radius: var(--radius-card);
		overflow: hidden;
		text-decoration: none;
		display: flex;
		flex-direction: column;
		background-color: #f0f0f0;
		/* Цвет пока грузится картинка */
		transition: transform 0.3s ease;
	}

	.lemma-cat-list__item:hover {
		transform: scale(0.98);
	}

	/* Изображение */
	.lemma-cat-list__image {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.5s ease;
	}

	.lemma-cat-list__item:hover .lemma-cat-list__image {
		transform: scale(1.05);
	}

	/* Затемнение (Градиент сверху, так как текст сверху) */
	.lemma-cat-list__overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		/* Градиент сверху-слева потемнее, чтобы белый текст читался */
		background: linear-gradient(135deg, rgba(0, 0, 0, 0.6) 0%, transparent 60%);
		z-index: 1;
	}

	/* Заголовок внутри карточки */
	.lemma-cat-list__name {
		position: relative;
		z-index: 2;
		color: var(--c-white);
		font-family: var(--font-main);
		font-size: var(--fz-cat-title);
		font-weight: 700;
		line-height: 1.1;
		padding: 30px;
		/* Отступ сверху-слева */
	}

	@media (min-width: 992px) {
		/* Широкие элементы (span 2 cols) */
		.lemma-cat-list__item:nth-child(2),
		/* Рабочая */
		.lemma-cat-list__item:nth-child(8)

		/* Утепленная */
			{
			grid-column: span 2;
		}

		/* Высокие элементы (span 2 rows) */
		.lemma-cat-list__item:nth-child(4),
		/* Охрана */
		.lemma-cat-list__item:nth-child(7)

		/* Отряды */
			{
			grid-row: span 2;
		}

		/* Можно добавить правило повтора (cycle), если элементов будет больше 8:
			   :nth-child(8n + 2) { grid-column: span 2; } и т.д.
			*/
	}

	/* --- MOBILE ADAPTIVE --- */
	@media (max-width: 992px) {
		.lemma-cat-list__grid {
			grid-template-columns: repeat(2, 1fr);
			/* 2 колонки на планшете */
			grid-auto-rows: minmax(220px, auto);
		}

		/* Сбрасываем сложные спаны для планшета или упрощаем */
		.lemma-cat-list__item:nth-child(n) {
			grid-column: span 1;
			grid-row: span 1;
		}

		/* Делаем каждую третью широкой для интереса */
		.lemma-cat-list__item:nth-child(3n) {
			grid-column: span 2;
		}
	}

	@media (max-width: 576px) {
		.lemma-cat-list__grid {
			grid-template-columns: 1fr;
			/* 1 колонка на телефоне */
			grid-auto-rows: minmax(200px, auto);
		}

		.lemma-cat-list__item:nth-child(n) {
			grid-column: span 1 !important;
			grid-row: span 1 !important;
		}

		.lemma-cat-list__name {
			padding: 20px;
		}
	}

    .lemma-callback {
		width: 100%;
		background-color: var(--c-dark-blue);
		background-image:
			linear-gradient(135deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%),
			linear-gradient(225deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%),
			linear-gradient(45deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%),
			linear-gradient(315deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%);
		background-position: 40px 0, 40px 0, 0 0, 0 0;
		background-size: 80px 80px;
		background-repeat: repeat;

		/* Убрали border-radius, так как блок теперь на всю ширину */
		border-radius: 0;
		overflow: hidden;
		position: relative;
		color: var(--c-white);

		/* Добавим вертикальные отступы внутри самой секции */
		padding: 60px 0;
	}

	.lemma-callback__container {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 400px;
		gap: 60px;
	}

	/* Левая часть: Заголовок */
	.lemma-callback__title {
		font-size: var(--fz-h2);
		margin: 0;
		flex: 1;
		/* Небольшая тень для объема на фоне паттерна */
		text-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
	}

	/* Правая часть: Форма */
	.lemma-callback__form-wrapper {
		flex: 0 0 500px;
		/* Фиксированная ширина формы */
		max-width: 100%;
		position: relative;
	}

	.lemma-callback__form {
		display: flex;
		flex-direction: column;
		gap: 16px;
		transition: opacity 0.3s ease, transform 0.3s ease;
	}

	/* Inputs */
	.lemma-callback__input {
		width: 100%;
		background-color: var(--c-white);
		border: none;
		border-radius: var(--radius-input);
		padding: 20px 24px;
		font-family: var(--font-main);
		font-size: 16px;
		color: var(--c-black);
        box-sizing: border-box;
	}

	.lemma-callback__input::placeholder {
		color: #9CA3AF;
	}

	/* Honeypot field (hidden) */
	.lemma-callback__honey {
		position: absolute;
		left: -9999px;
		opacity: 0;
		z-index: -1;
		height: 0;
		width: 0;
	}

	/* Button */
	.lemma-callback__btn {
		width: 100%;
		background-color: var(--c-btn-bg);
		color: var(--c-white);
		border: none;
		border-radius: var(--radius-btn);
		padding: 20px 24px;
		font-family: var(--font-main);
		font-size: 18px;
		font-weight: 500;
		cursor: pointer;
		transition: background-color 0.2s, transform 0.1s;
		display: flex;
		align-items: center;
		justify-content: space-between;
		/* Текст слева, иконка справа */
	}

	.lemma-callback__btn:hover {
		background-color: #7A95B0;
	}

	.lemma-callback__btn:active {
		transform: scale(0.99);
	}

	.lemma-callback__btn-icon {
		width: 24px;
		height: 24px;
		stroke-width: 2;
	}

	/* Checkbox / Agreement */
	.lemma-callback__agreement {
		display: flex;
		align-items: flex-start;
		gap: 10px;
		margin-top: 8px;
		font-size: 13px;
		line-height: 1.4;
		color: rgba(255, 255, 255, 0.8);
	}

	.lemma-callback__checkbox {
		appearance: none;
		min-width: 18px;
		height: 18px;
		border: 1px solid rgba(255, 255, 255, 0.6);
		border-radius: 50%;
		/* Круглый чекбокс как на макете */
		cursor: pointer;
		position: relative;
		margin-top: 2px;
	}

	.lemma-callback__checkbox:checked {
		background-color: var(--c-white);
		border-color: var(--c-white);
	}

	.lemma-callback__checkbox:checked::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 8px;
		height: 8px;
		background-color: var(--c-dark-blue);
		border-radius: 50%;
		transform: translate(-50%, -50%);
	}

	.lemma-callback__link {
		color: inherit;
		text-decoration: underline;
		text-decoration-skip-ink: none;
	}

	.lemma-callback__link:hover {
		color: var(--c-white);
	}

	/* --- SUCCESS STATE (Hidden by default) --- */
	.lemma-callback__success {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		background: rgba(255, 255, 255, 0.1);
		backdrop-filter: blur(10px);
		/* Эффект матового стекла */
		border-radius: 20px;
		opacity: 0;
		visibility: hidden;
		transform: scale(0.95);
		transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		pointer-events: none;
	}

	/* Класс для активации успеха */
	.lemma-callback__form-wrapper.is-success .lemma-callback__form {
		opacity: 0;
		transform: scale(0.95);
		pointer-events: none;
	}

	.lemma-callback__form-wrapper.is-success .lemma-callback__success {
		opacity: 1;
		visibility: visible;
		transform: scale(1);
		pointer-events: auto;
	}

	.lemma-callback__success-icon {
		width: 64px;
		height: 64px;
		background-color: var(--c-white);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 20px;
		color: var(--c-dark-blue);
	}

	.lemma-callback__success-title {
		font-size: 24px;
		font-weight: 700;
		margin-bottom: 8px;
	}

	.lemma-callback__success-text {
		font-size: 16px;
		opacity: 0.9;
	}

	/* --- MOBILE ADAPTIVE --- */
	@media (max-width: 992px) {
		.lemma-callback__container {
			flex-direction: column;
			align-items: flex-start;
			gap: 40px;
			/* Возвращаем немного отступов для мобилки, если нужно, или полагаемся на wrapper */
		}

		.lemma-callback__title {
			width: 100%;
			text-align: left;
		}

		.lemma-callback__form-wrapper {
			width: 100%;
			flex: auto;
		}
	}

	@media (max-width: 576px) {
		.lemma-callback__title {
			font-size: 36px;
			/* Еще меньше для телефонов */
		}
	}

    .lemma-possible {
		width: 100%;
		padding-top: 60px;
		padding-bottom: 0;
		/* Убираем нижний отступ, чтобы блоки шли до конца */
		background-color: #fff;
		padding-top: clamp(60px, 6vw, 120px);
	}

	.lemma-possible__header {
		margin-bottom: 40px;
	}

	.lemma-possible__title {
		font-size: var(--fz-h2);
		color: var(--c-black);
		margin: 0;
		line-height: 1;
	}

	.lemma-possible__list {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	/* --- CARD STYLES --- */

	.lemma-possible__card {
		width: 100%;
		/* От края до края */
		/* Скругляем только верх, низ перекрывается или прямой */
		border-radius: var(--radius-block) var(--radius-block) 0 0;
		padding: 80px 0 100px;
		/* Отступы внутри карточки */
		position: relative;
		/* Перекрытие: поднимаем блок вверх на величину радиуса */
		margin-top: calc(var(--radius-block) * -1);
		box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.03);
		/* Легкая тень для разделения */
	}

	/* Z-index чтобы нижние блоки перекрывали верхние */
	.lemma-possible__card:nth-child(1) {
		z-index: 1;
		margin-top: 0;
	}

	.lemma-possible__card:nth-child(2) {
		z-index: 2;
	}

	.lemma-possible__card:nth-child(3) {
		z-index: 3;
		padding-bottom: 120px;
		border-radius: var(--radius-block) var(--radius-block) 0 0;
	}

	/* Внутренний контейнер для контента (.wrapper) */
	.lemma-possible__wrapper {
		max-width: 1240px;
		width: 100%;
		padding: 0 20px;
		margin: 0 auto;

		display: grid;
		grid-template-columns: 80px 1fr;
		gap: 40px;
	}

	/* Номер [01] */
	.lemma-possible__num {
		font-family: var(--font-main);
		font-size: var(--fz-num);
		/* 40px clamp */
		font-weight: 500;
		opacity: 0.8;
		line-height: 1;
	}

	/* Контентная часть */
	.lemma-possible__content {
		display: flex;
		flex-direction: column;
		gap: 30px;
		max-width: 900px;
	}

	.lemma-possible__card-title {
		font-family: var(--font-main);
		font-size: var(--fz-card-title);
		font-weight: 700;
		line-height: 1.1;
		margin: 0;
	}

	.lemma-possible__card-text {
		font-family: var(--font-main);
		font-size: var(--fz-text);
		/* 30px clamp */
		line-height: 1.4;
		max-width: 700px;
		opacity: 0.9;
	}

	/* Кнопка внутри карточки */
	.lemma-possible__btn {
		display: inline-flex;
		align-items: center;
		justify-content: space-between;
		padding: 20px 40px;
		border-radius: 16px;
		font-weight: 500;
		font-size: var(--fz-btn);
		/* 30px clamp */
		text-decoration: none;
		margin-top: 10px;
		transition: opacity 0.3s;
		width: 100%;
		max-width: 600px;
		/* Кнопка пошире для крупного текста */
	}

	.lemma-possible__btn:hover {
		opacity: 0.9;
	}

	.lemma-possible__btn-icon {
		width: 1.2em;
		height: 1.2em;
		margin-left: 20px;
	}

	/* --- COLORS VARIANTS --- */

	/* 1. White/Grey Card */
	.lemma-possible__card--white {
		background-color: var(--c-grey-card);
		color: var(--c-black);
	}

	.lemma-possible__card--white .lemma-possible__btn {
		background-color: var(--c-light-blue);
		color: var(--c-white);
	}

	/* 2. Light Blue Card */
	.lemma-possible__card--light-blue {
		background-color: var(--c-light-blue);
		color: var(--c-white);
	}

	.lemma-possible__card--light-blue .lemma-possible__btn {
		background-color: var(--c-grey-card);
		color: var(--c-black);
	}

	/* 3. Dark Blue Card */
	.lemma-possible__card--dark-blue {
		background-color: var(--c-dark-blue);
		color: var(--c-white);
	}

	.lemma-possible__card--dark-blue .lemma-possible__btn {
		background-color: rgba(255, 255, 255, 0.15);
		color: var(--c-white);
		backdrop-filter: blur(10px);
	}

	/* --- MOBILE ADAPTIVE --- */
	@media (max-width: 992px) {
		.lemma-possible__card {
			padding: 60px 0;
		}

		.lemma-possible__wrapper {
			grid-template-columns: 1fr;
			gap: 20px;
		}

		.lemma-possible__num {
			margin-bottom: 10px;
		}

		.lemma-possible__btn {
			width: 100%;
			max-width: none;
			padding: 16px 24px;
		}
	}

    .lemma-cta {
		width: 100%;
		background-color: var(--c-grey-bg);
		padding: 80px 0;
		position: relative;
		overflow: hidden;
	}

	.lemma-cta__container {
		display: flex;
		/* Центруем вертикально */
		justify-content: space-between;
		gap: 60px;
	}

	.lemma-cta__text-side {
		flex: 1;
		display: flex;
		justify-content: flex-end;
		/* Текст прижат вправо */
		text-align: right;
	}

	.lemma-cta__title {
		font-size: var(--fz-h2);
		color: var(--c-dark-blue);
		margin: 0;
	}

	/* Левая часть: Форма */
	.lemma-cta__form-wrapper {
		flex: 0 0 500px;
		max-width: 100%;
		position: relative;
	}

	.lemma-cta__form {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	/* Поля ввода (Inputs & Textarea) */
	.lemma-cta__input,
	.lemma-cta__textarea {
		width: 100%;
		background-color: var(--c-input-fill);
		border: none;
		border-radius: var(--radius-input);
		padding: 20px 24px;
		font-family: var(--font-main);
		font-size: 16px;
		color: var(--c-white);
		transition: background-color 0.3s;
	}

	.lemma-cta__textarea {
		resize: none;
		height: 120px;
	}

	.lemma-cta__input::placeholder,
	.lemma-cta__textarea::placeholder {
		color: rgba(255, 255, 255, 0.85);
	}

	.lemma-cta__input:focus,
	.lemma-cta__textarea:focus {
		background-color: #7D93AC;
		/* Чуть темнее при фокусе */
	}

	/* Кнопка */
	.lemma-cta__btn {
		width: 100%;
		background-color: var(--c-dark-blue);
		color: var(--c-white);
		border: none;
		border-radius: var(--radius-btn);
		padding: 22px 24px;
		font-family: var(--font-main);
		font-size: 20px;
		font-weight: 500;
		cursor: pointer;
		transition: opacity 0.2s, transform 0.1s;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: 10px;
	}

	.lemma-cta__btn:hover {
		opacity: 0.95;
	}

	.lemma-cta__btn:active {
		transform: scale(0.99);
	}

	.lemma-cta__btn-icon {
		width: 24px;
		height: 24px;
		stroke-width: 2;
	}

	/* Соглашение */
	.lemma-cta__agreement {
		display: flex;
		align-items: center;
		gap: 12px;
		margin-top: 12px;
		font-size: 14px;
		line-height: 1.4;
		color: var(--c-dark-blue);
	}

	.lemma-cta__checkbox {
		appearance: none;
		min-width: 20px;
		height: 20px;
		border: 1px solid var(--c-dark-blue);
		border-radius: 50%;
		cursor: pointer;
		position: relative;
		flex-shrink: 0;
	}

	.lemma-cta__checkbox:checked {
		background-color: var(--c-dark-blue);
	}

	.lemma-cta__checkbox:checked::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 8px;
		height: 8px;
		background-color: var(--c-white);
		border-radius: 50%;
		transform: translate(-50%, -50%);
	}

	.lemma-cta__link {
		color: inherit;
		text-decoration: underline;
		text-decoration-skip-ink: none;
	}

	.lemma-cta__link:hover {
		text-decoration: none;
	}

	/* --- SUCCESS OVERLAY --- */
	.lemma-cta__success {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		background: rgba(245, 245, 247, 0.9);
		/* Цвет фона секции с прозрачностью */
		backdrop-filter: blur(5px);
		opacity: 0;
		visibility: hidden;
		transform: translateY(20px);
		transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		pointer-events: none;
		z-index: 10;
	}

	.lemma-cta__form-wrapper.is-success .lemma-cta__success {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: auto;
	}

	.lemma-cta__success-icon {
		width: 64px;
		height: 64px;
		background-color: var(--c-dark-blue);
		color: var(--c-white);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 20px;
	}

	.lemma-cta__success-title {
		font-size: 24px;
		font-weight: 700;
		color: var(--c-dark-blue);
		margin-bottom: 8px;
	}

	/* Honeypot */
	.lemma-cta__honey {
		position: absolute;
		left: -9999px;
		opacity: 0;
		z-index: -1;
		height: 0;
		width: 0;
	}

	/* --- MOBILE ADAPTIVE --- */
	@media (max-width: 992px) {
		.lemma-cta__container {
			flex-direction: column-reverse;
			/* Заголовок сверху, форма снизу */
			align-items: flex-start;
			gap: 40px;
		}

		.lemma-cta__text-side {
			width: 100%;
			text-align: left;
			justify-content: flex-start;
		}

		.lemma-cta__form-wrapper {
			width: 100%;
			flex: auto;
		}
	}

    .lemma-clients {
		width: 100%;
		padding: 80px 0;
		overflow: hidden;
		/* Скрываем гориз. скролл страницы */
	}

	/* Шапка с заголовком и стрелками */
	.lemma-clients__header {
		display: flex;
		align-items: flex-end;
		/* Выравнивание по низу заголовка */
		justify-content: space-between;
		margin-bottom: 50px;
		gap: 20px;
	}

	.lemma-clients__title {
		font-size: var(--fz-h2);
		color: var(--c-black);
		margin: 0;
	}

	/* Навигация (Стрелки) */
	.lemma-clients__nav {
		display: flex;
		gap: 20px;
		padding-bottom: 10px;
		/* Небольшая коррекция относительно базовой линии текста */
	}

	.lemma-clients__btn-prev,
	.lemma-clients__btn-next {
		width: 60px;
		height: 40px;
		/* Визуально как на макете */
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		color: var(--c-light-blue);
		transition: color 0.3s, opacity 0.3s;
	}

	.lemma-clients__btn-prev.swiper-button-disabled,
	.lemma-clients__btn-next.swiper-button-disabled {
		opacity: 0.3;
		cursor: auto;
	}

	.lemma-clients__btn-prev:hover:not(.swiper-button-disabled),
	.lemma-clients__btn-next:hover:not(.swiper-button-disabled) {
		color: var(--c-black);
	}

	.lemma-clients__icon {
		width: 40px;
		height: 24px;
		stroke-width: 2;
	}

	/* --- SLIDER CONTAINER --- */

	.lemma-clients__slider-container {
		width: 100%;
		/* Магия отступа: 
			   (100% - 1240px) / 2  -> это отступ .wrapper от края экрана
			   + 20px               -> это padding внутри .wrapper
			   Используем max(20px, ...), чтобы на мобилках не прилипало 
			*/
		padding-left: max(20px, calc((100% - 1240px) / 2 + 20px));
		padding-right: 0;
		/* Справа пусть уходит за экран */
	}

	.lemma-clients-swiper {
		width: 100%;
		overflow: visible !important;
		/* Разрешаем слайдам торчать справа */
	}

	.lemma-clients .swiper-slide {
		width: 280px;
		/* Фиксированная ширина карточки или auto */
		height: auto;
		opacity: 1;
		transition: opacity 0.3s;
	}

	/* --- CLIENT CARD --- */

	.lemma-clients__card {
		display: flex;
		flex-direction: column;
		gap: 20px;
		width: 100%;
	}

	/* Подложка логотипа */
	.lemma-clients__logo-box {
		width: 100%;
		aspect-ratio: 1 / 1;
		/* Квадрат */
		background-color: var(--c-grey-bg);
		border-radius: var(--radius-logo);
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 40px;
		transition: transform 0.3s ease;
	}

	.lemma-clients__card:hover .lemma-clients__logo-box {
		transform: translateY(-5px);
	}

	.lemma-clients__logo-img {
		max-width: 100%;
		max-height: 100%;
		object-fit: contain;
		/* Для демо используем filter, чтобы иконки были похожи на логотипы */
		filter: grayscale(100%) brightness(0.3) sepia(1) hue-rotate(180deg) saturate(3);
		color: #133557;
		/* Цвет для SVG fill */
	}

	/* Текстовая часть */
	.lemma-clients__info {
		display: flex;
		flex-direction: column;
		gap: 6px;
	}

	.lemma-clients__name {
		font-family: var(--font-main);
		font-size: var(--fz-client-name);
		font-weight: 700;
		color: var(--c-black);
		line-height: 1.2;
	}

	.lemma-clients__desc {
		font-family: var(--font-main);
		font-size: var(--fz-client-desc);
		font-weight: 400;
		color: var(--c-text-grey);
		line-height: 1.3;
	}

	/* --- MOBILE ADAPTIVE --- */
	@media (max-width: 768px) {
		.lemma-clients__header {
			flex-direction: column;
			align-items: flex-start;
			gap: 20px;
		}

		.lemma-clients__nav {
			width: 100%;
			justify-content: flex-end;
			/* Стрелки справа под заголовком */
			padding-right: 20px;
		}

		.swiper-slide {
			width: 240px;
			/* Чуть уже на мобилке */
		}
	}

    .lemma-download {
		width: 100%;
		/* Паттерн как в блоке callback */
		background-color: var(--c-dark-blue);
		background-image:
			linear-gradient(135deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%),
			linear-gradient(225deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%),
			linear-gradient(45deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%),
			linear-gradient(315deg, rgba(255, 255, 255, 0.03) 25%, transparent 25%);
		background-position: 40px 0, 40px 0, 0 0, 0 0;
		background-size: 80px 80px;
		background-repeat: repeat;

		padding: 80px 0;
		color: var(--c-white);
		position: relative;
		overflow: hidden;
	}

	/* Добавляем легкий градиент поверх паттерна для глубины (как на макете слева/справа темнее) */
	.lemma-download::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: linear-gradient(90deg, rgba(19, 53, 87, 0.8) 0%, rgba(19, 53, 87, 0.4) 50%, rgba(19, 53, 87, 0.8) 100%);
		pointer-events: none;
	}

	.lemma-download__container {
		position: relative;
		z-index: 1;
		/* Чтобы контент был над градиентом */
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 40px;
	}

	/* Левая часть: Текст */
	.lemma-download__title {
		font-size: var(--fz-h2);
		margin: 0;
		text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
		white-space: nowrap;
		/* Не переносить слова */
	}

	/* Правая часть: Кнопка */
	.lemma-download__action {
		flex: 0 0 500px;
		/* Фиксированная ширина кнопки (примерно как на макете) */
		max-width: 100%;
		display: flex;
		justify-content: flex-end;
		/* Кнопка прижата вправо */
	}

	.lemma-download__btn {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		height: var(--btn-height);

		/* Стиль "стекла" / серо-голубой заливки */
		background-color: rgba(143, 169, 194, 0.8);
		/* #8FA9C2 с прозрачностью */
		backdrop-filter: blur(10px);
		border: 1px solid rgba(255, 255, 255, 0.2);
		border-radius: 16px;

		padding: 0 30px;
		text-decoration: none;
		color: var(--c-white);
		font-family: var(--font-main);
		font-size: 20px;
		font-weight: 500;
		transition: background-color 0.3s, transform 0.1s;
	}

	.lemma-download__btn:hover {
		background-color: rgba(143, 169, 194, 1);
        color: #133557;
	}

	.lemma-download__btn:active {
		transform: scale(0.99);
	}

	.lemma-download__icon {
		width: 28px;
		height: 28px;
		stroke-width: 2;
	}

	/* --- MOBILE ADAPTIVE --- */
	@media (max-width: 992px) {
		.lemma-download__container {
			flex-direction: column;
			align-items: flex-start;
			gap: 40px;
		}

		.lemma-download__action {
			flex: auto;
			width: 100%;
			justify-content: flex-start;
		}

		.lemma-download__title {
			white-space: normal;
			/* На мобилке можно переносить, если не влезает */
		}
	}

    .lemma-rev {
		width: 100%;
		padding: 80px 0;
		overflow: hidden;
	}

	/* Хедер секции с разбивкой на лево/право */
	.lemma-rev__header {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		/* Выравнивание по низу */
		margin-bottom: 60px;
		gap: 40px;
		flex-wrap: wrap;
	}

	.lemma-rev__header-left {
		display: flex;
		flex-direction: column;
		gap: 30px;
	}

	.lemma-rev__title-part {
		font-size: var(--fz-h2);
		color: var(--c-black);
		margin: 0;
		line-height: 0.9;
	}

	.lemma-rev__title-part--right {
		text-align: right;
		color: #555;
		/* Чуть светлее по макету, или черный */
		color: var(--c-black);
		width: 100%;
		margin-top: -100px;
	}

	/* Выделяем "nemma" голубым, если нужно как на макете */
	.lemma-rev__highlight {
		color: var(--c-light-blue);
	}

	/* Навигация (Стрелки) */
	.lemma-rev__nav {
		display: flex;
		gap: 20px;
		position: relative;
		z-index: 4;
	}

	.lemma-rev__btn-prev,
	.lemma-rev__btn-next {
		width: 60px;
		height: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		/* Стрелки влево */
		cursor: pointer;
		color: var(--c-light-blue);
		transition: color 0.3s, opacity 0.3s;
	}

	/* Выравниваем стрелки по левому краю */
	.lemma-rev__btn-prev {
		justify-content: flex-start;
	}

	.lemma-rev__btn-next {
		justify-content: flex-start;
	}

	.lemma-rev__btn-prev.swiper-button-disabled,
	.lemma-rev__btn-next.swiper-button-disabled {
		opacity: 0.3;
		cursor: auto;
	}

	.lemma-rev__icon {
		width: 50px;
		/* Длинные стрелки */
		height: 24px;
		stroke-width: 2;
	}

	/* --- SLIDER CONTAINER --- */

	.lemma-rev__slider-container {
		width: 100%;
		/* Магия отступа слева, чтобы начиналось по сетке */
		padding-left: max(20px, calc((100% - 1240px) / 2 + 20px));
		padding-right: 0;
	}

	.lemma-rev-swiper {
		width: 100%;
		overflow: visible !important;
	}

	.lemma-rev-swiper .swiper-slide {
		width: 500px;
		/* Широкие карточки */
		height: auto;
		opacity: 1;
		transition: opacity 0.3s;
		display: flex;
		/* Чтобы карточки тянулись по высоте */
	}

	/* --- REVIEW CARD --- */

	.lemma-rev__card {
		background-color: var(--c-grey-bg);
		border-radius: var(--radius-card);
		padding: 40px;
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 30px;
		position: relative;
	}

	/* Верхняя часть карточки (Автор) */
	.lemma-rev__author {
		display: flex;
		align-items: center;
		gap: 20px;
	}

	.lemma-rev__avatar {
		width: 100px;
		height: 100px;
		border-radius: 50%;
		background-color: var(--c-light-blue);
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		color: var(--c-white);
		font-size: 32px;
		font-weight: 700;
		font-family: var(--font-main);
	}

	.lemma-rev__meta {
		display: flex;
		flex-direction: column;
		gap: 4px;
	}

	.lemma-rev__name {
		font-family: var(--font-main);
		font-size: var(--fz-name);
		font-weight: 700;
		color: var(--c-black);
		line-height: 1.2;
	}

	.lemma-rev__role {
		font-family: var(--font-main);
		font-size: var(--fz-role);
		color: var(--c-black);
		opacity: 0.6;
		/* 60% opacity */
		line-height: 1.3;
	}

	/* Текст отзыва */
	.lemma-rev__text {
		font-family: var(--font-main);
		font-size: var(--fz-review);
		line-height: 1.4;
		color: var(--c-black);
		flex-grow: 1;
		/* Растягиваем, чтобы футер прижался к низу если есть */
	}

	.lemma-rev__link {
		font-size: 14px;
		color: var(--c-light-blue);
		text-decoration: none;
		margin-top: auto;
		display: inline-flex;
		align-items: center;
		gap: 4px;
	}

	.lemma-rev__link:hover {
		text-decoration: underline;
	}

	/* --- MOBILE ADAPTIVE --- */
	@media (max-width: 992px) {
		.lemma-rev__header {
			flex-direction: column;
			align-items: flex-start;
			gap: 20px;
		}

		.lemma-rev__title-part--right {
			text-align: left;
			/* На мобилке всё слева */
			margin-top: 0;
		}

		.swiper-slide {
			width: 85vw;
			/* Почти на весь экран мобильного */
			max-width: 400px;
		}

		.lemma-rev__card {
			padding: 30px;
		}

		.lemma-rev__avatar {
			width: 70px;
			height: 70px;
			font-size: 24px;
		}
	}

    .footer-cta {
		width: 100%;
		background-color: var(--c-light-blue-bg);
		padding: 80px 0;
		color: var(--c-white);
	}

	/* Текстовая шапка */
	.footer-cta__header {
		margin-bottom: 40px;
		max-width: 900px;
	}

	.footer-cta__title {
		font-size: var(--fz-h2);
		margin-bottom: 20px;
		line-height: 1.1;
	}

	.footer-cta__subtitle {
		font-size: var(--fz-text);
		line-height: 1.5;
		opacity: 0.9;
		max-width: 700px;
	}

	/* Основная карточка (Темно-синяя) */
	.footer-cta__card {
		background-color: var(--c-dark-blue);
		border-radius: var(--radius-card);
		padding: 40px;
		display: grid;
		grid-template-columns: 1fr 1fr;
		/* 50/50 форма и карта */
		gap: 40px;
		position: relative;
		overflow: hidden;
	}

	/* --- FORM SIDE --- */
	.footer-cta__form-side {
		position: relative;
		min-height: 300px;
		/* Чтобы не схлопнулось */
	}

	.footer-cta__form {
		display: flex;
		flex-direction: column;
		gap: 16px;
		height: 100%;
		justify-content: center;
	}

	.footer-cta__input,
	.footer-cta__textarea {
		width: 100%;
		background-color: var(--c-input-bg);
		border: none;
		border-radius: var(--radius-input);
		padding: 20px 24px;
		font-family: var(--font-main);
		font-size: 16px;
		color: var(--c-black);
		transition: box-shadow 0.3s;
        box-sizing: border-box;
	}

	/* Textarea если нужен (на макете Input 'Комментарий') */
	.footer-cta__textarea {
		resize: none;
		height: 100px;
	}

	.footer-cta__input::placeholder {
		color: #999;
	}

	.footer-cta__input:focus {
		box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.2);
	}

	/* Кнопка */
	.footer-cta__btn {
		width: 100%;
		background-color: var(--c-btn-bg);
		color: var(--c-white);
		border: none;
		border-radius: var(--radius-btn);
		padding: 20px 24px;
		font-family: var(--font-main);
		font-size: 18px;
		font-weight: 500;
		cursor: pointer;
		transition: opacity 0.2s, transform 0.1s;
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: 10px;
	}

	.footer-cta__btn:hover {
		opacity: 0.9;
	}

	.footer-cta__btn:active {
		transform: scale(0.99);
	}

	.footer-cta__btn-icon {
		width: 24px;
		height: 24px;
		stroke-width: 2;
	}

	/* Соглашение */
	.footer-cta__agreement {
		display: flex;
		align-items: center;
		gap: 12px;
		margin-top: 4px;
		font-size: 13px;
		line-height: 1.4;
		color: rgba(255, 255, 255, 0.8);
	}

	.footer-cta__checkbox {
		appearance: none;
		min-width: 18px;
		height: 18px;
		border: 1px solid rgba(255, 255, 255, 0.6);
		border-radius: 50%;
		cursor: pointer;
		position: relative;
		flex-shrink: 0;
		margin-top: 2px;
	}

	.footer-cta__checkbox:checked {
		background-color: var(--c-white);
		border-color: var(--c-white);
	}

	.footer-cta__checkbox:checked::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 8px;
		height: 8px;
		background-color: var(--c-dark-blue);
		border-radius: 50%;
		transform: translate(-50%, -50%);
	}

	.footer-cta__link {
		color: inherit;
		text-decoration: underline;
	}

	/* --- MAP SIDE --- */
	.footer-cta__map-side {
		position: relative;
		width: 100%;
		height: 100%;
		min-height: 300px;
		/* Высота карты на мобилке */
		border-radius: var(--radius-map);
		overflow: hidden;
		background-color: #eee;
	}

	/* Заглушка (пока нет API карт) */
	.footer-cta__map-placeholder {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	/* --- SUCCESS STATE --- */
	.footer-cta__success {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		background: rgba(19, 53, 87, 0.95);
		/* Цвет фона карточки */
		backdrop-filter: blur(5px);
		z-index: 10;
		opacity: 0;
		visibility: hidden;
		transform: scale(0.95);
		transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		pointer-events: none;
		border-radius: var(--radius-card);
		/* Повторяем радиус */
	}

	.footer-cta__form-side.is-success .footer-cta__success {
		opacity: 1;
		visibility: visible;
		transform: scale(1);
		pointer-events: auto;
	}

	/* Скрываем форму при успехе, чтобы не мешала */
	.footer-cta__form-side.is-success .footer-cta__form {
		opacity: 0.1;
		pointer-events: none;
	}

	.footer-cta__success-icon {
		width: 64px;
		height: 64px;
		background-color: var(--c-white);
		color: var(--c-dark-blue);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 20px;
	}

	.footer-cta__success-title {
		font-size: 24px;
		font-weight: 700;
		margin-bottom: 8px;
	}

	/* Honeypot */
	.footer-cta__honey {
		position: absolute;
		left: -9999px;
		opacity: 0;
		z-index: -1;
	}

	/* --- MOBILE ADAPTIVE --- */
	@media (max-width: 992px) {
		.footer-cta__card {
			grid-template-columns: 1fr;
			/* Одна колонка */
			padding: 30px;
			gap: 30px;
		}

		.footer-cta__map-side {
			height: 300px;
			/* Фикс высота карты */
			order: -1;
			/* Карта сверху (как часто бывает) или снизу? На макете карта справа, на мобилке обычно снизу. Оставим снизу (стандартный поток) */
			order: 1;
		}
	}

    .footer-new {
		width: 100%;
		background-color: var(--c-black);
		color: var(--c-white);
		padding-bottom: 60px;
		position: relative;
        margin-top: clamp(80px, 10vw, 120px);
	}

	/* --- BIG TITLE (NEMMA) --- */
	.footer-new__title-wrapper {
		width: 100%;
		display: flex;
		justify-content: center;
		/* Отрицательный маргин, чтобы поднять текст к краю предыдущего блока, как на макете */
		position: relative;
        top:-3rem;
		pointer-events: none;
		/* Чтобы не мешало кликам, если перекроет */
	}

	.footer-new__big-title {
		width: 100%;
		max-width: 1240px;
		display: flex;
		justify-content: center;
	}

	@media (min-width: 1240px) {
		.footer-new__big-title {
			font-size: 320px;
			/* Фиксированный размер для ширины контента */
		}
	}


	/* --- SUBTITLE --- */
	.footer-new__subtitle {
		text-align: center;
		font-size: var(--fz-subtitle);
		margin-bottom: 80px;
		position: relative;
	}


	/* --- COLUMNS GRID --- */
	.footer-new__columns {
		display: grid;
		grid-template-columns: 1fr 1.5fr 1fr;
		/* Левая меньше, центр шире, правая меньше */
		gap: 40px;
		align-items: start;
	}

	/* Column Styles */
	.footer-new__col {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}

	/* Alignment modifiers */
	.footer-new__col--left {
		align-items: flex-start;
		text-align: left;
	}

	.footer-new__col--center {
		align-items: center;
		text-align: center;
	}

	.footer-new__col--right {
		align-items: flex-end;
		text-align: right;
	}


	/* --- CONTENT ELEMENTS --- */

	/* Links List (Nav) */
	.footer-new__nav-list {
		list-style: none;
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.footer-new__nav-link {
		font-size: var(--fz-link);
		color: var(--c-white);
		text-decoration: none;
		transition: color 0.3s;
	}

	.footer-new__nav-link:hover {
		color: var(--c-light-blue);
	}

	/* Center Column Content */
	.footer-new__policy-links {
		display: flex;
		flex-direction: column;
		gap: 8px;
		font-size: var(--fz-small);
		color: var(--c-white);
	}

	.footer-new__socials {
		display: flex;
		gap: 20px;
		margin: 20px 0;
	}

	.footer-new__social-icon {
		width: 48px;
		height: 48px;
		background-color: var(--c-logo-big);
		border-radius: 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: var(--c-white);
		transition: transform 0.2s, background-color 0.2s;
		cursor: pointer;
	}

	.footer-new__social-icon:hover {
		transform: translateY(-3px);
		background-color: var(--c-light-blue);
	}

	.footer-new__contacts-row {
		display: flex;
		align-items: center;
		gap: 30px;
		margin-top: 10px;
		flex-wrap: wrap;
		justify-content: center;
	}

	.footer-new__phone {
		font-size: 20px;
		font-weight: 500;
	}

	.footer-new__address,
	.footer-new__email {
		font-size: 16px;
		opacity: 0.9;
	}

	/* Right Column Content */
	.footer-new__legal-info {
		font-size: 16px;
		line-height: 1.5;
		color: var(--c-white);
	}

	.footer-new__payment-info {
		font-size: var(--fz-small);
		color: var(--c-white);
		margin-top: 20px;
		max-width: 200px;
	}

	/* Links styling in text */
	a {
		color: inherit;
		text-decoration: none;
	}

	a:hover {
		color: var(--c-light-blue);
	}

	/* --- MOBILE ADAPTIVE --- */
	@media (max-width: 992px) {
		.footer-new__columns {
			grid-template-columns: 1fr;
			gap: 60px;
		}

		.footer-new__col--left,
		.footer-new__col--center,
		.footer-new__col--right {
			align-items: flex-start;
			text-align: left;
		}

		.footer-new__contacts-row {
			justify-content: flex-start;
			flex-direction: column;
			align-items: flex-start;
			gap: 15px;
		}

		.footer-new__socials {
			margin: 0 0 20px 0;
		}

		.footer-new__big-title {
			margin-top: -5%;
			/* Коррекция для мобилки */
		}
	}

	/* Базовые стили для скрытия и позиционирования */
.lemma-popup {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 9999;
    display: none; /* Скрыто по умолчанию */
    align-items: center;
    justify-content: center;
}

/* Класс, который JS будет добавлять для открытия */
.lemma-popup.is-active {
    display: flex;
}

/* Затемнение фона */
.lemma-popup__overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(19, 53, 87, 0.8); /* Используем ваш фирменный синий с прозрачностью */
    cursor: pointer;
}

/* Белая карточка внутри */
.lemma-popup__content {
    position: relative;
    background: #fff;
    padding: 40px;
    max-width: 450px;
    width: 90%;
    z-index: 10;
    box-sizing: border-box;
}

.lemma-popup__content h2 {
	margin-bottom: 2rem;
}

.lemma-popup__content input {
    box-sizing: border-box;
	margin-bottom: 1rem;
}

/* Крестик закрытия */
.lemma-popup__close {
    position: absolute;
    top: 15px; right: 15px;
    background: none;
    border: none;
    cursor: pointer;
    color: #133557;
}

/* Ловушка для ботов */
.lemma-popup__honey {
    position: absolute; opacity: 0; top: 0; left: -9999px; height: 0; width: 0; z-index: -1;
}

/* Стили для экрана успеха (как в ваших предыдущих формах) */
.lemma-popup__success { display: none; text-align: center; }
#popupFormWrapper.is-success .lemma-popup__form { display: none; }
#popupFormWrapper.is-success .lemma-popup__success { display: block; }