/* Hero — full-width photo with a slate overlay; the transparent header sits on top. */
.hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: var(--kore-slate, #333d47);
	color: #ffffff;
	text-align: center;
}
.hero--home { min-height: min(88vh, 760px); }
.hero--page { min-height: 380px; }
.hero-media,
.hero-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.hero-image { object-fit: cover; }
.hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(38, 46, 54, 0.72) 0%, rgba(38, 46, 54, 0.55) 45%, rgba(38, 46, 54, 0.72) 100%);
}
.hero-inner {
	position: relative;
	max-width: 900px;
	padding: 140px var(--section-hr-padding, 64px) 80px;
}
.hero--page .hero-inner { padding-top: 150px; padding-bottom: 60px; }
.hero .hero-title { margin: 0; color: #ffffff; text-transform: uppercase; }
.hero .hero-title .kore-heading__accent { color: var(--brand-500, #7dcab0); }
.hero-text { margin: var(--spacing-6, 24px) auto 0; max-width: 680px; color: #ffffff; }
.hero-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--spacing-4, 16px);
	margin-top: var(--spacing-8, 32px);
}
@media (max-width: 767px) {
	.hero--home { min-height: 560px; }
	.hero--page { min-height: 300px; }
	.hero-inner { padding-top: 120px; padding-bottom: 56px; }
	.hero--home .hero-title { font-size: var(--font-size-4xl, 36px); }
	.hero--page .hero-title { font-size: var(--font-size-3xl, 30px); }
}
