.layout-shell {
	width: min(calc(100% - (clamp(4.5rem, 5vw, 6.5rem) * 2)), 96rem);
	margin-inline: auto;
	padding-inline: 0;
}

.container {
	width: min(calc(100% - (clamp(4.5rem, 5vw, 6.5rem) * 2)), 96rem);
	margin-inline: auto;
}

.section {
	padding: var(--space-7) 0;
}

.section-stack {
	display: grid;
	gap: var(--space-3);
}

.hero-shell {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
	min-height: min(84vh, 60rem);
	background: var(--color-navy-deep);
	overflow: hidden;
	box-shadow: var(--shadow-elevated);
	position: relative;
	min-width: 0;
}

.hero-shell__media {
	position: relative;
	margin: 0;
	min-height: 32rem;
	overflow: hidden;
	min-width: 0;
}

.hero-shell__media img,
.hero-shell__media-placeholder {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

.hero-shell__image {
	filter: none;
	transform: none;
}

.hero-shell__media-placeholder {
	background:
		linear-gradient(90deg, rgba(7, 17, 29, 0.02), rgba(7, 17, 29, 0.34) 58%, rgba(7, 17, 29, 0.96)),
		radial-gradient(circle at 32% 38%, rgba(61, 109, 255, 0.14), transparent 34%),
		linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.04));
}

.hero-shell__content {
	display: grid;
	align-content: center;
	gap: var(--space-4);
	padding:
		clamp(3rem, 5vw, 5rem)
		clamp(2rem, 4vw, 4rem)
		clamp(3rem, 5vw, 5rem)
		clamp(4.75rem, 8vw, 8.5rem);
	background:
		linear-gradient(180deg, rgba(7, 17, 29, 0.96) 0%, rgba(10, 20, 34, 0.94) 64%, rgba(15, 26, 40, 0.9) 100%),
		radial-gradient(circle at top left, rgba(61, 109, 255, 0.08), transparent 42%);
	border-left: 1px solid rgba(255, 255, 255, 0.04);
	min-width: 0;
}

.site-header,
.site-footer {
	padding: var(--site-header-padding-block, var(--space-4)) 0;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	--site-header-padding-block-scrolled: calc(var(--space-4) * 0.5);
	--site-header-padding-block: var(--site-header-padding-block-scrolled);
	background:
		linear-gradient(180deg, rgba(7, 17, 29, 0.96) 0%, rgba(10, 20, 34, 0.94) 100%);
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.14);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: padding 220ms ease, background-color 220ms ease, box-shadow 220ms ease;
}

body.is-header-scrolled .site-header {
	--site-header-padding-block: var(--site-header-padding-block-scrolled);
	box-shadow: 0 14px 35px rgba(0, 0, 0, 0.18);
}

.site-header__inner,
.site-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	position: relative;
}

@media (max-width: 1600px) {
	.hero-shell {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	}

	.hero-shell__content {
		padding:
			clamp(2.5rem, 4.2vw, 4rem)
			clamp(1.75rem, 3.25vw, 3rem)
			clamp(2.5rem, 4.2vw, 4rem)
			clamp(3.5rem, 5vw, 5.5rem);
	}
}

@media (max-width: 900px) {
	.hero-shell {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.hero-shell__media {
		min-height: 20rem;
	}

	.hero-shell__content {
		padding: clamp(2rem, 5vw, 3rem);
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.04);
	}
}

@media (max-width: 640px) {
	.layout-shell,
	.container {
		width: min(calc(100% - 2rem), 96rem);
	}

	.section {
		padding: var(--space-6) 0;
	}

	.hero-shell__content {
		padding: 2rem 1.25rem 2.5rem;
	}
}
