.rw-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s cubic-bezier(.2,.7,.1,1), transform .8s cubic-bezier(.2,.7,.1,1);
  will-change: opacity, transform;
}
.rw-reveal.is-visible {
  opacity: 1;
  transform: none;
}

.rw-reveal--zoom { transform: scale(.92); }
.rw-reveal--zoom.is-visible { transform: scale(1); }

.rw-reveal--left  { transform: translateX(-34px); }
.rw-reveal--left.is-visible { transform: none; }

.rw-reveal--right { transform: translateX(34px); }
.rw-reveal--right.is-visible { transform: none; }

@media (prefers-reduced-motion: reduce) {
  .rw-reveal { transition: none !important; opacity: 1 !important; transform: none !important; }
}
