/* Reveal-Animation — opacity only.
   KEIN translate/transform/will-change, weil das einen Containing-Block
   fuer absolut positionierte Kinder erzeugt und Swiper-Slider sowie
   :after-Overlays (z.B. .gradient .lupe) zerschiesst. */
.pasani-reveal:not(.is-visible) {
    opacity: 0 !important;
}

.pasani-reveal {
    transition: opacity 700ms ease-out;
}

.pasani-reveal.is-visible {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .pasani-reveal:not(.is-visible),
    .pasani-reveal,
    .pasani-reveal.is-visible {
        opacity: 1 !important;
        transition: none !important;
    }
}
