/**
 * Standards FM — inner-page hero.
 *
 * A fixed 60vh band showing the page/post featured image behind the fixed
 * transparent header (blends with the header's own transparency, exactly like
 * the front hero). Title sits bottom-left; no-image pages get a navy fallback.
 */

.sfm-has-hero .site-main {
	max-width: none;
	margin: 0;
	padding: 0;
}

.page-hero {
	--ph-container: 1280px;
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 100%;
	min-height: clamp(460px, 52vh, 660px);
	min-height: clamp(460px, 52svh, 660px);
	overflow: hidden;
	background-size: cover;
	background-position: center;
	background-color: #1a2f6e;
	color: #fff;
	font-family: var(--sfm-font-sans);
	font-weight: var(--sfm-weight-medium);
}

.page-hero--noimg {
	background-color: #0c1a4a;
}

.page-hero__scrim {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(10, 20, 70, 0.40) 0%, rgba(10, 20, 70, 0.10) 60%, rgba(10, 20, 70, 0.24) 100%),
		rgb(22 44 130 / 0.32);
	mix-blend-mode: multiply;
}

.page-hero__scrim::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(5, 12, 45, 0.42) 0%, transparent 35%);
}

.page-hero__wrap {
	position: relative;
	z-index: 1;
	width: min(var(--ph-container), 100% - 48px);
	margin-inline: auto;
	padding: 120px 24px 56px;
}

.page-hero__title {
	margin: 0 0 8px;
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1.12;
	font-weight: var(--sfm-weight-medium);
}

.page-hero__meta {
	margin: 0;
	font-size: 17px;
	color: rgba(255, 255, 255, 0.7);
}

/* Lead line under the title (e.g. the Projects page hero). */
.page-hero__desc {
	max-width: 700px;
	margin: 0;
	font-size: var(--sfm-text-xl);
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.82);
}

/* Centered variant (Projects page): centered title + lead, taller band so the
 * overlapping filter bar below clears the text. */
.page-hero--center {
	align-items: center;
	min-height: clamp(560px, 62vh, 760px);
	min-height: clamp(560px, 62svh, 760px);
}

.page-hero--center .page-hero__wrap {
	text-align: center;
	padding: 150px 24px 130px;
}

.page-hero--center .page-hero__title {
	margin-bottom: 16px;
}

.page-hero--center .page-hero__desc {
	margin-inline: auto;
}

/* Mobile: compact band — no vast dead space between header and title. */
@media (max-width: 640px) {
	.page-hero {
		height: auto;
		min-height: clamp(250px, 34svh, 340px);
	}

	.page-hero__wrap {
		padding: 64px 24px 28px;
	}

	.page-hero__title {
		font-size: clamp(30px, 8vw, 40px);
	}

	.page-hero__meta {
		font-size: var(--sfm-text-md);
	}

	.page-hero__desc {
		font-size: var(--sfm-text-base);
	}
}

/* Centered variant keeps a tall band on small screens (filter bar overlaps it). */
@media (max-width: 640px) {
	.page-hero--center {
		height: auto;
		min-height: 460px;
	}

	.page-hero--center .page-hero__wrap {
		padding: 96px 22px 150px;
	}

	.page-hero--center .page-hero__title {
		font-size: clamp(34px, 9vw, 44px);
	}
}

/* Landscape / short viewports: never force the band taller than the screen. */
@media (orientation: landscape) and (max-height: 560px) {
	.page-hero {
		min-height: 100vh;
		min-height: 100svh;
	}

	.page-hero__wrap {
		padding: 84px 24px 20px;
	}

	.page-hero__title {
		font-size: clamp(26px, 5vw, 40px);
	}
}

/* Content below the hero (constraint restored) */
.page-body {
	max-width: var(--sfm-container);
	margin: 0 auto;
	padding: 48px 24px 80px;
}
