.elementor-106 .elementor-element.elementor-element-cf57ab9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-106 .elementor-element.elementor-element-b3a79c5{--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-106 .elementor-element.elementor-element-b3a79c5.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-106 .elementor-element.elementor-element-2a18f5d{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-106 .elementor-element.elementor-element-296e36e{width:100%;max-width:100%;}.elementor-106 .elementor-element.elementor-element-6c220d9{--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-106 .elementor-element.elementor-element-9198dff{--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;--padding-top:56px;--padding-bottom:56px;--padding-left:0px;--padding-right:0px;}.elementor-106 .elementor-element.elementor-element-cfb35f0{--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-106 .elementor-element.elementor-element-2c4bb58{--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-106 .elementor-element.elementor-element-134d1c5{--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;--padding-top:48px;--padding-bottom:32px;--padding-left:0px;--padding-right:0px;}.elementor-106 .elementor-element.elementor-element-7da4256{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-106 .elementor-element.elementor-element-56bb70d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-106 .elementor-element.elementor-element-56bb70d.elementor-element{--align-self:center;}.elementor-106 .elementor-element.elementor-element-56bb70d .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image{border-style:solid;border-width:1px 1px 1px 1px;border-color:#303030;border-radius:10px 10px 10px 10px;}.elementor-106 .elementor-element.elementor-element-4b890e3{--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-106 .elementor-element.elementor-element-5361a0b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-106 .elementor-element.elementor-element-72b58bc{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:62px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-106 .elementor-element.elementor-element-72b58bc.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-106 .elementor-element.elementor-element-55a3d4c{--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;--overflow:hidden;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-106 .elementor-element.elementor-element-2f00827.elementor-element{--align-self:flex-end;}.elementor-106 .elementor-element.elementor-element-2f00827 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:75px;font-weight:600;color:#FFFFFF;}.elementor-106 .elementor-element.elementor-element-e0de8e5{--display:flex;}.elementor-106 .elementor-element.elementor-element-32c21d0{--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-106 .elementor-element.elementor-element-27738b6 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:23px;font-weight:600;color:#FFFFFF;}.elementor-106 .elementor-element.elementor-element-b4e0437 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:15px;font-weight:400;color:#FFFFFF;}.elementor-106 .elementor-element.elementor-element-f5274af{--spacer-size:32px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-106 .elementor-element.elementor-element-930995d{--e-image-carousel-slides-to-show:1;}.elementor-106 .elementor-element.elementor-element-c4c7ff2{--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;--overflow:hidden;}.elementor-106 .elementor-element.elementor-element-62f8e06.elementor-element{--align-self:flex-end;}.elementor-106 .elementor-element.elementor-element-62f8e06 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:75px;font-weight:600;color:#FFFFFF;}.elementor-106 .elementor-element.elementor-element-934337e{--display:flex;}.elementor-106 .elementor-element.elementor-element-f2741a7{--display:flex;}.elementor-106 .elementor-element.elementor-element-7f4433c .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:23px;font-weight:600;color:#FFFFFF;}.elementor-106 .elementor-element.elementor-element-bb00eb5 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:15px;font-weight:400;color:#FFFFFF;}.elementor-106 .elementor-element.elementor-element-dfe5cbb{--spacer-size:32px;}.elementor-106 .elementor-element.elementor-element-f7af03c{--e-image-carousel-slides-to-show:1;}.elementor-106 .elementor-element.elementor-element-b35c3fe{--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-106 .elementor-element.elementor-element-8e25af7{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-106 .elementor-element.elementor-element-6efb933{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-106 .elementor-element.elementor-element-2046b3c{--display:flex;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-106 .elementor-element.elementor-element-c9b38b4 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:23px;font-weight:600;color:#FFFFFF;}.elementor-106 .elementor-element.elementor-element-efb5a04 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:15px;font-weight:400;color:#FFFFFF;}.elementor-106 .elementor-element.elementor-element-f6ea949{--spacer-size:32px;}.elementor-106 .elementor-element.elementor-element-f5e8545{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-106 .elementor-element.elementor-element-dd20d2b{--e-image-carousel-slides-to-show:1;}.elementor-106 .elementor-element.elementor-element-45373bc{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-106 .elementor-element.elementor-element-b548835{--display:flex;--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-106 .elementor-element.elementor-element-e385775 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:23px;font-weight:600;color:#FFFFFF;}.elementor-106 .elementor-element.elementor-element-734e077 .elementor-heading-title{font-family:"Space Grotesk", Sans-serif;font-size:15px;font-weight:400;color:#FFFFFF;}.elementor-106 .elementor-element.elementor-element-e76a929{--spacer-size:32px;}.elementor-106 .elementor-element.elementor-element-e4d9688{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-106 .elementor-element.elementor-element-d5656db{--e-image-carousel-slides-to-show:1;}.elementor-106 .elementor-element.elementor-element-87cef7d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-106 .elementor-element.elementor-element-87cef7d:not(.elementor-motion-effects-element-type-background), .elementor-106 .elementor-element.elementor-element-87cef7d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-106 .elementor-element.elementor-element-de27fbb{width:100%;max-width:100%;}.elementor-106 .elementor-element.elementor-element-3560f29{--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-106 .elementor-element.elementor-element-65b3812{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-106 .elementor-element.elementor-element-e0a5f33{--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;--overflow:hidden;}.elementor-106 .elementor-element.elementor-element-e0a5f33.e-con{--align-self:center;}.elementor-106 .elementor-element.elementor-element-9af8c64{--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-106 .elementor-element.elementor-element-877412d{--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;}body.elementor-page-106:not(.elementor-motion-effects-element-type-background), body.elementor-page-106 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-106 .elementor-element.elementor-element-b3a79c5{--width:100%;}.elementor-106 .elementor-element.elementor-element-9198dff{--content-width:896px;}.elementor-106 .elementor-element.elementor-element-cfb35f0{--content-width:100%;}.elementor-106 .elementor-element.elementor-element-7da4256{--content-width:100%;}.elementor-106 .elementor-element.elementor-element-72b58bc{--width:100%;}.elementor-106 .elementor-element.elementor-element-55a3d4c{--width:80%;}.elementor-106 .elementor-element.elementor-element-c4c7ff2{--width:80%;}.elementor-106 .elementor-element.elementor-element-e0a5f33{--width:50%;}.elementor-106 .elementor-element.elementor-element-9af8c64{--width:50%;}}@media(max-width:1024px){.elementor-106 .elementor-element.elementor-element-8e25af7{--padding-top:32px;--padding-bottom:15px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-106 .elementor-element.elementor-element-8e25af7{--padding-top:32px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for html, class: .elementor-element-296e36e */div {
    width: 100%;
    
}/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-56bb70d *//* Forzamos el movimiento lineal constante */
.elementor-element-56bb70d .swiper-wrapper {
    transition-timing-function: linear !important;
}

.elementor-element-56bb70d .swiper-slide-image {
    background-color: rgba(255, 255, 255, 0.05) !important;
    width: 200px !important;
    height: 150px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    object-fit: contain !important;
    border-radius: 12px;
    padding: 15px;
}

.elementor-element-56bb70d .swiper-slide {
    width: auto !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7da4256 *//* CSS PARA LOGOFOLIO DICENS */

/* Forzamos el movimiento lineal constante (sin tirones) */
.elementor-element-56bb70d .swiper-wrapper {
    transition-timing-function: linear !important;
}

/* Estilo de los contenedores de los logos */
.elementor-element-56bb70d .swiper-slide-image {
    background-color: rgba(255, 255, 255, 0.05) !important;
    width: 200px !important;
    height: 150px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    object-fit: contain !important;
    border-radius: 12px;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, 0.1); /* Añadimos borde estilo Dicens */
}

/* Ancho automático para que el carrusel fluya */
.elementor-element-56bb70d .swiper-slide {
    width: auto !important;
}

/* Estilo de la imagen del logo */
.elementor-element-56bb70d .swiper-slide-image img {
    filter: brightness(0) invert(1); /* Logos blancos */
    opacity: 0.6;
    transition: 0.3s ease;
}

.elementor-element-56bb70d .swiper-slide-image:hover img {
    opacity: 1;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-6111733 *//* --- BOTÓN BLUEPRINT INVERTIDO - DICENS --- */

/* 1. Estado Normal (Fondo Negro, Texto Blanco, Grid Blanco) */
.elementor-106 .elementor-element.elementor-element-6111733 .elementor-button {
    display: inline-flex !important; /* Para que respete el tamaño de su contenido */
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important; /* SOLO ABARCA LO QUE MIDE EL TEXTO */
    background-color: #000000 !important; /* Fondo Negro */
    
    /* Cuadrícula Blanca Traslúcida */
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.15) 1px, transparent 1px) !important;
    background-size: 20px 20px !important;
    
    /* Borde sutil blanco para que no se pierda en el fondo oscuro */
    border: 1px solid rgba(255, 255, 255, 0.2) !important; 
    padding: 15px 40px !important;
    border-radius: 0px !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
    overflow: hidden;
}

/* Texto y Flecha en Estado Normal */
.elementor-106 .elementor-element.elementor-element-6111733 .elementor-button-text,
.elementor-106 .elementor-element.elementor-element-6111733 .elementor-button-icon {
    font-family: 'Space Grotesk', sans-serif !important;
    font-weight: 700 !important;
    color: #ffffff !important; /* Texto Blanco */
    transition: color 0.4s ease !important;
}

.elementor-106 .elementor-element.elementor-element-6111733 .elementor-button-text {
    font-size: 1.1rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase;
}

/* 2. Estado Hover (Inversión a Fondo Blanco, Grid Azul y Texto Oscuro) */
.elementor-106 .elementor-element.elementor-element-6111733 .elementor-button:hover {
    background-color: #ffffff !important; /* Fondo Blanco */
    border-color: #ffffff !important;     /* Borde Blanco sólido */
    
    /* Cuadrícula Azul Técnico */
    background-image: 
        linear-gradient(rgba(0, 104, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 104, 255, 0.1) 1px, transparent 1px) !important;
    
    box-shadow: 0 10px 30px rgba(255, 255, 255, 0.15) !important;
}

/* Texto y Flecha en Hover */
.elementor-106 .elementor-element.elementor-element-6111733 .elementor-button:hover .elementor-button-text,
.elementor-106 .elementor-element.elementor-element-6111733 .elementor-button:hover .elementor-button-icon {
    color: #001a33 !important; /* Azul oscuro (casi negro) para contraste */
}

/* Animación de la Flecha */
.elementor-106 .elementor-element.elementor-element-6111733 .elementor-button-icon {
    margin-left: 15px;
    transition: transform 0.3s ease, color 0.4s ease !important;
}

.elementor-106 .elementor-element.elementor-element-6111733 .elementor-button:hover .elementor-button-icon {
    transform: translateX(8px);
}/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-930995d */.elementor-106 .elementor-element.elementor-element-930995d .elementor-image-carousel img {
    width: 100% !important;
    height: 700px !important; /* Ajusta esta altura a tu gusto */
    object-fit: cover;
    object-position: center;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-b633062 *//* --- BOTÓN BLUEPRINT INVERTIDO - DICENS --- */

/* 1. Estado Normal (Fondo Negro, Texto Blanco, Grid Blanco) */
.elementor-106 .elementor-element.elementor-element-b633062 .elementor-button {
    display: inline-flex !important; /* Para que respete el tamaño de su contenido */
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important; /* SOLO ABARCA LO QUE MIDE EL TEXTO */
    background-color: #000000 !important; /* Fondo Negro */
    
    /* Cuadrícula Blanca Traslúcida */
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.15) 1px, transparent 1px) !important;
    background-size: 20px 20px !important;
    
    /* Borde sutil blanco para que no se pierda en el fondo oscuro */
    border: 1px solid rgba(255, 255, 255, 0.2) !important; 
    padding: 15px 40px !important;
    border-radius: 0px !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
    overflow: hidden;
}

/* Texto y Flecha en Estado Normal */
.elementor-106 .elementor-element.elementor-element-b633062 .elementor-button-text,
.elementor-106 .elementor-element.elementor-element-b633062 .elementor-button-icon {
    font-family: 'Space Grotesk', sans-serif !important;
    font-weight: 700 !important;
    color: #ffffff !important; /* Texto Blanco */
    transition: color 0.4s ease !important;
}

.elementor-106 .elementor-element.elementor-element-b633062 .elementor-button-text {
    font-size: 1.1rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase;
}

/* 2. Estado Hover (Inversión a Fondo Blanco, Grid Azul y Texto Oscuro) */
.elementor-106 .elementor-element.elementor-element-b633062 .elementor-button:hover {
    background-color: #ffffff !important; /* Fondo Blanco */
    border-color: #ffffff !important;     /* Borde Blanco sólido */
    
    /* Cuadrícula Azul Técnico */
    background-image: 
        linear-gradient(rgba(0, 104, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 104, 255, 0.1) 1px, transparent 1px) !important;
    
    box-shadow: 0 10px 30px rgba(255, 255, 255, 0.15) !important;
}

/* Texto y Flecha en Hover */
.elementor-106 .elementor-element.elementor-element-b633062 .elementor-button:hover .elementor-button-text,
.elementor-106 .elementor-element.elementor-element-b633062 .elementor-button:hover .elementor-button-icon {
    color: #001a33 !important; /* Azul oscuro (casi negro) para contraste */
}

/* Animación de la Flecha */
.elementor-106 .elementor-element.elementor-element-b633062 .elementor-button-icon {
    margin-left: 15px;
    transition: transform 0.3s ease, color 0.4s ease !important;
}

.elementor-106 .elementor-element.elementor-element-b633062 .elementor-button:hover .elementor-button-icon {
    transform: translateX(8px);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-72b58bc *//* =========================================
   SOLO APLICAR EN ESCRITORIO (Más de 1025px)
   ========================================= */
@media (min-width: 1025px) {
    
    /* 0. Contenedor Padre */
    .elementor-106 .elementor-element.elementor-element-72b58bc {
        --text-block-width: 40%;
        --image-block-width: 25%;
        --transition-speed: 0.7s;

        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        height: 600px !important;
        background: #000;
        gap: 0 !important;
        overflow: hidden !important;
        border: 1px solid rgba(255,255,255,0.1);
    }

    /* 1. Items del Acordeón */
    .elementor-106 .elementor-element.elementor-element-72b58bc .dicens-acc-item {
        flex: 1 !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        border-right: 1px solid rgba(255,255,255,0.1);
        transition: flex var(--transition-speed) cubic-bezier(0.25, 1, 0.3, 1) !important;
        overflow: hidden !important;
        height: 100% !important;
    }

    /* Expansión del acordeón */
    .elementor-106 .elementor-element.elementor-element-72b58bc .dicens-acc-item.is-active {
        flex: 30 !important;
    }

    /* 2. Título Vertical */
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-vertical-title {
        writing-mode: vertical-rl;
        transform: rotate(180deg);
        min-width: 80px !important;
        flex-shrink: 0 !important; 
        display: flex !important;
        align-items: center;
        justify-content: center;
        color: #ffffff;
        font-family: 'Space Grotesk', sans-serif;
        text-transform: uppercase;
        margin: 0 !important;
        z-index: 5;
        transition: color 0.4s ease !important;
        gap: 25px; /* Respiro entre título y flecha */
    }

    /* Cambio de color al abrir */
    .elementor-106 .elementor-element.elementor-element-72b58bc .dicens-acc-item.is-active .acc-vertical-title {
        color: #00d4ff !important;
        opacity: 1 !important;
        width: auto !important;
    }

    /* 3. Contenedor de Contenido */
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content {
        display: none !important;
        width: 100% !important;
        height: 100% !important;
        padding: 0 0 0 60px !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    .elementor-106 .elementor-element.elementor-element-72b58bc .dicens-acc-item.is-active .acc-content {
        display: flex !important;
    }

    /* Bloque A: Textos */
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content > div:first-child,
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content > .elementor-widget-wrap > .elementor-element:first-child {
        flex: none !important;
        width: var(--text-block-width) !important;
        max-width: 600px !important;
        display: flex !important;
        flex-direction: column !important;
        margin-right: 150px !important;
        flex-shrink: 0 !important;
        z-index: 10;
    }

/* 3. Contenedor de Contenido (Aparición instantánea, pero sin romper Swiper) */
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content {
        display: flex !important; /* Mantenemos flex para que Swiper sepa que mide 600px */
        width: 100% !important;
        height: 100% !important;
        padding: 0 0 0 60px !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        
        /* Oculto, pero SIN transición (aparecerá de golpe) */
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important; 
    }

    /* Al activarse, aparece inmediatamente */
    .elementor-106 .elementor-element.elementor-element-72b58bc .dicens-acc-item.is-active .acc-content {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important; 
    }

    /* Bloque A: Textos */
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content > div:first-child,
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content > .elementor-widget-wrap > .elementor-element:first-child {
        flex: none !important;
        width: var(--text-block-width) !important;
        max-width: 600px !important;
        display: flex !important;
        flex-direction: column !important;
        margin-right: 150px !important;
        flex-shrink: 0 !important;
        z-index: 10;
    }

    /* Bloque B: Carrusel */
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content .elementor-widget-image-carousel {
        flex: none !important;
        width: var(--image-block-width) !important;
        height: 100% !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
    }

    /* Forzamos alto en los contenedores nativos de Elementor/Swiper */
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content .elementor-widget-container,
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content .elementor-image-carousel-wrapper,
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content .swiper,
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content .swiper-container,
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content .swiper-wrapper {
        height: 100% !important;
    }

    /* Configuramos la diapositiva en flex para estirar la imagen */
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content .swiper-slide {
        height: 100% !important;
        display: flex !important;
    }

    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-content .swiper-slide img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    /* --- FLECHA TÉCNICA ANIMADA --- */
    /* Dibujamos la flecha con bordes (ESTADO CERRADO) */
    .elementor-106 .elementor-element.elementor-element-72b58bc .acc-vertical-title::after {
        content: '';
        display: block;
        width: 14px;
        height: 14px;
        border-bottom: 2px solid rgba(255, 255, 255, 0.5); 
        border-left: 2px solid rgba(255, 255, 255, 0.5);
        transform: rotate(-135deg); 
        transition: transform 0.4s ease, border-color 0.4s ease;
    }

    /* Animación de giro (ESTADO ABIERTO / CLIC) */
    .elementor-106 .elementor-element.elementor-element-72b58bc .dicens-acc-item.is-active .acc-vertical-title::after {
        transform: rotate(45deg); 
        border-color: #00d4ff !important; 
    }

} /* <--- AQUÍ CIERRA EL MEDIA QUERY CORRECTAMENTE */

/* =========================================
   FORZAR OCULTAR EN TABLET Y MÓVIL
   ========================================= */
@media (max-width: 1024px) {
    .elementor-106 .elementor-element.elementor-element-72b58bc {
        display: none !important;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-ccb1365 *//* --- BOTÓN BLUEPRINT INVERTIDO - DICENS --- */

/* 1. Estado Normal (Fondo Negro, Texto Blanco, Grid Blanco) */
.elementor-106 .elementor-element.elementor-element-ccb1365 .elementor-button {
    display: inline-flex !important; /* Para que respete el tamaño de su contenido */
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important; /* SOLO ABARCA LO QUE MIDE EL TEXTO */
    background-color: #000000 !important; /* Fondo Negro */
    
    /* Cuadrícula Blanca Traslúcida */
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.15) 1px, transparent 1px) !important;
    background-size: 20px 20px !important;
    
    /* Borde sutil blanco para que no se pierda en el fondo oscuro */
    border: 1px solid rgba(255, 255, 255, 0.2) !important; 
    padding: 15px 40px !important;
    border-radius: 0px !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
    overflow: hidden;
}

/* Texto y Flecha en Estado Normal */
.elementor-106 .elementor-element.elementor-element-ccb1365 .elementor-button-text,
.elementor-106 .elementor-element.elementor-element-ccb1365 .elementor-button-icon {
    font-family: 'Space Grotesk', sans-serif !important;
    font-weight: 700 !important;
    color: #ffffff !important; /* Texto Blanco */
    transition: color 0.4s ease !important;
}

.elementor-106 .elementor-element.elementor-element-ccb1365 .elementor-button-text {
    font-size: 1.1rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase;
}

/* 2. Estado Hover (Inversión a Fondo Blanco, Grid Azul y Texto Oscuro) */
.elementor-106 .elementor-element.elementor-element-ccb1365 .elementor-button:hover {
    background-color: #ffffff !important; /* Fondo Blanco */
    border-color: #ffffff !important;     /* Borde Blanco sólido */
    
    /* Cuadrícula Azul Técnico */
    background-image: 
        linear-gradient(rgba(0, 104, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 104, 255, 0.1) 1px, transparent 1px) !important;
    
    box-shadow: 0 10px 30px rgba(255, 255, 255, 0.15) !important;
}

/* Texto y Flecha en Hover */
.elementor-106 .elementor-element.elementor-element-ccb1365 .elementor-button:hover .elementor-button-text,
.elementor-106 .elementor-element.elementor-element-ccb1365 .elementor-button:hover .elementor-button-icon {
    color: #001a33 !important; /* Azul oscuro (casi negro) para contraste */
}

/* Animación de la Flecha */
.elementor-106 .elementor-element.elementor-element-ccb1365 .elementor-button-icon {
    margin-left: 15px;
    transition: transform 0.3s ease, color 0.4s ease !important;
}

.elementor-106 .elementor-element.elementor-element-ccb1365 .elementor-button:hover .elementor-button-icon {
    transform: translateX(8px);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-ef19d31 *//* --- BOTÓN BLUEPRINT INVERTIDO - DICENS --- */

/* 1. Estado Normal (Fondo Negro, Texto Blanco, Grid Blanco) */
.elementor-106 .elementor-element.elementor-element-ef19d31 .elementor-button {
    display: inline-flex !important; /* Para que respete el tamaño de su contenido */
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important; /* SOLO ABARCA LO QUE MIDE EL TEXTO */
    background-color: #000000 !important; /* Fondo Negro */
    
    /* Cuadrícula Blanca Traslúcida */
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.15) 1px, transparent 1px) !important;
    background-size: 20px 20px !important;
    
    /* Borde sutil blanco para que no se pierda en el fondo oscuro */
    border: 1px solid rgba(255, 255, 255, 0.2) !important; 
    padding: 15px 40px !important;
    border-radius: 0px !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
    overflow: hidden;
}

/* Texto y Flecha en Estado Normal */
.elementor-106 .elementor-element.elementor-element-ef19d31 .elementor-button-text,
.elementor-106 .elementor-element.elementor-element-ef19d31 .elementor-button-icon {
    font-family: 'Space Grotesk', sans-serif !important;
    font-weight: 700 !important;
    color: #ffffff !important; /* Texto Blanco */
    transition: color 0.4s ease !important;
}

.elementor-106 .elementor-element.elementor-element-ef19d31 .elementor-button-text {
    font-size: 1.1rem !important;
    letter-spacing: 2px !important;
    text-transform: uppercase;
}

/* 2. Estado Hover (Inversión a Fondo Blanco, Grid Azul y Texto Oscuro) */
.elementor-106 .elementor-element.elementor-element-ef19d31 .elementor-button:hover {
    background-color: #ffffff !important; /* Fondo Blanco */
    border-color: #ffffff !important;     /* Borde Blanco sólido */
    
    /* Cuadrícula Azul Técnico */
    background-image: 
        linear-gradient(rgba(0, 104, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 104, 255, 0.1) 1px, transparent 1px) !important;
    
    box-shadow: 0 10px 30px rgba(255, 255, 255, 0.15) !important;
}

/* Texto y Flecha en Hover */
.elementor-106 .elementor-element.elementor-element-ef19d31 .elementor-button:hover .elementor-button-text,
.elementor-106 .elementor-element.elementor-element-ef19d31 .elementor-button:hover .elementor-button-icon {
    color: #001a33 !important; /* Azul oscuro (casi negro) para contraste */
}

/* Animación de la Flecha */
.elementor-106 .elementor-element.elementor-element-ef19d31 .elementor-button-icon {
    margin-left: 15px;
    transition: transform 0.3s ease, color 0.4s ease !important;
}

.elementor-106 .elementor-element.elementor-element-ef19d31 .elementor-button:hover .elementor-button-icon {
    transform: translateX(8px);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e25af7 *//* --- LÍNEAS TÉCNICAS DICENS (MÉTODO INFALIBLE) --- */

/* 1. Marco Exterior del Padre */
.elementor-106 .elementor-element.elementor-element-8e25af7 {
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* 2. Líneas entre los 4 HIJOS (Bloques principales) */
/* El símbolo '>' indica que afectamos solo al primer nivel (tus 4 hijos) */
.elementor-106 .elementor-element.elementor-element-8e25af7 > .e-con, 
.elementor-106 .elementor-element.elementor-element-8e25af7 > .e-container, 
.elementor-106 .elementor-element.elementor-element-8e25af7 > div {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Quitamos la línea al último hijo para no duplicar el borde inferior */
.elementor-106 .elementor-element.elementor-element-8e25af7 > .e-con:last-child, 
.elementor-106 .elementor-element.elementor-element-8e25af7 > .e-container:last-child, 
.elementor-106 .elementor-element.elementor-element-8e25af7 > div:last-child {
    border-bottom: none !important;
}

/* 3. LÍNEA CENTRAL (División entre Nieto 1 y Nieto 2) */
/* Aquí entramos un nivel más: el primer contenedor dentro de cada hijo */
.elementor-106 .elementor-element.elementor-element-8e25af7 > .e-con > .e-con:first-child,
.elementor-106 .elementor-element.elementor-element-8e25af7 > .e-container > .e-container:first-child,
.elementor-106 .elementor-element.elementor-element-8e25af7 > div > div:first-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding-bottom: 20px !important;
}

/* 4. Ajuste de Padding para el Nieto 2 (Carousel) */
.elementor-106 .elementor-element.elementor-element-8e25af7 > .e-con > .e-con:last-child,
.elementor-106 .elementor-element.elementor-element-8e25af7 > .e-container > .e-container:last-child,
.elementor-106 .elementor-element.elementor-element-8e25af7 > div > div:last-child {
    padding-top: 20px !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-de27fbb */.marquee-texto-container {
  width: 100%;
  overflow: hidden;
  background: #fff; /* Color de fondo */
  padding: 20px 0;
  display: flex;
}

.marquee-texto-content {
  display: flex;
  white-space: nowrap;
  animation: marquee-flow 20s linear infinite; /* Ajusta los 20s para velocidad */
}

.marquee-texto-content span {
  font-family: 'Space Grotesk'; /* Cambia por tu tipografía */
  font-weight: bold;
  font-size: 96px;
  color: #000; /* Color del texto */
  padding-right: 50px; /* Espacio entre repeticiones */
}

/* Animación fluida */
@keyframes marquee-flow {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Pausa al pasar el mouse (opcional) */
.marquee-texto-container:hover .marquee-texto-content {
  animation-play-state: paused;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-0aedbcb *//* ── Form body ── */
#gform_2,
#gform_2 .gform_body,
#gform_2 .gform_fields {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: transparent;
  padding: 0;
  box-shadow: none;
  list-style: none;
  margin: 0;
}

/* ── Field wrapper (equiv. to .form-group) ── */
#gform_2 .gfield {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin: 0;
  padding: 0;
}

/* ── Labels ── */
#gform_2 .gfield_label,
#gform_2 .gform-field-label {
  font-size: 1.08rem !important;
  color: #fff !important;
  font-weight: 500 !important;
  margin-bottom: 0.2rem !important;
  letter-spacing: 0.01em;
  font-family: 'Space Grotesk', sans-serif !important;
}

/* Sub-label (e.g. "nombres" under name field) */
#gform_2 .gform-field-label--type-sub {
  display: none;
}

/* Required indicator */
#gform_2 .gfield_required {
  color: rgba(255, 255, 255, 0.4) !important;
  font-size: 0.75rem;
  font-weight: 400;
  margin-left: 0.3rem;
}

/* ── All inputs, textarea, select ── */
#gform_2 input[type="text"],
#gform_2 input[type="email"],
#gform_2 input[type="tel"],
#gform_2 input[type="number"],
#gform_2 textarea,
#gform_2 select {
  background: #000 !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 0 !important;
  padding: 1.7rem 1.2rem !important;
  font-size: 1.08rem !important;
  font-family: 'Space Grotesk', sans-serif !important;
  outline: none !important;
  transition: border 0.2s !important;
  box-shadow: none !important;
  width: 100% !important;
  appearance: none;
  -webkit-appearance: none;
}

#gform_2 input[type="text"]::placeholder,
#gform_2 input[type="email"]::placeholder,
#gform_2 input[type="tel"]::placeholder,
#gform_2 textarea::placeholder {
  color: #999 !important;
}

#gform_2 input[type="text"]:focus,
#gform_2 input[type="email"]:focus,
#gform_2 input[type="tel"]:focus,
#gform_2 textarea:focus,
#gform_2 select:focus {
  border-color: #fff !important;
}

/* ── Select: custom arrow ── */
#gform_2 .ginput_container_select {
  position: relative;
}

#gform_2 .ginput_container_select::after {
 display: none;
}

#gform_2 select option {
  background: #000;
  color: #fff;
}

/* ── Name field: remove default inline layout ── */
#gform_2 .ginput_container--name {
  display: flex;
  flex-direction: column;
  gap: 0;
}

#gform_2 .ginput_container--name .name_first {
  display: flex;
  flex-direction: column;
  
    
        
}

/* ── Consent / checkbox row ── */
#gform_2 .ginput_container_consent {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

#gform_2 .ginput_container_consent input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  background: #000 !important;
  accent-color: #fff;
  cursor: pointer;
  flex-shrink: 0;
}

#gform_2 .gfield_consent_label {
  font-size: 0.9rem !important;
  color: rgba(255, 255, 255, 0.65) !important;
  font-weight: 400 !important;
  margin: 0 !important;
  cursor: pointer;
}

/* ── Submit button ── */
#gform_2 .gform_footer {
  padding: 0;
  margin-top: 0.5rem;
}

#gform_2 .gform_button {

  background-size: 35px 30px !important;
  background-color: #fff !important;
  border: 2px solid rgb(229, 231, 235) !important;
  border-radius: 0 !important;
  color: #000 !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 12px 24px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
  font-family: 'Space Grotesk', sans-serif !important;
  -webkit-appearance: none;
}

#gform_2 .gform_button:hover {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

/* ── Validation errors ── */
#gform_2 .gfield_error label,
#gform_2 .gfield_error .gfield_label {
  color: rgba(255, 80, 80, 0.9) !important;
}

#gform_2 .gfield_error input,
#gform_2 .gfield_error textarea,
#gform_2 .gfield_error select {
  border-color: rgba(255, 80, 80, 0.6) !important;
}

#gform_2 .validation_message {
  color: rgba(255, 80, 80, 0.8) !important;
  font-size: 0.8rem !important;
  margin-top: 0.3rem;
  font-family: 'Space Grotesk', sans-serif !important;
}

#gform_2 .gform_validation_errors {
  display: none; /* hide the top-of-form error block; per-field errors are enough */
}

/* ── Responsive ── */
@media (max-width: 768px) {
  #gform_2 .gfield_label,
  #gform_2 .gform-field-label {
    font-size: 1rem !important;
  }

  #gform_2 input[type="text"],
  #gform_2 input[type="email"],
  #gform_2 input[type="tel"],
  #gform_2 textarea,
  #gform_2 select {
    font-size: 1rem !important;
    padding: 0.9rem 1rem !important;
  }

  #gform_2 .gform_button {
    padding: 12px 20px !important;
  }
}

/* Force name field row to flex so the single column fills full width */
#gform_2 .ginput_container--name.gform-grid-row {
  display: flex !important;
  width: 100% !important;
}

#gform_2 .ginput_container--name .gform-grid-col {
  flex: 1 1 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

#gform_2 .ginput_container--name .name_first {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}




#gform_2 input[type="checkbox"]:focus,
#gform_2 input[type="checkbox"]:focus-visible {
display: none;

}/* End custom CSS */