/* ==========================================================================
   Hero Section
   ========================================================================== */

.section-hero {
	position: relative;
	height: clamp(360px, 45.3vw, 751px);
	/* keep desktop composition proportional down to narrow desktop widths */
	background: var(--color-bg-hero);
	overflow: hidden;
}

.section-hero__media {
	position: absolute;
	inset: 0;
	background-image: var(--hero-desktop-bg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

/* Fade the baked-in studio background on the right side to match the section bg — desktop only */
@media (min-width: 769px) {
	.section-hero__media::after {
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(to right, transparent 48%, var(--color-bg-hero) 72%);
	}
}

.section-hero__container {
	position: relative;
	height: 100%;
}

.section-hero__heading {
	margin: 0;
}

.section-hero__title {
	position: absolute;
	display: block;
	font-family: var(--font-heading);
	font-weight: var(--font-weight-bold);
	font-size: clamp(5.75rem, 12.06vw, 12.5rem);
	/* 200px at 1658 */
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.section-hero__title--blue {
	left: 42.88%;
	/* 711 / 1658 */
	top: 20.24%;
	/* 152 / 751 */
	color: var(--color-blue-gray);
}

.section-hero__title--dark {
	left: 47.35%;
	/* 785 / 1658 */
	top: 41.41%;
	/* 311 / 751 */
	color: var(--color-dark-gray);
}

.section-hero__subtitle {
	position: absolute;
	left: 50.12%;
	/* 831 / 1658 */
	top: 65.91%;
	/* 495 / 751 */
	margin: 0;
	font-family: var(--font-heading);
	font-weight: var(--font-weight-semibold);
	font-size: clamp(1.125rem, 2.314vw, 2.39875rem);
	/* 38.38px at 1658 */
	line-height: 1;
	text-transform: uppercase;
	color: var(--color-dark-gray);
	max-width: 45.84%;
	/* 760 / 1658 */
}

@media (min-width: 769px) and (max-width: 1100px) {
	.section-hero__subtitle {
		max-width: none;
		font-size: clamp(1.125rem, 2.314vw, 1.6rem);
		white-space: nowrap;
	}
}

/* --- Mobile (≤ 768px) --- */
@media (max-width: 768px) {
	.section-hero {
		height: 0;
		padding-bottom: 180.53%;
		/* 677 / 375 aspect ratio */
	}

	.section-hero__container {
		position: absolute;
		inset: 0;
		height: auto;
	}

	.section-hero__media {
		background-image: var(--hero-mobile-bg);
		background-size: cover;
		background-position: center center;
	}

	.section-hero__title {
		font-size: 24.53vw;
		/* 92 / 375 */
	}

	.section-hero__title--blue {
		left: 5.6%;
		/* 21 / 375 */
		top: 4.28%;
		/* 29 / 677 */
	}

	.section-hero__title--dark {
		left: 14.72%;
		/* 55.2 / 375 */
		top: 15.14%;
		/* 102.48 / 677 */
	}

	.section-hero__subtitle {
		left: 25.6%;
		/* 96 / 375 */
		top: 28.07%;
		/* 190 / 677 */
		font-size: 6.4vw;
		/* 24 / 375 */
		line-height: 1;
		max-width: 64%;
		/* 240 / 375 */
	}
}
