@keyframes orbital-drift {
  to {
    transform: rotate(360deg);
  }
}
.orbit-tracer {
  animation: orbital-drift 90s linear infinite;
}
.orbit:hover .orbit-tracer {
  animation-play-state: paused;
}
@keyframes journey-float {
  0%,100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}
.journey-stop {
  animation: journey-float 4s ease-in-out infinite;
}
.journey-stop:nth-of-type(2) {
  animation-delay: .5s;
}
.journey-stop:nth-of-type(3) {
  animation-delay: 1s;
}
.journey-stop:nth-of-type(4) {
  animation-delay: 1.5s;
}
.journey-stop:nth-of-type(5) {
  animation-delay: 2s;
}
.journey-stop:nth-of-type(6) {
  animation-delay: 2.5s;
}
.journey-stop:hover,.journey-stop:focus-within {
  animation-play-state: paused;
}
@keyframes tech-scroll {
  to {
    transform: translateX(-50%);
  }
}
.tech-track {
  animation: tech-scroll 40s linear infinite;
}
.tech-marquee:hover .tech-track,.tech-marquee:focus-within .tech-track {
  animation-play-state: paused;
}
.will-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms),
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms);
}
.will-reveal.is-visible {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }
  *,*::before,*::after {
    animation: none !important;
    transition: none !important;
  }
  .will-reveal {
    opacity: 1;
    transform: none;
  }
}
