/* =====================================================================
   SCROLL REVEAL — animasi umum "muncul saat discroll" untuk elemen di
   seluruh section (header, card, grid item, dsb). Dipasang lewat class
   .aldi-reveal (ditambahkan oleh js/reveal.js) lalu class .aldi-reveal-in
   memicu transisi menuju kondisi akhir (opacity 1, translateY 0).

   Sengaja pakai CSS transition (bukan CSS animation berbasis keyframe)
   supaya tidak bentrok dengan elemen yang sudah punya animasi/inline
   style sendiri di module lain (mis. kartu gallery yang di-toggle lewat
   inline style saat expand/collapse) — transition hanya mengubah nilai
   akhir opacity/transform tanpa "mengunci" property tersebut.
   ===================================================================== */
.aldi-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s cubic-bezier(0.25,0.46,0.45,0.94),
              transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94);
  transition-delay: var(--aldi-reveal-delay, 0s);
  will-change: opacity, transform;
}
.aldi-reveal.aldi-reveal-in {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .aldi-reveal {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
