/* ===== ORION Orbit Animation (SCOPED) ===== */
.orion-orbit-anim[data-orion-orbit]{
  --bg: #ffffff;
  --ink: #0f1222;

  /* ORION palette */
  --o1:#2AA8FF;
  --o2:#00E0C6;
  --o3:#BFEFFF;

  --line: rgba(15,18,34,.10);
  --glass: rgba(255,255,255,.74);
  --shadow: 0 18px 50px rgba(15,18,34,.10);
  --shadow2: 0 10px 28px rgba(15,18,34,.08);
  --orion-scale: 0.80;

  position: relative;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
  isolation: isolate;
}

/* soft center glow */
.orion-orbit-anim[data-orion-orbit]::before{
  content:"";
  position:absolute;
  inset:-120px;
  transform: scale(var(--orion-scale));
  transform-origin: 50% 52%;
  background:
    radial-gradient(circle at 50% 52%,
      rgba(0,224,198,.14),
      rgba(42,168,255,.12) 34%,
      rgba(191,239,255,.10) 56%,
      transparent 74%);
  pointer-events:none;
  filter: blur(2px);
  opacity: .95;
}

/* rings */
.orion-orbit-anim[data-orion-orbit] .orion-rings{
  position:absolute;
  inset:0;
  transform: scale(var(--orion-scale));
  transform-origin: 50% 52%;
  pointer-events:none;
  z-index:1;
}

.orion-orbit-anim[data-orion-orbit] .orion-ring{
  position:absolute;
  left:50%;
  top:52%;
  transform: translate(-50%,-50%);
  border-radius:999px;
  border:1px solid rgba(15,18,34,.08);
  opacity:.9;
  filter: blur(.1px);
}

.orion-orbit-anim[data-orion-orbit] .orion-ring::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:
    conic-gradient(from 180deg,
      rgba(42,168,255,.0),
      rgba(42,168,255,.14),
      rgba(0,224,198,.18),
      rgba(42,168,255,.0));
  mask: radial-gradient(circle, transparent 62%, #000 63%);
  -webkit-mask: radial-gradient(circle, transparent 62%, #000 63%);
  opacity:.55;
}

.orion-orbit-anim[data-orion-orbit] .orion-ring--1{
  width: 360px; height: 240px;
  transform: translate(-50%,-50%) rotate(-8deg);
}
.orion-orbit-anim[data-orion-orbit] .orion-ring--2{
  width: 520px; height: 340px;
  transform: translate(-50%,-50%) rotate(14deg);
  opacity:.75;
}
.orion-orbit-anim[data-orion-orbit] .orion-ring--3{
  width: 700px; height: 460px;
  transform: translate(-50%,-50%) rotate(-18deg);
  opacity:.55;
}

/* orbiting particles layer */
.orion-orbit-anim[data-orion-orbit] .orion-orbits-layer{
  position:absolute;
  inset:0;
  transform: scale(var(--orion-scale));
  transform-origin: 50% 52%;
  pointer-events:none;
  z-index:2;
}

/* single orb */
.orion-orbit-anim[data-orion-orbit] .orion-orb{
  position:absolute;
  width: 7px; height: 7px;
  border-radius:999px;
  opacity:0;
  will-change: transform, opacity, box-shadow;
  filter: blur(.12px);
}

/* "hot" orb pulse */
.orion-orbit-anim[data-orion-orbit] .orion-orb.is-hot{
  width: 8px; height: 8px;
  box-shadow: 0 0 0 10px rgba(42,168,255,.10);
  animation: orionHotPulse 1.6s ease-in-out infinite;
}
@keyframes orionHotPulse{
  0%,100%{ box-shadow: 0 0 0 7px rgba(42,168,255,.08); }
  50%{ box-shadow: 0 0 0 13px rgba(0,224,198,.10); }
}

/* core */
.orion-orbit-anim[data-orion-orbit] .orion-core{
  position:absolute;
  left:50%;
  top:52%;
  transform: translate(-50%,-50%) scale(var(--orion-scale));
  transform-origin: 50% 52%;
  width:230px;
  height:230px;
  border-radius:999px;
  background: radial-gradient(circle at 35% 30%,
    rgba(255,255,255,.96),
    rgba(255,255,255,.58) 36%,
    rgba(255,255,255,.30) 62%,
    rgba(255,255,255,.18) 100%);
  border: 1px solid rgba(15,18,34,.10);
  box-shadow: var(--shadow2);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  overflow:hidden;
  z-index:3;
}

/* internal drift */
.orion-orbit-anim[data-orion-orbit] .orion-core::before{
  content:"";
  position:absolute;
  inset:-42px;
  background:
    radial-gradient(circle at 22% 40%, rgba(42,168,255,.22), transparent 58%),
    radial-gradient(circle at 72% 30%, rgba(0,224,198,.20), transparent 60%),
    radial-gradient(circle at 52% 78%, rgba(191,239,255,.18), transparent 60%);
  filter: blur(10px);
  opacity:.95;
  animation: orionDrift 6.8s ease-in-out infinite alternate;
}
@keyframes orionDrift{
  from{ transform: translate3d(-6px, 6px, 0) scale(1); }
  to  { transform: translate3d(8px,-8px, 0) scale(1.03); }
}

/* label */
.orion-orbit-anim[data-orion-orbit] .orion-label{
  position:absolute;
  left:50%;
  top:50%;
  transform: translate(-50%,-50%) scale(var(--orion-scale));
  transform-origin: 50% 52%;
  display:flex;
  align-items:center;
  gap:10px;
  padding: 10px 14px;
  border-radius:999px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(15,18,34,.10);
  box-shadow: 0 8px 20px rgba(15,18,34,.08);
  letter-spacing:.08em;
  font-weight:760;
  font-size:13.5px;
  text-transform:uppercase;
  color: rgba(15,18,34,.86);
  user-select:none;
  white-space:nowrap;
  z-index:4;
}

.orion-orbit-anim[data-orion-orbit] .orion-label b{
  background: linear-gradient(90deg, var(--o1), var(--o2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow: 0 0 18px rgba(0,180,255,.18);
}

.orion-orbit-anim[data-orion-orbit] .orion-dot{
  width:10px; height:10px; border-radius:50%;
  background: linear-gradient(90deg, var(--o1), var(--o2));
  box-shadow: 0 0 0 6px rgba(0,180,255,.12);
  animation: orionDotPulse 1.8s ease-in-out infinite;
  flex: 0 0 auto;
}
@keyframes orionDotPulse{
  0%,100%{ transform: scale(1); box-shadow: 0 0 0 6px rgba(0,180,255,.10); }
  50%{ transform: scale(1.08); box-shadow: 0 0 0 10px rgba(0,224,198,.10); }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  .orion-orbit-anim[data-orion-orbit] .orion-core::before,
  .orion-orbit-anim[data-orion-orbit] .orion-dot{
    animation: none !important;
  }
  .orion-orbit-anim[data-orion-orbit] .orion-ring::after{
    display:none;
  }
}
@media (max-width: 1500px){
  .orion-orbit-anim[data-orion-orbit]{
    overflow: hidden;
    --orion-scale: .60;
  }
}

@media (max-width: 1100px){
  .orion-orbit-anim[data-orion-orbit]{
    overflow: hidden;
    --orion-scale: .50;
  }
}

@media (max-width: 767px){
  .orion-orbit-anim[data-orion-orbit]{
    overflow: hidden;
    --orion-scale:0.60;
    min-height: 50vh;
    max-width: 100vw;
  }
}

a.btn-orion{
  background: linear-gradient(90deg, #083E6B, #005B52)!important;
  color: #ffffff;
  padding: 14px 28px;
  border-radius: 10px;
  border: none;
  font-weight: 600;
  transition: all 0.5s ease;
  box-shadow: 0 6px 18px rgba(0, 180, 255, 0.25);
}
a.btn-orion:hover{
  transform: translateY(-1px);
  box-shadow: 0 1px 5px rgba(0, 180, 255, 0.45);
  filter: brightness(1.08);
}
