.elementor-15 .elementor-element.elementor-element-50cd66b{--display:flex;}/* Start custom CSS for html, class: .elementor-element-c68dd4a *//* =========================================================
 * HERO-БАННЕР — ПОЛНАЯ ШИРИНА ЭКРАНА БЕЗ ЗАЗОРОВ
 * ======================================================= */

.vs-hero-placeholder,
.vs-hero-placeholder *,
.vs-hero-placeholder *::before,
.vs-hero-placeholder *::after {
	box-sizing: border-box;
}

/* Убираем ограничения у HTML-виджета Elementor */
.elementor-widget-html:has(.vs-hero-placeholder),
.elementor-widget-html:has(.vs-hero-placeholder) > .elementor-widget-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Убираем ограничения у ближайшего контейнера Elementor */
.e-con:has(.vs-hero-placeholder),
.e-con-inner:has(.vs-hero-placeholder),
.elementor-section:has(.vs-hero-placeholder),
.elementor-container:has(.vs-hero-placeholder),
.elementor-column:has(.vs-hero-placeholder),
.elementor-widget-wrap:has(.vs-hero-placeholder) {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
}

/* Сам баннер */
.vs-hero-placeholder {
	position: relative;
	left: 50%;
	isolation: isolate;

	display: flex;
	align-items: center;

	width: 100vw;
	max-width: none;
	min-height: min(43.85vw, 842px);

	margin: 0 !important;
	margin-left: -50vw !important;
	padding:
		clamp(50px, 7vw, 130px)
		max(24px, calc((100vw - 1600px) / 2));

	overflow: hidden;

	color: #fff;

	background:
		radial-gradient(
			circle at 78% 35%,
			rgba(255, 45, 64, 0.25),
			transparent 34%
		),
		radial-gradient(
			circle at 54% 110%,
			rgba(142, 0, 20, 0.42),
			transparent 43%
		),
		linear-gradient(
			120deg,
			#070708 0%,
			#151519 45%,
			#240307 100%
		);

	font-family: "Open Sans", Arial, sans-serif;
}

/* Фоновая сетка */
.vs-hero-placeholder::before {
	position: absolute;
	z-index: -1;
	inset: 0;

	content: "";

	opacity: 0.22;

	background-image:
		linear-gradient(
			rgba(255, 255, 255, 0.035) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.035) 1px,
			transparent 1px
		);

	background-size: 50px 50px;

	-webkit-mask-image: linear-gradient(
		90deg,
		#000,
		transparent 70%
	);

	mask-image: linear-gradient(
		90deg,
		#000,
		transparent 70%
	);

	pointer-events: none;
}

/* Контент слева */
.vs-hero-placeholder__content {
	position: relative;
	z-index: 2;

	width: min(720px, 55%);
}

/* Надзаголовок */
.vs-hero-placeholder__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin-bottom: 26px;

	color: #ff4252;

	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.18em;
}

.vs-hero-placeholder__eyebrow::before {
	width: 34px;
	height: 2px;

	content: "";

	background: linear-gradient(
		90deg,
		#750007,
		#ff3546
	);
}

/* Заголовок */
.vs-hero-placeholder h1 {
	margin: 0;

	font-size: clamp(44px, 5.2vw, 92px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.055em;
}

.vs-hero-placeholder h1 span {
	display: inline-block;

	margin-top: 14px;

	color: transparent;

	background: linear-gradient(
		180deg,
		#ffffff 0%,
		#8f929a 100%
	);

	background-clip: text;
	-webkit-background-clip: text;
}

/* Описание */
.vs-hero-placeholder p {
	max-width: 580px;

	margin: 30px 0 0;

	color: rgba(255, 255, 255, 0.62);

	font-size: clamp(15px, 1.2vw, 18px);
	line-height: 1.65;
}

/* Декоративный блок справа */
.vs-hero-placeholder__visual {
	position: absolute;
	top: 50%;
	right: clamp(30px, 7vw, 150px);

	width: min(42vw, 650px);
	aspect-ratio: 1;

	transform: translateY(-50%);
}

/* Круги */
.vs-hero-placeholder__circle {
	position: absolute;

	border-radius: 50%;
}

.vs-hero-placeholder__circle--one {
	inset: 8%;

	border: 1px solid rgba(255, 61, 78, 0.35);

	box-shadow:
		0 0 70px rgba(223, 8, 28, 0.14),
		inset 0 0 60px rgba(223, 8, 28, 0.08);
}

.vs-hero-placeholder__circle--two {
	inset: 22%;

	border: 30px solid rgba(255, 255, 255, 0.025);

	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.08),
		0 0 80px rgba(255, 28, 48, 0.16);
}

/* Красный символ */
.vs-hero-placeholder__symbol {
	position: absolute;
	top: 50%;
	left: 50%;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 45%;
	aspect-ratio: 1;

	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 34%;

	color: #fff;

	background: linear-gradient(
		145deg,
		#4d0208 0%,
		#d50918 55%,
		#ff4654 100%
	);

	box-shadow:
		0 30px 80px rgba(213, 9, 24, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.35);

	font-size: clamp(80px, 10vw, 170px);
	font-weight: 900;

	transform:
		translate(-50%, -50%)
		rotate(-8deg);
}

/* Убираем возможные белые зазоры вокруг страницы */
html,
body {
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: hidden;
}

/* Планшет */
@media (max-width: 1024px) {
	.vs-hero-placeholder {
		min-height: 560px;
	}

	.vs-hero-placeholder__content {
		width: 62%;
	}

	.vs-hero-placeholder__visual {
		right: -60px;

		opacity: 0.78;
	}
}

/* Мобильная версия */
@media (max-width: 767px) {
	.vs-hero-placeholder {
		align-items: flex-end;

		min-height: 560px;

		padding:
			260px 22px
			54px;
	}

	.vs-hero-placeholder__content {
		width: 100%;
	}

	.vs-hero-placeholder__visual {
		top: 30px;
		right: 50%;

		width: 330px;

		transform: translateX(50%);
	}

	.vs-hero-placeholder h1 {
		font-size: clamp(40px, 12vw, 58px);
	}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f4a3bee */.vs-brands-strip,
	.vs-brands-strip *,
	.vs-brands-strip *::before,
	.vs-brands-strip *::after {
		box-sizing: border-box;
	}

	/* Убираем ограничения Elementor */
	.elementor-widget-html:has(.vs-brands-strip),
	.elementor-widget-html:has(.vs-brands-strip) > .elementor-widget-container {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.e-con:has(.vs-brands-strip),
	.e-con-inner:has(.vs-brands-strip),
	.elementor-section:has(.vs-brands-strip),
	.elementor-container:has(.vs-brands-strip),
	.elementor-column:has(.vs-brands-strip),
	.elementor-widget-wrap:has(.vs-brands-strip) {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 0 !important;
	}

	.vs-brands-strip {
		position: relative;
		left: 50%;

		width: 100vw;
		margin-left: -50vw;

		padding: 40px 0;

		border-top: 1px solid #ececf0;
		border-bottom: 1px solid #ececf0;

		background: #ffffff;

		font-family: "Open Sans", Arial, sans-serif;
	}

	.vs-brands-strip__inner {
		display: grid;
		grid-template-columns:
			repeat(8, minmax(0, 1fr))
			minmax(165px, 1.05fr);

		align-items: stretch;
		gap: 14px;

		width: min(calc(100% - 48px), 1600px);
		margin: 0 auto;
	}

	.vs-brand-card,
	.vs-brands-strip__all {
		min-height: 70px;
		border-radius: 17px;
	}

	.vs-brand-card {
		display: flex;
		align-items: center;
		justify-content: center;

		padding: 14px 18px;

		border: 1px solid #ececf0;

		background: #ffffff;

		text-decoration: none;

		transition:
			border-color 180ms ease,
			box-shadow 180ms ease,
			transform 180ms ease,
			background 180ms ease;
	}

	.vs-brand-card img {
		display: block;

		width: 100%;
		max-width: 125px;
		max-height: 34px;

		object-fit: contain;
		object-position: center;

		/* Обычное состояние — серое */
		filter:
			grayscale(1)
			saturate(0)
			opacity(0.48);

		transition:
			filter 200ms ease,
			opacity 200ms ease,
			transform 200ms ease;
	}

	.vs-brand-card:hover {
		border-color: rgba(213, 9, 24, 0.18);

		background: #ffffff;

		box-shadow:
			0 12px 28px
			rgba(22, 23, 29, 0.08);

		transform: translateY(-3px);
	}

	.vs-brand-card:hover img {
		/* Возвращаем исходные цвета логотипа */
		filter:
			grayscale(0)
			saturate(1)
			opacity(1);

		transform: scale(1.04);
	}

	.vs-brands-strip__all {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;

		padding: 0 20px;

		color: #ffffff;

		background:
			linear-gradient(
				135deg,
				#d50918 0%,
				#ff4655 55%,
				#ff9a72 100%
			);

		box-shadow:
			0 10px 22px
			rgba(213, 9, 24, 0.18);

		font-size: 14px;
		font-weight: 700;
		text-decoration: none;

		transition:
			transform 180ms ease,
			box-shadow 180ms ease,
			filter 180ms ease;
	}

	.vs-brands-strip__all:hover {
		transform: translateY(-3px);
		filter: saturate(1.08) brightness(1.03);

		box-shadow:
			0 15px 30px
			rgba(213, 9, 24, 0.25);
	}

	.vs-brands-strip__arrow {
		display: inline-flex;
		align-items: center;
		justify-content: center;

		flex: 0 0 30px;
		width: 30px;
		height: 30px;

		border-radius: 50%;

		background: rgba(255, 255, 255, 0.18);

		transition:
			transform 180ms ease,
			background 180ms ease;
	}

	.vs-brands-strip__all:hover
	.vs-brands-strip__arrow {
		background: rgba(255, 255, 255, 0.27);
		transform: translateX(3px);
	}

	.vs-brands-strip__arrow svg {
		width: 16px;
		height: 16px;

		fill: none;
		stroke: currentColor;
		stroke-width: 1.9;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	@media (max-width: 1400px) {
		.vs-brands-strip__inner {
			grid-template-columns:
				repeat(4, minmax(0, 1fr));
		}

		.vs-brands-strip__all {
			grid-column: span 2;
		}
	}

	@media (max-width: 767px) {
		.vs-brands-strip {
			padding: 28px 0;
		}

		.vs-brands-strip__inner {
			display: flex;
			gap: 12px;

			width: calc(100% - 30px);

			overflow-x: auto;
			padding-bottom: 10px;

			scroll-snap-type: x mandatory;
			scrollbar-width: none;
		}

		.vs-brands-strip__inner::-webkit-scrollbar {
			display: none;
		}

		.vs-brand-card,
		.vs-brands-strip__all {
			flex: 0 0 180px;
			min-height: 68px;

			scroll-snap-align: start;
		}

		.vs-brands-strip__all {
			flex-basis: 165px;
		}
	}/* End custom CSS */