/* Luxury Aura — targeted scroll reveal. Only families emitted by laura_reveal_family()
   animate (card-grid, centered-fade, band-fade). Respects reduced-motion.

   PROGRESSIVE ENHANCEMENT: the hidden (opacity:0) state applies ONLY under .js-reveal,
   which reveal.js adds to <html>. Without JS (or on JS error) content stays visible —
   the animation is an enhancement, never a precondition for seeing content. */
[data-reveal-family] { --laura-rev-d: 0.6s; }

.js-reveal [data-reveal-family="centered-fade"] > * { opacity: 0; transform: translateY(22px); transition: opacity var(--laura-rev-d) ease, transform var(--laura-rev-d) ease; }
.js-reveal [data-reveal-family="band-fade"] > * { opacity: 0; transition: opacity var(--laura-rev-d) ease; }
.js-reveal [data-reveal-family="card-grid"] [data-reveal-stagger] > * { opacity: 0; transform: translateY(18px); transition: opacity 0.55s ease, transform 0.55s ease; }

.js-reveal [data-reveal-family].is-revealed > *,
.js-reveal [data-reveal-family].is-revealed [data-reveal-stagger] > * { opacity: 1; transform: none; }

.js-reveal [data-reveal-family="card-grid"].is-revealed [data-reveal-stagger] > *:nth-child(1) { transition-delay: 0.04s; }
.js-reveal [data-reveal-family="card-grid"].is-revealed [data-reveal-stagger] > *:nth-child(2) { transition-delay: 0.10s; }
.js-reveal [data-reveal-family="card-grid"].is-revealed [data-reveal-stagger] > *:nth-child(3) { transition-delay: 0.16s; }
.js-reveal [data-reveal-family="card-grid"].is-revealed [data-reveal-stagger] > *:nth-child(4) { transition-delay: 0.22s; }
.js-reveal [data-reveal-family="card-grid"].is-revealed [data-reveal-stagger] > *:nth-child(5) { transition-delay: 0.28s; }
.js-reveal [data-reveal-family="card-grid"].is-revealed [data-reveal-stagger] > *:nth-child(6) { transition-delay: 0.34s; }

@media (prefers-reduced-motion: reduce) {
    .js-reveal [data-reveal-family] > *,
    .js-reveal [data-reveal-family] [data-reveal-stagger] > * { opacity: 1 !important; transform: none !important; transition: none !important; }
}
