:root{
  --verde:rgba(130,195,66,1);--verde7:rgba(130,195,66,0.7);--verde5:rgba(130,195,66,0.5);--verde3:rgba(130,195,66,0.3);--verde2:rgba(130,195,66,0.2); --verde1:rgba(130,195,66,0.1); 
  --amarillo:rgba(254, 189, 59,1);--amarillo5:rgba(254, 189, 59,0.5);--amarillo3:rgba(254, 189, 59,0.3);--amarillo2:rgba(254, 189, 59,0.2);
  --rojo:rgba(239,58,66,1);--rojo7:rgba(239,58,66,0.7);--rojo5:rgba(239,58,66,0.5);--rojo3:rgba(239,58,66,0.3);--rojo2:rgba(239,58,66,0.2);
  --rojo_emc2:rgb(255, 77, 79);
  --naranja:rgba(230, 111, 31,1);--naranja7:rgba(230, 111, 31,0.7);--naranja5:rgba(230, 111, 31,0.5);--naranja3:rgba(230, 111, 31,0.3);--naranja2:rgba(230, 111, 31,0.2);
  --naranja_emc2:rgb(250, 173, 20);
  --azul:rgba(4,36,71,1);--azul8:rgba(4,36,71,0.8);--azul5:rgba(4,36,71,0.5);--azul3:rgba(4,36,71,0.3);--azul2:rgba(4,36,71,0.2);
  --azul-piedra:rgb(44, 62, 80);
  --azul-emc:rgba(30, 83, 161,1);/*#1e53a1*/--azul-emc8:rgba(30, 83, 161,0.8);--azul-emc5:rgba(30, 83, 161,0.5);--azul-emc3:rgba(30, 83, 161,0.3);--azul-emc2:rgba(30, 83, 161,0.2);--azul-emc1:rgba(30, 83, 161,0.1);
  --celeste:rgba(13,110,253,1);--celeste8:rgba(13,110,253,0.8);--celeste5:rgba(13,110,253,0.5);--celeste3:rgba(13,110,253,0.3);--celeste2:rgba(13,110,253,0.2);--celeste1:rgba(13,110,253,0.1);
  --turquesa:rgba(15,152,160,1);--turquesa8:rgba(15,152,160,0.8);--turquesa5:rgba(15,152,160,0.5);--turquesa3:rgba(15,152,160,0.3);--turquesa2:rgba(15,152,160,0.2);
  --lila:rgba(165,119,155,1);--lila7:rgba(165,119,155,0.7);--lila5:rgba(165,119,155,0.5);--lila3:rgba(165,119,155,0.3);--lila2:rgba(165,119,155,0.2);
  --rosa:rgba(208,196,197,1);--rosa7:rgba(208,196,197,0.7);--rosa5:rgba(208,196,197,0.5);--rosa3:rgba(208,196,197,0.3);--rosa2:rgba(208,196,197,0.2);
  --amarillov:rgba(255,244,106,1);--amarillov7:rgba(255,244,106,0.7);--amarillov5:rgba(255,244,106,0.5);--amarillov3:rgba(255,244,106,0.3);--amarillov2:rgba(255,244,106,0.2);
  --amarillo_emc2:rgb(255,229,194);
  --cafe:rgba(164,126,105,1);--cafe7:rgba(164,126,105,0.7);--cafe5:rgba(164,126,105,0.5);--cafe3:rgba(164,126,105,0.3);--cafe2:rgba(164,126,105,0.2);
  --azule:rgba(139,211,230,1);--azule7:rgba(139,211,230,0.7);--azule5:rgba(139,211,230,0.5);--azule3:rgba(139,211,230,0.3);--azule2:rgba(139,211,230,0.2);
  --celeste_emc2:rgb(76, 175, 239);
  --salvia:rgba(120,190,32,1);--salvia7:rgba(120,190,32,0.7);--salvia5:rgba(120,190,32,0.5);--salvia3:rgba(120,190,32,0.3);--salvia2:rgba(120,190,32,0.2);
  --gris:rgba(201,197,200,1);--gris5:rgba(201,197,200,0.5);--gris3:rgba(201,197,200,0.3);--gris2:rgba(201,197,200,0.2);
  --gris-oscuro:rgba(52,47,46,1);--gris-oscuro5:rgba(52,47,46,0.5);--gris-oscuro3:rgba(52,47,46,0.3);--gris-oscuro2:rgba(52,47,46,0.2);
  --carbon:rgba(30, 30, 30, 1);
  --rosado_emc2:rgb(255, 209, 209);
  --texto:rgba(36, 71, 92,1);
  --text:rgba(65, 65, 65, 1);
  --blanco:rgba(255,255,255,1);--blanco3:rgba(255,255,255,0.3);--blanco5:rgba(255,255,255,0.5);--blanco7:rgba(255,255,255,0.7);
  --negro:rgba(0,0,0,1);--negro1:rgba(0,0,0,0.15);--negro3:rgba(0,0,0,0.3);--negro5:rgba(0,0,0,0.5);--negro7:rgba(0,0,0,0.7);
  --verde-act:rgb(95, 184, 144);
  --naranjo-act:rgb(234, 172, 108);
  --login:rgba(104,112,113,1);--login8:rgba(104,112,113,0.8);--login5:rgba(104,112,113,0.5);
  --btmenucolor:rgba(94,96,99,1);
  --tit-head:rgba(236,236,236,1);/* rgba(241, 243, 246,1)*/
  --panel:rgb(229, 229, 230);
  --top-car:rgb(117, 154, 201);  
  --body-car:rgb(137, 180, 241);
  --top-car-verde:rgb(76, 144, 68);  
  --body-car-verde:rgb(154, 219, 183);
  --top-car-naranja:rgb(237, 110, 37);  
  --body-car-naranja:rgb(255, 177, 88);  
  
  --shadow:var(--negro3) 0px 5px 10px;
  --shadow-6:var(--negro3) 0px 2px 8px 0px;
  --shadow-bt:0 1px 3px 0 var(--negro3), 0 2px 10px 0 var(--negro1);
  --shadow-bt-verde:0 1px 3px 0 var(--top-car-verde), 0 2px 10px 0 var(--negro1);
  --shadow-bt-naranja:0 1px 3px 0 var(--naranja3), 0 2px 10px 0 var(--negro1);
  --shadow-in:inset 0 1px 3px var(--negro7);
  --shadow-card:0 2px 8px rgba(0,0,0,.05);

}

@font-face { font-family:"InterTight"; src: url("/web2/css/InterTight-VariableFont_wght.woff2") format('truetype'); font-weight: normal;  font-style: normal; font-display: swap; }
@font-face { font-family:"Oswald"; src: url("/web2/css/Oswald-VariableFont_wght.woff2") format('truetype'); font-weight: normal;  font-style: normal; font-display: swap; }

body {margin:0;direction: ltr; color: rgb(60,72,88);font-family:"InterTight","Oswald","Helvetica","Arial","sans-serif";background-color:rgba(255, 255, 255,1);font-size:1.2rem;line-height: 1.42857143;-webkit-font-smoothing: antialiased;overflow-x:hidden;}
html{margin:0;padding:0;}
a{text-decoration: none;}
img {height: auto;}
.sombra{box-shadow: 0 3px 5px 0 rgba(0,0,0,.26), 0 3px 10px 0 rgba(0,0,0,.22) !important;}
.ml-2{margin-left: 1vw;}.mr-2{margin-right:1vw;}
.no{display: none !important;}
/*****************************************************************************/
.contenedor-principal{width:calc(98.25vw);overflow: auto;}
.nav {padding-left: 0;list-style: none;}
.nav>li>a {position: relative;display: block;padding: 10px 15px;}
.nav>li>.bta {position: relative;display: block;padding: 10px 15px;}
.navbar .title-logo-wrapper {max-width: 250px;display: flex;align-items: center;float: left;}
.navbar
{
    background-color: rgba(255, 255, 255,1);color: rgba(85, 85, 85,1);border-radius: 0;position: fixed;border: none;padding: 0;transition: none;min-height: 50px;min-height: 50px;
    -webkit-box-shadow: 0 1px 10px -6px rgb(0 0 0 / 42%), 0 1px 10px 0 rgb(0 0 0 / 12%), 0 4px 5px -2px rgb(0 0 0 / 10%);box-shadow: 0 1px 10px -6px rgb(0 0 0 / 42%), 0 1px 10px 0 rgb(0 0 0 / 12%), 0 4px 5px -2px rgb(0 0 0 / 10%);
}
.navbar:before{content: " ";display: table;}
.navbar a {font-size: 1.25vw;}
.navbar .bta {font-size: 1.25vw;}
.navbar .container {display: flex;flex-direction: row;transition: padding .1s ease;padding: 10px 15px;vertical-align: middle;align-items: center;margin-right: auto;  margin-left: auto;  width:100%;max-width:100%;}
.navbar .navbar-collapse {margin-left: auto;max-width: fit-content;width: auto;margin-right: 0px;}
.navbar .navbar-nav {display: flex;flex-wrap: wrap;justify-content: flex-end;list-style-type: none; margin: 0 1vw 0 auto;}
.navbar .navbar-nav>li{display:flex;}
.navbar .navbar-nav>li a {padding: 0.5vw 1vw; margin: auto;border-radius:0.25vw;color: inherit;text-transform: uppercase;font-weight: 400;cursor: pointer;}
.navbar .navbar-nav>li a.contacto{background-color: var(--azul);color: var(--blanco);}
.navbar .navbar-nav>li .bta{padding: 0.5vw 1vw; margin: auto;border-radius:0.25vw;color: inherit;text-transform: uppercase;font-weight: 400;cursor: pointer;}
.navbar .navbar-nav>li .bta.sel,.navbar .navbar-nav>li a.sel{border-bottom:solid 2px var(--naranja);}
.navbar .navbar-brand {padding: 0 15px;position: relative;color: inherit;height: auto;}
.navbar .navbar-brand img {width: auto;max-height:90px;display: block;}
.navbar-fixed-top {top: 0;border-width: 0 0 1px;right: 0;left: 0;z-index: 1030;height:4.5rem}

.centro-espaciado{position: relative;background:var(--blanco);width:98.25vw;}
.centro-container{margin: auto;word-wrap: break-word;}
/* ============================================================
   MENÚ MÓVIL - CORREGIDO CON !important Y ESPECIFICIDAD
   ============================================================ */

/* Botón hamburguesa */
.navbar-toggler {
    display: none !important;
    background: none !important;
    border: none !important;
    font-size: 2rem !important;
    cursor: pointer !important;
    color: var(--azul, #042447) !important;
    padding: 0.5rem 1rem !important;
    margin-left: auto !important;
    z-index: 1050 !important;
    background: white !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}

.navbar-toggler-icon {
    display: block !important;
    line-height: 1 !important;
}

/* Menú por defecto en desktop */
.navbar .navbar-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    list-style-type: none !important;
    margin: 0 1vw 0 auto !important;
    align-items: center !important;
}

/* ============================================================
   MÓVIL (hasta 768px)
   ============================================================ */
@media (max-width: 768px) {

    /* Mostrar botón hamburguesa */
    .navbar-toggler {
        display: block !important;
    }

    /* Ocultar menú por defecto en móvil (con alta especificidad) */
    .navbar .navbar-nav {
        display: none !important;  /* ← OCULTO */
        flex-direction: column !important;
        width: 100% !important;
        background: white !important;
        padding: 1rem 0 !important;
        margin: 0 !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        box-shadow: 0 8px 16px rgba(0,0,0,0.2) !important;
        z-index: 1040 !important;
        border-top: 2px solid var(--naranja, #e66f1f) !important;
    }

    /* Mostrar menú cuando tiene clase 'active' */
    .navbar .navbar-nav.active {
        display: flex !important;  /* ← MOSTRAR */
    }

    /* Estilos de los elementos en móvil */
    .navbar .navbar-nav li {
        width: 100% !important;
        text-align: center !important;
        padding: 0.25rem 0 !important;
        margin: 0 !important;
    }

    .navbar .navbar-nav .bta,
    .navbar .navbar-nav a {
        font-size: 1.2rem !important;
        padding: 0.8rem 1rem !important;
        display: block !important;
        width: 100% !important;
        border-radius: 0 !important;
        margin: 0 !important;
        color: var(--azul, #042447) !important;
    }

    .navbar .navbar-nav .bta.sel {
        border-bottom: none !important;
        background: var(--naranja, #e66f1f) !important;
        color: white !important;
    }

    .navbar .navbar-nav a.contacto {
        background: var(--azul, #042447) !important;
        color: white !important;
        border-radius: 0.5rem !important;
        margin: 0.5rem auto !important;
        width: 80% !important;
    }

    /* Ajustes del navbar en móvil */
    .navbar .container {
        flex-wrap: wrap !important;
        padding: 0.5rem 1rem !important;
        position: relative !important;
    }

    .navbar .title-logo-wrapper {
        max-width: 180px !important;
    }

    .navbar .navbar-brand img {
        max-height: 50px !important;
    }

    .navbar-fixed-top {
        height: auto !important;
        min-height: 60px !important;
    }
}
.slider-container .el-Slide .text{font-size:2vw !important; text-align: left !important;}
.slider-container .el-Slide .text i{color: #e66f1f; text-decoration: none;font-style: normal;}
/*****************  modulo 1 **************************/
.modulo1{display: flex;justify-content: space-between;align-items: center; margin:-5vw auto 1vw auto;left:0;right:0; z-index: 7; position:absolute; width: 87%; background-color: var(--panel);border-radius:0.8vw;}
.modulo1 .servs{display: flex;flex-direction: column;gap: 1vw;padding: 0vw 1vw;margin: 1vw auto;align-items: center;height:10vw;width: 22vw;overflow: hidden;}
.modulo1 .servs-sep{background-color:var(--naranja);width:0.2vw;height:8vw;}
.modulo1 .servs img{height:auto;width:5vw;margin:0.25vw auto;}
.modulo1 .servs .textserv{font-size:0.8vw;max-width: 72%;text-align: center;}
/*****************  modulo 2 **************************/
.modulo2{background-color:var(--azul);color:var(--blanco);padding:2vw;position: relative;border-bottom:solid 0.5vw var(--naranja);}
.modulo2 .nosotros{margin:10vw auto 2vw;display: flex;flex-direction: column;width:88%;}
.modulo2 .nosotros .tit{margin: auto;display: flex;flex-direction: column;}
.modulo2 .nosotros .tit .tit-text{font-size:2.5vw;font-weight: bold;margin: auto;width:auto;text-align: center;}
.modulo2 .nosotros .tit .lineb{width: 80%;background-color: var(--naranja);height:0.25vw;margin: auto;}
.modulo2 .nosotros .conte-nos{display: flex;margin-top:2vw;font-size:1.25vw;}
.modulo2 .nosotros .conte-nos .left{display:flex;width:75%;padding:2vw;align-items: center;text-align: justify;margin-right:2vw;}
.modulo2 .nosotros .conte-nos .right{display:grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap:0.5vw;}
.modulo2 .nosotros .conte-nos .right .nos-det{padding:0 0.25vw;display: flex;}
.modulo2 .nosotros .conte-nos .right .nos-det .nos-in{padding:0 1vw;display:block;}
.modulo2 .nosotros .conte-nos .right .nos-det .nos-sep{width:0.12vw;height:65%;background-color:var(--blanco);margin: auto;}
.modulo2 .nosotros .conte-nos .right .nos-det.nos-det-r .nos-sep{background-color: transparent;}
.modulo2 .nosotros .conte-nos .right .nos-hr{grid-column: 1 / -1;height:0.15vw;background-color: var(--blanco);margin: 0.75vw auto;  width: 80%;}
.modulo2 .nosotros .conte-nos .right .nos-det .nos-in .nos-det-sup{display: flex;font-size:1vw;}
.modulo2 .nosotros .conte-nos .right .nos-det .nos-in .nos-det-sup img{width:3.5vw;height: auto;margin:0.5vw;}
.modulo2 .nosotros .conte-nos .right .nos-det .nos-in .nos-det-sup .textnos{font-size:1.65vw;margin: auto;text-align: center;}
.modulo2 .nosotros .conte-nos .right .nos-det .nos-in .nos-det-inf{font-size:0.9vw;margin: auto;padding:0.5vw;text-justify: auto;}
/*****************  modulo 3 **************************/
.modulo3{display: flex;background-color:var(--gris3);color:var(--azul);padding:1vw 10vw;position: relative;align-items: center;}
.modulo3 .impulso-text{width:60%; text-align: center;}
.modulo3 .impulso-img {width:40%;}
.modulo3 .impulso-img img{width:25vw;height: auto;}
/*****************  modulo sep modulo3 **************************/
.sep3-1{background-color:var(--azul);display: flex;align-items: center;width:50%;height:0.25vw;margin: auto;}
.sep3-2{background-color:var(--naranja);display: flex;align-items: center;width:50%;height:0.25vw;margin: auto;}

/*****************  modulo 4 **************************/
.modulo4{display:flex;flex-direction: column;padding:1vw 1vw;position: relative;align-items: center;color:var(--azul);}
.modulo4 .tit{margin:2vw auto;display: flex;flex-direction: column;width: 35vw;}
.modulo4 .tit .tit-text{font-size:2.5vw;font-weight: bold;margin: auto;width:auto;text-align: center;}
.modulo4 .tit .lineb{width: 80%;background-color: var(--naranja);height:0.25vw;margin: auto;}
.modulo4 .conte-proyect{display: flex;width: 90%;color:var(--azul);}
.modulo4 .proyect-det-left{width:80%;display: flex;flex-direction: column;}
.modulo4 .proyect-det-left .proyect-det-sup{display: flex;margin-bottom:1.2vw;}
.modulo4 .proyect-det-left .proyect-det-sup .proyect-det-img{display: flex;overflow:hidden;}
.modulo4 .proyect-det-left .proyect-det-sup .proyect-det-img img{display:block;width: 4vw;}
.modulo4 .proyect-det-left .proyect-det-sup .proyect-det-text{display: flex;font-size: 1.2rem;align-items: center;margin-left:1vw;font-weight: bold;}
.modulo4 .proyect-det-left .proyect-det-galimg{display:grid;grid-template-columns: repeat(3, minmax(0, 1fr));  gap: 2.5vw;}
.modulo4 .proyect-det-left .proyect-det-galimg .proyect-det-galimg-img{display: flex;}
.modulo4 .proyect-det-left .proyect-det-galimg .proyect-det-galimg-img img{display:block;width:18vw;margin: auto;}
.modulo4 .proyect-det-right{width:40%;display: flex;flex-direction: column;margin:0.25vw 1.25vw;padding: 1vw 2vw;}
.modulo4 .proyect-det-right .sep-1{background-color:var(--azul);display: flex;align-items: center;width:90%;height:0.15vw;margin:1vw auto;}
.modulo4 .proyect-det-right .proyect-det-rightsup{display: flex;flex-direction: column;}
.modulo4 .proyect-det-right .proyect-det-rightsup .titu{font-weight: bold;margin-bottom:1.1vw;}
.modulo4 .proyect-det-right .proyect-det-rightsup .suptext{text-align: justify;height:12vw;}
.modulo4 .proyect-det-right .proyect-det-rightinf{display: flex;}
.modulo4 .proyect-det-right .proyect-det-rightinf .proyect-det-rightinf-img{display: flex;flex-direction: column;overflow:hidden;}
.modulo4 .proyect-det-right .proyect-det-rightinf .proyect-det-rightinf-img img{width:4vw;display:block;}
.modulo4 .proyect-det-right .proyect-det-rightinf .proyect-det-rightinf-text{display: flex;font-size: 1.2vw; align-items: center;margin-left:1vw;}
.modulo4 .proyect-dots{display: flex;align-items: center;}
.modulo4 .proyect-dots i{width:1vw;height:1vw;margin:0.5vw 1.5vw;cursor: pointer;border-radius: 50%; background-color:var(--azul);}
.modulo4 .proyect-dots i:hover{width:1.25vw;height:1.25vw;}
.modulo4 .proyect-dots i.sel{width:1.25vw;height:1.25vw;background-color:var(--naranja);}
/*****************  modulo 5 **************************/
.modulo5{display:flex;padding:0vw;position: relative;background-color:var(--gris5);}
.modulo5 .hablanos-left{display: flex;flex-direction:column;width:55%;padding:1vw 2vw;}
.modulo5 .hablanos-left .conte{margin:auto 0.5vw auto auto;width:76%;}
.modulo5 .hablanos-left .tit{margin:0vw 0vw 2vw;display: flex;flex-direction: column;width: 35vw;}
.modulo5 .hablanos-left .tit .tit-text{font-size:2.1vw;font-weight: bold;width:auto;}
.modulo5 .hablanos-left .tit .lineb{width: 80%;background-color: var(--naranja);height:0.25vw;}
.modulo5 .hablanos-left .conte .hablanos-left-text{font-size:1.6w;}
.modulo5 .hablanos-left .btn{margin-top:2vw;padding:0.8vw 1.2vw;border-radius:0.6vw;background-color:var(--azul);color:var(--blanco);width:20vw;text-align: center;}
.modulo5 .hablanos-left .btn a{color: var(--blanco); text-decoration: none;}
.modulo5 .hablanos-right{display: flex;width:45%;padding:0;}
.modulo5 .hablanos-right img{width:100%;}
/*****************  modulo 6 **************************/
.modulo6{display:block;padding:0vw;position: relative;background-color:var(--blanco);margin-bottom: 2vw;}
.modulo6 .tit{margin:2vw auto;display: flex;flex-direction: column;width:48vw;justify-content: center;}
.modulo6 .tit .tit-text{font-size:2.1vw;font-weight: bold;width:auto;margin: auto;}
.modulo6 .tit .lineb{width: 80%;background-color: var(--naranja);height:0.25vw;margin: auto;}
.modulo6 .block-grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr)); gap:1.5vw;margin:auto;width:90%;}
.modulo6 .block-grid .empresas-logo{margin:auto;padding:1.1vw;border-radius:0.65vw;overflow: hidden;height: 10vw; box-shadow: var(--shadow-6);position: relative;}
.modulo6 .block-grid .empresas-logo img{width:14vw;height:100%;object-fit: cover;}
.modulo6 .block-grid .empresas-logo .sep-1{background-color:var(--naranja);width:95%;height:0.2vw;position:absolute;left:0;right:0;margin: auto;bottom: 0.2vw;}
/*****************  modulo 7 **************************/
/******************************************************/
.pie-web{mix-blend-mode: normal;position: relative;width: 100%;height:25vw;display: flex;flex-direction: column;background-color:var(--azul);}
.pie-web .pie-titu{display:flex;font-size:2vw;margin:3vw 3vw;color:var(--blanco);}
.pie-web .pie-contac{display: flex;}
.pie-web .pie-contac .pie-opciones{display: flex;font-size:1vw;height:10vw;overflow: visible;}
.pie-web .pie-contac .pie-opciones .pie-sep{width:0.25vw;height:70%;background-color:var(--naranja);margin: auto;}
.pie-web .pie-contac .pie-opciones a{color: var(--blanco);text-decoration: none;margin: 0.5vw 2vw;padding: 1vw 2vw;}
.pie-web .pie-contac .pie-opciones .pie-opciones-sup{display: flex;flex-direction: column;}
.pie-web .pie-contac .pie-opciones .pie-opciones-sup .sup{display: flex;align-items: center;}
.pie-web .pie-contac .pie-opciones .pie-opciones-sup .sup img{width:3.5vw;}
.pie-web .pie-contac .pie-opciones .pie-opciones-sup .sup .sup-text{text-align: center;color: var(--blanco);margin-left:1vw;}
.pie-web .pie-contac .pie-opciones .pie-opciones-sup .text{text-align: center;color: var(--blanco);margin-top:1vw;}
.pie-web .pie-contac .pie-logo{display: flex;position: absolute;right:1vw;top:4vw;}
.pie-web .pie-contac .pie-logo img{width:20vw;}
.pie-web .pie-derechos{display:flex;color:var(--texto);font-size:1vw;padding-left:1vw;background: var(--blanco5);justify-content: center;margin-top:auto;}
.pie-web .pie-derechos a{color:var(--texto); text-decoration: none;}
/******************************************************************************/
@media only screen and (max-device-width : 668px) {
  .navbar-fixed-top{width:100vw!important;}
  .navbar .container{background: rgba(250, 250, 250,1)!important;padding:0px;}

  .navbar .navbar-collapse {margin-left: auto;max-width: fit-content;width: auto;margin-right: 0px;}
  .navbar .navbar-nav {display: flex;flex-wrap: wrap;justify-content: flex-end;flex-direction: row;}
  .navbar .navbar-nav>li a {padding: 0.5rem;border-radius: 3px;color: inherit;text-transform: uppercase;font-weight: 400;}
  .navbar .navbar-brand {padding: 0 15px;position: relative;color: inherit;height: auto;}
  .navbar .navbar-brand img {width: auto;max-height:76px;display: block;}

  .slider-visor{height:43vw !important;}
  .el-Slide .text{left:20vw !important; right: 20vw !important; font-size:1rem !important;}
  .prev, .next{font-size:1.2rem !important;}
 
}
/* ==================== MÓVIL (hasta 768px) ==================== */
@media (max-width: 768px) {
    /* Ajustes generales */
    body {
        font-size: 1rem;
    }

    .contenedor-principal {
        width: 100vw;
        overflow-x: hidden;
    }
.slider-container{margin-top: 8vh;}
.slider-container .el-Slide{height: auto !important;}
    /* Módulo 1: Servicios (4 columnas → 2 columnas) */
    .modulo1 {
        flex-wrap: wrap;
        justify-content: center;
        margin: 2vw auto 2vw auto;
        position: relative;
        width: 95%;
        border-radius: 1.5vw;
        padding: 1rem 0;
    }

    .modulo1 .servs {
        width: 40%;
        height: auto;
        padding: 1rem;
        margin: 0.5rem auto;
    }

    .modulo1 .servs img {
        width: 15vw;
    }

    .modulo1 .servs .textserv {
        font-size: 0.9rem;
        max-width: 100%;
    }

    .modulo1 .servs-sep {
        display: none; /* Ocultar separadores en móvil */
    }

    /* Módulo 2: Nosotros */
    .modulo2 .nosotros .conte-nos {
        flex-direction: column;
    }
.modulo2 .nosotros .conte-nos .right .nos-det .nos-in .nos-det-sup img{width:12vw;}
.modulo2 .nosotros .conte-nos .right .nos-det .nos-in{text-align: center;width:90%;}
    .modulo2 .nosotros .conte-nos .left {
        width: 100%;
        padding: 1rem;
        font-size: 1rem;
        margin-right: 0;
    }

    .modulo2 .nosotros .conte-nos .right {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .modulo2 .nosotros .conte-nos .right .nos-hr {
        display: none;
    }

    .modulo2 .nosotros .conte-nos .right .nos-det {
        border-bottom: 1px solid var(--blanco3);
        padding: 0.8rem 0;
        justify-content: center;
    }

    .modulo2 .nosotros .conte-nos .right .nos-det:last-child {
        border-bottom: none;
    }

    .modulo2 .nosotros .conte-nos .right .nos-det .nos-sep {
        display: none;
    }

    .modulo2 .nosotros .conte-nos .right .nos-det .nos-in .nos-det-sup .textnos {
        font-size: 1.2rem;
    }

    .modulo2 .nosotros .conte-nos .right .nos-det .nos-in .nos-det-inf {
        font-size: 0.8rem;
    }

    .modulo2 .nosotros .tit .tit-text {
        font-size: 2rem;
    }

    /* Módulo 3: Impulso */
    .modulo3 {
        flex-direction: column;
        padding: 2rem;
    }

    .modulo3 .impulso-text {
        width: 100%;
        text-align: center;
        font-size: 1rem;
    }

    .modulo3 .impulso-img {
        width: 100%;
        text-align: center;
        margin-top: 1rem;
    }

    .modulo3 .impulso-img img {
        width: 60vw;
    }

    /* Módulo 4: Proyectos */
    .modulo4 .tit {
        width: 80%;
    }

    .modulo4 .tit .tit-text {
        font-size: 1.8rem;
    }

    .modulo4 .conte-proyect {
        flex-direction: column;
    }

    .modulo4 .proyect-det-left {
        width: 100%;
    }

    .modulo4 .proyect-det-left .proyect-det-sup {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .modulo4 .proyect-det-left .proyect-det-sup .proyect-det-text {
        font-size: 1rem;
        margin-left: 0;
        margin-top: 0.5rem;
    }

    .modulo4 .proyect-det-left .proyect-det-galimg {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.5rem;
    }

    .modulo4 .proyect-det-left .proyect-det-galimg .proyect-det-galimg-img img {
        width: 100%;
    }

    .modulo4 .proyect-det-right {
        width: 100%;
        padding: 1rem;
        margin: 1rem 0;
    }

    .modulo4 .proyect-det-right .proyect-det-rightsup .titu {
        font-size: 1rem;
    }

    .modulo4 .proyect-det-right .proyect-det-rightsup .suptext {
        font-size: 0.9rem; height: 30vw;
    }

    .modulo4 .proyect-det-right .proyect-det-rightinf .proyect-det-rightinf-text {
        font-size: 0.9rem;
    }

    .modulo4 .proyect-dots i {
        width: 2vw;
        height: 2vw;
        margin: 0.5rem 1rem;
    }

    /* Módulo 5: Llamada a la acción */
    .modulo5 {
        flex-direction: column;
    }

    .modulo5 .hablanos-left {
        width: 100%;
        padding: 2rem 1rem;
    }

    .modulo5 .hablanos-left .conte {
        width: 100%;
        margin: auto;
        text-align: center;
    }

    .modulo5 .hablanos-left .tit {
        width: 100%;
        align-items: center;
    }

    .modulo5 .hablanos-left .tit .tit-text {
        font-size: 1.8rem;
        text-align: center;
    }

    .modulo5 .hablanos-left .tit .lineb {
        width: 60%;
    }

    .modulo5 .hablanos-left .btn {
        width: 80%;
        margin: 1rem auto;
        padding: 0.8rem;
        font-size: 1rem;
    }

    .modulo5 .hablanos-right {
        width: 100%;
    }

    /* Módulo 6: Empresas */
    .modulo6 .block-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
        width: 95%;
    }

    .modulo6 .block-grid .empresas-logo {
        height: auto;
        padding: 1rem;
    }

    .modulo6 .block-grid .empresas-logo img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .modulo6 .tit .tit-text {
        font-size: 1.8rem;
    }

    /* Footer */
    .pie-web {
        height: auto;
        padding: 2rem 1rem 0;
    }

    .pie-web .pie-titu {
        font-size: 1.8rem;
        margin: 1rem 0;
        text-align: center;
        justify-content: center;
    }

    .pie-web .pie-contac .pie-opciones {
        flex-direction: column;
        width: 100%;
        height: auto;
        gap: 1rem;
        font-size: 1rem;
    }

    .pie-web .pie-contac .pie-opciones .pie-sep {
        display: none;
    }

    .pie-web .pie-contac .pie-opciones a {
        margin: 0.5rem 0;
        padding: 0.5rem;
        text-align: center;
    }

    .pie-web .pie-contac .pie-opciones .pie-opciones-sup .sup {
        justify-content: center;
    }

    .pie-web .pie-contac .pie-opciones .pie-opciones-sup .sup img {
        width: 12vw;
    }

    .pie-web .pie-contac {
        flex-direction: column;
    }

    .pie-web .pie-contac .pie-logo {
        position: static;
        justify-content: center;
        margin: 1.5rem auto 0.5rem;
    }

    .pie-web .pie-contac .pie-logo img {
        width: 30vw;
    }

    .pie-web .pie-derechos {
        font-size: 0.8rem;
        padding: 0.5rem;
        text-align: center;
        margin-top: 1rem;
    }

    /* Slider */
    .slider-visor {
        height:42vw !important;
    }

    .el-Slide .text {
        font-size: 1rem !important;
        left: 0 !important;
        text-align: left !important;
        top: 28% !important;
    }

    .el-Slide .text2 {
        font-size: 1.2rem !important;
        left: 0 !important;
        text-align: left !important;
        top:45% !important;
    }
}

/* ==================== TABLET (769px - 1024px) ==================== */
@media (min-width: 769px) and (max-width: 1024px) {
    .modulo1 .servs .textserv {
        font-size: 1rem;
    }

    .modulo2 .nosotros .conte-nos .right {
        grid-template-columns: repeat(2, 1fr);
    }

    .modulo2 .nosotros .conte-nos .right .nos-hr {
        display: none;
    }

    .modulo2 .nosotros .conte-nos .right .nos-det .nos-sep {
        display: none;
    }

    .modulo2 .nosotros .conte-nos .right .nos-det {
        border-bottom: 1px solid var(--blanco3);
        padding: 0.8rem 0;
    }

    .modulo4 .proyect-det-left .proyect-det-galimg .proyect-det-galimg-img img {
        width: 100%;
    }

    .modulo6 .block-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
/*
Pantallas pequeñas (usadas por ejemplo en netbooks): 1024 x 600
Pantallas medianas: 1280 x 720 / 1280 x 800
Pantallas grandes: ancho superior a 1400 píxeles, ejemplo 1400 x 900 o 1600 x 1200.*/