.elementor-128530 .elementor-element.elementor-element-369d6b9{--display:flex;}.elementor-128530 .elementor-element.elementor-element-f7a5d9f{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:var(--size-s) var(--size-s);--row-gap:var(--size-s);--column-gap:var(--size-s);}.elementor-128530 .elementor-element.elementor-element-f31ab65{--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;--justify-content:space-between;--gap:var(--size-m) var(--size-m);--row-gap:var(--size-m);--column-gap:var(--size-m);}.elementor-128530 .elementor-element.elementor-global-2466{width:initial;max-width:initial;z-index:1;}.elementor-128530 .elementor-element.elementor-global-2466 > .elementor-widget-container{margin:0 auto 0 auto;}.elementor-128530 .elementor-element.elementor-global-2466 .elementor-icon-wrapper{text-align:center;}.elementor-128530 .elementor-element.elementor-global-2466 .elementor-icon{font-size:32px;}.elementor-128530 .elementor-element.elementor-global-2466 .elementor-icon svg{height:32px;}.elementor-128530 .elementor-element.elementor-element-f0e58aa{--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-128530 .elementor-element.elementor-element-4d76b44{--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-128530 .elementor-element.elementor-element-794ef8e{--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-128530 .elementor-element.elementor-element-2fbc00b .elementor-heading-title{font-family:var( --e-global-typography-adfa3ce-font-family ), Sans-serif;font-size:var( --e-global-typography-adfa3ce-font-size );font-weight:var( --e-global-typography-adfa3ce-font-weight );text-transform:var( --e-global-typography-adfa3ce-text-transform );}.elementor-128530 .elementor-element.elementor-element-c626d4e{--display:flex;}.elementor-128530 .elementor-element.elementor-element-5c63ac4{--display:flex;}.elementor-128530 .elementor-element.elementor-element-e880580{--display:flex;}.elementor-128530 .elementor-element.elementor-element-3bca95a{--display:flex;}.elementor-128530 .elementor-element.elementor-element-cfc8813{--display:flex;}.elementor-128530 .elementor-element.elementor-element-cfc8813.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-128530 .elementor-element.elementor-element-c046353{--display:flex;}.elementor-128530 .elementor-element.elementor-element-b318650{--display:flex;}.elementor-128530 .elementor-element.elementor-element-f13ca37{--display:grid;--grid-auto-flow:row;}.elementor-128530 .elementor-element.elementor-element-01a90c6{--display:flex;}.elementor-128530 .elementor-element.elementor-element-ba97598{text-align:center;}.elementor-128530 .elementor-element.elementor-element-ff6970f{--display:flex;}.elementor-128530 .elementor-element.elementor-element-003946d{--display:grid;--grid-auto-flow:row;}.elementor-128530 .elementor-element.elementor-element-6938145{--display:flex;}.elementor-128530 .elementor-element.elementor-element-cbc2609{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-128530 .elementor-element.elementor-element-1c86714{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-hover-color:var( --e-global-color-52235058 );}.elementor-128530 .elementor-element.elementor-element-1c86714 :is(.elementor-swiper-button-prev:hover, .elementor-swiper-button-next:hover) {background-color:var( --e-global-color-47eea86e );}.elementor-128530 .elementor-element.elementor-element-a976b5b{--display:flex;}.elementor-128530 .elementor-element.elementor-element-3a30a96{--display:flex;}.elementor-128530 .elementor-element.elementor-element-7fe4fb9{--display:flex;}.elementor-128530 .elementor-element.elementor-element-61cb26f{--display:flex;}.elementor-128530 .elementor-element.elementor-element-088b21d{--display:flex;}.elementor-128530 .elementor-element.elementor-element-088b21d.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-128530 .elementor-element.elementor-element-2b5b9ad{--display:flex;}.elementor-128530 .elementor-element.elementor-element-e788bb2{--display:flex;}.elementor-128530 .elementor-element.elementor-element-53d70ad{--e-image-carousel-slides-to-show:3;}.elementor-128530 .elementor-element.elementor-element-53d70ad .elementor-swiper-button.elementor-swiper-button-prev, .elementor-128530 .elementor-element.elementor-element-53d70ad .elementor-swiper-button.elementor-swiper-button-next{font-size:15px;color:var( --e-global-color-primary );}.elementor-128530 .elementor-element.elementor-element-53d70ad .elementor-swiper-button.elementor-swiper-button-prev svg, .elementor-128530 .elementor-element.elementor-element-53d70ad .elementor-swiper-button.elementor-swiper-button-next svg{fill:var( --e-global-color-primary );}.elementor-128530 .elementor-element.elementor-element-c86dbea{--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;}@media(min-width:768px){.elementor-128530 .elementor-element.elementor-element-e880580{--width:fit-content;}.elementor-128530 .elementor-element.elementor-element-7fe4fb9{--width:fit-content;}}@media(max-width:1024px){.elementor-128530 .elementor-element.elementor-element-2fbc00b .elementor-heading-title{font-size:var( --e-global-typography-adfa3ce-font-size );}.elementor-128530 .elementor-element.elementor-element-f13ca37{--grid-auto-flow:row;}.elementor-128530 .elementor-element.elementor-element-003946d{--grid-auto-flow:row;}.elementor-128530 .elementor-element.elementor-element-1c86714{--e-n-carousel-swiper-slides-to-display:2;}.elementor-128530 .elementor-element.elementor-element-53d70ad{--e-image-carousel-slides-to-show:2;}}@media(max-width:767px){.elementor-128530 .elementor-element.elementor-global-11226 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-128530 .elementor-element.elementor-global-11226 img{max-width:272px;}.elementor-128530 .elementor-element.elementor-element-2fbc00b .elementor-heading-title{font-size:var( --e-global-typography-adfa3ce-font-size );}.elementor-128530 .elementor-element.elementor-element-f13ca37{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-128530 .elementor-element.elementor-element-003946d{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-128530 .elementor-element.elementor-element-1c86714{--e-n-carousel-swiper-slides-to-display:1;}.elementor-128530 .elementor-element.elementor-element-53d70ad{--e-image-carousel-slides-to-show:1;}}/* Start custom CSS for global, class: .elementor-global-11226 */.elementor-128530 .elementor-element.elementor-global-11226 img{
    object-fit: contain;
}/* End custom CSS */
/* Start custom CSS for global, class: .elementor-global-2466 */.elementor-128530 .elementor-element.elementor-global-2466.icon-scroll-down {
    margin: 0 auto !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-369d6b9 *//* ==========================================================================
   COMPONENTE: SIDE IMAGE & TEXT GRID (.mft-side-image-c)
   ========================================================================== */
.mft-side-image-c {
    display: grid !important;
    /* Relación de aspecto ~70/30 observada en la imagen usando fr nativo (0 reflows) */
    grid-template-columns: 2.2fr 1fr; 
    align-items: center; /* Centrado vertical automático y de alto rendimiento */
    gap: clamp(1.5rem, 3vw, 3.5rem); /* Espaciado fluido dinámico sin JavaScript */
    width: 100%;

    /* 🖼️ Contenedor de Imagen en Grid */
    .elementor-widget-image {
        width: 100%;
        height: 100%;
        min-height: 0; /* Previene desbordamiento en contenedores Grid */

        .elementor-widget-container, img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Garantiza llenado total sin distorsionar la imagen */
            display: block;
        }
    }

    /* 📝 Contenedor de Texto en Grid */
    .elementor-widget-text-editor {
        padding-inline-end: 5%; /* Margen interno suave a la derecha como en la maqueta */

        .elementor-widget-container {
            p {
                margin-block: 0;
                line-height: 1.6;
            }
        }
    }
}

/* ==========================================================================
   RESPONSIVE (Pasa a 1 columna en pantallas reducidas)
   ========================================================================== */
@media (max-width: 1024px) {
    .mft-side-image-c {
        grid-template-columns: 1fr; /* Colapso instantáneo en 1 sola columna */
        gap: 1.5rem;

        .elementor-widget-text-editor {
            padding-inline-end: 0;
        }
    }
}

/* ==========================================================================
   COMPONENTE: GALLERY MOSAIC GRID (.mft-services-grid)
   ========================================================================== */
.mft-services-grid {
    display: grid !important;
    /* Columna principal (50%) + 2 columnas secundarias (25% y 25%) */
    grid-template-columns: 2fr 1fr 1fr; 
    grid-template-rows: repeat(2, 1fr);
    gap: 0; /* Sin separaciones visuales para formar el collage continuo */
    width: 100%;
    aspect-ratio: 16 / 4.5; /* Mantiene la proporción panorámica sin CLS */

    /* Reset global para contenedores de imágenes en Grid */
    .elementor-widget-image {
        width: 100%;
        height: 100%;
        min-height: 0;
        overflow: hidden;

        .elementor-widget-container, 
        img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Garantiza encuadre sin deformación */
            display: block;
        }
    }

    /* 🖼️ Imagen 1: Ocupa las 2 filas de la primera columna */
    > .elementor-widget-image:nth-child(1) {
        grid-column: 1 / 2;
        grid-row: 1 / 3;
    }
}

/* ==========================================================================
   RESPONSIVE (Adaptación fluida para tablets y móviles)
   ========================================================================== */
@media (max-width: 1024px) {
    .mft-services-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        aspect-ratio: auto;

        /* La imagen principal pasa a ocupar la cabecera completa */
        > .elementor-widget-image:nth-child(1) {
            grid-column: 1 / -1;
            grid-row: auto;
            aspect-ratio: 16 / 8;
        }

        /* Las 4 imágenes secundarias forman un grid 2x2 */
        > .elementor-widget-image:not(:first-child) {
            aspect-ratio: 4 / 3;
        }
    }
}

@media (max-width: 600px) {
    .mft-services-grid {
        grid-template-columns: 1fr; /* Apilado en 1 columna para móviles */

        > .elementor-widget-image:not(:first-child) {
            aspect-ratio: 16 / 9;
        }
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f0e58aa */.elementor-128530 .elementor-element.elementor-element-f0e58aa{
    z-index: 4 !important;
}/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-53d70ad */.elementor-128530 .elementor-element.elementor-element-53d70ad img {
    height: 400px;
    object-fit: cover;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c86dbea */.elementor-128530 .elementor-element.elementor-element-c86dbea{
    display: none;
}

.elementor-editor-active .elementor-128530 .elementor-element.elementor-element-c86dbea{
    display: block;
}/* End custom CSS */