/* Lightweight scroll animations with a visible bottom-to-top reveal */
.aav-pre {
  opacity: 0;
  transform: translate3d(0, 86px, 0);
  transition:
    opacity var(--aav-duration, 950ms) cubic-bezier(.16,1,.3,1),
    transform var(--aav-duration, 950ms) cubic-bezier(.16,1,.3,1);
  will-change: opacity, transform;
}

.aav-pre.aav-fade-right {
  transform: translate3d(-96px, 0, 0);
}

.aav-pre.aav-fade-left {
  transform: translate3d(96px, 0, 0);
}

.aav-pre.aav-zoom-in {
  transform: translate3d(0, 70px, 0) scale(0.94);
}

.aav-pre.aav-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

@media (max-width: 767px) {
  .aav-pre.aav-fade-left,
  .aav-pre.aav-fade-right {
    transform: translate3d(0, 56px, 0);
  }
}

/* Small accessibility consideration */
@media (prefers-reduced-motion: reduce) {
  .aav-pre { transition: none !important; transform: none !important; opacity: 1 !important; }
}
