/* =====================================================================
   Mediaweb Animations — estilos compartidos (SVG puro, 0 librerias)
   Todas las clases estan scopeadas bajo .mwa-stage para no afectar el sitio.
   Regla de marca: color durazno del manual vetado. Verde de marca: #26D07C.
   ===================================================================== */
.mwa-stage{
  --g:var(--mw-green,#26D07C);
  --g7:var(--mw-green-700,#1FA968);
  --bd:rgba(145,157,157,.18);
  --mut:var(--mw-500,#919D9D);
  position:relative;z-index:1;display:block;width:100%;max-width:760px;margin:0 auto;
  border-radius:16px;border:1px solid var(--bd);overflow:hidden;
  box-shadow:0 26px 60px -30px rgba(0,0,0,.85);
  background:radial-gradient(120% 95% at 50% 0%,#18232c,#0c1218);
  aspect-ratio:16/10;
  font-family:var(--mw-font-base,"Helvetica Neue",Helvetica,Arial,sans-serif)}
.mwa-stage--rocket{aspect-ratio:16/10}
.mwa-stage svg{display:block;width:100%;height:100%}
.mwa-stage text{font-family:var(--mw-font-base,"Helvetica Neue",Helvetica,Arial,sans-serif)}

/* ---- Señal en transito (TX verde / RX cian) ---- */
.mwa-stage .mwa-base{fill:none;stroke:rgba(125,175,155,.5);stroke-width:1.5}
.mwa-stage .mwa-sig{fill:none;stroke:#26D07C;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:12 88;stroke-dashoffset:100;animation:mwa-travel 3.4s linear infinite}
@keyframes mwa-travel{to{stroke-dashoffset:0}}
.mwa-stage .mwa-rx{fill:none;stroke:#2BD0DE;stroke-width:2;stroke-linecap:round;stroke-dasharray:9 91;stroke-dashoffset:0;animation:mwa-travelrx 3.4s linear infinite}
@keyframes mwa-travelrx{to{stroke-dashoffset:100}}
.mwa-stage .mwa-glow{opacity:0;transform-box:fill-box;transform-origin:center;animation:mwa-nodeflash 3.4s ease-out infinite}
@keyframes mwa-nodeflash{0%,16%{opacity:0;transform:scale(.86)}24%{opacity:1;transform:scale(1.05)}46%,100%{opacity:0;transform:scale(1.12)}}
.mwa-stage .mwa-led{animation:mwa-ledpulse 1.6s ease-in-out infinite}
@keyframes mwa-ledpulse{0%,100%{opacity:.35}50%{opacity:1}}
.mwa-stage .mwa-cloudpulse{opacity:0;animation:mwa-cloudglow 3.4s linear infinite}
@keyframes mwa-cloudglow{0%,4%{opacity:0}10%{opacity:.22}20%{opacity:0}100%{opacity:0}}

/* ---- Flujo electrico (energia) ---- */
.mwa-stage .mwa-elec{fill:none;stroke:#b6ffdb;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:2 13;stroke-dashoffset:180;filter:drop-shadow(0 0 2.5px #26D07C);animation:mwa-current 1.05s linear infinite,mwa-flick .13s steps(2,jump-none) infinite}
@keyframes mwa-current{to{stroke-dashoffset:0}}
@keyframes mwa-flick{0%,100%{opacity:1}50%{opacity:.5}}

/* ---- Enlaces / nodos genericos ---- */
.mwa-stage .mwa-link,.mwa-stage .mwa-flow{stroke-dasharray:3 7;opacity:.6;animation:mwa-dash 1.4s linear infinite}
@keyframes mwa-dash{to{stroke-dashoffset:-20}}
.mwa-stage .mwa-node{animation:mwa-blink 2.4s ease-in-out infinite}
@keyframes mwa-blink{0%,100%{opacity:.45}50%{opacity:1}}

/* ---- Anti-DDoS: campo de energia, escudo, ataques bloqueados, globo ---- */
.mwa-stage .mwa-field{transform-box:fill-box;transform-origin:center;animation:mwa-field 3s ease-in-out infinite}
@keyframes mwa-field{0%,100%{opacity:.55;transform:scale(.95)}50%{opacity:1;transform:scale(1.06)}}
.mwa-stage .mwa-hex{animation:mwa-hexp 3s ease-in-out infinite}
.mwa-stage .mwa-hex.h2{animation-delay:.7s}
@keyframes mwa-hexp{0%,100%{opacity:.28}50%{opacity:.7}}
.mwa-stage .mwa-ddos{opacity:0}
.mwa-stage .mwa-ddos.a1{animation:mwa-ddos 2.6s ease-in infinite}
.mwa-stage .mwa-ddos.a2{animation:mwa-ddos 2.6s ease-in .55s infinite}
.mwa-stage .mwa-ddos.a3{animation:mwa-ddos 2.6s ease-in 1.1s infinite}
@keyframes mwa-ddos{0%{transform:translateX(-94px);opacity:0}14%{opacity:1}64%{transform:translateX(0);opacity:1}74%{transform:translateX(3px);opacity:0}100%{opacity:0}}
.mwa-stage .mwa-ximp{opacity:0;transform-box:fill-box;transform-origin:center}
.mwa-stage .mwa-ximp.a1{animation:mwa-ximp 2.6s ease-out infinite}
.mwa-stage .mwa-ximp.a2{animation:mwa-ximp 2.6s ease-out .55s infinite}
.mwa-stage .mwa-ximp.a3{animation:mwa-ximp 2.6s ease-out 1.1s infinite}
@keyframes mwa-ximp{0%,58%{opacity:0;transform:scale(.3)}66%{opacity:1;transform:scale(1.3)}80%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(.7)}}
.mwa-stage .mwa-orbit{fill:none;stroke:#26D07C;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:20 70;stroke-dashoffset:90;animation:mwa-travel 3.2s linear infinite}
.mwa-stage .mwa-spin{transform-box:fill-box;transform-origin:center;animation:mwa-spin 11s linear infinite}
@keyframes mwa-spin{to{transform:rotate(360deg)}}

/* ---- Monitoreo 24/7 (grafico de trafico) ---- */
.mwa-stage .mwa-scroll{animation:mwa-scroll 7.5s linear infinite}
@keyframes mwa-scroll{to{transform:translateX(-360px)}}

/* ---- Cohete sobre Sudamerica ---- */
.mwa-stage .mwa-rkt{animation:mwa-float 4s ease-in-out infinite}
@keyframes mwa-float{0%,100%{transform:translate(0,0)}50%{transform:translate(0,-4px)}}
.mwa-stage .mwa-flame{transform-box:fill-box;transform-origin:50% 0;animation:mwa-flame .22s ease-in-out infinite}
@keyframes mwa-flame{0%,100%{transform:scale(1,1);opacity:.85}50%{transform:scale(.88,1.28);opacity:1}}
.mwa-stage .mwa-trail{animation:mwa-trailp .9s ease-in-out infinite}
@keyframes mwa-trailp{0%,100%{opacity:.82}50%{opacity:1}}
.mwa-stage .mwa-smoke{transform-box:fill-box;transform-origin:center;animation:mwa-smoke 3.2s ease-out infinite}
@keyframes mwa-smoke{0%{transform:scale(.45);opacity:0}22%{opacity:.8}100%{transform:scale(1.5) translate(-6px,8px);opacity:0}}
.mwa-stage .mwa-coast{animation:mwa-coast 2.6s ease-in-out infinite}
@keyframes mwa-coast{0%,100%{opacity:.55}50%{opacity:1}}
.mwa-stage .mwa-atmo{animation:mwa-atmo 3.4s ease-in-out infinite}
@keyframes mwa-atmo{0%,100%{opacity:.45}50%{opacity:.8}}
.mwa-stage .mwa-twinkle{animation:mwa-twinkle 2.4s ease-in-out infinite}
@keyframes mwa-twinkle{0%,100%{opacity:.3}50%{opacity:1}}
.mwa-stage .mwa-streak{animation:mwa-streak 3s linear infinite}
@keyframes mwa-streak{0%{opacity:0;transform:translateX(10px)}30%{opacity:.6}100%{opacity:0;transform:translateX(-28px)}}
.mwa-stage .mwa-cloud{animation:mwa-clouddrift 9s ease-in-out infinite}
@keyframes mwa-clouddrift{0%,100%{transform:translateX(0)}50%{transform:translateX(-12px)}}
.mwa-stage .mwa-limb{stroke-dasharray:18 198;stroke-dashoffset:216;animation:mwa-limb 5.5s linear infinite}
@keyframes mwa-limb{to{stroke-dashoffset:0}}
.mwa-stage .mwa-rkt-sh{transform-box:fill-box;transform-origin:center;animation:mwa-rktsh 4s ease-in-out infinite}
@keyframes mwa-rktsh{0%,100%{opacity:.42;transform:scale(1)}50%{opacity:.3;transform:scale(.94)}}

/* ---- Servicio al cliente IA 24/7 ---- */
.mwa-stage .mwa-eq{transform-box:fill-box;transform-origin:bottom;animation:mwa-eq .9s ease-in-out infinite}
.mwa-stage .mwa-eq.e2{animation-delay:.15s}
.mwa-stage .mwa-eq.e3{animation-delay:.3s}
.mwa-stage .mwa-eq.e4{animation-delay:.45s}
@keyframes mwa-eq{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1.25)}}
.mwa-stage .mwa-swave{opacity:0;animation:mwa-swave 1.6s ease-out infinite}
@keyframes mwa-swave{0%{opacity:0}25%{opacity:.95}65%{opacity:0}100%{opacity:0}}

/* ---- Accesibilidad ---- */
@media(prefers-reduced-motion:reduce){.mwa-stage *{animation:none!important;transition:none!important}}
