/**
 * PeakRaze Universal Scroll Animation Styles
 * Optimized for all devices and performance
 * Version: 2.0
 */

/* Core fade-in animation system */
.fade-in-section {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: opacity, transform;
}

.fade-in-section.fade-in-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered animation delays for sequential appearance */
.fade-in-section:nth-child(1) { transition-delay: 0s; }
.fade-in-section:nth-child(2) { transition-delay: 0.1s; }
.fade-in-section:nth-child(3) { transition-delay: 0.2s; }
.fade-in-section:nth-child(4) { transition-delay: 0.3s; }
.fade-in-section:nth-child(5) { transition-delay: 0.4s; }
.fade-in-section:nth-child(6) { transition-delay: 0.5s; }
.fade-in-section:nth-child(7) { transition-delay: 0.6s; }
.fade-in-section:nth-child(8) { transition-delay: 0.7s; }
.fade-in-section:nth-child(9) { transition-delay: 0.8s; }
.fade-in-section:nth-child(10) { transition-delay: 0.9s; }

/* Special animation variants */
.fade-in-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.fade-in-left.fade-in-visible {
    opacity: 1;
    transform: translateX(0);
}

.fade-in-right {
    opacity: 0;
    transform: translateX(40px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.fade-in-right.fade-in-visible {
    opacity: 1;
    transform: translateX(0);
}

.fade-in-scale {
    opacity: 0;
    transform: scale(0.95) translateY(20px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.fade-in-scale.fade-in-visible {
    opacity: 1;
    transform: scale(1) translateY(0);
}

/* Service card animations */
.service-card.fade-in-section {
    transform: translateY(40px) scale(0.98);
    transition: all 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.service-card.fade-in-section.fade-in-visible {
    transform: translateY(0) scale(1);
}

/* Statistics and numbers animation */
.stat-item.fade-in-section {
    transform: translateY(30px) scale(0.9);
    transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.stat-item.fade-in-section.fade-in-visible {
    transform: translateY(0) scale(1);
}

/* Hero section specific animations */
.hero-title.fade-in-section {
    transform: translateY(50px);
    transition: all 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: 0.2s;
}

.hero-subtitle.fade-in-section {
    transform: translateY(40px);
    transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: 0.4s;
}

.hero-cta.fade-in-section {
    transform: translateY(30px) scale(0.95);
    transition: all 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-delay: 0.6s;
}

/* Testimonial cards */
.testimonial-card.fade-in-section {
    transform: translateY(35px) rotateX(5deg);
    transition: all 0.9s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.testimonial-card.fade-in-section.fade-in-visible {
    transform: translateY(0) rotateX(0deg);
}

/* Mobile optimizations */
@media (max-width: 768px) {
    .fade-in-section {
        transform: translateY(20px);
        transition-duration: 0.6s;
    }
    
    .fade-in-left {
        transform: translateX(-20px);
        transition-duration: 0.6s;
    }
    
    .fade-in-right {
        transform: translateX(20px);
        transition-duration: 0.6s;
    }
    
    .hero-title.fade-in-section {
        transform: translateY(30px);
        transition-duration: 0.8s;
    }
    
    .service-card.fade-in-section {
        transform: translateY(25px) scale(0.99);
        transition-duration: 0.7s;
    }
}

/* Tablet optimizations */
@media (max-width: 1024px) and (min-width: 769px) {
    .fade-in-section {
        transform: translateY(25px);
        transition-duration: 0.7s;
    }
}

/* High-performance displays */
@media (min-width: 1440px) {
    .fade-in-section {
        transform: translateY(35px);
        transition-duration: 0.9s;
    }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    .fade-in-section,
    .fade-in-left,
    .fade-in-right,
    .fade-in-scale,
    .service-card.fade-in-section,
    .stat-item.fade-in-section,
    .hero-title.fade-in-section,
    .hero-subtitle.fade-in-section,
    .hero-cta.fade-in-section,
    .testimonial-card.fade-in-section {
        transform: none;
        transition: opacity 0.3s ease;
    }
}

/* Performance optimization */
.fade-in-section.fade-in-visible {
    will-change: auto; /* Remove will-change after animation */
}

/* Loading state styles */
.page-loading .fade-in-section {
    opacity: 0;
    transform: translateY(20px);
}