/*
 * Lazy Block: hero.
 * Единый статусный hero. Палитра/переменные — из base style.css (:root).
 */

.hero {
	position: relative;
	min-height: 520px;
	display: flex;
	align-items: flex-end;
	padding: 64px 0 56px;
	color: var(--text);
	overflow: hidden;
	background: var(--ink-900);
}

/* Фон-фото (плейсхолдер-градиент, если изображение не задано) */
.hero__photo {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		radial-gradient(120% 90% at 80% 0%, #2a486e 0%, transparent 60%),
		linear-gradient(160deg, #16243a 0%, #0e141f 70%);
	background-size: cover;
	background-position: center;
}

.hero__video {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Оверлей */
.hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(10, 16, 26, .92) 0%, rgba(10, 16, 26, .72) 46%, rgba(10, 16, 26, .40) 100%),
		linear-gradient(180deg, rgba(10, 16, 26, .30) 0%, rgba(10, 16, 26, .86) 100%);
}

/* Мотив изолиний */
.hero__contours {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: .5;
	mix-blend-mode: screen;
}

.hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	z-index: 3;
	background: linear-gradient(90deg, var(--accent) 0%, var(--accent) 28%, transparent 60%);
}

.hero__inner {
	position: relative;
	z-index: 4;
	width: 100%;
}

.breadcrumbs {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--text-dim);
	margin-bottom: 26px;
}

.breadcrumbs .sep {
	opacity: .5;
}

.breadcrumbs a:hover {
	color: #fff;
}

.hero__badge {
	display: inline-block;
	position: relative;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #fff;
	padding: 7px 14px 7px 16px;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .14);
	margin-bottom: 22px;
}

.hero__badge::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: var(--accent);
}

.hero__title {
	margin: 0 0 18px;
	font-size: clamp(30px, 4.4vw, 54px);
	line-height: 1.06;
	font-weight: 800;
	letter-spacing: .005em;
	text-transform: uppercase;
	max-width: 17ch;
}

.hero__subtitle {
	margin: 0 0 28px;
	font-size: clamp(15px, 1.4vw, 18px);
	line-height: 1.55;
	color: var(--text-dim);
	max-width: 56ch;
}

.hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin-top: 44px;
	border-top: 1px solid var(--line);
	padding-top: 26px;
}

.hero__fact {
	padding: 2px 36px;
	border-left: 1px solid var(--line);
}

.hero__fact:first-child {
	padding-left: 0;
	border-left: 0;
}

.hero__fact-value {
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: .01em;
}

.hero__fact-value.is-orange {
	color: var(--accent-bright);
}

.hero__fact-label {
	margin-top: 8px;
	font-size: 13px;
	color: var(--text-dim);
	letter-spacing: .02em;
	max-width: 16ch;
}

@media (max-width: 720px) {
	.hero {
		min-height: 0;
		padding: 48px 0;
	}

	.hero__fact {
		padding: 14px 0;
		border-left: 0;
		flex: 1 0 45%;
	}

	.hero__facts {
		gap: 6px 24px;
	}
}
