/* ==========================================================================
   Lemmer Web Consulting — SCROLL-REVEAL styles.

   The CSS half of motion.js. motion.js adds .reveal to a list of page
   sections and flips .is-in as each scrolls into view; without this file
   those classes are inert and the page simply renders un-animated.

   Split out of motion.css during the two-hero bake-off so both versions could
   share it. The sidebar version is gone (deleted 2026-08-30), but the reveal
   still has nothing to do with which hero a page uses, so it stays its own
   file rather than folding back into hero-split.css.

   .reveal is added by JS ONLY — with JS off (or reduced motion, or no
   IntersectionObserver) nothing is ever hidden.
   ========================================================================== */

.reveal {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity .6s cubic-bezier(.22, .61, .36, 1),
    transform .6s cubic-bezier(.22, .61, .36, 1);
}
.reveal.is-in {
  opacity: 1;
  transform: none;
}

/* ---------- Reduced motion: no reveals, no pulse, no smooth scroll; the
   hero video is paused on its poster by motion.js ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .eyebrow .dot { animation: none; }
}
