:root {
    --blog-margin-main: 80px;
    --menu-bg-color: #FFFFFF;
    --corporative-pages-bg-color: #000000;
    --shop-bg-color: #D2DDC5;
    --services-bg-color: #D6D7D8;
    --logo-color: #FFFFFF;
    --secondary-color: #EFEFEF;
    --margin-main: 10%;
    --slogan-presentation-font-size: 4.25vw;
    --slogan-small-font-size: 2.2vw;
    --course-secondary-font-size: 1rem;
}

/*Resetea los valores por defecto de navegador.*/

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

*, html {

    /*scroll-behavior: smooth !important;*/
}

/*
::-webkit-scrollbar {
  width: 5px;
}

::-webkit-scrollbar-track {
  background: var(--secondary-color);
}

::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: #777;
}

/* SCROLL EN FIREFOX */
/*
::-webkit-scrollbar-track-piece {
    background: var(--secondary-color);
}

::-webkit-scrollbar-thumb:vertical {
    background: #999;
    border-radius: 5px;
}

::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}
*/

body {
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    /*background-color: var(--corporative-pages-bg-color);*/
}

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,200;1,200&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;1,300&display=swap');
@font-face {
    font-family: "Canela Thin Italic";
    src: url("../fonts/Canela-ThinItalic-Web.woff");
}
@font-face {
    font-family: "Canela Thin";
    src: url("../fonts/Canela-Thin-Web.woff");
}
@font-face {
    font-family: "Poppins SemiBold";
    src: url("../fonts/Poppins-SemiBold.ttf");
}
@font-face {
    font-family: "Poppins Light";
    src: url("../fonts/Poppins-Light.ttf");
}
@font-face {
    font-family: "Montserrat";
    src: url("../fonts/Montserrat-Regular.ttf");
}
@font-face {
    font-family: "Newsreader Italic";
    src: url("../fonts/Newsreader-Italic.ttf");
}
@font-face {
    font-family: "DM Sans";
    src: url("../fonts/DMSans.ttf");
}

.desktop {
    display: block;
}

.mobile {
    display: none;
}



.menu__mobile {
    display: none !important;
}
.menu__desktop {
    display: flex !important;
}

.nav__btn--lang a{
    opacity:0.5;
    position:relative;
    float:left;
}

.nav__btn__sep--lang {
    opacity:0.5;
    float:left;
}
.nav__btn--lang{
    color:inherit;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 14px;
}

.selected__idiom{
    opacity:1 !important;
}



.selected__option{
    opacity:0.5 !important;
}


canvas{
    max-width: 100vw !important;
    will-change: transform, opacity;
}

.colorRojo{color:red;}

input, button, a, ul li a, .list-title, .close,
.hamburger-menu, .hover-green-effect, .gallery-item-img-container,
.menu-item-level-1, .menu-item-level-2, .add-pointer {
    cursor: pointer;
}

input,
textarea,
button,
select,
a,
div {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}

a {
    text-decoration: none;
    color: white;
}



.enlace-light {
    text-decoration: none;
    color: #000000;
}


p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 18px;
    line-height: 30px;
    color: var(--logo-color);
    margin-bottom: 7px;
}


.section-grey p {
    color: #000000;
}

ul {
    padding-left:20px;
}

li {
    /*margin-bottom: 10px;*/
}

input, textarea {
    font-family: 'Poppins Light', sans-serif;
}

textarea {
    resize: none;
}

input:focus {
    outline: none;
}

input[type='checkbox'] {
}

input[type='radio'] {
    /*margin-left: 0.15rem;*/
    width: 1.2rem;
    height: 1.2rem;
}


textarea:focus {
    outline: none;
}

button:focus {
    outline: none;
}

/*Checkboxes styles*/
input[type="checkbox"] { display: none; }

input[type="checkbox"] + label {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 20px;
    font: 1rem 'Poppins Light', Arial, sans-serif;
    color: var(--logo-color);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

input[type="checkbox"] + label:last-child { margin-bottom: 0; }

input[type="checkbox"] + label:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border: 1px solid rgb(51, 51, 51, 0.3);
    position: absolute;
    left: 0;
    top: 0;
    -webkit-transition: all .12s, border-color .08s;
    transition: all .12s, border-color .08s;
}

input[type="checkbox"]:checked + label:before {
    width: 10px;
    top: -5px;
    left: 5px;
    border-radius: 0;
    opacity: 1;
    border-top-color: transparent;
    border-left-color: transparent;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*----------ESTILO DE COMBOS------------------*/
/* Reset Select */
select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 12px 24px 12px 12px;
    border: solid 1px #000;
    background-color: #ffffff;
    background-image: url(../imagenes/flecha-select.svg); 
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: calc(100% - 12px) center;
    cursor: pointer;
    font-family: 'Montserrat';
    font-size: 16px;
    font-weight: normal;
    outline: none;
    float: left;
    margin-right: 15px;
    min-width: 130px;
}


/* For IE10 */
select::-ms-expand {
    display: none;
}


.gallery__filter-radio, .radio-personalizado {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 12px 24px 12px 24px;
    border: solid 1px #000;
    background-color: #ffffff;
    cursor: pointer;
    font-family: 'Montserrat';
    font-size: 16px;
    font-weight: normal;
    outline: none;
    float: left;
    margin-right: 15px;
}


.form-item-contact select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 15px 24px 15px 15px;
    border: none;
    background-color: #f0f0f0;
    background-image: url(../imagenes/flecha-select-contact.svg); 
    background-size: 10px;
    background-repeat: no-repeat;
    background-position: calc(100% - 12px) center;
    cursor: pointer;
    font-family: 'Montserrat';
    font-size: 16px;
    font-weight: normal;
    outline: none;
    float: left;
    margin-right: 15px;
    margin-bottom: 10px;
    color: #777;  
    position: relative;
    width: 100%;
    cursor:text;
}

.form-item-contact input, .form-item-contact textarea{
    padding: 15px;
    font-family: 'Montserrat';
    width: 100%;
    position: relative;
    border: none;
    background: #f0f0f0;
    color: #000;
    font-size: 16px;
    cursor:text;

}

.form-item-contact input[type="checkbox"]{
    display:block;  
    float: left;
    position: relative;
    width: auto;
    margin-right: 10px;
    margin-top: 3px;
}

.errorFormularioContacto {
    color: #ff0000;
    display: none;
    width: 100%;
    float: left;
    position: relative;
    margin-top: 25px;
    margin-bottom: 25px;  
    color: red !important;
    font-family: 'Montserrat';
}

/* For IE10 */
.form-item-contact select::-ms-expand {
    display: none;
}

.form-btn{
    width: 100%;
    background-color: #000;
    border: 1px solid #000000;
    color: #ffffff !important;
    padding: 15px;
    font-family: 'Montserrat';
    font-size: 16px;
}


.form-btn:hover {
    animation: hoverfootF 1.5s forwards;
}
.form-btn:not(:hover) {
    animation: leavefootF 1.5s forwards;
}
.form-btn:hover,
.form-btn:focus{
    border-color: #000000;
    color:#000000 !important;
}

.form-btn:hover::after{
    border-color: #000000;
    color:#000000 !important;
}

.form-btn:hover img,
.form-btn:focus img{
    transition: all 1s ease !important;
    filter: invert(1);
}

@keyframes hoverfootF {
    from {
        box-shadow: inset 0 0 0 0.01px #ffffff;
    }
    to {
        box-shadow: inset 1000px 0 0 0.01px #ffffff;
        border-color: #000000;
        color:#000000 !important;
        color: #ffffff;
    }
}

@keyframes leavefootF {
    from {
        box-shadow: inset -1000px 0 0 0.01px #ffffff;
        border-color: #000000;
        color:#000000 !important;
    }
    to {
        box-shadow: inset 0 0 0 0.01px #ffffff;
    }
}

.radio-personalizado {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 12px 24px 12px 24px;
    border: solid 1px #000;
    background-color: #ffffff;
    cursor: pointer;
    font-family: 'Montserrat';
    font-size: 16px;
    font-weight: normal;
    outline: none;
    float: left;
    margin-right: 15px;
    margin-bottom: 10px;
}

.radio-seleccionado{
    background-color: #d6d6ff;
}

.boton-radio-oculto{
    display:none;
}
/*----------END ESTILO DE COMBOS---------------*/

/**/

/*---------BACKGROUND COLORS------------------*/
.background-pink-100vh {
    position: absolute;
    height: 100vh;
    width: 100%;
    background-color: var(--corporative-pages-bg-color);
    z-index: -1;
}

/*.section-recom-bg {
  background-color: var(--services-bg-color);
  height: 80vh;
}*/

.section-recom-bg-new {
    position: absolute;
    width: 100%;
    background-color: var(--corporative-pages-bg-color);
    z-index: -1;
    height: 63%;
}

/*----------END BACKGROUND COLORS-----------------*/

header {
    position: relative;
    z-index: 3;  
    /*background-color: transparent;
    mix-blend-mode: difference;*/
}

.section {
    padding: 0 var(--margin-main);
    padding-bottom: var(--margin-main);
    /*margin-bottom: var(--blog-margin-main);*/
    position: relative;
    width: 100vw;
    /*min-height: 100vh;*/
    float: left;
    display: flex;
    align-items: center;
    justify-content: /*space-between;*/center;
    padding:10vw;  
    padding-top: max(10vw, 112px);
    overflow-x:hidden;
    padding-top:max(2vw, 50px);
    padding-bottom:max(2vw, 50px);
}

@media (max-width: 400px) {
    .first-section{
        margin-top: -50px;
    }
}

.section-after-animation{
    padding-top: 0;
    margin-top:-30vh;
}

.section-inicial{
    height: auto;
    min-height: auto;
}

.section-dark {
    color: #fff;
    background-color: #000;
}

.section-grey {
    color: #000000;
    background-color: #D9D9D9;
}

.section-dark-pre-animation{
    position:absolute;
    width:100%;
    height: 50%;
    background-color: #000000;
    bottom:0;
    z-index:1;
}

.section-light{
    background-color: #FFFFFF;
    color:#000000;
}


.section-animation{
    padding:0;
    float:left;
    /*margin-top:-10vh;*/
    z-index: 0;
    position:relative;
}

.section-pre-animation{
    z-index: 1;
    overflow:hidden;
}

#animacion2 {
    /* margin-top: -100vh;*/
}

#animacion4 {
    /*margin-top: -30vh;*/
}

#accesoArea {
    /*margin-top: -50vh;*/
}

#filtroScene {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px; /* Área de desvanecimiento */
    pointer-events: none;
    background: linear-gradient(rgba(255, 255, 255, 0), black);
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
}


.curtain {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #ffffff;
    z-index: 10; /* Aseguramos que esté encima de la sección */
}


.adjust--content{
    flex-wrap: wrap;
}

.bloque-completo-texto{
    float: left;
    position: relative;
    width: 100%;
    font-family: 'Montserrat';
    font-family: 16px;
}

.tit__text{  
    margin-top: 30px;
    margin-bottom: 15px;
    font-weight: 500;
    font-size: 22px;
}

.page__text{
    font-size: 18px;
    line-height: 23px;
    font-family: 'Montserrat';
    margin-bottom: 8px;
    text-align: justify;
}

.ul--basic {
    font-weight: 300;
    font-size: 18px;
    line-height: 23px;
    margin-left: 15px;
    margin-bottom: 7px;
}

.ol--basic {
    font-weight: 300;
    font-size: 18px;
    line-height: 23px;
    margin-left: 18px;
    margin-bottom: 7px;
}

.ul--basic li, .ol--basic li {
    margin-bottom: 7px;
    text-align: justify;
}

.section-light * {
    color:#000000;
}

.section-home-area, .section-home-contact {
    min-height: 60vh;
}

.section-home-area{
    background-color: transparent; 
    z-index:1; 
    /*padding-right: 0;*/
    justify-content: center; 
    text-align: center;
}

.section--hero {
    flex-direction: column;
    justify-content: flex-end;
    min-height: 70vh;
}

.section--project{
    gap: 10px;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: 40px;
}

.section--project .slogan-block{
    /*text-align: left;*/
}

@media (max-width: 800px) {
    .section--project{
        flex-direction: column;
    }
}

@media (max-width: 400px) {
    .section--project{
        margin-top: 40px;
    }
}

.section--private {
    flex-direction: column;
    justify-content: flex-end;
    min-height: 100vh;
    padding-bottom: 0;
    padding-top: 115px;
    color:#ffffff;
}

.section-hero__container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    padding-bottom: 30px;
}

@media (min-width: 600px) {
    /* Estilos para pantallas de al menos 600px de ancho */

}

@media (min-width: 768px) {
    /* Estilos para pantallas de al menos 768px de ancho */
}

@media (min-width: 1024px) {
    /* Estilos para pantallas de al menos 1024px de ancho */
}

@media (min-width: 1280px) {
    /* Estilos para pantallas de al menos 1280px de ancho */
    .section-hero__container {
        flex-direction: row;
        align-items: flex-end;
    }
}

@media (min-width: 1440px) {
    /* Estilos para pantallas de al menos 1440px de ancho */
}

.hero__header {
    flex: 0 0 50%;
    margin-bottom: 30px;
}

@media (min-width: 1280px) {
    /* Estilos para pantallas de al menos 1280px de ancho */
    .hero__header {
        margin-bottom: 0;
    }
}

.hero__title {
    font-family: 'Montserrat', serif;
    font-size: max(7vw, 50px);
    font-size: max(6.8vw, 50px);
    font-weight: 200;
    letter-spacing: -7px;
    /*line-height: 105px;*/
    /*color: #000;*/
}


@media (max-width: 1000px) {
    .hero__title {
        /*font-size: 80px;
        line-height: 85px;
        */
        letter-spacing: -3px;
    }
}
@media (max-width: 450px) {
    .hero__title {
        /*font-size: 60px;
        line-height: 65px;
        */
        letter-spacing: 0px;
    }
}


.hero__body {
    flex: 0 0 40%;
}

@media (max-width: 600px) {
    .hero__body__mobile {
        flex:0 0 100%;
        overflow:hidden;
    }
}

.hero__header__project {
    flex: 0 0 calc(100% - 100px);
}

.hero__body__project {
    flex: 0 0 40px;
}

.hero__scroll-prompt {
    margin-top: 30px;
}


.hero__scroll-prompt__index {
    display:flex;
    justify-content: center;
}

.section-light .bordeBoton, .section-light .hero-link{
    background-color: #000000;
}

#firma2, #firma3, #firma, #inversiones, #sec3, #sec4 {
    padding-top: 0;
    display: flex;
    flex-direction: column;
}

#credenciales{
    padding-top: 0;
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
}

#index2,  #sec2,  #firma4, #equipo4, #sec2F,#portfolio2,  #contacto2{
    display: flex;
    flex-direction: column;
}

#firma4{
    padding-top:0;
    padding-bottom: 10px;
}

#equipo4{
    padding-top:0;
}

#index2{
    padding-bottom: 0;
    padding-top: max(2vw, 50px);
}

#inversiones{
    padding-bottom: max(2vw, 70px);
}

#indexValues{
    padding-top:0;
    padding-left:0;
    padding-right:0;
    padding-bottom: 3vw;
    display:block;
    padding-top: 140px;
    overflow: hidden;
}

#portfolio2 {
    /*padding-top: 15vh;*/
    overflow:hidden;
}

#home2, #firma3, #firma5, #firma6, #firma7 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-top:  max(3vw, 60px);
    padding-bottom: max(3vw, 60px);
    /*margin-bottom: 20vh;*/
}

#firma5, #firma6{
    padding-top: 0;
}

.vertical{
    flex-direction: column;
    height: auto;
    gap:30px;
}

.section-vertical-interior{
    flex-direction: column;
    height: auto;
    gap: 85px;
}





.section-vertical-interior-portfolio{
    gap: 30px;
}

.section-center {
    justify-content: space-around;
}

.home-slogan-container {
    flex: 0 0 30%;
    color: #ffffff;  
}

.bloque-superior{
    display:flex;
    align-items:center;
    justify-content: center;
    width: 100%;
    position:relative;
}



.bloque-superior-interior{
    display:flex;
    align-items:baseline;
    justify-content: space-between;
    width: 100%;
}

.bloque-formulario{
    align-items: flex-start;
}

.bloque-localizacion{
    display:flex;
    align-items: flex-start;
    flex-direction: column;
    gap:30px;  
    position: absolute;
    left: 0px;
    background-color: white;
    padding: 20px;
    padding-top: 0;
}


@media (max-width: 1530px) {
    .bloque-superior{
        justify-content: space-between;
    }

    .bloque-localizacion{
        position:relative;
    }
}


/*
@media (min-width: 950px) {
    .bloque-localizacion{
        right: 35px;
    }
}
*/


.bloque-formulario-contacto{
    display:flex;
    align-items: flex-start;
    flex-direction: column;
    gap:15px;
    width: 50%;
}
.contacto-izquierda{
    display:flex;
    align-items: space-between;
    flex-direction: row;
    gap:15px;
    width: 48%;
    position:relative;
}
.contacto-imagen {
    position: relative;
    width: calc(100% - 270px);
    width: 100%;
}

.contacto-imagen__img {
    float: left;
    position: relative;
    object-fit: cover;
    width: 100%;
    height: 100%;
    min-height: 404px;
}

.bloque-informacion{
    position:relative;
    width:100%;
}

.titulo-contacto, .titulo-project{
    font-family: 'Montserrat';
    color:#000000;
    font-weight: 600;
    font-size: 16px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.titulo-project{
    margin-bottom:2px;
    text-transform:none;
}
.texto-contacto, .texto-project{
    font-family: 'Montserrat';
    color:#000000;
    font-size: 16px;
    line-height: 1.5;
}

.texto-project{
    border-bottom: 1px solid #000;
}

.texto-project a{
    color: #000;
}


.form-item-contact{
    position:relative;
    width:100%;
}

.titulo-form{
    font-family: 'Montserrat';
    color:#000000;
    font-size: 16px;
    width:100%;
    position:relative;
    margin-bottom: 10px;
}

.input-form{
    width:100%;
    position:relative;
}

.image-container {
    background-color: #ffffff;
    position: relative;
    width: 100vw;
    float: left;
    padding:10vw;
    padding-top: 0;
    padding-bottom: 0;
}

.mapa-container {
    background-color: #ffffff;
    position: relative;
    width: 100vw;
    float: left;
    padding:0;
}

.image-container__dark{
    background-color: #000000;
}


.bloque-lineas{
    float: left;
    position: relative;
    width: 100%;
}


.bloque-centrado{
    display:flex;
    align-items:center;
    justify-content: center;
    width: 100%;
}

.bloque-filtro{
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-family: 'Montserrat';
    font-size: 15px;
    font-weight: 300;
}

.image-container__image {
    width: 100%;
    /*margin-top: -10vw;*/
}

.video_inicio_completo {
    width: 100vw;
    height: 100vh;
    float: left;
}

.video_inicio_completo video{
    pointer-events: none; /* evita interacción (toques) */
    touch-action: none;   /* en iOS ayuda a evitar full-screen con scroll */
    position: absolute;
    object-fit: cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); /* velo negro con opacidad */
    pointer-events: none; /* permite clics a través del overlay */
}

.scroll-prompt__link {
    position: absolute;
    left: 50%;
    bottom: 25px;
    cursor: pointer;
    z-index: 1;
    margin-left: -30px;
}

.scroll-prompt__icon{
    width:60px;
}

.imagen_inicio_completo {
    width: 100vw;
    height: 100vh;
    object-fit: cover;
}

/*
@media (min-width: 1000px) {

    .imagen_inicio_completo {
        transform: translate(0px, 40%);
    }

}
*/
.franja-slogan{
    width: 100vw;
    color: white;
    padding: 10vw;
    text-align: right;
    /*background: black;  */
    padding-top: 138px;
    padding-bottom: 80px;
    position:absolute;
    z-index:1;

}


@media (max-width: 450px) {

    .franja-slogan{
        padding: 5vw;
        padding-top: 128px;
    }

}

/*
.franja-slogan-interior{
    transform: translate(0px, -100%);
}
*/

.image-container__image2 {
    width: 100%;
    margin-top: -10vw;
}

.image-container__image__project {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.map-container__project{
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.map-container{
    height: 50vh;
    z-index: 1;
}




@media (max-width: 450px) {

    .map-container{
        height: 50vh;
    }

}


.img-project {
    width: 100%;
    height: 50vh;
    object-fit: cover;
}

.highlights {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 30px;
    padding-top: 30px;
    padding-bottom: 30px;
}

@media (min-width: 1280px) {
    /* Estilos para pantallas de al menos 1280px de ancho */
    .highlights {
        flex-direction: row;
    }
}

.slogan-block .highlights__item {
    flex: 1; /* Allow items to grow and take equal space */
}

.highlights__icon{
    width:30px;
    margin-bottom: 10px;
}

.highlights__item {
    text-align: center; /* Center align the content */
    padding: 20px; /* Optional padding for each item */
}

.highlights__number {
    font-family: 'Montserrat';
    font-size: 71px; /* Make the number stand out */
    font-weight: 500;
    line-height: 88px;
    /*white-space: nowrap;*/
}

.no_seleccionado .highlights__number{
    font-weight: 300;
}

#counter1, #counter2, #counter3, #counter4, #counter5, #counter6{
    margin: 0 auto;
    text-align: left;
}

#counter1{
    width:178px;
}

#counter2, #counter3{
    width:71px;
}
#counter4{
    width:219px;
}
#counter5{
    width:150px;
}

#counter6{
    width:171px;
}

@media (max-width: 450px) {

    .highlights__number {
        font-size: 65px;
    }



    #counter1{
        width:161px;
    }

    #counter2, #counter3{
        width:60px;
    }

    #counter4{
        width:200px;
    }

    #counter5{
        width:138px;
    }

    #counter6{
        width:156px;
    }

}

.highlights__text {
    font-family: 'Montserrat';
    font-size: 18px;
    font-weight: 300;
    line-height: 28px;
    margin-top: 16px;
    white-space: nowrap;
}

.client-types {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-top: 30px;
}

.client-types .client-type:first-child {
    border-top: 1px solid #000;
}

.client-types2 .client-type2:first-child {
    border-top: 1px solid #000;
}

.client-type, .client-type2 {
    border-bottom: 1px solid #000;
    padding-bottom: 30px;
    padding-top: 30px;
    cursor:pointer;
}

.section-dark .client-type, .section-dark .client-type2 {
    border-bottom: 1px solid #fff;
}

.section-light .client-type, .section-light .client-type2 {
    border-bottom: 1px solid #000;
}




@media (min-width: 1250px) {
    .client-types2{
        display: flex;
        flex-direction: row;
        width: 100%;
        padding-top: 0px;
        justify-content: space-between;
        border-top:1px solid #000;
        margin-top: 30px;
        border-bottom:1px solid #000;
    }

    .client-type2 {
        border-bottom: 0px !important;
    }

    .client-types2 .client-type2:first-child {
        border-top:  0px !important;
    }
}


.client-type__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.cursorAuto{
    cursor:inherit;
}

.client-type__title {
    font-family: 'Montserrat';
    font-size: 24px;
    font-weight: 300;
}

.client-type__toggle {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.client-type__toggle img {
    width: 30px;
    height: 30px;
    transition: transform 0.3s;
}

.client-type__toggle[aria-expanded="true"] img {
    transform: rotate(180deg); /* Flip arrow */
}

.client-type[aria-expanded="true"] .client-type__toggle img {
    transform: rotate(180deg); /* Flip arrow */
}

.client-type__content {
    overflow: hidden; /* Ensures content does not overflow */
    max-height: 0; /* Start collapsed */
    transition: max-height 0.3s ease; /* Smooth transition for height */
    margin-top: 8px;
}

.client-type__content p {
    margin: 0;
    margin-top: 15px;
    font-family: 'Montserrat';
    font-size: 15px;
    font-weight: 300;
    line-height: 1.5;
    color: #000;
}


.separation-line{
    float:left;
    width: 100%;
    height: 1px;
    background-color: #000000;
}

.linea-datos{
    float:left;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 100%;
    display:flex;
    align-items: center;
    justify-content: space-between;
    font-family: 'Montserrat';
    font-size: 24px;
}

.alineacion-inferior{
    align-items: baseline;
}

.alineacion-superior{
    align-items: start;
}

.bloque-tarjetas{
    display:flex;
    flex-direction: column;
    gap:30px;
}

@media (min-width: 700px) {
    /* Estilos para pantallas de al menos 1280px de ancho */
    .bloque-tarjetas{
        flex-direction: row;
    }
}

.section-dark .bloque-tarjetas{
    color: #FFFFFF;
}


.anchura-slogan3-expertos{
    max-width: 600px;
}  

.anchura-slogan3-firm{
    max-width: 660px;
}

.informacionIzq{
    width:26vw;
}

.informacionIzq p{
    color:#000000;
}

.contenedor-carrusel{
    width: 100vw;
    display: flex;
    padding-left: 10vw;
    padding-right: 3vw;
    gap: 25px;
    padding-top:max(3vw, 50px);  
    padding-top:50px;
    align-items: center;
    justify-content: center;
}

.visorCarrusel{
    left: 0;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    right: 0px;
    /*top:-23px;*/
    width: 60vw;
    /*left: -10vw;*/
    z-index:1;

}
.visorCarruselProyectos{
    left: 0;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    right: 0px;
}

.container-img-project {
    width: 80vw;
    float: left;
    transition: all 0.4s ease;
}


.capa-carrusel-project {
    position: relative;
    width: 133333px;
    display: block;
    left: -80vw;
}



.flechaIzquierdaCarruselProyectos{
    position: absolute;
    width: 60px;
    float: left;
    left: 30px;
    top: calc(50% - 30px);
    z-index: 1;
    cursor: pointer;
}


.flechaDerechaCarruselProyectos{
    position: absolute;
    width: 60px;
    float: left;
    right: 30px;
    top: calc(50% - 30px);
    z-index: 1;
    cursor: pointer;
}


@media (max-width: 650px) {
    .flechaIzquierdaCarruselProyectos{

        width: 40px;
        left: 20px;
        top: calc(50% - 20px);
    }


    .flechaDerechaCarruselProyectos{
        width: 40px;
        right: 20px;
        top: calc(50% - 20px);
    }

}

.flechaIzquierdaCarrusel{
    position: absolute;
    width: 60px;
    float: left;
    left: 35px;
    top: calc(50% - 30px);
    z-index: 1;
    cursor: pointer;
    transform: rotate(90deg);
    margin-top: 4px;
}


.flechaDerechaCarrusel{
    position: absolute;
    width: 60px;
    float: left;
    right: 35px;
    top: calc(50% - 30px);
    z-index: 1;
    cursor: pointer;
    transform: rotate(-90deg);
    margin-top: 4px;
}

.texto__pregunta {
    display: none;
    overflow: hidden;
    padding: 60px 0;
    white-space: nowrap;
    position: relative;
    font-size:8vw;
}

.texto__pregunta__slider {
    width: 80vw;
    margin-right: 5vw;
    display: inline-block;
    animation: 20s slide infinite linear;
}

@keyframes slide {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}

.card{
    /*max-width: 390px;*/
    width: 100%;
    flex-grow: 1;
}

@media (min-width: 1024px) {
    /* Estilos para pantallas de al menos 1280px de ancho */
    .card{
        width: 30%;
    }
}

.card-image{  
    width: 100%;
    float:left;
    position:relative;
}

.gallery__item--linkedin .card-image:hover{
    opacity:0.5;
    cursor:pointer;
}

.boton_linkedin:hover{
    opacity:0.5;
}

.boton_linkedin_interior{
    margin-left: 5px;
    position: relative;
}
.boton_linkedin_interior img{
    margin-bottom: -3px;
}
.boton_linkedin_interior:hover{
    opacity:0.5;
}

.iconoRedes{
    height: 23px;
    float: left;
    margin-left: 10px;
}

.primer_icono{
    margin-left: 1px;
}

.card-image-inicio {
    width: 100%;
    float: left;
    position: relative;
    object-fit: cover;
    height: 100%;
    max-height: 476px;
}

.card-title{
    font-family: 'Montserrat';
    font-size: 25px;
    font-weight: 500;
    float:left;
    position:relative;  
    margin-top: 15px;
    margin-bottom: 7px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width:100%;
    flex-wrap: wrap;
    gap:10px;

}

.tituloExperto{
    width: calc(100% - 70px);
    margin-top: -2px;
}

@media (max-width: 1900px) {

    .card-title{
        font-size: 22px;
    }
}

.card-text{
    font-family: 'Montserrat';
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    float:left;
    position:relative;
    width:100%;
}

.capa-carrusel {
    position: relative;
    width: 133333px;
    display: block;
    left: -29vw;
}


.container-card-invest{
    width: 15vw;
    aspect-ratio: 3 / 3.5;
    float: left;
    position:relative;
    color: #FFFFFF;  
    transition: all 0.4s ease;
    display: flex;
    align-content: center;
    justify-content: center;
}

@media (max-width: 1530px) {

    .container-card-invest{
        width: 25vw;
    }
    .capa-carrusel {
        left: -44vw;
    }
}
@media (max-width: 1250px) {

    .informacionIzq {
        width: 36vw;
    }

    .container-card-invest{
        width: 35vw;
    }

    .visorCarrusel {
        width: 50vw;
    }

    .capa-carrusel {
        left: -62vw;
    }

}
@media (max-width: 1000px) {
    .contenedor-carrusel {
        padding-left: 0;
        padding-right: 0;
        flex-direction: column;
        gap:40px;
    }
    .informacionIzq {
        width: 100vw;
        padding-left: 10vw;
        padding-right: 10vw;
    }
    .visorCarrusel {
        width: 100vw;
    }

}
.card-invest{
    /*max-width: 450px;
    width: 37vw;*/
    /*margin-left: 15px;*/
    margin-right: 30px;
    float: left;
    position:relative;
    color: #FFFFFF;  
    transition: all 0.4s ease;
    width:100%;
    cursor:pointer;
}

.card-invest::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7)); /* Gradiente de negro opaco a transparente */
    /*z-index: 1;*/
}

.card-image-invest{  
    width: 100%;
    height: 100%;
    object-fit: cover;
    /*float:left;*/
    position:relative;
    /*border-radius: 12px;*/
}

.container-card-invest:hover .card-image-invest{
    opacity:0.5;
}


.container-card-portfolio{
    width: calc(33% - 40px);
    min-width: 250px;
    float: left;
    position:relative;
    color: #FFFFFF;  
    transition: all 0.4s ease;
    display: flex;
    align-content: center;
    justify-content: center;  
}

.card-portfolio{
    /*max-width: 450px;
    width: 37vw;*/
    /*margin-left: 15px;*/
    float: left;
    position:relative;
    color: #FFFFFF;  
    transition: all 0.4s ease;
}

.card-portfolio::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7)); /* Gradiente de negro opaco a transparente */
    /*z-index: 1;*/
}

.card-image-portfolio{  
    width: 100%;
    float:left;
    position:relative;
}

.anchura0{
    width:0 !important;
}

.card-bloque-invest{
    float:left;
    position:absolute;
    padding:20px;
    bottom:0;
    z-index: 1;
}
.card-title-invest{  
    font-family: 'Montserrat';
    font-size: 22px;
    line-height: 36px;
    float:left;
    position:relative;  
    margin-bottom: 0px;
    font-weight: 500;
    width:100%;
}
.card-text-invest{
    font-family: 'DM Sans';
    font-size: 18px;
    line-height: 28px;
    float:left;
    position:relative;
    font-weight: 300;
}


.card-button{
    float: left;
    position: relative;
    margin-top: 7px;
    font-size: 14px;
    font-family: 'Montserrat';
    font-weight: 500;
    cursor:pointer;
}


.card-button::after {
    background-color: currentColor;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scaleX(0);
    transform-origin: 0 50%;
    transition: transform .6s cubic-bezier(.85,0,.15,1);
    width: 100%;
    will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
    .card-button:not(:hover)::after {
        transform-origin: 100% 50%;

    }
    .card-button:hover:after {
        transform:scaleX(1);
        transform-origin:0 50%
    }
}



.animation-button{
    float: left;
    color: #fff;
    position: absolute;
    bottom: 13vh;
    right: 10vw;
    font-family: 'Montserrat';
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    cursor:pointer;
    z-index: 1;
}

.texto-emergente {
    overflow: hidden;
    position: absolute;
    bottom: 13vh;
    color: #fff;
    z-index: 1;
    width: 286px;
    right: 10vw;
    text-align: justify;
    font-family: 'Montserrat';
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
}

.texto-ubicacion {
    overflow: hidden;
    position: absolute;
    bottom: 17vh;
    color: #fff;
    z-index: 1;
    left: 10vw;
    text-align: justify;
    font-family: 'Montserrat';
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
}

.texto-ubicacion span{
    float:left;
    overflow: hidden;
    vertical-align: bottom;
    text-indent: 0;
    transform: translate(0px, 100%);
}

.texto-emergente_dark{color:#000000;}

.texto-emergente span{
    float:left;
    overflow: hidden;
    vertical-align: bottom;
    text-indent: 0;
    transform: translate(0px, 1300%);
}


.marker-scene{
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transform: translate(-50%, -50%);  
    z-index: 1;
    cursor:pointer; 
    background-image: url('../imagenes/Iconos_Inicio_Sin preseleccionar.png'); /* Imagen inicial */
    background-size: cover;
    background-position: center;
    transition: background 0.5s ease-in-out;
}

.marker-scene:hover{
    background-image: url('../imagenes/Iconos_Inicio_Preseleccionado.png'); /* Imagen preseleccion */
}


.marker-scene-monumento{
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transform: translate(-50%, -50%);  
    z-index: 1;
    cursor:pointer; 
    background-image: url('../imagenes/iconos_ubi-01.png'); /* Imagen inicial */
    background-size: cover;
    background-position: center;
    transition: background 0.5s ease-in-out;
}

.marker-scene-monumento:hover{
    background-image: url('../imagenes/iconos_ubi-05.png'); /* Imagen preseleccion */
}

.text-overlay {
    width: 116px;
    color: white;
    text-align: center;
    padding: 10px;
    border-radius: 5px;
    opacity: 1;
    position: absolute;
    top: -60px;
    text-align: center;
    left: -38px;
    overflow: hidden;
    font-family: 'Montserrat';
    font-size: 16px;
    font-weight: 300;
    line-height: 21px;
}

.text-overlay2{
    width:160px;
    left:-60px;
    top: -43px;
}

.text-overlay3{
    width:175px;
    left:-68px;
    top: -43px;
}

.text-overlay span{
    transform: translate(0px, 300%);
    float:left;
    position:relative;
}


.animation-button-dark{
    color: #000;
    left: auto;
    right:10vw;
}


.animation-button::after {
    background-color: currentColor;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scaleX(0);
    transform-origin: 0 50%;
    transition: transform .6s cubic-bezier(.85,0,.15,1);
    width: 100%;
    will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
    .animation-button:not(:hover)::after {
        transform-origin: 100% 50%;

    }
    .animation-button:hover:after {
        transform:scaleX(1);
        transform-origin:0 50%
    }
}



.gallery__item--linkedin .card-button::after {
    background-color: #000000;
}

.section-inner {
    padding: 0 var(--margin-main);
    padding-top: var(--margin-main);
}

.section-presentation {
    padding: 0 var(--margin-main);
    padding-bottom: 0;
    min-height:90vh;
    float: left;
    /*position: absolute;*/
    display: flex;
    /*background-color: var(--corporative-pages-bg-color);*/
    align-items: center;
    z-index: 1;
    /*width: min-content;*/ justify-content: center;
    /*clip-path: inset(0 0 18% 0);*/
}

@media (max-width: 400px) {

    .section-presentation {
        /*clip-path: inset(0 0 30% 0);*/
    }

}

.section-recom {
    position: relative;
    padding: 0;
    /*height: auto;*/
    /*background: linear-gradient(0deg, white 37%, var(--corporative-pages-bg-color) 37%);*/
}

/*----------SLOGAN / SUBSLOGAN---------------*/
.slogan {
    font-family: 'Montserrat', sans-serif;
    font-size: 100px;
    font-weight: 300;
    line-height: 1;
    color: var(--logo-color);
}

.first-slogan {
    overflow:hidden;
    position: relative;
}

.first-slogan span{
    float:left;
    overflow: hidden;
    vertical-align: bottom;
    text-indent: 0;
}

.first-slogan span span{
    float:left;
    overflow: hidden;
    vertical-align: bottom;
}


.cabecera-esc {
    overflow:hidden;
    position: relative;
}

.cabecera-esc span{
    float:left;
    overflow: hidden;
    vertical-align: bottom;
    text-indent: 0;
}

.cabecera-esc span span{
    float:left;
    overflow: hidden;
    vertical-align: bottom;
}

@media (max-width: 800px) {

    .slogan {
        font-size: 70px;
    }

}

.title-interior {
    font-family: 'Montserrat', serif;
    font-size: 128px;
    font-weight: 200;
    letter-spacing: -7px;
    line-height: 105px;
    color: #fff;
}

.texto-cabecera{
    font-family: 'Montserrat', serif;
    font-size: 16px;
    font-weight: 300;
    letter-spacing: -3%;
    line-height: 25px;
}

.section-light .slogan, .section-light .third-slogan {
    color:#000000;
}



.grosor_extra-light{
    font-weight: 200 !important;
}


.grosor_medio, .hero__title--bold{
    font-weight: 500 !important;
}


.slogan-small {
    font-size: 40px;
    font-weight: 500;
    line-height: 48px;
}

.slogan-semi-small {
    font-size: 48px;
}

.slogan-big {
    font-size: 84px;
    font-weight: 500;
    line-height: 88px;
}


.slogan-bigger {
    font-size: 136px;
    font-weight: 300;
    line-height: 132px;
}

.slogan-medium {
    font-size: 60px;
    font-weight: 500;
    line-height: 68px;
}

.ver-todo{
    font-size: 14px;
    font-family: 'DM Sans';
    font-weight: 500;
}

.ver-todo::after {
    background-color: currentColor;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scaleX(0);
    transform-origin: 0 50%;
    transition: transform .6s cubic-bezier(.85,0,.15,1);
    width: 100%;
    will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
    .ver-todo:not(:hover)::after {
        transform-origin: 100% 50%;

    }
    .ver-todo:hover:after {
        transform:scaleX(1);
        transform-origin:0 50%
    }
}

.anchura-slogan-portfolio{
    min-width: 350px;
}

.anchura-segundo-slogan{
    max-width: 590px;
}

.anchura-slogan-firm{
    max-width: 470px;
    margin-right: 30px;
}

.anchura-slogan-access{
    min-width: 250px;
}

.double-col-slogan-small {
    margin-top: 1rem;
}

.slogan-small-italics {
    font-family: 'Canela Thin Italic', serif-italic;
    font-size: var(--slogan-small-font-size);
    font-weight: 300;
    transition: all 0.3s ease;
}

.slogan-small-italics:hover {
    text-decoration: underline;
}

.third-slogan{
    font-family: 'DM Sans';
    font-weight: 300;
    font-size: 18px;
    margin-top: 16px;
    line-height: 28px;
}


.third-slogan-contact{
    font-family: 'Montserrat';
    font-weight: 300;
    font-size: 16px;
    line-height: 26px;
    max-width: 425px;
}

.letra-montserrat{
    font-family: 'Montserrat';
}
.section-title{
    color:#000000;
    font-family: 'DM Sans';
    font-weight: 300;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 16px;
}


.hero__breadcrumbs {
    /*color:#ffffff;*/
    font-family: 'Montserrat';
    font-weight: 300;
    font-size: 15px;
    line-height: 25px;
    letter-spacing: -3%;
    margin-bottom: 25px;  
    z-index: 1;
    position: relative;
}

.section-home-contact {
    padding-right: 0;
}

.illus-slogan {
    max-height: 95px;
    transform: translateY(21%);
}

.slogan-italics {
    font-family: 'Canela Thin Italic', serif-italic;
    font-size: var(--slogan-presentation-font-size);
    font-weight: 300;
}

.sub-slogan {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-bottom: 60px;
    transition: all 0.3s ease;
}

.sub-slogan:hover {
    /*margin-left: 5px;*/
}

.sub-slogan img {
    max-width: 20px;
    margin-right: 10px;
}

.sub-slogan h6 {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
}

.hero-link{
    border: 1px solid #616161;
    border-radius: 12px;
    padding: 12px 16px;
}

.hero-link-gris{
    background-color: #252525;
    border-radius: 12px;
    padding: 12px 16px;
    float:left;
}

.hero-link-rosa{
    background-color: #D9C7AB;
    color:#000000;
    /*border-radius: 12px;*/
    /*padding: 12px 22px;*/
    float:left;
    cursor:pointer;
    font-family: 'Montserrat';
    font-size: 14px;
    font-weight: 600;
    border: 1px solid #D9C7AB;
    padding: 15px;
    cursor:pointer;
    text-align: center;
    min-width: 110px;
}

.hero-link-claro{
    background-color: #F2F2F2;
    color:#0F0F0F;
    border-radius: 12px;
    padding: 12px 16px;
    cursor:pointer;
    float:left;
}

.hero-link-negro{
    border-radius: 12px;
    background-color: #000000;
    color:#ffffff;
    padding: 12px 16px;
    cursor:pointer;
    float:left;
}


.bordeBoton{
    border: 1px solid #616161;
    border-radius: 12px;
    padding: 12px 16px;
}



.botonBlancoOscuro{
    background-color: #252525;
    border-radius: 12px;
    padding: 12px 16px;
    cursor:pointer;
    float:left;
}

.botonClaro{
    background-color: #F2F2F2;
    color:#0F0F0F;
    border-radius: 12px;
    padding: 12px 16px;
    cursor:pointer;
    float:left;
}

.fondoPrincipal{
    position: relative;
    overflow: hidden;
}

.imagenFondoPrincipal {
    position: absolute;
    display: none;
    height: 137vh;
    top: 0%;
    right: 0;
    overflow: hidden;
}

.videoFondoPrincipal {
    position: absolute;
    height: 100vh;
    width: 100%;
    top: 0%;
    right: 0;
    overflow: hidden;
    object-fit: cover;
}

.segundo-fondo{
    left: 0;
    top: 108vh;
    height: 100vh;
}

.tercer-fondo {
    position: absolute;
    /*display: block;*/
    height: 80vh;
    bottom: 0;
    right: -13vw;
    overflow: hidden;
}

.imagenContacto{
    max-height: 467px;
    float: left;
    position: relative;
}
.fotoContacto{
    max-width: calc(80vw - 400px);
}
.subslogan-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 40px 0px 0px 0px;
    transition: all 0.3s ease;
    width: 100%;
}

.contenedor-flecha-inferior {
    width: 100%;
    float: left;
    position: relative;
    height: 40px;
    margin-top: 20px;
}

.flecha-inferior {
    width: 38px;
    float: left;
    position: absolute;
    right: 0;
}

.contenedor-flecha-interior-inferior{
    float: left;
    position: relative;
    height: 39px;

}
.flecha-inferior-interior {
    width: 38px;
    float: left;
    position: relative;
    right: 0;
}

.subslogan-link-recom {
    margin-top: 0;
}

.slogan-block, .slogan-highlight-block, .slogan-button-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-top: 30px;
    padding-bottom: 30px;
    width: 100%;
    overflow: hidden;
}

.slogan-block {
    max-width: 800px;
    text-align:center;
}

.texto_dos_columnas{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-top: 30px;
    padding-bottom: 30px;
    width: 100%;
    overflow: hidden;
    text-align:left;
}

.texto_dos_columnas .cursiva{
    font-style: italic;
    font-weight: 600;
    text-transform: uppercase;
}

.texto_dos_columnas .texto_parrafo{
    margin-bottom: 25px;
}


@media (max-width: 1280px) {
    .texto_dos_columnas {
        flex-direction: column;
    }
}

.migas-pan{
    align-items: start;
}

@media (max-width: 400px) {

    .slogan-button-block{
        align-items: start; 
    }

}

.slogan-block-int{
    align-items: flex-start;
    padding:0;
}

@media (min-width: 1024px) {
    /* Estilos para pantallas de al menos 1024px de ancho */
    .slogan-highlight-block {
        flex-direction: row;
    }
}

/*
@media (min-width: 1280px) {
    .slogan-block {
        flex-direction: row;
    }
}
*/

.slogan-highlight-block > div {
    width: 100%;
}

@media (min-width: 1024px) {
    /* Estilos para pantallas de al menos 1024px de ancho */
    .slogan-highlight-block > div {
        width: 40%;
    }
}


.slogan-highlight-block .slogan-block__text {
    margin-top: 15px;
}

.section-dark .slogan-block--vertical, .section-light .slogan-block--vertical, .section-grey .slogan-block--vertical {
    flex-direction: column;
    width: 53%;
}

@media (max-width: 800px) {
    .section-dark .slogan-block--vertical, .section-light .slogan-block--vertical, .section-grey .slogan-block--vertical {
        width: 90%;
    }
}

.slogan-block--vertical h3, .slogan-block--vertical p {
    text-align: center;
}

.section-dark .slogan-block, .section-dark .slogan-block--vertical {
    color: #fff;
}

.slogan-block {

}

.slogan-block > * {
    flex: 1 1 calc(50% - 15px);   /* Cada hijo ocupa el 50% menos la mitad del gap */
    box-sizing: border-box;      /* Incluye padding y border en el cálculo del ancho */
}

.slogan-block__title {
    font-size: 55px;
    line-height: 55px;
    flex: 0 0 40%;
    width: 100%;
    font-family: 'Newsreader Italic';
    font-weight: 300;
}

.slogan-block__title_small {
    font-size: 45px;
}

.second-slogan{
    font-family: 'Montserrat', serif;
    font-weight: 500 !important;
    font-size: 48px;
}

.slogan-block__title__complete {
    flex: 0 0 100%;
}

@media (max-width: 1000px) {
    .slogan-block__title{
        font-size: 44px;
        line-height: 44px;
    }

    .second-slogan{
        font-size: 36px;
    }

    .slogan-block__title_small {
        font-size: 38px;
    }
}

@media (max-width: 500px) {
    .slogan-block__title{
        font-size: 30px;
        line-height: 35px;
    }

    .slogan-block__title_small {
        font-size: 28px;
    }

    .second-slogan{
        font-size: 27px;
    }
}

.slogan-block__title__project {
    font-family: 'Montserrat', serif;
    font-size: 40px;
    font-weight: 500;
}

.info-proyecto{
    width:100%;
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}


.section-vertical-project{
    display:flex;
    flex-direction: column;
    height: auto;
    gap: 12px;
    width:48%;
}


.img-block__project {
    font-family: 'Montserrat', serif;
    font-size: 29px;
    font-weight: 300;
    line-height: 26px;
    text-align: justify;
    width:48%;
    height: 50vh;
}


.map-block__project {
    background-color: #ffffff;
    position: relative;
    width:48%;
    height: 50vh;
}
/*
@media (max-width: 1250px) {
    .section-vertical-project, .img-block__project, .map-block__project{
        width:30%;
    }
}
*/

/*
@media (max-width: 1050px) {
    .info-proyecto{
        gap:25px;
    }
    .section-vertical-project{
        width:100%;
    }
    .img-block__project, .map-block__project{
        width:45%;
    }
}
*/

@media (max-width: 750px) {

    .info-proyecto{
        gap:25px;
    }

    .section-vertical-project, .img-block__project, .map-block__project{
        width:100%;
    }

    section--project .slogan-block__text {
        text-align: justify;
    }
}

.section--project .slogan-block__text {
    flex: 0 0 50%;
}

.certificate__icon{
    margin-top: 5px;
    margin-right: 15px;
    position: relative;
    float: left;
    width: 90px;
}

.slogan-block__text {
    font-family: 'Montserrat', serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 30px;
    flex: 0 0 40%;
}



.slogan-block__img{
    flex: 0 0 40%;
    width:40%;
}

#fotoMapa{
    filter: grayscale(100%);
}

@media (max-width: 800px) {
    /* Estilos para pantallas de al menos 1280px de ancho */
    .slogan-block__img{
        width:100%;
    }
}

.slogan-block__text__grey{
    color: #000;
    font-family: 'Newsreader Italic';
    font-weight: 300 !important;
    font-size: 42px;
    flex: 0 0 60%;  
    text-align: center;
    width: 80%;
}


.slogan-block__text__grey__peq{
    font-size: 26px;
    line-height: 34px;
}

.slogan-block__text__int{
    flex: 0 0 50%;
    display: flex;
    flex-direction: column;
    gap: 25px;
    align-content: flex-start;
    justify-content: center;

}

.slogan-block--area {
    width: 100%;
}


@media (min-width: 1024px) {
    .slogan-block--area {
        width: 30%;
    }
}


.flexColumnCentrado{
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
}

.flexCentrado{
    display: flex;
    justify-content: center;
}

.slogan-block--area a {
    margin-top: 60px;
}

.slogan-block--area p {
    margin-top: 30px;
}

.subslogan-link-double-col {
    margin-bottom: 0px;
}

.subslogan-link:hover {
    /*margin-left: 5px;*/
}

.subslogan-link img {
    width: 17px;
    /*margin-right: 10px;*/
}

.hero-link-icon{
    float: right;
    margin-left: 8px;
    margin-top: 1px;
}

.flechaBoton{
    float: right;
    margin-left: 8px;
    margin-top: 1px;
}

.flechaBotonEscena{
    float: right;
    margin-left: 8px;
    margin-top: 4px;
}

.degradado_blanco{
    /*
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40vh;z-index:1;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 30%, rgba(255, 255, 255, 0));
    */

    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;z-index:1;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0));
}

.flechaBotonMenu{
    /*float: right;*/
    margin-left: 8px;
    margin-top: 4px;
}

.flechaBotonSaberMas{
    /*float: right;*/
    margin-left: 8px;
    width:10px;
    filter: invert(100%);
}

.subslogan-link h6 {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--logo-color);
}

.hero-link-text{
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
}

/*----------END SLOGAN / SUBSLOGAN---------------*/

/*-------------------------------------*/

.main-image-container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    /*height: 100vh;*/
    width: 100%;
    overflow: hidden;
    margin-top: var(--margin-main);
}

.main-image {
    width: 100%;
    height: auto;
    border: 7px solid white;
    /*object-fit: cover;*/
    /*height: 100%;*/
    /*transform: translateY(-8%);*/
}

.double-col-section .section-inner {
    display: flex;
    flex-wrap: wrap;
    padding-top: var(--margin-main);
    /*margin-top: 80px;*/
    /*margin-bottom: 80px;*/
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.double-col-container {
    /*width: 50%;*/
    width:calc( 50% - ( var(--margin-main) / 1.7 ) );
}

.double-col-image-container {
    /*height: 80vh;*/
    width: 100%;
}

.double-col-container-1 {
    /*padding-right: calc( var(--margin-main) / 2 );*/
}

.double-col-container-2 {
    /*padding-left: calc( var(--margin-main) / 2 );*/
}

.double-col-image {
    width: 100%;
    /*height: 100%;*/
    /*object-fit: cover;*/
    /*object-position: 100% 50%;*/
    /*background-repeat: no-repeat;
    background-position: 75% 50%;*/
}

/*.double-col-image-whitehover:before {
        content: "";
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        left: 0;
        width: 100%;
        height: 100%;
        background: white;
        opacity: 0;
}

.double-col-image-whitehover:hover:before {
        opacity: 0.5;
        -webkit-transition: all .3s ease;
}*/

.double-col-image-square {
    height: auto;
}

/*-------------------------------------*/

.section-events {
    display: flex;
    flex-wrap: wrap;
    margin-top: var(--margin-main);
    padding-top: var(--margin-main);
    padding-bottom: var(--margin-main);
}

.section-events-background {
    margin-top: var(--margin-main);
    height: 80vh;
}

/**/
.title-not-clickable {
    text-transform: uppercase;
    font-family: "Poppins SemiBold", sans-serif;
    /*font-weight: 600;*/
    font-size: 1.15rem;
    margin-bottom: 15px;
    color: var(--logo-color)
}
/**/

.section__hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    padding-bottom: 30px;
}

/*------------GALLERY---------------*/

.gallery {
    width: 100%;
}

.gallery__filters {
    display: flex;
    justify-content: space-between;
    /*padding-top: 60px;*/
    padding-bottom: 30px;
}

.gallery__filter-group {
    width: 100%;
}

.gallery__filter-label {
    font-family: 'Montserrat';
    font-size: 18px;
    font-weight: 300;
    margin-bottom: 15px;
}

.gallery__filter-select {
    width: 15%;
}

.gallery__images {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); /* Responsive grid with dynamic column count */
    gap: 30px; /* Space between items */
    grid-auto-rows: minmax(200px, auto); /* Minimum row height with automatic resizing */
}

.gallery__images__team{
    grid-template-columns: repeat(3, 1fr); /* 3 elementos por fila */
}

/* Para pantallas medianas (tabletas en orientación horizontal, entre 900px y 1199px) */
@media (max-width: 1199px) {
    .gallery__images {
        grid-template-columns: repeat(3, 1fr); /* 3 elementos por fila */
    }
}

/* Para pantallas pequeñas (tabletas en orientación vertical y móviles, entre 600px y 899px) */
@media (max-width: 899px) {
    .gallery__images {
        grid-template-columns: repeat(2, 1fr); /* 2 elementos por fila */
    }
}

/* Para pantallas muy pequeñas (móviles, menos de 600px) */
@media (max-width: 599px) {
    .gallery__images {
        grid-template-columns: 1fr; /* 1 elemento por fila */
    }
}



/* Styling for each gallery item */
.gallery__item {
    position: relative; /* For positioning the text */
    overflow: hidden; /* To avoid content overflow */
    padding-top: 125%;
}

/* Pseudo-element to create the black overlay */
.gallery__item::before {
    content: ""; /* This is required to create the pseudo-element */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.25) 100%); /* Gradient with higher opacity at top and bottom */
    z-index: 1; /* Ensure the overlay is on top of the image but behind the text */
}

.gallery__images__firm .gallery__item::before {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0.7) 100%); /* Gradient with higher opacity at top and bottom */
}


.gallery__item.item-gall.cursorMano:hover {
    opacity: 0.5 !important;
}

/* Image styling */
.gallery__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensure the image covers the entire item without distortion */
}

.gallery__image__int{
    position:relative;
    width: 46%;
    right: 0;
    top: 0;
    z-index:2;
    max-width: 125px;
}

.text-saber-mas{
    position: absolute;
    top: 15px;
    left: 10px;
    font-family: 'Montserrat';
    font-size: 14px;
    display: flex;
    align-items:center; 
    justify-content: space-between;

    width: 100%;
    background: #202020;
    padding: 7px;
    left: 0;
    top: 0;
    color: white;
    z-index: 1;
    padding-left: 14px;
    padding-right: 14px;
}

.text-saber-mas div{color:white;}

/* Text area styling */
.gallery__text {
    position: absolute;
    bottom: 0;
    z-index: 2;
    padding: 15px;
}

.gallery__images__firm .gallery__text{
    padding-bottom: 8px;
}

/* Title styling */
.gallery__title {
    font-family: 'Montserrat';
    font-size: 28px;
    line-height: 36px;
    float:left;
    position:relative;  
    margin-bottom: 10px;
    font-weight: 500;
    width:100%;
    color: #fff;
}

.gallery__images__firm .gallery__title{
    margin-bottom: 0;
}

/* Address styling */
.gallery__address {
    font-family: 'Montserrat';
    font-size: 15px;
    font-weight: 400;
    line-height: 18px;
    float:left;
    position:relative;
    color: #fff;
}

.gallery__box {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;
    padding: 10px;
    background-color: #fff;
}

.gallery__box--linkedin {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 2;
    width: 40px;
    height: 40px;
}

.gallery__box--linkedin a {
    width: 100%;
    height: 100%;
}

.gallery__box--linkedin a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.gallery__box p {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -1px;
    line-height: 15px;
    color:#000000;
    margin-bottom: 0;
}

.gallery-blog {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    grid-gap: 50px 50px;
    margin-bottom: 70px;
}

.gallery-item {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.enlace-gallery-item{
    cursor:pointer;
}

.enlace-gallery-item:hover .gallery__image {
    opacity: 0.5;
}

.gallery-item-img-container {
    position: relative;
    width: 100%;
}

/*.gallery-item-img-container:before {
  content: "";
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  opacity: 0;
}*/

.gallery-item-img-container:before {
    content: "";
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    left: 0;
    width: 100%;
    height: 100%;
    background: white;
    opacity: 0;
}
.gallery-item-img-container:hover:before {
    opacity: 0.5;
    -webkit-transition: all .3s ease;
}

/*.gallery-item-img-container:hover .gallery-item-img-container:before {
  opacity: 0.5;
  -webkit-transition: all .3s ease;
}*/

.gallery-item-img-container img {
    width: 100%;
    height: 100%;
    border: 7px solid white;
}

.gallery-item-title {
    font-family: 'Canela Thin', serif;
    font-weight: 300;
    font-size: 2rem;
    margin-top: 1rem;
    margin-bottom: 0.3rem;
    color: var(--logo-color);
}

.gallery-item-category {
    font-family: 'Poppins Light', sans-serif;
    font-weight: 300;
    font-size: 1rem;
    text-decoration: underline;
    color: var(--logo-color);
}




.gallery__images__firm {  
    width: 100%;
    display: flex;
    gap: 20px;
    align-content: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.gallery__images__firm  .gallery__item {
    position: relative;
    overflow: hidden;
    padding-top: 0;
    width: calc(25% - 15px);
    height: 185px;
}

/* Image styling */
.gallery__images__firm .gallery__image {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensure the image covers the entire item without distortion */
}

.gallery__images__firm .gallery__text{
    width: 100%;
    text-align: center;
}

/* Para pantallas muy pequeñas (móviles, menos de 600px) */
@media (max-width: 1800px) {
    .gallery__images__firm .gallery__text{
        font-size: 24px;
        margin-bottom: 0;
    }
}


/* Para pantallas muy pequeñas (móviles, menos de 600px) */
@media (max-width: 1350px) {
    .gallery__images__firm .gallery__item{
        width:calc(50% - 10px);
    }
}


/* Para pantallas muy pequeñas (móviles, menos de 600px) */
@media (max-width: 650px) {
    .gallery__images__firm .gallery__item{
        width:100%;
    }
}


/*-----------END GALLERY-BLOG----------------*/

/*-------------------------------------------*/
/*.section-recom {
  padding-top: calc( var(--margin-main) * 1.15 );
}*/

.gallery-items-container {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: var(--margin-main);
}

.double-column-container {
    width:calc( 50% - ( var(--margin-main) / 2 ) );
    /*object-fit: cover;*/
}
/*-------------------------------------------*/

/*---------PARA LOS MENÚS QUE SALEN DE LA DERECHA A MODO CORTINA--------------------*/

.menu-container {
    position: fixed;
    height: 100vh;
    /*padding: 5%;*/
    background-color: var(--menu-bg-color);
    transition: all 0.4s ease;
    overflow-y: hidden;
    z-index: 4;
}

.menu-subcontainer {
    overflow-y: auto;
}

.menu-subcontainer-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    height: 50px;
    padding: 10px;
}

.menu-container-active {
    right: 0%;
}

/*----------CROSS MENU-----------------*/

.close {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 30px;
    opacity: 1;
}

/*----------END CROSS MENU-----------------*/

/*-----------------------------END MENÚS CORTINA-----------------------------------*/

/*------------------FORM-------------------*/
.ipt-container {
    position: relative;
    margin-top: 5px;
}

.ipt-err-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    height: 25px;
    margin-right: 10px;
}

.error-text-input {
    border-color: #FF7777 !important;
}

.circle-error-message {
    height: 10px;
    width: 10px;
    background-color: #FF7777;
    border-radius: 50%;
    display: inline-block;
    margin-right: 0.6rem;
}

.error-message {
    color: #FF7777;
    font-family: 'Poppins Light', sans-serif;
    font-size: 0.9rem;
    margin: 0 !important;
    display: flex;
    align-items: center;
}

.aviso-pop-up {
    position: fixed;
    top: -100%;
    width: 100%;
    background-color: #FF7777;
    color: white;
    z-index: 10;
    /*box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);*/
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Canela Thin', sans-serif;
    font-weight: 300;
    text-align: center;
    padding: 17px;
    pointer-events: none;
    opacity: 0;
    transition: all 0.5s ease;
}

.aviso-cookies {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #e7bfad;
    color: #2b2d2f;
    z-index: 2;
    box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);
    display: block;
    justify-content: center;
    align-items: center;
    font-family: 'Canela Thin', sans-serif;
    font-weight: 300;
    text-align: center;
    padding: 17px;
    transition: all 0.5s ease;
    font-size: 15px;
    text-align: left;

}

.botonAceptoCookies{
    background-color: #2b2d2f;
    /*border-radius: 5px;*/
    cursor:pointer;
    border: 1px solid #2b2d2f;
    padding: 5px;
    padding-left: 10px;
    padding-right: 10px;
    position: absolute;
    right: 7%;
    top: 47px;
    text-align: center;
    font-family: 'Poppins Light';
    color:#e7bfad;
    width: 130px;
    position:relative;
    float:left;
    right: auto;
    margin-right: 55px;
    top: 10px;
}
/*
.botonAceptoCookies:hover{
    background-color: #e7bfad;
    color:#2b2d2f;
}*/

.botonInformateCookies{
    background-color: #e7bfad;
    /*border-radius: 5px;*/
    color:#2b2d2f;
    cursor:pointer;
    border: 1px solid #e7bfad;
    padding: 5px;
    padding-left: 10px;
    padding-right: 10px;
    float: right;
    position:absolute;
    right: 120px;
    top: 47px;
    margin-right: 55px;
    text-align: center;
    font-family: 'Poppins Light';
    text-decoration: underline;
    width: 145px;
    position:relative;
    float:left;
    right: auto;
    top: 10px;
}
.botonRechazoCookies{
    background-color: #e7bfad;
    /*border-radius: 5px;*/
    color:#2b2d2f;
    cursor:pointer;
    border: 1px solid #e7bfad;
    padding: 5px;
    padding-left: 10px;
    padding-right: 10px;
    float: right;
    position:absolute;
    right: 120px;
    top: 47px;
    margin-right: 55px;
    text-align: center;
    font-family: 'Poppins Light';
    text-decoration: underline;
    width: 140px;
    position:relative;
    float:left;
    right: auto;
    top: 10px;
}
/*.botonInformateCookies:hover{
    background-color: #2b2d2f;
    color:#e7bfad;
}*/

/*
.tituloCookies {
    width: 100%;
    position: relative;
    float: left;
    font-size: 18px;
    margin-left: 7%;
    margin-bottom: 8px;
    margin-top: 5px;
    font-weight: bold;
}
*/
.tituloCookies {
    width: 68%;
    position: relative;
    float: left;
    font-size: 15px;
    margin-left: 2%;
    margin-bottom: 8px;
    margin-top: 5px;
    font-family: 'Poppins Light', sans-serif;
    font-weight: bold;
    width:98%;
}

.botonesCookies {
    float: left;
    position: relative;
    width: 28%;
    height: 95px;
    min-width: 311px;
    margin-left: 2%;
    width: 98%;
    height: 60px;
}
.subtituloCookies{
    margin-left: 10%;
    margin-right: 267px;
    margin-right: calc(7% + 160px);
    font-weight: normal;
    margin-bottom: 11px;
}
.aviso-banner {
    /*position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);*/
    position:relative;
    float: left;
    width: 100%;
    height: 63px;
    font-size: 18px;
    background-color: var(--logo-color);
    color: white;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Canela Thin', sans-serif;
    font-weight: 300;
    text-align: center;
    padding: 7px 25px;
    pointer-events: none;
    opacity: 1;
    transition: all 0.5s ease;
}

.aviso-banner-sub {
    text-decoration: underline;
    font-weight: 450;
}

.close-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 15px;
    opacity: 1;
    color: white;
    margin-left: 15px;
}

/*.btn-prueba {
  width: 100px;
  height: 100px;
  position: fixed;
  z-index: 10;
  bottom: 10px;
}*/


/*------------------FORM-------------------*/

/* Maximum aspect ratio */
@media (max-aspect-ratio: 19/13) {
    /*.section-recom-bg {
      height: 55vh;
    }*/
}

/* Maximum aspect ratio */
@media (max-aspect-ratio: 19/19) {
    /*.section-recom-bg {
      height: 45vh;
    }*/

    :root {
        /*--blog-margin-main: 80px;
        --menu-bg-color: #FBF0D0;
        --corporative-pages-bg-color: #F8C6AD;
        --shop-bg-color: #D2DDC5;
        --services-bg-color: #D6D7D8;
        --logo-color: #333333;
        --secondary-color: #EFEFEF;
        --margin-main: 7%;*/
        --slogan-presentation-font-size: 5.25vw;
        --slogan-small-font-size: 3vw;
        /*--course-secondary-font-size: 1rem;*/
    }



    .illus-slogan {
        max-height: 85px;
        transform: translateY(11%);
    }

}


@media (max-width: 1250px) {

    .title-interior {
        font-size: 85px;
    }
}

@media (hover: none)
and (pointer: coarse)
and (orientation: portrait), (max-width: 1170px) {
    .tituloCookies {
        width: 96%; 
    }
    .botonInformateCookies, .botonAceptoCookies, .botonRechazoCookies{
        top:19px;
    }
    .botonesCookies{
        height:54px;
    }

    .imagenFondoPrincipal {
        height: 97vh;
    }
}
@media (max-width: 1050px) {

    .container-card-portfolio{
        width: calc(50% - 30px);
    }

}

@media (max-width: 1070px) {

    .menu__mobile {
        display: flex !important;
    }
    .menu__desktop {
        display: none !important;
    }


    .slogan-small {
        font-size: 37px;
    }

    .slogan-semi-small{
        font-size: 40px;
    }

    .slogan-big {
        font-size: 55px;
    }

    .slogan-bigger{
        font-size: 112px;
    }

    .third-slogan {
        font-size: 18px;
        padding-right: 20px;
    }

    .flechaDerechaCarrusel {
        /*right: 7%;
        width: 60px;
        top: calc(50% - 30px);*/
    }

    .flechaIzquierdaCarrusel {
        /*left: 7%;
        width: 60px;
        top: calc(50% - 30px);*/
    }

    .segundo-fondo {
        top: 150vh;
    }

    .bloque-superior-interior {
        flex-direction: column;
        gap: 25px;
    }

}

@media (max-width: 880px) {
    .anchura-slogan-firm {
        max-width: 370px;
    }
}

@media (max-width: 750px) {
    .bloque-superior-texto{
        flex-direction: column;
        align-items: flex-start;
        row-gap: 20px;
    }



    .bloque-superior-interior{
        flex-direction: column;
        align-items: flex-start;
        row-gap: 20px;
    }

    .bloque-cifras{
        flex-direction: column;
        align-items: flex-start;
        row-gap: 20px;
    }

    .bloque-dos-slogan{
        flex-direction: column;
        align-items: flex-start;
        row-gap: 20px;
    }



    .container-card-portfolio{
        width: 100%;
    }
}


@media (max-width: 630px) {
    .bloque-superior{
        flex-direction: column;
        align-items: flex-start;
        row-gap: 20px;
    }

    .bloque-formulario-contacto{
        width:100%;
    }
    .contacto-izquierda{
        width: 100%;
    }

    /*.bloque-tarjetas{
        flex-direction: column;
        align-items: flex-start;
        row-gap: 20px;
    }

    .card {
        max-width: 325px;
        width: 100%;
    }*/

    .container-card-invest {
        width: 85vw;
        height: calc(85vw * (3.5 / 3)); /* Basado en tu aspect ratio */
    }
    /*
    .card-invest {
        width: 60vw;
    }
    */
    .capa-carrusel {
        left: -159vw;
    }
}

@media (max-width: 520px) {
    .contacto-izquierda {
        flex-direction: column;
    }
    .contacto-imagen {
        width: calc(100%);
    }
}

@media (max-width: 720px) {

    .botonAreaPrivadaMovil {
        display: none !important;
    }

    .botonAreaPrivadaMovilInterior {
        display: block !important;
    }
}

/* Portrait phones (less than 700px) */
@media (hover: none)
and (pointer: coarse)
and (orientation: portrait), (max-width: 460px) {

    :root {
        --margin-main: 5%;
        --slogan-presentation-font-size: /*8.7*/10vw;
        --slogan-small-font-size: 6.5vw;
    }

    .desktop {
        display: none;
    }

    .mobile {
        display: block;
    }

    /**/

    p {
        /*font-size: 2.9rem;*/
        font-size: 1.1rem;
    }

    label {
        /*font-size: 2.5rem;*/
    }

    input[type='radio'] {
        /*margin-left: 0.6rem;*/
        /*width: 2.5rem;*/
        /*height: 2.5rem;*/
    }

    /*Checkboxes styles*/
    input[type="checkbox"] { display: none; }

    input[type="checkbox"] + label {
        padding-left: 30/*45*/px;
        margin-bottom: 20px;
        /*font: 2.2rem 'Poppins Light', Arial, sans-serif;*/
    }

    input[type="checkbox"] + label:last-child { margin-bottom: 0; }

    input[type="checkbox"] + label:before {
        /*width: 30px;*/
        /*height: 30px;*/
        left: 0;
        top: 0;
    }

    input[type="checkbox"]:checked + label:before {
        /*width: 25px;*/
        top: -5px;
        left: 5px;
    }

    .error-message {
        /*font-size: 2.2rem;*/
    }

    form > #error-message-fields {
        margin-bottom: 0px;
    }

    form > #error-message-terms {
        margin-bottom: 20px!important;
    }
    /*----------ESTILO DE COMBOS------------------*/

    /*----------END ESTILO DE COMBOS---------------*/

    /**/


    .section-presentation {
        padding: var(--margin-main);
        align-items: flex-start;
        padding-top:max(var(--margin-main), 120px);
    }

    .second-section{
        align-items: flex-start;
    }

    .imagenFondoPrincipal {
        height: 70vh;
        top: 34%;
    }
    .segundo-fondo {
        top: 150vh;
    }
    .home-slogan-container {
        max-width: /*72%*//*87%*/100%;
        padding-top: calc( var(--margin-main) * 0.7 );
    }

    /*----------SLOGAN / SUBSLOGAN---------------*/
    .slogan {
        font-size: 44px;

    }
    .slogan-small{
        font-size: 24px;
        line-height: 32px;
    }
    .slogan-semi-small{
        font-size: 26px;
    }

    .slogan-big{
        font-size:60px;
        line-height: 68px;
    }

    .slogan-medium{
        font-size:48px;
        line-height: 56px;
    }

    .slogan-bigger{
        font-size:88px;
        line-height: 96px;
    }

    .bloque-tarjetas{
        align-items: center;
    }

    .section-home-area, .section-home-contact {
        align-items: flex-start;
        overflow: hidden;
    }

    .tercer-fondo{
        height: 65vh;
        left: 10%;
        right: auto;
    }

    .section-home-contact {
        flex-direction: column;
        row-gap: 50px;
        padding-right: 10vw;
        height: auto;
    }


    .imagen-contacto{
        float: left;
        position: relative;
        width: 100%;
    }

    .slogan-small-italics {
        font-family: 'Canela Thin Italic', serif-italic;
        font-size: var(--slogan-small-font-size);
        font-weight: 300;
        transition: all 0.3s ease;
    }


    .illus-slogan {
        max-height: 65px;
        transform: translateY(21%);
    }

    .slogan-italics {
        font-size: var(--slogan-presentation-font-size);
    }

    .sub-slogan {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding-bottom: 60px;
        transition: all 0.3s ease;
    }



    .sub-slogan img {
        max-width: 20px;
        margin-right: 10px;
    }

    .sub-slogan h6 {
        font-family: 'Montserrat', sans-serif;
        font-size: 14px;
        font-weight: 600;
    }

    .subslogan-link {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        /*margin: 25px 0px 70px 0px;*/
        transition: all 0.3s ease;
        width: 100%;
    }

    .subslogan-link img {
        /*width: 30px;*/
        /*margin-right: 20px;*/
    }

    .subslogan-link h6 {
        font-family: 'Montserrat', sans-serif;
        font-size: 14px;
        font-weight: 600;
    }

    .anchura-slogan-portfolio{
        min-width: auto;
    }

    .title-portfolio {
        font-size: 72px;
    }
    /*----------END SLOGAN / SUBSLOGAN---------------*/

    /*-------------------------------------*/
    .main-image-container {
        display: flex;
        justify-content: center;
        width: 100%;
        overflow: hidden;
        /*height: 65vh;*/
        margin-top: calc( var(--margin-main) * 2 );
    }

    .main-image {
        /*position: absolute;*/
        /*height: 65vh;*/
        width: 100%;
        /*border: none;*/
        /*object-fit: cover;*/
        /*object-position: 66% 50%;*/
    }
    /*-------------END GALLERY-BLOG------------------*/

    /*------------------FORM-------------------*/
    .ipt-err-icon {
        height: 20px;
        /*margin-right: 10px;*/
        top: 50%;
    }

    .aviso-pop-up {
        padding: 20px 10%;
        /*font-size: 2rem;*/
    }

    li{
        margin-left:20px;
    }

    .aviso-cookies {
        padding: 20px 10%;
        /*font-size: 2rem;*/
    }
    /*------------------FORM-------------------*/


    .aviso-banner{
        display: block;
        padding-top: 10px;
        padding-bottom: 10px;
        font-size: 14px;
        height: auto;
    }

    .tituloCookies{margin-left: 0px;}
    .subtituloCookies{margin-left: 0px;margin-right: 0px;}

    .botonAceptoCookies{
        position:relative;
        width: 30%;
        top:0;
        right: auto;
        float: left;
        margin-right: 5%;

    }
    .botonInformateCookies{
        position:relative;
        width: 30%;
        top:0;
        right: auto;
        margin-right: 0;

    }
    .botonRechazoCookies{
        position:relative;
        width: 30%;
        top:0;
        right: auto;
        float: left;
        margin-right: 5%;

    }
}





/**************************\
  Basic Modal Styles
\**************************/

.modal {
    font-family: "Source Sans Pro", sans-serif;
}

.modal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    justify-content: center;
    align-items: center;
    z-index:11;
}

.modal__container {
    background-color: rgba(255, 255, 255, 1);
    padding: 50px;
    width: 60vw;
    max-height: 100vh;
    height: 85vh;
    border-radius: 12px;
    /*overflow-y: hidden;*/
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
}

.modal__container__interior{
    width:70vw;
    max-height: 100vh;
    height: 85vh;
    display: block;
    border-radius: 0; 
    position: relative;
    float: left;
    background-color: rgba(255, 255, 255, 1);
    padding: 50px;
    box-sizing: border-box;
}

/*
.modal__container__interior__firma{
    width:55vw;
    height: 60vh;
}
*/

@media (min-height: 750px) {
    .modal__container__interior__portfolio{
        height:auto;
    }
}

@media (max-width: 1000px) {
    .modal__container__interior{
        width:90vw;
    }
}
@media (max-width: 800px) {
    .modal__container__interior {
        width: 100vw;
        height: 100vh;
    }
}

@media (max-width: 500px) {
    .modal__container__interior {
        padding: 25px;
        padding-right: 0;
    }
}

.modal__container__scene {
    width: min(100%, 650px);
    max-height: 100vh;
    height: min(100vh, 360px);
    display: block;
    border-radius: 0;
    position: relative;
    float: left;
    background-color: rgba(255, 255, 255, 1);
    padding: 60px;
    box-sizing: border-box;
}
.modal__header,
.modal__footer {
    height: auto;
    position:relative;
}

.modal__footer {
    margin-top: 30px;
    display: flex;
}

.modal__btn__close{
    float: left;
    right: 0;
    position: absolute;
    top: 15px;
    cursor: pointer;

}

.modal__btn__close_scene {
    float: left;
    right: 20px;
    position: absolute;
    top: 20px;
    cursor: pointer;
    width: 15px;
}
.popup__paragraph {
    float: left;
    position: relative;
    width: 100%;
    margin-bottom: 8px;
}

.modal__title {
    margin-bottom: 20px;
    font-family: 'Montserrat';
    font-size: 40px;
    color: black;
    font-weight: 500;  
    width: calc(100% - 40px);  
    margin-top: 0;
    line-height: initial;
}

.email__integrante{
    color:#000000;
    text-decoration: underline;
}

.modal__close {
    background: transparent;
    border: 0;
}

.modal__header .modal__close:before {
    content: "\2715";
}

.modal__img__content {
    float: left;
    position: relative;
    width: 50%;
    height: 100%;
}

.modal__img__content__portfolio {
    width: 60%;
}

.modal__img__content__mobile{
    float: left;
    position: relative;
    width: 0%;
}

@media (max-width: 750px) {
    .modal__img__content {
        width:0;
    }
    .modal__img__content__mobile{
        width: 100%;
        margin-bottom: 30px;
    }
}
.img__modal{
    float:left;
    position:relative;
    width:100%;
    height:100%;
    object-fit: cover;
}

.modal__content {
    padding-right: 10px;
    padding-left: 40px;
    font-family: 'Montserrat';
    font-size: 16px;
    line-height: 25px;
    font-weight: 300;
    letter-spacing: -3%;
    color: #000000;
    height: 100%;
    overflow-y: hidden;
}

.modal__scroll{
    position: relative;
    float: left;
    overflow-y: auto;
    height: 100%;
}

@media (max-width: 750px) {
    .modal__content {
        padding-right: 10px;
        padding-left: 0px;
    }
}

@media (max-width: 500px) {
    .modal__content {
        padding-right: 25px;
    }
}

.modal__content__scene {
    padding:0;
    text-align: justify;
}
.modal__content p{
    font-family: 'Montserrat';
    font-size: 16px;
    line-height: 25px;
    font-weight: 300;
    letter-spacing: -3%;
    color: #000000;
}

/*.modal__btn {
  width: auto;
  font-size: 0.875rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  background-color: transparent;
  color: rgba(0, 0, 0, 0.7);
  border: 1px solid rgba(0, 0, 0, 0.7);
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}*/

/*.modal__btn:focus,
.modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}*/

.modal__btn {
    background-color: transparent;
    border: 1px solid #61a229;
    color: #61a229;
    cursor: pointer;
    padding: 10px 15px;
    text-align: center;
    float: left;
    /*margin-right: 20px;*/
    font-weight: 300;
    transition: all 0.3s ease;
}

.modal__btn:hover {
    background-color: #61a229;
    color: #fff;
}

.modal__btn-primary {
    background-color: transparent;
    color: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 12px;
}

.modal__footer button:not(:first-child) {
    margin-left: 20px;
}

.modal__close {
    /*display: none;*/
}

/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes mmfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes mmslideIn {
    from {
        transform: translateY(15%);
    }
    to {
        transform: translateY(0);
    }
}

@keyframes mmslideOut {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(-10%);
    }
}

.micromodal-slide {
    display: none;
}

.micromodal-slide.is-open {
    display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
    animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
    animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
    will-change: transform;
}

/*Cambios*/

.modal {
    position: fixed;
    /*z-index: 10;*/
    z-index: 99;
}

.modal h3 {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 18px;
    font-weight: 500;
    margin-top: 1em;
    margin-bottom: 0.5em;
    color: black;
}

.modal h4 {
    font-weight: 500;
    margin-bottom: 10px;
}

.modal p {
    font-size: 14px;
    line-height: 1.6;
}

.modal ul {
    list-style-type: circle !important;
}

.modal ul li {
    font-size: 14px;
}

/*
.modal__title::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 7px;
    height: 100%;
    background: #ff7f00;
}
*/

#modal-mapa-web .main-page {
    margin-bottom: 0;
    margin-top: 0;
    outline: none;
    border: none;
}

#modal-mapa-web .main-page a {
    font-size: 13px;
    font-family: suisseintl, Helvetica, Arial, sans-serif;
    font-weight: 500;
    outline: none;
    border: none;
    transition: all 0.3s ease;
}

#modal-mapa-web .main-page a:hover {
    color: #ff7f00;
}

#modal-mapa-web div .page-section,
#modal-mapa-web div .page-section a {
    font-size: 13px;
    font-family: suisseintl, Helvetica, Arial, sans-serif;
    font-weight: 300;
    padding-left: 2em;
    margin-top: 0;
    margin-bottom: 0;
}

.modal-list li {
    list-style-type: circle;
    list-style-position: inside;
}

.modal-list > li > ol {
    margin-left: 20px;
    list-style: none;
}

@media screen and (max-width: 780px) {
    .modal__container {
        width: 100vw;
        height: 90vh;
        padding: 35px;
        margin: 15px;
    }
    .modal__footer {
        margin-top: 20px;
    }
}

table,
th,
td {
    /*border: 1px solid black;*/
    font-weight: 300;
}

table {
    width: 100%;
    min-width: 550px;
    border-collapse: collapse;
    border-style: solid;
    text-align: center;
    border: none;
    font-family: suisseintl, Helvetica, Arial, sans-serif;
    table-layout: fixed;
}

.table__tit {
    background: #61a229;
    color: #fff;
}

.table__subtit {
    background: #f4f4f4;
    color: #000;
}

.cookiesWelcome {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #2b2d2f;
    color: #fff;
    font-family: suisseintl, Helvetica, Arial, sans-serif;
    padding: 20px 7vw;
    font-size: 14px;
    text-align: left;
    transition: all 0.5s ease;
    z-index: 6;
}

.cookiesWelcome__tit, .cookiesWelcome__subtit {
    width: 100%;
}

.cookiesWelcome__tit {
    font-size: 18px;
    font-weight: 500;
}

.cookiesWelcome__subtit {
    font-size: 14px;
    font-weight: 100;
    margin-top: 20px;
}

.cookiesWelcome__txt {
    font-size: 13px;
    font-weight: 300;
    line-height: 1.3;
    margin-top: 10px;
}

.cookiesWelcome__btn {
    background-color: #61a229;
    border: 1px solid #61a229;
    color: #fff;
    cursor: pointer;
    padding: 10px 15px;
    text-align: center;
    float: left;
    margin-top: 20px;
    margin-right: 20px;
    font-weight: 300;
    transition: all 0.3s ease;
}

.cookiesWelcome__btn:hover {
    background-color: transparent;
}

.cookiesWelcome a {
    color: #ff7f00;
}

.cookiesWelcome__list {
    display: flex;
    margin-top: 10px;
}

.cookiesWelcome__list li:not(:first-child) {
    margin-left: 20px;
}

.cookiesWelcome__btnInfo {
    background-color: transparent;
    margin-right: 0px;
    font-weight: 300;
}

.cookiesWelcome__btnInfo:hover {
    background-color: #61a229;
}

.switch {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 17px;
}

.switch input { 
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .3s;
    transition: .3s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 13px;
    width: 13px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    -webkit-transition: .3s;
    transition: .3s;
}

input:checked + .slider {
    background-color: #61a229;
}

.switch--disabled input:checked + .slider {
    background-color: #ebebeb;
}

input:focus + .slider {
    box-shadow: 0 0 1px #61a229;
}

input:checked + .slider:before {
    -webkit-transform: translateX(13px);
    -ms-transform: translateX(13px);
    transform: translateX(13px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 12px;
}

.slider.round:before {
    border-radius: 50%;
}

.cookiesConfigBlock {
    padding: 20px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    margin-top: 20px;
}

.cookiesConfigBlock__tit {
    display: flex;
    justify-content: space-between;
}

.cookiesConfig__btn {
    background-color: #61a229;
    border: 1px solid #61a229;
    color: #fff;
    cursor: pointer;
    padding: 10px 15px;
    text-align: center;
    float: left;
    /*margin-right: 20px;*/
    font-weight: 300;
    transition: all 0.3s ease;
}

.cookiesConfig__btn:hover {
    background-color: transparent;
    color: #61a229;
}

#modal-1-content p{font-size: 15px}


.img--fullWidth {
    overflow: hidden;
    /*height: 270px;*/
    height: auto;
    width: 100vw;
    /* border-top: 1px solid #e9e8e7; */
    /* border-bottom: 1px solid #e9e8e7; */
}

.img--fullWidth img {
    /*height: 270px;*/
    height: 100%;
    width: 100%;
    object-fit: cover;
    aspect-ratio: 1.6 / 1;
    /* border-top: 1px solid #e9e8e7; */
    /* border-bottom: 1px solid #e9e8e7; */
}

.img--fullWidth--index img {
    transform: scale(1.15);
}



.img--fullWidth--center {
    overflow: hidden;
    /*height: 270px;*/
    height: auto;
    background-color: #ffffff;
    /* border-top: 1px solid #e9e8e7; */
    /* border-bottom: 1px solid #e9e8e7; */
}

.img--fullWidth--center img {
    /*height: 270px;*/
    /*height: 100%;*/
    max-height: 70vh;
    max-width: 96vw;
    margin: 0 auto;
    aspect-ratio: 1.6 / 1;
    /*object-fit: cover;*/
    /* border-top: 1px solid #e9e8e7; */
    /* border-bottom: 1px solid #e9e8e7; */
}

.imagen-servicios{
    width: 50vw;
    min-width: 300px;
    margin-top: 30px;
    margin-bottom: 40px;
}




.contenedor-progress {  
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    width: 100%;
}

.primera-columna-progress{
    position:sticky;
    height: 100vh;
}
.progress-container {
    left: 50px;
    top: 50%;
    transform:  rotate(-90deg);  
    width: min(65vh, 25vw);
    height: min(65vh, 25vw);
}
svg {
    width: 100%;
    height: 100%;
}
circle {
    fill: none;
    stroke-width: 1;
    stroke-width: 0.2;
    stroke-linecap: round;
}
.background-circle {
    stroke: rgba(0, 0, 0, 0.2);
}
.progress-circle {
    stroke: rgba(0, 0, 0, 0.8);
    stroke-dasharray: 314;
    stroke-dashoffset: 314;
    transform-origin: center;
    transition: stroke-dashoffset 0.3s ease-out;
}
.stroke1{
    stroke-dashoffset: 325%;
}
.stroke2{
    stroke-dashoffset: 250%;
}
.stroke3{
    stroke-dashoffset: 175%;
}
.stroke4{
    stroke-dashoffset: 100%;
}
.stroke5{
    stroke-dashoffset: 25%;
}

.icon {
    width: 20px;
    height: 20px;
    position: absolute;
    transition: filter 0.3s ease;
}
.active-icon {
    filter: invert(1);
}
.icon-container {
    position: absolute;
    transform: translate(-50%, -50%);  
    width:6vh;
    height:6vh;
    /*
    width: min(6vh, 3vw);
    height: min(6vh, 3vw);
    */
    transform: rotate(90deg);
}

.icon-container1{
    top: calc(50% - 3vh); left: calc(100% - 6vh); 
}
.icon-container2{
    top: calc(100% - 6vh); left: calc(50% - 3vh);
}
.icon-container3{
    top: calc(50% - 3vh); left: 0;
}
.icon-container4{
    top: 0%; left: calc(50% - 3vh);
}

@media (max-width: 1300px) {
    .icon-container1{
        top: calc(50% - 1.5vw); left: calc(100% - 3vw); 
    }
    .icon-container2{
        top: calc(100% - 3vw); left: calc(50% - 1.5vw);
    }
    .icon-container3{
        top: calc(50% - 1.5vw); left: 0;
    }
    .icon-container4{
        top: 0%; left: calc(50% - 1.5vw);
    } 

}
@media (max-width: 1000px) {
    .icon-container1{
        top: calc(50% - 2vw); left: calc(100% - 4vw); 
    }
    .icon-container2{
        top: calc(100% - 4vw); left: calc(50% - 2vw);
    }
    .icon-container3{
        top: calc(50% - 2vw); left: -1vw;
    }
    .icon-container4{
        top: -1vw; left: calc(50% - 2vw);
    } 

}

.sections {
    width: 60%;
}
.section_progress {
    display: flex;
    align-items: start;
    justify-content: center;
    font-size: 2rem;
    border-bottom: 2px solid #ddd;  
    flex-direction: column;  
    gap: 26px;
    padding-bottom: 15vh;
    opacity:0.3;
}
.last_section_progress {
    padding-bottom: 5vh;
    border: 0px;
}

.section_progress_active{
    opacity:1;
}

.scroll-section {
    display: flex;
    gap: 2rem;
    align-items: flex-start;
    width: 100%;

}

.image-column {
    width: 40%;
    position: sticky;
    top: 0;
    height: 100vh; /* Ocupa toda la altura de la ventana */  
    display: flex;
    align-items: center;
    justify-content: center;
}

.image-column img {
    width: 100%;
    height: 100%;
    object-fit: cover;  
    border-radius: 30px;
    border: 2px solid #d0d0d0;
}

.text-column {
    width: 60%;
    display: flex;
    flex-direction: column;
    gap: 10vh; /* Espacio entre bloques de texto */
    margin-top: 30vh;  
    margin-bottom: 30vh;
}




@media (max-width: 500px) {
    .scroll-section {
        flex-direction: column;
    }
    .image-column {
        height: auto;
        width: 100%;
        position: relative;
    }
    .progress-container {
        width: min(65vh, 70vw);
        height: min(65vh, 70vw);
    }
    .text-column {
        margin-bottom: 0vh;
        width: 100%;
        margin-top: 15vh;
    }


    .icon-container1{
        top: calc(50% - 5vw); left: calc(100% - 10vw); 
    }
    .icon-container2{
        top: calc(100% - 11vw); left: calc(50% - 6vw);
    }
    .icon-container3{
        top: calc(50% - 5vw); left: -3vw;
    }
    .icon-container4{
        top: -3vw; left: calc(50% - 6vw);
    }
}



/*------------ -----------------------------------------------------------------------------------*/
/*------------------------------------ Empiezan las POP-UP----------------------------------------*/
/*------------ -----------------------------------------------------------------------------------*/
.popup {
    position: absolute;
    left: 30%;
    top: 50%;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    border: 1px solid #000;
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    /*
    -moz-box-shadow: 3px 3px 0px 0px #d0d0d0;
    -webkit-box-shadow: 3px 3px 0px 0px #d0d0d0;
    box-shadow: 3px 3px 0px 0px #d0d0d0;
    */
    background-color: #fff;
    width: 251px;
    cursor: pointer;
}

.popup-color-religiosa, .popup-color-Religiosa {
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 3px 3px 0px 0px #293241;
    -webkit-box-shadow: 3px 3px 0px 0px #293241;
    box-shadow: 3px 3px 0px 0px #293241;
}

.popup-color-religiosa .popup-btn, .popup-color-Religiosa .popup-btn {
    background-color: #293241;
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 2px 2px 0px 0px #a7a7a7;
    -webkit-box-shadow: 2px 2px 0px 0px #a7a7a7;
    box-shadow: 2px 2px 0px 0px #a7a7a7;
}

.popup-color-civil, .popup-color-Civil {
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 3px 3px 0px 0px #457b9d;
    -webkit-box-shadow: 3px 3px 0px 0px #457b9d;
    box-shadow: 3px 3px 0px 0px #457b9d;
}

.popup-color-civil .popup-btn, .popup-color-Civil .popup-btn {
    background-color: #457b9d;
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 2px 2px 0px 0px #98c1d9;
    -webkit-box-shadow: 2px 2px 0px 0px #98c1d9;
    box-shadow: 2px 2px 0px 0px #98c1d9;
}

.popup-color-militar, .popup-color-Militar {
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 3px 3px 0px 0px #e63946;
    -webkit-box-shadow: 3px 3px 0px 0px #e63946;
    box-shadow: 3px 3px 0px 0px #e63946;
}

.popup-color-militar .popup-btn, .popup-color-Militar .popup-btn {
    background-color: #e63946;
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 2px 2px 0px 0px #293241;
    -webkit-box-shadow: 2px 2px 0px 0px #293241;
    box-shadow: 2px 2px 0px 0px #293241;
}

.popup-color-privada, .popup-color-Privada {
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 3px 3px 0px 0px #649d1b;
    -webkit-box-shadow: 3px 3px 0px 0px #649d1b;
    box-shadow: 3px 3px 0px 0px #649d1b;
}

.popup-color-privada .popup-btn, .popup-color-Privada .popup-btn {
    background-color: #649d1b;
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 2px 2px 0px 0px #a7a7a7;
    -webkit-box-shadow: 2px 2px 0px 0px #a7a7a7;
    box-shadow: 2px 2px 0px 0px #a7a7a7;
}

.popup-color-industrial, .popup-color-Industrial {
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 3px 3px 0px 0px #0049c3;
    -webkit-box-shadow: 3px 3px 0px 0px #0049c3;
    box-shadow: 3px 3px 0px 0px #0049c3;
}

.popup-color-industrial .popup-btn,.popup-color-Industrial .popup-btn {
    background-color: #0049c3;
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 2px 2px 0px 0px #a7a7a7;
    -webkit-box-shadow: 2px 2px 0px 0px #a7a7a7;
    box-shadow: 2px 2px 0px 0px #a7a7a7;
}

.popup-color-mixto, .popup-color-Mixto {
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 3px 3px 0px 0px #a7a7a7;
    -webkit-box-shadow: 3px 3px 0px 0px #a7a7a7;
    box-shadow: 3px 3px 0px 0px #a7a7a7;
}

.popup-color-mixto .popup-btn,.popup-color-Mixto .popup-btn {
    background-color: #a7a7a7;
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 2px 2px 0px 0px #a7a7a7;
    -webkit-box-shadow: 2px 2px 0px 0px #a7a7a7;
    box-shadow: 2px 2px 0px 0px #a7a7a7;
}


.popup-color-- {
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 3px 3px 0px 0px #a7a7a7;
    -webkit-box-shadow: 3px 3px 0px 0px #a7a7a7;
    box-shadow: 3px 3px 0px 0px #a7a7a7;
}

.popup-color-- .popup-btn {
    background-color: #a7a7a7;
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 2px 2px 0px 0px #a7a7a7;
    -webkit-box-shadow: 2px 2px 0px 0px #a7a7a7;
    box-shadow: 2px 2px 0px 0px #a7a7a7;
}



.color-texto-Civil, .ficha-itm-color-2 .colorTextoFicha{
    color:#457b9d;
}
.color-texto-Religiosa, .ficha-itm-color-1 .colorTextoFicha{
    color:#293241;
}
.color-texto-Militar, .ficha-itm-color-3 .colorTextoFicha{
    color:#e63946;
}
.color-texto-Privada, .ficha-itm-color-4 .colorTextoFicha{
    color:#649d1b;
}
.color-texto-Industrial, .ficha-itm-color-5 .colorTextoFicha{
    color:#0049c3;
}
.color-texto-Mixto, .ficha-itm-color-6 .colorTextoFicha{
    color:#a7a7a7;
}
.color-texto--, .ficha-itm-color-0 .colorTextoFicha{
    color:#a7a7a7;
}

/*
iframe{
    width: 100% !important;
    height: 260px !important;
}
*/

.popup-btn {
    height: 23px;
    margin-top: 5px;
    font-family: "Roboto";
    font-weight: 300;
    font-size: 12px;
    color: #fff;
    background-color: #457b9d;
    /* offset-x | offset-y | blur-radius | spread-radius | color */
    -moz-box-shadow: 2px 2px 0px 0px #98c1d9;
    -webkit-box-shadow: 2px 2px 0px 0px #98c1d9;
    box-shadow: 2px 2px 0px 0px #98c1d9;
    border: none;
    border-radius: 0;
    padding-left: 25px;
    padding-right: 25px;
    cursor: pointer;
    position: absolute;
    bottom: 1em;
}

.popup-txt {
    position: relative;
    width: 250px;
    padding: 30px;
    padding-top: 15px;
    font-family: "Merriweather", serif;
    font-weight: 400;
    overflow-x: hidden;
    /*white-space: nowrap;*/
}

.popup-tit {
    font-size: 13px;
    margin-bottom: 15px;
    font-family: "Montserrat", sans-serif;
}

.popup-content {
    font-family: "Montserrat", sans-serif;
    font-weight: 300;
    font-size: 12px;
}

.popup-img-container {
    position: relative;
    width: 249px;
    height: 175px;
    height: 0px;
}

.popup-header{
    padding-top: 5px;
    padding-bottom: 15px;
}

.popup-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.popup-who,
.popup-where,
.popup-when {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.popup-who,
.popup-where {
    /*margin-bottom: 0.7em;*/
}

.close-popup {
    position: absolute;
    width: 33px;
    top: 10px;
    right: 10px;
    padding: 8px;
    background: rgba(0, 0, 0, 0.6);
    cursor: pointer;
    z-index:1;
}

.textoCortadoDosLineas{    
    color: #000000;
    font-size: 13px;
    margin-top: -5px;
    margin-bottom: 15px;
    line-height: 17px;
}

.leaflet-popup-close-button{
    display:none;
}

.leaflet-popup-content-wrapper {
}



/*Semicirculo de valores*/

/*
.header-values {
    background-color: #D9D9D9;
    height: 60px;
    position: relative;
    width: 100vw;
}

.circle-bg-values {
    width: 100%;
    height: 200px;
    position: absolute;
    top: 60px;
    left: 0;
    z-index: 0;
}

.logo-values {
    width: 80px;
    height: 80px;
    background: #000;
    border-radius: 50%;
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 32px;
    font-weight: bold;
}

.img-logo-values{
    float:left;
    position:relative;
    width:100%;
}

.semicircle-values {
    position: relative;
    width: 90%;
    max-width: 700px;
    aspect-ratio: 2 / 1;
    margin: 0 auto;
    border-bottom-left-radius: 1000px;
    border-bottom-right-radius: 1000px;
    background: #F2F2F2;
    overflow: visible;
    margin-bottom: 10%;
}

.contenido-circle-values{
    padding: 70px;
    text-align: center;
}

.title-our-values{
    color: #000;
    font-family: 'Newsreader Italic';
    font-weight: 300 !important;
    font-size: 42px;
}

.icon-values {
    position: absolute;
    font-size: 28px;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    white-space: nowrap;

}

.icon-label-values {
    font-family: 'Montserrat';
    font-size: 24px;
    font-weight: 300;
    margin-top: 5px;
    display: block;
    white-space: nowrap;
}

.arrow-values {
    position: absolute;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transform: translate(-50%, -50%) rotate(0deg);
    transition: opacity 0.2s ease;
    opacity: 1;
    z-index: 2;
}

.imagen-flecha-values{
    width: 45px;
    transform: rotate(-90deg);
}

.arrow-values.hidden {
    opacity: 0;
}

.content-values {
    margin-top: 30px;
    padding: 0 20px;
}

.content-values-mobile {
    display:none;
}

.title-values {
    font-family: 'Montserrat';
    font-size: 24px;
    font-weight: 300;
}

.subtitle-values {
    font-size: 20px;
    font-weight: bold;
}

.desc-values {
    max-width: min(100%, 500px);
    font-family: 'Montserrat';
    font-size: 15px;
    font-weight: 300;
    margin: 10px auto;
    padding-left: 20px;
    padding-right: 20px;
}

.nav-arrows-values {
    margin: 20px;
    display: none;
    justify-content: center;
    gap: 20px;
}

.nav-arrows-values button {
    background: #ddd;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 20px;
    cursor: pointer;
}

@media (max-width: 1100px) {

    .icon-label-values{
        display:none;
    }
}


@media (max-width: 780px) {

    .content-values {
        display:none;
    }

    .content-values-mobile {
        display:block;
        text-align: center;
        margin-top:90px;
    }
}




@media (max-width: 600px) {
    .contenido-circle-values {
        padding: 20px;
    }
    .logo-values {
        display:none;
    }
    .semicircle-values {
        width: 75%;
    }
    .title-our-values{
        font-size: 30px;
    }


    .imagen-flecha-values{
        width: 30px;
    }

}




@media (max-width: 400px) {

    .semicircle-values {
        width: 60%;
    }

}
*/

.header-values {
    background-color: #D9D9D9;
    height: 60px;
    position: relative;
    width: 100vw;
}

.circle-bg-values {
    width: 100%;
    height: 200px;
    position: absolute;
    top: 60px;
    left: 0;
    z-index: 0;
}

.logo-values {
    width: 80px;
    height: 80px;
    background: #000;
    border-radius: 50%;
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 32px;
    font-weight: bold;
}



.img-logo-values{
    float:left;
    position:relative;
    width:100%;
}


.contenido-circle-values {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}



.icon-values {
    position: absolute;
    font-size: 28px;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    white-space: nowrap;
}


.icon-label-values {
    font-family: 'Montserrat';
    font-size: 24px;
    font-weight: 300;
    margin-top: 5px;
    display: block;
    white-space: nowrap;
}
.arrow-values {
    position: absolute;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transform: translate(-50%, -50%) rotate(0deg);
    transition: opacity 0.2s ease;
    opacity: 1;
    z-index: 2;
}

.imagen-flecha-values {
    width: 45px;
    transform: rotate(180deg);
}

.arrow-values.hidden {
    opacity: 0;
}

.negrita {
    font-weight: bold;
}

.semicircle-values {
    position: relative;
    width: 90vw;
    max-width: 425px;
    aspect-ratio: 1 / 1;
    margin: 0 auto 16vh;
    margin-bottom: 75px;
    border-radius: 50%;
    background: #F2F2F2;
    overflow: visible;
}

.circle-central {
    width: 80px;
    height: 80px;
    background: #000;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.text-upper {
    position: absolute;
    top: 22%;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    z-index: 1;
    width:100%;
}

.text-lower {
    position: absolute;
    top: 38%;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    z-index: 1;
    width:80%;
    margin-top:5px;
}

.semicircle-values-home .text-upper{
    top: 30%;
}
.semicircle-values-home .text-lower{
    top: 45%;
}

.title-our-values{
    color: #000;
    font-family: 'Newsreader Italic';
    font-weight: 300 !important;
    font-size: 55px;
}


.content-values-mobile {
    display:none;
}

.title-values {
    font-family: 'Montserrat';
    font-size: 24px;
    font-weight: 300;
}

.subtitle-values {
    font-size: 20px;
    font-weight: bold;
}

.desc-values {
    max-width: min(100%, 500px);
    font-family: 'Montserrat';
    font-size: 15px;
    font-weight: 300;
    margin: 10px auto;
    padding-left: 20px;
    padding-right: 20px;
}

.desc-values ul{  
    padding-left: 0;
    list-style: none;
}

.desc-values li{
    list-style-position: inside;
    margin-bottom: 10px;
}

.nav-arrows-values {
    margin: 20px;
    display: none;
    justify-content: center;
    gap: 20px;
}

.nav-arrows-values button {
    background: #ddd;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 20px;
    cursor: pointer;
}

@media (max-width: 1400px) {
    .semicircle-values {
        margin-bottom:90px;
    }
}

@media (max-width: 900px) {
    .contenido-circle-values {
        padding: 20px;
    }
    .logo-values {
        display:none;
    }
    .semicircle-values {
        width: 60%;
    }
    .icon-label-values{
        font-size: 20px;
    }
    .title-values{
        font-size: 20px;
    }

    .desc-values{
        font-size: 14px;
    }

    .imagen-flecha-values{
        width: 30px;
    }
    .circle-central {
        width: 50px;
        height: 50px;
    }

    .title-our-values {
        font-size: 35px;
    }
}



@media (max-width: 700px) {
    .icon-label-values {
        display: none;
    }


    .semicircle-values {
        margin-bottom:35px;
    }

    .text-lower{
        display:none;
    }

    .text-upper, .semicircle-values-home .text-upper{
        top:40%;
    }

    .content-values-mobile {
        display:block;
        text-align: center;
        margin-top:75px;
        margin-top:20vw;
    }
}

@media (max-width: 400px) {


    .title-our-values {
        font-size: 30px;
    }
}


.tabla-responsiva {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Desktop */
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 30px;
}

/* Estilo base */
.celda {
    padding: 1rem;
    text-align: center;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

/* --- 3 columnas: solo bordes internos --- */
.tabla-responsiva > .celda:nth-child(-n+3) {
    border-top: none;
}
.tabla-responsiva > .celda:nth-child(3n+1) {
    border-left: none;
}
.tabla-responsiva > .celda:nth-child(3n) {
    border-right: none;
}
.tabla-responsiva > .celda:nth-last-child(-n+3) {
    border-bottom: none;
}

/* --- 2 columnas: solo bordes internos --- */
@media (max-width: 1300px) {
    .tabla-responsiva {
        grid-template-columns: repeat(2, 1fr);
    }

    .celda {
        border: 1px solid #ccc;
    }

    .tabla-responsiva > .celda:nth-child(-n+2) {
        border-top: none;
    }
    .tabla-responsiva > .celda:nth-child(2n+1) {
        border-left: none;
    }
    .tabla-responsiva > .celda:nth-child(2n) {
        border-right: none;
        border-left: none;
        border-bottom: none;
    }
    .tabla-responsiva > .celda:nth-last-child(-n+2) {
        border-bottom: none;
    }
    .tabla-responsiva > .celda:nth-child(3n) {
        border-bottom: none;
        border-right:1px solid #ccc;
    }
    .tabla-responsiva > .celda:nth-child(6n) {
        border-right:none;
    }
}

/* --- 1 columna (móvil): solo bordes horizontales internos --- */
@media (max-width: 960px) {
    .tabla-responsiva {
        grid-template-columns: 1fr;
    }

    .celda {
        border-left: none !important;
        border-right: none !important;;
        border-top: 1px solid #ccc !important;;
        border-bottom: 1px solid #ccc !important;;
    }

    .tabla-responsiva > .celda:first-child {
        border-top: none !important;;
    }

    .tabla-responsiva > .celda:last-child {
        border-bottom: none !important;;
    }
}





.tabla-responsiva4 {
    display: grid;
    width: 100%;
    border-collapse: collapse;
}



.tabla-responsiva4 .highlights__number{
    font-size: 35px;
    line-height: 44px;
}


.tabla-responsiva4 .highlights__text {
    font-family: 'Montserrat';  
    font-size: 24px;
    line-height: 32px;
    margin-top: 8px;
    white-space: normal;
}

.celda4 {
    padding: 1rem;
    text-align: center;
    border: 1px solid #ccc;
    box-sizing: border-box;
}


@media (max-width: 660px) {

    .tabla-responsiva4 .highlights__number {
        font-size: 26px;
        line-height: 36px;
    }
    .tabla-responsiva4 .highlights__text {
        font-size: 20px;
    }
}


@media (max-width: 400px) {

    .tabla-responsiva4 .highlights__number {
        font-size: 23px;
        line-height: 30px;
    }
    .tabla-responsiva4 .highlights__text {
        font-size: 18px;
    }
    .celda4 {
        padding: 5px;
    }
    .highlights__item {
        padding: 12px;
    }
}

/* === BREAKPOINT: MOBILE (1 columna) === */
/*
@media (max-width: 960px) {
  .tabla-8,
  .tabla-4 {
    grid-template-columns: 1fr;
  }

  .tabla-responsiva4 > .celda4 {
    border-left: none;
    border-right: none;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }

  .tabla-responsiva4 > .celda4:first-child {
    border-top: none;
  }

  .tabla-responsiva4 > .celda4:last-child {
    border-bottom: none;
  }
}
*/
/* === BREAKPOINT: TABLET (2 columnas) === */
/*@media (min-width: 961px) and (max-width: 1300px) {*/
@media (max-width: 1300px) {
    .tabla-8,
    .tabla-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .tabla-responsiva4 > .celda4 {
        border: 1px solid #ccc;
    }

    .tabla-responsiva4 > .celda4:nth-child(-n+2) {
        border-top: none;
    }

    .tabla-responsiva4 > .celda4:nth-child(2n+1) {
        border-left: none;
    }

    .tabla-responsiva4 > .celda4:nth-child(2n) {
        border-right: none;
    }

    .tabla-responsiva4 > .celda4:nth-last-child(-n+2) {
        border-bottom: none;
    }
}

/* === BREAKPOINT: DESKTOP (4 columnas) === */
@media (min-width: 1301px) {
    .tabla-8,
    .tabla-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    .tabla-responsiva4 > .celda4 {
        border: 1px solid #ccc;
    }

    .tabla-responsiva4 > .celda4:nth-child(-n+4) {
        border-top: none;
    }

    .tabla-responsiva4 > .celda4:nth-child(4n+1) {
        border-left: none;
    }

    .tabla-responsiva4 > .celda4:nth-child(4n) {
        border-right: none;
    }

    /* tabla-8 tiene 2 filas (últimos 4 sin borde inferior) */
    .tabla-8 > .celda4:nth-last-child(-n+4),
    .tabla-4 > .celda4:nth-last-child(-n+4) {
        border-bottom: none;
    }
}




.container-5 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

/* Estilo general para los items */
.item-5 {
    box-sizing: border-box;
    padding: 1rem;
    text-align: center;
}


.container-5 .highlights__number{
    font-size: 30px;
    line-height: 44px;
}


.container-5 .highlights__text {
    font-family: 'Montserrat';  
    font-size: 24px;
    line-height: 32px;
    margin-top: 8px;
    white-space: normal;
}


@media (max-width: 660px) {

    .container-5 .highlights__number {
        font-size: 26px;
        line-height: 36px;
    }
    .container-5 .highlights__text {
        font-size: 20px;
    }
}


@media (max-width: 400px) {

    .container-5 .highlights__number {
        font-size: 23px;
        line-height: 30px;
    }
    .container-5 .highlights__text {
        font-size: 18px;
    }

    .container-5 .highlights__item {
        padding: 12px;
    }

    .item-5 {
        padding: 5px;
    }
}

/* Pantallas grandes: 5 en una fila */
@media (min-width: 1302px) {
    .item-5 {
        width: 20%; /* 100 / 5 */
    }
}

/* Pantallas medianas: 3 arriba, 2 centrados abajo (space-around) */
@media (min-width: 801px) and (max-width: 1300px) {
    .item-5 {
        width: 33.33%;
    }

    .container-5 {
        justify-content: flex-start;
    }

    .item-5:nth-child(4),
    .item-5:nth-child(5) {
        width: 30%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Pantallas pequeñas: 2 + 2 + 1 centrado */
@media (max-width: 800px) {
    .item-5 {
        width: 50%;
    }

    .item-5:nth-child(5) {
        width: 100%;
        display: flex;
        justify-content: center;
    }
}







.tabla-responsiva-6 {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Desktop */
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 30px;
}

/* Estilo base */
.celda-6 {
    padding: 1rem;
    text-align: center;
    border: 1px solid #ccc;
    box-sizing: border-box;
}



.tabla-responsiva-6 .highlights__number{
    font-size: 30px;
    line-height: 44px;
}


.tabla-responsiva-6 .highlights__text {
    font-family: 'Montserrat';  
    font-size: 24px;
    line-height: 32px;
    margin-top: 8px;
    white-space: normal;
    color:#000000;
}


@media (max-width: 660px) {

    .tabla-responsiva-6 .highlights__number {
        font-size: 26px;
        line-height: 36px;
    }
    .tabla-responsiva-6 .highlights__text {
        font-size: 20px;
    }
}


@media (max-width: 400px) {

    .tabla-responsiva-6 .highlights__number {
        font-size: 23px;
        line-height: 30px;
    }
    .tabla-responsiva-6 .highlights__text {
        font-size: 18px;
    }

    .tabla-responsiva-6 .highlights__item {
        padding: 12px;
    }

    .celda-6 {
        padding: 5px;
    }
}

/* --- 3 columnas: solo bordes internos --- */
.tabla-responsiva-6 > .celda-6:nth-child(-n+3) {
    border-top: none;
}
.tabla-responsiva-6 > .celda-6:nth-child(3n+1) {
    border-left: none;
}
.tabla-responsiva-6 > .celda-6:nth-child(3n) {
    border-right: none;
}
.tabla-responsiva-6 > .celda-6:nth-last-child(-n+3) {
    border-bottom: none;
}

/* --- 2 columnas: solo bordes internos --- */
@media (max-width: 1300px) {
    .tabla-responsiva-6 {
        grid-template-columns: repeat(2, 1fr);
    }

    .celda-6 {
        border: 1px solid #ccc;
    }

    .tabla-responsiva-6 > .celda-6:nth-child(-n+2) {
        border-top: none;
    }
    .tabla-responsiva-6 > .celda-6:nth-child(2n+1) {
        border-left: none;
    }
    .tabla-responsiva-6 > .celda-6:nth-child(2n) {
        border-right: none;
        border-left: none;
        border-bottom: none;
    }
    .tabla-responsiva-6 > .celda-6:nth-last-child(-n+2) {
        border-bottom: none;
    }
    .tabla-responsiva-6 > .celda-6:nth-child(3n) {
        border-bottom: none;
        border-right:1px solid #ccc;
    }
    .tabla-responsiva-6 > .celda-6:nth-child(6n) {
        border-right:none;
    }
}

/* --- 1 columna (móvil): solo bordes horizontales internos --- */
@media (max-width: 960px) {
    .tabla-responsiva-6 {
        grid-template-columns: 1fr;
    }

    .celda-6 {
        border-left: none !important;
        border-right: none !important;;
        border-top: 1px solid #ccc !important;;
        border-bottom: 1px solid #ccc !important;;
    }

    .tabla-responsiva-6 > .celda-6:first-child {
        border-top: none !important;;
    }

    .tabla-responsiva-6 > .celda-6:last-child {
        border-bottom: none !important;;
    }
}




.word-wrapper {
    display: inline-block;
    overflow: hidden;
    vertical-align: bottom;
}

.slogan-word {
    display: inline-block;
    transform: translateY(100%);
}

.second-slogan .slogan-word{
    margin-bottom: 4px;
}


@media (max-width: 1000px) {
    .second-slogan .slogan-word{
        margin-bottom: 3px;
    }
}

@media (max-width: 500px) {
    .second-slogan .slogan-word{
        margin-bottom: 2px;
    }
}








.circulo-valores{
    margin: 0;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    font-family: 'Montserrat';
    max-width: 670px;
    margin-bottom: 20px;
}


.circle-container {
    position: relative;
    width: 100%;
}

.circulo-valores svg {
    width: 100%;
    height: 100%;
}

.center-text {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 15px;
    font-weight: 300;
    text-align: center;
    color: black;
    pointer-events: none;
}

.circle-title .center-text-title{
    font-size: 22px;
    font-family: 'Montserrat';
    font-weight: 400;
    margin-top: 5px;
}

.center-text-mobile {
    position: relative;
    font-size: 18px;
    font-weight: 300;
    text-align: center;
    color: black;
    pointer-events: none;
    display:none;
}

.center-text-mobile .center-text-title{
    font-size: 20px;
    margin-bottom:10px;
}





.circle-title {
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Newsreader Italic';
    font-weight: 300 !important;
    font-size: 42px;
    text-align: center;
    color: black;
    pointer-events: none;
}

@media (max-width: 600px) {
    .center-text-mobile{
        display:block;
    }
    .center-text{
        display:none;
    }
    .circle-title .center-text-title{
        display:none;
    }

    .circle-title{
        font-size: 34px;
        margin-top: 184px;
        top: 0;
    }
}

@media (max-width: 400px) {

    .circle-title{
        margin-top: 145px;
    }
}

.segment {
    fill: black;
    stroke: white;
    stroke-width: 0.5;
    cursor: pointer;
    transition: fill 0.3s;
}

.segment:hover,
.segment.hovered {
    fill: white;
}

.segment.selected {
    fill: white;
}

textPath {
    fill: white;
    font-size: 7px;
    transition: fill 0.3s;
    pointer-events: none;
}

.segment:hover ~ text textPath[data-index].hovered,
.segment.hovered ~ text textPath[data-index].hovered,
.segment.selected ~ text textPath[data-index].selected {
    fill: black;
}

path.textArc {
    fill: none;
}




/*TIMELINE*/



.timeline-container {
    position: relative;
    width: 100%;
    margin: 0 auto;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 18px;
}

.line {
    height: 2px;
    background: #ccc;
    position: absolute;
    top: 50px;
    left: 0;
    right: 0;
    z-index: 1;
}

.points {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}

.point {
    position: relative;
    cursor: pointer;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 35px;
    text-align: center;
}

.circle-img {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    object-fit: cover;
    position: relative;
    top: 50px;
    border: 1px solid #ccc;
    transform: translateY(-50%);
    transition: transform 0.3s;
}

.active .circle-img {
    border: 0px;
}
/*
.point:hover .circle-img,
.point.active .circle-img {
    transform: translateY(-50%) scale(1.05);
}
*/
.label {
    margin-top: 10px;
    font-style: italic;
}

.content {
    margin-top: 55px;
    font-size: 18px;
    min-height: 60px;
    margin-left: auto;
    margin-right: auto;
    transition: opacity 0.3s ease;
    text-align: center;
    width: 100%;
    min-height: 120px;
}

#slogansFirma{
    display:none;
}

@media (max-width: 600px) {
    .timeline-container {
        display:none;
    }

    #slogansFirma{
        display:flex;
    }
}