/* HERO — pinned scroll reveal */
.alston-hero {
	background: #000;
	width: 100%;
	color: #fff;
}

/* Pinned container with progress vars driven by GSAP */
.alston-hero__reveal {
	--split: 0;
	--img: 0;
	--grow: 0;
	--fullText: 0;
	height: 100dvh;
	width: 100%;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Heading base */
.alston-hero__heading {
	margin: 0;
	font-family: "Cormorant Garamond", "Times New Roman", serif;
	font-weight: 500;
	letter-spacing: -0.015em;
	line-height: 1.05;
	color: #fff;
	text-align: center;
	width: min(1200px, 92vw);
	z-index: 3;
}

/* Phase 1 — split heading */
.alston-hero__heading--split {
	font-size: clamp(34px, 4.4vw, 72px);
	white-space: nowrap;
	opacity: calc(1 - var(--grow));
}

.alston-hero__heading-left,
.alston-hero__heading-right {
	display: inline-block;
	will-change: transform;
}

.alston-hero__heading-left {
	transform: translate3d(calc(var(--split) * (-40vw + 100%)), 0, 0);
}

.alston-hero__heading-right {
	transform: translate3d(calc(var(--split) * (40vw - 100%)), 0, 0);
	font-style: italic;
	color: #c9a961; /* gold accent on second word, matches Alston brand */
}

/* Phase 2 — fullscreen heading */
.alston-hero__heading--full {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) scale(calc(0.85 + (0.15 * var(--fullText))));
	font-size: clamp(38px, 6.5vw, 96px);
	font-style: italic;
	opacity: var(--fullText);
	will-change: transform, opacity;
	pointer-events: none;
	z-index: 4;
}

/* MEDIA */
.alston-hero__media {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	overflow: hidden;
	width: calc(min(520px, 78vw) + ((100vw - min(520px, 78vw)) * var(--grow)));
	height: calc(
		(min(520px, 78vw) * 0.625) +
		((100dvh - (min(520px, 78vw) * 0.625)) * var(--grow))
	);
	border-radius: calc(16px - (16px * var(--grow)));
	box-shadow: 0 20px 60px rgba(0, 0, 0, calc(0.45 - (0.45 * var(--grow))));
	transform: translate(-50%, -50%) scale(var(--img));
	transform-origin: center;
	will-change: transform, width, height, border-radius, box-shadow;
}

.alston-hero__media-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Scroll indicator */
.alston-hero__scroll-indicator {
	position: absolute;
	bottom: 100px;
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 5;
	pointer-events: none;
	opacity: calc(1 - var(--grow));
	animation: alstonMouseFloat 2.2s ease-in-out infinite;
}

.alston-hero__scroll-indicator img {
	width: 40px;
	height: auto;
	display: block;
}

@keyframes alstonMouseFloat {
	0%   { transform: translate(-50%, 0px); }
	50%  { transform: translate(-50%, 10px); }
	100% { transform: translate(-50%, 0px); }
}

/* Mobile */
@media (max-width: 768px) {
	.alston-hero__heading--split {
		white-space: normal;
	}
	.alston-hero__heading-left {
		transform: translate3d(calc(var(--split) * (-18vw)), 0, 0);
	}
	.alston-hero__heading-right {
		transform: translate3d(calc(var(--split) * (18vw)), 0, 0);
	}
}