/* =============================================================================
   3. VIDEO CABECERA
   ========================================================================== */
   /*#video-cabecera .et_pb_slide {
    /* aspect-ratio: 288 / 173; viejo video 
    aspect-ratio: 16 / 9;
}*/

/* =============================================================================
   4. DATOS DE CONFIANZA
   ========================================================================== */
.roulette-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 250px;
    width: 400px;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    background-color: #1a2a24;
}

.arrow {
    position: absolute;
    left: 1em;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2em;
    color: white;
    z-index: 2;
}

.roulette-list {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.roulette-list li {
    color: white;
    font-size: 2em;
    padding: 0.5em 1em 0.5em 3em;
    text-align: left;
    line-height: 1.5;
}

.roulette-container::before,
.roulette-container::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

.roulette-container::before {
    top: 0;
    height: 40%;
    background: linear-gradient(to top, rgba(26, 42, 36, 0.2), rgba(26, 42, 36, 1));
}

.roulette-container::after {
    bottom: 0;
    height: 40%;
    background: linear-gradient(to bottom, rgba(26, 42, 36, 0.2), rgba(26, 42, 36, 1));
}

/* =============================================================================
   5. SERVICIOS
   ========================================================================== */


#servicios h3 {
    font-size: 1.3vw;
}

.servicio {
    position: relative;
    overflow: hidden;
}

.servicio .fondo-hover {
    transition: transform 0.3s ease;
    will-change: transform;
    aspect-ratio: 10 / 14;
    overflow: hidden;
}

.servicio:hover .fondo-hover {
    transform: scale(1.05);
}

.servicio:hover h3 {
    font-weight: 600;
}

/* =============================================================================
   6. ANIMACION SERVICIOS
   ========================================================================== */
.animacion-servicios {
    position: relative;
    overflow-x: hidden;
    white-space: nowrap;
}

.word {
    display: inline-block;
    opacity: 0.5;
    transform: translateX(0);
    transition: opacity 0.5s, transform 0.5s;
    color: lightgray;
    margin-right: 20px;
    font-size: 3.5vw;
    font-weight: 700;
}

.word:not(:last-child) {
    margin-bottom: 60px;
}

.word:last-child {
    opacity: 0.8;
}

.word.visible {
    opacity: 1;
    transform: translateX(1%);
    animation: slideIn 5s forwards;
}

/* =============================================================================
   7. CASOS DE EXITO
   ========================================================================== */
#casos-de-exito {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
}

.caso-de-exito {
    color: white;
    box-sizing: border-box;    
}
.caso-de-exito .et_pb_image_wrap {
    overflow:hidden;
    border-radius: 10px 10px 10px 10px;
}
.caso-de-exito:hover img {
    transform: scale(1.05);    
    transition: transform 0.3s ease;    
}

.caso-de-exito:nth-child(4),
.caso-de-exito:nth-child(5) {
    width: 38%;
}

.caso-de-exito:nth-child(4) .et_pb_image img,
.caso-de-exito:nth-child(5) .et_pb_image img {
    object-fit: cover;
    height: 499px;
    width: 100%;
}

.caso-de-exito .et_pb_image img {
    border-radius: 10px;
}

.caso-de-exito:nth-child(4) h3 {
    width: 40%;
}

.caso-de-exito:nth-child(5) h3 {
    width: 60%;
}

.caso-de-exito:nth-child(4) {
    margin-left: 10%;
}

.caso-de-exito:nth-child(5) {
    margin-right: 10%;
}
.caso-de-exito .et_pb_text {
    padding: 4vw !important;
}
.caso-de-exito ul {
    list-style-type: none;
    display: flex;
    justify-content: flex-start;
    padding: 0;
}
.caso-de-exito li {
    margin-right: 10px !important;
    padding: 0 6px;
    border: 1px solid #fff;
    border-radius: 5px;
}

.caso-de-exito h3 {
    margin-top: 30px;
    margin-bottom: 15px;
    color: white;
    font-size: 34px;
    line-height: 40px;
    width: 30%;
    font-weight: 400;
}

.caso-de-exito p {
    font-size: 16px !important;
    line-height: 24px;
    font-weight: 300;
}

/* =============================================================================
   8. CONTADOR NUMEROS
   ========================================================================== */
.fondo-icono-numeros {
    padding: 5px;
    background-color: #B3CCAC;
    border-radius: 5px;
}

.contador.et_pb_number_counter .percent p {
    font-size: 120px !important;
}

.contador.clientes-satisfechos h3.title {
    margin-left: 3.5vw;
}

/* =============================================================================
   9. QUIENES SOMOS
   ========================================================================== */
  
   #quienes-somos h2 {
    margin-bottom: 20px;
}

#quienes-somos #descripcion-quienes-somos p {
    font-size: 22px !important;
    line-height: 30px;
    font-weight: 400;
}

/* =============================================================================
   10. LÍNEA DE TIEMPO
   ========================================================================== */
#linea-de-tiempo {
    margin-top: -100px;
}

#linea-de-tiempo .botones-linea-tiempo {
    text-align: right;
    margin: 60px 20px;
}

#linea-de-tiempo .timeline-wrapper {
    position: relative;
    overflow-x: auto;
    overflow-y: visible;
    padding: 0rem;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

#linea-de-tiempo .timeline {
    display: flex;
    align-items: center;
    gap: 6rem;
    padding-bottom: 2rem;
    position: relative;
    scrollbar-width: none; /* Firefox */
}

#linea-de-tiempo .timeline-wrapper::-webkit-scrollbar {
    display: none; /* Chrome, Safari y Opera */
}

#linea-de-tiempo::before {
    content: "";
    position: absolute;
    top: 55%;
    left: 0;
    height: 2px;
    width: 100%;
    background: #142B29;
    z-index: 1;
}

#linea-de-tiempo .timeline-item {
    flex: 0 0 auto;
    position: relative;
    z-index: 2;
    text-align: center;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.5rem;
}

#linea-de-tiempo .year-box {
    background: #cde5ce;
    color: #102622;
    padding: 0.4rem 1rem;
    border-radius: 8px;
    font-weight: bold;
    margin-bottom: 1rem;
}

#linea-de-tiempo .image-box {
    position: relative;
}

#linea-de-tiempo .image-box img {
    border-radius: 12px;
    max-width: 100%;
}

#linea-de-tiempo .caption {
    position: absolute;
}

#linea-de-tiempo .caption p {
    font-family: 'Sarabun', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 300;
    line-height: 20px;
    background-color: #fff;
    color: #102622;
    font-size: 1rem !important;
    padding: 0 0.8rem;
    margin-bottom: 5px;
    border-radius: 5px;
    display: table;
}

/* Posicionamiento de captions en timeline */
#linea-de-tiempo .mcmxci .caption { bottom: -2rem; left: 10%; }
#linea-de-tiempo .mcmxci img { max-width: 284px; }
#linea-de-tiempo .mcmxcii .caption { top: -2.5rem; right: -15%; }
#linea-de-tiempo .mcmxcii img { max-width: 391px; }
#linea-de-tiempo .mcmxciii .caption { top: 4rem; right: -40%; }
#linea-de-tiempo .mcmxciii img { max-width: 237px; }
#linea-de-tiempo .mcmxcv .caption { bottom: -2rem; right: -10%; }
#linea-de-tiempo .mcmxcv img { max-width: 318px; }
#linea-de-tiempo .mcmxcviii .caption { bottom: -3rem; right: -30%; }
#linea-de-tiempo .mcmxcviii img { max-width: 318px; }
#linea-de-tiempo .mmiv .caption { top: -2rem; right: -10%; }
#linea-de-tiempo .mmiv img { max-width: 502px; }
#linea-de-tiempo .mmvii .caption { bottom: -1.5rem; left: -8%; }
#linea-de-tiempo .mmvii img { max-width: 388px; }
#linea-de-tiempo .mmviii .caption { top: -2rem; right: -10%; }
#linea-de-tiempo .mmviii img { max-width: 295px; }
#linea-de-tiempo .mmxvi .caption { top: 3rem; right: -40%; }
#linea-de-tiempo .mmxvi img { max-width: 237px; }
#linea-de-tiempo .mmxviii .caption { bottom: -1.5rem; right: -10%; }
#linea-de-tiempo .mmxviii img { max-width: 318px; }
#linea-de-tiempo .mmxix .caption { bottom: -3rem; right: -35%; }
#linea-de-tiempo .mmxix img { max-width: 318px; }
#linea-de-tiempo .mmxxi .caption { top: 1.5rem; right: -30%; }
#linea-de-tiempo .mmxxi img { max-width: 394px; }
#linea-de-tiempo .mmxxiii .caption { bottom: -1.5rem; right: -30%; }
#linea-de-tiempo .mmxxiii img { max-width: 377px; }
#linea-de-tiempo .mmxxiv .caption { top: 3.5rem; right: -30%; }
#linea-de-tiempo .mmxxiv img { max-width: 311px; }
#linea-de-tiempo .mmxxv .caption { bottom: -2rem; right: 0%; }
#linea-de-tiempo .mmxxv img { max-width: 397px; }

/* Botones de navegación del timeline */
#linea-de-tiempo .nav-button {
    background: #000;
    border: none;
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 3;
}

#linea-de-tiempo .nav-button.left { left: 10px; }
#linea-de-tiempo .nav-button.right { right: 10px; }

/* =============================================================================
   11. EQUIPO
   ========================================================================== */

#imagenes-equipo {
    position: relative;
    display: flex;
    justify-content: flex-end;
    margin-right: 10% !important;
    top: -7vw;
    margin-bottom:-7vw;
}

.contenedor-equipo {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(12, 1fr);
    width: 65% !important;
    gap: 20px;
}

#imagenes-equipo .et_pb_column_4_4 .et_pb_module {
    margin-bottom: 0 !important;
}

.contenedor-equipo img:hover {
    transform: scale(1.05);
    transition: transform 0.3s ease;
}

/* Grid de imagenes de equipo */
.imagen-equipo-1 { grid-column: 1 / span 3; grid-row: 6 / span 4; }
.imagen-equipo-2 { grid-column: 3 / span 3; grid-row: 2 / span 4; align-self: end; }
.imagen-equipo-3 { grid-column: 4 / span 2; grid-row: 6 / span 3; }
.imagen-equipo-4 { grid-column: 4 / span 2; grid-row: 9 / span 3; }
.imagen-equipo-5 { grid-column: 6 / span 4; grid-row: 1 / span 5; align-self: end; }
.imagen-equipo-6 { grid-column: 6 / span 3; grid-row: 6 / span 4; }
.imagen-equipo-7 { grid-column: 10 / span 2; grid-row: 3 / span 3; align-self: end; }
.imagen-equipo-8 { grid-column: 9 / span 2; grid-row: 6 / span 3; }

.imagen {
    border: 1px solid #ccc;
    box-sizing: border-box;
    background-color: #f0f0f0;
}
#boton-mvl-equipo{
    display: none;
}

/* =============================================================================
   12. SOSTENIBILIDAD
   ========================================================================== */
/* Estilos comentados originales, se mantienen por si se necesitan en el futuro */
/*
#sostenibilidad #sostenibilidad-contenedor-informacion {
    display: flex;
    flex-wrap: wrap;
    align-content:space-between;
    margin-top: 20px;
}
#sostenibilidad #sostenibilidad-contenedor-informacion #sostenibilidad-texto {
    flex: 1;
    max-width:50%;
    text-align: left;
    padding-right: 20px;
}
#sostenibilidad #sostenibilidad-contenedor-informacion .et_pb_button_module_wrapper{
    flex: 2;
    max-width:50%;
    text-align: right;
}
*/
#sostenibilidad h2, #sostenibilidad p{
    color: #fff;
}

/* =============================================================================
   13. LOGOTIPOS
   ========================================================================== */
/*--------Mirar en el css del propio módulo-----------*/

/* =============================================================================
   14. ULTIMAS NOTICIAS
   ========================================================================== */
#ultimas-noticias #ultimas-noticias-informacion {
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    margin-top: 20px;
}

#ultimas-noticias #ultimas-noticias-informacion #ultimas-noticas-texto {
    flex: 1;
    max-width: 50%;
    text-align: left;
    padding-right: 20px;
}

#ultimas-noticias #ultimas-noticias-informacion .et_pb_button_module_wrapper {
    width: 50%;
    max-width: 50%;
    text-align: right;
}
#ultimas-noticas-texto p{
    padding-bottom: 10px !important;
}
#ultimas-noticias .fecha{
    color:#142B29;
}

#slider-noticias {
    position: relative;
}
#slider-noticias img:hover {
    transform: scale(1.05);
    transition: transform 0.3s ease;
}

/* Blog - Pagina de inicio */
#entradas-blog div.et_pb_ajax_pagination_container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    gap: 20px;
    align-items: stretch;
}

#entradas-blog div.et_pb_ajax_pagination_container article {
    width: 24%;
}

#entradas-blog div.et_pb_ajax_pagination_container article h2 {
    font-size: 18px;
    font-weight: 400;
}

#entradas-blog div.et_pb_ajax_pagination_container article p.post-meta {
    font-size: 16px;
    font-weight: 400;
    color: #8BA683;
    text-transform: uppercase;
}

#entradas-blog div.et_pb_ajax_pagination_container a img {
    aspect-ratio: 91/123;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#slider-noticias .timeline-wrapper {
        position: relative;
        overflow-x: auto;
        overflow-y: hidden;        
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        display: flex;
        align-items: flex-start; /* Alinea los items arriba */
        gap: 2rem;
        padding-bottom: 2rem;
        scrollbar-width: none; /* Firefox */
    }

    #slider-noticias .timeline-wrapper::-webkit-scrollbar {
        display: none; /* Chrome, Safari y Opera */
    }

    #slider-noticias .timeline-item {
        flex: 0 0 calc(25% - 1.5rem);
        max-width: calc(25% - 1.5rem);
        align-self: flex-start;
    }
    #slider-noticias .et_pb_image {
        position: relative;
        overflow: hidden;
    }

    #slider-noticias .et_pb_image::after {
        content: '';
        position: absolute;
        top: 15px;
        right: 15px;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background-color: #fff;
        background-size: 60%;
        background-repeat: no-repeat;
        background-position: center;
        z-index: 5;
        box-shadow: 0 1px 3px rgba(0,0,0,0.2);
        display: none;
    }

    #slider-noticias .noticia-linkedin::after {
        display: block;
        /*background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/></svg>');*/
        background-image: url('data:image/svg+xml,<svg id="Capa_1" xmlns="http://www.w3.org/2000/svg" width="12px" height="9px" viewBox="0 0 18.71 18.8"><g id="Layer_1"><path d="M4.61,18.07c0,.37-.28.65-.65.65H1.29c-.37,0-.65-.28-.65-.65V6.82c0-.37.28-.65.65-.65h2.67c.37,0,.65.28.65.65v11.25ZM2.58,5.16c-1.38,0-2.58-1.11-2.58-2.58S1.11,0,2.58,0s2.58,1.11,2.58,2.58-1.11,2.58-2.58,2.58ZM18.62,18.16c0,.28-.28.55-.55.55h-2.86c-.28,0-.55-.28-.55-.55v-5.25c0-.83.28-3.41-2.03-3.41s-2.12,1.84-2.21,2.67v6.08c0,.28-.28.55-.55.55h-2.77c-.28,0-.55-.28-.55-.55V6.91c0-.28.28-.55.55-.55h2.77c.28,0,.55.28.55.55v1.01c.65-1.01,1.66-1.75,3.69-1.75,4.61,0,4.61,4.33,4.61,6.64v5.44h0l-.09-.09Z"/></g></svg>');
    }
 

    #slider-noticias .noticia-instagram::after {
        display: block;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.85s-.012 3.584-.07 4.85c-.148 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.069-4.85.069s-3.584-.012-4.85-.07c-3.252-.148-4.771-1.691-4.919-4.919-.058-1.265-.069-1.645-.069-4.85s.012-3.584.07-4.85c.148-3.225 1.664-4.771 4.919-4.919 1.266-.058 1.644.069 4.85-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948s.014 3.667.072 4.947c.2 4.358 2.618 6.78 6.98 6.98 1.281.059 1.689.073 4.948.073s3.667-.014 4.947-.072c4.358-.2 6.78-2.618 6.98-6.98.059-1.281.073-1.689.073-4.948s-.014-3.667-.072-4.947c-.2-4.358-2.618-6.78-6.98-6.98-1.281-.059-1.689-.073-4.948-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.162 6.162 6.162 6.162-2.759 6.162-6.162-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4s1.791-4 4-4 4 1.79 4 4-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44 1.441-.645 1.441-1.44-.645-1.44-1.441-1.44z"/></svg>');
    }

    .slider-arrow {
        position: absolute;
        top: 40%;
        transform: translateY(-50%);
        z-index: 10;
        background-color: transparent;
        border: none;
        border-radius: 50%;
        width: 40px;
        height: 40px;
        font-size: 24px;
        cursor: pointer;
        transition: background-color 0.3s ease;
        box-shadow: none;
    }

    .slider-arrow:hover {
        background-color: transparent;
    }

    .slider-arrow.prev {
        left: 8%;
    }

    .slider-arrow.next {
        right: 8%;
    }
/* =============================================================================
   MEDIA QUERIES (Responsive Design)
   ========================================================================== */

/* Pantallas extra grandes */
@media (min-width: 1920px) {   
    
    .word{
        font-size: 60px !important;
    }
}
@media (min-width: 1224px) and (max-width: 1439px) {
   
    /*SERVICIOS*/
    #servicios h3{
        font-size:20px !important
    }
    #servicios .et_pb_image {
        margin-bottom:5px !important;
    }
    .et_pb_gutters3 .et_pb_column_1_4, .et_pb_gutters3.et_pb_row .et_pb_column_1_4 {
        width: 23% !important;
    }
        .et_pb_gutters3 .et_pb_column, .et_pb_gutters3.et_pb_row .et_pb_column {
        margin-right: 2% !important;
    }
    /* --- ANIMACION SERVICIOS --- */
    .word{
        font-size: 3.9vw;
    }
}
/* Estilos para el slider de servicios en Escritorio */
@media (min-width: 981px) {
    .services-slider-track {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px; /* Ajusta el espacio según sea necesario */
    }

    #servicios .services-slider-track .servicio {
        width: auto !important; /* Resetea el ancho para escritorio */
        margin-right: 0 !important;
    }
}
/* Tablets en horizontal y portátiles pequeños */
@media (min-width: 981px) and (max-width: 1223px) {
    
    /*SERVICIOS*/
    #servicios h3{
        font-size:20px !important
    }
    #servicios .et_pb_image {
        margin-bottom:5px !important;
    }
    .et_pb_gutters3 .et_pb_column_1_4, .et_pb_gutters3.et_pb_row .et_pb_column_1_4 {
        width: 23% !important;
    }
        .et_pb_gutters3 .et_pb_column, .et_pb_gutters3.et_pb_row .et_pb_column {
        margin-right: 2% !important;
    }
    /*LETRA ANIMADA SERVICIOS*/
    .word:not(:last-child) {
        margin-bottom: 40px;
    }
    .word{
        font-size:3.8vw;
    }
    .et_pb_section_2.et_pb_section {
        padding-top: 30px !important;
        padding-bottom: 30px !important;;        
    }
    /* Casos de éxito */
    .caso-de-exito h3{
        margin-top:15px !important;
        width:40% !important;
        line-height: 30px !important;
        font-size:24px;
    }
    .caso-de-exito:nth-of-type(4) h3,
    .caso-de-exito:nth-of-type(5) h3{
        margin-top:40px !important;
        width:80% !important;
    }
    /* Quienes somos */
    .et_pb_text_11{
        max-width: 60% !important;
    }
    /* Equipo */
    .et_pb_section_6.et_pb_section{
        padding-top: 50px !important;       
    }
    #imagenes-equipo {
        top:-16vw;
        margin-bottom:-16vw;    
    }
    /* Logotipos */
    .ds-carousel .et_pb_image{
        padding-right: 5px !important;
        padding-left: 5px !important;
    }
}
/* Tablets en vertical */
@media (max-width: 980px) {    
    /* Video cabecera */
    header { position: relative; }
    
    #video-cabecera .et_pb_slides,
    #video-cabecera .et_pb_slider,
    #video-cabecera .et_pb_slider_container,
    #video-cabecera .et_pb_slide {
        height: calc(-60px + 100svh);
        min-height: 500px;
    }
    #video-cabecera .et_pb_slide {
        aspect-ratio: auto !important;
        object-fit: cover;
    }

    /* --- Slider Servicios --- */
    #servicios h3 {
        font-size: 24px;
    }
    .servicio .fondo-hover {
        aspect-ratio: auto !important;
    }
    /* --- ANIMACIoN SERVICIOS --- */
    .word:not(:last-child) {
        margin-bottom: 35px;
    }
    .word{
        font-size:4.5vw;
    }
    /* --- Casos de éxito --- */
    #casos-de-exito .et_pb_column{
        margin-bottom: 0px !important;
    }
    .caso-de-exito{
        width:42% !important;
    }    
    .caso-de-exito .et_pb_image img,
    .caso-de-exito .et_pb_image img {
        object-fit: cover;
        /*height: 250px !important;*/
        width: 100%;
    }
    .caso-de-exito:nth-of-type(odd) {
        /* Estilos para los elementos .casos-de-exito impares */        
        margin-left: 2.5% !important;
        margin-right:5% !important;
    }
    .caso-de-exito:nth-of-type(even) {
        /* Estilos para los elementos .casos-de-exito pares */
        margin-right: 2.5% !important;
        margin-left: 5% !important;
    }
    .caso-de-exito:nth-child(4) .et_pb_image img, .caso-de-exito:nth-child(5) .et_pb_image img
    {
        height: auto !important;
    }
    .caso-de-exito h3 {
        margin-top: 10px;
        margin-bottom: 15px;
        color: white;
        font-size: clamp(16px, 2vw + 1rem, 24px) !important;
        line-height: 1.2;
        width: 90% !important;
        font-weight: 400;
    }
    .caso-de-exito p {
        font-size: 14px !important;
        line-height: 14px;
        font-weight: 300;
    }
    /* --- Quienes Somos --- */
    .botones-linea-tiempo{
        display: none;
    }
    #linea-de-tiempo {
        margin-top: 0;
    }

    /* --- Equipo --- */
    #equipo .et_pb_text_12.et_pb_text, .et_pb_text_12 h2{
        color:#fff !important;
        margin-bottom:0 !important;
    }
    #imagenes-equipo {
        position: relative;
        display: block; /* Cambia a block para el slider */       
        top: 0;
        overflow-x: auto; /* Permite el scroll horizontal */
        scroll-behavior: smooth;
        scrollbar-width: none; /* Firefox */
        margin-bottom:0;
        margin: 0 5% !important;
    }
    #imagenes-equipo::-webkit-scrollbar {
        display: none; /* Chrome, Safari y Opera */
    }
    .contenedor-equipo {
        display: flex; /* Usa flexbox para el track del slider */
        gap: 20px;
        width: auto !important; /* Ancho automático para el contenedor flex */
    }

    #imagenes-equipo .imagen-equipo {
        width: 60vw !important; /* Ancho de cada slide */
        flex-shrink: 0; /* Evita que los slides se encojan */
        grid-column: auto; /* Resetea las propiedades de grid */
        grid-row: auto;
        align-self: auto;
    }
    #boton-mvl-equipo{
        display: block !important;
    }
    #btn-conocer-equipo{
        width: 100%;
    }
    #slider-noticias .timeline-item {
            flex: 0 0 calc(100% / 2.2);
            max-width: calc(100% / 2.2);
            padding:0;
        }
        #ultimas-noticias .et_pb_row {
            padding:20px 0;
        }
        #slider-noticias .timeline-wrapper {
            padding-bottom:0;
        }
        #slider-noticias .slider-arrow {
        display: none !important;
    }
}
/* Móviles */
@media (max-width: 767px) {
        /* --- Slider Servicios (Móvil) --- */
    .servicio .fondo-hover {
        aspect-ratio: auto !important;
    }
    #servicios h3{
        font-size:20px;
    }
    #servicios .et_pb_row_2 {
        display: flex;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        scroll-behavior: smooth;
        scrollbar-width: none; /* Firefox */
        gap: 20px;
        padding: 0 5% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    #servicios .et_pb_row_2::-webkit-scrollbar {
        display: none; /* Chrome, Safari y Opera */
    }
    #servicios .et_pb_row_2 .servicio {
        width: 80vw !important; /* Un slide visible en móvil */
        flex-shrink: 0;
        margin-right: 0 !important;
    }


    /* --- letra animada servicios --- */
    .animacion-servicios {
        white-space: normal; /* Permite que las palabras se envuelvan */
    }

    .word, .word.visible {
        animation: none !important; /* Elimina la animación slideIn */
        display: block; /* Apila las palabras verticalmente */
        text-align: left; 
        margin-left: auto;
        margin-right: auto;
        line-height: 0.8em;
        padding-left: 4vw;
    }

    .word {
        font-size: 40px;
        font-weight: 400;;
        opacity: 1;
        color: lightgray;
        transition: color 0.5s ease, transform 0.5s ease, opacity 0.5s ease;
        transform: scale(1); /* Escala inicial */
    }

    .word:not(:last-child) {
        margin-bottom: 15px;
    }

    .word.visible {
        opacity: 1;
        color: white; /* Nuevo color al hacer scroll */
        transform: scale(1.1) !important; /* Efecto de zoom al hacer scroll */
    }
    /* --- Casos de éxito --- */
    .caso-de-exito {
        width: 90% !important;
    }
    .caso-de-exito:nth-of-type(odd) {
        /* Estilos para los elementos .casos-de-exito impares */        
        margin-left: 5% !important;
        margin-right:5% !important;
    }
    .caso-de-exito:nth-of-type(even) {
        /* Estilos para los elementos .casos-de-exito pares */
        margin-right: 5% !important;
        margin-left: 5% !important;
    }
    .caso-de-exito h3 {
        margin-top: 4vw !important;
        margin-bottom: 2vw !important;
        font-size: clamp(14px, 3vw + 1rem, 34px);
        line-height: 1.2; 
        padding-bottom: 2vw;       
    }
    .caso-de-exito p {
        font-size: 16px !important;
        line-height: 24px;
        font-weight: 300;
    }
    /* --- Equipo --- */
     #texto-equipo .et_pb_button_module_wrapper{
        display: none;
    }
    #boton-mvl-equipo{
        display: block;
    }
    
    /* --- linea de tiempo --- */
    #linea-de-tiempo {
        margin-top: 10px;
    }
    #linea-de-tiempo .botones-linea-tiempo {
        display: none;
    }
    #linea-de-tiempo::before {
        top: 48%;       
    }
    #linea-de-tiempo .timeline{
        padding-bottom:0;
    }
    #quienes-somos-leer-mas-boton{
        width: 100%;
    }

    /* --- Slider Logotipos ---*/
    .ds-carousel .et_pb_image{
        padding:0;
    }
    /* --- Sostenibilidad --- */
    #sostenibilidad .et_pb_row{
        width:80% !important;
    }
    #sostenibilidad .et_pb_button_module_wrapper a{
        width: 100% !important;
    }
    #sostenibilidad h2{
        margin-top:25px;
        margin-bottom:15px;
    }
    /* --- Slider Noticias --- */
    #ultimas-noticias.et_pb_section{
        padding-bottom:10px;
    }
    #ultimas-noticias #ultimas-noticias-informacion .et_pb_button_module_wrapper{
        display: none !important;
    }
    #ultimas-noticias #ultimas-noticias-informacion #ultimas-noticas-texto{
        max-width: 100% !important;
    }
    #ultimas-noticias-boton-movil a{
        width: 100% !important;
    }
    #slider-noticias .slider-slide {
        width: 83%; /* Muestra 1 slide y un poco del siguiente */
    }
    #slider-noticias .slider-container {
        margin: 0;
    }
    #slider-noticias .slider-arrow.prev {
        left: 5px;
    }
    #slider-noticias .slider-arrow.next {
        right: 5px;
    }
    #slider-noticias .timeline-item {
            flex: 0 0 calc(100% / 1.6);
            max-width: calc(100% / 1.6);
        }
}
@media (max-width: 400px) {
   /* --- letra animada servicios --- */
   .word{
    font-size: clamp(20px, 22vw - 40px, 38px);
   }
    /* --- Casos de éxito --- */
    .caso-de-exito ul {
        display: none !important;
    }
    .caso-de-exito h3 {
        margin-top: 0 !important;
        margin-bottom: 1vw !important;
        font-size: clamp(12px, 1.5vw + 1rem, 20px) !important;
    }
     .caso-de-exito p {
        font-size: 12px !important;
        line-height: 16px !important;
        ;       
    }
}