/* ==========================================================================
   Block: Media+Text — Ambient Presentation 1 Override
   ========================================================================== */

/* ---- Section ---- */
.image-text.presentation1 {
	padding-block: 7.5rem;
}

/* ---- Container ---- */
.image-text.presentation1 .image-text__container {
	max-inline-size: var(--container-max-width);
}

/* ---- Row: image fills rest, text 627px, gap 92px ---- */
.image-text.presentation1 .image-text__row {
	align-items: center;
	gap: 5.75rem;
	grid-template-columns: 39.1875rem 1fr;
}

.image-text.presentation1 .image-text__row--swap {
	grid-template-columns: 1fr 39.1875rem;
}

.image-text.presentation1 .image-text__media img {
	block-size: auto;
	inline-size: 100%;
	object-fit: contain;
}

/* ---- Text content ---- */
.image-text.presentation1 .image-text__content {
	padding-block-start: 0;
}

/* ---- Title ---- */
.image-text.presentation1 .image-text__headline {
	font-size: 3.125rem;
	line-height: 3.75rem;
}

/* ---- Description ---- */
.image-text.presentation1 .image-text__wysiwyg {
	font-size: 1.3125rem;
	line-height: 1.625;
	padding-block-start: 1.25rem;
}

.image-text.presentation1 .image-text__wysiwyg p {
	font-size: inherit;
	line-height: inherit;
}

/* ---- Reset parent animations ---- */
.image-text.presentation1 .image-text__headline,
.image-text.presentation1 .image-text__wysiwyg,
.image-text.presentation1 .image-text__cta-wrapper,
.image-text.presentation1 .image-text__cta,
.image-text.presentation1 .image-text__media {
	animation: none;
	opacity: 1;
	transform: none;
}

/* ---- Image parallax container ---- */
.image-text.presentation1 .image-text__media {
	overflow: hidden;
}

.image-text.presentation1 .image-text__media img {
	transition: transform 0.1s linear;
}

/* ---- CTA wrapper ---- */
.image-text.presentation1 .image-text__cta-wrapper {
	padding-block-start: 1.875rem;
}

/* A row whose CTA repeater has rows but no filled links still outputs an
   empty wrapper, which shows up as extra blank space below the text
   (client note-7 #16). `:has(*)` ignores the whitespace text node that makes
   `:empty` miss it. */
.image-text .image-text__cta-wrapper:not(:has(*)) {
	display: none;
}

/* ---- CTA button: match .btn--primary style ---- */
.image-text.presentation1 a.image-text__cta,
.image-text.presentation1 button.image-text__cta {
	background-color: #020910;
	border: none;
	border-radius: 5rem;
	box-shadow: 0 0.25rem 1.5rem rgba(0, 0, 0, 0.25);
	color: #fff;
	display: inline-flex;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5rem;
	opacity: 1;
	padding-block: 1.1875rem;
	padding-inline: 1.9375rem;
	text-decoration: none;
	text-transform: uppercase;
	transform: none;
	white-space: nowrap;
}

.image-text.presentation1 a.image-text__cta:hover,
.image-text.presentation1 button.image-text__cta:hover {
	background-color: #F20786;
	box-shadow: 0 0.25rem 1.5rem rgba(0, 0, 0, 0.25);
	color: #fff;
	opacity: 1;
	transform: none;
}

/* ---- Background: Dark ---- */
.image-text.presentation1.image-text--dark {
	background-color: #020910;
	color: var(--color-white);
}

.image-text.presentation1.image-text--dark .image-text__headline {
	color: var(--color-white);
}

.image-text.presentation1.image-text--dark .image-text__wysiwyg {
	color: var(--color-white);
}

.image-text.presentation1.image-text--dark a.image-text__cta,
.image-text.presentation1.image-text--dark button.image-text__cta {
	background-color: var(--color-white);
	color: #020910;
}

.image-text.presentation1.image-text--dark a.image-text__cta:hover,
.image-text.presentation1.image-text--dark button.image-text__cta:hover {
	background-color: #F20786;
	color: #fff;
}

/* ---- Desktop only overrides ---- */
@media (min-width: 48.0625rem) {
	.image-text.presentation1 .image-text__row {
		padding-block-start: 4.6875rem;
	}
}

/* ---- Work Single: desktop only overrides ---- */
@media (min-width: 48.0625rem) {
	.image-text.presentation1.image-text--work-single .image-text__headline {
		font-size: 4.375rem;
		line-height: 4.375rem;
	}

	.image-text.presentation1.image-text--work-single .image-text__wysiwyg {
		padding-inline-start: 3.75rem;
	}
}

/* ---- Responsive: Mobile ---- */
@media (max-width: 48rem) {
	.image-text.presentation1 {
		padding-block: 5rem;
		padding-inline: 1.25rem;
	}

	.image-text.presentation1 .image-text__row {
		gap: 1.875rem;
		grid-template-columns: 1fr;
	}

	.image-text.presentation1 .image-text__media img {
		block-size: auto;
		object-fit: contain;
	}

	.image-text.presentation1 .image-text__content {
		padding-block-start: 0;
	}

	.image-text.presentation1 .image-text__headline {
		font-size: 2.2rem;
		line-height: 2.5rem;
	}

	.image-text.presentation1 .image-text__cta-wrapper {
		padding-block-start: 1.875rem;
	}

	/* Full-width CTA on narrow screens, matching the other block CTAs
	   (client note-5). */
	.image-text.presentation1 a.image-text__cta,
	.image-text.presentation1 button.image-text__cta {
		inline-size: 100%;
		justify-content: center;
		text-align: center;
		white-space: normal;
	}

	.image-text.presentation1 .image-text__wysiwyg {
		font-size: 1.125rem;
		line-height: 1.714;
	}
}
