@keyframes auraFloat{
  0%, 100%{ transform:translate(0, 0) scale(1); }
  25%{ transform:translate(40px, -30px) scale(1.08); }
  50%{ transform:translate(-20px, 20px) scale(0.95); }
  75%{ transform:translate(30px, 10px) scale(1.03); }
}

@keyframes heroRingIn{
  from{ opacity:0; transform:translate(-50%, -50%) scale(0.7); }
  to{ opacity:1; transform:translate(-50%, -50%) scale(1); }
}

@keyframes heroRingSpin{
  to{ transform:rotate(360deg); }
}

@keyframes heroOrbitFadeIn{
  to{ opacity:1; }
}

@keyframes heroOrbitMove{
  0%{ transform:rotate(0deg) translateX(min(35vw, 300px)) rotate(0deg); }
  100%{ transform:rotate(360deg) translateX(min(35vw, 300px)) rotate(-360deg); }
}

@keyframes plSpiralPulse{
  0%, 100%{ opacity:0.4; transform:scale(1); }
  50%{ opacity:0.8; transform:scale(1.05); }
}

@keyframes plBarShift{
  0%{ background-position:0% 0%; }
  100%{ background-position:200% 0%; }
}

@keyframes plGlow{
  0%{ box-shadow:0 0 12px 3px rgba(255,255,255,0.5), 0 0 30px 6px rgba(212,168,75,0.3); }
  100%{ box-shadow:0 0 20px 6px rgba(255,255,255,0.8), 0 0 50px 12px rgba(212,168,75,0.6); }
}

@keyframes splitColorFloat{
  0%, 100%{ transform:translate(-50%, -50%) scale(1); }
  33%{ transform:translate(-40%, -55%) scale(1.1); }
  66%{ transform:translate(-55%, -45%) scale(0.9); }
}

@keyframes cardOrbPulse{
  0%{ transform:scale(1) translate(0, 0); }
  100%{ transform:scale(1.1) translate(5px, -5px); }
}

@keyframes fadeInUp{
  from{ opacity:0; transform:translateY(30px); }
  to{ opacity:1; transform:translateY(0); }
}

@keyframes fadeInLeft{
  from{ opacity:0; transform:translateX(-30px); }
  to{ opacity:1; transform:translateX(0); }
}

@keyframes gentlePulse{
  0%, 100%{ opacity:0.6; }
  50%{ opacity:1; }
}
.pl-spiral{ animation:plSpiralPulse 2s ease-in-out infinite; }
.pl-bar{ animation:plBarShift 2s linear infinite; }
.pl-bar::after{ animation:plGlow 0.8s ease-in-out infinite alternate; }
.scroll-reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity 0.8s var(--ease-out-expo), transform 0.8s var(--ease-out-expo);
}
.scroll-reveal.visible{
  opacity:1;
  transform:translateY(0);
}
.blur-reveal{
  filter:blur(8px);
  opacity:0.3;
  transition:filter 1.2s var(--ease-out-expo), opacity 1.2s var(--ease-out-expo);
}
.blur-reveal.sharp{
  filter:blur(0px);
  opacity:1;
}
.stagger-1{ transition-delay:0s; }
.stagger-2{ transition-delay:0.15s; }
.stagger-3{ transition-delay:0.3s; }
.stagger-4{ transition-delay:0.45s; }
.stagger-5{ transition-delay:0.6s; }
.stagger-6{ transition-delay:0.75s; }
.hero-content > *{
  opacity:0; transform:translateY(30px);
  transition:opacity 0.9s var(--ease-out-expo), transform 0.9s var(--ease-out-expo);
}
.hero-content.visible > *{ opacity:1; transform:translateY(0); }
.hero-content.visible > *:nth-child(1){ transition-delay:0s; }
.hero-content.visible > *:nth-child(2){ transition-delay:0.15s; }
.hero-content.visible > *:nth-child(3){ transition-delay:0.35s; }
.hero-content.visible > *:nth-child(4){ transition-delay:0.55s; }
.hero-content.visible > *:nth-child(5){ transition-delay:0.75s; }
.hero-aura{
  position:absolute;
  border-radius:50%;
  filter:blur(120px);
  opacity:0;
  pointer-events:none;
  transition:opacity 2s ease;
}
.hero-aura.animate{
  opacity:0.15;
  animation:auraFloat 12s ease-in-out infinite;
}
.glass-card .card-glow{
  animation:cardOrbPulse 4s ease-in-out infinite alternate;
}
