.corporate-photo-motion {
  opacity: 0;
  translate: 0 26px;
  scale: .975;
  filter: saturate(.72) brightness(.78);
  transition:
    opacity .8s ease var(--photo-motion-delay, 0ms),
    translate .9s cubic-bezier(.22, 1, .36, 1) var(--photo-motion-delay, 0ms),
    scale .9s cubic-bezier(.22, 1, .36, 1) var(--photo-motion-delay, 0ms),
    filter 1s ease var(--photo-motion-delay, 0ms);
  will-change: opacity, translate, scale;
}

.corporate-photo-motion.is-photo-visible {
  opacity: 1;
  translate: 0 0;
  scale: 1;
  filter: none;
  animation: corporate-photo-float 8s ease-in-out calc(var(--photo-motion-delay, 0ms) + .9s) infinite;
}

.corporate-photo-motion.is-photo-visible:hover { scale: 1.018; }

@keyframes corporate-photo-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -8px; }
}

@media (prefers-reduced-motion: reduce) {
  .corporate-photo-motion,
  .corporate-photo-motion.is-photo-visible {
    opacity: 1;
    translate: none;
    scale: 1;
    filter: none;
    animation: none;
    transition: none;
  }
}
