.inner-banner {
	position: relative;
	display: grid;
	/* One full-width column: the mirror base's .sbanner keeps justify-content: center, which would
	   otherwise shrink-wrap and centre an auto column. */
	grid-template-columns: minmax(0, 1fr);
	align-items: end;
	min-height: clamp(16rem, 32vw, 24rem);
	padding: 0;
	overflow: hidden;
	background: #0f1721;
	color: #fff;
}

.inner-banner__content {
	position: relative;
	/* Must beat the mirror base, which puts z-index: 1 on .sbanner-img (same element as __media). */
	z-index: 2;
	padding-top: 4rem;
	padding-bottom: 3rem;
	/* The mirror base already centres .breadcrumb (width: 90%; margin: 0 auto; text-align: center). */
	text-align: center;
}

.inner-banner__content h1 {
	margin: 0;
	font-size: clamp(2.2rem, 4vw, 3.8rem);
	/* components.css still caps .inner-banner h1 at 14ch for its legacy banner; the overlay needs full width. */
	max-width: none;
}

.inner-banner__breadcrumb {
	display: flex;
	flex-wrap: wrap;
	/* display: flex drops the mirror base's text-align: center, so centre the items instead. */
	justify-content: center;
	gap: 0.75rem;
	margin-top: 1rem;
}

.inner-banner__breadcrumb a,
.inner-banner__breadcrumb span {
	color: #fff;
	text-decoration: none;
	opacity: 0.92;
}

.inner-banner__media,
.inner-banner__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.inner-banner__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(9, 14, 23, 0.76), rgba(9, 14, 23, 0.32));
}

.inner-banner__media img {
	display: block;
	object-fit: cover;
}
