.zh-hero {
	padding: clamp(3.5rem, 7vw, 7rem) 0;
	background: var(--zh-color-light);
}

.zh-hero__grid {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	align-items: center;
	gap: clamp(2rem, 5vw, 5rem);
}

.zh-hero__content { position: relative; z-index: 2; }

.zh-hero__visual {
	position: relative;
	min-height: 520px;
	border-radius: var(--zh-radius-large);
	overflow: hidden;
	background: var(--zh-color-dark);
	box-shadow: 0 24px 55px rgba(37, 41, 43, .14);
}

.zh-hero__visual::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 58%, rgba(16, 19, 20, .16));
}

.zh-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.zh-hero__visual-fallback {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(135deg, rgba(255,255,255,.05), transparent 45%),
		repeating-linear-gradient(90deg, transparent 0 58px, rgba(255,255,255,.035) 58px 61px),
		linear-gradient(145deg, var(--zh-color-dark), var(--zh-color-metal));
}

@media (max-width: 860px) {
	.zh-hero__grid { grid-template-columns: 1fr; }
	.zh-hero__visual { min-height: 320px; }
}
