/* Scroll fade-in: only elements prepared by animation.js start hidden.
   Content remains visible without JavaScript and when reduced motion is preferred. */
.scroll-reveal {
  transition-property: opacity, translate, box-shadow, border-color;
  transition-duration: 1000ms, 1000ms, 320ms, 320ms;
  transition-timing-function: cubic-bezier(.25, .1, .25, 1), cubic-bezier(.25, .1, .25, 1), ease, ease;
  transition-delay: var(--reveal-delay, 0ms), var(--reveal-delay, 0ms), 0ms, 0ms;
}
.scroll-reveal.is-reveal-pending {
  opacity: 0;
  translate: 0 20px;
  transition: none;
}
@media (max-width: 767px) {
  .scroll-reveal {
    transition-duration: 900ms, 900ms, 320ms, 320ms;
  }
  .scroll-reveal.is-reveal-pending {
    translate: 0 14px;
  }
}
@media (prefers-reduced-motion: reduce), print {
  .scroll-reveal {
    transition: none !important;
  }
  .scroll-reveal.is-reveal-pending {
    opacity: 1 !important;
    translate: none !important;
  }
}
