/* ============================================================
   CRM Fotovoltaica — sistema de diseño
   Estilo SaaS limpio (ref. demos Eiva): Poppins · primario azul ·
   héroe/CTA/footer navy · secciones claras alternas · tarjetas
   con cajas de icono de color · eyebrows tipo píldora.
   ============================================================ */

/* ---------- Tipografia (Poppins autoalojada) ----------
   Antes se pedia a fonts.googleapis.com, lo que obligaba al navegador a
   abrir dos conexiones nuevas (CSS + woff2 encadenados) antes de poder
   pintar. Los .woff2 son los mismos que sirve Google, subconjuntos
   latin/latin-ext; se regeneran con tools/build-assets.sh. */
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-400.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-500.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-600.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-700.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/poppins-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-800.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/poppins-latin-800.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:Poppins;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/poppins-latin-ext-900.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:Poppins;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/poppins-latin-900.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* === ICONOS: BLOQUE GENERADO, no editar a mano — node tools/build-icons.js === */
/* ---------- Iconos (Bootstrap Icons 1.11.3, SVG en linea) ----------
   Sustituyen a la webfont bootstrap-icons (130 KB + 1 CSS desde jsDelivr).
   Se dibujan en ::before, igual que hacia la fuente, para que las reglas que
   usan .bi como caja (chips de color, tamanos) sigan funcionando: el tamano
   lo manda font-size y el color, currentColor. */
.bi::before{content:"";display:inline-block;width:1em;height:1em;vertical-align:-.125em;
  background-color:currentColor;
  -webkit-mask-image:var(--bi);mask-image:var(--bi);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;}
.bi-activity{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 2a.5.5 0 0 1 .47.33L10 12.036l1.53-4.208A.5.5 0 0 1 12 7.5h3.5a.5.5 0 0 1 0 1h-3.15l-1.88 5.17a.5.5 0 0 1-.94 0L6 3.964 4.47 8.171A.5.5 0 0 1 4 8.5H.5a.5.5 0 0 1 0-1h3.15l1.88-5.17A.5.5 0 0 1 6 2'/%3E%3C/svg%3E")}
.bi-arrow-left{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8'/%3E%3C/svg%3E")}
.bi-arrow-repeat{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9'/%3E%3Cpath fill-rule='evenodd' d='M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z'/%3E%3C/svg%3E")}
.bi-arrow-right{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8'/%3E%3C/svg%3E")}
.bi-bank{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m8 0 6.61 3h.89a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H15v7a.5.5 0 0 1 .485.38l.5 2a.498.498 0 0 1-.485.62H.5a.498.498 0 0 1-.485-.62l.5-2A.5.5 0 0 1 1 13V6H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 3h.89zM3.777 3h8.447L8 1zM2 6v7h1V6zm2 0v7h2.5V6zm3.5 0v7h1V6zm2 0v7H12V6zM13 6v7h1V6zm2-1V4H1v1zm-.39 9H1.39l-.25 1h13.72z'/%3E%3C/svg%3E")}
.bi-box-seam{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2zm3.564 1.426L5.596 5 8 5.961 14.154 3.5zm3.25 1.7-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464z'/%3E%3C/svg%3E")}
.bi-calendar-week{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-5 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5z'/%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z'/%3E%3C/svg%3E")}
.bi-cart{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5M3.102 4l1.313 7h8.17l1.313-7zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4m7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4m-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2m7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2'/%3E%3C/svg%3E")}
.bi-cash-coin{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M11 15a4 4 0 1 0 0-8 4 4 0 0 0 0 8m5-4a5 5 0 1 1-10 0 5 5 0 0 1 10 0'/%3E%3Cpath d='M9.438 11.944c.047.596.518 1.06 1.363 1.116v.44h.375v-.443c.875-.061 1.386-.529 1.386-1.207 0-.618-.39-.936-1.09-1.1l-.296-.07v-1.2c.376.043.614.248.671.532h.658c-.047-.575-.54-1.024-1.329-1.073V8.5h-.375v.45c-.747.073-1.255.522-1.255 1.158 0 .562.378.92 1.007 1.066l.248.061v1.272c-.384-.058-.639-.27-.696-.563h-.668zm1.36-1.354c-.369-.085-.569-.26-.569-.522 0-.294.216-.514.572-.578v1.1zm.432.746c.449.104.655.272.655.569 0 .339-.257.571-.709.614v-1.195z'/%3E%3Cpath d='M1 0a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h4.083q.088-.517.258-1H3a2 2 0 0 0-2-2V3a2 2 0 0 0 2-2h10a2 2 0 0 0 2 2v3.528c.38.34.717.728 1 1.154V1a1 1 0 0 0-1-1z'/%3E%3Cpath d='M9.998 5.083 10 5a2 2 0 1 0-3.132 1.65 6 6 0 0 1 3.13-1.567'/%3E%3C/svg%3E")}
.bi-cash-stack{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zm7 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4'/%3E%3Cpath d='M0 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zm3 0a2 2 0 0 1-2 2v4a2 2 0 0 1 2 2h10a2 2 0 0 1 2-2V7a2 2 0 0 1-2-2z'/%3E%3C/svg%3E")}
.bi-check-circle-fill{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z'/%3E%3C/svg%3E")}
.bi-check2-circle{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 8a5.5 5.5 0 0 1 8.25-4.764.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0 5.5 5.5 0 1 1-11 0'/%3E%3Cpath d='M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293 5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0z'/%3E%3C/svg%3E")}
.bi-clipboard-check{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0'/%3E%3Cpath d='M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1z'/%3E%3Cpath d='M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0z'/%3E%3C/svg%3E")}
.bi-clipboard-data{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 11a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0zm6-4a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0zM7 9a1 1 0 0 1 2 0v3a1 1 0 1 1-2 0z'/%3E%3Cpath d='M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1z'/%3E%3Cpath d='M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0z'/%3E%3C/svg%3E")}
.bi-clock{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71z'/%3E%3Cpath d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0'/%3E%3C/svg%3E")}
.bi-clock-history{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8.515 1.019A7 7 0 0 0 8 1V0a8 8 0 0 1 .589.022zm2.004.45a7 7 0 0 0-.985-.299l.219-.976q.576.129 1.126.342zm1.37.71a7 7 0 0 0-.439-.27l.493-.87a8 8 0 0 1 .979.654l-.615.789a7 7 0 0 0-.418-.302zm1.834 1.79a7 7 0 0 0-.653-.796l.724-.69q.406.429.747.91zm.744 1.352a7 7 0 0 0-.214-.468l.893-.45a8 8 0 0 1 .45 1.088l-.95.313a7 7 0 0 0-.179-.483m.53 2.507a7 7 0 0 0-.1-1.025l.985-.17q.1.58.116 1.17zm-.131 1.538q.05-.254.081-.51l.993.123a8 8 0 0 1-.23 1.155l-.964-.267q.069-.247.12-.501m-.952 2.379q.276-.436.486-.908l.914.405q-.24.54-.555 1.038zm-.964 1.205q.183-.183.35-.378l.758.653a8 8 0 0 1-.401.432z'/%3E%3Cpath d='M8 1a7 7 0 1 0 4.95 11.95l.707.707A8.001 8.001 0 1 1 8 0z'/%3E%3Cpath d='M7.5 3a.5.5 0 0 1 .5.5v5.21l3.248 1.856a.5.5 0 0 1-.496.868l-3.5-2A.5.5 0 0 1 7 9V3.5a.5.5 0 0 1 .5-.5'/%3E%3C/svg%3E")}
.bi-cone-striped{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m9.97 4.88.953 3.811C10.159 8.878 9.14 9 8 9s-2.158-.122-2.923-.309L6.03 4.88C6.635 4.957 7.3 5 8 5s1.365-.043 1.97-.12m-.245-.978L8.97.88C8.718-.13 7.282-.13 7.03.88L6.275 3.9C6.8 3.965 7.382 4 8 4s1.2-.036 1.725-.098m4.396 8.613a.5.5 0 0 1 .037.96l-6 2a.5.5 0 0 1-.316 0l-6-2a.5.5 0 0 1 .037-.96l2.391-.598.565-2.257c.862.212 1.964.339 3.165.339s2.303-.127 3.165-.339l.565 2.257z'/%3E%3C/svg%3E")}
.bi-diagram-2{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H11a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 5 7h2.5V6A1.5 1.5 0 0 1 6 4.5zM8.5 5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5zM3 11.5A1.5 1.5 0 0 1 4.5 10h1A1.5 1.5 0 0 1 7 11.5v1A1.5 1.5 0 0 1 5.5 14h-1A1.5 1.5 0 0 1 3 12.5zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm4.5.5a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1A1.5 1.5 0 0 1 9 12.5zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5z'/%3E%3C/svg%3E")}
.bi-diagram-3{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H14a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 2 7h5.5V6A1.5 1.5 0 0 1 6 4.5zM8.5 5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5zM0 11.5A1.5 1.5 0 0 1 1.5 10h1A1.5 1.5 0 0 1 4 11.5v1A1.5 1.5 0 0 1 2.5 14h-1A1.5 1.5 0 0 1 0 12.5zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm4.5.5A1.5 1.5 0 0 1 7.5 10h1a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5zm4.5.5a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5z'/%3E%3C/svg%3E")}
.bi-display{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 4s0-2 2-2h12s2 0 2 2v6s0 2-2 2h-4q0 1 .25 1.5H11a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1h.75Q6 13 6 12H2s-2 0-2-2zm1.398-.855a.76.76 0 0 0-.254.302A1.5 1.5 0 0 0 1 4.01V10c0 .325.078.502.145.602q.105.156.302.254a1.5 1.5 0 0 0 .538.143L2.01 11H14c.325 0 .502-.078.602-.145a.76.76 0 0 0 .254-.302 1.5 1.5 0 0 0 .143-.538L15 9.99V4c0-.325-.078-.502-.145-.602a.76.76 0 0 0-.302-.254A1.5 1.5 0 0 0 13.99 3H2c-.325 0-.502.078-.602.145'/%3E%3C/svg%3E")}
.bi-envelope{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1zm13 2.383-4.708 2.825L15 11.105zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741M1 11.105l4.708-2.897L1 5.383z'/%3E%3C/svg%3E")}
.bi-envelope-x{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 2a2 2 0 0 0-2 2v8.01A2 2 0 0 0 2 14h5.5a.5.5 0 0 0 0-1H2a1 1 0 0 1-.966-.741l5.64-3.471L8 9.583l7-4.2V8.5a.5.5 0 0 0 1 0V4a2 2 0 0 0-2-2zm3.708 6.208L1 11.105V5.383zM1 4.217V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v.217l-7 4.2z'/%3E%3Cpath d='M16 12.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0m-4.854-1.354a.5.5 0 0 0 0 .708l.647.646-.647.646a.5.5 0 0 0 .708.708l.646-.647.646.647a.5.5 0 0 0 .708-.708l-.647-.646.647-.646a.5.5 0 0 0-.708-.708l-.646.647-.646-.647a.5.5 0 0 0-.708 0'/%3E%3C/svg%3E")}
.bi-file-earmark-lock{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0M7 7v1h2V7a1 1 0 0 0-2 0M6 9.3v2.4c0 .042.02.107.105.175A.64.64 0 0 0 6.5 12h3a.64.64 0 0 0 .395-.125c.085-.068.105-.133.105-.175V9.3c0-.042-.02-.107-.105-.175A.64.64 0 0 0 9.5 9h-3a.64.64 0 0 0-.395.125C6.02 9.193 6 9.258 6 9.3'/%3E%3Cpath d='M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2M9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5z'/%3E%3C/svg%3E")}
.bi-file-earmark-text{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5'/%3E%3Cpath d='M9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.5zm0 1v2A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z'/%3E%3C/svg%3E")}
.bi-folder-check{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m.5 3 .04.87a2 2 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14H9v-1H2.826a1 1 0 0 1-.995-.91l-.637-7A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09L14.54 8h1.005l.256-2.819A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2m5.672-1a1 1 0 0 1 .707.293L7.586 3H2.19q-.362.002-.683.12L1.5 2.98a1 1 0 0 1 1-.98z'/%3E%3Cpath d='M15.854 10.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.707 0l-1.5-1.5a.5.5 0 0 1 .707-.708l1.146 1.147 2.646-2.647a.5.5 0 0 1 .708 0'/%3E%3C/svg%3E")}
.bi-folder-x{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M.54 3.87.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181L15.546 8H14.54l.265-2.91A1 1 0 0 0 13.81 4H2.19a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91H9v1H2.826a2 2 0 0 1-1.991-1.819l-.637-7a2 2 0 0 1 .342-1.31zm6.339-1.577A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139q.323-.119.684-.12h5.396z'/%3E%3Cpath d='M11.854 10.146a.5.5 0 0 0-.707.708L12.293 12l-1.146 1.146a.5.5 0 0 0 .707.708L13 12.707l1.146 1.147a.5.5 0 0 0 .708-.708L13.707 12l1.147-1.146a.5.5 0 0 0-.707-.708L13 11.293z'/%3E%3C/svg%3E")}
.bi-geo-alt{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M12.166 8.94c-.524 1.062-1.234 2.12-1.96 3.07A32 32 0 0 1 8 14.58a32 32 0 0 1-2.206-2.57c-.726-.95-1.436-2.008-1.96-3.07C3.304 7.867 3 6.862 3 6a5 5 0 0 1 10 0c0 .862-.305 1.867-.834 2.94M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10'/%3E%3Cpath d='M8 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4m0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6'/%3E%3C/svg%3E")}
.bi-globe2{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8m7.5-6.923c-.67.204-1.335.82-1.887 1.855q-.215.403-.395.872c.705.157 1.472.257 2.282.287zM4.249 3.539q.214-.577.481-1.078a7 7 0 0 1 .597-.933A7 7 0 0 0 3.051 3.05q.544.277 1.198.49zM3.509 7.5c.036-1.07.188-2.087.436-3.008a9 9 0 0 1-1.565-.667A6.96 6.96 0 0 0 1.018 7.5zm1.4-2.741a12.3 12.3 0 0 0-.4 2.741H7.5V5.091c-.91-.03-1.783-.145-2.591-.332M8.5 5.09V7.5h2.99a12.3 12.3 0 0 0-.399-2.741c-.808.187-1.681.301-2.591.332zM4.51 8.5c.035.987.176 1.914.399 2.741A13.6 13.6 0 0 1 7.5 10.91V8.5zm3.99 0v2.409c.91.03 1.783.145 2.591.332.223-.827.364-1.754.4-2.741zm-3.282 3.696q.18.469.395.872c.552 1.035 1.218 1.65 1.887 1.855V11.91c-.81.03-1.577.13-2.282.287zm.11 2.276a7 7 0 0 1-.598-.933 9 9 0 0 1-.481-1.079 8.4 8.4 0 0 0-1.198.49 7 7 0 0 0 2.276 1.522zm-1.383-2.964A13.4 13.4 0 0 1 3.508 8.5h-2.49a6.96 6.96 0 0 0 1.362 3.675c.47-.258.995-.482 1.565-.667m6.728 2.964a7 7 0 0 0 2.275-1.521 8.4 8.4 0 0 0-1.197-.49 9 9 0 0 1-.481 1.078 7 7 0 0 1-.597.933M8.5 11.909v3.014c.67-.204 1.335-.82 1.887-1.855q.216-.403.395-.872A12.6 12.6 0 0 0 8.5 11.91zm3.555-.401c.57.185 1.095.409 1.565.667A6.96 6.96 0 0 0 14.982 8.5h-2.49a13.4 13.4 0 0 1-.437 3.008M14.982 7.5a6.96 6.96 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008zM11.27 2.461q.266.502.482 1.078a8.4 8.4 0 0 0 1.196-.49 7 7 0 0 0-2.275-1.52c.218.283.418.597.597.932m-.488 1.343a8 8 0 0 0-.395-.872C9.835 1.897 9.17 1.282 8.5 1.077V4.09c.81-.03 1.577-.13 2.282-.287z'/%3E%3C/svg%3E")}
.bi-graph-up{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M0 0h1v15h15v1H0zm14.817 3.113a.5.5 0 0 1 .07.704l-4.5 5.5a.5.5 0 0 1-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 0 1-.808-.588l4-5.5a.5.5 0 0 1 .758-.06l2.609 2.61 4.15-5.073a.5.5 0 0 1 .704-.07'/%3E%3C/svg%3E")}
.bi-graph-up-arrow{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M0 0h1v15h15v1H0zm10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V4.9l-3.613 4.417a.5.5 0 0 1-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 0 1-.808-.588l4-5.5a.5.5 0 0 1 .758-.06l2.609 2.61L13.445 4H10.5a.5.5 0 0 1-.5-.5'/%3E%3C/svg%3E")}
.bi-hdd-network{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1M3 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0'/%3E%3Cpath d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H8.5v3a1.5 1.5 0 0 1 1.5 1.5h5.5a.5.5 0 0 1 0 1H10A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5H.5a.5.5 0 0 1 0-1H6A1.5 1.5 0 0 1 7.5 10V7H2a2 2 0 0 1-2-2zm1 0v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1m6 7.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5'/%3E%3C/svg%3E")}
.bi-headset{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a5 5 0 0 0-5 5v1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a6 6 0 1 1 12 0v6a2.5 2.5 0 0 1-2.5 2.5H9.366a1 1 0 0 1-.866.5h-1a1 1 0 1 1 0-2h1a1 1 0 0 1 .866.5H11.5A1.5 1.5 0 0 0 13 12h-1a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h1V6a5 5 0 0 0-5-5'/%3E%3C/svg%3E")}
.bi-hourglass-split{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 15a.5.5 0 1 1 0-1h1v-1a4.5 4.5 0 0 1 2.557-4.06c.29-.139.443-.377.443-.59v-.7c0-.213-.154-.451-.443-.59A4.5 4.5 0 0 1 3.5 3V2h-1a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-1v1a4.5 4.5 0 0 1-2.557 4.06c-.29.139-.443.377-.443.59v.7c0 .213.154.451.443.59A4.5 4.5 0 0 1 12.5 13v1h1a.5.5 0 0 1 0 1zm2-13v1c0 .537.12 1.045.337 1.5h6.326c.216-.455.337-.963.337-1.5V2zm3 6.35c0 .701-.478 1.236-1.011 1.492A3.5 3.5 0 0 0 4.5 13s.866-1.299 3-1.48zm1 0v3.17c2.134.181 3 1.48 3 1.48a3.5 3.5 0 0 0-1.989-3.158C8.978 9.586 8.5 9.052 8.5 8.351z'/%3E%3C/svg%3E")}
.bi-houses{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.793 1a1 1 0 0 1 1.414 0l.647.646a.5.5 0 1 1-.708.708L6.5 1.707 2 6.207V12.5a.5.5 0 0 0 .5.5.5.5 0 0 1 0 1A1.5 1.5 0 0 1 1 12.5V7.207l-.146.147a.5.5 0 0 1-.708-.708zm3 1a1 1 0 0 1 1.414 0L12 3.793V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v3.293l1.854 1.853a.5.5 0 0 1-.708.708L15 8.207V13.5a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 4 13.5V8.207l-.146.147a.5.5 0 1 1-.708-.708zm.707.707L5 7.207V13.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5V7.207z'/%3E%3C/svg%3E")}
.bi-link-45deg{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1 1 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4 4 0 0 1-.128-1.287z'/%3E%3Cpath d='M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243z'/%3E%3C/svg%3E")}
.bi-patch-check{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M10.354 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708 0'/%3E%3Cpath d='m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911z'/%3E%3C/svg%3E")}
.bi-pen{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m13.498.795.149-.149a1.207 1.207 0 1 1 1.707 1.708l-.149.148a1.5 1.5 0 0 1-.059 2.059L4.854 14.854a.5.5 0 0 1-.233.131l-4 1a.5.5 0 0 1-.606-.606l1-4a.5.5 0 0 1 .131-.232l9.642-9.642a.5.5 0 0 0-.642.056L6.854 4.854a.5.5 0 1 1-.708-.708L9.44.854A1.5 1.5 0 0 1 11.5.796a1.5 1.5 0 0 1 1.998-.001m-.644.766a.5.5 0 0 0-.707 0L1.95 11.756l-.764 3.057 3.057-.764L14.44 3.854a.5.5 0 0 0 0-.708z'/%3E%3C/svg%3E")}
.bi-people{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M15 14s1 0 1-1-1-4-5-4-5 3-5 4 1 1 1 1zm-7.978-1L7 12.996c.001-.264.167-1.03.76-1.72C8.312 10.629 9.282 10 11 10c1.717 0 2.687.63 3.24 1.276.593.69.758 1.457.76 1.72l-.008.002-.014.002zM11 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4m3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0M6.936 9.28a6 6 0 0 0-1.23-.247A7 7 0 0 0 5 9c-4 0-5 3-5 4q0 1 1 1h4.216A2.24 2.24 0 0 1 5 13c0-1.01.377-2.042 1.09-2.904.243-.294.526-.569.846-.816M4.92 10A5.5 5.5 0 0 0 4 13H1c0-.26.164-1.03.76-1.724.545-.636 1.492-1.256 3.16-1.275ZM1.5 5.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0m3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4'/%3E%3C/svg%3E")}
.bi-people-fill{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6m-5.784 6A2.24 2.24 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.3 6.3 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1zM4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5'/%3E%3C/svg%3E")}
.bi-person-badge{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492z'/%3E%3C/svg%3E")}
.bi-plug{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 0a.5.5 0 0 1 .5.5V3h3V.5a.5.5 0 0 1 1 0V3h1a.5.5 0 0 1 .5.5v3A3.5 3.5 0 0 1 8.5 10c-.002.434-.01.845-.04 1.22-.041.514-.126 1.003-.317 1.424a2.08 2.08 0 0 1-.97 1.028C6.725 13.9 6.169 14 5.5 14c-.998 0-1.61.33-1.974.718A1.92 1.92 0 0 0 3 16H2c0-.616.232-1.367.797-1.968C3.374 13.42 4.261 13 5.5 13c.581 0 .962-.088 1.218-.219.241-.123.4-.3.514-.55.121-.266.193-.621.23-1.09.027-.34.035-.718.037-1.141A3.5 3.5 0 0 1 4 6.5v-3a.5.5 0 0 1 .5-.5h1V.5A.5.5 0 0 1 6 0M5 4v2.5A2.5 2.5 0 0 0 7.5 9h1A2.5 2.5 0 0 0 11 6.5V4z'/%3E%3C/svg%3E")}
.bi-receipt{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.92.506a.5.5 0 0 1 .434.14L3 1.293l.646-.647a.5.5 0 0 1 .708 0L5 1.293l.646-.647a.5.5 0 0 1 .708 0L7 1.293l.646-.647a.5.5 0 0 1 .708 0L9 1.293l.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .801.13l.5 1A.5.5 0 0 1 15 2v12a.5.5 0 0 1-.053.224l-.5 1a.5.5 0 0 1-.8.13L13 14.707l-.646.647a.5.5 0 0 1-.708 0L11 14.707l-.646.647a.5.5 0 0 1-.708 0L9 14.707l-.646.647a.5.5 0 0 1-.708 0L7 14.707l-.646.647a.5.5 0 0 1-.708 0L5 14.707l-.646.647a.5.5 0 0 1-.708 0L3 14.707l-.646.647a.5.5 0 0 1-.801-.13l-.5-1A.5.5 0 0 1 1 14V2a.5.5 0 0 1 .053-.224l.5-1a.5.5 0 0 1 .367-.27m.217 1.338L2 2.118v11.764l.137.274.51-.51a.5.5 0 0 1 .707 0l.646.647.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.509.509.137-.274V2.118l-.137-.274-.51.51a.5.5 0 0 1-.707 0L12 1.707l-.646.647a.5.5 0 0 1-.708 0L10 1.707l-.646.647a.5.5 0 0 1-.708 0L8 1.707l-.646.647a.5.5 0 0 1-.708 0L6 1.707l-.646.647a.5.5 0 0 1-.708 0L4 1.707l-.646.647a.5.5 0 0 1-.708 0z'/%3E%3Cpath d='M3 4.5a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5m8-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5m0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5'/%3E%3C/svg%3E")}
.bi-shield-check{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.338 1.59a61 61 0 0 0-2.837.856.48.48 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.7 10.7 0 0 0 2.287 2.233c.346.244.652.42.893.533q.18.085.293.118a1 1 0 0 0 .101.025 1 1 0 0 0 .1-.025q.114-.034.294-.118c.24-.113.547-.29.893-.533a10.7 10.7 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.8 11.8 0 0 1-2.517 2.453 7 7 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7 7 0 0 1-1.048-.625 11.8 11.8 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 63 63 0 0 1 5.072.56'/%3E%3Cpath d='M10.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0'/%3E%3C/svg%3E")}
.bi-shield-lock{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5.338 1.59a61 61 0 0 0-2.837.856.48.48 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.7 10.7 0 0 0 2.287 2.233c.346.244.652.42.893.533q.18.085.293.118a1 1 0 0 0 .101.025 1 1 0 0 0 .1-.025q.114-.034.294-.118c.24-.113.547-.29.893-.533a10.7 10.7 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.8 11.8 0 0 1-2.517 2.453 7 7 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7 7 0 0 1-1.048-.625 11.8 11.8 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 63 63 0 0 1 5.072.56'/%3E%3Cpath d='M9.5 6.5a1.5 1.5 0 0 1-1 1.415l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99a1.5 1.5 0 1 1 2-1.415'/%3E%3C/svg%3E")}
.bi-speedometer2{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5V6a.5.5 0 0 1-1 0V4.5A.5.5 0 0 1 8 4M3.732 5.732a.5.5 0 0 1 .707 0l.915.914a.5.5 0 1 1-.708.708l-.914-.915a.5.5 0 0 1 0-.707M2 10a.5.5 0 0 1 .5-.5h1.586a.5.5 0 0 1 0 1H2.5A.5.5 0 0 1 2 10m9.5 0a.5.5 0 0 1 .5-.5h1.5a.5.5 0 0 1 0 1H12a.5.5 0 0 1-.5-.5m.754-4.246a.39.39 0 0 0-.527-.02L7.547 9.31a.91.91 0 1 0 1.302 1.258l3.434-4.297a.39.39 0 0 0-.029-.518z'/%3E%3Cpath fill-rule='evenodd' d='M0 10a8 8 0 1 1 15.547 2.661c-.442 1.253-1.845 1.602-2.932 1.25C11.309 13.488 9.475 13 8 13c-1.474 0-3.31.488-4.615.911-1.087.352-2.49.003-2.932-1.25A8 8 0 0 1 0 10m8-7a7 7 0 0 0-6.603 9.329c.203.575.923.876 1.68.63C4.397 12.533 6.358 12 8 12s3.604.532 4.923.96c.757.245 1.477-.056 1.68-.631A7 7 0 0 0 8 3'/%3E%3C/svg%3E")}
.bi-stars{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M7.657 6.247c.11-.33.576-.33.686 0l.645 1.937a2.89 2.89 0 0 0 1.829 1.828l1.936.645c.33.11.33.576 0 .686l-1.937.645a2.89 2.89 0 0 0-1.828 1.829l-.645 1.936a.361.361 0 0 1-.686 0l-.645-1.937a2.89 2.89 0 0 0-1.828-1.828l-1.937-.645a.361.361 0 0 1 0-.686l1.937-.645a2.89 2.89 0 0 0 1.828-1.828zM3.794 1.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387A1.73 1.73 0 0 0 4.593 5.69l-.387 1.162a.217.217 0 0 1-.412 0L3.407 5.69A1.73 1.73 0 0 0 2.31 4.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387A1.73 1.73 0 0 0 3.407 2.31zM10.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.16 1.16 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.16 1.16 0 0 0-.732-.732L9.1 2.137a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732z'/%3E%3C/svg%3E")}
.bi-stopwatch{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8.5 5.6a.5.5 0 1 0-1 0v2.9h-3a.5.5 0 0 0 0 1H8a.5.5 0 0 0 .5-.5z'/%3E%3Cpath d='M6.5 1A.5.5 0 0 1 7 .5h2a.5.5 0 0 1 0 1v.57c1.36.196 2.594.78 3.584 1.64l.012-.013.354-.354-.354-.353a.5.5 0 0 1 .707-.708l1.414 1.415a.5.5 0 1 1-.707.707l-.353-.354-.354.354-.013.012A7 7 0 1 1 7 2.071V1.5a.5.5 0 0 1-.5-.5M8 3a6 6 0 1 0 .001 12A6 6 0 0 0 8 3'/%3E%3C/svg%3E")}
.bi-sun{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0m9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708'/%3E%3C/svg%3E")}
.bi-tools{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1 0 0 1l2.2 3.081a1 1 0 0 0 .815.419h.07a1 1 0 0 1 .708.293l2.675 2.675-2.617 2.654A3.003 3.003 0 0 0 0 13a3 3 0 1 0 5.878-.851l2.654-2.617.968.968-.305.914a1 1 0 0 0 .242 1.023l3.27 3.27a.997.997 0 0 0 1.414 0l1.586-1.586a.997.997 0 0 0 0-1.414l-3.27-3.27a1 1 0 0 0-1.023-.242L10.5 9.5l-.96-.96 2.68-2.643A3.005 3.005 0 0 0 16 3q0-.405-.102-.777l-2.14 2.141L12 4l-.364-1.757L13.777.102a3 3 0 0 0-3.675 3.68L7.462 6.46 4.793 3.793a1 1 0 0 1-.293-.707v-.071a1 1 0 0 0-.419-.814zm9.646 10.646a.5.5 0 0 1 .708 0l2.914 2.915a.5.5 0 0 1-.707.707l-2.915-2.914a.5.5 0 0 1 0-.708M3 11l.471.242.529.026.287.445.445.287.026.529L5 13l-.242.471-.026.529-.445.287-.287.445-.529.026L3 15l-.471-.242L2 14.732l-.287-.445L1.268 14l-.026-.529L1 13l.242-.471.026-.529.445-.287.287-.445.529-.026z'/%3E%3C/svg%3E")}
.bi-whatsapp{--bi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.601 2.326A7.85 7.85 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.9 7.9 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.9 7.9 0 0 0 13.6 2.326zM7.994 14.521a6.6 6.6 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.56 6.56 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592m3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.73.73 0 0 0-.529.247c-.182.198-.691.677-.691 1.654s.71 1.916.81 2.049c.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232'/%3E%3C/svg%3E")}
/* === FIN ICONOS === */

:root{
  --c-primary:#2563eb; --c-primary-dk:#1d4ed8; --c-primary-lt:#dbeafe;
  --c-cta:#16a34a; --c-cta-dk:#15803d; --c-cta-lt:#dcfce7; /* botones (verde) */
  --c-dark:#0f172a;     --c-navy:#1e3a5f;
  --c-50:#f8fafc; --c-100:#f1f5f9; --c-200:#e2e8f0; --c-300:#cbd5e1;
  --c-400:#94a3b8; --c-500:#64748b; --c-600:#475569; --c-700:#334155; --c-800:#1e293b;
  --c-success:#10b981; --c-warning:#f59e0b; --c-danger:#ef4444;
  --c-purple:#7c3aed;  --c-cyan:#0891b2; --c-indigo:#4f46e5;

  --font:'Poppins',system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:12px; --radius-lg:20px; --radius-xl:28px;
  --shadow:0 1px 3px rgba(15,23,42,.06),0 4px 16px rgba(15,23,42,.08);
  --shadow-md:0 4px 24px rgba(15,23,42,.10);
  --shadow-lg:0 12px 48px rgba(15,23,42,.15);
  --t:all .2s ease;

  --hero-grad:linear-gradient(135deg,#0f172a 0%,#1e3a5f 55%,#2563eb 100%);

  --fs-h1:clamp(2.2rem,5vw,3.8rem);
  --fs-h2:clamp(1.75rem,3.5vw,2.6rem);
  --fs-h3:1.4rem;
  --fs-h4:1.05rem;
  --fs-lead:1.1rem;
  --fs-body:1rem;

  /* Bootstrap retheme */
  --bs-primary:var(--c-primary);
  --bs-body-color:var(--c-800);
  --bs-body-bg:#ffffff;
  --bs-body-font-family:var(--font);
  --bs-body-font-size:var(--fs-body);
  --bs-border-color:var(--c-200);
  --bs-border-radius:var(--radius);
  --bs-link-color:var(--c-primary);
  --bs-link-hover-color:var(--c-primary-dk);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:100%;scroll-padding-top:88px;}
body{font-family:var(--font);color:var(--c-800);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:var(--font);color:var(--c-dark);letter-spacing:-.02em;line-height:1.15;margin-bottom:.6rem;font-weight:800;}
h1{font-size:var(--fs-h1);font-weight:900;letter-spacing:-.03em;line-height:1.1;}
h2{font-size:var(--fs-h2);letter-spacing:-.03em;}
h3{font-size:var(--fs-h3);font-weight:700;}
h4{font-size:var(--fs-h4);font-weight:700;}
.container{max-width:1180px;}
img{max-width:100%;height:auto;}
a{text-decoration:none;}

/* ---------- Eyebrows (píldora) ---------- */
.eyebrow,.eyebrow-dark{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:.32rem .85rem;border-radius:50px;margin-bottom:.85rem;
  background:var(--c-primary-lt);color:var(--c-primary);}
.kpi{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-primary);}
.tag{font-size:.78rem;font-weight:600;}
.section-dark .eyebrow,.section-dark .eyebrow-dark,.hero .eyebrow,.page-hero .eyebrow{
  background:rgba(37,99,235,.18);color:#93c5fd;}

/* ---------- Secciones ---------- */
.section{padding:clamp(3.5rem,7vw,5.5rem) 0;}
.section-white{background:#fff;color:var(--c-800);}
.section-light{background:var(--c-50);color:var(--c-800);}
.section-dark{background:var(--hero-grad);color:#fff;}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark .section-h2,.text-light{color:#fff;}
.section-h2{font-size:var(--fs-h2);margin-bottom:1rem;}
.section-lead{font-size:var(--fs-lead);color:var(--c-600);max-width:560px;line-height:1.7;}
.section-dark .section-lead,.text-muted-light{color:rgba(255,255,255,.7);}
.mx-auto.section-lead,.text-center .section-lead{margin-left:auto;margin-right:auto;}

/* ---------- Botones ---------- */
.btn{font-family:var(--font);font-weight:700;border-radius:10px;padding:.7rem 1.5rem;font-size:.95rem;
  transition:var(--t);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:2px solid transparent;}
.btn-lg{padding:.85rem 1.9rem;font-size:1rem;}
.btn-cta{background:var(--c-cta);color:#fff;border-color:var(--c-cta);box-shadow:0 4px 18px rgba(22,163,74,.28);}
.btn-cta:hover,.btn-cta:focus{background:var(--c-cta-dk);border-color:var(--c-cta-dk);color:#fff;transform:translateY(-2px);box-shadow:0 8px 26px rgba(22,163,74,.38);}
/* CTA sobre fondo oscuro: mismo verde, para que el botón sea siempre verde */
.hero .btn-cta,.section-dark .btn-cta{background:var(--c-cta);color:#fff;border-color:var(--c-cta);box-shadow:0 6px 22px rgba(22,163,74,.42);}
.hero .btn-cta:hover,.section-dark .btn-cta:hover{background:var(--c-cta-dk);color:#fff;border-color:var(--c-cta-dk);}
/* Botón contorno claro (sobre oscuro) */
.btn-ghost{background:transparent;color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.3);}
.btn-ghost:hover,.btn-ghost:focus{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.6);}
/* Botón contorno oscuro (sobre claro) */
.btn-ghost-dark{background:transparent;color:var(--c-600);border-color:var(--c-200);}
.btn-ghost-dark:hover,.btn-ghost-dark:focus{color:var(--c-primary);border-color:var(--c-primary-lt);background:#f0f7ff;}

/* ---------- Barra superior (utilidad + idiomas en línea, como el pie) ---------- */
.topbar{background:var(--c-dark);color:rgba(255,255,255,.55);font-size:.82rem;}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:40px;flex-wrap:wrap;}
.topbar__contact{color:rgba(255,255,255,.6);text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;}
.topbar__contact:hover{color:#fff;}
.topbar__contact .bi{color:#93c5fd;}
.topbar-lang{display:inline-flex;align-items:center;gap:.1rem;}
.topbar-lang>.bi{margin-right:.4rem;color:rgba(255,255,255,.4);}
.topbar-lang a{color:rgba(255,255,255,.6);text-decoration:none;padding:.12rem .4rem;border-radius:5px;font-weight:600;letter-spacing:.02em;transition:var(--t);}
.topbar-lang a:hover{color:#fff;}
.topbar-lang a.active{color:#fff;background:rgba(255,255,255,.14);}
.topbar-lang .sep{color:rgba(255,255,255,.22);padding:0 .1rem;}
@media (max-width:575.98px){.topbar__inner{justify-content:center;}.topbar__contact{display:none;}}

/* ---------- Navbar ---------- */
.site-nav{position:sticky;top:0;left:0;right:0;z-index:1030;background:#fff;border-bottom:1px solid var(--c-200);transition:box-shadow .3s ease,padding .3s ease;}
.site-nav .navbar{padding:.7rem 0;}
.site-nav.scrolled{box-shadow:0 4px 20px rgba(15,23,42,.08);}
.brand-logo{height:56px;width:auto;}
@media (max-width:575.98px){.brand-logo{height:46px;}}
.navbar-nav .nav-link{color:var(--c-700);font-weight:500;font-size:.92rem;border-radius:8px;padding:.4rem .85rem;}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus{color:var(--c-primary);}
.navbar-nav .btn-cta{font-size:.875rem;padding:.5rem 1.2rem;}
.lang-switch .nav-link{border:1px solid var(--c-200);background:transparent;color:var(--c-700);}
.lang-switch .dropdown-menu{--bs-dropdown-min-width:9rem;border:1px solid var(--c-200);box-shadow:var(--shadow);border-radius:12px;}
.dropdown-item.active,.dropdown-item:active{background:var(--c-primary);color:#fff;}
.navbar-toggler{border-color:var(--c-200);}
.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(37,99,235,.2);}

.skip-link{position:absolute;left:-999px;top:0;z-index:2000;background:var(--c-primary);color:#fff;padding:.6rem 1rem;border-radius:0 0 .5rem 0;}
.skip-link:focus{left:0;}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--hero-grad);color:#fff;padding:clamp(4.5rem,9vw,6.5rem) 0 clamp(3.5rem,7vw,5rem);overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 72% 28%,rgba(37,99,235,.35),transparent 70%);}
.hero>*{position:relative;}
.hero .eyebrow::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--c-success);box-shadow:0 0 7px var(--c-success);margin-right:.5rem;vertical-align:middle;}
.hero-h1{font-size:var(--fs-h1);font-weight:900;color:#fff;margin-bottom:1.2rem;letter-spacing:-.03em;line-height:1.08;}
.hero-lead{font-size:var(--fs-lead);color:rgba(255,255,255,.72);margin-bottom:2rem;max-width:34rem;line-height:1.75;}
.hero-cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:1.6rem;}
.trust-line{color:rgba(255,255,255,.6);font-size:.9rem;}
.trust-line .bi{color:var(--c-success);}
.page-hero{position:relative;background:var(--hero-grad);color:#fff;padding:clamp(3.5rem,7vw,5rem) 0 clamp(2.5rem,5vw,3.5rem);overflow:hidden;}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 70% at 80% 20%,rgba(37,99,235,.3),transparent 70%);}
.page-hero>*{position:relative;}
.page-hero .hero-h1,.page-hero h1{color:#fff;}
.page-hero .hero-lead{color:rgba(255,255,255,.72);margin-left:auto;margin-right:auto;}

/* ---------- Mockup del expediente (hero) ---------- */
.spine-panel{background:rgba(15,23,42,.55);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);
  box-shadow:0 40px 100px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.04);padding:1.25rem;position:relative;backdrop-filter:blur(4px);}
.spine-head{display:flex;align-items:center;gap:.4rem;padding:.2rem .3rem 1rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:.6rem;}
.spine-dot{width:10px;height:10px;border-radius:50%;background:#33485c;}
.spine-dot:nth-child(1){background:#ef4444;}.spine-dot:nth-child(2){background:#f59e0b;}.spine-dot:nth-child(3){background:#10b981;}
.spine-title{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-left:.5rem;font-weight:600;}
.spine-list{list-style:none;margin:0;padding:0;}
.spine-item{display:flex;align-items:center;gap:.75rem;padding:.55rem .4rem;border-radius:.5rem;animation:spineIn .5s both;animation-delay:var(--d);}
.spine-item+.spine-item{border-top:1px solid rgba(255,255,255,.06);}
.spine-led{width:11px;height:11px;border-radius:50%;flex:0 0 auto;background:rgba(255,255,255,.2);}
.spine-item.is-done .spine-led{background:var(--c-success);box-shadow:0 0 10px rgba(16,185,129,.6);}
.spine-item.is-active .spine-led{background:var(--c-primary);animation:ledPulse 1.6s ease-in-out infinite;}
.spine-label{flex:1;color:rgba(255,255,255,.82);font-size:.92rem;}
.spine-item.is-todo .spine-label{color:rgba(255,255,255,.4);}
.spine-state{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:.18rem .5rem;border-radius:5px;font-weight:700;}
.spine-item.is-done .spine-state{color:#6ee7b7;background:rgba(16,185,129,.2);}
.spine-item.is-active .spine-state{color:#93c5fd;background:rgba(37,99,235,.25);}
.spine-item.is-todo .spine-state{color:rgba(255,255,255,.4);background:rgba(255,255,255,.08);}
@keyframes ledPulse{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.5);}50%{box-shadow:0 0 0 7px rgba(37,99,235,0);}}
@keyframes spineIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* tira de fases (solución) */
.flow-strip{display:flex;flex-wrap:wrap;gap:.5rem;}
.flow-node{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--c-700);background:#fff;
  border:1px solid var(--c-200);padding:.5rem .85rem;border-radius:50px;font-weight:600;box-shadow:var(--shadow);}
.flow-node:nth-child(odd){border-color:var(--c-primary-lt);color:var(--c-primary);}

/* ---------- Cajas de icono (reutilizable) ---------- */
.icon-box,
.pain-card .bi,.benefit-card .bi,.win-card .bi,.module-ico,.sec-item .bi{
  width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;
  font-size:1.45rem;background:var(--c-primary-lt);color:var(--c-primary);flex:0 0 auto;line-height:1;}
.pain-card .bi,.benefit-card .bi,.win-card .bi{margin-bottom:1.1rem;}
/* rotación de color por posición (como en las demos) */
.row>*:nth-child(4n+1) .pain-card .bi,.row>*:nth-child(4n+1) .benefit-card .bi{background:var(--c-primary-lt);color:var(--c-primary);}
.row>*:nth-child(4n+2) .pain-card .bi,.row>*:nth-child(4n+2) .benefit-card .bi{background:#d1fae5;color:var(--c-success);}
.row>*:nth-child(4n+3) .pain-card .bi,.row>*:nth-child(4n+3) .benefit-card .bi{background:#fef3c7;color:var(--c-warning);}
.row>*:nth-child(4n+4) .pain-card .bi,.row>*:nth-child(4n+4) .benefit-card .bi{background:#ede9fe;color:var(--c-purple);}

/* ---------- Tarjetas de problema ---------- */
.pain-card{background:#fff;border:1px solid var(--c-200);border-radius:var(--radius-lg);padding:1.75rem;height:100%;transition:var(--t);}
.pain-card:hover{border-color:#c7d7fe;box-shadow:var(--shadow-md);transform:translateY(-3px);}
.pain-card p{margin:0;color:var(--c-600);font-size:.92rem;line-height:1.65;}

/* ---------- Familias y tarjetas de módulo ---------- */
.family-block{margin-bottom:2.75rem;}
.family-title{font-size:var(--fs-h3);display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem;color:var(--c-dark);font-weight:800;}
.family-bar{width:30px;height:6px;border-radius:3px;background:var(--c-primary);display:inline-block;}
.module-card{display:flex;flex-direction:column;gap:.45rem;background:#fff;border:1px solid var(--c-200);border-radius:var(--radius-lg);
  padding:1.5rem;height:100%;text-decoration:none;color:var(--c-dark);transition:var(--t);position:relative;overflow:hidden;}
.module-card::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--c-primary);opacity:0;transition:var(--t);}
.module-card:hover{border-color:#c7d7fe;box-shadow:var(--shadow-md);transform:translateY(-3px);color:var(--c-dark);}
.module-card:hover::after{opacity:1;}
.module-ico{margin-bottom:.35rem;}
.module-name{font-weight:700;font-size:1.05rem;line-height:1.25;color:var(--c-dark);}
.module-tag{color:var(--c-600);font-size:.875rem;flex:1;line-height:1.6;}
.module-arrow{color:var(--c-primary);font-size:1.1rem;}

/* Tarjeta de módulo con imagen (índice) */
.module-card--photo{padding:0;overflow:hidden;gap:0;}
.module-card--photo::after{display:none;}
.module-thumb{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--c-100);}
.module-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.module-card--photo:hover .module-thumb img{transform:scale(1.05);}
.module-thumb__ico{position:absolute;left:14px;top:14px;width:42px;height:42px;border-radius:11px;
  display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;line-height:1;
  box-shadow:0 6px 18px rgba(0,0,0,.28);}
.module-body{display:flex;flex-direction:column;gap:.4rem;padding:1.2rem 1.35rem 1.35rem;flex:1;}
.module-card--photo .module-name{font-size:1.08rem;}
.module-card--photo .module-tag{flex:1;}
.module-card--photo .module-arrow{display:inline-flex;align-items:center;gap:.35rem;color:var(--c-cta);
  font-weight:700;font-size:.85rem;margin-top:.35rem;}
.module-card--photo:hover .module-arrow{gap:.55rem;}
.fam-chip-comercial{background:#2563eb;}
.fam-chip-proyecto{background:#7c3aed;}
.fam-chip-legal{background:#4f46e5;}
.fam-chip-postventa{background:#10b981;}
.fam-chip-economico{background:#f59e0b;}
.fam-chip-cliente{background:#0891b2;}

/* ---------- Sector ---------- */
.sector-card{background:#fff;border:1px solid var(--c-200);border-radius:var(--radius-lg);padding:1.75rem;height:100%;transition:var(--t);}
.sector-card:hover{border-color:#c7d7fe;box-shadow:var(--shadow-md);transform:translateY(-3px);}
.sector-card .kpi{margin-bottom:1rem;display:block;}
.sector-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem;}
.sector-list li{color:var(--c-700);font-size:.92rem;}
.sector-list .tag{color:var(--c-primary);background:var(--c-primary-lt);padding:.15rem .6rem;border-radius:50px;margin-right:.5rem;font-size:.72rem;font-weight:700;}
.sector-text{color:var(--c-600);margin:0;font-size:.92rem;line-height:1.65;}

/* ---------- Texto justificado (prosa de cuerpo) ---------- */
.module-prose p,.legal-prose p,.section-lead,.module-lead,.price-desc{text-align:justify;text-justify:inter-word;hyphens:none;}
.text-center .section-lead,.text-center .module-lead{text-align:center;}

/* ---------- Foto "Quiénes somos" ---------- */
.about-figure{margin:0;}
.about-photo{width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:block;}
.about-caption{margin-top:.7rem;text-align:center;color:var(--c-500);font-size:.88rem;}

/* ---------- Módulo a medida (banda destacada) ---------- */
.custom-band{text-align:center;}
.custom-badge{display:inline-block;margin-bottom:1rem;padding:.35rem 1rem;border-radius:50px;
  background:var(--c-success);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 4px 16px rgba(16,185,129,.35);}
.custom-h2{max-width:18ch;margin-left:auto;margin-right:auto;}
.custom-lead{margin-left:auto;margin-right:auto;}
.custom-cta{margin-top:2rem;}

/* ---------- Cómo funciona ---------- */
.step-card{background:#fff;border:1px solid var(--c-200);border-radius:var(--radius-lg);padding:1.75rem;height:100%;transition:var(--t);}
.step-card:hover{border-color:var(--c-primary-lt);box-shadow:var(--shadow);transform:translateY(-3px);}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;
  background:var(--c-primary);color:#fff;font-weight:800;font-size:1.1rem;margin-bottom:.9rem;}
.step-title{font-size:var(--fs-h4);margin:.2rem 0 .4rem;color:var(--c-dark);font-weight:700;}
.step-text{color:var(--c-600);margin:0;font-size:.9rem;line-height:1.6;}

/* ---------- Beneficios ---------- */
.benefit-card{text-align:left;height:100%;padding:1.75rem;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--c-200);transition:var(--t);}
.benefit-card:hover{border-color:#c7d7fe;box-shadow:var(--shadow-md);transform:translateY(-3px);}
.benefit-t{font-size:var(--fs-h4);color:var(--c-dark);margin-bottom:.4rem;font-weight:700;}
.benefit-card p{color:var(--c-600);margin:0;font-size:.9rem;line-height:1.65;}

/* ---------- Seguridad ---------- */
.sec-item{display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid var(--c-200);border-radius:var(--radius);padding:1rem 1.2rem;height:100%;transition:var(--t);}
.sec-item:hover{border-color:#c7d7fe;box-shadow:var(--shadow);}
.sec-item .bi{width:42px;height:42px;font-size:1.2rem;}
.sec-item span:last-child{color:var(--c-800);font-weight:600;font-size:.92rem;}

/* ---------- Breadcrumb ---------- */
.breadcrumb-bar{background:var(--c-50);padding:.9rem 0;border-bottom:1px solid var(--c-200);}
.breadcrumb-bar .breadcrumb-item,.breadcrumb-bar a{color:var(--c-500);text-decoration:none;font-size:.85rem;}
.breadcrumb-bar a:hover{color:var(--c-primary);}
.breadcrumb-bar .breadcrumb-item.active{color:var(--c-700);font-weight:500;}
.breadcrumb-bar .breadcrumb-item+.breadcrumb-item::before{color:var(--c-300);}

/* ---------- Página de módulo ---------- */
.module-hero{background:var(--c-50);padding:clamp(2.5rem,5vw,4rem) 0;border-bottom:1px solid var(--c-200);}
.module-h1{font-size:clamp(2rem,1.5rem+2.4vw,3rem);margin-bottom:1rem;color:var(--c-dark);font-weight:900;}
.module-lead{color:var(--c-600);max-width:34rem;margin-bottom:1.6rem;font-size:var(--fs-lead);line-height:1.7;}
.module-visual{aspect-ratio:4/3;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:5rem;color:#fff;box-shadow:var(--shadow-lg);}
.module-visual--photo{position:relative;overflow:hidden;padding:0;font-size:0;background:var(--c-dark);}
.module-visual--photo img{width:100%;height:100%;object-fit:cover;display:block;}
.module-visual__ico{position:absolute;left:16px;bottom:16px;width:54px;height:54px;border-radius:15px;
  display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;line-height:1;
  box-shadow:0 8px 22px rgba(0,0,0,.35);}
.fam-bg-comercial{background:linear-gradient(140deg,#2563eb,#1d4ed8);}
.fam-bg-proyecto{background:linear-gradient(140deg,#7c3aed,#5b21b6);}
.fam-bg-legal{background:linear-gradient(140deg,#4f46e5,#3730a3);}
.fam-bg-postventa{background:linear-gradient(140deg,#10b981,#047857);}
.fam-bg-economico{background:linear-gradient(140deg,#f59e0b,#d97706);}
.fam-bg-cliente{background:linear-gradient(140deg,#0891b2,#0e7490);}
.module-prose p{font-size:1.05rem;line-height:1.8;color:var(--c-700);margin-bottom:1.3rem;}
.wins .win-card{background:var(--c-50);border:1px solid var(--c-200);border-radius:var(--radius-lg);padding:1.6rem;height:100%;}
.win-card .bi{margin-bottom:.9rem;}
.win-card p{margin:0;color:var(--c-600);font-size:.92rem;line-height:1.65;}

/* ---------- Precios ---------- */
.price-card{background:#fff;border:1.5px solid var(--c-200);border-radius:var(--radius-xl);padding:2.25rem 2rem;height:100%;position:relative;transition:var(--t);text-align:center;}
.price-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.price-featured{background:var(--c-primary);border-color:var(--c-primary);color:#fff;transform:translateY(-6px);}
.price-featured:hover{transform:translateY(-10px);box-shadow:0 24px 60px rgba(37,99,235,.4);}
.price-featured .price-name,.price-featured .price-amount,.price-featured .price-desc,.price-featured .price-for{color:#fff;}
.price-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--c-warning);color:var(--c-dark);
  font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.28rem .85rem;border-radius:50px;white-space:nowrap;}
.price-name{font-size:1.15rem;margin-bottom:.25rem;color:var(--c-dark);font-weight:700;}
.price-for{color:var(--c-500);font-size:.875rem;margin-bottom:1rem;}
.price-amount{font-size:2.5rem;font-weight:900;letter-spacing:-.03em;color:var(--c-dark);margin-bottom:.8rem;line-height:1;}
.price-desc{color:var(--c-600);margin-bottom:1.4rem;min-height:3rem;font-size:.9rem;line-height:1.6;}
.price-featured .btn-cta{background:#fff;color:var(--c-primary);border-color:#fff;box-shadow:0 6px 22px rgba(0,0,0,.18);}
.price-featured .btn-cta:hover{background:#f0f7ff;color:var(--c-primary-dk);border-color:#f0f7ff;}
.price-featured .btn-ghost-dark{border-color:rgba(255,255,255,.5);color:#fff;}
.price-featured .btn-ghost-dark:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff;}
.price-note{color:var(--c-500);font-size:.9rem;}

/* ---------- FAQ ---------- */
.faq-accordion{--bs-accordion-active-bg:#f0f7ff;--bs-accordion-active-color:var(--c-primary);
  --bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(37,99,235,.2);--bs-accordion-border-color:var(--c-200);
  --bs-accordion-btn-color:var(--c-dark);--bs-accordion-color:var(--c-700);--bs-accordion-border-radius:12px;}
.faq-accordion .accordion-item{border:1px solid var(--c-200);border-radius:12px!important;margin-bottom:.65rem;overflow:hidden;}
.faq-accordion .accordion-button{font-weight:600;font-size:.95rem;box-shadow:none;}
.faq-accordion .accordion-button:not(.collapsed){box-shadow:none;}
.faq-accordion .accordion-body{color:var(--c-600);font-size:.9rem;line-height:1.7;}

/* ---------- Formulario (sobre CTA oscura) ---------- */
.cta-section{background:var(--hero-grad);position:relative;overflow:hidden;}
.cta-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 80% at 50% 40%,rgba(37,99,235,.3),transparent 70%);}
.cta-section .container{position:relative;}
.cta-section .section-h2,.cta-section .section-lead{color:#fff;}
.cta-section .section-lead{color:rgba(255,255,255,.7);}

/* ---------- Blog ---------- */
.blog-card{position:relative;height:100%;display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--c-200);border-radius:var(--radius-lg);padding:1.6rem 1.5rem;transition:var(--t);}
.blog-card:hover{border-color:var(--c-primary-lt);box-shadow:var(--shadow-md);transform:translateY(-4px);}
.blog-card__date{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--c-primary);margin-bottom:.7rem;}
.blog-card__title{font-size:1.15rem;font-weight:700;line-height:1.32;margin:0 0 .65rem;letter-spacing:-.01em;}
.blog-card__title a{color:var(--c-dark);}
.blog-card:hover .blog-card__title a{color:var(--c-primary);}
.blog-card__desc{color:var(--c-600);font-size:.95rem;line-height:1.6;margin:0 0 1.1rem;}
.blog-card__more{margin-top:auto;font-weight:600;color:var(--c-primary);font-size:.9rem;
  display:inline-flex;align-items:center;gap:.35rem;}
.blog-card:hover .blog-card__more i{transform:translateX(3px);}
.blog-card__more i{transition:var(--t);}
.blog-related{border-top:1px solid var(--c-200);}
/* Paginación del índice del blog (sobre la .pagination de Bootstrap) */
.blog-pager{margin-top:2.8rem;}
.blog-pager .pagination{justify-content:center;flex-wrap:wrap;gap:.35rem;margin:0;}
.blog-pager .page-link{border:1px solid var(--c-200);border-radius:10px;color:var(--c-dark);
  font-weight:600;font-size:.9rem;padding:.5rem .85rem;background:#fff;transition:var(--t);
  display:inline-flex;align-items:center;gap:.4rem;}
.blog-pager .page-link:hover{border-color:var(--c-primary-lt);color:var(--c-primary);background:var(--c-50);}
.blog-pager .page-link:focus{box-shadow:0 0 0 .2rem rgba(37,99,235,.25);}
.blog-pager .page-item.active .page-link{background:var(--c-primary);border-color:var(--c-primary);color:#fff;}
.blog-pager .page-item.disabled .page-link{color:var(--c-400);background:transparent;
  border-color:transparent;}
.blog-pager__count{text-align:center;color:var(--c-600);font-size:.85rem;margin:.9rem 0 0;}
@media (max-width:575.98px){
  /* En móvil sobran los números: bastan «Anteriores» y «Siguientes». */
  .blog-pager .page-item:not(.active):not(:first-child):not(:last-child){display:none;}
  .blog-pager .page-item.active .page-link{pointer-events:none;}
}

/* Artículo */
.article-prose{max-width:44rem;margin:0 auto;}
.article-prose p{margin-bottom:1.15rem;color:var(--c-700);font-size:1.06rem;line-height:1.8;
  text-align:justify;text-justify:inter-word;hyphens:none;}
.article-prose h2{font-size:1.5rem;margin:2.2rem 0 .8rem;}
.article-prose h2:first-child{margin-top:0;}
.article-meta{font-size:.92rem;}
.article-back{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:var(--c-primary);
  margin-top:1.5rem;}
.article-back:hover{color:var(--c-primary-dk);}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:52rem;margin:0 auto;}
.faq-group{margin-bottom:2.5rem;}
.faq-group__title{font-size:1.4rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--c-primary-lt);}
.faq-accordion .accordion-item{border:1px solid var(--c-200);border-radius:var(--radius)!important;margin-bottom:.6rem;overflow:hidden;background:#fff;}
.faq-accordion .accordion-button{font-weight:600;color:var(--c-dark);background:#fff;padding:1.05rem 1.2rem;font-size:1.02rem;line-height:1.4;}
.faq-accordion .accordion-button:not(.collapsed){color:var(--c-primary);background:var(--c-primary-lt);box-shadow:none;}
.faq-accordion .accordion-button:focus{box-shadow:none;border-color:var(--c-300);}
.faq-accordion .accordion-button::after{filter:grayscale(1) opacity(.6);}
.faq-accordion .accordion-body{color:var(--c-700);line-height:1.75;padding:1.1rem 1.2rem 1.35rem;}
.faq-accordion .accordion-body a{color:var(--c-primary);font-weight:600;}
.faq-cta{text-align:center;background:var(--c-50);border:1px solid var(--c-200);border-radius:var(--radius-lg);padding:2.6rem 1.5rem;margin-top:1rem;}
.faq-cta .section-lead{margin:0 auto 1.3rem;}
.demo-form .form-label{color:rgba(255,255,255,.85);font-weight:500;font-size:.9rem;}
.demo-form .form-control{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:10px;padding:.7rem .9rem;}
.demo-form .form-control:focus{background:rgba(255,255,255,.12);border-color:var(--c-primary);box-shadow:0 0 0 .2rem rgba(37,99,235,.25);color:#fff;}
.demo-form .form-control::placeholder{color:rgba(255,255,255,.4);}
.demo-form .form-check-label{color:rgba(255,255,255,.7);font-size:.875rem;}
.demo-form .form-check-label a{color:#93c5fd;}
.demo-form .form-check-input{background-color:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);}
.demo-form .form-check-input:checked{background-color:var(--c-primary);border-color:var(--c-primary);}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-success{background:rgba(16,185,129,.15);border:1px solid var(--c-success);border-radius:var(--radius-lg);padding:2rem;text-align:center;color:#fff;}
.form-success .bi{font-size:2.4rem;color:#6ee7b7;display:block;margin-bottom:.6rem;}
.form-errors{background:rgba(239,68,68,.15);border:1px solid var(--c-danger);border-radius:var(--radius);padding:1rem 1.2rem;margin-bottom:1.2rem;color:#fecaca;}
.form-errors ul{margin:0;padding-left:1.1rem;}
.form-recaptcha{color:rgba(255,255,255,.45);font-size:.78rem;line-height:1.45;text-align:center;margin:1rem 0 0;}
.form-recaptcha a{color:rgba(255,255,255,.62);text-decoration:underline;}
.form-recaptcha a:hover{color:#93c5fd;}
/* El distintivo flotante de reCAPTCHA chocaría con el botón de WhatsApp.
   Google permite ocultarlo siempre que el aviso legal se muestre junto al
   formulario: de eso se encarga .form-recaptcha, bajo el botón de enviar. */
.grecaptcha-badge{visibility:hidden;}
.contact-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.8rem;}
.contact-points li{display:flex;align-items:center;gap:.75rem;color:rgba(255,255,255,.85);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.8rem 1rem;font-size:.92rem;}
.contact-points .bi{color:#93c5fd;font-size:1.2rem;}

/* ---------- Footer (oscuro) ---------- */
.site-footer{background:var(--c-dark);color:rgba(255,255,255,.45);padding:3.5rem 0 2rem;}
.footer-logo{height:64px;width:auto;margin-bottom:1rem;filter:brightness(0) invert(1);opacity:.85;}
.footer-claim{color:rgba(255,255,255,.4);max-width:22rem;font-size:.9rem;}
.footer-company{font-size:.875rem;color:rgba(255,255,255,.4);}
.footer-company strong{color:rgba(255,255,255,.8);}
.footer-h{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.5);margin-bottom:1rem;font-weight:700;}
.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem;}
.footer-links a{color:rgba(255,255,255,.5);text-decoration:none;font-size:.9rem;transition:var(--t);}
.footer-links a:hover{color:#fff;}
.footer-more{color:#93c5fd!important;font-weight:600;}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center;border-top:1px solid rgba(255,255,255,.08);margin-top:2.5rem;padding-top:1.5rem;font-size:.82rem;color:rgba(255,255,255,.4);}
.footer-lang a{color:rgba(255,255,255,.5);text-decoration:none;}
.footer-lang a.active{color:#93c5fd;font-weight:600;}

/* ---------- Legal ---------- */
.legal-prose{padding-top:1rem;}
.legal-prose h1{font-size:var(--fs-h2);margin-bottom:.6rem;}
.legal-prose h2{font-size:1.3rem;margin:2rem 0 .8rem;color:var(--c-dark);}
.legal-prose h3{font-size:1.05rem;font-weight:700;margin:1.5rem 0 .5rem;color:var(--c-800);}
.legal-prose p,.legal-prose li{color:var(--c-700);line-height:1.75;}
.legal-prose li{margin-bottom:.4rem;}
.legal-prose code{background:var(--c-100);border:1px solid var(--c-200);border-radius:6px;
  padding:.1rem .4rem;font-size:.85em;color:var(--c-800);}
.legal-updated{font-size:.88rem;color:var(--c-500);margin-bottom:2rem;}
.legal-prose .table-responsive{margin:1rem 0 1.5rem;}
.legal-prose table{width:100%;font-size:.92rem;color:var(--c-700);}
.legal-prose table th,.legal-prose table td{padding:.7rem .8rem;border-bottom:1px solid var(--c-200);
  text-align:left;vertical-align:top;}
.legal-prose table thead th{background:var(--c-50);color:var(--c-800);font-weight:700;
  border-bottom:2px solid var(--c-200);}
.legal-prose tbody th{width:34%;font-weight:600;color:var(--c-800);}

/* ---------- Consentimiento de cookies ---------- */
/* Botones «cambiar tu decisión» dentro de la política de cookies. */
.ck-manage{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 .8rem;}
.ck-state{font-size:.88rem;color:var(--c-500);}
/* Barra inferior, la inyecta assets/js/cookies.js mientras no haya respuesta. */
.ck-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:1080;max-width:640px;margin:0 auto;
  background:var(--c-dark);color:#e2e8f0;border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.25rem 1.4rem;
  font-size:.88rem;line-height:1.55;}
.ck-bar p{margin:0 0 .9rem;}
.ck-bar a{color:#93c5fd;text-decoration:underline;}
.ck-bar__btns{display:flex;flex-wrap:wrap;gap:.6rem;}
.ck-bar button{font:inherit;font-weight:600;cursor:pointer;border-radius:10px;
  padding:.55rem 1.2rem;border:1px solid transparent;transition:var(--t);}
.ck-bar__yes{background:var(--c-cta);color:#fff;}
.ck-bar__yes:hover,.ck-bar__yes:focus{background:var(--c-cta-dk);color:#fff;}
.ck-bar__no{background:transparent;color:var(--c-300);border-color:rgba(255,255,255,.22);}
.ck-bar__no:hover,.ck-bar__no:focus{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.6);}
/* Sube el botón flotante de WhatsApp para que la barra no lo tape. La altura
   real de la barra la mide cookies.js y la publica en --ck-h. */
body.ck-open .wa-float{bottom:calc(var(--ck-h,0px) + 2rem);}
@media (max-width:420px){.ck-bar__btns button{flex:1 1 100%;}}

/* ---------- Reveal ---------- */
/* Scroll-reveal. Se oculta SOLO si hay JS (clase .js, que pone el propio
   documento en el <head>): si el script no llegara a ejecutarse, el contenido
   se ve igualmente en lugar de quedarse invisible. */
.reveal{transition:opacity .6s ease,transform .6s ease;}
.js .reveal{opacity:0;transform:translateY(14px);}
.js .reveal.in{opacity:1;transform:none;}
/* El héroe nunca se oculta: es el elemento LCP de la página y esconderlo
   hasta que corre el JS retrasa el primer pintado del titular. */
.js .hero .reveal,.js .page-hero .reveal,.js .module-hero .reveal{opacity:1;transform:none;}

/* ---------- Responsive ---------- */
@media (max-width:991.98px){
  .navbar-collapse{background:#fff;margin-top:.7rem;padding:1rem;border-radius:12px;border:1px solid var(--c-200);box-shadow:var(--shadow);}
  .price-featured{transform:none;}
  .price-featured:hover{transform:translateY(-4px);}
}
@media (max-width:575.98px){
  .hero-cta .btn{width:100%;}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
  .reveal,.js .reveal{opacity:1;transform:none;}
}

:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px;border-radius:3px;}

/* ---------- Footer: localizador por provincia/población ---------- */
.footer-locator{border-top:1px solid rgba(255,255,255,.08);margin-top:2.5rem;padding-top:2rem;}
.footer-locator__head .footer-h{display:flex;align-items:center;gap:.4rem;}
.footer-locator__head p{font-size:.9rem;color:rgba(255,255,255,.5);max-width:48rem;margin:0 0 1.1rem;}
.footer-locator__form{display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-end;}
.fl-field{display:flex;flex-direction:column;gap:.3rem;min-width:200px;flex:1 1 200px;}
.fl-field label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.45);font-weight:700;}
.footer-locator__form select{appearance:none;background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:.6rem .8rem;font-size:.92rem;}
.footer-locator__form select:focus{outline:2px solid var(--c-primary);border-color:var(--c-primary);}
.footer-locator__form select:disabled{opacity:.45;}
.footer-locator__form select option{color:#0f172a;}
.footer-locator__form .btn-cta{flex:0 0 auto;white-space:nowrap;}
.footer-provinces{margin-top:1.4rem;}
.footer-provinces summary{cursor:pointer;font-size:.82rem;font-weight:600;color:rgba(255,255,255,.6);padding:.4rem 0;list-style:none;}
.footer-provinces summary::-webkit-details-marker{display:none;}
.footer-provinces summary::before{content:"+";display:inline-block;width:1.1em;color:var(--c-primary);font-weight:700;}
.footer-provinces[open] summary::before{content:"–";}
.footer-provinces__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.35rem .9rem;margin-top:.8rem;}
.footer-provinces__grid a{color:rgba(255,255,255,.5);text-decoration:none;font-size:.85rem;transition:var(--t);}
.footer-provinces__grid a:hover{color:#fff;}
.footer-provinces__muni{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.06);}
.footer-provinces__muni-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.4);font-weight:700;margin:0 0 .3rem;}
@media (max-width:575.98px){.footer-locator__form .btn-cta{width:100%;}}

/* ───── Prueba social (logos + testimonios) ───── */
.social-proof .social-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2.2rem;margin:1rem 0 .5rem;}
.social-proof .social-logo img{max-height:40px;width:auto;filter:grayscale(1);opacity:.65;transition:var(--t);}
.social-proof .social-logo img:hover{filter:grayscale(0);opacity:1;}
.testimonial-card{background:#fff;border:1px solid var(--c-200);border-radius:var(--radius-lg);padding:1.6rem 1.5rem;height:100%;margin:0;box-shadow:var(--shadow);}
.testimonial-card blockquote{margin:0 0 1rem;font-size:1.02rem;line-height:1.55;color:var(--c-700);}
.testimonial-card blockquote::before{content:"\201C";color:var(--c-primary);font-weight:700;}
.testimonial-card figcaption{display:flex;flex-direction:column;gap:.1rem;}
.testimonial-name{font-weight:700;color:var(--c-dark);}
.testimonial-role{font-size:.85rem;color:var(--c-500);}

/* ───── Hero centrado (landings de localización) ───── */
.loc-hero .hero-lead{margin-left:auto;margin-right:auto;}
.loc-hero .hero-cta{justify-content:center;}

/* ───── Banner CTA de cierre (landings de localización) ───── */
.loc-cta-banner{
  position:relative;overflow:hidden;isolation:isolate;
  border-radius:var(--radius-xl);
  padding:clamp(2.4rem,5vw,4rem) clamp(1.4rem,4vw,3.5rem);
  text-align:center;color:#fff;
  background:linear-gradient(120deg,#2563eb 0%,#4f46e5 32%,#7c3aed 60%,#0891b2 100%);
  background-size:200% 200%;
  box-shadow:0 20px 60px rgba(79,70,229,.35);
  animation:locCtaShift 14s ease infinite;
}
@keyframes locCtaShift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
.loc-cta-banner__glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(60px);pointer-events:none;}
.loc-cta-banner__glow--a{width:20rem;height:20rem;top:-7rem;right:-5rem;background:radial-gradient(circle,rgba(16,185,129,.55),transparent 70%);}
.loc-cta-banner__glow--b{width:18rem;height:18rem;bottom:-8rem;left:-4rem;background:radial-gradient(circle,rgba(245,158,11,.45),transparent 70%);}
.loc-cta-banner__inner{position:relative;max-width:46rem;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1.2rem;}
.loc-cta-banner__eyebrow{
  display:inline-flex;align-items:center;gap:.45rem;margin:0;
  padding:.4rem 1rem;border-radius:999px;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.28);
  font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;
  backdrop-filter:blur(4px);
}
.loc-cta-banner__eyebrow .bi{color:#fde68a;}
.loc-cta-banner__text{
  margin:0;font-size:clamp(1.25rem,2.6vw,1.9rem);line-height:1.4;font-weight:600;
  color:#fff;text-wrap:balance;
}
.loc-cta-banner__text strong{color:#fde68a;font-weight:800;}
.loc-cta-banner__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:.4rem;}
.loc-cta-banner .btn-cta{box-shadow:0 8px 26px rgba(22,163,74,.5);}
@media (max-width:575.98px){
  .loc-cta-banner__actions{flex-direction:column;width:100%;}
  .loc-cta-banner__actions .btn{width:100%;}
}
@media (prefers-reduced-motion:reduce){.loc-cta-banner{animation:none;}}

/* ───── Botón flotante de WhatsApp ───── */
.wa-float{
  position:fixed;right:1.25rem;bottom:1.25rem;z-index:1080;
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.7rem 1.15rem;border-radius:999px;
  background:#25D366;color:#fff;text-decoration:none;font-weight:700;
  box-shadow:0 10px 28px rgba(37,211,102,.45);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.wa-float:hover,.wa-float:focus-visible{
  color:#fff;background:#1ebe5b;transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(37,211,102,.55);
}
.wa-float .bi{font-size:1.5rem;line-height:1;}
.wa-float__text{font-size:.95rem;white-space:nowrap;}
@media (max-width:575.98px){
  .wa-float{right:1rem;bottom:1rem;padding:.85rem;gap:0;}
  .wa-float__text{display:none;}
  .wa-float .bi{font-size:1.7rem;}
}
@media (prefers-reduced-motion:reduce){.wa-float{transition:none;}}
