/* ===================================
   EYB Ajans — Animations
   Awwwards Smooth GSAP-Ready CSS
   =================================== */

/* Note: Many animations will be handled via GSAP. 
   These are fallbacks and utility classes. */

[data-animate] {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1),
                transform 1s cubic-bezier(0.25, 1, 0.5, 1);
}

[data-animate].animated {
    opacity: 1;
    transform: translateY(0);
}

/* GSAP Text Splitting Fallback Wrapper */
.split-text-wrapper {
    display: inline-block;
    vertical-align: top;
}

.split-line {
    display: block;
    transform: translateY(100%);
    opacity: 0;
    transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1),
                opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}

.split-line.animated {
    transform: translateY(0);
    opacity: 1;
}

/* Floating Effects */
@keyframes float-soft {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

.floating-soft {
    animation: float-soft 6s ease-in-out infinite;
}

/* Background Gradients */
@keyframes bg-pan {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.bg-pan {
    background-size: 200% 200%;
    animation: bg-pan 10s ease infinite;
}

/* Hover Reveals */
.hover-reveal-img {
    overflow: hidden;
    border-radius: var(--radius-xl);
}

.hover-reveal-img img {
    transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
    transform: scale(1.05);
}

.hover-reveal-img:hover img {
    transform: scale(1);
}

/* Parallax Scale */
.parallax-scale {
    transition: transform 0.2s ease-out;
}

/* Reduce Motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    [data-animate], .split-line {
        opacity: 1;
        transform: none;
    }
}
