/**
 * Homepage scroll: hero → dark section blend, parallax, content reveal.
 */

:root {
	--gt-scroll-dark: #0a1628;
	--gt-scroll-hero-overlap: -80px;
	--gt-hero-energy-blend: var(--gt-navy, #005282);
}

/* —— Hero blend (curved bottom · fade into dark) —— */
.gt-hero-carousel.gt-hero-scroll-blend {
	position: relative;
	z-index: 2;
}

.gt-hero-carousel.gt-hero-scroll-blend .gt-hero-carousel__media {
	clip-path: polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0 90%);
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0 90%);
}

.gt-hero-carousel__scroll-fade {
	display: none;
}

/* Parallax layer (extra height prevents gaps when translated) */
.gt-hero-carousel__parallax {
	position: absolute;
	left: 0;
	right: 0;
	top: -12%;
	height: 124%;
	will-change: transform;
}

.gt-hero-carousel__parallax .gt-hero-carousel__image,
.gt-hero-carousel__parallax .gt-hero-carousel__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

/* First section after hero overlaps behind curve */
.prototype-main > .gt-hero-carousel + section,
.prototype-main > .prototype-hero--energy + section {
	position: relative;
	z-index: 1;
	margin-top: var(--gt-scroll-hero-overlap);
}

/* Energy hero → Location: ίδιο μπλε παντού (αντί #021524 + #f4f8fb) */
.prototype-main > .prototype-hero--energy + .gt-lop {
	--gt-hero-energy-blend: var(--gt-navy, #005282);
	--gt-lop-color-above: var(--gt-navy, #005282) !important;
	--gt-lop-bg: var(--gt-navy, #005282) !important;
	background-color: var(--gt-navy, #005282) !important;
}

.prototype-main:has(> .prototype-hero--energy + .gt-lop) {
	background-color: var(--gt-navy, #005282);
}

/* Disable whole-section gt-reveal when child scroll-animate runs */
.prototype-main > .gt-hero-carousel ~ section.gt-reveal,
.prototype-main > .prototype-hero--energy ~ section.gt-reveal,
.gt-reveal.gt-after-strategic,
.gt-reveal.gt-spv2-after {
	opacity: 1;
	transform: none;
	transition: none;
	will-change: auto;
}

.gt-strategic-panels .gt-scroll-animate,
.gt-after-strategic .gt-scroll-animate {
	opacity: 1;
	transform: none;
	transition: none;
}

/* —— Scroll content reveal —— */
.gt-scroll-animate.animate-ready {
	opacity: 0;
	transform: translate3d(0, 32px, 0);
	transition:
		opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--gt-scroll-stagger, 0s);
}

.gt-scroll-animate.animate-in {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
	.gt-hero-carousel__parallax {
		transform: none !important;
	}

	.gt-scroll-animate.animate-ready {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
