/* ════════════════════════════════════════════════════════════════════════
   SCROLL-REVEAL — entrance animations on viewport intersection
   Used on home v26 + show pages.  Triggered by data-reveal attr (set by JS).
   ════════════════════════════════════════════════════════════════════════ */

/* Default state — invisible, 24px below */
[data-reveal] {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity 0.7s cubic-bezier(0.2, 0.6, 0.2, 1),
    transform 0.7s cubic-bezier(0.2, 0.6, 0.2, 1);
  will-change: opacity, transform;
}

/* Triggered state — in view, settled */
[data-reveal].is-in {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Variants */
[data-reveal="fade"] { transform: translate3d(0, 0, 0); }
[data-reveal="slide-up"] { transform: translate3d(0, 36px, 0); }
[data-reveal="slide-left"] { transform: translate3d(-32px, 0, 0); }
[data-reveal="slide-right"] { transform: translate3d(32px, 0, 0); }
[data-reveal="scale"] { transform: scale(.94); }

[data-reveal].is-in[data-reveal="slide-up"],
[data-reveal].is-in[data-reveal="slide-left"],
[data-reveal].is-in[data-reveal="slide-right"] { transform: translate3d(0, 0, 0); }
[data-reveal].is-in[data-reveal="scale"] { transform: scale(1); }

/* Stagger — set --i on parent to stagger children */
[data-reveal-stagger] > * {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition:
    opacity 0.6s cubic-bezier(0.2, 0.6, 0.2, 1),
    transform 0.6s cubic-bezier(0.2, 0.6, 0.2, 1);
}
[data-reveal-stagger].is-in > *      { transition-delay: 0s; }
[data-reveal-stagger].is-in > *:nth-child(2) { transition-delay: .08s; }
[data-reveal-stagger].is-in > *:nth-child(3) { transition-delay: .16s; }
[data-reveal-stagger].is-in > *:nth-child(4) { transition-delay: .24s; }
[data-reveal-stagger].is-in > *:nth-child(5) { transition-delay: .32s; }
[data-reveal-stagger].is-in > *:nth-child(6) { transition-delay: .40s; }
[data-reveal-stagger].is-in > *:nth-child(n+7) { transition-delay: .48s; }
[data-reveal-stagger].is-in > * {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Section headings — slightly stronger lift for impact */
section [data-reveal="title"] {
  transform: translate3d(0, 40px, 0);
  transition-duration: 0.9s;
}
section [data-reveal="title"].is-in {
  transform: translate3d(0, 0, 0);
}

/* Reduced-motion — disable all reveal transforms */
@media (prefers-reduced-motion: reduce) {
  [data-reveal],
  [data-reveal-stagger] > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* IE / no-IntersectionObserver fallback */
.no-js [data-reveal],
.no-js [data-reveal-stagger] > * {
  opacity: 1 !important;
  transform: none !important;
}
