/* ============================================================
   VAEL drone — rig + SVG animations + circular equalizer
   ============================================================ */

.drone-rig{
  position:relative;
  width:420px; height:420px;
  display:flex; align-items:center; justify-content:center;
  max-width:100%;
}
.drone-rig.sm{ width:330px; height:330px; }

.eq-canvas{
  position:absolute; inset:-4%; width:108%; height:108%;
  z-index:1; pointer-events:none;
}
.drone-mount{
  position:relative; z-index:2;
  width:78%; height:78%;
  display:flex; align-items:center; justify-content:center;
}
.drone-svg{ width:100%; height:100%; overflow:visible; display:block; }

/* float */
.dr-float{
  transform-box:fill-box; transform-origin:center;
  animation:droneBob 7.5s ease-in-out infinite;
}
@keyframes droneBob{
  0%,100%{ transform:translateY(-6px) rotate(-1.1deg); }
  50%{ transform:translateY(8px) rotate(1.1deg); }
}
.dr-shadow{ animation:droneShadow 7.5s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
@keyframes droneShadow{ 0%,100%{ transform:scale(.9); opacity:.28 } 50%{ transform:scale(1.05); opacity:.4 } }

/* visor pulse + bloom */
.dr-visor{ transform-box:fill-box; transform-origin:262px 190px; animation:visorPulse 3.4s ease-in-out infinite; }
@keyframes visorPulse{ 0%,100%{ filter:brightness(1) } 50%{ filter:brightness(1.18) } }
.dr-bloom{ animation:bloomPulse 3.4s ease-in-out infinite; transform-box:fill-box; transform-origin:262px 190px; }
@keyframes bloomPulse{ 0%,100%{ opacity:.5; transform:scale(1) } 50%{ opacity:.85; transform:scale(1.12) } }
.dr-aura{ animation:auraPulse 3.4s ease-in-out infinite; }
@keyframes auraPulse{ 0%,100%{ opacity:.10 } 50%{ opacity:.22 } }

/* scan slit */
.dr-slit{ transform-box:fill-box; transform-origin:center; animation:slitScan 4.6s ease-in-out infinite; }
@keyframes slitScan{ 0%,100%{ transform:scaleY(1) } 50%{ transform:scaleY(.42) } }

/* antenna pip blink */
.dr-pip{ animation:pipBlink 2.2s ease-in-out infinite; }
@keyframes pipBlink{ 0%,100%{ opacity:1 } 50%{ opacity:.35 } }

/* gloss sweep */
.dr-sweep{ transform-box:view-box; animation:glossSweep 7s ease-in-out infinite; }
@keyframes glossSweep{
  0%{ transform:translateX(0) skewX(-18deg); opacity:0 }
  18%{ opacity:.18 }
  46%{ transform:translateX(520px) skewX(-18deg); opacity:0 }
  100%{ transform:translateX(520px) skewX(-18deg); opacity:0 }
}

@media (prefers-reduced-motion: reduce){
  .dr-float,.dr-shadow,.dr-visor,.dr-bloom,.dr-aura,.dr-slit,.dr-pip,.dr-sweep{ animation:none; }
  .dr-aura{ opacity:.16; } .dr-bloom{ opacity:.7; }
}
