/* ================= RESET E VARIÁVEIS DO INDEX ================= */
:root {
    --azul-logo: #103855;
    --laranja-logo: #e75c3f;
    --text-dark: #333333;
    --text-light: #f4f4f4;
    --bg-light: #ffffff;
    --bg-light-grey: #f8f9fa;
    --bg-dark: #011022;
    --font-titles: 'Montserrat', sans-serif;
    --font-body: Arial, Helvetica, sans-serif; /* Fonte padrão do seu index */
    --transition: all 0.3s ease-in-out;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body { 
    font-family: var(--font-body); 
    color: var(--text-dark); 
    line-height: 1.6; 
    padding-top: 95px; /* Compensação exata para o header fixo de 95px */
    background: #f4f4f4;
    overflow-x: hidden;
}

h1, h2, h3, h4 { font-family: var(--font-titles); font-weight: 700; color: var(--azul-logo); margin-bottom: 0.5rem; }
a { text-decoration: none; color: inherit; transition: var(--transition); }
ul { list-style: none; }
img { max-width: 100%; height: auto; display: block; }

.container { width: 90%; max-width: 1200px; margin: 0 auto; }
.py-v2 { padding: 4rem 0; }
.text-center { text-align: center; }
.highlight-red { color: var(--laranja-logo); }

/* ================= HEADER (CÓPIA FIEL DO SEU STYLE.CSS) ================= */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 95px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px; /* Margem lateral idêntica ao index */
    background: #fff;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.header .logo {
    height: 100%;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.header .logo img {
    height: 90px; /* Ajuste fino do logo conforme o seu CSS original */
    width: auto;
    object-fit: contain;
    display: block;
}

.nav-desktop {
    display: flex;
    align-items: center;
}

.nav-desktop a {
    color: var(--azul-logo);
    margin-left: 30px; /* Espaçamento entre itens igual ao index */
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
}

.nav-desktop a:hover, .nav-desktop a.active-link {
    color: var(--laranja-logo);
}

/* ================= HERO SECTION ================= */
.hero-v2 {
    position: relative;
    color: var(--text-light);
    height: 80vh; 
    min-height: 500px;
    display: flex; 
    align-items: center;
    background: var(--azul-logo) url('../images/hero-v2.jpg') center/cover no-repeat;
}

.hero-overlay-dark { position: absolute; inset: 0; background: rgba(0,0,0,0.6); z-index: 1; }

.hero-content-v2 { 
    position: relative; 
    z-index: 2; 
    text-align: left; 
    width: 90%; 
    max-width: 1200px; 
    margin: 0 auto; 
}

.hero-content-v2 h1 { color: #ffffff; font-size: 3.5rem; line-height: 1.2; }

.hero-content-v2 p { font-size: 1.25rem; max-width: 600px; margin: 1rem 0 2rem; color: #fff; }

.hero-badge { 
    display: inline-block; 
    background: var(--laranja-logo); 
    color: white; 
    padding: 0.5rem 1rem; 
    border-radius: 20px; 
    font-weight: 700; 
    font-size: 0.8rem; 
    text-transform: uppercase; 
    margin-bottom: 1rem; 
}

/* --- BOTÕES --- */
.hero-ctas-v2 { display: flex; gap: 1rem; flex-wrap: wrap; }

.btn-primary-v2 { 
    background: var(--laranja-logo); 
    color: white; 
    padding: 15px 35px; 
    border-radius: 6px; 
    font-weight: 700; 
    text-transform: uppercase;
    border: none;
    cursor: pointer;
}

.btn-primary-v2:hover { background: #d94e33; }

.btn-secondary-v2 { 
    border: 2px solid #fff; 
    color: #fff; 
    padding: 13px 33px; 
    border-radius: 6px; 
    font-weight: 700; 
    text-transform: uppercase;
    background: transparent;
}

.btn-secondary-v2:hover { background: #fff; color: var(--azul-logo); }

/* ================= GRIDS E CARDS ================= */
.problem-solution-v2 h2 { font-size: 2.5rem; line-height: 1.3; }
.bg-light-v2 { background-color: var(--bg-light-grey); }

.grid-card-v2 { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
    gap: 2rem; 
}

.card-v2 { 
    background: white; 
    padding: 2.5rem; 
    border-radius: 18px; 
    text-align: center; 
    box-shadow: 0 10px 25px rgba(0,0,0,0.08); 
    transition: transform 0.3s ease;
}

.card-v2:hover { transform: translateY(-5px); }

.card-icon-v2 { font-size: 3rem; color: var(--laranja-logo); margin-bottom: 1.5rem; }

/* ================= SYLLABUS ================= */
.syllabus-list-v2 { display: flex; flex-direction: column; gap: 2rem; }
.syllabus-item-v2 { 
    display: flex; 
    gap: 1.5rem; 
    align-items: start; 
    background: white; 
    padding: 2rem; 
    border-radius: 18px; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.03); 
}
.syllabus-item-v2 i { font-size: 2.5rem; color: var(--laranja-logo); }

/* ================= FAQ SECTION ================= */
.bg-dark-v2 { background-color: var(--bg-dark); }
.faq-content-v2 h2 { color: white; }
.faq-list-v2 { display: flex; flex-direction: column; gap: 1rem; max-width: 800px; margin: 0 auto; }
.faq-item-v2 { background: #01152d; border-radius: 8px; border: 1px solid #012246; color: #fff; }
.faq-item-v2 summary { padding: 1.5rem; font-weight: 600; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.faq-item-v2 summary::after { content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.faq-item-v2 p { padding: 0 1.5rem 1.5rem; color: #aab; }

/* ================= FINAL CTA ================= */
.highlight-box-v2 { 
    background: var(--laranja-logo); 
    color: white; 
    padding: 3rem; 
    border-radius: 18px; 
    max-width: 900px; 
    margin: 0 auto; 
}
.highlight-box-v2 h3 { color: white; font-size: 2rem; }

/* ================= RESPONSIVIDADE ================= */
@media (max-width: 992px) {
    .hero-content-v2 h1 { font-size: 2.8rem; }
}

@media (max-width: 768px) {
    .header { height: 95px; padding: 0 15px; }
    .nav-desktop { display: none; } /* Esconde o menu no mobile conforme o index */
    
    .hero-v2 { height: auto; padding: 6rem 0; }
    .hero-content-v2 { text-align: center; }
    .hero-content-v2 h1 { font-size: 2.2rem; }
    .hero-ctas-v2 { justify-content: center; }
    .btn-primary-v2, .btn-secondary-v2 { width: 100%; }
    .syllabus-item-v2 { flex-direction: column; text-align: center; align-items: center; }
}