/**
 * Fade/rise-in for section-level content, applied by reveal.js —
 * on page load for the hero/page-header and anything else already in
 * view, on scroll for the rest. The default (no class) state is fully
 * visible, so content never depends on JS running; `prefers-reduced-
 * motion` disables the transition and forces content visible below.
 */

[data-reveal] {
  transition: opacity var(--duration-slow) var(--ease-standard),
    transform var(--duration-slow) var(--ease-standard);
}

[data-reveal].reveal-pending {
  opacity: 0;
  transform: translateY(1.5rem);
}

[data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    transition: none;
  }

  [data-reveal].reveal-pending {
    opacity: 1;
    transform: none;
  }
}
