/* Enhanced Scroll Animations */

/* Custom animation delays for staggered effects */
[data-aos-delay="100"] { transition-delay: 0.1s !important; }
[data-aos-delay="150"] { transition-delay: 0.15s !important; }
[data-aos-delay="200"] { transition-delay: 0.2s !important; }
[data-aos-delay="250"] { transition-delay: 0.25s !important; }
[data-aos-delay="300"] { transition-delay: 0.3s !important; }
[data-aos-delay="350"] { transition-delay: 0.35s !important; }
[data-aos-delay="400"] { transition-delay: 0.4s !important; }
[data-aos-delay="450"] { transition-delay: 0.45s !important; }
[data-aos-delay="500"] { transition-delay: 0.5s !important; }
[data-aos-delay="550"] { transition-delay: 0.55s !important; }
[data-aos-delay="600"] { transition-delay: 0.6s !important; }
[data-aos-delay="650"] { transition-delay: 0.65s !important; }
[data-aos-delay="700"] { transition-delay: 0.7s !important; }
[data-aos-delay="750"] { transition-delay: 0.75s !important; }
[data-aos-delay="800"] { transition-delay: 0.8s !important; }
[data-aos-delay="850"] { transition-delay: 0.85s !important; }
[data-aos-delay="900"] { transition-delay: 0.9s !important; }
[data-aos-delay="950"] { transition-delay: 0.95s !important; }
[data-aos-delay="1000"] { transition-delay: 1s !important; }

/* Smooth transitions for all animated elements */
[data-aos] {
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform, opacity;
}

/* Enhanced fade animations */
[data-aos="fade-up"] {
    transform: translate3d(0, 50px, 0);
    opacity: 0;
}

[data-aos="fade-up"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

[data-aos="fade-down"] {
    transform: translate3d(0, -50px, 0);
    opacity: 0;
}

[data-aos="fade-down"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

[data-aos="fade-left"] {
    transform: translate3d(50px, 0, 0);
    opacity: 0;
}

[data-aos="fade-left"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

[data-aos="fade-right"] {
    transform: translate3d(-50px, 0, 0);
    opacity: 0;
}

[data-aos="fade-right"].aos-animate {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

/* Enhanced zoom animations */
[data-aos="zoom-in"] {
    transform: scale(0.8);
    opacity: 0;
}

[data-aos="zoom-in"].aos-animate {
    transform: scale(1);
    opacity: 1;
}

[data-aos="zoom-out"] {
    transform: scale(1.2);
    opacity: 0;
}

[data-aos="zoom-out"].aos-animate {
    transform: scale(1);
    opacity: 1;
}

/* Custom slide animations */
[data-aos="slide-up"] {
    transform: translate3d(0, 100%, 0);
}

[data-aos="slide-up"].aos-animate {
    transform: translate3d(0, 0, 0);
}

[data-aos="slide-down"] {
    transform: translate3d(0, -100%, 0);
}

[data-aos="slide-down"].aos-animate {
    transform: translate3d(0, 0, 0);
}

/* Flip animations */
[data-aos="flip-left"] {
    transform: perspective(2500px) rotateY(-100deg);
    opacity: 0;
}

[data-aos="flip-left"].aos-animate {
    transform: perspective(2500px) rotateY(0);
    opacity: 1;
}

[data-aos="flip-right"] {
    transform: perspective(2500px) rotateY(100deg);
    opacity: 0;
}

[data-aos="flip-right"].aos-animate {
    transform: perspective(2500px) rotateY(0);
    opacity: 1;
}

/* Bounce effect for service cards */
.service-card[data-aos] {
    transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Staggered list animations */
.work-process-list li[data-aos] {
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Enhanced banner animations */
.banner [data-aos] {
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Performance optimizations */
[data-aos] {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
}

/* Mobile optimizations */
@media (max-width: 768px) {
    [data-aos] {
        transition-duration: 0.6s !important;
    }
    
    [data-aos-delay] {
        transition-delay: 0.1s !important;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    [data-aos] {
        transition-duration: 0.01ms !important;
        transition-delay: 0.01ms !important;
    }
    
    [data-aos-delay] {
        transition-delay: 0.01ms !important;
    }
}

/* Hover effects for interactive elements */
.service-card:hover {
    transform: translateY(-5px);
    transition: transform 0.3s ease;
}

.cta-button:hover {
    transform: scale(1.05);
    transition: transform 0.3s ease;
}

/* Loading state for animations */
[data-aos]:not(.aos-animate) {
    pointer-events: none;
}

/* Custom animation for images */
.imgBox[data-aos] img {
    transition: transform 0.6s ease;
}

.imgBox[data-aos].aos-animate img {
    transform: scale(1.05);
}

/* Text reveal animation */
.content-text[data-aos] h1,
.content-text[data-aos] h2,
.content-text[data-aos] p {
    overflow: hidden;
}

.content-text[data-aos] h1 span,
.content-text[data-aos] h2 span {
    display: inline-block;
    transition: transform 0.6s ease;
}

.content-text[data-aos].aos-animate h1 span,
.content-text[data-aos].aos-animate h2 span {
    transform: translateY(0);
} 