/* Continuous, compositor-friendly character movement. */
body.public-page .visual img{
  animation:vae-character-float-v3 3.2s ease-in-out infinite!important;
  animation-play-state:running!important;
  transform-origin:50% 65%;
  will-change:transform;
  translate:none;rotate:none;
}
@keyframes vae-character-float-v3{
  0%,100%{transform:translate3d(0,3px,0) rotate(-.8deg)}
  50%{transform:translate3d(0,-11px,0) rotate(.8deg)}
}
@media(prefers-reduced-motion:reduce){
  body.public-page .visual img{animation:none!important;transform:none!important;will-change:auto}
}

/* Keep the login team's table level throughout the movement. */
body.public-page .visual img.vae.team{animation-name:vae-login-float-v4!important}
@keyframes vae-login-float-v4{
  0%,100%{transform:translate3d(0,3px,0)}
  50%{transform:translate3d(0,-11px,0)}
}
@media(prefers-reduced-motion:reduce){body.public-page .visual img.vae.team{animation:none!important}}
