/**
 * Bidirectional scroll-reveal for public /web/idx1/ pages.
 */
@media (prefers-reduced-motion: no-preference) {
  .cms-scroll-reveal {
    opacity: 0;
    transform: translate3d(0, var(--cms-reveal-distance, 32px), 0)
      scale(var(--cms-reveal-scale, 0.97));
    transition:
      opacity var(--cms-reveal-duration, 960ms) cubic-bezier(0.19, 1, 0.22, 1),
      transform var(--cms-reveal-duration, 960ms) cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: var(--cms-reveal-delay, 0ms);
    pointer-events: none;
  }

  .cms-scroll-reveal.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    pointer-events: auto;
  }

  .cms-scroll-reveal--hero {
    --cms-reveal-distance: 42px;
    --cms-reveal-scale: 0.955;
    --cms-reveal-duration: 1180ms;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  }

  .cms-scroll-reveal--hero-box,
  .cms-scroll-reveal--fade {
    --cms-reveal-distance: 0;
    --cms-reveal-scale: 1;
    --cms-reveal-duration: 1700ms;
    transform: none;
    transition: opacity var(--cms-reveal-duration, 1700ms) ease-in-out;
    transition-delay: var(--cms-reveal-delay, 0ms);
  }

  .cms-scroll-reveal--hero-box.is-revealed,
  .cms-scroll-reveal--fade.is-revealed {
    transform: none;
  }

  .cms-scroll-reveal--hero-quick {
    --cms-reveal-distance: 14px;
    --cms-reveal-duration: 2400ms;
    opacity: 0;
    transform: translate3d(0, var(--cms-reveal-distance), 0);
    transition:
      opacity var(--cms-reveal-duration, 2400ms) cubic-bezier(0.33, 0, 0.2, 1),
      transform var(--cms-reveal-duration, 2400ms) cubic-bezier(0.33, 0, 0.2, 1);
    transition-delay: var(--cms-reveal-delay, 0ms);
  }

  .cms-scroll-reveal--hero-quick.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
  }

  .cms-scroll-reveal--fade-up {
    --cms-reveal-distance: 14px;
    --cms-reveal-duration: 2200ms;
    opacity: 0;
    transform: translate3d(0, var(--cms-reveal-distance), 0);
    transition:
      opacity var(--cms-reveal-duration, 2200ms) cubic-bezier(0.33, 0, 0.2, 1),
      transform var(--cms-reveal-duration, 2200ms) cubic-bezier(0.33, 0, 0.2, 1);
    transition-delay: var(--cms-reveal-delay, 0ms);
  }

  .cms-scroll-reveal--fade-up.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
  }

  .cms-scroll-reveal--card {
    --cms-reveal-distance: 28px;
    --cms-reveal-scale: 0.975;
    --cms-reveal-duration: 920ms;
  }

  .cms-scroll-reveal--field {
    --cms-reveal-distance: 22px;
    --cms-reveal-scale: 0.985;
    --cms-reveal-duration: 860ms;
  }

  .cms-scroll-reveal--block {
    --cms-reveal-distance: 36px;
    --cms-reveal-scale: 0.965;
    --cms-reveal-duration: 1000ms;
  }

  .cms-scroll-reveal--text {
    --cms-reveal-distance: 24px;
    --cms-reveal-scale: 0.98;
    --cms-reveal-duration: 900ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cms-scroll-reveal {
    opacity: 1;
    transform: none;
  }
}
