/* Estilos de los widgets animados (antes inyectados en línea). */

  #orbika-scan{--scan:#0e8fc4;display:block;width:100%;max-width:100%;aspect-ratio:720/262;background:none}
  #orbika-scan svg{display:block;width:100%;height:100%}


.orb{--brand:#00767f;
  position:relative;width:100%;max-width:1200px;margin:0 auto;aspect-ratio:100/60;container-type:inline-size;border-radius:24px;font-family:'Montserrat',system-ui,sans-serif;isolation:isolate}
.orb.dark{--brand:#5fd0d8;
  background:radial-gradient(70% 90% at 15% 0%,#14879a 0%,transparent 60%),radial-gradient(60% 80% at 100% 100%,#2b6fa8 0%,transparent 60%),linear-gradient(160deg,#0d4d64,#082f40)}
.orb *{box-sizing:border-box}
.orb-stage{position:absolute;left:26%;top:21.67%;width:48%;opacity:0;transition:opacity .9s ease}
.orb.in .orb-stage{opacity:1}
.orb-base{display:block;width:100%;height:auto}
/* Los paneles son copias: la pantalla original se queda completa y las copias salen de su lugar y se quedan alrededor. */
.orb-pw{position:absolute;transform-origin:center;transform:none;z-index:3}
.orb.out .orb-pw{transform:translate(var(--dx),var(--dy)) scale(var(--s));transition:transform 1.3s cubic-bezier(.16,.84,.24,1) calc(var(--k)*.15s + .1s)}
.orb.out .orb-pf{animation:orbpf 6.5s ease-in-out 1.8s infinite alternate}
@keyframes orbpf{to{transform:translateY(var(--a))}}
.orb-pf img{display:block;width:100%;height:auto;border-radius:5px}
.orb-pw[data-k="steps"] .orb-pf{position:relative;overflow:hidden;border-radius:5px;height:var(--h0)}
.orb-pw[data-k="steps"] .orb-pf img{position:absolute;left:0;top:0;width:100%;border-radius:0}
.orb-pw[data-k="steps"] img.a{opacity:1}
.orb-pw[data-k="steps"] img.b{opacity:0}
.orb.out .orb-pw[data-k="steps"]{transition:transform .95s cubic-bezier(.45,0,.2,1) .05s}
.orb.out .orb-pw[data-k="steps"] .orb-pf{height:var(--h1);transition:height .95s cubic-bezier(.45,0,.2,1) .05s;outline:1px solid rgba(13,77,100,.22)}
.orb.out .orb-pw[data-k="steps"] img.a{opacity:0;transition:opacity .35s ease .12s}
.orb.out .orb-pw[data-k="steps"] img.b{opacity:1;transition:opacity .5s ease .1s}
/* sin sombras: solo una línea fina que separa el panel del fondo cuando sale */
.orb-pf img{outline:1px solid transparent;transition:outline-color .6s ease .3s}
.orb.out .orb-pf img{outline-color:rgba(13,77,100,.22)}
.orb.dark.out .orb-pf img{outline-color:rgba(255,255,255,.4)}
@media (max-width:760px){
  .orb{aspect-ratio:auto;container-type:normal;padding:8px 0 12px}
  .orb-stage{position:static;width:100%;display:flex;flex-direction:column;gap:16px;align-items:center}
  .orb-pw{position:static!important;width:min(100%,380px)!important;transform:none!important;transition:none!important}
  .orb-pf{animation:none!important}
  .orb-pf img{outline:1px solid rgba(13,77,100,.18);border-radius:10px}
  .orb-pw[data-k="head"],.orb-pw[data-k="tabs"]{display:none}
  .orb.dark{padding:14px 12px 16px}
}
@media (prefers-reduced-motion:reduce){
  .orb *{animation:none!important;transition:none!important}
  .orb-stage{opacity:1}
}


.eco{--ink:#0d4d64;--brand:#00767f;--sc:#0e8fc4;--ring:rgba(0,118,127,.34);--nodebg:#fff;--core1:#00767f;--core2:#0d4d64;--line:rgba(0,118,127,.30);
  background:#fff;position:relative;width:100%;max-width:1100px;margin:0 auto;aspect-ratio:100/80;container-type:inline-size;border-radius:24px;font-family:'Montserrat',system-ui,sans-serif;isolation:isolate}
.eco.dark{--ink:#fff;--brand:#5fd0d8;--sc:#5bd1ff;--ring:rgba(255,255,255,.34);--nodebg:#16637c;--core1:#1a97a6;--core2:#0d4d64;--line:rgba(255,255,255,.3);
  background:radial-gradient(70% 90% at 15% 0%,#14879a 0%,transparent 60%),radial-gradient(60% 80% at 100% 100%,#2b6fa8 0%,transparent 60%),linear-gradient(160deg,#0d4d64,#082f40)}
.eco *{box-sizing:border-box}
.eco-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.eco-ring{fill:none;stroke:var(--ring);stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s cubic-bezier(.4,.1,.2,1);transform-origin:400px 320px;transform:rotate(-90deg)}
.eco-ring.r3{stroke-dasharray:.0025 .0125;stroke-linecap:round;stroke-width:2.2;transition:opacity 1.4s ease 1s;opacity:0}
.eco-ring.r1{stroke-dasharray:.006 .014;transition:opacity 1.4s ease .6s;opacity:0}
.eco.in .eco-ring.r2{stroke-dashoffset:0}
.eco.in .eco-ring.r3,.eco.in .eco-ring.r1{opacity:1;stroke-dashoffset:0}
.eco-ring.r3,.eco-ring.r1{stroke-dashoffset:0}
.eco-halo,.eco-wave{opacity:0;transition:opacity 1s ease .5s}
.eco-wave{fill:none;stroke:var(--brand);stroke-width:1.6}
.eco.in .eco-halo{opacity:1}
.eco-rl{fill:none;stroke:var(--brand);stroke-opacity:.55;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s ease calc(1.5s + var(--k,0)*.15s),stroke-opacity .4s,stroke-width .4s}
.eco.in .eco-rl{stroke-dashoffset:0}
.eco-rl.on{stroke-opacity:1;stroke-width:3.2}
.eco-port{fill:var(--brand);opacity:0;transition:opacity .5s ease 1.4s}.eco-port.b{fill:#fff;stroke:var(--brand);stroke-width:2.2}.eco.in .eco-port{opacity:1}
.eco.dark .eco-port.b{fill:#16637c;stroke:#fff}.eco.dark .eco-rl{stroke:#fff}
.eco-dots{opacity:0;transition:opacity 1s ease 2.2s}.eco.in .eco-dots{opacity:1}
.eco-dot{fill:var(--sc)}.eco-dot.b{fill:var(--brand)}
.eco-sat circle{fill:var(--brand);opacity:.55}.eco-sat .s2{fill:var(--sc)}
.eco-core{position:absolute;left:50%;top:50%;width:clamp(86px,19cqw,210px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.4);opacity:0;z-index:3;
  background:radial-gradient(circle at 35% 28%,var(--core1),var(--core2));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2%;
  transition:transform 1s cubic-bezier(.2,1.2,.3,1) .2s,opacity .6s ease .2s}
.eco.in .eco-core{transform:translate(-50%,-50%) scale(1);opacity:1}
.eco-core .ic{width:34%;height:auto;stroke-width:1.4}
.eco-core span{font-weight:700;font-size:clamp(11px,1.7cqw,19px);letter-spacing:.01em}
.eco-core::after{content:"";position:absolute;inset:-6%;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--brand) 50%,transparent);animation:ecobreath 3.6s ease-in-out infinite}
@keyframes ecobreath{50%{transform:scale(1.07);opacity:.4}}
.eco-n{position:absolute;left:50%;top:50%;z-index:2;width:clamp(56px,11.2cqw,128px);transform:translate(-50%,-50%) scale(.3);opacity:0;
  transition:transform .8s cubic-bezier(.2,1.3,.3,1) calc(.9s + var(--d)*.18s),opacity .5s ease calc(.9s + var(--d)*.18s)}
.eco.in .eco-n{transform:translate(-50%,-50%) scale(1);opacity:1}
.eco-b{width:100%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;color:var(--brand);
  background:#fff;border:2px solid var(--brand);transition:box-shadow .4s,border-color .4s,transform .4s}
.eco-b .ic{width:46%;height:auto}
.eco.dark .eco-b{background:#16637c;border-color:rgba(255,255,255,.45);color:#fff}
.eco-n span{position:absolute;left:50%;top:100%;margin-top:clamp(4px,.9cqw,9px);transform:translateX(-50%);font-weight:700;font-size:clamp(11px,1.5cqw,17px);line-height:1.2;text-align:center;color:var(--ink);white-space:nowrap}
.eco.dark .eco-n span{color:#fff}
.eco-n.on .eco-b,.eco-n:hover .eco-b{box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 16%,transparent);transform:scale(1.08)}
.eco-logo{position:absolute;left:50%;bottom:.5%;transform:translateX(-50%);width:clamp(110px,18cqw,200px);z-index:3;opacity:0;transition:opacity 1s ease 2.4s}
.eco.in .eco-logo{opacity:1}
.eco-logo img{display:block;width:100%;height:auto}
.eco-logo .w{display:none}.eco.dark .eco-logo .w{display:block}.eco.dark .eco-logo .c{display:none}
@media (max-width:520px){.eco{aspect-ratio:100/100}.eco-n span{font-size:10.5px}.eco-core span{font-size:11px}}
@media (prefers-reduced-motion:reduce){
  .eco *,.eco-core::after{animation:none!important;transition:none!important}
  .eco-n,.eco-core,.eco-logo,.eco-halo,.eco-port{opacity:1!important}.eco-rl{stroke-dashoffset:0!important}
  .eco-ring{stroke-dashoffset:0!important}.eco-n{transform:translate(-50%,-50%)!important}.eco-core{transform:translate(-50%,-50%)!important}
  .eco-dots,.eco-sat,.eco-wave{display:none}
}

.eco.dark{background:transparent}.eco-core{width:clamp(118px,23cqw,262px)}.eco-core span{font-size:clamp(13px,2.3cqw,25px);font-weight:800}.eco-n{width:clamp(88px,17.5cqw,200px)}.eco-b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5%}.eco-b .ic{width:32%}.eco-n .eco-b span{position:static;transform:none;margin:0;padding:0 16%;font-size:clamp(10px,1.55cqw,17px);line-height:1.12;white-space:normal;text-align:center;color:#fff}.eco{max-width:none}

#orbika-latam{--ink:#0d4d64;--brand:#00767f;--land:#fff;--hi:#00767f;--edge:#0d4d64;--ring:#1ab0bd;--txt:#0d4d64;
  width:100%;max-width:1120px;margin:0 auto;container-type:inline-size;font-family:'Montserrat',system-ui,sans-serif}
#orbika-latam *{box-sizing:border-box}
.lm-svg{display:block;width:100%;height:auto;margin-inline:auto;overflow:visible}
.lm-l{fill:var(--land);stroke:var(--edge);stroke-width:1.2;stroke-linejoin:round}
.lm-p .lm-l{fill:var(--hi);transition:fill .2s ease;cursor:pointer}
.lm-p:hover .lm-l{fill:var(--ink)}
.lm-land>.lm-l,.lm-p{opacity:0;transform:translateY(8px);transition:opacity .4s ease var(--d),transform .5s cubic-bezier(.2,.8,.2,1) var(--d)}
.lm-t{opacity:0;transition:opacity .3s ease var(--f)}
.lm-mk{stroke:#fff;stroke-width:14;stroke-dasharray:1;stroke-dashoffset:1;fill:none;transition:stroke-dashoffset .5s ease-out var(--f)}
.lm-ld{stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-dasharray:.1 8;stroke-opacity:.75;fill:none}
.lm-pd{fill:#fff;stroke:var(--ink);stroke-width:2.5;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .35s cubic-bezier(.3,1.6,.5,1) var(--f)}
.lm-tv{fill:var(--ring);stroke:#fff;stroke-width:1.5;opacity:0}
.lm-pr{fill:none;stroke:var(--ring);stroke-width:2.4;opacity:0}
.lm-nm{font-family:inherit;font-weight:700;font-size:23px;fill:var(--txt);letter-spacing:.01em}
@keyframes lmflow{to{stroke-dashoffset:-8.1}}
@keyframes lmtravel{0%{opacity:0;transform:translateX(0)}6%{opacity:1;transform:translateX(0)}68%{opacity:1;transform:translateX(var(--len))}72%,100%{opacity:0;transform:translateX(var(--len))}}
@keyframes lmpulse{0%,68%{r:8;opacity:0}70%{r:8;opacity:.9}100%{r:42;opacity:0}}
#orbika-latam.in .lm-land>.lm-l,#orbika-latam.in .lm-p{opacity:1;transform:none}
#orbika-latam.in .lm-t{opacity:1}
#orbika-latam.in .lm-mk{stroke-dashoffset:0}
#orbika-latam.in .lm-pd{transform:scale(1)}
#orbika-latam.in .lm-ld{animation:lmflow .7s linear infinite;animation-delay:calc(var(--f) + .5s)}
#orbika-latam.in .lm-tv{animation:lmtravel 1.7s ease-in-out infinite;animation-delay:calc(var(--f) + .5s)}
#orbika-latam.in .lm-pr{animation:lmpulse 1.7s ease-out infinite;animation-delay:calc(var(--f) + .5s)}
#orbika-latam.hv .lm-p:not(.on),#orbika-latam.hv .lm-land>.lm-l{opacity:.55}
@media(max-width:700px){.lm-svg{max-height:none}.lm-nm{font-size:27px}}
@media (prefers-reduced-motion:reduce){
  #orbika-latam *{transition:none!important;animation:none!important}
  .lm-land>.lm-l,.lm-p,.lm-t{opacity:1;transform:none}.lm-mk{stroke-dashoffset:0}.lm-pd{transform:scale(1)}.lm-pr,.lm-tv{display:none}
}

.lm-tv.el{offset-rotate:0deg;offset-distance:0%}
#orbika-latam.in .lm-tv.el{animation:lmtravelp 1.7s ease-in-out infinite;animation-delay:calc(var(--f) + .5s)}
@keyframes lmtravelp{0%{opacity:0;offset-distance:0%}6%{opacity:1;offset-distance:0%}68%{opacity:1;offset-distance:100%}72%,100%{opacity:0;offset-distance:100%}}
/* legibilidad en celular: etiquetas del diagrama de ecosistema mínimo 12px */
.eco-n .eco-b span{font-size:clamp(12px,1.55cqw,17px);padding:0 10%}
