.elementor-5 .elementor-element.elementor-element-cc7e070{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5 .elementor-element.elementor-element-cc7e070.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-slides .elementor-slide-heading{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-slides .elementor-slide-description{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-slides .elementor-slide-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-5db2682 .swiper-slide-bg{background-color:#FFFFFF;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/luna.jpg);background-size:contain;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-cc7d851 .swiper-slide-bg{background-color:#FFFFFF;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/1-scaled.jpg);background-size:contain;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-6ea27cf .swiper-slide-bg{background-color:#FFFFFF;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/2-scaled.jpg);background-size:contain;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-017556b .swiper-slide-bg{background-color:#FFFFFF;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/3-scaled.jpg);background-size:contain;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-9ba4406 .swiper-slide-bg{background-color:#bbbbbb;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/4-scaled.jpg);background-size:cover;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-1427b8b .swiper-slide-bg{background-color:#bbbbbb;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/5-scaled.jpg);background-size:cover;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-704337c .swiper-slide-bg{background-color:#bbbbbb;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/6-scaled.jpg);background-size:cover;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-37e7f67 .swiper-slide-bg{background-color:#bbbbbb;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/7-scaled.jpg);background-size:cover;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-059e809 .swiper-slide-bg{background-color:#bbbbbb;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/8-scaled.jpg);background-size:cover;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-92b1c2b .swiper-slide-bg{background-color:#bbbbbb;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/9-scaled.jpg);background-size:cover;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-09388e0 .swiper-slide-bg{background-color:#FFFFFF;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/10-scaled.jpg);background-size:contain;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-205bbf2 .swiper-slide-bg{background-color:#bbbbbb;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/11-scaled.jpg);background-size:cover;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-0c1aa43 .swiper-slide-bg{background-color:#bbbbbb;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/12-scaled.jpg);background-size:cover;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-37b716e .swiper-slide-bg{background-color:#FFFFFF;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/13-scaled.jpg);background-size:contain;}.elementor-5 .elementor-element.elementor-element-188cad1 .elementor-repeater-item-9dc04ae .swiper-slide-bg{background-color:#bbbbbb;background-image:url(https://geometrica-arquitectura.com/wp-content/uploads/2025/04/14.jpg);background-size:cover;}.elementor-5 .elementor-element.elementor-element-188cad1 .swiper-slide{transition-duration:calc(5000ms*1.2);height:400px;}.elementor-5 .elementor-element.elementor-element-188cad1 .swiper-slide-contents{max-width:66%;}.elementor-5 .elementor-element.elementor-element-188cad1 .swiper-slide-inner{text-align:center;}.elementor-5 .elementor-element.elementor-element-f5eb80f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5 .elementor-element.elementor-element-f5eb80f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-5 .elementor-element.elementor-element-565edbe{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5 .elementor-element.elementor-element-8b8f89d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-5 .elementor-element.elementor-element-cc7e070{--width:101.509%;}.elementor-5 .elementor-element.elementor-element-f5eb80f{--width:104.742%;}}@media(max-width:1024px) and (min-width:768px){.elementor-5 .elementor-element.elementor-element-cc7e070{--width:734px;}}/* Start custom CSS for html, class: .elementor-element-421c399 *//* Introducción de la empresa */
.intro-section {
    padding: 3rem 1rem;
    background-color: var(--light-bg);
    text-align: center;
    margin: 3rem 0;
    border-radius: 10px;
    box-shadow: var(--box-shadow);
}

.intro-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Texto */
.intro-section h2 {
    font-size: 2rem;
    font-weight: 700;
    color: var(--black);
    margin-bottom: 1rem;
}

.intro-section p {
    font-size: 1.1rem;
    color: var(--light-color);
    margin-bottom: 2rem;
    line-height: 1.6;
}

/* Imágenes */
 

.intro-images {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem; /* Reduce el espacio entre las imágenes */
    justify-content: center;
}

.image-pair {
    display: flex;
    flex-direction: column; /* Agrupa en columnas */
    gap: 0.5rem; /* Reduce el espacio entre las imágenes en un par */
    flex: 1 1 20%; /* Cada columna ocupa un 20% del ancho total */
    max-width: 200px; /* Tamaño fijo máximo ligeramente más grande */
}

.intro-images img {
    width: 100%; /* Ajusta las imágenes al ancho de la columna */
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.intro-images img:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

/* Contenedor de una sola imagen centrada */
.single-image {
    display: flex;
    justify-content: center;
    margin-top: 1rem; /* Espacio superior entre las imágenes superiores y la quinta imagen */
}

.single-image img {
    max-width: 200px; /* Ajusta el tamaño de la quinta imagen */
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.single-image img:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

/* Responsivo para dispositivos móviles */
@media (max-width: 768px) {
    .image-pair {
        flex: 1 1 48%; /* Reduce el ancho de las imágenes en móviles */
        gap: 0.5rem;
        max-width: unset; /* Elimina el tamaño fijo para móviles */
    }

    .intro-images img {
        max-width: 80%; /* Las imágenes ocupan menos espacio */
        margin-bottom: 0.5rem;
    }
}



/* Contenedor del botón */
.btn-container {
    display: flex; /* Flexbox para centrar */
    justify-content: center; /* Centrado horizontal */
    align-items: center; /* Centrado vertical (si es necesario) */
    margin-top: 1rem;
    width: 100%; /* Asegura que tome todo el ancho */
}

/* Botón Más */
.btn-more {
    background-color: var(--main-color);
    color: var(--white);
    padding: 12px 25px;
    font-size: 18px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.btn-more:hover {
    background-color: var(--black);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

/* Estilo específico para dispositivos grandes */
@media (min-width: 1024px) {
    .btn-container {
        margin-top: 2rem; /* Más espacio en PC */
        position: relative;
        top: 20px; /* Ajusta para colocar debajo de las imágenes */
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2f134f4 */.cube-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.cube {
    width: 200px;
    padding: 20px;
    background-color: var(--white); /* Color del fondo en el cubo, transparente es var(--light-bg)*/
    border-radius: 10px; /* hacer el borde redondeado del cubo con tantos px, aumentar para redondear mas*/
    text-align: center;
}

.cube img {
    max-width: 100%;
    height: auto;
    width: 60%; /* Tamano que ocupan las imagenes del cubo disponible en espacio para estandarizar sin importar el tamano de la imagen*/
    max-height: 150px;
    object-fit: cover; /* para que la referencia sea el cubo asignado */
    border-radius: 8px;
    margin-bottom: 10px;
}

.cubes-container h2 {
    /* Titulo de contenedor de cubos*/
    margin: 20px;
    text-align: center;
    justify-content: center;
    font-size: 30px;
    color: var(--black);
}

.cubes-container h3 {
    /*Titulo de cada cubo*/
    color: var(--black);
}

.cubes-container p {
    /*parrafo de cada cubo*/
    color: var(--light-color);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-505681d *//* Index */
.casa-inicio {
    margin: 0;
    padding: 0;
    position: relative;
    height: 100vh; /* Ocupa toda la altura de la pantalla */
    width: 100vw; /* Ocupa todo el ancho de la pantalla */
    overflow: hidden; /* Oculta cualquier contenido fuera del contenedor */
}

.casa-inicio-slideshow {
    position: relative;
    width: 100%;
    height: 100%;
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ajusta la imagen para que cubra el área sin deformarse */
    opacity: 0; /* Oculta inicialmente todas las imágenes */
    transition: opacity 1.5s ease-in-out; /* Transición de opacidad suave */
    z-index: 0;
}

.slide.active {
    opacity: 1; /* Solo la imagen activa será visible */
    z-index: 1;
}

/* Para pantallas más grandes */
@media (min-width: 769px) {
    .slide {
        object-fit: contain; /* Asegura que la imagen completa se muestre sin recortes */
        background-color: rgb(255, 255, 255); /* Fondo negro para áreas vacías */
    }
}

/* Adaptación para dispositivos móviles */
@media (max-width: 768px) {
    .slide {
        object-fit: contain; /* Asegura que la imagen completa se muestre */
    }
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Sombrea sobre la imagen */
    z-index: 5;
}

.controls {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    z-index: 10;
}

.controls button {
    background-color: rgba(0, 0, 0, 0.3); /* Mayor transparencia (antes 0.5) */
    color: white;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 1.5rem;
    border-radius: 5px;
    transition: background-color 0.3s ease; /* Transición suave al hacer hover */
}

.controls button:hover {
    background-color: rgba(0, 0, 0, 0.6); /* Ajusta la opacidad al hacer hover */
}

/* espacio nosotros */

h1 {
    white-space: pre-wrap;
}

h1::after {
    content: "\A";
    white-space: pre;
}


/* Modal */
.modal {
    display: none; /* Oculto por defecto */
    position: fixed;
    z-index: 1000; /* Aparece encima de todo */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8); /* Fondo oscuro semitransparente */
}

/* Imagen dentro del modal */
.modal-content {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 700px;
}



/* segunda parte */


.nosotros-img-text-container {
    
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    padding: 2rem;
    padding-top: 6rem
}

.nosotros-image-column,
.nosotros-title-column {
    flex: 1 1 100%;
}

.nosotros-image-column {
    display: flex; /* Cambia el comportamiento del contenedor a flexbox */
    justify-content: center; /* Centra horizontalmente el contenido */
    align-items: center; /* Centra verticalmente el contenido */
}
.nosotros-image-column img {
    max-width: 80%; /* Ajusta el tamaño de la imagen para que no ocupe demasiado espacio */
    height: auto; /* Mantiene la proporción de la imagen */
    border-radius: 8px; /* Conserva el borde redondeado */
}

.nosotros-title-column h1 {
    align-items: center;
    justify-content: center;
    font-size: 40px; /* Tamaño más pequeño para texto grande en pantallas grandes */
    color: var(--black);
}

.nosotros-title-column p {
    align-items: center;
    justify-content: center;
    font-size: 30px; /* Tamaño más pequeño para texto pequeño en pantallas grandes */
    color: var(--light-color);
}

@media (min-width: 700px) {
    .nosotros-title-column h1 {
        font-size: 30px; /* Tamaño más reducido específicamente para pantallas grandes */
    }

    .nosotros-title-column p {
        font-size: 20px; /* Tamaño más reducido específicamente para pantallas grandes */
        margin-bottom: 1.5rem; /* Espacio entre párrafos */
    line-height: 1.6; /* Ajusta la altura de línea para mejorar la legibilidad */
    }

    .nosotros-image-column {
        flex: 1 1 48%;
    }

    .nosotros-title-column {
        flex: 1 1 48%;
    }
}

/* Ajustes para dispositivos móviles */
@media (max-width: 700px) {
    .nosotros-title-column h1 {
        font-size: 20px; /* Tamaño pequeño para pantallas pequeñas */
        text-align: center;
    }

    .nosotros-title-column p {
        margin-bottom: 1.5rem; /* Espacio entre párrafos */
    line-height: 1.6; /* Ajusta la altura de línea para mejorar la legibilidad */
    }

    .nosotros-img-text-container {
        flex-direction: column;
        align-items: center;
    }

    .nosotros-image-column img {
        max-width: 80%;
    }
}

/* Estilos generales */
body {
    background-color: #fff;
    scroll-snap-type: y mandatory;
}

.titulo {
    text-align: center;
    font-size: 40px;
    padding-top: 50px;
    scroll-snap-align: start;
}

.slider-box {
    width: 40%; /* Reduce aún más el ancho del carrusel */
    margin: 30px auto; /* Reduce el margen superior e inferior */
    overflow: hidden;
    border-radius: 10px; /* Ajusta el radio de borde */
    position: relative;
    max-height: 400px; /* Disminuye la altura del carrusel */
    display: flex;
    align-items: center;
}

.slider-box ul {
    display: flex;
    padding: 0;
    margin: 0;
    width: 100%;
    animation: slide 40s infinite;
    transition: transform 2s ease;
}

.slider-box li {
    flex: 1 0 100%;
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.slider-box img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* Mantiene las proporciones sin recortar */
    display: block;
}

.modal {
    display: none; /* Oculto por defecto */
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8); /* Fondo oscuro semi-transparente */
}

.modal-content {
    margin: auto;
    display: block;
    max-width: 80%;
    max-height: 80%;
    animation: zoom 0.3s ease;
}

@keyframes zoom {
    from {
        transform: scale(0.7);
    }
    to {
        transform: scale(1);
    }
}

.close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: white;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}


.texto {
    position: absolute;
    bottom: 5px; /* Ajusta la posición del texto */
    width: 60%; /* Reduce el ancho del contenedor del texto */
    text-align: center;
    background-color: rgba(0, 0, 0, 0.4); /* Ajusta la transparencia del fondo */
    color: #fff;
    padding: 3px 0; /* Reduce el padding */
}

.texto h3 {
    font-size: 14px; /* Reduce el tamaño del texto */
    margin: 0;
}

/* Media query para pantallas pequeñas */
@media (max-width: 600px) {
    .slider-box {
        width: 80%; /* Ajusta el ancho para pantallas pequeñas */
    }

    .texto h3 {
        font-size: 12px; /* Reduce el tamaño del texto en pantallas pequeñas */
    }
}





/* Animación para el cubo de selección */
.cube {
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cube:active {
    transform: scale(0.95);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.cube:hover {
    transform: scale(1.05);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}/* End custom CSS */