﻿/* ==========================================================================
   1. CONFIGURAÇÕES GERAIS - DETALHES DA OBRA
   ========================================================================== */
.section-padding { padding: 90px 0; }
.tracking-wide { letter-spacing: 1.5px; }
.z-index-2 { z-index: 2; }

/* ==========================================================================
   2. HERO TÉCNICO E CORPORATIVO
   ========================================================================== */
.jn-hero-premium {
    min-height: 80vh;
    display: flex;
    align-items: center;
    background-color: #041424; 
}
.hero-bg-premium {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover; background-position: center; z-index: 0;
}
.hero-overlay-premium {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(90deg, #020b14 0%, rgba(2,11,20,0.8) 50%, rgba(2,11,20,0.2) 100%);
    z-index: 1;
}
.jn-vitals-box {
    background: rgba(255,255,255,0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.1);
}
.vital-item i { font-size: 1.8rem; }

/* ==========================================================================
   3. CARDS DE EQUIPE (ESTRUTURA SÓLIDA E EFEITO NO CARD)
   ========================================================================== */
.jn-elite-section { background-color: #f8f9fc; }

.team-card-clean {
    border-radius: 8px;
    border: 2px solid #eaeaea;
    background: #ffffff;
    padding: 50px 30px; 
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.team-card-clean:hover {
    border-color: #007FFF;
    box-shadow: 0 20px 40px rgba(0, 127, 255, 0.1) !important;
}

.team-avatar-circle {
    width: 240px; 
    height: 240px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    border: 6px solid #f8f9fc;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
    transition: transform 0.4s ease;
    margin-bottom: 30px;
}

.team-card-clean:hover .team-avatar-circle {
    transform: scale(1.05);
}

.team-card-clean h5 {
    color: #1a1a1a;
    font-weight: 800;
    font-size: 1.4rem;
    margin-bottom: 8px;
}

.team-card-clean .text-primary {
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    display: block;
    text-transform: uppercase;
}

/* ==========================================================================
   4. TIMELINE DO PASSO A PASSO (LAYOUT LIMPO)
   ========================================================================== */
.jn-execution-details { background-color: #ffffff; }

.step-professional {
    border-radius: 8px;
    border: 1px solid #eaeaea;
    transition: all 0.3s ease;
}
.step-professional:hover {
    border-color: #007FFF;
    box-shadow: 0 10px 25px rgba(0,127,255,0.1) !important;
    transform: translateX(5px);
}
.step-num {
    font-weight: 900;
    font-size: 1.5rem;
    margin-right: 5px;
    font-family: 'Consolas', monospace;
}

/* ==========================================================================
   5. SEÇÃO DE PREÇO / QUEBRA DE OBJEÇÃO
   ========================================================================== */
.bg-dark-blue {
    background-color: #0a192f;
}
.object-fit-cover {
    object-fit: cover;
}

/* ==========================================================================
   6. RESPONSIVIDADE (MOBILE FIRST ADJUSTMENTS)
   ========================================================================== */
@media (max-width: 991px) {
    .team-avatar-circle {
        width: 180px; /* Tamanho fixo maior para não sumir no card */
        height: 180px;
        border-width: 4px;
        margin-bottom: 20px;
    }
    .team-card-clean {
        padding: 15px 10px; /* Redução do padding para o card não "engolir" a foto */
    }
    .team-card-clean h5 {
        font-size: 1.2rem;
    }
    
    /* Ajustes Gerais Mobile */
    .jn-hero-premium { min-height: auto; padding: 60px 0; }
    .hero-overlay-premium { background: rgba(2,11,20,0.9); }
    .vital-item.border-start { border-left: none !important; padding-left: 0 !important; margin-top: 15px; }
    .jn-vitals-box { flex-direction: column; gap: 15px !important; }
}