/* ==========================================================================
   Animationen — ausschliesslich transform, nie opacity:0 als Startzustand.
   Inhalte bleiben ohne JavaScript vollständig sichtbar, nur leicht versetzt.
   ========================================================================== */

.reveal {
	transform: translateY(28px);
	transition: transform 640ms var(--ease-out);
	will-change: transform;
}

.reveal.is-visible {
	transform: translateY(0);
}

/* Gestaffelte Reveals innerhalb derselben Sektion */
.reveal:nth-child(2) { transition-delay: 60ms; }
.reveal:nth-child(3) { transition-delay: 120ms; }
.reveal:nth-child(4) { transition-delay: 180ms; }
.reveal:nth-child(5) { transition-delay: 240ms; }

.service-row.reveal {
	transform: translateX(-20px);
}

.service-row.reveal.is-visible {
	transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {
	.reveal,
	.reveal.is-visible,
	.service-row.reveal,
	.service-row.reveal.is-visible {
		transform: none;
		transition: none;
	}
}

/* Hero: sanfte Einblendung beim Laden, nur Transform */
.hero-slide__eyebrow,
.hero-slide__title,
.hero-slide__subtitle,
.hero-slide__content .btn {
	transform: translateY(18px);
	transition: transform 700ms var(--ease-out);
}

.hero-slide__title { transition-delay: 80ms; }
.hero-slide__subtitle { transition-delay: 160ms; }
.hero-slide__content .btn { transition-delay: 240ms; }

body.hero-loaded .hero-slide__eyebrow,
body.hero-loaded .hero-slide__title,
body.hero-loaded .hero-slide__subtitle,
body.hero-loaded .hero-slide__content .btn {
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.hero-slide__eyebrow,
	.hero-slide__title,
	.hero-slide__subtitle,
	.hero-slide__content .btn {
		transform: none;
		transition: none;
	}
}

/* ---------- Kartenhafte Hover/Press-Feedback ---------- */

.split-section__media,
.service-row__link,
.btn {
	transition: transform var(--duration) var(--ease-out);
}

.hero-slider__dot,
.burger-line {
	transition-timing-function: var(--ease-out);
}
