/* Aurora background: single source, cortinas verticales onduladas.
   Colors overridable via --aurora-1 / --aurora-2 custom properties
   (defined per-page :root) so each niche can recolor without duplicating
   this rule. */
body::before {
  content: '';
  position: fixed;
  inset: -10%;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(88deg, transparent 20%, var(--aurora-1, rgba(34, 211, 238, 0.36)) 45%, transparent 70%),
    linear-gradient(95deg, transparent 30%, var(--aurora-2, rgba(14, 116, 144, 0.38)) 55%, transparent 80%),
    linear-gradient(102deg, transparent 15%, var(--aurora-1, rgba(34, 211, 238, 0.28)) 40%, transparent 65%);
  background-size: 60% 140%, 55% 150%, 50% 130%;
  background-repeat: no-repeat;
  filter: blur(30px);
  animation: aurora-flow 13s ease-in-out infinite alternate;
}

@keyframes aurora-flow {
  0%   { background-position: -10% 0%, 110% 20%, 40% 100%; opacity: 0.75; }
  50%  { background-position: 30% 30%, 70% 60%, 60% 40%; opacity: 1; }
  100% { background-position: 60% 10%, 40% 80%, 20% 20%; opacity: 0.8; }
}

@media (prefers-reduced-motion: reduce) {
  body::before { animation: none; }
}
