/* ===========================
   NUESTRO PROCESO 
   =========================== */

#nosotros_proceso {
    position: relative;
    background-image: url('../../assets/img/terrain-big-data-visualization.jpg');
    background-size: cover; 
    background-position: center center;
    background-repeat: no-repeat;
    padding: 60px 0 150px; 
    min-height: 500px;    
    width: 100%;
    overflow: hidden;
}

/* DEGRADADO SUPERIOR NEGRO */
#nosotros_proceso::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 200px; /* Altura del degradado */
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,1) 0%,
        rgba(0,0,0,0.5) 50%,
        transparent 100%
    );
    z-index: 2; /* Por encima del fondo, debajo del contenido */
    pointer-events: none;
}

/* Capa 1: Overlay sutil */
.proceso-bg-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.17);
    z-index: 1;
}

#nosotros_proceso .container {
    position: relative;
    z-index: 10;
    max-width: 1400px;
    margin: 0 auto;
}

/* Título */
#nosotros_proceso .section-title {
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 60px; 
    text-transform: uppercase;
    letter-spacing: 5px;
}

/* Capa 2: Línea Blanca Inclinada */
.proceso-line-wrapper {
    position: absolute;
    top: 104%; 
    left: 0;
    width: 100%;
    height: 30px; 
    z-index: 5;
    pointer-events: none;
    transform: rotate(6deg); 
    transform-origin: center center;
}

.proceso-line {
    position: absolute;
    top: 0;
    left: -5%;
    width: 110%;
    height: 100%;
    background: #ffffff;
    clip-path: polygon(
        0% 49%,    
        100% 10%,  
        100% 70%,  
        0% 51%     
    );
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.3);
    opacity: 0.9;
}

/* Capa 3: Contenedor de Fichas */
.proceso-timeline {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    position: relative;
    z-index: 20;
}

.proceso-step {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

/* La Ficha (Banderita) */
.step-card {
    background: rgba(11, 111, 184, 0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    padding: 15px;
    width: 100%;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
}

.step-card:hover {
    background: rgba(11, 111, 184, 0.3);
    border-color: #0b6fb8;
    transform: translateY(-5px);
}

/* Cabecera de la ficha */
.step-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    gap: 10px;
}

.step-number {
    background: #0b6fb8;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
    padding: 2px 8px;
    border-radius: 3px;
}

.step-header h3 {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    color: #fff;
    margin: 0;
    flex: 1;
    line-height: 1.2;
}

.step-icon-main {
    width: 35px;
    height: 35px;
}

.step-icon-main img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Cuerpo de la ficha */
.step-body p {
    font-family: 'Lato', sans-serif;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.4;
    margin: 0;
}

/* Conector Vertical Azul */
.step-connector {
    width: 2px;
    background: linear-gradient(to bottom, #0b6fb8, rgba(11, 111, 184, 0.2));
    margin-top: 0;
}

/* Nodo de anclaje (Círculo azul en la línea blanca) */
.step-anchor-node {
    width: 12px;
    height: 12px;
    background: #0b111a;
    border: 2px solid #0b6fb8;
    border-radius: 50%;
    position: absolute;
    z-index: 30;
}

/* AJUSTE DE ALTURAS PARA COMPENSAR LA INCLINACIÓN (4deg) */
/* Paso 1 (Izquierda - Más alto) */
.proceso-step:nth-child(1) { transform: translateY(-70px); }
.proceso-step:nth-child(1) .step-connector { height: 100px; }
.proceso-step:nth-child(1) .step-anchor-node { bottom: -80px; }

/* Paso 2 */
.proceso-step:nth-child(2) { transform: translateY(-40px); }
.proceso-step:nth-child(2) .step-connector { height: 110px; }
.proceso-step:nth-child(2) .step-anchor-node { bottom: -70px; }

/* Paso 3 */
.proceso-step:nth-child(3) { transform: translateY(-10px); }
.proceso-step:nth-child(3) .step-connector { height: 120px; }
.proceso-step:nth-child(3) .step-anchor-node { bottom: -60px; }

/* Paso 4 */
.proceso-step:nth-child(4) { transform: translateY(20px); }
.proceso-step:nth-child(4) .step-connector { height: 130px; }
.proceso-step:nth-child(4) .step-anchor-node { bottom: -50px; }

/* Paso 5 */
.proceso-step:nth-child(5) { transform: translateY(50px); }
.proceso-step:nth-child(5) .step-connector { height: 140px; }
.proceso-step:nth-child(5) .step-anchor-node { bottom: -40px; }

/* Responsivo */
@media (max-width: 1024px) {
    .proceso-timeline {
        flex-direction: column;
        gap: 40px;
        align-items: center;
    }
    .proceso-line-wrapper, .step-connector, .step-anchor-node {
        display: none;
    }
    .step-card {
        max-width: 500px;
    }
}