/**
 * Strategic Panels v2 — desktop scroll strip + mobile stack.
 */

.gt-spv2 {
	--spv2-canvas-bg: #fff;
	--spv2-ink: #002d52;
	--spv2-ink-soft: rgb(0 45 82 / 0.85);
	--spv2-copy-text: #fff;
	--spv2-copy-overlay: rgb(0 0 0 / 0.1);
	--spv2-cta-border-copy: rgb(255 255 255 / 0.7);
	--spv2-cta-border-ink: rgb(0 45 82 / 0.45);
	--spv2-panel-radius: 12px;
	--spv2-copy-pad: clamp(2rem, 5vw, 5rem);
	--spv2-eyebrow-size: 0.75rem;
	--spv2-eyebrow-tracking: 0.15em;
	--spv2-title-size: clamp(2rem, 4vw, 3.5rem);
	--spv2-lead-size: clamp(0.95rem, 1.5vw, 1.1rem);
	--spv2-cta-size: 0.8rem;
	--spv2-cta-tracking: 0.1em;
	--spv2-title-max: 600px;
	--spv2-lead-max: 520px;
	--spv2-mobile-pad-x: 1.25rem;
	--spv2-mobile-pad-y: 2rem;
	--spv2-mobile-pad-bottom: 2.5rem;
	--spv2-mobile-eyebrow-size: 0.7rem;
	--spv2-mobile-title-size: clamp(1.75rem, 7vw, 2.25rem);
	--spv2-mobile-lead-size: 1rem;
	--spv2-mobile-cta-size: 0.75rem;
	--spv2-section-gap: 150px;

	position: relative;
	background: var(--spv2-canvas-bg);
}

/* Μόνο το επόμενο section — όχι * (έσπαγε όλα τα sections μετά) */
.gt-spv2--desktop + .gt-spv2--mobile + .gt-spv2-after,
.gt-spv2--desktop + .gt-spv2--mobile + .gt-land-sustain-v2,
.gt-spv2--desktop + .gt-spv2--mobile + .gt-land-sustain,
.gt-spv2--desktop + .gt-spv2--mobile + .gt-land-engineering {
	position: relative;
	z-index: 2;
	margin-top: var(--spv2-section-gap, 150px);
}

/* Όχι fade-up / scroll-effects — μόνο strategic scroll expand από πάνω */
.gt-reveal.gt-after-strategic,
.gt-reveal.gt-spv2-after {
	opacity: 1;
	transform: none;
}

/* ── Desktop ─────────────────────────────────────────────────── */

.gt-spv2--desktop .gt-spv2__track {
	position: relative;
}

.gt-spv2--desktop .gt-spv2__spacer {
	display: none;
}

.gt-spv2--desktop .gt-spv2__sticky {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: var(--spv2-canvas-bg);
}

.gt-spv2--desktop.gt-spv2--pinned .gt-spv2__sticky {
	z-index: 8;
	background: var(--spv2-canvas-bg);
}

.gt-spv2--desktop.gt-spv2--pinned.gt-spv2--hold .gt-spv2__sticky {
	z-index: 3;
}

.gt-spv2--desktop.gt-spv2--complete .gt-spv2__sticky {
	position: relative;
	z-index: auto;
}

.gt-spv2--desktop .gt-spv2__strip {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.gt-spv2--desktop .gt-spv2__panel {
	flex: 0 0 auto;
	overflow: hidden;
	position: relative;
	border-radius: var(--spv2-panel-radius);
}

.gt-spv2--desktop .gt-spv2__panel-media,
.gt-spv2--desktop .gt-spv2__panel-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

/* Full expand: strip + κεντρική εικόνα γεμίζουν το sticky */
.gt-spv2--desktop.gt-spv2--expanding .gt-spv2__strip,
.gt-spv2--desktop.gt-spv2--hold .gt-spv2__strip,
.gt-spv2--desktop.gt-spv2--complete .gt-spv2__strip,
.gt-spv2--desktop.gt-spv2--exiting .gt-spv2__strip {
	height: 100%;
	min-height: 100%;
}

.gt-spv2--desktop.gt-spv2--expanding .gt-spv2__panel[data-spv2-role='center'],
.gt-spv2--desktop.gt-spv2--hold .gt-spv2__panel[data-spv2-role='center'],
.gt-spv2--desktop.gt-spv2--complete .gt-spv2__panel[data-spv2-role='center'],
.gt-spv2--desktop.gt-spv2--exiting .gt-spv2__panel[data-spv2-role='center'] {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-height: 100%;
	border-radius: 0;
}

.gt-spv2--desktop.gt-spv2--expanding .gt-spv2__panel[data-spv2-role='center'] .gt-spv2__panel-media,
.gt-spv2--desktop.gt-spv2--hold .gt-spv2__panel[data-spv2-role='center'] .gt-spv2__panel-media,
.gt-spv2--desktop.gt-spv2--complete .gt-spv2__panel[data-spv2-role='center'] .gt-spv2__panel-media,
.gt-spv2--desktop.gt-spv2--exiting .gt-spv2__panel[data-spv2-role='center'] .gt-spv2__panel-media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.gt-spv2--desktop.gt-spv2--expanding .gt-spv2__panel[data-spv2-role='center'] .gt-spv2__panel-media img,
.gt-spv2--desktop.gt-spv2--hold .gt-spv2__panel[data-spv2-role='center'] .gt-spv2__panel-media img,
.gt-spv2--desktop.gt-spv2--complete .gt-spv2__panel[data-spv2-role='center'] .gt-spv2__panel-media img,
.gt-spv2--desktop.gt-spv2--exiting .gt-spv2__panel[data-spv2-role='center'] .gt-spv2__panel-media img {
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: center center;
}

.gt-spv2--desktop .gt-spv2__copy {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--spv2-copy-pad);
	opacity: 0;
	pointer-events: none;
	z-index: 10;
	background: transparent;
	color: var(--spv2-copy-text);
}

.gt-spv2--desktop .gt-spv2__copy::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--spv2-copy-overlay);
	pointer-events: none;
}

.gt-spv2--desktop .gt-spv2__copy > * {
	position: relative;
	z-index: 1;
}

.gt-spv2--desktop .gt-spv2__copy.is-visible {
	pointer-events: auto;
}

.gt-spv2--desktop .gt-spv2__eyebrow {
	font-size: var(--spv2-eyebrow-size);
	letter-spacing: var(--spv2-eyebrow-tracking);
	text-transform: uppercase;
	margin-bottom: 1rem;
	opacity: 0.7;
}

.gt-spv2--desktop .gt-spv2__title {
	font-size: var(--spv2-title-size);
	font-weight: 700;
	line-height: 1.1;
	margin-bottom: 1.5rem;
	max-width: var(--spv2-title-max);
}

.gt-spv2--desktop .gt-spv2__lead {
	font-size: var(--spv2-lead-size);
	line-height: 1.7;
	max-width: var(--spv2-lead-max);
	margin-bottom: 2rem;
	opacity: 0.85;
}

.gt-spv2--desktop .gt-spv2__copy .gt-spv2__cta {
	align-self: flex-start;
	pointer-events: auto;
}

.gt-spv2--desktop .gt-spv2__copy.is-visible .gt-spv2__cta {
	pointer-events: auto;
}

/* ── Responsive visibility ─────────────────────────────────── */

.gt-spv2--mobile {
	display: none;
}

@media (max-width: 767px) {
	.gt-spv2--desktop {
		display: none;
	}

	.gt-spv2--mobile {
		display: flex;
		flex-direction: column;
		background: var(--spv2-canvas-bg);
		color: var(--spv2-ink);
	}

	.gt-spv2--mobile .gt-spv2__mobile-media {
		width: 100%;
		aspect-ratio: 4 / 3;
		overflow: hidden;
	}

	.gt-spv2--mobile .gt-spv2__mobile-media img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	.gt-spv2--mobile .gt-spv2__mobile-copy {
		padding: var(--spv2-mobile-pad-y) var(--spv2-mobile-pad-x)
			var(--spv2-mobile-pad-bottom);
	}

	.gt-spv2--mobile .gt-spv2__eyebrow {
		font-size: var(--spv2-mobile-eyebrow-size);
		letter-spacing: var(--spv2-eyebrow-tracking);
		text-transform: uppercase;
		margin-bottom: 0.75rem;
		color: var(--spv2-ink-soft);
	}

	.gt-spv2--mobile .gt-spv2__title {
		font-size: var(--spv2-mobile-title-size);
		font-weight: 700;
		line-height: 1.15;
		margin-bottom: 1rem;
	}

	.gt-spv2--mobile .gt-spv2__lead {
		font-size: var(--spv2-mobile-lead-size);
		line-height: 1.65;
		margin-bottom: 1.5rem;
		color: var(--spv2-ink-soft);
	}

	.gt-spv2--mobile .gt-spv2__cta {
		align-self: flex-start;
	}
}

@media (min-width: 768px) {
	.gt-spv2--mobile {
		display: none;
	}
}
