    .flm-wrap{position:relative;box-sizing:border-box;width:100%;max-width:1100px;min-width:0;margin:0 auto;overflow:hidden}
    .flm{--land:#182740;--ink:#a3cbe6;--s:.72;--k:1;position:relative;width:100%;max-width:100%;overflow:hidden;background:transparent;-webkit-tap-highlight-color:transparent}
    .flm .flm-in{position:relative;width:100%;aspect-ratio:975/610}
    .flm svg{position:absolute;inset:0;width:100%;height:100%;display:block}
    .flm .st{fill:var(--land);stroke:rgba(163,203,230,.38);stroke-width:calc(1.8px * var(--k) / var(--s));stroke-linejoin:round;transition:stroke .4s,fill .4s}
    .flm.on .st{stroke:rgba(163,203,230,.6)}
    .flm .st:hover{fill:#21395c;stroke:rgba(163,203,230,.95)}
    .flm .arc{fill:none;stroke:var(--ink);stroke-width:calc(1.2px * var(--k));stroke-linecap:round;stroke-opacity:.16;transition:stroke-opacity .5s,stroke-width .3s}
    .flm.on .arc{stroke-opacity:.4}
    .flm .arc.hv{stroke-opacity:.95;stroke-width:calc(2px * var(--k))}
    .flm .glow{fill:none;stroke:#fff;stroke-width:calc(2px * var(--k));stroke-linecap:round;opacity:.9;filter:drop-shadow(0 0 4px var(--ink))}
    .flm .pkt{fill:#fff;opacity:0;filter:drop-shadow(0 0 6px var(--ink)) drop-shadow(0 0 12px var(--ink))}
    .flm .dot{fill:var(--ink);opacity:0;transition:opacity .8s}
    .flm .ring{fill:none;stroke:var(--ink);stroke-width:calc(1.5px * var(--k));opacity:0;transform-box:fill-box;transform-origin:center}
    .flm .ring.go{animation:flmr .65s ease-out}
    @keyframes flmr{from{transform:scale(1);opacity:.9}to{transform:scale(5);opacity:0}}
    .flm .hit{fill:transparent;cursor:pointer}
    .flm .tip{font:600 calc(13px * var(--k) / var(--s)) system-ui,sans-serif;fill:#fff;paint-order:stroke;stroke:#13163d;stroke-width:calc(4px * var(--k) / var(--s));opacity:0;transition:opacity .25s;pointer-events:none}
    .flm .tip.show{opacity:1}
    .flm .base{fill:none;stroke:var(--ink);stroke-width:calc(2px * var(--k));opacity:.5;transform-box:fill-box;transform-origin:center;animation:flmb 1.5s ease-out infinite}
    .flm.on .base{animation-duration:.9s}
    @keyframes flmb{from{transform:scale(.6);opacity:.7}to{transform:scale(3.2);opacity:0}}
    .flm .pin{filter:drop-shadow(0 0 8px rgba(163,203,230,.7))}
    @media (prefers-reduced-motion:reduce){.flm .base,.flm .ring.go{animation:none}}
    /* Móvil: el widget de Elementor trae padding lateral y se sale de la columna;
       el mapa ocupa el ancho disponible, sin desbordar la pantalla. */
    @media (max-width:767px){
      .elementor-widget-container:has(> .flm-wrap){padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;width:auto!important;max-width:100%!important}
      .elementor-widget-wrap:has(.flm-wrap){padding-left:36px!important;padding-right:36px!important}
      .elementor-widget:has(.flm-wrap){width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
    }
    /* Tarjetas de servicios (qw-panel) encima del mapa: casi cuadradas (el tema
       las hace 1:1.45) y, al pasar el cursor, del azul al naranja de los botones
       (#FF6622, medido en los .sc_button renderizados). */
    .elementor-element-c689e76 .sc_services_qw-panel .sc_services_item::before{padding-top:100%!important}
    .elementor-element-c689e76 .sc_services_qw-panel .sc_services_item,
    .elementor-element-c689e76 .sc_services_qw-panel .sc_services_item .sc_services_item_content,
    .elementor-element-c689e76 .sc_services_qw-panel .sc_services_item .sc_services_item_content_inner{transition:background-color .4s ease,translate .35s,box-shadow .35s,filter .35s!important}
    .elementor-element-c689e76 .sc_services_qw-panel .sc_services_item:hover,
    .elementor-element-c689e76 .sc_services_qw-panel .sc_services_item:hover .sc_services_item_content,
    .elementor-element-c689e76 .sc_services_qw-panel .sc_services_item:hover .sc_services_item_content_inner{background:#FF6622!important}
    .elementor-element-c689e76 .sc_services_qw-panel .sc_services_item:hover{filter:none}
    /* Al ser cuadradas ya no cabe el resumen entero que el tema muestra en hover:
       fuera el número duplicado grande y el texto recortado a 3 líneas. */
    .elementor-element-c689e76 .sc_services_qw-panel .sc_services_item .sc_services_item_number.duplicate{display:none}
    .elementor-element-c689e76 .sc_services_qw-panel .sc_services_item .sc_services_item_text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
