/* Image-only motion leaves navigation targets and scroll-driven wrappers fixed.
   Independent translate/rotate compose with the existing hover scale transform. */
#orbit-nav .orbit-planets a > img,
#orbit-nav .orbit-nav-toggle > img {
  --orbit-drift-x: 1.4px;
  --orbit-drift-y: 2px;
  animation: orbit-nav-drift var(--orbit-duration, 8.6s) ease-in-out
      var(--orbit-delay, -2.4s) infinite alternate,
    orbit-nav-spin var(--orbit-spin-duration, 32s) linear
      var(--orbit-spin-delay, -8s) infinite;
  transform-origin: center;
}

#orbit-nav [data-orbit-link="home"] > img {
  --orbit-duration: 8.8s;
  --orbit-delay: -2.2s;
  --orbit-spin-duration: 32s;
  --orbit-spin-delay: -8s;
}

#orbit-nav [data-orbit-link="about"] > img {
  --orbit-duration: 10.3s;
  --orbit-delay: -7.8s;
  --orbit-drift-x: -1.5px;
  --orbit-spin-duration: 26s;
  --orbit-spin-delay: -17s;
}

#orbit-nav [data-orbit-link="web-projects"] > img {
  --orbit-duration: 7.7s;
  --orbit-delay: -4.1s;
  --orbit-drift-y: -2.2px;
  --orbit-spin-duration: 29s;
  --orbit-spin-delay: -5s;
}

#orbit-nav [data-orbit-link="mobile-projects"] > img {
  --orbit-duration: 11.2s;
  --orbit-delay: -9.4s;
  --orbit-drift-x: -1.2px;
  --orbit-spin-duration: 24s;
  --orbit-spin-delay: -13s;
}

#orbit-nav [data-orbit-link="experience"] > img {
  --orbit-duration: 9.8s;
  --orbit-delay: -3.6s;
  --orbit-drift-y: 1.6px;
  --orbit-spin-duration: 45s;
  --orbit-spin-delay: -6s;
}

#orbit-nav [data-orbit-link="awards"] > img {
  --orbit-duration: 8.1s;
  --orbit-delay: -6.3s;
  --orbit-drift-x: -1.7px;
  --orbit-drift-y: -2.1px;
  --orbit-spin-duration: 38s;
  --orbit-spin-delay: -24s;
}

#orbit-nav [data-orbit-link="toolkit"] > img {
  --orbit-duration: 10.7s;
  --orbit-delay: -1.2s;
  --orbit-spin-duration: 35s;
  --orbit-spin-delay: -19s;
}

#orbit-nav [data-orbit-link="contact"] > img {
  --orbit-duration: 9.3s;
  --orbit-delay: -5.6s;
  --orbit-drift-x: -1.3px;
  --orbit-drift-y: 2.3px;
  --orbit-spin-duration: 40s;
  --orbit-spin-delay: -29s;
}

#orbit-nav .orbit-astronaut > img,
#orbit-nav .orbit-compact-astronaut > img {
  --orbit-duration: 6.7s;
  --orbit-delay: -1.8s;
  --orbit-drift-x: 1.2px;
  --orbit-drift-y: 2.4px;
  --orbit-rock: 4deg;
  animation: orbit-nav-drift var(--orbit-duration) ease-in-out
      var(--orbit-delay) infinite alternate,
    orbit-nav-rock var(--orbit-duration) ease-in-out
      var(--orbit-delay) infinite alternate;
  transform-origin: 50% 55%;
}

#orbit-nav .orbit-compact-astronaut > img {
  --orbit-duration: 7.4s;
  --orbit-delay: -3.2s;
  --orbit-drift-x: .8px;
  --orbit-drift-y: 1.6px;
}

@keyframes orbit-nav-drift {
  from {
    translate: calc(var(--orbit-drift-x) * -1) calc(var(--orbit-drift-y) * -1);
  }
  to {
    translate: var(--orbit-drift-x) var(--orbit-drift-y);
  }
}

@keyframes orbit-nav-spin {
  from { rotate: 0deg; }
  to { rotate: 360deg; }
}

@keyframes orbit-nav-rock {
  from { rotate: calc(var(--orbit-rock) * -1); }
  to { rotate: var(--orbit-rock); }
}

#portfolio.page-hidden #orbit-nav img,
#orbit-nav[hidden] img {
  animation-play-state: paused;
}

/* The compact route and its astronaut only animate while the route is open. */
@media (max-width: 1279px), (max-height: 649px) {
  #orbit-nav:not(.orbit-nav-expanded) .orbit-nav-route img,
  #orbit-nav.orbit-nav-expanded .orbit-compact-astronaut > img {
    animation-play-state: paused;
  }
}

@media (min-width: 1280px) and (min-height: 650px) {
  #orbit-nav .orbit-nav-toggle img {
    animation-play-state: paused;
  }
}

@media (prefers-reduced-motion: reduce) {
  #orbit-nav .orbit-planets a > img,
  #orbit-nav .orbit-nav-toggle > img,
  #orbit-nav .orbit-astronaut > img,
  #orbit-nav .orbit-compact-astronaut > img {
    animation: none;
    translate: none;
    rotate: none;
  }
}
