/* Approved v0.5 static composition integrated with existing Hero media modes. */
.fsh-hero--canonical {
	border-bottom: 1px solid var(--fsh-color-line);
	background: var(--fsh-color-paper);
}

.fsh-hero--canonical .fsh-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	gap: 0;
	max-width: none;
	min-height: 0;
	margin: 0;
	padding: 0;
}

.fsh-hero--canonical .fsh-hero__copy {
	min-width: 0;
	padding: 2rem 1.375rem 2.5rem;
	background: var(--fsh-color-paper);
}

.fsh-hero--canonical .fsh-hero__vtext {
	display: none;
}

.fsh-hero--canonical .fsh-fade-up,
.fsh-hero--canonical .fsh-fade-up--delay {
	animation: none;
}

.fsh-hero--canonical .fsh-hero__eyebrow {
	color: var(--fsh-color-accent);
	font-size: clamp(0.6875rem, 1.7vw, 0.8125rem);
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1.6;
}

.fsh-hero--canonical .fsh-hero__title {
	max-width: 9.4em;
	margin-top: 0.8125rem;
	font-family: var(--fsh-font-serif);
	font-size: clamp(2.25rem, 6vw, 2.75rem);
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.28;
}

.fsh-hero--canonical .fsh-hero__title-chunk {
	display: block;
}

.fsh-hero--canonical .fsh-hero__lead {
	max-width: 31em;
	margin-top: 0.9375rem;
	color: var(--fsh-color-ink-soft);
	font-size: clamp(0.75rem, 1.8vw, 0.875rem);
	letter-spacing: 0.005em;
	line-height: 1.9;
}

.fsh-hero--canonical .fsh-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1.1875rem;
}

.fsh-hero--canonical .fsh-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.5625rem 1.125rem;
	border: 1px solid var(--fsh-color-accent);
	border-radius: 0;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.035em;
	line-height: 1.4;
	transition: none;
}

.fsh-hero--canonical .fsh-button--outline {
	border-color: var(--fsh-color-line);
	background: transparent;
	color: var(--fsh-color-ink);
	font-weight: 500;
}

.fsh-hero--canonical .fsh-hero__scene-wrap {
	position: relative;
	min-width: 0;
	min-height: 22rem;
}

.fsh-hero--canonical .fsh-hero__scene {
	position: relative;
	height: max(22rem, 48svh);
	min-height: 100%;
	border: 0;
	border-radius: 0;
	background: var(--fsh-color-paper-soft);
	box-shadow: none;
}

.fsh-hero--canonical .fsh-hero__poster,
.fsh-hero--canonical .fsh-hero__video {
	object-position: 86.5% 50%;
}

/* The endorsed header is the sole settled identity; legacy motion geometry stays intact. */
.fsh-hero--canonical .fsh-hero-motion__mark {
	display: none;
}

@media (min-width: 768px) and (max-width: 1023.98px) {
	.fsh-hero--canonical .fsh-hero__copy {
		padding: 4rem clamp(2rem, 6.1vw, 4.25rem) 4.5rem;
	}

	.fsh-hero--canonical .fsh-hero__title {
		margin-top: 1rem;
	}

	.fsh-hero--canonical .fsh-hero__lead {
		margin-top: 1.25rem;
	}

	.fsh-hero--canonical .fsh-hero__actions {
		gap: 0.625rem;
		margin-top: 1.5rem;
	}

	.fsh-hero--canonical .fsh-button {
		min-height: 2.9375rem;
		padding: 0.6875rem 1.4375rem;
		font-size: 0.8125rem;
	}

	.fsh-hero--canonical .fsh-hero__scene-wrap {
		min-height: 28rem;
	}

	.fsh-hero--canonical .fsh-hero__scene {
		height: max(28rem, 50svh);
	}
}

@media (min-width: 1024px) {
	.fsh-hero--canonical .fsh-hero__inner {
		grid-template-columns: minmax(0, 40.5%) minmax(0, 59.5%);
		min-height: calc(100svh - 4.25rem);
	}

	.fsh-hero--canonical .fsh-hero__copy {
		padding: clamp(5.5rem, 12.5vh, 7.5rem) clamp(2.5rem, 3.9vw, 3.5rem) 3rem
			clamp(4rem, 6.1vw, 5.5rem);
	}

	.fsh-hero--canonical .fsh-hero__eyebrow {
		font-size: 0.8125rem;
	}

	.fsh-hero--canonical .fsh-hero__title {
		margin-top: 1.125rem;
		font-size: clamp(2.75rem, 3.9vw, 3.5rem);
		line-height: 1.32;
	}

	.fsh-hero--canonical .fsh-hero__lead {
		margin-top: 1.5rem;
		font-size: 0.875rem;
		line-height: 2;
	}

	.fsh-hero--canonical .fsh-hero__actions {
		gap: 0.625rem;
		margin-top: 1.75rem;
	}

	.fsh-hero--canonical .fsh-button {
		min-height: 2.9375rem;
		padding: 0.6875rem 1.4375rem;
		font-size: 0.8125rem;
	}

	.fsh-hero--canonical .fsh-hero__scene-wrap,
	.fsh-hero--canonical .fsh-hero__scene {
		height: 100%;
		min-height: calc(100svh - 4.25rem);
	}

	.fsh-hero--canonical .fsh-hero__poster,
	.fsh-hero--canonical .fsh-hero__video {
		object-position: 81.5% 50%;
	}
}

@media (min-width: 1280px) {
	.fsh-hero--canonical .fsh-hero__vtext {
		top: clamp(5rem, 12.5vh, 7.5rem);
		display: block;
	}
}
