/* aos-lite.css — remplace aos.css (~26 Ko → ~0,7 Ko)
   La classe .aos-on est posée sur <html> par aos-lite.js UNIQUEMENT
   si les animations sont actives. Sans JS, ou sur mobile, ou en
   prefers-reduced-motion, le contenu reste visible : aucun risque
   de page blanche. */

.aos-on [data-aos] {
    opacity: 0;
    transition-property: opacity, transform;
    transition-duration: var(--aos-duration, 600ms);
    transition-delay: var(--aos-delay, 0ms);
    transition-timing-function: cubic-bezier(.215, .61, .355, 1);
    will-change: opacity, transform;
}

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

.aos-on [data-aos="fade-up"]    { transform: translate3d(0, 36px, 0) }
.aos-on [data-aos="fade-down"]  { transform: translate3d(0, -36px, 0) }
.aos-on [data-aos="fade-left"]  { transform: translate3d(36px, 0, 0) }
.aos-on [data-aos="fade-right"] { transform: translate3d(-36px, 0, 0) }
.aos-on [data-aos="zoom-in"]    { transform: scale(.92) }
.aos-on [data-aos="zoom-out"]   { transform: scale(1.08) }
.aos-on [data-aos="flip-up"]    { transform: perspective(1200px) rotateX(-88deg); transform-origin: bottom }

@media (prefers-reduced-motion: reduce) {
    .aos-on [data-aos] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
