/* Phase-aware orbit loops prevent offset rings from snapping at iteration boundaries. */
.core-orbit {
  --orbit-offset-y: clamp(28px, 4vw, 65px);
  --orbit-start: 0deg;
  --orbit-end: 360deg;
  --label-start: 0deg;
  --label-end: -360deg;
  transform: translateY(var(--orbit-offset-y)) rotate(var(--orbit-start));
  animation-name: orbit-spin;
  animation-delay: 0s;
  will-change: transform;
}

.core-orbit.orbit-b {
  --orbit-start: 120deg;
  --orbit-end: 480deg;
  --label-start: -120deg;
  --label-end: -480deg;
}

.core-orbit.orbit-c {
  --orbit-start: 240deg;
  --orbit-end: 600deg;
  --label-start: -240deg;
  --label-end: -600deg;
}

.core-orbit b {
  transform: rotate(var(--label-start));
  animation-name: orbit-label-spin;
  animation-delay: 0s;
  will-change: transform;
}

@keyframes orbit-spin {
  from { transform: translateY(var(--orbit-offset-y)) rotate(var(--orbit-start)); }
  to { transform: translateY(var(--orbit-offset-y)) rotate(var(--orbit-end)); }
}

@keyframes orbit-label-spin {
  from { transform: rotate(var(--label-start)); }
  to { transform: rotate(var(--label-end)); }
}
.nav .brand img,
footer .brand img {
  filter: invert(1) sepia(1) saturate(8) hue-rotate(145deg) brightness(1.5);
}
