/*
 * Homepage hero refresh.
 * The image and copy remain separate so text stays sharp and accessible.
 */
.ys-hero {
	position: relative;
	padding: 0;
	overflow: hidden;
	background: #030405;
	border-bottom: 0;
	isolation: isolate;
}

.ys-hero::after {
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	width: 58%;
	height: calc(100% - 126px);
	background:
		linear-gradient(90deg, #030405 0%, rgba(3, 4, 5, .6) 10%, rgba(3, 4, 5, 0) 29%),
		url("../images/hero-driving-school-v2.jpg") 61% center / cover no-repeat;
}

.ys-hero::before {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(3, 4, 5, .98) 0%, rgba(3, 4, 5, .9) 38%, rgba(3, 4, 5, 0) 59%);
}

.ys-hero__grid {
	position: relative;
	z-index: 2;
	grid-template-columns: 47% 53%;
	min-height: 548px;
	align-items: center;
}

.ys-hero__content {
	max-width: 620px;
	padding: 58px 0 64px;
}

.ys-hero h1 {
	margin-bottom: 24px;
	font-size: clamp(54px, 5.2vw, 72px);
	line-height: .92;
	letter-spacing: 0;
}

.ys-hero__content > p {
	max-width: 600px;
	margin-bottom: 0;
	color: #d7d9db;
	font-size: 16px;
	line-height: 1.65;
}

.ys-features {
	gap: 24px;
	margin: 31px 0 32px;
}

.ys-features span {
	min-width: 0;
}

.ys-actions {
	gap: 12px;
}

.ys-actions .ys-btn {
	min-width: 0;
	padding-inline: 20px;
	white-space: nowrap;
}

.ys-hero__car {
	display: none;
}

.ys-stats {
	position: relative;
	z-index: 3;
	width: min(var(--container), calc(100% - 64px));
	min-height: 126px;
	margin: 0 auto;
	padding: 22px 34px;
	border: 2px solid var(--brand-red);
	border-bottom: 0;
	border-radius: 18px 18px 0 0;
	background:
		linear-gradient(105deg, rgba(150, 0, 7, .93) 0%, rgba(70, 4, 8, .96) 44%, rgba(9, 10, 12, .98) 100%);
	box-shadow: 0 -12px 34px rgba(0, 0, 0, .25);
}

.ys-stats > div {
	grid-template-columns: 50px minmax(0, auto);
	padding: 0 34px;
}

.ys-stats i {
	display: grid;
	place-items: center;
	color: #fff;
	font-size: 34px;
}

.ys-stats strong {
	color: #fff;
	font-size: 27px;
	letter-spacing: -.02em;
}

.ys-stats span {
	color: #f0f0f0;
	font-size: 12px;
}

@media (min-width: 1200px) {
	.ys-hero__grid {
		min-height: 580px;
	}

	.ys-hero__content {
		padding-block: 68px 74px;
	}

	.ys-stats {
		width: min(1320px, calc(100% - 72px));
	}
}

@media (max-width: 1023px) {
	.ys-hero::after {
		display: none;
	}

	.ys-hero::before {
		background: linear-gradient(180deg, #030405 0%, rgba(3, 4, 5, .96) 45%, rgba(3, 4, 5, .1) 72%, rgba(3, 4, 5, 0) 100%);
	}

	.ys-hero__grid {
		display: block;
		min-height: 0;
	}

	.ys-hero__content {
		max-width: 720px;
		padding: 58px 0 42px;
	}

	.ys-hero__car {
		display: block;
		visibility: visible;
		width: 100%;
		height: clamp(330px, 58vw, 520px);
		margin: 0;
	}

	.ys-hero__car img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 58% center;
	}

	.ys-stats {
		width: min(100% - 40px, var(--container));
	}
}

@media (max-width: 767px) {
	.ys-hero h1 {
		font-size: clamp(42px, 12vw, 58px);
	}

	.ys-hero__content {
		padding: 46px 0 34px;
	}

	.ys-features {
		gap: 16px;
	}

	.ys-actions .ys-btn {
		padding-inline: 12px;
	}

	.ys-hero__car {
		height: 310px;
	}

	.ys-hero__car img {
		object-position: 61% center;
	}

	.ys-stats {
		width: calc(100% - 24px);
		min-height: 0;
		padding: 16px 12px;
		border-radius: 14px 14px 0 0;
	}

	.ys-stats > div {
		grid-template-columns: 38px auto;
		padding: 10px 5px;
	}

	.ys-stats i {
		font-size: 25px;
	}

	.ys-stats strong {
		font-size: 20px;
	}
}
