/* Seo Local Pymes. Estilos de la web */
@font-face{font-family:Archivo;src:url("/assets/fonts/archivo-var.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}

html{scroll-behavior:smooth}
body{margin:0;background:#F5F6F3;overflow-x:hidden}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #E0A526;outline-offset:3px}
.h-d{font-weight:800;letter-spacing:-0.04em;font-stretch:104%}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes subir{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes caer{0%{transform:translateY(-260px);opacity:0}55%{transform:translateY(0);opacity:1}72%{transform:translateY(-20px)}86%{transform:translateY(0)}93%{transform:translateY(-5px)}100%{transform:translateY(0)}}
@keyframes onda{0%{transform:scale(.4);opacity:.9}100%{transform:scale(3.8);opacity:0}}
@keyframes trazo{from{stroke-dashoffset:760}to{stroke-dashoffset:0}}
@keyframes aviso{0%{opacity:0;transform:translateY(14px) scale(.96)}7%{opacity:1;transform:none}80%{opacity:1;transform:none}90%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes cinta{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes escribir{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes cursor{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes llenar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes tic{0%,40%{opacity:0;transform:scale(.3)}100%{opacity:1;transform:none}}
@keyframes flotar{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.entra{animation:subir .8s cubic-bezier(.2,.7,.2,1) both}
.e2{animation-delay:.12s}.e3{animation-delay:.24s}.e4{animation-delay:.36s}
.mapa3d{transform:perspective(1600px) rotateY(-9deg) rotateX(7deg);transition:transform .6s ease}
.mapa3d:hover{transform:perspective(1600px) rotateY(-3deg) rotateX(3deg)}
.pin{animation:caer 1.1s cubic-bezier(.3,.7,.4,1) .6s both}
.onda{transform-box:fill-box;transform-origin:center;opacity:0;animation:onda 2.8s ease-out 1.7s infinite}
.onda2{animation-delay:3.1s}
.ruta{stroke-dasharray:760;stroke-dashoffset:0;animation:trazo 1.2s ease-in-out both}
.r1{animation-delay:1.8s}.r2{animation-delay:2.2s}.r3{animation-delay:2.6s}
.chip{animation:fade .5s ease-out both}.c1{animation-delay:1.7s}.c2{animation-delay:2.1s}.c3{animation-delay:2.5s}
.aviso{animation:aviso 9s ease-in-out infinite both}
.a1{animation-delay:3.2s}.a2{animation-delay:4.4s}.a3{animation-delay:5.6s}
.cinta{animation:cinta 45s linear infinite}
.tecleo{animation:escribir 1.6s steps(24) .4s both}
.cursor{animation:cursor 1s step-end infinite}
.res{animation:subir .5s ease-out both}.res2{animation-delay:.1s}.res3{animation-delay:.2s}.res4{animation-delay:.3s}
.ancha{grid-column:span 2}@media (max-width: 720px){.ancha{grid-column:auto}}
.tarjeta{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.tarjeta:hover{transform:translateY(-6px);box-shadow:0 26px 50px -30px rgba(14,27,77,.55)}
.flota{animation:flotar 5s ease-in-out infinite}
.barra{transform-origin:left center;animation:llenar 1.2s cubic-bezier(.2,.7,.2,1) both}
.b2{animation-delay:.3s}.b3{animation-delay:.6s}
.tic{animation:tic .6s ease-out both}.t2{animation-delay:.35s}.t3{animation-delay:.7s}
@keyframes ghost{0%{opacity:0}6%{opacity:.9}18%{opacity:.3}28%{opacity:.8}40%{opacity:.25}48%,100%{opacity:0}}
@keyframes compe{0%,8%{opacity:.35}14%,46%{opacity:1}56%,100%{opacity:.35}}
@keyframes rA{0%,12%{stroke-dashoffset:560;opacity:1}34%,46%{stroke-dashoffset:0;opacity:1}52%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes rB{0%,64%{stroke-dashoffset:560;opacity:0}65%{stroke-dashoffset:560;opacity:1}82%,94%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes pinYo{0%,52%{opacity:0;transform:translateY(-140px)}60%{opacity:1;transform:translateY(0)}64%{transform:translateY(-14px)}68%,94%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(0)}}
@keyframes halo{0%,68%{opacity:0;transform:scale(.4)}74%{opacity:.85;transform:scale(.8)}92%,100%{opacity:0;transform:scale(3.2)}}
@keyframes pulso{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(2.8)}}
@keyframes cap1{0%,6%{opacity:0;transform:translateY(-8px)}12%,44%{opacity:1;transform:none}50%,100%{opacity:0;transform:none}}
@keyframes cap2{0%,62%{opacity:0;transform:translateY(-8px)}70%,94%{opacity:1;transform:none}100%{opacity:0;transform:none}}
.ghost{opacity:0;animation:ghost 11s ease-in-out infinite}
.compe{animation:compe 11s ease-in-out infinite}.c-b{animation-delay:.2s}.c-c{animation-delay:.4s}
.rutaA{opacity:0;animation:rA 11s ease-in-out infinite}
.rutaB{animation:rB 11s ease-in-out infinite}
.pinYo{animation:pinYo 11s cubic-bezier(.3,.7,.4,1) infinite}
.halo{transform-box:fill-box;transform-origin:center;opacity:0;animation:halo 11s ease-out infinite}
.pulso{transform-box:fill-box;transform-origin:center;opacity:0;animation:pulso 1.8s ease-out infinite}
.cap1{opacity:0;transform-box:fill-box;animation:cap1 11s ease-in-out infinite}
.cap2{transform-box:fill-box;animation:cap2 11s ease-in-out infinite}
.arriba{width:40px;height:40px;flex:none;border-radius:50%;background:#0E1B4D;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 22px -10px rgba(14,27,77,.6);transition:transform .25s}
.arriba:hover{transform:translateY(-3px)}
@keyframes verArriba{from{opacity:0;visibility:hidden;transform:translateY(12px)}to{opacity:1;visibility:visible;transform:none}}
@media (min-width: 1380px){.arriba{position:fixed;right:18px;bottom:18px;z-index:50}
@supports (animation-timeline: scroll()){.arriba{animation:verArriba linear both;animation-timeline:scroll(root);animation-range:0 500px}}}
@supports (animation-timeline: view()){
.rev{animation:subir linear both;animation-timeline:view();animation-range:entry 5% cover 28%}
.barra{animation:llenar linear both;animation-timeline:view();animation-range:entry 30% cover 45%}
.tic{animation:tic linear both;animation-timeline:view();animation-range:entry 40% cover 50%}
.t2{animation-range:entry 55% cover 55%}.t3{animation-range:entry 70% cover 60%}
}
.menu-btn{display:none}
.panel-movil{display:flex}
@media (max-width: 860px){.nav-esc{display:none !important}.menu-btn{display:inline-flex}}
@media (min-width: 861px){.panel-movil{display:none !important}}
@media (max-width: 720px){
.mapa3d,.mapa3d:hover{transform:none}
.heroMapa{padding:60px 0 !important}
.aviso{padding:9px 13px 9px 9px !important;gap:9px !important;border-radius:13px !important}
.aviso strong{font-size:13px !important}.aviso span span{font-size:12px !important}
.aviso > span:first-child{width:30px !important;height:30px !important}
.conmuta button{font-size:15px !important;padding:0 14px !important;min-height:42px !important}
}
@media (max-width: 420px){.a2{display:none !important}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important}html{scroll-behavior:auto}.mapa3d{transform:none}}

[hidden]{display:none !important}
.conmuta button{min-height:46px;padding:0 20px;border-radius:999px;border:none;font-family:Archivo,system-ui,sans-serif;font-size:16px;font-weight:700;cursor:pointer;background:transparent;color:#2C3A6B}
.conmuta button[aria-pressed="true"]{background:#0E1B4D;color:#F5F6F3}
.faq{background:#FFFFFF;border:1.5px solid #DCE1EC;border-radius:20px}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;font-size:18px;font-weight:700;color:#0E1B4D;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;transition:transform .3s}
.faq[open] summary svg{transform:rotate(45deg)}
.faq p{margin:0;padding:0 24px 22px;font-size:16px;line-height:1.65;color:#2C3A6B}
a{color:#1B3A9E}
