/* ==========================================================================
   Animationen — Reveals, Hover, sticky Header, Zähler
   Grundsatz: Startzustand bleibt opacity:1 (nur transform) — Inhalte sind
   damit auch ohne JS/für Crawler sofort vollständig lesbar.
   ========================================================================== */

.reveal {
	transform: translateY(28px);
	transition: transform 640ms var(--ease-out);
	transition-delay: var(--d, 0ms);
}
.reveal.is-visible { transform: translateY(0); }

.service-grid .reveal,
.team-grid .reveal { transition-duration: 560ms; }

@keyframes sbb-fade-up {
	from { transform: translateY(16px); }
	to { transform: translateY(0); }
}
.hero-appear {
	animation: sbb-fade-up 780ms var(--ease-out) both;
	animation-delay: var(--d, 0ms);
}

@media (prefers-reduced-motion: reduce) {
	.reveal { transform: none; transition: none; }
	.hero-appear { animation: none; }
}
