/**
 * DASULLAR — shared scroll-reveal animation
 * Used on the top page and all subpages. Applies to headings, body copy,
 * cards, and images marked with the .reveal class.
 *
 * Deliberately NOT applied to: the header/nav, the footer, or standalone
 * buttons in isolation — and NEVER to the hero (see assets/css/hero.css /
 * assets/js/hero.js, which are locked and must not interact with this file).
 */

.reveal{
  opacity:0;
  transform: translateY(24px);
  transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);
}
.reveal.is-visible{
  opacity:1;
  transform: translateY(0);
}

/* Stagger for elements revealing together as a group (0.1s per step). */
.reveal.d1{ transition-delay:.1s; }
.reveal.d2{ transition-delay:.2s; }
.reveal.d3{ transition-delay:.3s; }

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