/*Generales*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');

@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");

body {
    padding-top: 120px;

}

/*Header*/

.header-container {
    background-color: #fffffc;
    padding-left: 40px;
    padding-right: 40px;
    box-shadow: 0px 8px 12px 6px rgba(88, 87, 87, 0.30), 0px 4px 16px 0px rgba(88, 87, 87, 0.12);
    padding-top: 24px;
    padding-bottom: 24px;

}

header .active {
    color: #863B1A !important;
    font-weight: bold !important;
}

a.nav-link {
    padding: 24px 24px !important;
    color: #863B1A !important;
    font-family: 'Nunito Sans', serif !important;

}

/*NAV*/
.navbar-toggler .navbar-toggler-icon {
    display: none;
}

.navbar-toggler span {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 15px;
    color: #863B1A;
    font-weight: 400;
}

/* Estilo general del dropdown */
.custom-dropdown {
    background: #fffffc !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 16px 0 rgba(88, 87, 87, 0.12), 0 8px 12px 6px rgba(88, 87, 87, 0.10) !important;
    border: none !important;
    min-width: 320px;
    padding: 16px 0;
    top: 100% !important;
    /* justo debajo de la nav */
    left: 0;
    z-index: 1050;
}

/* Estilo de cada item */

.custom-dropdown .dropdown-item {
    background: transparent !important;
    color: #863B1A !important;
    font-family: 'Nunito Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 400;
    padding: 4px 16px;
    border-radius: 0 8px 8px 0 !important;
    transition: background 0.2s, font-weight 0.2s;
    margin-bottom: 8px;
    text-decoration: none !important;
}

/* Último item sin margen inferior extra */
.custom-dropdown .dropdown-item:last-child {
    margin-bottom: 0;
}

.dropdown-toggle::after {
    display: none !important;
}

/* Hover: fondo igual, fuente bold */
.custom-dropdown .dropdown-item:hover,
.custom-dropdown .dropdown-item:focus {
    background: #fffffc !important;
    font-weight: 700 !important;
    color: #863B1A !important;
    text-decoration: none;
    box-shadow: 0 2px 8px 0 rgba(88, 87, 87, 0.10);
    border-radius: 0 8px 8px 0 !important;
}

/* Quita el subrayado */
.custom-dropdown .dropdown-item {
    text-decoration: none !important;
}

/*Banner*/

.banner-background {
    background-image: url('../imagenes/banner-home.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    backdrop-filter: opacity(80%);
    height: 535px;
    margin-top: 16px;
    margin-bottom: 8px;
    margin-left: 8px;
    border-radius: 8px 0 0 8px;
    box-shadow: 0 2px 8px 0 rgba(88, 87, 87, 0.10);
}

.banner-text {
    background-color: #fffffc;
    padding: 24px;
    border-radius: 0px 8px 8px 0;
    color: #0e3958;
}

.banner-text h6 {
    font-family: 'Nunito Sans', serif;
    font-weight: 300;
    font-size: 12px;
    line-height: 130%;
    font-style: normal;
    color: #0e3958;
    margin: 0;
}

.banner-text .badge {
    background-color: #f7ede3;
    border-radius: 100px;
    padding: 0 8px;
}

.banner-text h1 {
    font-family: 'Cormorant Garamond';
    font-weight: 700;
    font-size: 48px;
    line-height: 120%;
    letter-spacing: -0.9px;
    font-style: normal;
    padding-bottom: 24px;
    padding-top: 24px;
}

.banner-text p {
    font-family: 'Cormorant Garamond';
    font-weight: 400;
    font-size: 26px;
    line-height: 130%;
    letter-spacing: -0.2px;
    font-style: italic;
    padding-bottom: 24px;
}

.banner-text a {
    text-decoration: none;
    background-color: #0e3958;
    color: #fffffc;
    padding: 8px 24px;
    border-radius: 8px;
    font-family: 'Nunito Sans', serif;
    font-size: 15px;
    transition: color 0.2s;

}

.banner-text a:hover {
    background-color: #244b73;
    box-shadow: 0px 1px 2px 0px rgba(36, 75, 115, 0.30), 0px 2px 6px 2px rgba(36, 75, 115, 0.12);
}

/*Conoce mas*/

.conoce-mas {
    background-color: #fffffc;
    padding: 24px;
}

.conoce-mas .titulo-conoce-mas {
    color: #070e46;
    text-align: center;
    margin-bottom: 40px;

}

.conoce-mas h2 {
    font-family: 'Cormorant Garamond';
    font-weight: bold;
    font-size: 45px;
    line-height: 130%;
    letter-spacing: -0.9px;
    font-style: normal;
}

.conoce-mas-text h2 {
    padding: 24px 24px 0 24px;
}



.conoce-mas-text {
    background-color: #585757;
    color: #fffffc;
    border-radius: 16px;

}

.conoce-mas-text h4 {
    font-family: 'Cormorant Garamond';
    font-weight: 400;
    font-size: 26px;
    line-height: 130%;
    letter-spacing: -0.2px;
    font-style: italic;
    padding: 24px;
}

.conoce-mas-text p {
    font-family: 'nunito sans', serif;
    font-weight: 300;
    font-size: 15px;
    line-height: 130%;
    letter-spacing: -0.2px;
    font-style: normal;
    padding: 0 24px 24px 24px;
}

.conoce-mas-imagen img {
    width: 100%;
    border-radius: 16px;
}


/*Conoce nuestro proceso*/

.conoce-proceso {
    background-color: #f7ede3;
    border-radius: 8px;
    padding: 24px;
}

.conoce-proceso img {
    padding-bottom: 24px;
}

.conoce-proceso h2 {
    font-family: 'Cormorant Garamond';
    font-weight: bold;
    font-size: 45px;
    line-height: 130%;
    letter-spacing: -0.9px;
    font-style: normal;
    color: #2e2d2d;
    padding-bottom: 16px;
}

.conoce-proceso h4 {
    font-family: 'Cormorant Garamond';
    font-weight: 400;
    font-size: 22px;
    line-height: 130%;
    letter-spacing: -0.2px;
    font-style: italic;
    color: #21272a;
    padding-bottom: 16px;
}

.conoce-proceso p {
    font-family: 'Nunito Sans', serif;
    font-weight: 300;
    font-size: 15px;
    line-height: 130%;
    letter-spacing: -0.2px;
    font-style: normal;
    color: #21272a;
    padding-bottom: 16px;
}

.boton-contacto {
    text-align: right;

}

.btn-contacto {
    color: #0e3958;
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.3rem;
    font-style: italic;
    font-weight: bold;
    text-decoration: none;
    background: none;
    border: none;
    padding: 0;
    transition: color 0.2s;
}

.btn-contacto:hover {
    color: #477091;
    text-decoration: underline;
}

/*Footer*/

footer {
    background-color: #585757;
    color: #fffffc;
    padding: 24px;
    margin-top: 32px;
}

footer i {
    color: #fffffc !important;
}

footer p{
    font-family: 'nunito sans', serif;
    color: #fffffc;
    font-weight: 300;
    font-size: 15px;
    line-height: 130%;
    letter-spacing: -0.2px;
    font-style: normal;
    padding: 16px;

}

/*Servicios personas banner*/

.banner-background-personas {
    background-image: url('../imagenes/banner-servicios-personas.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    backdrop-filter: opacity(80%);
    height: 535px;
    margin-top: 16px;
    margin-bottom: 0px;
    margin-left: 8px;
    border-radius: 8px 0 0 8px;
    box-shadow: 0 2px 8px 0 rgba(88, 87, 87, 0.10);
}

/*Servicios para personas*/

.servicios-personas {
    background-color: #fffffc;
    padding: 8px;

}


.servicios-personas h2 {
    font-family: 'Cormorant Garamond';
    font-weight: 700;
    font-size: 45px;
    line-height: 130%;
    letter-spacing: -0.9px;
    font-style: normal;
}



.servicios-personas h6 {
    font-family: 'Cormorant Garamond';
    font-weight: 300;
    font-size: 26px;
    line-height: 130%;
    font-style: normal;
    padding-top: 24px;

}

.servicios-personas p {
    font-family: 'nunito sans';
    font-weight: 300;
    font-size: 15px;
    line-height: 130%;
    letter-spacing: -0.2px;
    font-style: normal;
    padding-bottom: 24px;

}


.serv1 {
    background-color: #477091;
    border-radius: 16px;
    color: #fffffc;
}

.serv2 {
    background-color: #0e3958;
    border-radius: 16px;
    color: #fffffc;
}

.serv3 {
    background-color: #244b73;
    border-radius: 16px;
    color: #fffffc;
}

.servicios-personas img {
    border-radius: 16px !important;
}




/*Banner servicios empresas*/

.banner-background-empresas {
    background-image: url('../imagenes/banner-servicios-empresas.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    backdrop-filter: opacity(80%);
    height: 535px;
    margin-top: 16px;
    margin-bottom: 16px;
    margin-left: 8px;
    border-radius: 8px 0 0 8px;
    box-shadow: 0 2px 8px 0 rgba(88, 87, 87, 0.10);
}

/*Body servicios empresas*/


/*tab*/
.tab-servicios li {
    font-family: 'Cormorant Garamond' !important;
   
    font-size: 37px !important;
    font-style: normal;
    font-weight: 600;
    line-height: 130%;
}

.tab-servicios li:hover {
    color: #477091;
}

.nav-underline .nav-link.active{
    color:#244B73;
}

.nav-underline .nav-link{
    color:#2e2d2d;
}

.nav-underline .nav-link.hover{
    color:#477091 !important;
}


/*fin tab*/

.consultoria h6 {
    font-family: 'Cormorant Garamond' !important;
    font-size: 22px;
    font-style: italic;
    color: #21272a;
    font-weight: 400;
    line-height: 130%;
}

.consultoria h2 {
    font-family: 'Cormorant Garamond' !important;
    color: #21272a;
    font-size: 45px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    letter-spacing: -0.9px;
}

.consultoria p {
    font-family: 'nunito sans', serif;
    color: #21272a;
    font-weight: 300;
    font-size: 15px;
    line-height: 130%;
    letter-spacing: -0.2px;
    font-style: normal;

}

.otros-titulo h2 {
    font-family: 'Cormorant Garamond' !important;
    color: #21272a;
    font-size: 45px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    letter-spacing: -0.9px;
}

.otros-titulo p {
    font-family: 'nunito sans';
    color: #21272a;
    font-weight: 300;
    font-size: 15px;
    line-height: 130%;
    letter-spacing: -0.2px;
    font-style: normal;
}

/*restauracion*/

.restauracion h2 {
    font-family: 'Cormorant Garamond' !important;
    color: #21272a;
    font-size: 45px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    letter-spacing: -0.9px;
}

.restauracion h6 {
    font-family: 'Cormorant Garamond' !important;
    font-size: 22px;
    font-style: italic;
    color: #21272a;
    font-weight: 400;
    line-height: 130%;
}

.restauracion p {
    font-family: 'nunito sans', serif;
    color: #21272a;
    font-weight: 300;
    font-size: 15px;
    line-height: 130%;
    letter-spacing: -0.2px;
    font-style: normal;

}

.boton-restauracion a {
    font-family: 'nunito sans', serif !important;
    text-decoration: none;
    background-color: #0e3958;
    color: #fffffc;
    padding: 8px 24px;
    border-radius: 8px;
    font-family: 'Nunito Sans', serif;
    font-size: 15px;
    
}

.boton-restauracion a:hover {
    background-color: #244b73;
    box-shadow: 0px 1px 2px 0px rgba(36, 75, 115, 0.30), 0px 2px 6px 2px rgba(36, 75, 115, 0.12);
    color: #fffffc !important;
}

.boton-restauracion img {
    color: #fffffc;
}

/*mantenimiento*/
.mantenimiento h2 {
    font-family: 'Cormorant Garamond' !important;
    color: #21272a;
    font-size: 45px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    letter-spacing: -0.9px;
}

.mantenimiento h6 {
    font-family: 'Cormorant Garamond' !important;
    font-size: 22px;
    font-style: italic;
    color: #21272a;
    font-weight: 400;
    line-height: 130%;
}

.mantenimiento p {
    font-family: 'nunito sans', serif;
    color: #21272a;
    font-weight: 300;
    font-size: 15px;
    line-height: 130%;
    letter-spacing: -0.2px;
    font-style: normal;

}


/*card*/

.card {
    border-radius: 16px;
    box-shadow: 0px 8px 12px 6px rgba(71, 112, 145, 0.08), 0px 4px 16px 0px rgba(71, 112, 145, 0.12);
    color: #21272a;

}

.card h6 {
    font-family: 'nunito sans' !important;
    font-size: 11px;
    font-style: italic;
    font-weight: 350;
    line-height: 130%;
}

.card h5 {
    font-family: 'Cormorant Garamond' !important;
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    line-height: 130%;
    letter-spacing: -0.74px;
}

.card img {
    border-radius: 16px 16px 0px 0px;
}
 
.card-text{
    font-family: 'nunito sans', serif;
    color: #21272a;
    font-weight: 300;
    font-size: 15px;
    line-height: 130%;
    letter-spacing: -0.2px;
    font-style: normal;
}

/*Banner portafolio*/

.banner-background-portafolio {
    background-image: url('../imagenes/banner-portafolio.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    backdrop-filter: opacity(80%);
    height: 535px;
    margin-top: 16px;
    margin-bottom: 16px;
    margin-left: 8px;
    border-radius: 8px 0 0 8px;
    box-shadow: 0 2px 8px 0 rgba(88, 87, 87, 0.10);
}

/*Body portafolio*/

.portafolio-title h2 {
    font-family: 'Cormorant Garamond';
    font-weight: 700;
    font-size: 48px;
    line-height: 120%;
    letter-spacing: -0.9px;
    font-style: normal;
    padding-bottom: 24px;
    color: #2e2d2d;

}


/*Quienes somos*/

.filosofia-somos {
    background-color: #f7ede3;
    color: #244C74;
}

.filosofia-somos h6 {
    font-family: 'Cormorant Garamond';
    font-weight: 300;
    font-size: 18px;
    line-height: 130%;
    font-style: italic;
    padding-top: 80px;
}

.filosofia-somos h1 {
    font-family: 'Cormorant Garamond';
    font-weight: 700;
    font-size: 45px;
    line-height: 130%;
    font-style: normal;
    padding-top: 8px;
    padding-bottom: 48px;
    padding-left: 16px;
    padding-right: 16px;
    word-break: break-word;

}

.filosofia-somos img {
    max-width: 140px;
    padding-bottom: 80px;
}

.nuestro-equipo h6 {
    font-family: 'Cormorant Garamond';
    font-weight: 400;
    font-size: 22px;
    line-height: 130%;
    font-style: italic;
    padding-bottom: 8px;
    color: #001D6C;
}


.nuestro-equipo h2 {
    font-family: 'Cormorant Garamond';
    font-weight: 700;
    font-size: 45px;
    line-height: 130%;
    font-style: normal;
    padding-bottom: 8px;
    color: #2e2d2d;
    letter-spacing: -0.9px;
}

.nuestro-equipo h3 {
    font-family: 'Cormorant Garamond';
    font-weight: 600;
    font-size: 37px;
    line-height: 130%;
    font-style: normal;
    padding-bottom: 8px;
    color: #2e2d2d;
    letter-spacing: -0.74px;
}

.nuestro-equipo p {
    font-family: 'Nunito Sans', serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%;
}



.descargar {
    text-decoration: none;
    background-color: #0e3958;
    color: #fffffc;
    padding: 8px 24px;
    border-radius: 8px;
    font-family: 'Nunito Sans', serif;
    font-size: 15px;
    transition: color 0.2s;
}

.descargar:hover {
    background-color: #244b73;
    box-shadow: 0px 1px 2px 0px rgba(36, 75, 115, 0.30), 0px 2px 6px 2px rgba(36, 75, 115, 0.12);
}


/* Prevenir cualquier desbordamiento lateral */
.filosofia-somos,
.nuestro-equipo {
  overflow-x: hidden;
  overflow-y: hidden;
}



/*contacto*/

.accordion-item {
    border-radius: 4px !important;
    color: #477091 !important;
    background-color: #fffffc !important;
    border: solid 1px #477091 !important;
}

.accordion-header {
    font-family: 'Cormorant Garamond', serif;
    font-size: 26px;
    font-style: italic;
    font-weight: 400;
    line-height: 130%;

}

.accordion-body p {
    font-family: 'Nunito Sans', serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%;
}

.contacto {
    color: #21272a;
}

.contacto h1 {
    font-family: 'Cormorant Garamond';
    font-weight: 700;
    font-size: 45px;
    line-height: 130%;
    font-style: normal;
    padding-top: 8px;
    padding-bottom: 48px;
    padding-left: 16px;
    padding-right: 16px;
}

.contacto h2 {
    font-family: 'Cormorant Garamond';
    font-weight: 600;
    font-size: 37px;
    line-height: 130%;
    font-style: normal;
}

.contacto h6 {
    font-family: 'Cormorant Garamond';
    font-weight: 400;
    font-size: 22px;
    line-height: 130%;
    font-style: italic;
    padding-bottom: 8px;
    color: #001D6C !important;
}

.contacto p, li {
    font-family: 'Nunito Sans', serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 300;
    line-height: 130%;
}

.contacto a {
    text-decoration: none;
    background-color: #0e3958;
    color: #fffffc;
    padding: 8px 24px;
    border-radius: 8px;
    font-family: 'Nunito Sans', serif;
    font-size: 15px;
    transition: color 0.2s;
}

.contacto a:hover {
    background-color: #244b73;
    box-shadow: 0px 1px 2px 0px rgba(36, 75, 115, 0.30), 0px 2px 6px 2px rgba(36, 75, 115, 0.12);

}








/*media queries banners*/

@media (max-width: 950px) {
    .banner-background {
        display: flex !important;
        align-items: flex-end !important;
        min-height: 800px;
        overflow: hidden;
        background-size: cover;
        background-position: center -275px;
        background-repeat: no-repeat;
        margin-left:  0px !important;
        margin-top: 16px !important;
        background-image: url(../imagenes/banner-home-xs.webp);
    }

    .banner-background-personas {
        display: flex !important;
        align-items: flex-end !important;
        min-height: 600px;
        overflow: hidden;
        background-size: cover;
        background-position: center -200px;
        background-repeat: no-repeat;
        margin-left:  0px !important;
        margin-top: 16px !important;
        background-image: url(../imagenes/banner-servicios-personas-xs.webp);
        
    }

    .banner-text {
        width: 100%;
    }

    .banner-background-empresas {
        display: flex !important;
        align-items: flex-end !important;
        min-height: 600px;
        overflow: hidden;
        background-size: cover;
        background-position: center -200px;
        background-repeat: no-repeat;
        margin-left:  0px !important;
        margin-top: 16px !important;
        background-image: url(../imagenes/banner-serv-empresas-xs.webp);
    }

    .banner-background-portafolio {
        display: flex !important;
        align-items: flex-end !important;
        max-height: 500px;
        overflow: hidden;
        background-size: cover;
        background-position: Center -200px;
        background-repeat: no-repeat;
        margin-left:  0px !important;
        margin-top: 16px !important;
        background-image: url(../imagenes/banner-portafolio-xs.webp);

    }

    .tab-servicios li{
        font-family: 'Cormorant Garamond' !important;
        color: #2e2d2d !important;
        font-size: 20px !important;
        font-style: normal;
        font-weight: 700;
        line-height: 130%;
    }



    .filosofia-somos h1 {
        font-family: 'Cormorant Garamond';
        font-weight: 700;
        font-size: 36px;
        line-height: 130%;
        font-style: normal;
        padding-top: 8px;
        padding-bottom: 24px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .filosofia-somos img {
        max-width: 70px;
        padding-bottom: 40px;
    }

    .body-sxmos, .body-contacto, body{
        padding-top: 80px !important;
    }

    body{
        padding-top: 98px !important;
    }
}

@media (max-width: 950px) {
    .banner-link {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding: 12px 16px;
        border-radius: 8px;
        background: #163047;
        color: #fff;
        text-align: center;
        font-family: 'Nunito Sans', sans-serif;
        font-size: 15px;
        font-weight: 600;
        text-decoration: none;
        margin-top: 16px;
    }

    .navbar-brand img{
        max-height: 24px;
    }
}


@media (max-width: 950px) {
    .banner-text h1 {
        font-size: 32px;
        line-height: 130%;
        padding-bottom: 8px !important;
    }

    .banner-text p {
        font-size: 24px;
        line-height: 100%;
        padding-bottom: 8px;
    }

    .banner-text{
        padding: 16px;
    }

}

/*media banner*/

@media (max-width: 1180px) and (min-width: 950px) {
  .banner-text h1 {
    font-size: 40px;
    line-height: 100%;
  }

  .banner-text p {
    font-size: 24px;
    line-height: 130%;
  }
}


@media (max-width: 950px) {
.tab-content h2{
    font-size: 40px;
}

.nuestro-equipo h2{
    font-size: 40px;
}

}



@media (min-width: 745px) {
    .conoce-mas .row {
        align-items: stretch !important;
    }

    .conoce-mas h2{
        font-size: 32px;

    }

    .conoce-mas-text,
    .conoce-mas-img {
        height: auto !important;
        display: flex;
        flex-direction: column;
        display: block;

    }
}

@media (max-width: 744px) {

    .conoce-mas-text,
    .conoce-mas-img {
        width: 100% !important;
        margin-bottom: 24px;
        height: auto !important;
        display: block;
    }

    .conoce-mas-img {
        margin-bottom: 0;
    }


}



/*media queries conoce proceso*/


@media (max-width: 992px) {


    .conoce-proceso h2 {
        font-size: 32px;
    }
}

/*media queries servicios personas*/
@media (min-width: 768px) and (max-width: 991.98px) {
    .servicios-personas .equal-height {
        display: flex;
        flex-wrap: wrap;
    }

    .servicios-personas .equal-height>.col-md-6 {
        display: flex;
        flex-direction: column;
    }

    .servicios-personas .equal-height img {
        height: 100%;
        object-fit: cover;
    }
}


