/* =============================================
   Qlearing Reveal Animations (no external deps)
   Add classes like .reveal-up, .reveal-fade, etc.
   ============================================= */

/* Base state before reveal */
.reveal {
  opacity: 0;
  transform: translate3d(0, 8px, 0);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}

/* Variants */
.reveal-up    { transform: translate3d(0, 18px, 0); }
.reveal-down  { transform: translate3d(0, -18px, 0); }
.reveal-left  { transform: translate3d(18px, 0, 0); }
.reveal-right { transform: translate3d(-18px, 0, 0); }
.reveal-fade  { transform: translate3d(0, 0, 0); }

/* Active state when in view */
.reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Gentle stagger helper */
.reveal-stagger > * {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
}
.reveal-stagger.is-visible > * {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.reveal-stagger.is-visible > *:nth-child(1) { transition: opacity .5s ease .05s, transform .5s ease .05s; }
.reveal-stagger.is-visible > *:nth-child(2) { transition: opacity .5s ease .12s, transform .5s ease .12s; }
.reveal-stagger.is-visible > *:nth-child(3) { transition: opacity .5s ease .18s, transform .5s ease .18s; }
.reveal-stagger.is-visible > *:nth-child(4) { transition: opacity .5s ease .24s, transform .5s ease .24s; }
.reveal-stagger.is-visible > *:nth-child(5) { transition: opacity .5s ease .30s, transform .5s ease .30s; }
