/* ================================================================
   Holdesk — Web de producto
   ================================================================

   Este fichero es AHORA la única hoja de estilos de la web pública.
   Antes venían tres, y dos de dominios ajenos. Medido con Lighthouse
   el 07/09/2026, eran los DOS ÚNICOS recursos que bloqueaban la
   primera pintura:

     fonts.googleapis.com   866 ms de bloqueo … POR 1,3 KB
     cdn.jsdelivr.net     1.124 ms de bloqueo · 232 KB de Bootstrap
     web.css               ni aparecía: mismo dominio, conexión abierta

   O sea: el coste era la LATENCIA de estrenar dominio, no los bytes.
   El servidor va por HTTP/1.1, así que cada dominio nuevo son DNS +
   TCP + TLS antes de poder pedir nada. Por eso la fuente y la rejilla
   viven ahora aquí y la web pública no pide una sola cosa fuera de
   holdesk.es.

   ORDEN DEL FICHERO — no reordenar:
     1. @font-face de Inter, autoalojada
     2. Bootstrap Grid 5.3.3, tal cual, vendorizado
     3. Las utilidades de Bootstrap que la versión «grid» no trae
     4. Los estilos propios de Holdesk

   Los propios van los ÚLTIMOS a propósito: es el mismo orden que
   tenían cuando Bootstrap se cargaba antes en el <head>, así que
   siguen ganando por orden y no hace falta ningún !important nuevo.

   Para actualizar Bootstrap: descargar el `bootstrap-grid.min.css` de
   la versión que toque y sustituir el bloque 2 entero. NO se usa el
   Bootstrap completo porque la web pública sólo gasta la rejilla, las
   utilidades y `.table` —los botones son todos propios—, y eran 232 KB
   para eso. El JS de Bootstrap tampoco se carga: no hay un solo
   `data-bs-*` en la web pública.
   ================================================================ */

/* ── 1 · Inter, autoalojada ──────────────────────────────────────
   Fuente variable (300–900) en un único fichero de 48 KB, que cubre
   los siete pesos que usa la web. Sólo el subconjunto «latin»: se
   comprobó carácter a carácter que ningún texto de los cinco idiomas
   se sale de él —lo único fuera son emojis, y esos los pinta la fuente
   del sistema, no Inter—.

   El unicode-range es el mismo que servía Google: si una página no
   usara ninguno de esos caracteres, el navegador ni la descarga.

   La ruta es relativa a ESTE fichero, así que sigue valiendo si el
   proyecto se sirve desde una subcarpeta (localhost/holdesk). */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(assets/fonts/inter-latin.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;
}

/* ── 2 · Bootstrap Grid 5.3.3 (vendorizado, no editar a mano) ─── */

/*!
 * Bootstrap Grid v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}


/* ── 3 · Utilidades que bootstrap-grid NO trae ───────────────────
   Copiadas del Bootstrap completo pero con los valores ya resueltos:
   sin el Reboot no existen las variables --bs-*, y dejarlas puestas
   pintaría los textos en `initial`.

   Sólo están las que usan de verdad las páginas públicas. La lista no
   se adivinó: salió de comparar las 270 clases que aparecen en el HTML
   contra las dos versiones de Bootstrap, y eran exactamente éstas. */
.gap-1 { gap: .25rem !important; }
.gap-2 { gap: .5rem  !important; }
.gap-3 { gap: 1rem   !important; }
.gap-4 { gap: 1.5rem !important; }
.gap-5 { gap: 3rem   !important; }

.text-start  { text-align: left   !important; }
.text-center { text-align: center !important; }
.text-end    { text-align: right  !important; }

.text-muted   { color: rgba(33,37,41,.75) !important; }
.text-success { color: #198754 !important; }

.small, small { font-size: .875em; }
.align-middle { vertical-align: middle !important; }

/* Titulares. Los selectores de ETIQUETA (h1…h6) son tan necesarios como
   las clases: el `line-height: 1.2` lo ponía el Reboot de Bootstrap y sin
   él los <h3> y <h4> de la portada heredaban el 1.6 del body y crecían
   un 33 % de alto. Se vio comparando estilos calculados contra la
   versión anterior, no a ojo.
   `class="h5"` sobre un <h2> es como se marcan los apartados de las
   páginas legales: cambia el tamaño sin tocar la jerarquía real. */
.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: .5rem; font-weight: 500; line-height: 1.2; }
.h5 { font-size: 1.25rem; }
.h6 { font-size: 1rem; }

/* Controles de formulario. ESTO NO ES OPCIONAL: sin la normalización del
   Reboot, los <input> y el <textarea> del formulario de contacto vuelven
   a la fuente del sistema —salían en Arial a 13,3 px— porque los
   controles no heredan la tipografía por su cuenta. */
button, input, optgroup, select, textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) { cursor: pointer; }
textarea { resize: vertical; }

/* `code` lo usa el inventario de cookies para los nombres de cada una.
   Sin el Reboot perdía el color y la tipografía y salía como texto normal. */
code {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: .875em;
  color: #d63384;
  word-wrap: break-word;
}

/* `color: inherit` es lo que hace que el separador del pie sea claro sobre
   el fondo oscuro; sin él tomaba el gris del navegador. */
hr { margin: 1rem 0; color: inherit; border: 0; border-top: 1px solid; opacity: .25; }

/* Tablas: las de las páginas legales y el inventario de cookies.
   `border-collapse` venía del Reboot de Bootstrap, que ya no se carga;
   sin él los bordes inferiores de las celdas se separarían y la tabla
   saldría con doble línea. */
table { border-collapse: collapse; caption-side: bottom; }
th    { text-align: inherit; text-align: -webkit-match-parent; }
.table {
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: #dee2e6;
}
.table > :not(caption) > * > * {
  padding: .5rem .5rem;
  background-color: #fff;
  border-bottom: 1px solid #dee2e6;
}
.table > tbody { vertical-align: inherit; }
.table > thead { vertical-align: bottom; }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ── 4 · Estilos propios de Holdesk ──────────────────────────── */

/* ── Variables ──────────────────────────────────────────────── */
:root {
  --c-primary:    #2563eb;
  --c-primary-dk: #1d4ed8;
  --c-primary-lt: #dbeafe;
  --c-dark:       #0f172a;
  --c-navy:       #1e3a5f;
  --c-gray-50:    #f8fafc;
  --c-gray-100:   #f1f5f9;
  --c-gray-200:   #e2e8f0;
  --c-gray-400:   #94a3b8;
  --c-gray-600:   #475569;
  --c-gray-800:   #1e293b;
  --c-success:    #10b981;
  --c-warning:    #f59e0b;
  --c-danger:     #ef4444;
  --c-purple:     #7c3aed;
  --font:         'Inter', system-ui, -apple-system, sans-serif;
  --radius:       12px;
  --radius-lg:    20px;
  --radius-xl:    28px;
  --shadow:       0 1px 3px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.08);
  --shadow-md:    0 4px 24px rgba(0,0,0,.10);
  --shadow-lg:    0 12px 48px rgba(0,0,0,.15);
  --t:            all .2s ease;
}

/* ── Base ───────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing: border-box; }
html  { scroll-behavior: smooth; }
body  { font-family: var(--font); color: var(--c-dark); background: #fff; line-height: 1.6; -webkit-font-smoothing: antialiased; margin: 0; }
img   { max-width: 100%; }
a     { text-decoration: none; color: inherit; }
ul    { margin: 0; padding: 0; list-style: none; }

/* ── Navbar ─────────────────────────────────────────────────── */
.hd-nav {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(15,23,42,.97);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding: .85rem 0;
}
.hd-nav .logo img { height: 34px; object-fit: contain; filter: brightness(0) invert(1); }
.hd-nav .nav-links { display: flex; gap: 2.25rem; }
.hd-nav .nav-links a { color: rgba(255,255,255,.65); font-size: .875rem; font-weight: 500; transition: var(--t); }
.hd-nav .nav-links a:hover { color: #fff; }
.btn-nav { background: var(--c-primary); color: #fff; padding: .5rem 1.2rem; border-radius: 8px; font-size: .875rem; font-weight: 600; transition: var(--t); }
.btn-nav:hover { background: var(--c-primary-dk); color: #fff; transform: translateY(-1px); }
.btn-nav-ghost { border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.75); padding: .5rem 1.2rem; border-radius: 8px; font-size: .875rem; font-weight: 500; transition: var(--t); }
.btn-nav-ghost:hover { border-color: rgba(255,255,255,.5); color: #fff; }
.hd-nav-mobile { display: none; }

/* ── Hero ───────────────────────────────────────────────────── */
.hero {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 55%, #2563eb 100%);
  color: #fff; padding: 96px 0 80px; overflow: hidden; position: relative;
}
.hero::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 80% 60% at 70% 30%, rgba(37,99,235,.3) 0%, transparent 70%);
  pointer-events: none;
}
.hero > * { position: relative; }
.hero-badge {
  display: inline-flex; align-items: center; gap: .35rem;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18);
  color: #93c5fd; padding: .3rem .85rem; border-radius: 50px;
  font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  margin-bottom: 1.25rem;
}
.hero h1 {
  font-size: clamp(2.2rem, 5vw, 3.8rem); font-weight: 900;
  line-height: 1.1; letter-spacing: -.03em; margin: 0;
}
/* Titular largo de la portada: el clamp de arriba esta pensado para dos lineas
   cortas, y con 70+ caracteres se comeria la pantalla. */
.hero h1.long {
  font-size: clamp(1.9rem, 3.3vw, 2.7rem);
  line-height: 1.18; letter-spacing: -.02em;
}
/* El de provincia y municipio añade "en {lugar}", y hay municipios con nombres
   de treinta caracteres: un punto por debajo del de la portada. */
.hero h1.long.geo { font-size: clamp(1.75rem, 2.9vw, 2.4rem); }
.hero h1 em {
  font-style: normal;
  background: linear-gradient(90deg, #93c5fd, #a5b4fc);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
/* La entradilla es <h2> en la portada y <p> en las paginas geograficas: el h2
   llega en negrita desde el navegador y hay que devolverlo a texto corrido. */
.hero .lead { font-size: 1.1rem; font-weight: 400; color: rgba(255,255,255,.72); max-width: 500px; margin: 1.25rem 0 2rem; line-height: 1.75; }
.hero h2.lead { max-width: 560px; }
.btn-hero-primary {
  background: #fff; color: var(--c-primary); font-weight: 700; font-size: .95rem;
  padding: .85rem 1.85rem; border-radius: 10px; transition: var(--t);
  display: inline-flex; align-items: center; gap: .4rem;
}
.btn-hero-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,.3); color: var(--c-primary); }
.btn-hero-ghost {
  border: 1.5px solid rgba(255,255,255,.3); color: rgba(255,255,255,.82); font-weight: 600;
  font-size: .95rem; padding: .85rem 1.85rem; border-radius: 10px; transition: var(--t);
  display: inline-flex; align-items: center; gap: .4rem;
}
.btn-hero-ghost:hover { border-color: rgba(255,255,255,.65); color: #fff; background: rgba(255,255,255,.07); }
.hero-pills { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.hero-pill { display: flex; align-items: center; gap: .35rem; font-size: .82rem; color: rgba(255,255,255,.6); }
.hero-pill .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--c-success); flex-shrink: 0; }

/* Hero mockup */
.hero-mockup {
  background: rgba(15,23,42,.9);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: 0 40px 100px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.04);
}
.hm-bar {
  background: rgba(255,255,255,.06); border-bottom: 1px solid rgba(255,255,255,.07);
  padding: .6rem 1rem; display: flex; align-items: center; gap: .4rem;
}
.hm-dot { width: 9px; height: 9px; border-radius: 50%; }
.hm-bar .hm-title { font-size: .7rem; font-weight: 600; color: rgba(255,255,255,.4); margin-left: .5rem; }
.hm-body { padding: 1.1rem; }
.hm-stats { display: flex; gap: .6rem; margin-bottom: .9rem; }
.hm-stat {
  flex: 1; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.07);
  border-radius: 9px; padding: .65rem .75rem;
}
.hm-stat .v { font-size: 1.15rem; font-weight: 800; color: #fff; }
.hm-stat .l { font-size: .58rem; color: rgba(255,255,255,.4); margin-top: .05rem; }
.hm-cal { display: flex; gap: .3rem; margin-bottom: .9rem; }
.hm-cell {
  flex: 1; height: 28px; border-radius: 5px;
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.05);
  display: flex; align-items: center; justify-content: center;
  font-size: .55rem; color: rgba(255,255,255,.3);
}
.hm-cell.occ { background: rgba(37,99,235,.45); border-color: rgba(37,99,235,.6); color: rgba(255,255,255,.85); }
.hm-cell.partial { background: rgba(245,158,11,.3); border-color: rgba(245,158,11,.5); color: rgba(255,255,255,.8); }
.hm-booking {
  display: flex; align-items: center; gap: .65rem;
  background: rgba(255,255,255,.04); border-radius: 7px;
  padding: .45rem .7rem; margin-bottom: .4rem;
}
.hm-avatar { width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .6rem; font-weight: 700; color: #fff; flex-shrink: 0; }
.hm-binfo .n { font-size: .68rem; font-weight: 600; color: rgba(255,255,255,.8); }
.hm-binfo .d { font-size: .58rem; color: rgba(255,255,255,.35); }
.hm-bstatus { margin-left: auto; font-size: .58rem; font-weight: 700; padding: .15rem .45rem; border-radius: 4px; }
.bs-conf { background: rgba(16,185,129,.2); color: #6ee7b7; }
.bs-pend { background: rgba(245,158,11,.2); color: #fcd34d; }

/* ── Trust bar ──────────────────────────────────────────────── */
.trust-bar {
  background: var(--c-gray-50); border-top: 1px solid var(--c-gray-200);
  border-bottom: 1px solid var(--c-gray-200); padding: 1.25rem 0;
}
.trust-item { display: inline-flex; align-items: center; gap: .4rem; color: var(--c-gray-600); font-size: .875rem; font-weight: 500; }
.trust-item .trust-icon { font-size: 1.1rem; }

/* ── Section commons ────────────────────────────────────────── */
.section     { padding: 88px 0; }
.section-sm  { padding: 60px 0; }
.section-alt { background: var(--c-gray-50); }
.section-dark { background: var(--c-dark); color: #fff; }
.section-navy { background: linear-gradient(160deg, #0f172a 0%, #1e3a5f 100%); color: #fff; }

.section-eyebrow {
  display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; padding: .3rem .8rem; border-radius: 50px; margin-bottom: .75rem;
}
.eyebrow-blue  { background: var(--c-primary-lt); color: var(--c-primary); }
.eyebrow-dark  { background: rgba(37,99,235,.18); color: #93c5fd; }
.eyebrow-green { background: rgba(16,185,129,.15); color: #10b981; }
.eyebrow-amber { background: rgba(245,158,11,.15); color: #f59e0b; }
.eyebrow-purple{ background: rgba(124,58,237,.15); color: #a78bfa; }

.section-title { font-size: clamp(1.75rem, 3.5vw, 2.6rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.15; margin: 0; }
.section-sub   { font-size: 1.05rem; color: var(--c-gray-600); max-width: 520px; margin: .85rem auto 0; line-height: 1.7; }
.section-sub-lt { color: rgba(255,255,255,.6); }

/* ── Feature cards ──────────────────────────────────────────── */
.feat-card {
  background: #fff; border: 1px solid var(--c-gray-200);
  border-radius: var(--radius-lg); padding: 1.85rem; height: 100%;
  transition: var(--t); position: relative; overflow: hidden;
}
.feat-card::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--accent, var(--c-primary)); opacity: 0; transition: var(--t);
}
.feat-card:hover { border-color: #c7d7fe; box-shadow: var(--shadow-md); transform: translateY(-3px); }
.feat-card:hover::after { opacity: 1; }
.feat-icon { width: 50px; height: 50px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.45rem; margin-bottom: 1.1rem; }
.feat-card h3 { font-size: 1rem; font-weight: 700; margin: 0 0 .45rem; }
.feat-card p  { font-size: .875rem; color: var(--c-gray-600); line-height: 1.65; margin: 0; }
.feat-tag-new { position: absolute; top: 1rem; right: 1rem; background: linear-gradient(135deg, var(--c-primary), var(--c-purple)); color: #fff; font-size: .6rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .18rem .5rem; border-radius: 4px; }

/* ── Language card ──────────────────────────────────────────── */
.lang-groups { display: flex; flex-wrap: wrap; gap: 1.75rem; margin-top: 1.5rem; }
.lang-group  { flex: 1; min-width: 260px; }
.lang-group-label { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--c-gray-500); margin-bottom: .65rem; }
.lang-tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.lang-tag { font-size: .78rem; font-weight: 500; padding: .22rem .65rem; border-radius: 20px; background: var(--c-gray-100); color: var(--c-gray-700); border: 1px solid var(--c-gray-200); white-space: nowrap; }
.lang-tag.es { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }

/* ── How it works ───────────────────────────────────────────── */
.step-card {
  display: flex; gap: 1.25rem; align-items: flex-start;
  background: #fff; border: 1px solid var(--c-gray-200);
  border-radius: var(--radius-lg); padding: 1.65rem 1.85rem; height: 100%;
  transition: var(--t);
}
.step-card:hover { border-color: var(--c-primary-lt); box-shadow: var(--shadow); }
.step-num {
  width: 44px; height: 44px; border-radius: 12px; background: var(--c-primary);
  color: #fff; font-weight: 800; font-size: 1.1rem; display: flex; align-items: center;
  justify-content: center; flex-shrink: 0;
}
.step-card h3 { font-size: 1rem; font-weight: 700; margin: 0 0 .35rem; }
.step-card p  { font-size: .875rem; color: var(--c-gray-600); margin: 0; line-height: 1.6; }

/* ── Code embed block ───────────────────────────────────────── */
.code-block {
  background: #0d1117; border-radius: var(--radius-lg);
  overflow: hidden; border: 1px solid rgba(255,255,255,.07);
}
.code-bar {
  background: rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.06);
  padding: .55rem 1rem; display: flex; align-items: center; gap: .4rem;
}
.code-bar .dots { display: flex; gap: .35rem; }
.code-bar .dots span { width: 9px; height: 9px; border-radius: 50%; }
.code-bar .filename { font-size: .72rem; color: rgba(255,255,255,.3); margin-left: .5rem; font-family: monospace; }
.code-body { padding: 1.5rem; font-family: 'Courier New', Courier, monospace; font-size: .82rem; line-height: 1.85; overflow-x: auto; }
.code-body .kw  { color: #7dd3fc; }
.code-body .attr { color: #a5f3fc; }
.code-body .val  { color: #86efac; }
.code-body .cm   { color: rgba(255,255,255,.28); font-style: italic; }
.code-body .tag  { color: #f9a8d4; }

/* ── Panel UI mockup ────────────────────────────────────────── */
.panel-mockup {
  background: #1e293b; border-radius: var(--radius-xl); overflow: hidden;
  box-shadow: var(--shadow-lg); border: 1px solid rgba(255,255,255,.05);
}
.pm-topbar {
  background: #0f172a; border-bottom: 1px solid rgba(255,255,255,.06);
  padding: .7rem 1.25rem; display: flex; align-items: center; justify-content: space-between;
}
.pm-topbar-logo { height: 22px; object-fit: contain; filter: brightness(0) invert(1); opacity: .7; }
.pm-topbar-actions { display: flex; align-items: center; gap: .6rem; }
.pm-topbar-actions .pm-btn { font-size: .65rem; background: rgba(37,99,235,.3); color: #93c5fd; padding: .25rem .6rem; border-radius: 5px; font-weight: 600; }
.pm-layout { display: flex; min-height: 340px; }
.pm-sidebar {
  width: 160px; background: #0f172a; border-right: 1px solid rgba(255,255,255,.05);
  padding: .75rem .6rem; flex-shrink: 0;
}
.pm-sidebar-item {
  padding: .4rem .65rem; border-radius: 7px; font-size: .68rem;
  color: rgba(255,255,255,.4); margin-bottom: .2rem;
  display: flex; align-items: center; gap: .45rem; font-weight: 500;
}
.pm-sidebar-item.active { background: rgba(37,99,235,.25); color: #93c5fd; font-weight: 600; }
.pm-content { flex: 1; padding: 1.1rem; }
.pm-stat-row { display: grid; grid-template-columns: repeat(4,1fr); gap: .6rem; margin-bottom: 1rem; }
.pm-stat {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06);
  border-radius: 9px; padding: .7rem;
}
.pm-stat .val { font-size: 1.2rem; font-weight: 800; color: #fff; }
.pm-stat .lbl { font-size: .57rem; color: rgba(255,255,255,.35); margin-top: .1rem; }
.pm-cal-days { display: flex; gap: .2rem; margin-bottom: .2rem; }
.pm-cal-days span { flex: 1; text-align: center; font-size: .52rem; color: rgba(255,255,255,.25); font-weight: 700; text-transform: uppercase; }
.pm-cal-grid { display: grid; grid-template-columns: repeat(7,1fr); gap: .2rem; margin-bottom: .8rem; }
.pm-cell { height: 24px; border-radius: 4px; background: rgba(255,255,255,.04); display: flex; align-items: center; justify-content: center; font-size: .52rem; color: rgba(255,255,255,.22); }
.pm-cell.occ     { background: rgba(37,99,235,.4); color: rgba(255,255,255,.75); }
.pm-cell.partial { background: rgba(245,158,11,.3); color: rgba(255,255,255,.7); }
.pm-cell.today   { border: 1px solid rgba(37,99,235,.8); color: rgba(255,255,255,.9); font-weight: 700; }
.pm-booking-row { display: flex; align-items: center; gap: .6rem; background: rgba(255,255,255,.04); border-radius: 7px; padding: .45rem .65rem; margin-bottom: .35rem; }
.pm-av { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .58rem; font-weight: 700; color: #fff; flex-shrink: 0; }
.pm-bn { font-size: .67rem; font-weight: 600; color: rgba(255,255,255,.8); }
.pm-bd { font-size: .58rem; color: rgba(255,255,255,.35); }
.pm-bs { margin-left: auto; font-size: .58rem; font-weight: 700; padding: .15rem .45rem; border-radius: 4px; }
.bs-c { background: rgba(16,185,129,.2); color: #6ee7b7; }
.bs-p { background: rgba(245,158,11,.2); color: #fcd34d; }
.bs-n { background: rgba(239,68,68,.2); color: #fca5a5; }

/* ── Advanced features list ─────────────────────────────────── */
.adv-item {
  display: flex; gap: 1rem; align-items: flex-start;
  padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,.07);
}
.adv-item:last-child { border-bottom: none; padding-bottom: 0; }
.adv-icon-wrap {
  width: 44px; height: 44px; border-radius: 12px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-size: 1.25rem;
}
.adv-item h4 { font-size: .95rem; font-weight: 700; color: rgba(255,255,255,.9); margin: 0 0 .25rem; }
.adv-item p  { font-size: .85rem; color: rgba(255,255,255,.5); margin: 0; line-height: 1.6; }

/* ── Roadmap ────────────────────────────────────────────────── */
.roadmap-card {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-lg); padding: 1.5rem; height: 100%; transition: var(--t);
}
.roadmap-card:hover { border-color: rgba(37,99,235,.35); background: rgba(37,99,235,.07); }
.roadmap-card .rc-icon { font-size: 1.65rem; margin-bottom: .65rem; }
.roadmap-card h4 { font-size: .95rem; font-weight: 700; color: rgba(255,255,255,.88); margin: 0 0 .4rem; }
.roadmap-card p  { font-size: .82rem; color: rgba(255,255,255,.45); margin: 0; line-height: 1.6; }
.rm-badge { display: inline-block; font-size: .62rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; padding: .18rem .55rem; border-radius: 4px; margin-bottom: .65rem; }
.rm-soon   { background: rgba(245,158,11,.2);  color: #fbbf24; border: 1px solid rgba(245,158,11,.3); }
.rm-next   { background: rgba(124,58,237,.2);  color: #c4b5fd; border: 1px solid rgba(124,58,237,.3); }
.rm-future { background: rgba(16,185,129,.15); color: #6ee7b7; border: 1px solid rgba(16,185,129,.25); }

/* ── Pricing ────────────────────────────────────────────────── */
.price-card {
  background: #fff; border: 1.5px solid var(--c-gray-200);
  border-radius: var(--radius-xl); padding: 2.25rem 2rem; height: 100%;
  position: relative; transition: var(--t);
}
.price-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); }
.price-card.popular {
  background: var(--c-primary); border-color: var(--c-primary);
  color: #fff; transform: scale(1.03);
}
.price-card.popular:hover { transform: scale(1.03) translateY(-5px); box-shadow: 0 24px 60px rgba(37,99,235,.4); }
.price-card.popular .price-feature { color: rgba(255,255,255,.7); }
.price-card.popular .price-feature .check { color: rgba(255,255,255,.9); }
.price-card.popular .muted-text { color: rgba(255,255,255,.65); }
.pop-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: .25rem .8rem; border-radius: 50px; white-space: nowrap;
}
.price-name   { font-size: 1.1rem; font-weight: 700; margin-bottom: .25rem; }
.price-amount { font-size: 2.75rem; font-weight: 900; letter-spacing: -.04em; line-height: 1; }
.price-period { font-size: .85rem; font-weight: 400; }
.price-feature { font-size: .875rem; padding: .4rem 0; border-bottom: 1px solid rgba(0,0,0,.06); display: flex; align-items: center; gap: .4rem; }
.price-feature:last-child { border-bottom: none; }
.price-card.popular .price-feature { border-bottom-color: rgba(255,255,255,.12); }
.check { color: var(--c-success); flex-shrink: 0; }
.cross { color: var(--c-gray-400); flex-shrink: 0; }
/* ── Página de aviso (/aviso.php) ───────────────────────────── */
.aviso-card { background: #fff; border: 1px solid var(--c-gray-200); border-radius: var(--radius-lg); padding: 2.5rem; box-shadow: var(--shadow); }
.aviso-card .section-title { font-size: 1.75rem; }
.aviso-card .section-sub  { font-size: .925rem; }
.aviso-ok {
  width: 56px; height: 56px; border-radius: 50%; margin: 0 auto 1.25rem;
  background: rgba(16,185,129,.12); color: var(--c-success);
  display: flex; align-items: center; justify-content: center; font-size: 1.75rem;
}
.aviso-form { margin-top: 1.5rem; }
.aviso-form .form-label { font-size: .8rem; font-weight: 600; color: var(--c-gray-600); margin-bottom: .35rem; }
.aviso-form .form-control:focus { border-color: var(--c-primary); box-shadow: 0 0 0 .2rem rgba(37,99,235,.15); }
.aviso-form .btn-price-primary { width: 100%; cursor: pointer; }
.aviso-error {
  background: rgba(239,68,68,.08); color: #b91c1c; border: 1px solid rgba(239,68,68,.2);
  border-radius: 10px; padding: .75rem 1rem; font-size: .875rem; margin-top: 1.25rem;
}
.aviso-legal { font-size: .78rem; color: var(--c-gray-400); text-align: center; margin: 1.25rem 0 0; }

/* Honeypot: fuera de la vista pero no display:none, que algunos bots lo saltan. */
.trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Precio anual: el ahorro se dice en euros, no en un porcentaje. */
.price-anual { font-size: .8rem; font-weight: 600; color: var(--c-success); margin: -.5rem 0 1.25rem; }
.price-card.popular .price-anual { color: #6ee7b7; }

/* El diseño web del paquete 3: no es software, así que no es una viñeta más. */
.price-regalo {
  display: flex; align-items: flex-start; gap: .4rem;
  font-size: .875rem; padding: .75rem 0 0; margin-top: .4rem;
  border-top: 1px solid rgba(0,0,0,.06);
}
.price-regalo em { display: block; font-style: normal; font-size: .8rem; color: var(--c-gray-600); margin-top: .1rem; }
.price-card.popular .price-regalo { border-top-color: rgba(255,255,255,.12); }
.price-card.popular .price-regalo em { color: rgba(255,255,255,.65); }

.btn-price-primary { display: block; width: 100%; text-align: center; background: var(--c-primary); color: #fff; font-weight: 700; padding: .85rem; border-radius: 10px; margin-top: 1.5rem; transition: var(--t); font-size: .925rem; }
.btn-price-primary:hover { background: var(--c-primary-dk); color: #fff; transform: translateY(-1px); }
.btn-price-white { display: block; width: 100%; text-align: center; background: #fff; color: var(--c-primary); font-weight: 700; padding: .85rem; border-radius: 10px; margin-top: 1.5rem; transition: var(--t); font-size: .925rem; }
.btn-price-white:hover { background: #f0f7ff; color: var(--c-primary); transform: translateY(-1px); }
.btn-price-outline { display: block; width: 100%; text-align: center; border: 1.5px solid var(--c-gray-200); color: var(--c-gray-600); font-weight: 700; padding: .85rem; border-radius: 10px; margin-top: 1.5rem; transition: var(--t); font-size: .925rem; }
.btn-price-outline:hover { border-color: var(--c-primary-lt); color: var(--c-primary); }

/* ── Integrations ───────────────────────────────────────────── */
.intg-card {
  background: #fff; border: 1px solid var(--c-gray-200); border-radius: var(--radius);
  padding: 1.5rem 1.25rem; text-align: center; transition: var(--t); height: 100%;
}
.intg-card:hover { border-color: #c7d7fe; box-shadow: var(--shadow); transform: translateY(-2px); }
.intg-icon { font-size: 2.25rem; margin-bottom: .75rem; display: block; }
.intg-card h4 { font-size: .9rem; font-weight: 700; margin: 0 0 .3rem; }
.intg-card p  { font-size: .8rem; color: var(--c-gray-600); margin: 0; }

/* ── Stats bar ──────────────────────────────────────────────── */
.stat-number { font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; letter-spacing: -.04em; color: var(--c-primary); }
.stat-label  { font-size: .9rem; color: var(--c-gray-600); }

/* ── FAQ ────────────────────────────────────────────────────── */
.faq-item { border: 1px solid var(--c-gray-200); border-radius: var(--radius); overflow: hidden; margin-bottom: .65rem; }
.faq-q {
  background: #fff; padding: 1.1rem 1.4rem; cursor: pointer; font-weight: 600;
  font-size: .95rem; display: flex; justify-content: space-between; align-items: center;
  gap: 1rem; user-select: none; transition: var(--t);
}
.faq-q:hover { background: var(--c-gray-50); }
.faq-q .fi { flex-shrink: 0; color: var(--c-gray-400); transition: transform .2s; font-size: 1.2rem; font-weight: 300; }
.faq-item.open .fi { transform: rotate(45deg); color: var(--c-primary); }
.faq-a {
  background: var(--c-gray-50); padding: 0 1.4rem;
  max-height: 0; overflow: hidden;
  transition: max-height .3s ease, padding .3s ease;
  font-size: .9rem; color: var(--c-gray-600); line-height: 1.7;
}
.faq-item.open .faq-a { max-height: 400px; padding: 1.1rem 1.4rem; }

/* ── CTA final ──────────────────────────────────────────────── */
.cta-final {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 55%, #2563eb 100%);
  color: #fff; padding: 100px 0; text-align: center; position: relative; overflow: hidden;
}
.cta-final::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 80% at 50% 50%, rgba(37,99,235,.35) 0%, transparent 70%);
}
.cta-final .inner { position: relative; }
.cta-final h2 { font-size: clamp(1.8rem, 4vw, 2.8rem); font-weight: 900; letter-spacing: -.03em; margin-bottom: 1rem; }
.cta-final p  { font-size: 1.1rem; color: rgba(255,255,255,.7); max-width: 480px; margin: 0 auto 2.5rem; }

/* ── Footer ─────────────────────────────────────────────────── */
.hd-footer {
  background: #0f172a; color: rgba(255,255,255,.45);
  padding: 60px 0 32px;
}
.hd-footer .ftr-logo img { height: 30px; object-fit: contain; filter: brightness(0) invert(1); opacity: .7; }
.hd-footer .ftr-tagline { font-size: .85rem; margin-top: .75rem; color: rgba(255,255,255,.35); max-width: 220px; }
/* h4 y no h5: los títulos de columna del pie eran <h5> y, como el contenido de
   las páginas legales termina en <h2>, el árbol de encabezados saltaba de h2 a
   h5 sin pasar por h4 y quien navega por encabezados con lector de pantalla lo
   oye como una estructura rota. El aspecto no cambia: el tamaño lo fija esta
   regla, no la etiqueta. Se deja h5 en el selector por si queda alguna página
   sin actualizar. */
.hd-footer h4,
.hd-footer h5 { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.3); margin-bottom: 1rem; }
.hd-footer a  { color: rgba(255,255,255,.45); font-size: .875rem; display: block; margin-bottom: .5rem; transition: var(--t); }
.hd-footer a:hover { color: rgba(255,255,255,.85); }
.ftr-divider { border: none; border-top: 1px solid rgba(255,255,255,.06); margin: 2.5rem 0 1.5rem; }
.ftr-bottom  { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem; font-size: .8rem; }
.ftr-legal a { display: inline; margin: 0 .75rem 0 0; font-size: .8rem; }

/* ── Mobile nav toggle ──────────────────────────────────────── */
.hd-nav-toggle { display: none; background: none; border: 1px solid rgba(255,255,255,.2); color: #fff; border-radius: 7px; padding: .4rem .7rem; cursor: pointer; font-size: 1rem; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 991px) {
  .hd-nav .nav-links { display: none; }
  .hd-nav-toggle { display: block; }
  .pm-sidebar { display: none; }
  .pm-stat-row { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 767px) {
  .section  { padding: 60px 0; }
  .hero { padding: 64px 0 52px; }
  .section-title { font-size: 1.85rem; }
  .price-card.popular { transform: scale(1); }
  .price-card.popular:hover { transform: translateY(-4px); }
  .ftr-bottom { flex-direction: column; text-align: center; }
}
@media (max-width: 575px) {
  .hero-mockup { display: none; }
  .hm-stats { flex-wrap: wrap; }
}

/* ═══════════════════════════════════════════════════════════
   MÓDULOS — catálogo desplegable
════════════════════════════════════════════════════════════ */
.modules-hero {
  max-width: 940px; margin: 0 auto 3.2rem; border-radius: var(--radius-lg);
  overflow: hidden; box-shadow: 0 24px 60px rgba(15,23,42,.16);
  border: 1px solid var(--c-gray-200); background: #fff;
}
.modules-hero img { display: block; width: 100%; height: auto; }
.modules-hero-cap { text-align: center; color: var(--c-gray-400); font-size: .82rem; margin: -2.4rem auto 3.2rem; }

.mod-group { max-width: 880px; margin: 0 auto 2.4rem; }
.mod-group-title {
  font-size: .78rem; text-transform: uppercase; letter-spacing: 1.6px;
  color: var(--c-primary); font-weight: 700; margin: 0 0 1rem .2rem;
}
.mod-item {
  border: 1px solid var(--c-gray-200); border-radius: var(--radius);
  background: #fff; margin-bottom: .7rem; overflow: hidden; transition: var(--t);
}
.mod-item.open { border-color: #bfdbfe; box-shadow: 0 10px 30px rgba(37,99,235,.10); }
.mod-head { display: flex; align-items: center; gap: .9rem; padding: 1rem 1.25rem; cursor: pointer; }
.mod-head:hover { background: var(--c-gray-50); }
.mod-ico {
  width: 40px; height: 40px; border-radius: 11px; background: var(--c-primary-lt);
  color: var(--c-primary); display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; flex-shrink: 0;
}
.mod-name { font-weight: 700; color: var(--c-dark); font-size: 1rem; }
.mod-tag { color: var(--c-gray-400); font-size: .82rem; margin-left: .4rem; display: none; }
.mod-plus { margin-left: auto; color: var(--c-gray-400); font-size: 1.5rem; font-weight: 300; line-height: 1; transition: transform .25s; }
.mod-item.open .mod-plus { transform: rotate(45deg); color: var(--c-primary); }
.mod-body { max-height: 0; overflow: hidden; transition: max-height .4s ease; padding: 0 1.25rem; }
.mod-item.open .mod-body { max-height: 1400px; padding-bottom: 1.5rem; }
.mod-body p { color: var(--c-gray-600); font-size: .93rem; line-height: 1.78; margin: 0 0 .85rem; }
.mod-body ul { margin: .3rem 0 .2rem; padding-left: 1.15rem; }
.mod-body li { color: var(--c-gray-600); font-size: .89rem; margin-bottom: .35rem; line-height: 1.6; }
.mod-body li strong { color: var(--c-gray-800); }
.mod-shot { width: 100%; border-radius: var(--radius); border: 1px solid var(--c-gray-200); margin: .3rem 0 1rem; background: #f8fafc; }
.mod-badge { display: inline-block; background: #ecfdf5; color: #15803d; font-size: .72rem; font-weight: 700; padding: .2rem .6rem; border-radius: 20px; margin-left: .5rem; vertical-align: middle; }
@media (min-width: 640px) { .mod-tag { display: inline; } }

/* ── Píldoras de municipio/provincia ──────────────────────────────────────
   Las de las páginas geográficas van sobre fondo claro, así que no pueden
   reutilizar .hero-pill (blanco sobre el hero oscuro: se volvería invisible). */
.geo-pill {
  display: inline-flex; align-items: center;
  padding: .4rem .85rem;
  font-size: .85rem; font-weight: 500;
  color: var(--c-gray-600);
  background: var(--c-gray-50);
  border: 1px solid var(--c-gray-200);
  border-radius: 999px;
  text-decoration: none;
  transition: var(--t);
}
.geo-pill:hover {
  color: var(--c-primary);
  background: var(--c-primary-lt);
  border-color: var(--c-primary-lt);
}

/* Índice de municipios de la página de provincia */
.geo-index a {
  display: block;
  padding: .25rem 0;
  font-size: .9rem;
  color: var(--c-gray-600);
  text-decoration: none;
  transition: var(--t);
}
.geo-index a:hover { color: var(--c-primary); }

/* ── Contacto ───────────────────────────────────────────────────
   Formulario + WhatsApp. Va ANTES del bloque .btn-wa a propósito: el
   botón grande de WhatsApp lleva las dos clases y el verde tiene que
   ganar por orden, así que aquí no se toca ni el fondo ni el color. */
.ct-wa {
  display: flex; align-items: center; gap: 1rem;
  margin-top: 2rem; padding: 1rem 1.35rem;
  border-radius: var(--radius); font-weight: 600;
  transition: var(--t);
}
.ct-wa:hover { transform: translateY(-1px); }
.ct-wa-ico { font-size: 1.7rem; line-height: 1; }
.ct-wa-txt { display: flex; flex-direction: column; line-height: 1.35; }
.ct-wa-txt strong { font-size: 1rem; }
.ct-wa-txt span { font-size: .82rem; opacity: .85; font-weight: 500; }

.ct-puntos { margin-top: 1.75rem; }
.ct-puntos li {
  display: flex; align-items: flex-start; gap: .6rem;
  font-size: .9rem; color: var(--c-gray-600); margin-bottom: .6rem;
}
.ct-puntos i { color: var(--c-primary); font-size: 1rem; line-height: 1.5; }
.ct-puntos a { color: var(--c-primary); font-weight: 500; }
.ct-puntos a:hover { text-decoration: underline; }

.ct-form {
  background: #fff; border: 1px solid var(--c-gray-200);
  border-radius: var(--radius-lg); padding: 2rem; box-shadow: var(--shadow);
}
.ct-label {
  display: block; font-size: .8rem; font-weight: 600;
  color: var(--c-gray-800); margin-bottom: .35rem;
}
.ct-input {
  width: 100%; padding: .7rem .9rem;
  border: 1px solid var(--c-gray-200); border-radius: 10px;
  font-family: var(--font); font-size: .92rem; color: var(--c-dark);
  background: var(--c-gray-50); transition: var(--t);
}
.ct-input::placeholder { color: var(--c-gray-400); }
.ct-input:focus {
  outline: none; background: #fff;
  border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}
textarea.ct-input { resize: vertical; min-height: 110px; }

.ct-check { display: flex; gap: .6rem; font-size: .85rem; color: var(--c-gray-600); cursor: pointer; }
.ct-check input { margin-top: .2rem; accent-color: var(--c-primary); width: 1rem; height: 1rem; flex: 0 0 auto; }
.ct-check a { color: var(--c-primary); font-weight: 500; }
.ct-check a:hover { text-decoration: underline; }

.ct-submit {
  width: 100%; padding: .9rem 1.5rem; border: 0; border-radius: 10px;
  background: var(--c-primary); color: #fff;
  font-family: var(--font); font-size: .95rem; font-weight: 600;
  cursor: pointer; transition: var(--t);
}
.ct-submit:hover { background: var(--c-primary-dk); transform: translateY(-1px); box-shadow: 0 8px 24px rgba(37,99,235,.28); }
.ct-submit:disabled { opacity: .6; cursor: default; transform: none; box-shadow: none; }

.ct-recaptcha { font-size: .72rem; color: var(--c-gray-400); margin: .85rem 0 0; text-align: center; }
.ct-recaptcha a { color: var(--c-gray-600); text-decoration: underline; }

/* La insignia flotante de reCAPTCHA se oculta: aparecería de golpe sobre el
   contenido en cuanto alguien toca el formulario, porque el script se carga
   entonces. Google lo admite expresamente a cambio de escribir su aviso legal
   junto al botón de enviar, que es lo que hay en .ct-recaptcha. Si ese aviso
   se quita, hay que devolver la insignia. */
.grecaptcha-badge { visibility: hidden; }

/* El campo trampa no se oculta con display:none: hay bots que se saltan lo
   que no se pinta. Se saca de la pantalla, que sí lo rellenan. */
.ct-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ct-ok, .ct-error { border-radius: var(--radius); padding: 1.15rem 1.35rem; }
.ct-ok {
  display: flex; gap: .9rem; align-items: flex-start;
  background: rgba(16,185,129,.08); border: 1px solid rgba(16,185,129,.3);
}
.ct-ok i { color: var(--c-success); font-size: 1.35rem; line-height: 1.3; }
.ct-ok strong { display: block; color: var(--c-gray-800); }
.ct-ok p { margin: .25rem 0 0; font-size: .9rem; color: var(--c-gray-600); }
.ct-error {
  background: rgba(239,68,68,.07); border: 1px solid rgba(239,68,68,.3);
  margin-bottom: 1.25rem; font-size: .9rem; color: #b91c1c;
}
.ct-error ul { list-style: disc; padding-left: 1.1rem; }
.ct-error li + li { margin-top: .25rem; }

@media (max-width: 575.98px) {
  .ct-form { padding: 1.35rem; }
}

/* ── Botones de WhatsApp ────────────────────────────────────────
   Modificador que se añade a cualquier botón (.btn-nav, .btn-hero-primary,
   .btn-price-*) para vestirlo con el verde y el icono de WhatsApp. Va al
   final del fichero a propósito: misma especificidad que las clases base,
   así que gana por orden y no hace falta !important. */
.btn-wa {
  background: #25d366;
  border-color: #25d366;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
}
.btn-wa:hover {
  background: #1da851;
  border-color: #1da851;
  color: #fff;
  box-shadow: 0 8px 24px rgba(37,211,102,.35);
}
.btn-wa .bi-whatsapp { font-size: 1.15em; line-height: 1; }

/* Los botones de precios son de ancho completo: se mantienen así al pasar
   de display:block a flex para poder centrar icono y texto juntos. */
.btn-price-outline.btn-wa,
.btn-price-white.btn-wa,
.btn-price-primary.btn-wa { display: flex; width: 100%; }

/* ── Cobertura desplegable del pie ──────────────────────────────
   Rejilla de provincias (y de municipios en las páginas geográficas)
   dentro de un <details> nativo: sin JS que mantener y con el contenido
   en el HTML aunque esté plegado, que es lo que se quiere para el
   enlazado interno. */
.ftr-geo { border-top: 1px solid rgba(255,255,255,.06); background: rgba(0,0,0,.18); }
.ftr-geo-box + .ftr-geo-box { border-top: 1px solid rgba(255,255,255,.06); }
.ftr-geo summary {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1.05rem 0; cursor: pointer; list-style: none;
  font-size: .85rem; font-weight: 600; color: rgba(255,255,255,.5); transition: var(--t);
}
.ftr-geo summary::-webkit-details-marker { display: none; }
.ftr-geo summary:hover { color: rgba(255,255,255,.85); }
.ftr-geo-plus { font-size: 1.15rem; line-height: 1; transition: transform .2s; }
.ftr-geo-box[open] .ftr-geo-plus { transform: rotate(45deg); }
.ftr-geo-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 0 1.5rem; padding: .25rem 0 1.5rem;
}
.ftr-geo-grid a { font-size: .8rem; color: rgba(255,255,255,.38); margin-bottom: .45rem; }
.ftr-geo-grid a:hover { color: rgba(255,255,255,.8); }
@media (max-width: 575.98px) {
  .ftr-geo-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}

/* ── Selector de idioma de la barra ─────────────────────────────
   <details> nativo, como el desplegable de cobertura del pie: sin
   dependencias y funciona aunque el JS no llegue. El único JS que lleva
   (en inc/footer.php) es cerrarlo al pulsar fuera, que <details> no hace
   solo y en una barra de navegacion se echa mucho de menos. */
.hd-lang { position: relative; }
.hd-lang > summary {
  display: inline-flex; align-items: center; gap: .35rem;
  border: 1px solid rgba(255,255,255,.2); border-radius: 8px;
  padding: .5rem .7rem; cursor: pointer; list-style: none;
  color: rgba(255,255,255,.75); font-size: .8rem; font-weight: 600;
  transition: var(--t);
}
.hd-lang > summary::-webkit-details-marker { display: none; }
.hd-lang > summary:hover,
.hd-lang[open] > summary { border-color: rgba(255,255,255,.5); color: #fff; }
.hd-lang > summary .bi-translate { font-size: .95rem; line-height: 1; }
.hd-lang-menu {
  position: absolute; right: 0; top: calc(100% + .5rem); z-index: 1100;
  min-width: 190px; padding: .4rem;
  background: #0f172a; border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px; box-shadow: 0 18px 40px rgba(0,0,0,.45);
}
.hd-lang-menu a {
  display: flex; align-items: center; gap: .6rem;
  padding: .5rem .65rem; border-radius: 8px;
  color: rgba(255,255,255,.72); font-size: .85rem; font-weight: 500;
  transition: var(--t);
}
.hd-lang-menu a:hover { background: rgba(255,255,255,.08); color: #fff; }
.hd-lang-menu a.on { color: #fff; background: rgba(255,255,255,.06); }
.hd-lang-cod {
  flex: 0 0 auto; min-width: 26px; text-align: center;
  font-size: .68rem; font-weight: 700; letter-spacing: .04em;
  padding: .15rem .3rem; border-radius: 5px;
  background: rgba(255,255,255,.1); color: rgba(255,255,255,.85);
}
.hd-lang-menu a.on .hd-lang-cod { background: var(--c-primary); color: #fff; }
@media (max-width: 400px) {
  /* En pantallas muy estrechas caben el logo, el idioma y WhatsApp, pero no
     el codigo de idioma escrito al lado del icono. */
  .hd-lang-cur { display: none; }
  .hd-lang > summary { padding: .5rem .55rem; }
}

/* ── Boton flotante de WhatsApp ─────────────────────────────────
   Presente en toda la web publica. Sin JS y sin peticiones: es un enlace.
   El z-index queda por debajo del banner de cookies (2147483000) y ademas
   se esconde mientras el banner esta en pantalla, para no apilar dos cosas
   en la misma esquina. Si el navegador no soporta :has(), lo peor que pasa
   es que el banner lo tape unos segundos. */
.hd-wa-float {
  position: fixed; right: 20px; bottom: 20px; z-index: 1200;
  display: inline-flex; align-items: center; gap: .55rem;
  padding: .85rem 1.25rem; border-radius: 999px;
  font-size: .9rem; font-weight: 600; line-height: 1;
  box-shadow: 0 10px 30px rgba(37,211,102,.4);
  transition: var(--t);
}
.hd-wa-float:hover { transform: translateY(-2px); }
.hd-wa-float .bi-whatsapp { font-size: 1.35rem; }
body:has(.hd-ck) .hd-wa-float { display: none; }
@media (max-width: 575.98px) {
  /* En movil, solo el icono: un boton circular molesta mucho menos sobre el
     contenido y sigue siendo un objetivo tactil de 56 px. */
  .hd-wa-float {
    right: 16px; bottom: 16px;
    width: 56px; height: 56px; padding: 0;
    justify-content: center; gap: 0;
  }
  .hd-wa-float-txt { display: none; }
  .hd-wa-float .bi-whatsapp { font-size: 1.6rem; }
}
@media (prefers-reduced-motion: reduce) {
  .hd-wa-float, .hd-wa-float:hover { transition: none; transform: none; }
}

/* ── La barra con el selector de idioma ─────────────────────────────────
   El selector suma unos 60 px a la derecha de la barra, y entre 992 px
   (donde aparecen los enlaces) y ~1400 px eso dejaba el menu sin holgura:
   «Como funciona» partia en dos lineas y «Contacto» quedaba pegado al
   selector. Se le da aire estrechando el hueco entre enlaces en ese tramo,
   en vez de esconder el menu antes: perder la navegacion en portatiles de
   1280 px seria peor que apretarla un poco. */
.hd-nav .nav-links { margin-right: 1.25rem; }
.hd-nav .nav-links a { white-space: nowrap; }
@media (min-width: 992px) and (max-width: 1399.98px) {
  .hd-nav .nav-links { gap: 1.35rem; margin-right: .9rem; }
  .hd-nav .nav-links a { font-size: .82rem; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  /* Lo primero que sobra a este ancho es «Acceder»: es el unico enlace de
     la barra que ya esta tambien en el pie.
     El limite es 1200 y no 1100 porque esta medido: entre 1100 y 1200 px la
     fila se pasaba 105 px del contenedor y el boton de WhatsApp salia
     cortado por la derecha. A partir de 1240 px caben los tres. */
  .hd-nav .btn-nav-ghost { display: none !important; }
}

/* El logotipo y el bloque de la derecha no deben encogerse: con
   justify-content:space-between y el menu de por medio, flex les robaba
   ancho y el logotipo salia aplastado y pegado a «Funciones». */
.hd-nav .logo { flex: 0 0 auto; margin-right: 1.75rem; }
.hd-nav .logo img { width: 150px; height: 34px; }
.hd-nav .d-flex.align-items-center.gap-2 { flex: 0 0 auto; }
@media (min-width: 992px) and (max-width: 1199.98px) {
  .hd-nav .logo { margin-right: 1.1rem; }
}


/* ── 5 · Bootstrap Icons, recortados y autoalojados ──────────────
   Era el último recurso que quedaba en un dominio ajeno. La fuente
   completa son 130 KB (2.000 iconos) y su CSS 86 KB; la web pública
   usa 43 iconos. Recortada con pyftsubset queda en 4,5 KB y las
   reglas en 1,7 KB, así que ya no compensaba ni pedirla fuera.

   ⚠ SI AÑADES UN ICONO `bi bi-loquesea` NUEVO, NO SE VERÁ hasta que
   se regenere el subconjunto: el glifo no está en la fuente. Cómo:

     1. Renderiza las páginas y saca los nombres:
        grep -ohE 'bi bi-[a-z0-9-]+' <html> | sed 's/bi bi-//' | sort -u > usados.txt
     2. Descarga bootstrap-icons.min.css y bootstrap-icons.woff2 de la
        misma versión (1.11.3) y ponlos junto a install/iconos-subset.py
     3. python install/iconos-subset.py     (mapea nombre → codepoint)
     4. python -m fontTools.subset bi.woff2 --unicodes-file=unicodes.txt           --flavor=woff2 --output-file=bootstrap-icons-subset.woff2           --layout-features='' --no-hinting --desubroutinize
     5. Sustituye assets/fonts/bootstrap-icons-subset.woff2 y el bloque
        de reglas de aquí abajo por el reglas.css que genera el script.

   `font-display: swap` y no el `block` que trae Bootstrap: la fuente
   son 4,5 KB del propio dominio, así que el parpadeo no existe en la
   práctica y así no penaliza en las auditorías.

   Iconos incluidos (43): arrow-left-right, bank, braces, buildings-fill, calendar3, check-circle-fill, check-lg, clock, code-slash, credit-card, diagram-3, envelope, envelope-paper, file-earmark-bar-graph, gear, geo-alt-fill, graph-up, graph-up-arrow, grid-1x2-fill, hourglass-split, house-door, journal-check, layers-fill, lightning-charge-fill, palette, palette2, people, person-check, person-vcard, play-circle, plug-fill, shield-check, shield-fill-check, shield-lock, star-half, stars, tag, tags, ticket-perforated, translate, wallet2, whatsapp, window-stack */
@font-face {
  font-family: bootstrap-icons;
  font-display: swap;
  font-weight: 400;
  font-style: normal;
  src: url(assets/fonts/bootstrap-icons-subset.woff2) format("woff2");
}
.bi::before, [class*=" bi-"]::before, [class^=bi-]::before {
  display: inline-block;
  font-family: bootstrap-icons !important;
  font-style: normal;
  font-weight: 400 !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.bi-arrow-left-right::before{content:"\f12b"}
.bi-bank::before{content:"\f62e"}
.bi-braces::before{content:"\f1c9"}
.bi-buildings-fill::before{content:"\f87c"}
.bi-calendar3::before{content:"\f214"}
.bi-check-circle-fill::before{content:"\f26a"}
.bi-check-lg::before{content:"\f633"}
.bi-clock::before{content:"\f293"}
.bi-code-slash::before{content:"\f2c6"}
.bi-credit-card::before{content:"\f2dc"}
.bi-diagram-3::before{content:"\f2ee"}
.bi-envelope::before{content:"\f32f"}
.bi-envelope-paper::before{content:"\f73d"}
.bi-file-earmark-bar-graph::before{content:"\f35a"}
.bi-gear::before{content:"\f3e5"}
.bi-geo-alt-fill::before{content:"\f3e7"}
.bi-graph-up::before{content:"\f3f2"}
.bi-graph-up-arrow::before{content:"\f673"}
.bi-grid-1x2-fill::before{content:"\f3f3"}
.bi-hourglass-split::before{content:"\f41f"}
.bi-house-door::before{content:"\f423"}
.bi-journal-check::before{content:"\f43e"}
.bi-layers-fill::before{content:"\f459"}
.bi-lightning-charge-fill::before{content:"\f46c"}
.bi-palette::before{content:"\f4b1"}
.bi-palette2::before{content:"\f4b2"}
.bi-people::before{content:"\f4d0"}
.bi-person-check::before{content:"\f4d6"}
.bi-person-vcard::before{content:"\f8c9"}
.bi-play-circle::before{content:"\f4f3"}
.bi-plug-fill::before{content:"\f4f6"}
.bi-shield-check::before{content:"\f52f"}
.bi-shield-fill-check::before{content:"\f531"}
.bi-shield-lock::before{content:"\f538"}
.bi-star-half::before{content:"\f587"}
.bi-stars::before{content:"\f589"}
.bi-tag::before{content:"\f5b0"}
.bi-tags::before{content:"\f5b2"}
.bi-ticket-perforated::before{content:"\f6ca"}
.bi-translate::before{content:"\f658"}
.bi-wallet2::before{content:"\f615"}
.bi-whatsapp::before{content:"\f618"}
.bi-window-stack::before{content:"\f6d2"}
