/* Shared responsive hero media — loaded for all hero variants */

.hero-responsive-media {
	display: block;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

.hero-responsive-media--fill {
	inset: 0;
	height: 100%;
	position: absolute;
	width: 100%;
}

.hero-responsive-media--fill picture {
	display: block;
	height: 100%;
	width: 100%;
}

.hero-responsive-media__image,
.hero-slide__image {
	display: block;
	height: 100%;
	min-height: inherit;
	object-fit: var(--hero-image-fit, cover);
	object-position: center;
	width: 100%;
}

@media (max-width: 768px) {
	/* v1 full-bleed slider */
	.hero.hero--has-overlay {
		max-width: 100%;
		min-width: 0;
		overflow: hidden;
		width: 100%;
	}

	.hero.hero--has-overlay:not(.hero--carousel) {
		aspect-ratio: 4 / 5;
		height: auto;
		min-height: 0;
	}

	.hero.hero--has-overlay:not(.hero--carousel) .hero-responsive-media--fill,
	.hero.hero--has-overlay:not(.hero--carousel) .hero-slide__media {
		inset: 0;
		min-height: 0;
		position: absolute;
	}

	.hero.hero--has-overlay:not(.hero--carousel) .hero-responsive-media__image,
	.hero.hero--has-overlay:not(.hero--carousel) .hero-slide__image {
		height: 100%;
		min-height: 100%;
		object-fit: cover;
	}

	.hero.hero--has-overlay:not(.hero--carousel) .hero-slider {
		inset: 0;
		position: absolute;
	}

	.hero.hero--has-overlay:not(.hero--carousel) .hero-slide {
		inset: 0;
		position: absolute;
	}

	.hero.hero--has-overlay:not(.hero--carousel) .hero-slide:not(.is-active) {
		display: none;
	}

	.hero.hero--has-overlay:not(.hero--carousel) .hero-slide__media {
		inset: 0;
		position: absolute;
	}

	.hero.hero--has-overlay:not(.hero--carousel) .hero__container {
		inset: 0;
		position: absolute;
	}

	/* v1 image-only slider (no headline/button overlay content) */
	.hero.hero--intrinsic:not(.hero--carousel) {
		display: block;
		height: auto;
		min-height: 0;
	}

	.hero.hero--intrinsic:not(.hero--carousel) .hero-slider {
		position: relative;
		inset: auto;
		height: auto;
	}

	.hero.hero--intrinsic:not(.hero--carousel) .hero-slide {
		position: relative;
		inset: auto;
		height: auto;
		opacity: 1;
	}

	.hero.hero--intrinsic:not(.hero--carousel) .hero-slide:not(.is-active) {
		display: none;
	}

	.hero.hero--intrinsic:not(.hero--carousel) .hero-slide__media {
		position: relative;
		inset: auto;
		height: auto;
	}

	.hero.hero--intrinsic:not(.hero--carousel) .hero-slide__media picture {
		display: block;
		width: 100%;
	}

	.hero.hero--intrinsic:not(.hero--carousel) .hero-slide__image {
		width: 100%;
		height: auto;
		min-height: 0;
		object-fit: var(--hero-image-fit, cover);
	}

	.hero.hero--intrinsic:not(.hero--carousel) .hero__container {
		display: none;
	}

	/* v3 stage with overlay content */
	.hero-v3.hero--has-overlay .hero-v3-stage {
		aspect-ratio: 4 / 5;
		height: auto;
		min-height: 0;
	}

	.hero-v3.hero--has-overlay .hero-v3-stage__media {
		inset: 0;
		min-height: 0;
		position: absolute;
	}

	.hero-v3.hero--has-overlay .hero-v3-stage__media .hero-responsive-media__image {
		height: 100%;
		min-height: 100%;
		object-fit: cover;
	}

	.hero-v3.hero--intrinsic .hero-v3-stage {
		height: auto;
		min-height: 0;
	}

	.hero-v3.hero--intrinsic .hero-v3-stage__media {
		position: relative;
		inset: auto;
		height: auto;
	}

	.hero-v3.hero--intrinsic .hero-v3-stage__media .hero-responsive-media__image {
		height: auto;
		min-height: 0;
		object-fit: contain;
	}

	/* v6 cinematic full-bleed */
	.hero-v6.hero--has-overlay {
		aspect-ratio: 4 / 5;
		height: auto;
		min-height: 0;
	}

	.hero-v6.hero--has-overlay .hero-v6__media .hero-responsive-media__image {
		height: 100%;
		min-height: 100%;
		object-fit: cover;
	}

	.hero-v6.hero--intrinsic {
		height: auto;
		min-height: 0;
	}

	.hero-v6.hero--intrinsic .hero-v6__media {
		position: relative;
		inset: auto;
		height: auto;
	}

	.hero-v6.hero--intrinsic .hero-v6__media .hero-responsive-media__image {
		height: auto;
		min-height: 0;
		object-fit: contain;
	}

	.hero--carousel .hero-slide__image,
	.hero--carousel .hero-responsive-media__image {
		object-fit: cover;
	}
}
