/* Scroll Animations */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.animate-on-scroll.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered delays for grid items */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }

/* Ambient Particles container */
.ambient-particles {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}

.particle {
    position: absolute;
    background: var(--color-accent);
    border-radius: 50%;
    opacity: 0.1;
    animation: float 20s infinite linear;
}

@keyframes float {
    0% {
        transform: translateY(100vh) translateX(0) scale(1);
        opacity: 0;
    }
    20% {
        opacity: 0.15;
    }
    80% {
        opacity: 0.15;
    }
    100% {
        transform: translateY(-100px) translateX(50px) scale(1.5);
        opacity: 0;
    }
}

/* Slow Image Zoom on Load */
.hero-image-wrapper img {
    animation: slowZoom 15s ease-out forwards;
}

@keyframes slowZoom {
    0% { transform: scale(1.05); }
    100% { transform: scale(1); }
}