/* ==========================================================================
   Animationen — Scroll-Reveal, Micro-Interactions, Header-Verdichtung
   Reveal animiert ausschließlich über transform (nie opacity:0 als
   Startzustand) — Inhalte bleiben in Full-Page-Renders/Crawlern immer
   sichtbar, auch ohne JS.
   ========================================================================== */

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

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

.site-header__inner,
.site-logo img {
	transition: height var(--dur-base) var(--ease-out), max-height var(--dur-base) var(--ease-out);
}

.site-header {
	transition: box-shadow var(--dur-base) var(--ease-out);
}

.service-card__link:active {
	transform: scale(0.99);
}

.btn,
.ref-slider__btn,
.burger {
	transition: transform var(--dur-fast) var(--ease-out), background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);
}

.ref-slider__btn:hover {
	border-color: var(--accent);
	color: var(--accent);
}

.ref-slider__btn:active,
.burger:active {
	transform: scale(0.94);
}

.ref-slider__dot {
	transition: background-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}

.ref-slider__dot:hover {
	transform: scale(1.2);
}

.site-nav__list a,
.footer-nav a,
.footer-contact a {
	transition: color var(--dur-base) var(--ease-out);
}

.compare__handle {
	transition: box-shadow var(--dur-fast) var(--ease-out);
}

.compare__range:active + .compare__handle,
.compare:active .compare__handle {
	box-shadow: 0 10px 26px rgba(35, 37, 42, 0.4);
}
