/* Shared Aura atmosphere; decorative and transparent to all interactions. */
.sf-home-aura {
  position: fixed;
  inset: 0;
  z-index: 85;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
  isolation: isolate;
}
.sf-home-aura[hidden] { display: none !important; }
.sf-home-aura::before,
.sf-home-aura::after {
  content: "";
  position: absolute;
  inset: -18%;
  background:
    radial-gradient(ellipse at 6% 26%, rgba(50, 128, 255, .22), transparent 34%),
    radial-gradient(ellipse at 95% 42%, rgba(92, 72, 230, .16), transparent 32%),
    radial-gradient(ellipse at 54% 100%, rgba(38, 201, 220, .14), transparent 36%);
  animation: sf-aura-drift 24s ease-in-out infinite alternate;
  will-change: transform;
}
.sf-home-aura::after {
  background: radial-gradient(ellipse at 70% 15%, rgba(88, 178, 255, .12), transparent 38%);
  animation-duration: 31s;
  animation-direction: alternate-reverse;
}
.sf-home-aura__light {
  position: absolute;
  inset: 0;
  background: radial-gradient(420px circle at var(--aura-x, 75%) var(--aura-y, 30%), rgba(71, 139, 255, .10), transparent 75%);
}
@keyframes sf-aura-drift {
  from { transform: translate3d(-3%, -2%, 0) rotate(-5deg) scale(1); }
  to { transform: translate3d(4%, 3%, 0) rotate(6deg) scale(1.08); }
}
@media (max-width: 620px) {
  .sf-home-aura__light { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .sf-home-aura::before, .sf-home-aura::after { animation: none; will-change: auto; }
  .sf-home-aura__light { display: none; }
}
@media print { .sf-home-aura { display: none !important; } }
