/* =========================================================
   AAC shared motion helpers (inner pages)
   data-reveal  = rise in on scroll  ("up" default, "left", "right", "zoom", "wipe")
   data-split   = heading reveals word by word
   --d          = delay, e.g. style="--d: .2s"
   Only active once aac-motion.js adds .aac-motion-ready (no-JS shows everything).
   ========================================================= */
.aac-motion-ready [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition: opacity .9s cubic-bezier(.22, 1, .36, 1), transform .9s cubic-bezier(.22, 1, .36, 1), clip-path 1.2s cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--d, 0s);
}
.aac-motion-ready [data-reveal="left"]  { transform: translate3d(-48px, 0, 0); }
.aac-motion-ready [data-reveal="right"] { transform: translate3d(48px, 0, 0); }
.aac-motion-ready [data-reveal="zoom"]  { transform: scale(.92); }
.aac-motion-ready [data-reveal="wipe"]  { opacity: 1; transform: none; clip-path: inset(0 100% 0 0); }

.aac-motion-ready [data-reveal].is-in { opacity: 1; transform: none; }
.aac-motion-ready [data-reveal="wipe"].is-in { clip-path: inset(0 0 0 0); }

.aac-motion-ready [data-split] .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .1em; margin-bottom: -.1em; }
.aac-motion-ready [data-split] .w-in { display: inline-block; transform: translate3d(0, 105%, 0); transition: transform .9s cubic-bezier(.22, 1, .36, 1); }
.aac-motion-ready [data-split].is-in .w-in { transform: none; transition-delay: calc(var(--d, 0s) + var(--i) * 60ms); }

@media (prefers-reduced-motion: reduce) {
  .aac-motion-ready [data-reveal],
  .aac-motion-ready [data-split] .w-in { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
}
