/* Hero stacking — decorative lines live on .site-backdrop only (z-index 0 fixed canvas) */

#hero.hero--royal.section-panel {
  position: relative;
  isolation: isolate;
  overflow: visible;
}

#hero .hero__inner {
  position: relative;
  z-index: 2;
}

#hero .hero__text--royal,
#hero .hero__visual--royal {
  position: relative;
  z-index: 2;
}

#hero .hero__visual--royal,
#hero .orbit-preview {
  overflow: visible;
}

#hero .orbit-preview__ring {
  inset: -32%;
}

#hero .orbit-preview__ring--inner {
  inset: -4%;
}

.orbit-preview__ring {
  border-width: 1px;
  border-color: rgba(34, 211, 238, 0.28);
  box-shadow: 0 0 20px rgba(124, 58, 237, 0.12);
  animation: ring-spin 48s linear infinite, hero-orbit-ring-pulse 4s ease-in-out infinite;
}

.orbit-preview__ring--inner {
  border-color: rgba(124, 58, 237, 0.32);
  animation: ring-spin 32s linear infinite reverse, hero-orbit-ring-pulse 4s ease-in-out infinite;
  animation-delay: 0s, -1.2s;
}

@keyframes hero-orbit-ring-pulse {
  0%,
  100% {
    opacity: 0.55;
  }
  50% {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .orbit-preview__ring,
  .orbit-preview__ring--inner {
    animation: none;
  }
}
