/* Lanorix: анимированный фон (сеть/узлы + ауры). Цвета берутся из переменных site.css. */
.bg-fx {
  position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden;
  --bgfx-a: var(--accent, #2f81f7);
  --bgfx-b: var(--accent-strong, #1f6feb);
  --bgfx-aura-opacity: .13; /* общая яркость аур */
}
.bg-fx canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.bg-aura {
  position: absolute; border-radius: 50%; opacity: var(--bgfx-aura-opacity);
  will-change: transform; transform: translate3d(0, 0, 0);
}
.bg-aura.a1 { width: 52vmax; height: 52vmax; left: -14vmax; top: -18vmax;
  background: radial-gradient(closest-side, var(--bgfx-a), transparent);
  animation: bgfx-float1 48s ease-in-out infinite alternate; }
.bg-aura.a2 { width: 46vmax; height: 46vmax; right: -16vmax; top: 22vh;
  background: radial-gradient(closest-side, var(--bgfx-b), transparent);
  animation: bgfx-float2 62s ease-in-out infinite alternate; }
.bg-aura.a3 { width: 40vmax; height: 40vmax; left: 20vw; bottom: -22vmax;
  background: radial-gradient(closest-side, var(--bgfx-a), transparent);
  opacity: calc(var(--bgfx-aura-opacity) * .7);
  animation: bgfx-float3 74s ease-in-out infinite alternate; }
@keyframes bgfx-float1 { to { transform: translate3d(14vw, 10vh, 0) scale(1.12); } }
@keyframes bgfx-float2 { to { transform: translate3d(-16vw, -12vh, 0) scale(.92); } }
@keyframes bgfx-float3 { to { transform: translate3d(18vw, -14vh, 0) scale(1.1); } }
@media (prefers-reduced-motion: reduce) { .bg-aura { animation: none; } }
