.elementor-872 .elementor-element.elementor-element-74971789 > .elementor-container{max-width:1440px;}.elementor-872 .elementor-element.elementor-element-74971789 > .elementor-background-overlay{opacity:0.88;}.elementor-872 .elementor-element.elementor-element-74971789{padding:100px 50px 100px 50px;}.elementor-872 .elementor-element.elementor-element-1853b53b > .elementor-element-populated{padding:0px 25px 0px 0px;}.elementor-872 .elementor-element.elementor-element-21306f0f{text-align:center;}.elementor-872 .elementor-element.elementor-element-21306f0f .elementor-heading-title{color:#FFFFFF;}.elementor-872 .elementor-element.elementor-element-d373428 > .elementor-container{max-width:1440px;}.elementor-872 .elementor-element.elementor-element-d373428{padding:100px 50px 100px 50px;}.elementor-872 .elementor-element.elementor-element-776a2067 > .elementor-element-populated{padding:15px 20px 15px 0px;}.elementor-872 .elementor-element.elementor-element-24f859b8{padding:35px 35px 35px 35px;border-style:solid;border-width:1px 1px 1px 1px;border-radius:3px 3px 3px 3px;}.elementor-872 .elementor-element.elementor-element-24f859b8 .elementor-icon-box-wrapper{gap:15px;}.elementor-872 .elementor-element.elementor-element-24f859b8.elementor-view-stacked .elementor-icon{background-color:#2732FF;}.elementor-872 .elementor-element.elementor-element-24f859b8.elementor-view-framed .elementor-icon, .elementor-872 .elementor-element.elementor-element-24f859b8.elementor-view-default .elementor-icon{fill:#2732FF;color:#2732FF;border-color:#2732FF;}.elementor-872 .elementor-element.elementor-element-24f859b8 .elementor-icon{font-size:45px;}.elementor-872 .elementor-element.elementor-element-1365964b > .elementor-element-populated{padding:0px 10px 0px 10px;}.elementor-872 .elementor-element.elementor-element-23328b99{background-color:transparent;padding:50px 35px 50px 35px;background-image:linear-gradient(100deg, var( --e-global-color-primary ) 0%, var( --e-global-color-secondary ) 100%);border-radius:3px 3px 3px 3px;box-shadow:0px 20px 50px 0px rgba(0, 0, 0, 0.1);}.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-icon-box-wrapper{gap:15px;}.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-icon{font-size:45px;}.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-icon-box-title{color:#FFFFFF;}.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-icon-box-description{color:#FFFFFF;}.elementor-872 .elementor-element.elementor-element-b92ce41 > .elementor-element-populated{padding:15px 0px 15px 20px;}.elementor-872 .elementor-element.elementor-element-4b0e0f9a{padding:35px 35px 35px 35px;border-style:solid;border-width:1px 1px 1px 1px;border-radius:3px 3px 3px 3px;}.elementor-872 .elementor-element.elementor-element-4b0e0f9a .elementor-icon-box-wrapper{gap:15px;}.elementor-872 .elementor-element.elementor-element-4b0e0f9a.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-872 .elementor-element.elementor-element-4b0e0f9a.elementor-view-framed .elementor-icon, .elementor-872 .elementor-element.elementor-element-4b0e0f9a.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-872 .elementor-element.elementor-element-4b0e0f9a .elementor-icon{font-size:45px;}.elementor-872 .elementor-element.elementor-element-a85ad6d > .elementor-container{max-width:1440px;}.elementor-872 .elementor-element.elementor-element-a85ad6d{padding:0px 50px 100px 50px;}.elementor-872 .elementor-element.elementor-element-518c79f3 > .elementor-element-populated{padding:0px 25px 0px 0px;}.elementor-872 .elementor-element.elementor-element-4b8de6d3 iframe{height:375px;}@media(max-width:1024px){.elementor-872 .elementor-element.elementor-element-74971789{padding:50px 15px 50px 15px;}.elementor-872 .elementor-element.elementor-element-1853b53b > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-872 .elementor-element.elementor-element-d373428{padding:50px 15px 50px 15px;}.elementor-872 .elementor-element.elementor-element-776a2067 > .elementor-element-populated{padding:0px 12.5px 0px 0px;}.elementor-872 .elementor-element.elementor-element-1365964b > .elementor-element-populated{padding:0px 0px 0px 12.5px;}.elementor-872 .elementor-element.elementor-element-23328b99{padding:35px 35px 35px 35px;}.elementor-872 .elementor-element.elementor-element-b92ce41 > .elementor-element-populated{padding:25px 0px 0px 0px;}.elementor-872 .elementor-element.elementor-element-a85ad6d{padding:0px 15px 50px 15px;}.elementor-872 .elementor-element.elementor-element-518c79f3 > .elementor-element-populated{padding:25px 0px 0px 0px;}}@media(max-width:767px){.elementor-872 .elementor-element.elementor-element-776a2067 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-872 .elementor-element.elementor-element-24f859b8{padding:25px 25px 25px 25px;}.elementor-872 .elementor-element.elementor-element-1365964b > .elementor-element-populated{padding:25px 0px 0px 0px;}.elementor-872 .elementor-element.elementor-element-23328b99{padding:25px 25px 25px 25px;}.elementor-872 .elementor-element.elementor-element-b92ce41 > .elementor-element-populated{padding:25px 0px 0px 0px;}.elementor-872 .elementor-element.elementor-element-4b0e0f9a{padding:25px 25px 25px 25px;}}@media(max-width:1024px) and (min-width:768px){.elementor-872 .elementor-element.elementor-element-1853b53b{width:100%;}.elementor-872 .elementor-element.elementor-element-776a2067{width:50%;}.elementor-872 .elementor-element.elementor-element-1365964b{width:50%;}.elementor-872 .elementor-element.elementor-element-b92ce41{width:100%;}.elementor-872 .elementor-element.elementor-element-518c79f3{width:100%;}}/* Start custom CSS for section, class: .elementor-element-74971789 *//* --- FONDO OSCURO + GRID AZUL (CORREGIDO) --- */
.elementor-872 .elementor-element.elementor-element-74971789 {
    background-color: #0f0f0f !important; 
    position: relative;
    z-index: 1;
    /* Esto es lo más importante: corta todo lo que salga de la sección */
    overflow: hidden !important; 
    padding: 80px 0 !important;
}

/* El Grid Animado */
.elementor-872 .elementor-element.elementor-element-74971789::before {
    content: '' !important;
    position: absolute !important;
    /* Ajustamos para que cubra pero no se escape */
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    
    background-image: 
        linear-gradient(rgba(0, 86, 179, 0.15) 1px, transparent 1px), 
        linear-gradient(90deg, rgba(0, 86, 179, 0.15) 1px, transparent 1px) !important;
    background-size: 50px 50px !important;
    
    display: block !important;
    opacity: 1 !important;
    z-index: -1 !important;
    
    /* Cambiamos la animación a una que use background-position en lugar de transform */
    /* El transform a veces ignora el overflow:hidden en ciertos navegadores */
    animation: move-grid-clean 100s linear infinite !important;
    pointer-events: none !important;
}

/* Animación optimizada para no mover el contenedor, solo el fondo */
@keyframes move-grid-clean {
    from { background-position: 0 0; }
    to { background-position: 1000px 1000px; }
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-24f859b8 *//* --- ESTILO PARA ICON BOX LATERAL (BLANCO) --- */

/* 1. Limpieza de fondos de Elementor */
.elementor-872 .elementor-element.elementor-element-24f859b8 .elementor-widget-container {
    background: transparent !important;
    padding: 0 !important;
}

/* 2. Diseño de la Tarjeta */
.elementor-872 .elementor-element.elementor-element-24f859b8 {
    background-color: #ffffff !important;
    border: 1px solid #eeeeee !important; /* Borde técnico fino */
    border-radius: 20px !important;
    padding: 50px 30px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
    
    /* Animación de flotado sutil */
    animation: flotar-lateral 7s ease-in-out infinite !important;
    transition: all 0.4s ease !important;
}

/* 3. Color del Icono (#007BFF) */
.elementor-872 .elementor-element.elementor-element-24f859b8 .elementor-icon-box-icon i,
.elementor-872 .elementor-element.elementor-element-24f859b8 .elementor-icon-box-icon svg {
    color: #007BFF !important;
    fill: #007BFF !important;
    font-size: 45px !important;
    transition: transform 0.3s ease !important;
}

/* 4. Tipografía y Colores de Texto */
.elementor-872 .elementor-element.elementor-element-24f859b8 .elementor-icon-box-title {
    color: #1a1a1a !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    margin-top: 15px !important;
}

.elementor-872 .elementor-element.elementor-element-24f859b8 .elementor-icon-box-description {
    color: #666666 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

/* 5. Animación y Hover */
@keyframes flotar-lateral {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

.elementor-872 .elementor-element.elementor-element-24f859b8:hover {
    transform: translateY(-15px) scale(1.02) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1) !important;
    border-color: #007BFF !important;
}

.elementor-872 .elementor-element.elementor-element-24f859b8:hover .elementor-icon-box-icon i {
    transform: scale(1.1);
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-23328b99 *//* --- ICON BOX CENTRAL: AZUL #007BFF + ANIMACIONES --- */

/* 1. Limpieza de contenedores internos de Elementor */
.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-widget-container,
.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-icon-box-wrapper,
.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-icon-box-content {
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
}

/* 2. Estilo de la Tarjeta Principal */
.elementor-872 .elementor-element.elementor-element-23328b99 {
    /* Color Azul Sólido Forzado */
    background-color: #007BFF !important;
    background: #007BFF !important;
    
    /* Diseño y Bordes */
    border-radius: 20px !important;
    padding: 60px 30px !important;
    
    /* Sombra técnica azul */
    box-shadow: 0 20px 50px rgba(0, 123, 255, 0.35) !important;
    
    /* Posición inicial elevada */
    transform: translateY(-15px);
    z-index: 10;
    
    /* Animación de flotado continuo */
    animation: flotar-central-master 6s ease-in-out infinite !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

/* 3. Colores de Icono, Título y Descripción (Blanco) */
.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-icon-box-icon i,
.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-icon-box-icon svg,
.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-icon-box-title,
.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-icon-box-description {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* Tamaños de elementos internos */
.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-icon-box-icon i {
    font-size: 50px !important;
    margin-bottom: 15px !important;
}

.elementor-872 .elementor-element.elementor-element-23328b99 .elementor-icon-box-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1.4rem !important;
}

/* 4. Definición de la Animación de Flotado */
@keyframes flotar-central-master {
    0%, 100% { 
        transform: translateY(-15px); 
    }
    50% { 
        transform: translateY(-28px); /* Sube un poco más para destacar */
    }
}

/* 5. Efecto Hover (Al pasar el ratón) */
.elementor-872 .elementor-element.elementor-element-23328b99:hover {
    transform: translateY(-35px) scale(1.03) !important;
    box-shadow: 0 35px 70px rgba(0, 123, 255, 0.5) !important;
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-4b0e0f9a *//* --- ESTILO PARA ICON BOX LATERAL (BLANCO) --- */

/* 1. Limpieza de fondos de Elementor */
.elementor-872 .elementor-element.elementor-element-4b0e0f9a .elementor-widget-container {
    background: transparent !important;
    padding: 0 !important;
}

/* 2. Diseño de la Tarjeta */
.elementor-872 .elementor-element.elementor-element-4b0e0f9a {
    background-color: #ffffff !important;
    border: 1px solid #eeeeee !important; /* Borde técnico fino */
    border-radius: 20px !important;
    padding: 50px 30px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
    
    /* Animación de flotado sutil */
    animation: flotar-lateral 7s ease-in-out infinite !important;
    transition: all 0.4s ease !important;
}

/* 3. Color del Icono (#007BFF) */
.elementor-872 .elementor-element.elementor-element-4b0e0f9a .elementor-icon-box-icon i,
.elementor-872 .elementor-element.elementor-element-4b0e0f9a .elementor-icon-box-icon svg {
    color: #007BFF !important;
    fill: #007BFF !important;
    font-size: 45px !important;
    transition: transform 0.3s ease !important;
}

/* 4. Tipografía y Colores de Texto */
.elementor-872 .elementor-element.elementor-element-4b0e0f9a .elementor-icon-box-title {
    color: #1a1a1a !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    margin-top: 15px !important;
}

.elementor-872 .elementor-element.elementor-element-4b0e0f9a .elementor-icon-box-description {
    color: #666666 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

/* 5. Animación y Hover */
@keyframes flotar-lateral {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

.elementor-872 .elementor-element.elementor-element-4b0e0f9a:hover {
    transform: translateY(-15px) scale(1.02) !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1) !important;
    border-color: #007BFF !important;
}

.elementor-872 .elementor-element.elementor-element-4b0e0f9a:hover .elementor-icon-box-icon i {
    transform: scale(1.1);
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-d373428 *//* --- 1. FONDO BLANCO + GRID NEGRO ANIMADO --- */
.elementor-872 .elementor-element.elementor-element-d373428 {
    background-color: #ffffff !important; /* Fondo blanco puro */
    position: relative;
    z-index: 1;
    overflow: hidden !important;
    padding: 100px 0 !important;
    font-family: 'Montserrat', sans-serif !important;
}

/* El Grid Técnico en Negro */
.elementor-872 .elementor-element.elementor-element-d373428::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    
    /* Grid negro muy sutil (opacidad 0.05 para que no distraiga) */
    background-image: 
        linear-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px), 
        linear-gradient(90deg, rgba(0, 0, 0, 0.05) 1px, transparent 1px) !important;
    background-size: 50px 50px !important;
    
    display: block !important;
    z-index: -1 !important;
    
    /* Animación de movimiento sutil */
    animation: move-grid-light 120s linear infinite !important;
    pointer-events: none !important;
}

@keyframes move-grid-light {
    from { background-position: 0 0; }
    to { background-position: 1000px 1000px; }
}

/* --- 2. ESPACIADO ENTRE CAJAS --- */
.elementor-872 .elementor-element.elementor-element-d373428 > .elementor-container {
    gap: 35px !important; /* Espacio real entre tarjetas */
}

/* --- 3. ESTILO DE LAS TARJETAS --- */
.elementor-872 .elementor-element.elementor-element-d373428 .elementor-widget-icon-box {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    border-radius: 15px !important;
    padding: 60px 35px !important;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05); /* Sombra muy suave */
}

/* --- TARJETAS LATERALES (BLANCO TOTAL) --- */
.elementor-872 .elementor-element.elementor-element-d373428 .elementor-column:not(:nth-child(2)) .elementor-widget-icon-box {
    background-color: #ffffff !important;
    border: 1px solid #eeeeee !important; /* Borde fino para definirlas */
}

/* --- TARJETA CENTRAL (TU AZUL #007BFF) --- */
.elementor-872 .elementor-element.elementor-element-d373428 .elementor-column:nth-child(2) .elementor-widget-icon-box {
    background-color: #007BFF !important; /* Tu azul exacto */
    border: none !important;
    transform: scale(1.05);
    box-shadow: 0 20px 50px rgba(0, 123, 255, 0.25) !important;
}

/* --- 4. COLORES DE CONTENIDO --- */

/* Textos e Iconos Centrales (Blancos) */
.elementor-872 .elementor-element.elementor-element-d373428 .elementor-column:nth-child(2) .elementor-icon-box/* End custom CSS */