/* =========================================================================
   STYLE_MOVIL.CSS - ESTILOS EXCLUSIVOS PARA VERSIÓN MÓVIL (<= 1024px)
   ========================================================================= */

@media (max-width: 1024px) {
    
    /* ================= CORRECCIÓN GLOBAL: ELIMINACIÓN DE DOBLE SCROLL ================= */
    html {
        overflow-x: hidden !important;
        overflow-y: auto !important; 
    }
    
    body {
        overflow-x: hidden !important;
        width: 100% !important;
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Prevenir que fondos expansivos fuercen scroll en pantallas pequeñas */
    .fondo-ancho-completo-ede1ff,
    .divisor-secciones-ede1ff::before,
    .seccion-journey-page2::before,
    .seccion-impactos-page2::before,
    .fondo-morado-top {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
    }

    /* ================= NAVEGACIÓN Y MENÚ GLOBAL ================= */
    .header-principal { 
        flex-direction: row; 
        align-items: center; 
        background-color: transparent !important; 
        padding: 20px 5%; 
    }
    
    .header-principal.scrolled {
        background-color: rgba(255, 255, 255, 0.95) !important; 
        backdrop-filter: blur(12px); 
        -webkit-backdrop-filter: blur(12px); 
        box-shadow: 0 4px 15px rgba(0,0,0,0.08); 
    }
    
    .logo-img { height: 28px !important; width: auto !important; }
    
    .menu-hamburguesa { display: flex; }
    
    .navegacion { 
        display: none; 
        position: absolute; 
        top: 100%; 
        left: 0; 
        width: 100%; 
        background-color: #ffffff; 
        flex-direction: column; 
        padding: 20px 5%; 
        box-shadow: 0 10px 15px rgba(0,0,0,0.1); 
        align-items: flex-start; 
        box-sizing: border-box; 
    }
    .navegacion.activa { display: flex; }
    .separador { display: none; }
    
    /* ================= ELIMINAR SALTOS DE LÍNEA ESTRUCTURALES ================= */
    h1 br, h2 br, h3 br, p br,
    .titulo-hero br, .titulo-seccion br, .titulo-seccion-p3 br, .titulo-soluciones-full br,
    .parrafo-hero br, .texto-tarjeta br, .texto-intro-proposito br, .texto-comp br,
    button br, .btn-hero br, .btn-soluciones br, .btn-dark-p3 br,
    .lista-servicios li br {
        display: none !important;
    }
    
    /* ================= HOME / INDEX (PÁGINA 1) ================= */
    
    /* Hero principal */
    .seccion-hero { flex-direction: column; padding-top: 130px; } 
    .contenedor-hero { width: 100%; text-align: left; margin-top: 0; position: relative; z-index: 2; padding-right: 20px; box-sizing: border-box; }
    .titulo-hero { font-size: 2.6rem; text-align: left; line-height: 0.9 !important; margin-bottom: 20px; }
    .parrafo-hero { margin: 0 0 30px 0; font-size: 1.15rem; text-align: left; }
    .btn-hero { align-self: flex-start; padding: 16px 35px !important; width: auto; max-width: 100%; text-align: center; box-sizing: border-box; }
    
    .hero-imagen-home { 
        position: absolute !important; 
        right: -25% !important; 
        top: -40px !important; 
        width: 75% !important; 
        max-width: 320px !important; 
        margin: 0 !important; 
        z-index: 0 !important; 
        opacity: 0.95; 
    }

/* Metodología (Tarjetas integrales) */
    .seccion-metodologia { 
        margin-top: 60px !important; /* CORRECCIÓN: Anula el -100px de la web y lo empuja hacia abajo del botón */
        padding-top: 20px !important; 
    }
    .cabecera-metodologia .titulo-seccion { text-align: left; font-size: 1.9rem; line-height: 1.2; margin-bottom: 30px; }
    .grid-metodologia { grid-template-columns: 1fr; row-gap: 0; }
    .tarjeta-metodologia { text-align: center !important; padding: 40px 0; border-bottom: 1px solid rgba(202, 169, 255, 0.4) !important; }
    .linea-derecha::after, .linea-abajo::before, .tarjeta-metodologia:not(:last-child)::before { display: none; }
    .tarjeta-metodologia .titulo-tarjeta { text-align: center !important; font-size: 1.4rem; margin-bottom: 10px;}
    .tarjeta-metodologia .texto-tarjeta { text-align: center !important; margin-bottom: 20px;}
    .tarjeta-metodologia .imagen-tarjeta { text-align: center; padding-top: 10px; }
    .tarjeta-metodologia .imagen-tarjeta img { max-width: 160px; height: auto; display: inline-block; }
    
    /* Cita corporativa */
    .seccion-cita { flex-direction: column; padding: 180px 5% 60px 5%; margin-top: 80px; text-align: center !important; justify-content: center !important; }
    .contenedor-cita { width: 100%; text-align: center !important; margin-left: 0; }
    .texto-cita { font-size: 1.5rem; text-align: center !important; }
    .autor-cita { text-align: center !important; width: 100% !important; margin-top: 20px; }
    .imagen-flotante-izq { top: -120px; left: 50%; transform: translateX(-50%); width: 80%; }
    
    /* Metodología Detalle (Sección 4) */
    .seccion-metodologia-detalle { display: flex !important; flex-direction: column !important; padding: 60px 5% 80px 5% !important; }
    .contenedor-met-detalle, .cabecera-met-detalle { display: contents !important; }
    .subtitulo-met-detalle { order: 1 !important; text-align: left !important; width: 100% !important; margin: 0 0 20px 0 !important; font-size: 1.8rem !important; line-height: 1.2 !important; }
    .imagen-flotante-der { order: 2 !important; position: relative !important; width: 100% !important; text-align: right !important; margin: 0 !important; left: auto !important; right: auto !important; top: auto !important; transform: none !important; }
    .imagen-flotante-der img { max-width: 320px !important; margin: 0 -20% 30px 0 !important; display: inline-block !important; opacity: 1 !important; }
    .titulo-met-detalle { order: 3 !important; text-align: left !important; width: 100% !important; font-size: 2.5rem !important; margin: 0 0 15px 0 !important; line-height: 1.1 !important; }
    .titulo-met-detalle br { display: block !important; }
    .texto-met-detalle { order: 4 !important; text-align: left !important; width: 100% !important; margin: 0 0 40px 0 !important; }
    .grid-tres-pasos { order: 5 !important; grid-template-columns: 1fr; text-align: left !important; gap: 0 !important; width: 100% !important; padding-left: 12% !important; box-sizing: border-box; }
    .paso { padding: 35px 0 !important; border-bottom: none !important; }
    .paso:last-child { border-bottom: 1px solid #caa9ff !important; }
    .titulo-paso { text-align: left !important; font-size: 1.45rem !important; margin-bottom: 12px !important; }
    .texto-paso { text-align: left !important; }
    .contenedor-btn-centro { order: 6 !important; text-align: center !important; width: 100% !important; margin-top: 50px !important; }
    
    /* Resultados (Sección 5) */
    .seccion-resultados { display: flex !important; flex-direction: column !important; padding: 80px 5% 100px 5% !important; overflow: visible !important; }
    .contenedor-resultados { display: contents !important; }
    .titulo-resultados { order: 1 !important; font-size: 1.8rem !important; text-align: left !important; line-height: 1.2 !important; margin-bottom: 40px !important; width: 100% !important; }
    .grid-resultados { order: 2 !important; grid-template-columns: 1fr !important; text-align: left !important; row-gap: 40px !important; width: 100% !important; }
    .item-resultado { padding-left: 0 !important; padding-top: 20px !important; border-top: none !important; }
    .item-resultado::before { content: '' !important; display: block !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 50px !important; height: 1px !important; background: #caa9ff !important; border: none !important; }
    .item-resultado::after { display: none !important; }
    .item-resultado p { font-size: 1.15rem !important; margin: 0 !important; }
    .imagen-rotatoria-der { order: 3 !important; position: relative !important; right: -10% !important; bottom: auto !important; top: auto !important; width: 80% !important; max-width: 320px !important; margin: 30px 0 30px auto !important; opacity: 0.95 !important; z-index: 1 !important; }
    .seccion-resultados .contenedor-btn-centro { order: 4 !important; text-align: left !important; margin-top: 20px !important; width: 100% !important; }

    /* Servicios Estratégicos (Sección 6) */
    .cabecera-servicios { text-align: left !important; }
    .titulo-servicios-sec { font-size: 1.8rem !important; text-align: left !important; line-height: 1.2 !important; margin-bottom: 15px !important; }
    .texto-servicios { text-align: left !important; }
    .fila-servicio { display: grid !important; grid-template-columns: 1fr 1.2fr !important; gap: 10px 20px !important; align-items: center !important; text-align: left !important; }
    .col-info { grid-column: 1 / -1 !important; margin-bottom: 10px !important; }
    .titulo-servicio { font-size: 1.5rem !important; margin: 0 !important; text-align: left !important; }
    .subtitulo-servicio { font-size: 1.05rem !important; margin: 5px 0 0 0 !important; text-align: left !important; }
    .col-imagen { grid-column: 1 !important; grid-row: 2 !important; text-align: left !important; display: flex; justify-content: flex-start; align-items: center !important; }
    .col-imagen img { margin: 0 !important; max-width: 130px !important; width: 100% !important; }
    .col-descripcion { grid-column: 2 !important; grid-row: 2 !important; display: flex; align-items: center !important; }
    .col-descripcion p { font-size: 1.05rem !important; margin: 0 !important; text-align: left !important; }
    .col-lista { grid-column: 1 / -1 !important; grid-row: 3 !important; margin-top: 20px !important; }
    .lista-servicios { border-top: 1px solid #caa9ff !important; }
    .lista-servicios li { text-align: left !important; padding: 15px 0 !important; }

    /* Capacidades Especializadas (Sección 7) */
    .seccion-capacidades { padding-top: 80px; }
    .grid-capacidades { grid-template-columns: 1fr; row-gap: 40px; }
    .cabecera-capacidades { text-align: left !important; margin: 0 auto 60px auto; }
    .titulo-capacidades { font-size: 2.2rem; text-align: left !important; }
    .texto-capacidades { text-align: left !important; }
    
    /* =========================================================================
       PÁGINA 2: METODOLOGÍA (EXCLUSIVO MÓVIL)
       ========================================================================= */
       
    /* 4.1 Hero Metodología */
    .seccion-hero-metodologia {
        padding: 130px 5% 60px 5% !important;
        background: linear-gradient(135deg, #fdfbfe 0%, #ede1ff 100%) !important;
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important; 
    }

    .seccion-hero-metodologia .contenedor-hero {
        width: 100% !important;
        position: relative !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important; 
    }

    .hero-imagen-met {
        position: absolute !important;
        top: -50px !important; 
        right: -20% !important; 
        width: 95% !important; 
        max-width: 360px !important;
        margin: 0 !important;
        z-index: 1 !important; 
        opacity: 0.95 !important;
        transform: none !important;
        display: block !important;
    }
    
    .hero-imagen-met img { width: 100% !important; height: auto !important; }

    .titulo-hero-met {
        font-size: 2.5rem !important;
        text-align: left !important;
        line-height: 1.1 !important;
        margin-bottom: 20px !important;
        color: #2e3d55 !important;
        width: 65% !important; 
        position: relative !important;
        z-index: 2 !important;
    }
    .seccion-hero-metodologia .titulo-hero-met br { display: block !important; }

    .subtitulo-hero-met {
        font-size: 1.25rem !important;
        text-align: left !important;
        font-weight: 700 !important;
        margin-bottom: 15px !important;
        width: 100% !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .parrafo-hero-met {
        font-size: 1.15rem !important;
        text-align: left !important;
        margin: 0 0 20px 0 !important;
        width: 100% !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .seccion-hero-metodologia .btn-metodologia-detalle {
        align-self: center !important; 
        padding: 16px 35px !important; 
        width: 100% !important; 
        max-width: 320px !important;
        margin: 40px auto 10px auto !important; 
        text-align: center !important;
        background-color: #d1b8ff !important;
        color: #2f1d44 !important;
        border: none !important;
        border-radius: 50px !important; 
        font-size: 1.15rem !important;
        font-weight: 700 !important;
        position: relative !important;
        z-index: 2 !important;
    }

    /* 4.2 Timeline Metodología */
    .seccion-timeline {
        overflow: hidden !important;
        padding-bottom: 480px !important; 
        background-color: #ede1ff !important; 
        position: relative !important;
    }
    
    .contenedor-timeline { 
        display: grid !important; 
        grid-template-columns: 1fr !important;
        grid-template-rows: auto 150px 150px 150px 200px !important; 
        gap: 0 !important; 
        margin-top: 10px !important; 
        position: relative !important;
    }
    
    .fondo-punteado { 
        display: none !important; 
        position: absolute !important;
        grid-row: 2 / 6 !important; 
        grid-column: 1 !important;
        top: -15px !important;      
        bottom: -15px !important;   
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 230px !important; 
        height: auto !important; 
        margin: 0 !important; 
        z-index: 1 !important; 
        background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2' y='2' width='calc(100%25 - 4px)' height='calc(100%25 - 4px)' fill='none' rx='115' ry='115' stroke='%23caa9ff' stroke-width='1.5' stroke-dasharray='6%2C 6' /%3E%3C/svg%3E") !important;
    }
    
    .timeline-titulo-contenedor { 
        grid-row: 1 !important;
        grid-column: 1 !important;
        margin-top: 0 !important; 
        margin-bottom: 80px !important; 
        text-align: left !important; 
        width: 100% !important; 
        padding: 0 5% !important;
        box-sizing: border-box !important;
    }
    
    .timeline-titulo-contenedor .titulo-servicios-sec,
    .timeline-titulo-contenedor .texto-servicios {
        text-align: left !important; 
        margin-left: 0 !important;   
        margin-right: 0 !important;  
    }
    
    .timeline-circulo-wrapper.item-fila-1 { grid-row: 2 !important; grid-column: 1 !important; }
    .timeline-contenido.item-fila-1       { grid-row: 2 !important; grid-column: 1 !important; }
    
    .timeline-circulo-wrapper.item-fila-2 { grid-row: 3 !important; grid-column: 1 !important; }
    .timeline-contenido.item-fila-2       { grid-row: 3 !important; grid-column: 1 !important; }
    
    .timeline-circulo-wrapper.item-fila-3 { grid-row: 4 !important; grid-column: 1 !important; }
    .timeline-contenido.item-fila-3       { grid-row: 4 !important; grid-column: 1 !important; }
    
    .timeline-circulo-wrapper.item-fila-4 { grid-row: 5 !important; grid-column: 1 !important; }
    .timeline-contenido.item-fila-4       { grid-row: 5 !important; grid-column: 1 !important; }
    
    .timeline-circulo-wrapper { 
        margin: 0 !important; 
        padding: 0 !important; 
        z-index: 2 !important; 
        align-self: start !important; 
        width: 100% !important;
    }
    
    .timeline-circulo { 
        width: 200px !important; 
        height: 200px !important; 
        background-color: transparent !important; 
        margin: 0 auto !important; 
        border: 1px solid #caa9ff !important; 
        border-radius: 50% !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        box-shadow: none !important;
        transition: background-color 0.4s ease !important;
    }
    
    .timeline-circulo-wrapper.scroll-active .timeline-circulo,
    .timeline-circulo-wrapper:hover .timeline-circulo { 
        background-color: #caa9ff !important; 
    }
    
    .num-circulo { font-size: 1.2rem !important; margin-bottom: 0 !important; color: #2f1d44 !important; font-weight: 600 !important; }
    .tit-circulo { font-size: 1.1rem !important; color: #2f1d44 !important; font-weight: 700 !important; line-height: 1.2 !important; margin-top: 5px !important;}
    
    .timeline-contenido { 
        background-color: #caa9ff !important; 
        border: none !important;
        border-radius: 20px !important; 
        box-shadow: 0 10px 25px rgba(47, 29, 68, 0.15) !important; 
        padding: 25px 20px 30px 20px !important; 
        width: 90% !important; 
        max-width: 400px !important;
        box-sizing: border-box !important; 
        text-align: left !important; 
        z-index: 10 !important; 
        
        align-self: start !important; 
        justify-self: center !important; 
        
        margin: 150px auto 40px auto !important; 
        
        opacity: 0 !important; 
        visibility: hidden !important; 
        transform: scale(0.95) !important; 
        transition: opacity 0.5s ease, visibility 0.5s ease, transform 0.5s ease !important;
    }
    
    .timeline-contenido.visible-scroll,
    .timeline-contenido.visible-hover {
        opacity: 1 !important;
        visibility: visible !important;
        transform: scale(1) !important;
    }
    
    .timeline-contenido br,
    .texto-timeline br,
    .pregunta-timeline br {
        display: inline !important;
    }
    
    .timeline-contenido.item-fila-4 { 
        margin-bottom: 40px !important; 
    }
    
    .encabezado-conector { 
        margin: 0 0 12px 0 !important; 
        width: 100% !important; 
        justify-content: flex-start !important; 
        flex-direction: row !important; 
    }
    
    .linea-dinamica, .linea-fija, .punto-dinamico { display: none !important; } 
    
    .pregunta-timeline { 
        color: #2f1d44 !important; 
        font-size: 1.15rem !important; 
        font-style: italic !important;
        margin: 0 0 10px 0 !important; 
        text-align: left !important;
        width: 100% !important;
        font-weight: 700 !important;
    }
    
    .texto-timeline { 
        text-align: left !important; 
        font-size: 0.9rem !important;
        margin-bottom: 6px !important;
        color: #2f1d44 !important;
        line-height: 1.3 !important;
    }

    .lista-timeline {
        padding: 0 !important;
        margin: 0 0 10px 0 !important;
        display: block !important; 
        text-align: left !important;
    }
    
    .lista-timeline li {
        font-size: 0.9rem !important;
        padding-left: 15px !important;
        margin-bottom: 4px !important;
        color: #2f1d44 !important;
        line-height: 1.3 !important;
    }

    /* ==========================================================================
       4.3 SECCIÓN 3: JOURNEY DEL CLIENTE
       ========================================================================== */
    .contenedor-journey-layout {
        grid-template-columns: 1fr !important;
        grid-template-areas: "titulo" "texto" "derecha" !important;
        gap: 20px !important;
        text-align: left !important;
    }
    
    .journey-title-area, .journey-text-area {
        text-align: left !important;
    }
    
    .journey-title-area { margin-bottom: 15px !important; }
    
    .titulo-resultados-journey { 
        text-align: left !important; 
        font-size: 2.1rem !important; 
        color: #2f1d44 !important; 
    }
    
    .texto-journey-intro { 
        text-align: left !important; 
        color: #2f1d44 !important; 
    }

    .grid-journey-page2 {
        display: flex !important;
        flex-direction: column !important;
        gap: 100px !important; 
        padding: 20px 0 !important;
        position: relative !important;
    }

    .flechas-svg { display: none !important; }

    .paso-journey-page2 {
        position: relative !important;
        width: 100% !important;
        box-sizing: border-box !important;
        background-image: none !important; 
    }

    .num-journey, .tit-journey, .txt-journey {
        text-align: left !important;
    }

    .num-journey { 
        font-size: 1.4rem !important; 
        line-height: 1 !important; 
        color: #2f1d44 !important; 
        margin-bottom: 5px !important; 
        font-weight: 800 !important; 
        display: block !important; 
        position: static !important; 
    }
    
    .tit-journey { 
        font-size: 1.35rem !important; 
        color: #2f1d44 !important; 
        margin-bottom: 10px !important;
    }
    
    .txt-journey { 
        font-size: 1.05rem !important; 
        color: #2f1d44 !important; 
        line-height: 1.4 !important; 
        margin: 0 !important;
    }

    .tit-journey br, 
    .txt-journey br {
        display: inline !important;
    }

    .paso-journey-page2:nth-child(odd) {
        padding-left: 110px !important; 
        padding-right: 15px !important;
    }

    .paso-journey-page2:nth-child(even) {
        padding-left: 15px !important;
        padding-right: 20px !important; 
    }

    /* =========================================================================
       FLECHAS EXACTAMENTE COMO ESTABAN (CÓDIGO INDICADO POR EL USUARIO)
       ========================================================================= */

    /* 1. Flechas ODD (01 -> 02 y 03 -> 04) */
    .paso-journey-page2:nth-child(odd)::before {
        content: '' !important; 
        position: absolute !important;
        top: 15px !important; 
        left: 5px !important; 
        width: 100px !important; 
        height: calc(100% + 100px) !important; /* +50px por el nuevo gap */
        z-index: -1 !important;
        background-image: 
            radial-gradient(circle at center, #caa9ff 3px, transparent 3.5px),
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M 100,0 C 100,5 5,5 16,92' fill='none' stroke='%23caa9ff' stroke-width='1.5' stroke-dasharray='6,6' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") !important;
        background-size: 8px 8px, 100% 100% !important;
        background-position: top -2px right -4px, center !important; 
        background-repeat: no-repeat !important;
        border: none !important;
        border-radius: 0 !important;
    }
    
    .paso-journey-page2:nth-child(odd)::after {
        content: '' !important; 
        position: absolute !important;
        top: calc(100% + 85px) !important; /* +50px por el nuevo gap */
        left: 16px !important; 
        width: 8px !important; 
        height: 8px !important;
        border-bottom: 2px solid #caa9ff !important; 
        border-right: 2px solid #caa9ff !important;
        border-top: none !important;
        border-left: none !important;
        transform: rotate(45deg) !important; 
    }

    /* 2. Flecha EVEN (02 -> 03) */
    .paso-journey-page2:nth-child(2)::before {
        content: '' !important; 
        position: absolute !important;
        top: calc(100% - 25px) !important; 
        left: 120px !important; 
        right: 50px !important; 
        height: 135px !important; /* +50px por el nuevo gap */
        z-index: -1 !important;
        background-image: 
            radial-gradient(circle at center, #caa9ff 3px, transparent 3.5px),
            url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M 200,-200 C 100,10 100,100 10,100' fill='none' stroke='%23caa9ff' stroke-width='1.5' stroke-dasharray='6,6' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") !important;
        background-size: 8px 8px, 100% 100% !important;
        background-position: top -2px left -4px, center !important; 
        background-repeat: no-repeat !important;
        border: none !important;
        border-radius: 0 !important;
    }
    
    .paso-journey-page2:nth-child(2)::after {
        content: '' !important; 
        position: absolute !important;
        top: calc(100% + 105px) !important; /* +50px por el nuevo gap */
        left: 146px !important; 
        width: 8px !important; 
        height: 8px !important;
        border-top: 2px solid #caa9ff !important; 
        border-left: 2px solid #caa9ff !important;
        border-bottom: none !important;
        border-right: none !important;
        transform: rotate(-45deg) !important; 
    }

    /* =========================================================================
       SECCIÓN 4: IMPACTOS (PRESERVADO EL TOROIDE AL FINAL)
       ========================================================================= */
    .seccion-impactos-page2 {
        position: relative !important;
        padding-bottom: 450px !important; /* Mantiene el gran espacio extra */
        overflow: hidden !important; 
    }

    .grid-impactos-page2 { 
        grid-template-columns: 1fr !important; 
        gap: 80px !important; 
        margin-bottom: 0 !important;
        position: relative !important;
        z-index: 2 !important; 
    }
    
    .con-linea-inferior { padding-bottom: 0 !important; }
    .con-linea-inferior::after { display: none !important; }
    
    .item-impacto-page2:not(:last-child) { 
        padding-bottom: 0 !important; 
        border-bottom: none !important; 
    }
    
    /* TOROIDE DE LA ANTERIOR INTERACCIÓN SE MANTIENE INTACTO */
    .imagen-fondo-impacto { 
        display: block !important; 
        position: absolute !important;
        bottom: -360px !important; 
        right: -15% !important; 
        width: 100% !important; 
        max-width: 300px !important; 
        margin: 0 !important; 
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        z-index: 1 !important;
    }
    
    .item-impacto-page2.vacio-imagen { display: none !important; }

    /* OCULTAR LÍNEA DIVISORIA AL FINAL DE LA SECCIÓN 4 */
    .divisor-sec4-5 {
        display: none !important;
    }
    
    .contenedor-equipo-grid { grid-template-columns: 1fr !important; gap: 40px !important; text-align: center !important; }
    .titulo-equipo-p2, .subtitulo-equipo-p2, .parrafo-equipo-p2 { text-align: center !important; }
    .foto-socio-wrapper { height: auto !important; }
    .foto-socio-p2 { max-width: 100% !important; height: auto !important; }
    .bio-socio-p2 { padding-top: 20px !important; padding-bottom: 30px !important; }
    
/* =========================================================================
       NUEVA SECCIÓN 5: SERVICIOS DE ADVICE (VERSIÓN MÓVIL CORREGIDA)
       ========================================================================= */
    .seccion-servicios-met {
        background-color: #6B47B8 !important; /* Deep Purple background */
        padding: 60px 5% 80px 5% !important; 
        position: relative !important;
    }

    .seccion-servicios-met .contenedor-met-servicios {
        max-width: 100% !important; /* Ajustado para pantallas móviles */
        margin: 0 auto !important;
    }

    /* Subheading style */
    .subtitulo-servicios-met {
        color: #EDE1FF !important; 
        font-size: 1.1rem !important; /* Ligeramente más grande para lectura */
        font-weight: 600 !important;
        margin-bottom: 10px !important;
        text-transform: uppercase !important;
        text-align: left !important;
    }

    /* Main heading style */
    .titulo-servicios-met {
        color: #ffffff !important; 
        font-size: 2.2rem !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        margin-bottom: 40px !important;
        text-align: left !important;
    }

    /* Grid configuration - CORREGIDO A 1 COLUMNA */
    .grid-servicios-met {
        display: grid !important;
        grid-template-columns: 1fr !important; /* 1 sola columna en vertical */
        gap: 25px !important; /* Mayor espacio entre tarjetas */
        width: 100% !important;
    }

    /* Card base style */
    .carta-servicio {
        background-color: #ffffff !important; /* Fondo blanco más limpio */
        border-radius: 15px !important; 
        box-shadow: 0 5px 20px rgba(0,0,0,0.15) !important; /* Sombra un poco más pronunciada */
        padding: 30px 25px !important; /* Más padding para que respiren los textos */
        position: relative !important; 
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        text-align: left !important;
    }

    /* Large gold number style */
    .carta-servicio .numero-carta {
        color: #c9a35d !important; 
        font-size: 2.5rem !important; /* Más grande e impactante */
        font-weight: 800 !important;
        line-height: 1 !important;
        margin-bottom: 15px !important;
    }

    /* Card heading style */
    .carta-servicio .titulo-carta {
        color: #2f1d44 !important; 
        font-size: 1.4rem !important;
        font-weight: 700 !important;
        margin-bottom: 15px !important;
    }

    /* Bulleted list style */
    .carta-servicio .lista-carta {
        list-style-type: disc !important; 
        padding-left: 20px !important;
        margin: 0 0 25px 0 !important; /* Espacio extra para que no choque con la flecha */
    }

    .carta-servicio .lista-carta li {
        color: #2f1d44 !important; 
        font-size: 1.05rem !important; 
        line-height: 1.4 !important;
        margin-bottom: 10px !important;
    }

    /* Arrow (chevron) base style */
    .carta-servicio .flecha-carta {
        position: absolute !important;
        bottom: 25px !important;
        right: 25px !important;
        width: 24px !important; /* Flecha más visible en móvil */
        height: 24px !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a35d'%3E%3Cpath d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E") !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
    }

    /* Final section bottom spacing */
    .layout-logros-final {
        margin-top: 60px !important;
    }

/* =========================================================================
       SECCIÓN EQUIPO DE SOCIOS (SIN MÁRGENES LATERALES Y CON SALTOS DE LÍNEA)
       ========================================================================= */
    
    /* TRUCO CSS: Romper el padding del contenedor para que los colores toquen los bordes */
    .titulo-equipo-p2, .subtitulo-equipo-p2, .parrafo-equipo-p2, .contenedor-equipo-grid {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        box-sizing: border-box !important;
    }

    .contenedor-equipo-grid { 
        grid-template-columns: 1fr !important; 
        gap: 0 !important; 
        text-align: left !important; 
        padding: 0 !important;
        background-color: #ede1ff !important; 
    }

    /* RESTAURAR SALTOS DE LÍNEA EN ESTA SECCIÓN */
    .contenedor-equipo-grid br,
    .titulo-equipo-p2 br,
    .subtitulo-equipo-p2 br,
    .parrafo-equipo-p2 br,
    .bio-socio-p2 h1 br,
    .bio-socio-p2 h2 br,
    .bio-socio-p2 h3 br,
    .bio-socio-p2 h4 br,
    .bio-socio-p2 p br {
        display: block !important;
    }

    /* Textos introductorios (Fondo Lila expandido) */
    .titulo-equipo-p2, .subtitulo-equipo-p2, .parrafo-equipo-p2 { 
        text-align: left !important; 
        padding-left: 5% !important; /* Protegemos el texto para que no toque el borde */
        padding-right: 5% !important; 
        background-color: #ede1ff !important; 
        margin-bottom: 0 !important;
        display: block !important;
    }
    
    .titulo-equipo-p2 { padding-top: 40px !important; padding-bottom: 10px !important; }
    .subtitulo-equipo-p2 { padding-bottom: 15px !important; }
    .parrafo-equipo-p2 { padding-bottom: 0 !important; }

    /* Reset de márgenes de las columnas de cada socio */
    .contenedor-equipo-grid > div {
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Contenedor de la foto pegado a la base */
    .foto-socio-wrapper { 
        width: 100% !important;
        height: auto !important; 
        display: flex !important;
        justify-content: center !important;
        align-items: flex-end !important; 
        padding-top: 30px !important;
        margin: 0 !important;
    }

    .foto-socio-p2 { 
        max-width: 90% !important; 
        height: auto !important; 
        display: block !important;
        margin: 0 auto 0 auto !important;
    }

    /* Contenedor de la biografía */
    .bio-socio-p2 { 
        padding: 40px 5% !important; 
        text-align: left !important; 
        margin: 0 !important;
    }

    /* --- LÓGICA INFALIBLE DE COLORES ALTERNADOS --- */

    /* 1. Por defecto, todos adoptan el color del SOCIO 1 (José Luis) */
    .foto-socio-wrapper {
        background-color: #ede1ff !important; /* Foto: Fondo Lila */
    }
    .bio-socio-p2 {
        background-color: #ffffff !important; /* Bio: Fondo Blanco */
    }

    /* 2. Sobreescribimos SOLAMENTE al SOCIO 2 (Juan Paredes) */
    .foto-socio-wrapper ~ .foto-socio-wrapper,
    .contenedor-equipo-grid > div:last-child .foto-socio-wrapper {
        background-color: #ffffff !important; /* Foto: Fondo Blanco */
    }
    
    .bio-socio-p2 ~ .bio-socio-p2,
    .contenedor-equipo-grid > div:last-child .bio-socio-p2 {
        background-color: #ede1ff !important; /* Bio: Fondo Lila */
    }












/* =========================================================================
       PÁGINAS 3 Y 4: CONSULTORÍA Y OPERACIÓN (VERSIÓN MÓVIL DEFINITIVA)
       ========================================================================= */
    
    /* 1. RESTAURAR SALTOS DE LÍNEA EN TÍTULOS DE TODAS LAS SECCIONES */
    .titulo-hero br, 
    .titulo-seccion-p3 br, 
    .titulo-soluciones-full br,
    .tit-tarjeta-prop br,
    .tit-radial br,
    .tit-sol-p3 br,
    .titulo-comp br,
    .subtitulo-modelo-p4 br,
    .tit-radial-p4 br {
        display: block !important;
    }

    /* SECCIÓN 1 Y 2 */
    .seccion-hero { 
        padding-bottom: 20px !important; 
        min-height: 40vh !important; 
    }
    
    .btn-hero { 
        align-self: center !important; 
        margin: 20px auto 0 auto !important; 
        display: block !important;
    }

    .seccion-proposito-p3 { padding-top: 10px !important; margin-top: 0 !important; }
    
    .col-derecha-proposito { margin-top: 30px !important; }
    .layout-proposito-p3 { grid-template-columns: 1fr !important; gap: 20px !important; }
    
    .grid-2-col-tarjetas { 
        display: grid !important; 
        grid-template-columns: 1fr !important; 
        gap: 0 !important; 
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .item-tarjeta-proposito {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        border-bottom: 1px solid rgba(202, 169, 255, 0.4) !important;
        border-top: none !important;
        padding-bottom: 25px !important;
        margin-bottom: 25px !important;
    }
    .item-tarjeta-proposito:last-child {
        border-bottom: none !important;
        margin-bottom: 0 !important;
    }
    
    .titulo-seccion-p3 { font-size: 2.2rem !important; }

    /* =========================================================================
       SECCIÓN 3: DIAMANTE (CORTE MATEMÁTICO PERFECTO E INMUTABLE)
       ========================================================================= */
    .seccion-capacidades-radial-p3 { 
        background: #e0ccff !important; 
        padding: 60px 5% 0 5% !important; 
    }
    
    .cabecera-capacidades-p3 { 
        grid-template-columns: 1fr !important; 
        text-align: left !important; 
        margin-bottom: 40px !important; 
    }
    
    .cabecera-capacidades-p3 .titulo-seccion-p3,
    .cabecera-capacidades-p3 .texto-intro-p3 {
        text-align: left !important;
    }
    
    .contenedor-radial-p3 { 
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        padding-left: 5vw !important;
        padding-right: 5vw !important;
        padding-bottom: 60px !important;
        padding-top: 0 !important; 
        background: linear-gradient(to bottom, #ede1ff 125px, #e0ccff 125px) !important; 
        box-sizing: border-box !important;
        height: auto !important; 
        display: flex !important; 
        flex-direction: column !important; 
        align-items: flex-start !important; 
        gap: 0 !important; 
    }
    
    .imagen-central-radial { 
        position: static !important; 
        width: 250px !important; 
        height: 250px !important; 
        object-fit: contain !important; 
        margin: 0 auto 40px auto !important; 
        order: -1 !important; 
        align-self: center !important;
        display: block !important;
        transform: none !important;
    }
    
    .lineas-radial-svg { display: none !important; }
    
    .item-radial { 
        position: static !important; 
        transform: none !important; 
        width: 100% !important; 
        max-width: 100% !important; 
        text-align: left !important; 
        margin: 0 0 25px 0 !important;
        padding-bottom: 25px !important;
        border-bottom: 1px solid rgba(137, 103, 180, 0.3) !important;
    }
    .item-radial:last-child {
        border-bottom: none !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    .item-radial .tit-radial, .item-radial .txt-radial {
        text-align: left !important;
    }

    .contenedor-btn-radial {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        margin-top: 30px !important;
    }

    /* =========================================================================
       SECCIÓN 4 Y 5: SOLUCIONES, ESFERA Y LOGROS
       ========================================================================= */
    .seccion-soluciones-p3 { 
        padding: 60px 5% !important; 
        background-color: #e0ccff !important; 
    }
    
    .layout-soluciones-p3 { 
        display: flex !important;
        flex-direction: column !important;
        gap: 30px !important; 
    }
    
    .titulo-soluciones-full, .col-izq-soluciones .texto-intro-proposito {
        text-align: left !important;
        width: 100% !important;
        margin-left: 0 !important;
    }

    .col-izq-soluciones { display: contents !important; }
    .col-izq-soluciones .texto-intro-proposito { order: 1 !important; }
    .col-der-soluciones { order: 2 !important; width: 100% !important; display: flex !important; flex-direction: column !important; }
    
    .btn-soluciones { 
        order: 3 !important; 
        margin: 30px auto 0 auto !important; 
        align-self: center !important; 
        display: block !important;
    }
    
    .lista-soluciones-p3 {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }
    
    .item-solucion-p3 { 
        display: flex !important;
        flex-direction: column !important; 
        align-items: flex-start !important; 
        text-align: left !important;
        margin-left: 15% !important; 
        padding: 0 0 25px 0 !important;
        margin-bottom: 25px !important;
        border-bottom: 1px solid rgba(137, 103, 180, 0.3) !important;
        border-top: none !important; 
    }
    .item-solucion-p3:last-child {
        border-bottom: none !important;
        margin-bottom: 0 !important;
    }
    
    .tit-sol-p3 { 
        width: 100% !important; 
        text-align: left !important; 
        font-size: 1.4rem !important;
        margin: 0 !important;
    }
    
    .icono-sol-p3 { display: none !important; } 
    
    .item-solucion-p3 .contenido-sol-p3 { 
        display: block !important; 
        grid-template-rows: none !important;
        height: auto !important;
        max-height: none !important;
    }
    
    .item-solucion-p3 .contenido-sol-p3-inner {
        display: block !important;
        opacity: 1 !important; 
        visibility: visible !important;
        min-height: auto !important;
        overflow: visible !important; 
        padding-right: 0 !important; 
        margin-top: 10px !important; 
    }

    .item-solucion-p3 .contenido-sol-p3-inner p {
        text-align: left !important;
        margin: 0 !important;
        display: block !important;
    }

    /* SECCIÓN 5: LOGROS Y ESFERA */
    .seccion-logros-final-p3 {
        background: linear-gradient(to bottom, #e0ccff 180px, #ffffff 180px) !important;
        padding: 0 5% 80px 5% !important;
        position: relative !important;
        overflow: hidden !important;
    }

    .img-esfera-flotante { 
        display: block !important;
        position: absolute !important;
        top: -50px !important;
        right: -65% !important;
        width: 100% !important;
        max-width: 600px !important;
        z-index: 1 !important;
    }

    .layout-logros-final { 
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important; 
        text-align: left !important;
        width: 100% !important; 
        padding-top: 300px !important; 
        position: relative !important;
        z-index: 2 !important;
    }
    
    .logros-titulo, .logros-intro { width: 100% !important; text-align: left !important; }
    .logros-titulo h2, .logros-intro p { text-align: left !important; margin-bottom: 20px !important; }
    
    .logros-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
        margin-left: 15% !important; 
        padding: 25px 0 !important;
        width: 85% !important;
        border-bottom: 1px solid rgba(137, 103, 180, 0.3) !important;
    }
    .logros-item:last-child {
        border-bottom: none !important;
    }
    
    .logros-item h3, .logros-item p { text-align: left !important; width: 100% !important; margin: 0 !important;}
    .logros-item h3 { margin-bottom: 10px !important; }
    
    .logros-boton { 
        width: 100% !important; 
        display: flex !important;
        justify-content: center !important; 
        margin-top: 30px !important;
    }
    
    /* =========================================================================
       OPERACIÓN (EXCLUSIVO PÁGINA 4)
       ========================================================================= */
    .layout-proposito-p4 { grid-template-columns: 1fr !important; gap: 40px !important; }
    .col-derecha-proposito-p4 { margin-top: 20px !important; overflow: visible !important; }
    .texto-intro-proposito-p4 { margin-top: 40px !important; }
    
    /* DIAGRAMA COMPARATIVO: MANTENER LADO A LADO COMO EN LA WEB */
    .comparacion-operacion { 
        display: flex !important;
        flex-direction: row !important; /* Mantiene las columnas horizontales */
        justify-content: space-between !important;
        align-items: flex-start !important;
        gap: 0 !important; 
        margin-top: 40px !important; 
        width: 100% !important;
    }
    
    .col-comp { width: 42% !important; }
    
    .col-svg { 
        display: block !important; /* Muestra el SVG oculto */
        width: 16% !important; 
        position: relative !important;
        height: 340px !important;
        margin-top: 90px !important;
    }
    
    /* Reescalar textos para que quepan en la pantalla del móvil */
    .titulo-comp { 
        height: 60px !important; 
        line-height: 1.2 !important; 
        padding: 0 !important; 
        font-size: 1.1rem !important; 
        margin: 0 0 30px 0 !important;
        display: flex !important;
        align-items: flex-start !important;
    }
    
    .col-comp.tradicional .titulo-comp { color: #BEAFDB !important; }
    .col-comp.asesora .titulo-comp { color: #2f1d44 !important; }

    .lista-comp {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .col-comp.tradicional .lista-comp { 
        margin-top: 115px !important; 
    }
    
    .item-comp { 
        height: 85px !important; /* Obligatorio para cuadrar con las líneas SVG */
        padding: 0 !important; 
        align-items: center !important; 
        display: flex !important;
    }
    
    .texto-comp {
        font-size: 0.85rem !important; /* Letra más pequeña */
        line-height: 1.3 !important;
        margin: 0 !important;
    }
    
    .punto-comp { 
        margin-top: 0 !important; 
        width: 10px !important; 
        height: 10px !important; 
        border-radius: 50% !important;
        flex-shrink: 0 !important;
    } 
    
    /* Lado Izquierdo (Tradicional) */
    .col-comp.tradicional .item-comp { 
        flex-direction: row !important; 
        justify-content: space-between !important; 
        border-bottom: 1px solid rgba(190, 175, 219, 0.4) !important;
    }
    .col-comp.tradicional .punto-comp { 
        background-color: #BEAFDB !important;
        box-shadow: none !important;
        margin-left: 10px !important; 
        margin-right: 0 !important; 
    }
    .col-comp.tradicional .texto-comp { 
        color: #BEAFDB !important;
        text-align: left !important; 
    }
    
    /* Lado Derecho (Asesora) */
    .col-comp.asesora .item-comp { 
        flex-direction: row !important; 
        justify-content: flex-start !important; 
        border-bottom: 1px solid #caa9ff !important;
    }
    .col-comp.asesora .punto-comp { 
        background-color: #2f1d44 !important;
        box-shadow: 0 0 0 3px #ede1ff !important;
        margin-right: 10px !important; 
        margin-left: 0 !important; 
    }
    .col-comp.asesora .texto-comp { 
        color: #2f1d44 !important;
        font-weight: 400 !important;
        text-align: left !important; 
    }










/* =========================================================================
       FOOTER GLOBAL (VERSIÓN MÓVIL - AJUSTES EXACTOS DE CUBO Y ESPACIOS)
       ========================================================================= */
    .footer-newsletter {
        /* CORRECCIÓN: Aumentamos el espacio en blanco después del botón */
        padding: 100px 5% 340px 5% !important; 
    }
    
    .contenedor-newsletter {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 30px !important;
    }
    
    .newsletter-texto, .newsletter-form {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .newsletter-texto h2 {
        font-size: 2.2rem !important;
        margin-bottom: 15px !important;
        text-align: left !important;
    }
    
    .newsletter-texto p {
        font-size: 1.05rem !important;
        text-align: left !important;
    }
    
    .newsletter-form {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    .newsletter-form input,
    .newsletter-form button {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 16px 25px !important;
    }
    
    .footer-contacto {
        padding: 0 5% 60px 5% !important; 
    }
    
    .img-cubo-footer {
        position: relative !important;
        display: block !important;
        top: auto !important;
        left: auto !important;
        right: -50% !important; /* Mantiene el 50% de la imagen oculto a la derecha */
        
        /* CORRECCIÓN: 
           -240px: Lo posiciona exactamente a la mitad entre el blanco y el lila.
           -20px: Jala el título de "Conversemos" hacia arriba para reducir el espacio. */
        margin: -240px 0 -20px auto !important; 
        
        width: 100% !important;
        max-width: 380px !important;
        z-index: 2 !important;
    }
    
    .contenedor-footer-columnas {
        grid-template-columns: 1fr !important;
        gap: 60px !important;
    }
    
    .footer-col-izq h2 {
        font-size: 1.8rem !important;
    }
    
    .titulo-form {
        font-size: 1.3rem !important;
        margin-bottom: 30px !important;
    }
    
    .form-fila.dos-cols {
        grid-template-columns: 1fr !important;
        gap: 25px !important;
    }
    
    .btn-enviar {
        width: auto !important;
        padding: 14px 45px !important;
        margin-top: 15px !important;
    }
    
    .footer-col-der {
        padding-top: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        text-align: right !important;
    }
    
    .info-contacto {
        order: 1 !important;
        margin-bottom: 40px !important;
    }
    
    .enlaces-legales {
        order: 2 !important;
        margin-bottom: 0 !important;
    }
    
    .footer-bottom {
        display: flex !important;
        flex-direction: column !important;
        border-top: none !important;
        padding-top: 0 !important;
        margin-top: 40px !important;
    }
    
    .redes-sociales {
        align-self: flex-start !important;
        margin-bottom: 25px !important;
    }
    
    .copyright {
        width: 100% !important;
        border-top: 1px solid #bba3d9 !important;
        padding-top: 25px !important;
        text-align: center !important;
    }
}