/* Apie mus — diagonalus serpantinis timeline */
body.hoptrans-gradient-landing #apie-hero + #apie-timeline-wrap,
body.hoptrans-gradient-landing .hoptrans-apie-hero + .hoptrans-apie-timeline-wrap {
	margin-top: 0 !important;
}

body.hoptrans-gradient-landing #apie-timeline-wrap,
body.hoptrans-gradient-landing .hoptrans-apie-timeline-wrap {
	background-color: #f4f2eb !important;
	background-image: none !important;
}

body.hoptrans-gradient-landing #apie-timeline-wrap > .row-bg-wrap,
body.hoptrans-gradient-landing .hoptrans-apie-timeline-wrap > .row-bg-wrap,
body.hoptrans-gradient-landing #apie-timeline-wrap .row-bg.using-bg-color,
body.hoptrans-gradient-landing .hoptrans-apie-timeline-wrap .row-bg.using-bg-color,
body.hoptrans-gradient-landing #apie-timeline-wrap .row-bg-overlay,
body.hoptrans-gradient-landing .hoptrans-apie-timeline-wrap .row-bg-overlay {
	background: transparent !important;
	background-image: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine {
	--ht-ink: #1a5c30;
	--ht-ink-soft: rgba(13, 31, 18, 0.72);
	--ht-muted: rgba(13, 31, 18, 0.5);
	--ht-line: #1a5c30;
	--ht-line-soft: rgba(26, 92, 48, 0.2);
	/* Keep dissolve ≪ scrub segment time, or later milestones stay ghosted. */
	--ht-dissolve: 0.55s;
	--ht-shift: 0.85s;
	position: relative;
	padding: clamp(0.25rem, 1vw, 0.75rem) 0 clamp(3rem, 8vw, 5rem);
	background: transparent;
	overflow: visible;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__inner {
	max-width: 100%;
	margin: 0 auto;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__header {
	max-width: min(720px, 100%);
	margin: 0 auto clamp(28px, 4vw, 48px);
	padding: 0 max(16px, clamp(0.75rem, 2vw, 1.5rem));
	text-align: left;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__heading {
	margin: 0 0 12px;
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 600;
	line-height: 1.15;
	color: var(--hop-ink, #1c2e20);
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__intro-lead {
	margin: 0 0 10px;
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	font-weight: 600;
	line-height: 1.45;
	color: var(--hop-ink, #1c2e20);
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__intro-text {
	margin: 0;
	font-size: clamp(0.95rem, 1.3vw, 1.05rem);
	line-height: 1.65;
	color: rgba(13, 31, 18, 0.72);
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-title {
	margin: 0 0 6px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--hop-ink, #1c2e20);
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__viewport {
	overflow: visible;
	max-width: none;
	margin: 0 auto;
	padding: 0 clamp(0.75rem, 2vw, 1.5rem) clamp(2rem, 5vw, 3.5rem);
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__canvas {
	position: relative;
	width: 100%;
	height: clamp(460px, 50vw, 560px);
	margin: 0 auto;
	overflow: visible;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
	z-index: 1;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__path-base,
body.hoptrans-gradient-landing .hoptrans-apie-timeline__path-draw {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__path-base {
	stroke: var(--ht-line-soft);
	stroke-width: 2;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__path-draw {
	stroke: var(--ht-line);
	stroke-width: 2.5;
	stroke-dasharray: 8000;
	stroke-dashoffset: 8000;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stops {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	overflow: visible;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop {
	position: absolute;
	transform: translate(-50%, -50%);
	width: clamp(170px, 13vw, 210px);
	min-height: 1px;
	opacity: 0;
	pointer-events: auto;
	cursor: pointer;
	overflow: visible;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop:not(.is-exiting) {
	transition:
		opacity var(--ht-dissolve) cubic-bezier(0.33, 0, 0.2, 1),
		left var(--ht-shift) cubic-bezier(0.33, 0, 0.2, 1),
		top var(--ht-shift) cubic-bezier(0.33, 0, 0.2, 1);
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-entering:not(.is-revealed) {
	opacity: 0;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-revealed,
body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-entering.is-revealed {
	opacity: 1;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-exiting {
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--ht-dissolve) cubic-bezier(0.33, 0, 0.2, 1);
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-hidden {
	visibility: hidden;
	pointer-events: none;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-inner {
	position: relative;
	width: 100%;
	transform: scale(1);
	transform-origin: center center;
	transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-active .hoptrans-apie-timeline__stop-inner {
	transform: scale(1.14);
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-head {
	position: absolute;
	left: 50%;
	bottom: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: baseline;
	gap: 0.4rem;
	white-space: nowrap;
	padding-bottom: 52px;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-connector {
	position: absolute;
	left: 50%;
	width: 1.5px;
	background: var(--ht-line);
	transform: translateX(-50%) scaleY(0);
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-connector--up {
	bottom: 50%;
	height: 52px;
	transform-origin: center bottom;
	transition: transform 1.8s cubic-bezier(0.22, 1, 0.36, 1), opacity var(--ht-dissolve) ease-in-out;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-connector--down {
	top: 50%;
	height: 100px;
	transform-origin: center top;
	transition: transform 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.1s, opacity var(--ht-dissolve) ease-in-out;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-exiting .hoptrans-apie-timeline__stop-connector--up,
body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-exiting .hoptrans-apie-timeline__stop-connector--down,
body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop:not(.is-revealed) .hoptrans-apie-timeline__stop-connector--up,
body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop:not(.is-revealed) .hoptrans-apie-timeline__stop-connector--down {
	opacity: 0;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-revealed .hoptrans-apie-timeline__stop-connector--up,
body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-revealed .hoptrans-apie-timeline__stop-connector--down {
	transform: translateX(-50%) scaleY(1);
	opacity: 1;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-body {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%);
	padding-top: 100px;
	max-width: clamp(155px, 12vw, 200px);
	width: max-content;
	text-align: left;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-year {
	font-family: "Outfit", sans-serif;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--ht-ink);
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-body p {
	margin: 0 0 0.45rem;
	font-family: "Outfit", sans-serif;
	font-size: 0.76rem;
	line-height: 1.5;
	color: var(--ht-muted);
	font-style: italic;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-body p:last-child {
	margin-bottom: 0;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-active .hoptrans-apie-timeline__stop-year {
	color: var(--ht-ink);
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-active .hoptrans-apie-timeline__stop-body p {
	color: var(--ht-ink-soft);
	font-style: normal;
}

body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop:focus-visible {
	outline: 2px solid var(--ht-line);
	outline-offset: 8px;
	border-radius: 4px;
}

@media (max-width: 767px) {
	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine {
		--ht-dissolve: 0.35s;
		--ht-shift: 0.45s;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline__canvas {
		height: clamp(420px, 115vw, 540px);
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop {
		width: 148px;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop.is-active .hoptrans-apie-timeline__stop-inner {
		transform: scale(1.1);
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-head {
		padding-bottom: 40px;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-connector--up {
		height: 40px;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-connector--down {
		height: 80px;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-body {
		padding-top: 80px;
		max-width: 140px;
	}

	/*
	 * Mobile static mode (JS adds .is-mobile-static): vertical readable list.
	 * Avoids horizontal scrub + slow opacity dissolve leaving years ghosted.
	 */
	body.hoptrans-gradient-landing #apie-timeline-wrap:has(.is-mobile-static),
	body.hoptrans-gradient-landing .hoptrans-apie-timeline-wrap:has(.is-mobile-static) {
		overflow: visible;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static {
		overflow: visible;
		padding-bottom: 1.5rem;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__viewport {
		overflow: visible;
		padding-bottom: 0.5rem;
		padding-left: max(16px, env(safe-area-inset-left, 0px));
		padding-right: max(16px, env(safe-area-inset-right, 0px));
		box-sizing: border-box;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__canvas {
		position: relative;
		height: auto !important;
		min-height: 0;
		overflow: visible;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__svg {
		display: none;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stops {
		position: relative;
		inset: auto;
		display: flex;
		flex-direction: column;
		gap: 0;
		padding: 0 0 0 1.1rem;
		border-left: 2px solid var(--ht-line-soft);
		pointer-events: auto;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stop {
		position: relative;
		left: auto !important;
		top: auto !important;
		transform: none;
		width: 100%;
		max-width: none;
		min-height: 0;
		opacity: 1;
		visibility: visible;
		margin: 0 0 1.35rem;
		padding: 0;
		cursor: default;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stop:last-child {
		margin-bottom: 0;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stop.is-hidden,
	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stop.is-exiting {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stop-inner {
		transform: none !important;
		padding-left: 0.85rem;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stop-inner::before {
		content: '';
		position: absolute;
		left: -1.1rem;
		top: 0.35rem;
		width: 10px;
		height: 10px;
		margin-left: -5px;
		border-radius: 50%;
		background: var(--ht-line);
		box-shadow: 0 0 0 3px #f4f2eb;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stop-head {
		position: static;
		left: auto;
		bottom: auto;
		transform: none;
		padding: 0;
		margin: 0 0 0.35rem;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stop-connector {
		display: none;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stop-body {
		position: static;
		left: auto;
		top: auto;
		transform: none;
		padding: 0;
		max-width: none;
		width: 100%;
		text-align: left;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stop-year {
		font-size: 1.05rem;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stop-body p {
		font-size: 0.88rem;
		line-height: 1.55;
		font-style: normal;
		color: var(--ht-ink-soft);
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static .hoptrans-apie-timeline__stop-title {
		font-style: normal;
		margin-bottom: 0.35rem;
	}

	/* Staggered fade-in when section becomes visible */
	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static.is-visible .hoptrans-apie-timeline__stop {
		animation: hoptrans-timeline-mobile-in 0.45s ease both;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static.is-visible .hoptrans-apie-timeline__stop:nth-child(1) { animation-delay: 0.02s; }
	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static.is-visible .hoptrans-apie-timeline__stop:nth-child(2) { animation-delay: 0.06s; }
	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static.is-visible .hoptrans-apie-timeline__stop:nth-child(3) { animation-delay: 0.1s; }
	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static.is-visible .hoptrans-apie-timeline__stop:nth-child(4) { animation-delay: 0.14s; }
	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static.is-visible .hoptrans-apie-timeline__stop:nth-child(5) { animation-delay: 0.18s; }
	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static.is-visible .hoptrans-apie-timeline__stop:nth-child(6) { animation-delay: 0.22s; }
	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static.is-visible .hoptrans-apie-timeline__stop:nth-child(7) { animation-delay: 0.26s; }
	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static.is-visible .hoptrans-apie-timeline__stop:nth-child(8) { animation-delay: 0.3s; }
	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static.is-visible .hoptrans-apie-timeline__stop:nth-child(9) { animation-delay: 0.34s; }
}

@keyframes hoptrans-timeline-mobile-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.hoptrans-gradient-landing .hoptrans-apie-timeline__path-draw,
	body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop,
	body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-connector,
	body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-inner {
		transition: none !important;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop {
		opacity: 1;
		visibility: visible;
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-connector--up,
	body.hoptrans-gradient-landing .hoptrans-apie-timeline__stop-connector--down {
		transform: translateX(-50%) scaleY(1);
	}

	body.hoptrans-gradient-landing .hoptrans-apie-timeline--serpentine.is-mobile-static.is-visible .hoptrans-apie-timeline__stop {
		animation: none !important;
	}
}

