/*
 * scroll-reveal.css
 * Lightweight, dependency-free replacement for the AOS (Animate On Scroll) library.
 * Mimics the same data-aos="..." attribute API so existing markup didn't need to change.
 * See PORTFOLIO-AUDIT.md Section 2 for why AOS was removed.
 */

[data-aos] {
    opacity: 0;
    transition-property: opacity, transform;
    transition-duration: 800ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity, transform;
}

[data-aos="fade-up"] { transform: translateY(30px); }
[data-aos="fade-down"] { transform: translateY(-30px); }
[data-aos="fade-right"] { transform: translateX(-30px); }
[data-aos="fade-left"] { transform: translateX(30px); }
[data-aos="fade-in"] { transform: none; }
[data-aos="zoom-in"] { transform: scale(0.92); }
[data-aos="zoom-in-up"] { transform: scale(0.92) translateY(30px); }

[data-aos].aos-animate {
    opacity: 1;
    transform: none;
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    [data-aos] {
        transition-duration: 1ms !important;
        transform: none !important;
    }
}
