/* ==========================================================================
   ANIMATIONS
   ========================================================================== */

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, opacity;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.15s; }
.reveal-delay-2 { transition-delay: 0.3s; }
.reveal-delay-3 { transition-delay: 0.45s; }
.reveal-delay-4 { transition-delay: 0.6s; }

/* Startseite: keine Scroll-/Einblend-Animationen */
.page-home .reveal,
.page-home .fade-in,
.page-home .fade-in-left {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

.animated-counter {
    font-family: var(--font-heading);
    transition: var(--transition-smooth);
}
