/* Shared, composited motion layer: opacity and transform only to avoid layout shifts. */
.motion-enabled .motion-reveal {
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:opacity .58s cubic-bezier(.2,.75,.25,1),transform .58s cubic-bezier(.2,.75,.25,1);
  transition-delay:var(--motion-delay,0ms);
}
.motion-enabled .motion-reveal[data-motion="left"] { transform:translate3d(-22px,0,0); }
.motion-enabled .motion-reveal[data-motion="right"] { transform:translate3d(22px,0,0); }
.motion-enabled .motion-reveal[data-motion="scale"] { transform:scale(.975); }
.motion-enabled .motion-reveal.is-visible { opacity:1; transform:none; }
.motion-enabled .motion-image { opacity:.2; transition:opacity .45s ease,transform .55s cubic-bezier(.2,.75,.25,1); }
.motion-enabled .motion-image.is-loaded { opacity:1; }
.motion-enabled .motion-image:hover { transform:scale(1.025); }
.motion-enabled .motion-page { animation:motion-page-in .38s ease-out both; }
@keyframes motion-page-in { from { opacity:.25 } to { opacity:1 } }
@media (prefers-reduced-motion:reduce) {
  .motion-enabled .motion-reveal,.motion-enabled .motion-image { opacity:1!important; transform:none!important; transition:none!important; }
  .motion-enabled .motion-page { animation:none!important; }
}
