/* Apple-Style Scroll Animations - Smooth & Clean */

/* Smooth scroll behavior */
html {
    scroll-behavior: smooth;
}

/* Subtle fade-in only - no jumping */
.fade-in-up {
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.fade-in-up.visible {
    opacity: 1;
}

.fade-in {
    opacity: 0;
    transition: opacity 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.fade-in.visible {
    opacity: 1;
}

/* Smooth scale - very subtle */
.scale-in {
    opacity: 0;
    transform: scale(0.98);
    transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.scale-in.visible {
    opacity: 1;
    transform: scale(1);
}

/* Remove all slide animations - too jumpy */
.slide-in-left,
.slide-in-right {
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.slide-in-left.visible,
.slide-in-right.visible {
    opacity: 1;
}

/* Staggered animations for cards - smooth fade only */
.stagger-item {
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.stagger-item.visible {
    opacity: 1;
}

/* Subtle stagger delays */
.stagger-item:nth-child(1) { transition-delay: 0.05s; }
.stagger-item:nth-child(2) { transition-delay: 0.1s; }
.stagger-item:nth-child(3) { transition-delay: 0.15s; }
.stagger-item:nth-child(4) { transition-delay: 0.2s; }
.stagger-item:nth-child(5) { transition-delay: 0.25s; }
.stagger-item:nth-child(6) { transition-delay: 0.3s; }

/* No parallax - causes video glitch */
.parallax {
    transition: none;
}

/* Smooth navbar with glassmorphism */
.navbar {
    transition: background-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                backdrop-filter 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.navbar.scrolled {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(40px) saturate(180%);
    -webkit-backdrop-filter: blur(40px) saturate(180%);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05),
                0 8px 32px rgba(0, 0, 0, 0.3);
}

/* Light mode navbar - smooth glassmorphism */
[data-theme="light"] .navbar.scrolled {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(40px) saturate(180%);
    -webkit-backdrop-filter: blur(40px) saturate(180%);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03),
                0 8px 32px rgba(0, 0, 0, 0.08);
}

/* Smooth hover transitions with transparency */
.feature-card,
.module-card,
.team-member,
.partner-card {
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.feature-card:hover,
.module-card:hover,
.team-member:hover,
.partner-card:hover {
    transform: translateY(-4px);
}

/* Button hover with transparency */
.btn {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.btn:hover {
    transform: scale(1.02);
    opacity: 0.9;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    
    .fade-in-up,
    .fade-in,
    .scale-in,
    .slide-in-left,
    .slide-in-right,
    .stagger-item {
        opacity: 1;
        transform: none;
    }
}
