/* Image / Text Split Section — Figma 2009-3402 */

.image-text {
	background: #f5f5f5;
	padding-top:    var( --it-pt, 3rem );
	padding-bottom: var( --it-pb, 3rem );
	margin-top:     var( --it-mt, 0rem );
	margin-bottom:  var( --it-mb, 0rem );
}

.image-text__inner {
	max-width: 90rem;
	margin: 0 auto;
	padding: 0 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5.25rem;            /* 84px */
}

.image-text--image-left .image-text__inner { flex-direction: row-reverse; }

.image-text__content {
	flex: 1 1 40.75rem;      /* 652px */
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1.5625rem;          /* 25px */
}

/* SITE-WIDE SPACING STANDARD: eyebrow -> heading = 0.75rem, heading -> body = 0. */
.image-text__text { display: flex; flex-direction: column; gap: 0; }

.image-text__eyebrow {
	font-family: 'Jost', system-ui, sans-serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.25rem;
	text-transform: uppercase;
	line-height: 1.35;
	color: rgba( 0, 13, 38, 0.7 );
	margin: 0 0 0.75rem;
}

.image-text__heading {
	font-family: 'Quincy', Georgia, serif;
	font-size: clamp( 2.25rem, 4.5vw, 3.5rem );   /* 36 → 64px */
	font-weight: 400;
	line-height: 1.15;
	color: #000d26;
	margin: 0;
}

.image-text__body {
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 1.125rem;
	line-height: 1.35;
	color: rgba( 0, 13, 38, 0.8 );
	margin: 0;               /* heading -> body tight (0), matching site standard */
}
/* Space BETWEEN body paragraphs only */
.image-text__body + .image-text__body { margin-top: 1rem; }

.image-text__cta {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	justify-content: center;
	background: #0b5cff;
	color: #fff;
	padding: 1rem 1.5rem;
	border-radius: 0.5rem;
	font-family: 'Source Sans 3', system-ui, sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: filter 0.15s, transform 0.05s;
}
.image-text__cta:hover { filter: brightness( 0.95 ); color: #fff; }
.image-text__cta:active { transform: translateY( 1px ); }

.image-text__media {
	flex: 0 0 34rem;         /* 544px */
	max-width: 34rem;
}

.image-text__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 544 / 694;
	object-fit: cover;
	border-radius: 1rem;     /* 16px */
}

/* Optional image-height presets (desktop/tablet side-by-side layout only) */
@media (min-width: 901px) {
	.image-text.is-imgh-short .image-text__img { aspect-ratio: 3 / 2; }
	.image-text.is-imgh-tall  .image-text__img { aspect-ratio: 4 / 5; }
}

/* ── Responsive ── */
@media (max-width: 1200px) {
	.image-text__inner { padding: 0 3rem; gap: 3rem; }
	.image-text__media { flex-basis: 28rem; }
}

@media (max-width: 900px) {
	.image-text__inner,
	.image-text--image-left .image-text__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 2.5rem;
		padding: 0 1.5rem;
	}
	.image-text__content { flex-basis: auto; }
	.image-text__media { flex-basis: auto; max-width: 100%; align-self: stretch; }
	.image-text__img { aspect-ratio: 16 / 9; }
}

@media (max-width: 600px) {
	.image-text {
		padding-top:    var( --it-pt-m, var( --it-pt, 3rem ) );
		padding-bottom: var( --it-pb-m, var( --it-pb, 3rem ) );
		margin-top:     var( --it-mt-m, var( --it-mt, 0rem ) );
		margin-bottom:  var( --it-mb-m, var( --it-mb, 0rem ) );
	}
	.image-text__inner,
	.image-text--image-left .image-text__inner { padding: 0 1rem; }
	.image-text__cta { align-self: stretch; }
	.image-text__img { aspect-ratio: 16 / 9; }
}

@media (max-width: 360px) {
	.image-text__inner,
	.image-text--image-left .image-text__inner { padding: 0 0.875rem; }
}
