/**
 * Image Background & Content section styles.
 *
 * Figma Frame 133 (2267:12223): full-bleed image or video + 50% dark
 * overlay, centred white headline / deck, navy CTA. Min height 480px.
 */

.image-background-content {
	--ibc-min-height: 30rem; /* 480px */
	--ibc-pad-block: clamp(3.5rem, 6vw, 5.25rem); /* → 84px */
	--ibc-pad-inline: var(--container-gutter);
	--ibc-content-max: calc(76.375rem * var(--container-content-scale)); /* 1222px */
	--ibc-inner-gap: 4rem; /* 64px — copy ↔ CTA */
	--ibc-copy-gap: 2rem; /* 32px — headline ↔ description */
	--ibc-headline-max: calc(47.125rem * var(--container-content-scale)); /* 754px */
	--ibc-headline-size: var(--type-h2-size); /* → 38px */
	--ibc-deck-size: clamp(1rem, 1.5vw, 1.1875rem); /* → 19px */
	--ibc-overlay: rgba(50, 50, 50, 0.5);

	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--ibc-min-height);
	padding-block: var(--ibc-pad-block);
	overflow: clip;
	color: var(--color-white);
	background-color: #323232;
}

.image-background-content__media,
.image-background-content__video-wrap {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.image-background-content__image,
.image-background-content__video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.image-background-content__poster {
	display: none;
	position: absolute;
	inset: 0;
	z-index: 1;
}

.image-background-content__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-color: var(--ibc-overlay);
	pointer-events: none;
}

.image-background-content__inner {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--ibc-inner-gap);
	width: 100%;
	max-width: min(var(--container-max), var(--ibc-content-max));
	margin-inline: auto;
	padding-inline: var(--ibc-pad-inline);
	box-sizing: border-box;
	text-align: center;
}

.image-background-content__copy {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--ibc-copy-gap);
	width: 100%;
	color: var(--color-white);
}

.image-background-content__headline {
	margin: 0;
	width: 100%;
	max-width: var(--ibc-headline-max);
	font-family: var(--font-family-display);
	font-size: var(--ibc-headline-size);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -0.01em;
	text-align: center;
	color: var(--color-white);
	overflow-wrap: break-word;
}

.image-background-content__description {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	width: 100%;
	font-family: var(--font-family-sans);
	font-size: var(--ibc-deck-size);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0;
	text-align: center;
	color: var(--color-white);
	overflow-wrap: break-word;
}

.image-background-content__description > *:first-child {
	margin-block-start: 0;
}

.image-background-content__description > *:last-child {
	margin-block-end: 0;
}

.image-background-content__description p {
	margin: 0;
}

.image-background-content__cta {
	--btn-navy-font-size: 1rem;
	--btn-navy-font-weight: 400;
	--btn-navy-letter-spacing: 0.02em;
	--btn-navy-line-height: 1.2375;
	--btn-navy-border-radius: 1.875rem;
	--btn-navy-gap: 1.25rem;
	max-width: 100%;
	min-height: 3.875rem;
}

.image-background-content__cta-label {
	text-align: center;
}

.image-background-content__cta-icon {
	flex-shrink: 0;
}

.image-background-content__cta-icon img {
	display: block;
	width: auto;
}

@media (max-width: 47.9375rem) {
	.image-background-content {
		--ibc-inner-gap: 2.5rem;
		--ibc-copy-gap: 1.5rem;
		--ibc-min-height: 22rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.image-background-content--has-video .image-background-content__video-wrap {
		display: none;
	}

	.image-background-content--has-video .image-background-content__poster {
		display: block;
	}
}
