/* Text reveals: headline words rise from behind a mask; paragraphs, images and cards fade up.
   Only transform and opacity animate, so the browser does the work on the GPU.
   html.motion is set in the page head (not in edit mode, not with reduced motion). */
@media (prefers-reduced-motion:no-preference){
  html.motion main :is(h1,h2):not(.rw-ready){opacity:0}
  html.motion main .rv{opacity:0;transform:translate3d(0,24px,0);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1);transition-delay:var(--d,0ms)}
  html.motion main .rv.is-in{opacity:1;transform:none}
  rw-m{display:inline-block;overflow:hidden;vertical-align:top;padding:.06em .08em .14em;margin:-.06em -.08em -.14em}
  rw-m>rw-w{display:inline-block;transform:translate3d(0,112%,0);transition:transform 1.05s cubic-bezier(.19,1,.22,1);transition-delay:calc(var(--i,0) * 55ms + var(--d,0ms))}
  .is-in rw-m>rw-w{transform:none}
  /* Safety net: if the script never runs, show everything after a moment. */
  @keyframes motion-failsafe{to{opacity:1;transform:none}}
  html.motion:not(.motion-ready) main :is(h1,h2,.rv){animation:motion-failsafe .01s 2.5s forwards}
}
