﻿.card-info .marcelo-lead,
.card-info .marcelo-foot {
    font-family: var(--fonte-corpo);
    font-weight: 400;
    font-size: 0.95rem;
    color: var(--cor-texto-escuro);
    line-height: 1.6;
    margin-bottom: 0.75rem;
}

.card-info .marcelo-bio {
    margin-top: 8px;
    padding-left: 0;
    /* alinhar com parágrafo */
    list-style: none;
    /* usamos marcador custom para garantir visibilidade */
}

.card-info .marcelo-bio li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding-left: 0;
    margin-bottom: 0.6rem;
    font-family: var(--fonte-corpo);
    font-weight: 400;
    font-size: 0.95rem;
    color: #849473;
    line-height: 1.5;
}

.card-info .marcelo-bio li::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    background: #849473;
    border-radius: 50%;
    margin-top: 6px;
    flex: 0 0 auto;
}

/* Forçar cor do texto dos cards e garantir bullets visíveis */
.card-info p,
.card-info .viviane-lead,
.card-info .viviane-foot,
.card-info .viviane-bio li,
.card-info .marcelo-lead,
.card-info .marcelo-foot,
.card-info .marcelo-bio li {
    color: #849473 !important;
    font-family: var(--fonte-corpo) !important;
}

.card-info ul.viviane-bio,
.card-info ul.marcelo-bio {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.card-info ul.viviane-bio li::marker,
.card-info ul.marcelo-bio li::marker {
    color: #849473 !important;
    font-size: 1rem !important;
}

/* =========================================
    1. IMPORTANDO FONTES NOVAS (Montserrat)
    ========================================= */

/* Puxando Montserrat do Google Fonts para garantir que funcione em qualquer navegador */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,700;1,400;1,700&display=swap');

/* Mantemos os @font-face antigos aqui apenas como backup ou se você tiver os arquivos locais, 
   mas o sistema priorizará o nome 'Montserrat' nas variáveis abaixo */

/* =========================================
   2. VARIÁVEIS (O Cérebro do Site)
   ========================================= */
:root {
    /* Paleta Exata Enviada */
    --cor-primaria: #849473;
    /* Verde Oliva Profundo */
    --cor-secundaria: #b6c7a3;
    /* Verde Sálvia Suave */
    --cor-terciaria: #e4e1d7;
    /* Bege Acinzentado */
    --cor-fundo: #f4f1e9;
    /* Creme Off-White Premium */
    --cor-creme-escuro: #d2cdbf;
    /* Creme um pouco mais escuro para melhor contraste */

    /* Cores de Texto e Auxiliares */
    --cor-texto-escuro: #27432f;
    /* Verde escuro para leitura e títulos */
    --cor-texto-claro: #ffffff;
    /* Branco Puro */

    /* Fontes (Montserrat unificada) */
    --fonte-titulo: 'Montserrat', sans-serif;
    --fonte-corpo: 'Montserrat', sans-serif;

    /* Estrutura */
    --largura-maxima: 1200px;
}

/* =========================================
    3. RESET E BASE
    ========================================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    list-style: none;
}

body {
    font-family: var(--fonte-corpo);
    font-weight: 400;
    /* Peso normal para o corpo */
    color: var(--cor-texto-escuro);
    background-color: #ffffff !important;
    overflow-x: hidden;
    line-height: 1.6;
}

/* --- TIPOGRAFIA --- */

h1,
h2,
h3 {
    font-family: var(--fonte-titulo);
    font-weight: 700;
    color: var(--cor-texto-escuro);
    line-height: 1.2;
    margin-bottom: 15px;
}

/* Aplica negrito em elementos de destaque específicos que usam a fonte do corpo */
b,
strong,
.btn,
.hero-list li {
    font-weight: 700 !important;
}


/* --- TIPOGRAFIA --- */
h1,
h2,
h3 {
    font-family: var(--fonte-titulo);
    color: var(--cor-primaria);
    line-height: 1.2;
    margin-bottom: 15px;
}


p {
    line-height: 1.6;
    margin-bottom: 20px;
    color: #444;
}

/* Purpose section: imagem 50% / texto 50%, botão centralizado e fontes menores */
.purpose-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.purpose-image {
    flex: 0 0 50%;
}

.purpose-image img {
    width: 100%;
    height: auto;
    display: block;
}

.purpose-text {
    flex: 0 0 50%;
    color: var(--cor-fundo);
}

/* purpose text sizing and button handled later */

/* Make sure the purpose background works with dark green text */
.purpose {
    background-color: var(--cor-primaria);
    color: var(--cor-fundo);
    padding: 45px 0;
}

.purpose-text h2 {
    color: var(--cor-creme-escuro);
    margin-bottom: 10px;
}

.purpose-text p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--cor-fundo);
}

.purpose-list li {
    margin: 10px 0;
    color: var(--cor-fundo);
    font-size: 15px;
}

.btn-purpose {
    display: block;
    background-color: var(--cor-fundo) !important;
    color: var(--cor-primaria) !important;
    padding: 12px 35px;
    border-radius: 25px;
    font-weight: 700;
    /* text-transform: capitalize; REMOVIDO */
    font-size: 14px;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    border: 1px solid var(--cor-fundo) !important;
    cursor: pointer;
    margin: 25px auto 0 auto;
    width: fit-content;
}

.mobile-break-btn {
    display: none;
}

.btn-purpose:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

/* --- CLASSE UTILITÁRIA --- */
.container {
    max-width: var(--largura-maxima);
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
}

/* --- BOTÃO PADRÃO --- */
.btn {
    display: inline-block;
    background-color: var(--cor-primaria);
    color: var(--cor-texto-claro);
    padding: 12px 35px;
    border-radius: 25px;
    font-weight: 700;
    /* text-transform: capitalize; REMOVIDO */
    font-size: 14px;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    border: 1px solid var(--cor-primaria);
    cursor: pointer;
}

.btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

/* --- CABEÇALHO (HEADER) --- */
header {
    background-color: var(--cor-primaria);
    padding: 5px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: var(--largura-maxima);
    margin: 0 auto;
    padding: 0 20px;
}

/* LOGO */
.logo img {
    height: 140px;
    width: auto;
}

/* MENU DE NAVEGAÇÃO */
.nav-menu ul {
    display: flex;
    gap: 30px;
}

.nav-menu a {
    color: var(--cor-fundo);
    /* Texto do menu superior: bege creme da identidade */
    font-weight: 600;
    /* Um tiquinho mais grosso para ler melhor */
    font-size: 16px;
    text-transform: capitalize;
    letter-spacing: 0.5px;
    transition: 0.3s;
    font-family: var(--fonte-corpo);
}

.nav-menu a:hover {
    color: var(--cor-fundo);
    border-bottom: 1px solid var(--cor-fundo);
}

/* ÁREA DE AÇÃO */
.header-actions {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* Botão de Cotação Header */
.btn-header {
    background-color: var(--cor-fundo);
    color: var(--cor-primaria);
    padding: 12px 35px;
    border-radius: 25px;
    font-weight: bold;
    /* text-transform: capitalize; REMOVIDO */
    font-size: 14px;
    border: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn-header:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
}

/* SELETOR DE IDIOMA */
.lang-selector {
    position: relative;
    cursor: pointer;
    color: #fff;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.lang-selector select {
    background: transparent;
    border: none;
    color: white;
    font-family: var(--fonte-corpo);
    font-weight: bold;
    cursor: pointer;
    outline: none;
}

.lang-selector select option {
    background-color: var(--cor-primaria);
    color: white;
}

/* =========================================
   DOBRA 2: HERO SECTION
   ========================================= */

.hero {
    position: relative;
    background:
        linear-gradient(180deg,
            rgba(244, 241, 233, 0.8) 0%,
            rgba(244, 241, 233, 0.5) 25%,
            rgba(244, 241, 233, 0) 50%),
        linear-gradient(90deg,
            var(--cor-fundo) 0%,
            var(--cor-fundo) 35%,
            rgba(238, 229, 212, 0.6) 55%,
            transparent 100%),
        url('../img/hero-viviane.png');

    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;

    padding: 25px 0;
    min-height: auto;
    display: flex;
    align-items: center;
}

.hero-content {
    max-width: 600px;
    position: relative;
    z-index: 2;
    padding: 20px;
}

.hero h1 {
    font-family: var(--fonte-titulo);
    color: var(--cor-primaria);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    margin-bottom: 20px;
}

.hero-h1-main {
    font-size: 3.5rem;
    line-height: 1.1;
    display: block;
    white-space: nowrap;
}

.hero-h1-sub {
    font-size: 2.2rem;
    line-height: 1.1;
    display: block;
    white-space: nowrap;
}

.hero p {
    font-size: 1.25rem;
    margin-bottom: 35px;
    max-width: 500px;
    color: var(--cor-primaria);
    line-height: 1.5;
}

.hero-list {
    list-style: none;
    margin-bottom: 40px;
    padding: 0;
}

.hero-list li {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    font-family: var(--fonte-corpo);
    font-weight: bold;
    color: var(--cor-primaria);
    font-size: 1.1rem;
}

.check-box {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 26px;
    height: 26px;
    background-color: var(--cor-primaria);
    color: #ffffff;
    border-radius: 6px;
    margin-right: 15px;
    font-size: 15px;
    flex-shrink: 0;
}

.btn-primary {
    display: inline-block;
    background-color: var(--cor-primaria);
    color: #ffffff;
    border: 2px solid var(--cor-primaria);
    padding: 12px 35px;
    border-radius: 25px;
    font-family: var(--fonte-corpo);
    font-weight: bold;
    /* text-transform: capitalize; REMOVIDO */
    font-size: 14px;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(107, 120, 80, 0.3);
}

.btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

@media (max-width: 768px) {
    .hero {
        background-image: linear-gradient(180deg,
                rgba(244, 241, 233, 0.8) 0%,
                rgba(244, 241, 233, 0.5) 25%,
                rgba(244, 241, 233, 0) 50%),
            linear-gradient(90deg,
                var(--cor-fundo) 0%,
                var(--cor-fundo) 100%);
        background-position: center;
        background-size: cover;
        align-items: center;
        padding: 25px 20px;
        min-height: auto;
    }

    .hero-content {
        padding: 20px;
        text-align: center;
        margin: 0 auto;
        max-width: 100%;
    }

    .hero h1 {
        font-size: 2rem;
        align-items: center;
    }

    .hero-h1-main {
        font-size: 2rem;
        white-space: normal;
    }

    .hero-h1-sub {
        font-size: 1.4rem;
        white-space: normal;
    }

    .hero p {
        font-size: 1rem;
        max-width: 100%;
        text-align: center;
    }
}

/* =========================================
   DOBRA 3: FAIXA DOURADA
   ========================================= */

.stats-bar {
    background-color: var(--cor-fundo);
    /* Usando o bege claro da nova paleta */
    padding-top: 15px;
    padding-bottom: 15px;
    box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.25);
    position: relative;
    z-index: 99;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.stats-container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    text-align: center;
    flex-wrap: wrap;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
}

.stat-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 0;
}

.stat-icon {
    width: 45px;
    height: 45px;
    fill: #E1B35B;
    /* Amarelo Champagne (Elegante e Profissional) */
}

.stat-item h3 {
    font-family: var(--fonte-titulo);
    font-size: 48px;
    margin: 0;
    color: #E1B35B;
    /* Amarelo Champagne nos números */
    line-height: 1;
    font-weight: 700;
}

.stat-item p {
    font-family: var(--fonte-corpo);
    /* Agora Montserrat */
    font-size: 16px;
    text-transform: capitalize;
    letter-spacing: 1px;
    font-weight: bold;
    color: var(--cor-primaria);
    /* Texto em Verde Musgo para leitura */
    line-height: 1.2;
    margin-top: 5px;
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .stats-bar {
        padding: 20px 0;
    }

    .stats-container {
        gap: 20px;
        flex-direction: column;
    }

    .stat-icon {
        width: 30px;
        height: 30px;
    }

    .stat-item h3 {
        font-size: 32px;
    }

    .stat-item p {
        font-size: 14px;
    }
}

/* =========================================
   DOBRA 4: PROPÓSITO E VALORES (EFEITO RECORTE)
   ========================================= */
.purpose {
    background-color: var(--cor-primaria);
    padding: 45px 0 55px 0;
    color: #fff;
    overflow: hidden;
}

.purpose-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

.purpose-image {
    flex: 1;
    position: relative;
    display: flex;
    justify-content: center;
}

/* 1. MANTÉM DESATIVADO: Sem círculos ou formas atrás */
.purpose-image::before {
    display: none;
}

.purpose-image img {
    width: 100%;
    max-width: 500px;
    /* Aumentei um pouco para o recorte ficar imponente */
    height: auto;
    object-fit: contain;
    /* Garante que o recorte não seja cortado */

    /* 2. LIMPEZA TOTAL: Removemos bordas, sombras e arredondamentos */
    border-radius: 0;
    border: none;
    box-shadow: none;

    position: relative;
    z-index: 1;
    /* 3. OPCIONAL: Adiciona uma sombra suave apenas no contorno das pessoas */
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.2));
}

.purpose-text {
    flex: 1;
}

.purpose-text h2 {
    font-family: var(--fonte-titulo);
    color: var(--cor-creme-escuro);
    font-size: 38px;
    margin-bottom: 30px;
    font-weight: 700;
}

.purpose-text p {
    font-family: var(--fonte-corpo);
    font-size: 18px;
    line-height: 1.8;
    color: var(--cor-fundo);
    margin-bottom: 20px;
}

@media (max-width: 900px) {
    .purpose {
        padding: 25px 0;
    }

    .purpose-container {
        flex-direction: column-reverse;
        text-align: center;
        padding: 20px;
    }

    .purpose-text h2 {
        font-size: 1.5rem;
    }

    .purpose-text p {
        font-size: 1rem;
        text-align: center;
    }

    .purpose-image img {
        max-width: 90%;
        /* Ajuste para não ficar colado nas bordas do celular */
        margin-top: -45px;
        margin-bottom: -25px;
    }

    .btn-purpose {
        margin: 20px auto 0 auto;
    }

    .mobile-break-btn {
        display: block;
    }
}

/* =========================================
    DOBRA 5: EQUIPE (EDITORIAL FLAT)
   ========================================= */

.team-section {
    /* CORREÇÃO DA FAIXA BRANCA */
    display: block;
    /* Garante que se comporte como bloco sólido */
    margin-top: -2px !important;
    /* Sobe a seção para encavalar na de cima e sumir o branco */
    position: relative;
    z-index: 10;

    /* ESTILO DA SEÇÃO */
    padding: 45px 0;
    background-color: var(--cor-secundaria);
    min-height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

/* Garante que não haja espaço vindo de cima */
.team-section::before {
    content: "";
    display: block;
}

.team-section .section-header {
    text-align: center;
    margin-bottom: 25px;
}

.team-section h2 {
    font-family: var(--fonte-titulo);
    font-size: 3.5rem;
    color: #849473;
    /* verde da identidade */
    margin-bottom: 5px;
    line-height: 1.05;
    text-align: center;
}

.team-section h2 .line {
    display: block;
}

/* Parágrafo introdutório dividido em duas linhas iguais */
.team-section .section-header p.team-intro {
    color: #849473;
    /* verde da identidade */
    font-weight: 600;
    margin-top: 22px;
    font-size: 1.15rem;
    font-family: var(--fonte-corpo);
    text-transform: none;
}

.team-section .section-header p.team-intro .sub-line {
    display: block;
}

@media (max-width: 900px) {
    .team-section {
        padding: 25px 0;
    }

    .team-section .section-header {
        text-align: center;
        padding: 0 20px;
    }

    .team-section h2 {
        font-size: 1.5rem;
    }

    .team-section .section-header p.team-intro {
        font-size: 0.95rem;
        text-align: center;
    }
}

/* Logo + CTA abaixo do título da seção equipe */
.team-logo-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    margin-top: 28px;
}

.team-logo {
    max-width: 200px;
    /* reduzida conforme solicitado */
    height: auto;
    display: block;
}

@media (max-width: 600px) {
    .team-logo {
        max-width: 140px;
    }

    .team-logo-cta .btn {
        width: 100%;
        max-width: 240px;
    }
}

@media (min-width: 1200px) {
    .team-logo {
        max-width: 240px;
    }
}

.team-logo-cta .btn {
    padding: 12px 35px;
    border-radius: 25px;
    font-weight: 700;
    /* text-transform: capitalize; REMOVIDO */
}

@media (max-width: 600px) {
    .team-logo {
        max-width: 160px;
    }

    .team-logo-cta .btn {
        width: 100%;
        max-width: 320px;
    }
}

.team-section p {
    color: #e6e2d3;
    font-weight: 700;
    text-transform: capitalize;
    letter-spacing: 1.5px;
    font-size: 0.7rem;
}

/* Wrapper compacto */
.carousel-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 90%;
    max-width: 850px;
    margin: 0 auto;
}

.team-carousel {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    width: 100%;
}

.team-carousel::-webkit-scrollbar {
    display: none;
}

/* --- O CARTÃO TOTALMENTE QUADRADO --- */
.team-card {
    background: #fdfcf9 !important;
    position: relative;
    z-index: 1;
    border-radius: 0px !important;
    border: 1px solid #d4cfbd !important;

    outline: 1px solid #d4cfbd;
    outline-offset: -10px;

    box-shadow: none !important;
    transition: transform 0.3s ease;
    flex: 0 0 auto;
    scroll-snap-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
}

/* --- IMAGEM QUADRADA --- */
.card-image {
    width: 100%;
    height: 250px;
    border-radius: 0px !important;
    overflow: hidden;
}

.card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0px !important;
}

/* --- CONTEÚDO --- */
.card-info {
    padding: 30px 40px;
    text-align: left;
    background-image: url('https://www.transparenttextures.com/patterns/paper-fibers.png');
}

.card-info h3 {
    font-family: var(--fonte-titulo);
    font-size: 1.5rem;
    color: var(--cor-primaria);
    margin: 0;
}

.card-info h3::after {
    content: "◈";
    display: block;
    font-size: 12px;
    color: #8f7d5c;
    margin: 8px 0;
}

.card-info .role {
    font-size: 0.7rem;
    text-transform: capitalize;
    font-weight: 800;
    color: #8f7d5c;
    margin-bottom: 10px;
    display: block;
}

.card-info p {
    font-family: var(--fonte-corpo);
    font-size: 0.85rem;
    line-height: 1.5;
    color: #444;
    text-transform: none !important;
}

/* Garantir espaçamento de letra padrão (Montserrat) apenas para texto dentro dos cards */
.card-info p,
.card-info .viviane-lead,
.card-info .viviane-foot,
.card-info .viviane-bio li,
.card-info .marcelo-lead,
.card-info .marcelo-foot,
.card-info .marcelo-bio li {
    letter-spacing: normal !important;
}

/* Estilo unificado para Viviane e Marcelo */
.card-info .viviane-lead,
.card-info .viviane-foot,
.card-info .marcelo-lead,
.card-info .marcelo-foot {
    font-family: var(--fonte-corpo);
    font-weight: 400;
    font-size: 0.95rem;
    color: #849473;
    /* cor solicitada */
    line-height: 1.5;
    margin-bottom: 0.75rem;
}

.card-info .viviane-bio,
.card-info .marcelo-bio {
    margin-top: 8px;
    margin-bottom: 16px;
    padding-left: 0;
    /* alinhar com parágrafo */
    list-style: none;
    /* usamos marcador custom para garantir visibilidade */
}

.card-info .viviane-bio li,
.card-info .marcelo-bio li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding-left: 0;
    margin-bottom: 5px;
    font-family: var(--fonte-corpo);
    font-weight: 400;
    font-size: 0.95rem;
    color: #849473;
    line-height: 1.5;
}

.card-info .viviane-bio li::before,
.card-info .marcelo-bio li::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    background: #849473;
    border-radius: 50%;
    margin-top: 6px;
    flex: 0 0 auto;
}

/* SETAS QUADRADAS */
.nav-btn {
    background: #fdfcf9;
    border: 1px solid #d4cfbd;
    width: 35px;
    height: 35px;
    border-radius: 0px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    cursor: pointer;
}

.prev {
    left: -45px;
}

.next {
    right: -45px;
}

/* --- AJUSTE PC: CABER NA TELA --- */
@media (min-width: 1024px) {
    .team-card {
        flex-direction: row;
        min-height: 320px;
    }

    .card-image {
        width: 35%;
        height: auto;
    }

    .card-info {
        width: 65%;
    }
}

/* =========================================
   DOBRA 7: SLOGAN (VISUAL FINAL: LETRA BEGE + SOMBRA)
   ========================================= */
.slogan-section {
    background-color: var(--cor-primaria);
    padding: 15px 0;
    /* Faixa fina */

    text-align: center;

    display: flex;
    align-items: center;
    justify-content: center;

    /* --- Sombra Layering --- */
    position: relative;
    z-index: 10;
    box-shadow: 0 15px 40px -5px rgba(0, 0, 0, 0.3);
}

.slogan-container {
    width: 100%;
    max-width: 1200px;
    padding: 0 20px;
}

.slogan-container h2 {
    font-family: var(--fonte-titulo);

    /* MUDANÇA: Agora usa o Bege Claro (Cream) em vez de Branco */
    color: var(--cor-fundo);

    font-size: 2.2rem;
    font-style: italic;
    margin-bottom: 5px;
    line-height: 1.2;
    white-space: nowrap;
}

.slogan-container p {
    font-family: var(--fonte-corpo);
    font-size: 14px;
    text-transform: capitalize;
    letter-spacing: 3px;

    /* Mantive o Dourado no subtítulo para criar um tom sobre tom chique */
    color: var(--cor-secundaria);

    font-weight: 700;
    margin: 0;
    opacity: 0.9;
}

/* --- AJUSTE PARA CELULAR --- */
@media (max-width: 900px) {
    .slogan-section {
        padding: 30px 0;
    }

    .slogan-container h2 {
        font-size: 1.8rem;
        white-space: normal;
        line-height: 1.3;
        margin-bottom: 10px;
    }

    .slogan-container p {
        font-size: 12px;
        letter-spacing: 2px;
    }
}

/* =========================================
   DOBRA 8: COMPARAÇÃO (DESIGN EDITORIAL PREMIUM)
   ========================================= */
.hiring-section {
    background-color: #f4f1e9;
    padding: 120px 0;
    /* Mais respiro para luxo */
    overflow: hidden;
}

.hiring-comparison-grid {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 40px;
    margin-top: 60px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.hiring-column {
    flex: 1;
    display: flex;
}

/* --- O CARD EVOLUÍDO --- */
.hiring-content {
    background: #ffffff !important;
    padding: 60px 50px;
    border-radius: 45px;
    /* Bordas mais orgânicas */
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.8);
    /* Sombra 3D profunda e suave */
    box-shadow:
        0 10px 0px #e6e2d3,
        /* "Base" do card */
        0 30px 60px rgba(132, 148, 115, 0.15) !important;

    transition: all 0.5s cubic-bezier(0.2, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
}

/* Efeito de brilho na borda superior */
.hiring-content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 100%);
    border-radius: 45px 45px 0 0;
    pointer-events: none;
}

.hiring-content:hover {
    transform: translateY(-15px);
    box-shadow:
        0 15px 0px #d4cfbd,
        0 40px 80px rgba(132, 148, 115, 0.25) !important;
}

/* Títulos com mais peso visual */
.hiring-content h3 {
    font-family: var(--fonte-titulo);
    font-size: 2rem;
    color: #3e4a3b;
    margin-bottom: 30px;
    line-height: 1.1;
    text-align: center;
}

.hiring-content p {
    font-family: var(--fonte-corpo);
    font-size: 1rem;
    color: #7a8a6a;
    line-height: 1.7;
    margin-bottom: 35px;
    text-align: center;
}

/* LISTA COM ESTILO INFOGRÁFICO */
.hiring-content ul li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 18px;
    font-family: var(--fonte-corpo);
    font-size: 1rem;
    color: #444;
    line-height: 1.5;
}

/* Círculos de check personalizados */
.hiring-content ul li::before {
    content: "✓";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background-color: #f4f1e9;
    color: #849473;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 1px;
    font-size: 0.8rem;
    font-weight: 900;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* Rodapé com separador elegante */
.hiring-footer-text {
    margin-top: auto;
    font-size: 1rem !important;
    font-weight: 800;
    color: #3e4a3b;
    text-transform: capitalize;
    letter-spacing: 2px;
    border-top: 2px solid #f4f1e9;
    padding-top: 30px;
    text-align: center;
}

/* Conclusão final impactante */
.hiring-conclusion p {
    font-family: var(--fonte-titulo);
    font-size: 1.8rem;
    color: #3e4a3b;
    font-style: normal;
    /* Tirar o itálico deixa mais moderno */
    letter-spacing: -0.5px;
}

/* --- RESPONSIVIDADE --- */
@media (max-width: 900px) {
    .hiring-comparison-grid {
        gap: 30px;
        padding: 0 25px;
    }

    .hiring-content {
        padding: 50px 30px;
    }

    .hiring-content h3 {
        font-size: 1.6rem;
    }
}

/* =========================================
   DOBRA 8B: SEÇÃO HIRING NOVA COM FUNDO
   ========================================= */
.hiring-section.hiring-new {
    background-color: #f4f1e9;
    background-image: url('../img/familia1.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: left center;
    padding: 20px 0 15px;
    /* reduzido: topo 20px, bottom 15px (corta a imagem de fundo embaixo com respiro) */
    margin-bottom: -30px;
    /* corta a seção mais 20px no total conforme solicitado (mais 10px) */
    overflow: hidden;
    display: flex;
    align-items: center;
    position: relative;
    /* Necessário para z-index */
    z-index: 1;
    /* Camada inferior */
}

.hiring-section.hiring-new .container {
    width: 100%;
}

.hiring-section.hiring-new .hiring-columns {
    display: grid;
    grid-template-columns: 35% 65%;
    /* aumentar largura da coluna direita (cards) */
    gap: 28px;
    align-items: center;
}

.hiring-section.hiring-new .hiring-col.left-col {
    /* Deixado vazio para a imagem de fundo */
}

.hiring-section.hiring-new .hiring-col.right-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.hiring-section.hiring-new .cards-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    /* menor espaço entre cards para compensar aumento */
    align-items: stretch;
}

.hiring-section.hiring-new .info-card h3 {
    white-space: nowrap;
    /* força o título em uma linha */
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 900px) {
    .hiring-section.hiring-new .hiring-columns {
        grid-template-columns: 1fr;
    }

    .hiring-section.hiring-new .info-card h3 {
        white-space: normal;
    }

    .hiring-section.hiring-new .cards-panel {
        gap: 20px;
    }
}

/* Centraliza o rodapé (hiring-footer) na coluna direita abaixo dos cards em desktop */
@media (min-width: 901px) {
    .hiring-section.hiring-new .hiring-col.right-col {
        align-items: center;
        /* centraliza horizontalmente os filhos */
        gap: 8px;
        /* aproxima os elementos dentro da coluna direita */
    }

    /* Forçar texto no topo e botão centralizado imediatamente abaixo */
    .hiring-section.hiring-new .hiring-footer {
        display: flex;
        flex-direction: column;
        /* frase em cima, botão embaixo */
        align-items: center;
        gap: 6px;
        margin-top: -6px;
        /* mantém proximidade com os cards */
        text-align: center;
        width: 100%;
        max-width: 520px;
    }

    .hiring-section.hiring-new .hiring-footer .footer-note {
        display: block;
        text-align: center;
        white-space: nowrap;
        opacity: 0.95;
    }

    .hiring-section.hiring-new .hiring-footer .footer-cta {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
    }

    .hiring-section.hiring-new .hiring-footer .footer-cta {
        flex-direction: column;
        /* botão em cima, legenda embaixo */
        align-items: center;
    }

    /* ESPECÍFICO PARA PORTUGUÊS: Ajuste visual de 100px + 5px baixo */
    html:lang(pt-br) .hiring-section.hiring-new .hiring-footer .footer-cta {
        transform: translate(100px, 5px);
    }

    /* ESPECÍFICO PARA INGLÊS (EN): Ajustado para igualar PT/ES + 5px baixo */
    html:lang(en) .hiring-section.hiring-new .hiring-footer .footer-cta {
        transform: translate(125px, 5px);
    }

    /* ESPECÍFICO PARA ESPANHOL (ES): Ajuste fino solicitado + 5px baixo */
    html:lang(es) .hiring-section.hiring-new .hiring-footer .footer-cta {
        transform: translate(100px, 5px);
    }

    .hiring-section.hiring-new .hiring-footer .footer-cta .cta-sub {
        white-space: nowrap;
        /* legenda em uma linha só */
        margin-bottom: 20px;
        /* aumenta distância entre legenda e botão */
        margin-top: 15px;
        /* empurra a legenda para baixo +15px (mantém 20px distância do botão) */
    }

    /* ESPECÍFICO PARA PORTUGUÊS: Ajuste da legenda */
    html:lang(pt-br) .hiring-section.hiring-new .hiring-footer .footer-cta .cta-sub {
        transform: translateX(-20px);
    }

    /* ESPECÍFICO PARA INGLÊS (EN): Ajuste fino da legenda (igual ES) */
    html:lang(en) .hiring-section.hiring-new .hiring-footer .footer-cta .cta-sub {
        transform: translateX(15px);
    }

    /* ESPECÍFICO PARA ESPANHOL (ES): Ajuste fino da legenda */
    html:lang(es) .hiring-section.hiring-new .hiring-footer .footer-cta .cta-sub {
        transform: translateX(10px);
    }

    /* Posicionamento mínimo: manter esses dois elementos exatamente na posição do footer-note */
    .hiring-section.hiring-new .hiring-footer .footer-note,
    .hiring-section.hiring-new .hiring-footer .footer-cta {
        display: inline-flex;
        align-items: baseline;
        gap: 10px;
        margin: 0;
    }

    /* Forçar o botão a ficar exatamente inline com a frase (mesma posição) */
    .hiring-section.hiring-new .hiring-footer .footer-cta .btn-receba {
        display: inline-flex;
        margin: 0;
        /* evita sobrescritas anteriores */
        align-self: baseline;
        vertical-align: baseline;
        transform: translate(20px, 0);
        /* desloca o botão 20px para a direita no desktop */
    }
}

@media (max-width: 900px) {
    .hiring-section.hiring-new .hiring-col.right-col {
        align-items: stretch;
    }

    .hiring-section.hiring-new .hiring-footer {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        max-width: none;
        gap: 12px;
        margin-top: 12px;
    }

    .hiring-section.hiring-new .hiring-footer .footer-cta {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }

    .hiring-section.hiring-new .hiring-footer .footer-cta .btn-receba {
        transform: none;
        margin: 0 auto;
    }
}

/* Desktop: manter legenda em uma linha e esconder o <br> de quebra */
@media (min-width: 901px) {
    .hiring-section.hiring-new .mobile-break-sub {
        display: none;
    }

    .hiring-section.hiring-new .hiring-footer .footer-cta .cta-sub {
        white-space: nowrap;
    }

    .hiring-section.hiring-new .hiring-footer {
        margin-bottom: 45px;
    }

    /* Restaurar comportamento original no desktop: manter footer-note em uma linha */
    .hiring-section.hiring-new .hiring-footer .footer-note {
        display: block !important;
        white-space: nowrap !important;
        text-align: center;
    }

    .mobile-break-footer-note {
        display: none !important;
    }
}

/* Mobile: permitir quebra pela <br> e resetar transforms */
@media (max-width: 900px) {
    .hiring-section.hiring-new .mobile-break-sub {
        display: block;
    }

    .hiring-section.hiring-new .hiring-footer .footer-cta .cta-sub {
        white-space: normal;
        transform: none;
        /* resetar deslocamento em mobile */
        margin-bottom: 0;
        /* resetar espaçamento extra em mobile */
    }

    .hiring-section.hiring-new .hiring-footer {
        margin-bottom: 45px;
    }
}

.hiring-section.hiring-new .info-card {
    background: #ffffff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    gap: 15px;
    text-align: left;
    align-items: flex-start;
}

.hiring-section.hiring-new .info-card .card-head {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.hiring-section.hiring-new .info-card h3 {
    font-size: 1.2rem;
    color: #849473;
    margin: 0;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 10px;
}

.hiring-section.hiring-new .info-card h3::before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    background-image: url('../img/iconsegurosaude.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}

.hiring-section.hiring-new .card-life h3::before {
    background-image: url('../img/iconsegurodevida.png');
}

.hiring-section.hiring-new .info-card .icon {
    width: 32px;
    height: 32px;
    display: none;
    align-items: center;
    justify-content: center;
    color: #849473;
}

.hiring-section.hiring-new .info-card p {
    font-size: 0.95rem;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

.hiring-section.hiring-new .info-card .benefits {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.hiring-section.hiring-new .info-card .benefits li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: #555;
}

.hiring-section.hiring-new .info-card .benefits li i {
    color: #849473;
    font-size: 0.9rem;
}

.hiring-section.hiring-new .hiring-footer {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    margin-top: 20px;
}

.hiring-section.hiring-new .footer-note {
    font-size: 0.85rem;
    color: #666;
    font-style: italic;
}

.hiring-section.hiring-new .footer-cta {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.hiring-section.hiring-new .btn-receba {
    display: inline-block;
    background-color: #849473;
    color: #ffffff;
    padding: 12px 35px;
    /* tamanho padronizado */
    border-radius: 25px;
    font-weight: 700;
    text-decoration: none;
    font-size: 14px;
    text-align: center;
    transition: all 0.3s ease;
}

.hiring-section.hiring-new .btn-receba {
    margin: 0;
    /* evita deslocamentos por margin auto */
    align-self: center;
    /* centraliza o botão dentro do footer */
    padding: 12px 35px;
    /* restaurar tamanho original */
}

.hiring-section.hiring-new .btn-receba:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14) !important;
}

@media (min-width: 901px) {
    .hiring-section.hiring-new .hiring-footer .footer-cta .btn-receba:hover {
        transform: translate(20px, -3px) !important;
    }
}

.hiring-section.hiring-new .cta-sub {
    font-size: 0.8rem;
    color: #849473;
    text-align: center;
    white-space: nowrap;
    /* manter em uma linha */
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Fix: textos dos cards em verde da identidade */
.hiring-section.hiring-new .info-card p,
.hiring-section.hiring-new .info-card .benefits li,
.hiring-section.hiring-new .footer-note,
.hiring-support,
.hiring-subtitle {
    color: #849473;
}

/* Centralizar botão no card direito e alinhar o texto abaixo com o botão */
.hiring-section.hiring-new .hiring-footer {
    display: flex;
    justify-content: center;
}

.hiring-section.hiring-new .hiring-footer .footer-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* centraliza botão e subtítulo */
    gap: 6px;
}

.hiring-section.hiring-new .btn-receba {
    margin: 0 auto;
    /* redundante com align-items, mas garante centralização */
}

.hiring-subtitle {
    color: #849473;
    font-size: 1.4rem;
    font-weight: 400;
    /* não negritar a frase inteira */
    margin-bottom: 6px;
    /* encostar mais no título */
    text-align: center;
}

@media (max-width: 900px) {
    .hiring-subtitle {
        font-size: 1.15rem;
    }
}

.hiring-support {
    color: #849473;
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 20px;
}

@media (max-width: 900px) {
    .hiring-section.hiring-new {
        background-image: none;
        padding: 15px 0;
        /* mobile: top/bottom 15px (reduzido) */
    }

    .hiring-section.hiring-new .hiring-columns {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .hiring-section.hiring-new .hiring-col.left-col {
        display: none;
    }

    .hiring-section.hiring-new .cards-panel {
        grid-template-columns: 1fr;
    }

    /* Forçar centralização total do rodapé no mobile */
    .hiring-section.hiring-new .hiring-footer {
        align-items: center;
        text-align: center;
        gap: 10px;
    }

    .hiring-section.hiring-new .hiring-footer .footer-note {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .hiring-section.hiring-new .hiring-footer .footer-cta {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        gap: 6px;
    }

    .hiring-section.hiring-new .hiring-footer .footer-cta .btn-receba {
        padding: 12px 24px;
        margin: 0 auto;
    }

    .hiring-section.hiring-new .hiring-footer .footer-cta .cta-sub {
        text-align: center;
    }

    /* Mobile: garantir que footer-note (ícone + texto) esteja centralizado corretamente */
    .hiring-section.hiring-new .hiring-footer .footer-note {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px;
        width: 100%;
        text-align: center;
    }

    .hiring-section.hiring-new .hiring-footer .footer-note i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        font-size: 14px;
    }

    /* Esconder quebra por padrão (desktop) */
    .mobile-break-footer-note {
        display: none;
    }
}

/* Mostrar quebra apenas em mobile */
@media (max-width: 900px) {
    .mobile-break-footer-note {
        display: block;
    }

    .hiring-section.hiring-new .hiring-footer .footer-note {
        flex-wrap: wrap;
    }
}

/* Desktop: dividir `.hiring-support` em duas linhas (via <br>), aumentar fonte e descer 7px */
@media (min-width: 901px) {
    .hiring-section.hiring-new .hiring-support {
        font-size: 18px;
        /* aumento de ~+2px considerando base 16px */
        transform: translateY(7px);
        /* descer 7px no desktop */
        line-height: 1.4;
    }

    .desktop-break-hiring {
        display: inline;
    }
}

/* Mobile: esconder a quebra adicionada e resetar transform/font */
@media (max-width: 900px) {
    .desktop-break-hiring {
        display: none;
    }

    .hiring-section.hiring-new .hiring-support {
        font-size: 1rem;
        transform: none;
    }
}

/* =========================================
   DOBRA 9: PRODUTOS (DESIGN PREMIUM COM ÍCONES)
   ========================================= */
.products-section {
    background-color: #849473;
    /* Verde Musgo */
    padding: 45px 0;
    /* ajustado: top/bottom 45px conforme solicitado */
    text-align: center;
    color: #f4f1e9;
    position: relative;
    z-index: 2;
    /* Garante que fique por cima da seção anterior */
}

.products-header {
    max-width: 1100px;
    margin: 0 auto 50px auto;
}

.products-header h2 {
    color: #f4f1e9;
    font-size: 36px;
    margin-bottom: 15px;
    font-family: var(--fonte-titulo);
}

.products-header p {
    font-size: 1.5rem;
    line-height: 1.4;
    margin-top: 10px;
}

/* Ajustes solicitados: manter padding da seção, mas aproximar itens
   e forçar a frase do header em uma linha no desktop */
@media (min-width: 901px) {
    .products-header {
        margin-bottom: 8px;
        /* reduz ainda mais o espaço entre header e produtos */
    }

    .products-header p {
        white-space: nowrap;
        /* manter em uma única linha no desktop */
        display: inline-block;
    }

    .mobile-break {
        display: none;
    }

    /* esconder a quebra que existe no HTML */

    .products-container {
        gap: 8px;
        /* aproxima os cards horizontalmente e verticalmente */
        padding-bottom: 12px;
        /* reduz espaço interno inferior sem alterar padding da seção */
        margin-top: -8px;
        /* eleva o carrossel para ficar mais próximo do header */
    }
}

@media (max-width: 900px) {
    .mobile-break {
        display: block;
    }

    .products-section {
        padding-top: 25px;
    }

    .products-header {
        margin-bottom: 30px;
    }

    .products-header h2 {
        font-size: 2rem !important;
        margin-bottom: 25px;
        line-height: 1.25;
    }

    .products-header p {
        font-size: 1.15rem;
    }

    .products-container {
        gap: 25px;
        padding-bottom: 40px;
    }
}



.products-container {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 25px;
    padding: 20px 20px 40px 20px;
    -webkit-overflow-scrolling: touch;
}

/* Barra de Rolagem Personalizada */
.products-container::-webkit-scrollbar {
    height: 8px;
}

.products-container::-webkit-scrollbar-track {
    background: rgba(244, 241, 233, 0.1);
    border-radius: 10px;
}

.products-container::-webkit-scrollbar-thumb {
    background-color: #f4f1e9;
    border-radius: 10px;
}

/* O Card Premium com Ícone Centralizado */
.product-card {
    background-color: #f4f1e9;
    color: #849473;
    min-width: 320px;
    max-width: 320px;
    padding: 0;
    border-radius: 20px;
    text-align: center;
    /* Ícones e títulos centralizados conforme exemplo */
    scroll-snap-align: center;
    transition: 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}

.product-card img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 0px;
}

.product-card h3,
.product-card p,
.product-card a {
    padding: 0 35px;
}

.product-card h3 {
    margin-top: 5px;
    margin-bottom: 5px;
}

.product-card p {
    margin-bottom: 10px;
    flex-grow: 1;
}

.product-card a {
    margin-bottom: 20px;
}

.product-card:hover {
    transform: translateY(-10px);
    background-color: #ffffff;
}

/* Container do Ícone Circular */
.product-icon-wrapper {
    width: 80px;
    height: 80px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-icon-wrapper img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.product-card h3 {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 25px;
    font-family: var(--fonte-titulo);
    line-height: 1.2;
    min-height: 75px;
    /* Altura fixa para alinhar os textos abaixo */
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cor-primaria);
}

.product-card p {
    font-size: 0.95rem;
    line-height: 1.6;
    font-weight: 400;
    color: var(--cor-primaria);
    /* Mesma cor da identidade */
    text-align: left;
    /* Texto descritivo alinhado à esquerda para leitura premium */
}

/* Botão CTA */
.products-cta {
    margin-top: 40px;
}

.btn-products {
    background-color: #f4f1e9;
    color: #849473;
    padding: 12px 35px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    display: inline-block;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn-products:hover {
    transform: translateY(-3px);
}

/* Ajuste Responsivo */
@media (max-width: 600px) {
    .product-card {
        min-width: 85vw;
        max-width: 85vw;
    }
}

/* =========================================
   DOBRA 10: CARROSSEL DE PARCEIROS (LOGOS MAIORES)
   ========================================= */
.partners-section {
    background-color: var(--cor-fundo);
    padding: 60px 0;
    /* Aumentei o respiro da seção */
    overflow: hidden;
    border-bottom: 1px solid rgba(132, 148, 115, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.partners-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 40px auto;
    padding: 0 20px;
}

.partners-header h2 {
    font-size: 28px;
    /* Aumentei levemente o título */
    color: var(--cor-texto-escuro);
    font-family: var(--fonte-titulo);
    line-height: 1.3;
}

/* =========================================
   DOBRA 10: CARROSSEL DE PARCEIROS (AJUSTE DE RESPIRO)
   ========================================= */
.partners-section {
    background-color: var(--cor-fundo);
    /* Aumentado o espaço no topo e reduzido ao máximo embaixo */
    padding: 15px 0 0 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.partners-header {
    text-align: center;
    max-width: 100%;
    /* Margem zero embaixo para o texto "encostar" na faixa de logos */
    margin: 0 auto 0 auto;
    padding: 0 20px;
}

.partners-header h2 {
    font-size: 32px;
    color: var(--cor-primaria);
    font-family: var(--fonte-titulo);
    white-space: nowrap;
    -webkit-font-smoothing: antialiased;
    /* Ajuste fino: uma pequena margem interna para não grudar 100% */
    margin-bottom: 5px;
}

/* --- O CARROSSEL --- */
.logos-slider {
    /* Altura ajustada para manter as logos gigantes sem sobras */
    height: 170px;
    margin: auto;
    overflow: hidden;
    position: relative;
    width: 100%;

    mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

.logos-slide-track {
    display: flex;
    align-items: center;
    height: 100%;
    width: max-content;
    animation: scroll 45s linear infinite;
    transform: translate3d(0, 0, 0);
}

.logos-slide-track:hover {
    animation-play-state: paused;
}

.logos-slide-track img {
    height: 170px;
    /* Mantendo o tamanho gigante que você aprovou */
    width: auto;
    margin: 0 80px;

    filter: grayscale(100%);
    opacity: 0.6;

    /* Garantia de Nitidez */
    backface-visibility: hidden;
    transform: translateZ(0);
    image-rendering: -webkit-optimize-contrast;

    transition: filter 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
    cursor: pointer;
}

.logos-slide-track img:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.01) translateZ(0);
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* Ajuste Fino para Celular */
@media (max-width: 768px) {
    .partners-section {
        padding: 40px 0 5px 0;
    }

    .partners-header h2 {
        white-space: normal;
        font-size: 1.1rem;
    }

    .logos-slide-track img {
        height: 100px;
        margin: 0 40px;
    }

    .logos-slider {
        height: 120px;
    }
}

/* =========================================
   DOBRA 11: DEPOIMENTOS (CORRIGIDA - TEXTO BEGE)
   ========================================= */
.testimonials-section {
    background-color: var(--cor-primaria);
    padding: 35px 0 55px 0;
    text-align: center;
    color: #fff;
}

.testimonials-header {
    max-width: 1200px;
    margin: 0 auto 30px auto;
    padding: 0 20px;
}

.testimonials-header h2 {
    color: var(--cor-fundo);
    font-size: 36px;
    margin-bottom: 15px;
}

.testimonials-header p {
    color: var(--cor-fundo);
}

.reviews-container {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 30px;
    padding: 10px 0 30px 0;
    -webkit-overflow-scrolling: touch;
}

.reviews-container::-webkit-scrollbar {
    height: 8px;
}

.reviews-container::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    margin: 0 20px;
}

.reviews-container::-webkit-scrollbar-thumb {
    background-color: var(--cor-secundaria);
    border-radius: 10px;
    cursor: pointer;
}

.reviews-container::-webkit-scrollbar-thumb:hover {
    background-color: #fff;
}

.review-card {
    background-color: var(--cor-fundo);
    /* ALTERADO: Texto agora é o verde da identidade */
    color: var(--cor-primaria);
    min-width: 350px;
    max-width: 350px;
    padding: 40px;
    border-radius: 20px;
    text-align: left;
    scroll-snap-align: center;
    transition: 0.3s;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.review-card:hover {
    transform: translateY(-5px);
}

.review-quote {
    font-size: 60px;
    font-family: serif;
    line-height: 0.5;
    margin-bottom: 20px;
    opacity: 0.6;
    /* Aumentei um pouco a opacidade para destacar no bege */
    color: var(--cor-primaria);
}

.review-text {
    font-size: 16px;
    line-height: 1.6;
    font-style: italic;
    margin-bottom: 25px;
    font-weight: 500;
    color: var(--cor-primaria);
    /* Garantindo a cor no texto */
}

.client-info h4 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 5px;
    color: var(--cor-primaria);
    /* Nome do cliente em bege */
}

.client-info span {
    font-size: 14px;
    text-transform: capitalize;
    opacity: 0.8;
    color: var(--cor-primaria);
    /* Info em bege */
}

@media (max-width: 600px) {
    .review-card {
        min-width: 85vw;
        max-width: 85vw;
    }
}

/* =========================================
   DOBRA 12: PERGUNTAS FREQUENTES (FAIXA FINA)
   ========================================= */
.faq-section {
    background-color: var(--cor-fundo);

    /* MUDANÇA: Reduzi de 100px para 50px. */
    /* Isso tira o espaço vazio de cima e de baixo. */
    padding: 50px 0 20px 0;
}

.faq-header {
    text-align: center;
    margin-bottom: 20px;
    /* Reduzi um pouco aqui também (era 50px) */
}

.faq-header h2 {
    font-size: 36px;
    color: var(--cor-primaria);
    margin-bottom: 10px;
}

.faq-header p {
    color: var(--cor-texto-escuro);
    opacity: 0.8;
}

.faq-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* --- O RESTO CONTINUA IGUAL (ALINHADO À ESQUERDA) --- */
details {
    background-color: #ffffff;
    max-width: 800px;
    margin: 0 auto 15px auto;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
    border: 1px solid rgba(107, 120, 80, 0.1);
}

details[open] {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    border-color: var(--cor-secundaria);
}

summary {
    padding: 20px 25px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
    font-size: 18px;
    color: var(--cor-primaria);
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
}

summary::-webkit-details-marker {
    display: none;
}

summary::after {
    content: '+';
    font-size: 24px;
    font-weight: bold;
    color: var(--cor-secundaria);
    transition: 0.3s;
    margin-left: 15px;
}

details[open] summary::after {
    content: '-';
    transform: rotate(180deg);
}

.faq-answer {
    background-color: #fff;
    padding: 0 25px 15px 25px;
    /* Compacto */
    text-align: left;
    color: #555;
    line-height: 1.5;
    font-weight: 500;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

@media (max-width: 600px) {
    summary {
        font-size: 16px;
        padding: 15px;
    }

    .faq-answer {
        padding: 0 20px 15px 20px;
    }
}

/* =========================================
   DOBRA 13: FAIXA DE COMPROMISSO (FINA COM SOMBRA)
   ========================================= */
.commitment-section {
    background-color: var(--cor-primaria);

    /* MUDANÇA 1: Reduzi o padding de 80px para 35px */
    padding: 35px 20px;

    text-align: center;

    /* MUDANÇA 2: Sombra para dar o efeito de camadas (Layering) */
    position: relative;
    z-index: 10;
    /* Garante que fique por cima do rodapé */
    box-shadow: 0 15px 40px -5px rgba(0, 0, 0, 0.3);
}

.commitment-container h2 {
    font-family: var(--fonte-titulo);
    font-size: 2.2rem;
    /* Tamanho ajustado para a faixa fina */
    font-weight: normal;
    margin: 0;
    line-height: 1.2;
    letter-spacing: 0.5px;

    /* MUDANÇA 3: Bege Claro da Identidade (mais sofisticado que o branco) */
    color: var(--cor-fundo) !important;
}

/* Ajuste para Celular */
@media (max-width: 600px) {
    .commitment-section {
        padding: 30px 20px;
    }

    .commitment-container h2 {
        font-size: 1.8rem;
    }
}

/* =========================================
    DOBRA 14: CHAMADA FINAL (EQUILÍBRIO TOTAL)
   ========================================= */
.final-cta {
    background-color: #ffffff;
    background-image: url('../img/familiadobraverde.png');
    background-size: cover;
    background-position: -100px center;
    background-attachment: scroll;
    background-repeat: no-repeat;
    padding: 30px 0 60px 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: auto;
    position: relative;
    width: 100%;
    max-width: 100vw;
}

.final-cta::before {
    display: none;
}

.final-cta-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100vw;
    margin: 0 auto;
    padding: 0;
    position: relative;
    z-index: 2;
}

/* LADO ESQUERDO: IMAGEM - REMOVIDO */
.cta-image-placeholder {
    display: none;
}

/* LADO DIREITO: CONTEÚDO */
.cta-content-right {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 50px;
    background-color: transparent;
    width: 100%;
    max-width: 100%;
}

/* LADO DIREITO: CONTEÚDO */
.cta-content-right {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* SEÇÃO INTRODUTÓRIA */
.cta-intro {
    display: block;
    text-align: center;
    width: 100%;
    max-width: 100%;
    margin: 10px 0;
    padding: 0 20px;
}

.cta-intro h2 {
    font-size: 60px;
    color: #849473;
    line-height: 1.2;
    font-family: var(--fonte-titulo);
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
}

.cta-intro h2 strong {
    color: var(--cor-primaria);
    font-weight: bold;
}

.cta-intro p {
    font-size: 24px;
    color: #849473;
    line-height: 1.5;
    font-family: var(--fonte-corpo);
    font-weight: 400;
    margin-bottom: 15px;
    text-align: center;
}

.cta-intro p strong {
    font-weight: 400;
}

/* SEÇÃO DE PASSOS COMPACTOS */
.cta-steps-compact {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background-color: #f4f1e9;
    padding: 25px 25px 15px 25px;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    width: calc(50% - 105px);
    margin-left: auto;
    margin-right: 70px;
}

.cta-steps-compact h3 {
    font-size: 24px;
    color: #849473;
    font-family: var(--fonte-titulo);
    font-weight: 700;
    margin-bottom: 5px;
}

.step-compact {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.step-number-compact {
    width: 45px;
    height: 45px;
    min-width: 45px;
    background-color: var(--cor-primaria);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 18px;
    font-family: var(--fonte-titulo);
}

.step-content-compact {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.step-content-compact h4 {
    font-size: 15px;
    color: #849473;
    font-family: var(--fonte-titulo);
    font-weight: 700;
    text-transform: capitalize;
    letter-spacing: 0.5px;
}

.step-content-compact p {
    font-size: 14px;
    color: #849473;
    line-height: 1.5;
    font-family: var(--fonte-corpo);
    font-weight: 400;
}

/* WRAPPER DO BOTÃO */
.cta-button-wrapper {
    display: flex;
    justify-content: center;
    margin: 15px 0;
}

.btn-cta {
    background-color: var(--cor-primaria);
    color: #fff;
    padding: 12px 35px;
    border-radius: 25px;
    font-family: var(--fonte-titulo);
    font-weight: 700;
    font-size: 14px;
    /* text-transform: capitalize; REMOVIDO */
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
    box-shadow: 0 8px 20px rgba(132, 148, 115, 0.3);
    cursor: pointer;
    text-align: center;
}

.btn-cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(132, 148, 115, 0.4);
}

/* TEXTO RODAPÉ */
.cta-footer-text {
    font-size: 13px;
    color: #849473;
    text-align: center;
    line-height: 1.6;
    font-family: var(--fonte-corpo);
    font-weight: 400;
}

.mobile-break-footer {
    display: none;
}

/* ========================================================================= */
.cta-steps {
    flex: 1;
    max-width: 550px;
}

.steps-title {
    /* AJUSTADO: Fonte maior para ocupar 2 linhas na largura dos cards */
    font-size: 1.4rem;
    color: var(--cor-primaria);
    margin-bottom: 25px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: none;
    /* Mantém natural para facilitar a leitura */
    max-width: 450px;
    /* Força a quebra em 2 linhas */
}

.step-card {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
    background: #fdfbf5 !important;
    padding: 25px 35px;
    border-radius: 30px !important;
    position: relative;
    overflow: visible !important;

    border: 1px solid #ffffff !important;
    box-shadow:
        0 4px 0px #d4cfbd,
        0 10px 25px rgba(0, 0, 0, 0.06) !important;

    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}



.step-number {
    background-color: #6d7d6a !important;
    color: #fff !important;
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 50% !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.9rem;
}

.step-content {
    padding-right: 90px;
}

.step-content h3 {
    font-size: 1.1rem;
    color: #333;
    margin-bottom: 4px;
    font-weight: 700;
}

.step-content p,
.step-list li {
    font-size: 0.85rem;
    color: #666;
    line-height: 1.4;
}

/* --- LADO DIREITO: TEXTO E BOTÃO --- */
.cta-text-side {
    flex: 1;
    max-width: 580px;
}

.cta-text-side h2 {
    font-size: 34px;
    color: var(--cor-primaria);
    line-height: 1.2;
    margin-bottom: 40px;
    font-weight: 700;
    /* AJUSTADO: Voltando para Montserrat */
    font-family: 'Montserrat', sans-serif;
}

.btn-cta {
    background-color: var(--cor-primaria);
    color: #fff;
    padding: 12px 35px;
    border-radius: 25px;
    font-weight: 800;
    /* text-transform: capitalize; REMOVIDO */
    font-size: 14px;
    display: inline-block;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    cursor: pointer;
}

.btn-cta:hover {
    transform: translateY(-3px);
}

/* --- ÍCONES 3D AJUSTADOS --- */
.step-icon {
    position: absolute;
    right: 5px;
    bottom: 5px;
    max-width: 110px;
    height: auto;
    pointer-events: none;
    z-index: 1;
}

@media (max-width: 900px) {
    .final-cta {
        background-image: none !important;
        padding: 5px 20px 15px 20px;
        justify-content: center;
        background-color: var(--cor-fundo);
        /* Cor de fundo leve para substituir a imagem */
        margin-top: 0;
        margin-bottom: 0px;
        min-height: auto;
    }

    .final-cta-container {
        flex-direction: column;
        justify-content: center;
    }

    .cta-content-right {
        padding: 0;
        align-items: center;
        text-align: center;
        width: 100%;
        max-width: 100%;
        background-color: transparent;
        gap: 15px;
    }

    .cta-intro {
        margin-top: 0;
    }

    .cta-intro h2 {
        font-size: 2rem;
        /* ~32px */
    }

    .cta-intro p {
        font-size: 1.1rem;
    }

    .cta-steps-compact {
        width: 100%;
        margin: 10px auto 0 auto !important;
        padding: 35px 20px 20px 20px;
        background-color: #f4f1e9;
        border-radius: 20px;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
        gap: 15px;
    }

    .cta-steps-compact h3 {
        text-align: left;
    }

    .step-compact {
        justify-content: flex-start;
        flex-direction: row;
        text-align: left;
    }

    .step-content-compact {
        align-items: flex-start;
    }

    .cta-button-wrapper {
        justify-content: center;
    }

    .cta-image-placeholder {
        display: none !important;
    }

    /* Disable button animations on mobile */
    .hiring-section.hiring-new .btn-receba:hover,
    .btn-products:hover,
    .btn:hover,
    .btn-cta:hover {
        transform: none !important;
        box-shadow: none !important;
    }

    .btn-cta {
        text-wrap: balance;
        width: 100%;
        max-width: 360px;
        margin-left: auto;
        margin-right: auto;
        display: block;
        line-height: 1.2;
        padding: 16px 20px;
    }

    .mobile-break-footer,
    .mobile-break-btn {
        display: block;
    }
}

@media (max-width: 600px) {
    .final-cta {
        min-height: auto;
        background-attachment: scroll;
    }

    .final-cta-container {
        padding: 0 15px;
    }

    .cta-content-right {
        padding: 60px 15px;
        width: 100%;
        gap: 15px;
    }

    .cta-steps-compact {
        background-color: #f4f1e9;
        padding: 25px;
        border-radius: 15px;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
        gap: 12px;
    }

    .cta-intro h2 {
        font-size: 28px;
    }

    .cta-intro p {
        font-size: 16px;
    }

    .cta-steps-compact h3 {
        font-size: 16px;
    }

    .step-number-compact {
        width: 40px;
        height: 40px;
        font-size: 16px;
        min-width: 40px;
    }

    .step-content-compact h4 {
        font-size: 13px;
    }

    .step-content-compact p {
        font-size: 13px;
    }

    .btn-cta {
        font-size: 12px;
        padding: 14px 30px;
    }
}

/* =========================================
   DOBRA 15: CONTATO (FORMULÁRIO BRANCO + ICONES COLORIDOS)
   ========================================= */
.footer-form-section {
    background-color: var(--cor-primaria) !important;
    /* Verde Oliva Profundo */
    padding: 80px 0 55px 0 !important;
    color: #fff;
    position: relative;
    z-index: 5;
}

.footer-container {
    display: flex;
    justify-content: center;
    gap: 30px;
    align-items: flex-start;
}

/* --- ESTILO DO FORMULÁRIO BRANCO --- */
.footer-left.white-form {
    flex: 1;
    background-color: #ffffff;
    padding: 25px;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    border: none;
    margin-top: -20px;
}

.footer-left.white-form h3 {
    font-size: 24px;
    color: var(--cor-primaria);
    margin-bottom: 20px;
    font-weight: 700;
}

/* .form-header-highlight principal está no final do arquivo */

.white-form .form-group {
    margin-bottom: 15px;
}

.white-form .form-group label {
    color: var(--cor-texto-escuro);
    font-weight: 700;
    margin-bottom: 8px;
    display: block;
}

.white-form .form-input {
    background-color: #f4f7f0;
    border: 1px solid #d1d9c9;
    color: var(--cor-texto-escuro);
    padding: 15px;
    border-radius: 8px;
    width: 100%;
}

.white-form .form-input::placeholder {
    color: #9ba68d;
}

.white-form .radio-group {
    flex-direction: row;
    gap: 20px;
    margin-top: 5px;
}

.white-form .radio-item {
    color: var(--cor-texto-escuro);
    font-weight: 600;
}

.white-form .btn-submit {
    display: block;
    margin: 20px auto 0 auto;
    background-color: var(--cor-primaria);
    color: #fff;
    font-weight: 800;
    padding: 12px 35px;
    border: none;
    border-radius: 25px;
    font-size: 14px;
    cursor: pointer;
    /* text-transform: capitalize; REMOVIDO */
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(107, 120, 80, 0.3);
}

.white-form .btn-submit:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(107, 120, 80, 0.4);
}

.form-header-highlight h3 {
    font-size: 18px;
    margin-bottom: 5px;
    color: var(--cor-primaria);
    font-weight: 700;
}

.form-header-highlight p {
    font-size: 13px;
    margin-bottom: 0;
    color: var(--cor-primaria);
}

@media (max-width: 900px) {
    .form-header-highlight h3 {
        font-size: 24px;
        text-wrap: balance;
        line-height: 1.2;
    }

    .form-header-highlight p {
        font-size: 16px;
        text-wrap: balance;
        line-height: 1.4;
    }
}

/* --- INFORMAÇÕES DA DIREITA --- */
.footer-right {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-top: 20px;
}

.footer-info-item h4 {
    color: var(--cor-fundo);
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.footer-info-item p,
.footer-info-item a {
    font-size: 17px;
    color: #f4f1e9;
    line-height: 1.4;
    margin-bottom: 2px;
}

.footer-icon {
    margin-right: 10px;
    width: 20px;
    text-align: center;
}

/* --- REDES SOCIAIS: CORES ORIGINAIS --- */
.social-links-original {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.social-links-original .social-btn {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-size: 22px;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Cores Oficiais */
.social-btn.ig {
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}

.social-btn.fb {
    background-color: #1877F2;
}

.social-btn.in {
    background-color: #0077B5;
}

.social-btn.yt {
    background-color: #FF0000;
}

.social-btn.tk {
    background-color: #000000;
}

.social-links-original .social-btn:hover {
    transform: translateY(-5px) scale(1.1);
    filter: brightness(1.1);
}

@media (max-width: 900px) {
    .footer-container {
        flex-direction: column-reverse;
        gap: 40px;
    }

    .footer-form-section {
        padding-bottom: 15px !important;
    }

    .footer-right {
        margin-top: 0;
        padding-left: 30px;
    }

    .white-form .radio-group {
        flex-direction: column;
    }

    /* GLOBAL MOBILE ADJUSTMENTS */
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Centralizar botões e textos de apoio no mobile */
    .btn,
    .btn-primary,
    .btn-cta,
    .btn-receba,
    .btn-products,
    .btn-purpose,
    .cta-footer-text,
    .cta-sub,
    .swipe-hint,
    .footer-note,
    .hiring-subtitle {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Garantir que o conteiner do botão também centralize */
    .cta-button-wrapper,
    .products-cta,
    .team-logo-cta {
        justify-content: center !important;
        text-align: center !important;
    }
}

/* =========================================
   AJUSTE FINO: CARDS DE PASSOS NO MOBILE
   ========================================= */
@media (max-width: 900px) {

    /* Centraliza o título da seção */
    .steps-title {
        text-align: center;
        font-size: 20px !important;
        margin-bottom: 25px !important;
    }

    /* Ajuste do Card para ficar elegante no celular */
    .step-card {
        flex-direction: column !important;
        /* Coloca o número acima do texto */
        align-items: center !important;
        text-align: center !important;
        padding: 30px 20px !important;
        /* Aumenta o respiro interno */
        gap: 15px !important;
        border-left: none !important;
        /* Tira a borda lateral */
        border-top: 5px solid var(--cor-primaria) !important;
        /* Coloca a borda no topo */
    }

    .step-content h3 {
        font-size: 18px !important;
        margin-top: 5px;
    }

    .step-content p {
        font-size: 15px !important;
        line-height: 1.6 !important;
    }

    /* Alinhamento das listas dentro do card */
    .step-list {
        display: inline-block;
        text-align: left;
        /* Mantém a lista alinhada à esquerda para leitura */
        padding-left: 20px;
        margin-top: 10px;
    }

    /* Frase de impacto final da Dobra 14 */
    .cta-text-side h2 {
        font-size: 28px !important;
        line-height: 1.3 !important;
        padding: 0 10px;
    }
}

/* =========================================
   FAIXA BEGE: FINALIZAÇÃO FINA E SOFISTICADA
   ========================================= */
.faixa-bege-final-fina {
    background-color: var(--cor-fundo) !important;
    /* Padding reduzido para manter a faixa bem fina */
    padding: 15px 0 !important;
    border-top: 1px solid rgba(107, 120, 80, 0.1);
    position: relative;
    z-index: 10;
    margin-top: 0 !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
    clip-path: none !important;
    border-radius: 0 !important;
}

/* Container de alinhamento */
.flex-footer-fino {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: var(--largura-maxima);
    margin: 0 auto;
    padding: 0 20px;
}

.bloco-identidade-fino {
    display: flex;
    align-items: center;
    gap: 15px;
}

.logo-fina {
    width: 90px !important;
    height: auto;
}

.texto-info-fino p {
    margin: 0;
    font-size: 13px !important;
    /* Ajuste leve para elegância */
    color: var(--cor-primaria);
    font-weight: 500;
}

.bloco-links-fino a {
    color: var(--cor-primaria);
    text-decoration: none;
    font-weight: 700;
    font-size: 11px !important;
    /* Links discretos */
    margin-left: 20px;
    transition: 0.3s;
}

.bloco-links-fino a:hover {
    opacity: 0.7;
}

/* =========================================
   FAIXA BRANCA: AVISO LEGAL (O PONTO FINAL)
   ========================================= */
.barra-branca-final-total {
    background-color: #ffffff !important;
    padding: 10px 0 !important;
    /* Faixa super fina */
    text-align: center;
    border-top: 1px solid #eee;
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: center;
    gap: 5px;
    flex-wrap: wrap;
}

.barra-branca-final-total p {
    margin: 0;
    /* Espaçamento mínimo entre as linhas de texto */
    font-size: 11px !important;
    /* Tamanho reduzido para não "gritar" na tela */
    color: #666 !important;
    /* Cor cinza para ficar mais sofisticado que o preto puro */
    opacity: 1 !important;
    line-height: 1.4;
}

/* Ajuste para mobile */
@media (max-width: 768px) {
    .flex-footer-fino {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .bloco-links-fino a {
        margin: 0 10px;
    }
}

/* --- ANIQUILAÇÃO TOTAL DA FAIXA VERDE FANTASMA --- */
/* Escondemos as classes antigas que geravam o verde */
footer,
.footer-bottom,
.sub-footer,
.developer-credit {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: hidden !important;
}

/* =========================================
   RESPONSIVIDADE: MENU MOBILE PREMIUM
   ========================================= */
@media (max-width: 900px) {

    header {
        position: fixed;
        top: 0;
        width: 100%;
        height: auto;
        padding: 10px 0;
        z-index: 1000;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
        background-color: var(--cor-primaria);
    }

    body {
        padding-top: 180px !important;
    }

    .header-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        padding: 0 10px;
    }

    .logo img {
        height: 55px;
        width: auto;
    }

    .nav-menu {
        width: 100%;
    }

    .nav-menu ul {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 6px;
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .nav-menu ul li {
        flex: 1;
        display: flex;
    }

    .nav-menu ul li a {
        width: 100%;
        font-size: 11px;
        font-weight: 600;
        color: #fff;
        background-color: rgba(255, 255, 255, 0.15);
        padding: 8px 0;
        border-radius: 50px;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        white-space: nowrap;
        transition: 0.2s;
    }

    .nav-menu ul li a:active {
        background-color: var(--cor-secundaria);
        color: var(--cor-primaria);
    }

    .header-actions {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .btn-header {
        background-color: var(--cor-fundo);
        color: var(--cor-primaria);
        width: 100%;
        padding: 12px;
        font-size: 14px;
        font-weight: 800;
        text-transform: capitalize;
        border-radius: 50px;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    }

    .lang-selector {
        display: none;
    }

    /* CARROSSEL MOBILE: CENTRALIZAÇÃO E NORMALIZAÇÃO DE CARDS */
    .carousel-wrapper {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 15px;
    }

    .team-carousel {
        gap: 0;
        padding: 15px 0;
    }

    .team-card {
        flex-direction: column;
        width: 100%;
        min-width: 100%;
        margin: 0;
        border-radius: 0;
        text-align: center;
    }

    .card-image {
        width: 100%;
        height: 450px;
        border-radius: 0;
    }

    .card-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 0;
    }

    .card-info {
        width: 100%;
        padding: 10px 20px;
        text-align: left;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        height: auto;
        min-height: 400px;
        background-color: #fdfcf9;
    }

    .card-info h3 {
        font-size: 1.3rem;
        margin-bottom: 5px;
    }

    .card-info h3::after {
        margin: 3px 0;
    }

    .card-info p {
        font-size: 0.8rem;
        line-height: 1.4;
        text-align: left;
    }

    .card-info .viviane-lead,
    .card-info .viviane-foot,
    .card-info .marcelo-lead,
    .card-info .marcelo-foot {
        font-size: 0.8rem;
        margin-bottom: 5px;
    }

    .card-info .viviane-bio,
    .card-info .marcelo-bio {
        margin-top: 5px;
        padding-left: 0;
    }

    .card-info .viviane-bio li,
    .card-info .marcelo-bio li {
        text-align: left;
        justify-content: flex-start;
        gap: 8px;
        margin-bottom: 3px;
        font-size: 0.8rem;
    }

    .card-info .viviane-bio li::before,
    .card-info .marcelo-bio li::before {
        margin-top: 3px;
    }

    .nav-btn {
        display: none;
    }

    .team-logo-cta {
        margin-top: -2px;
        margin-bottom: 10px;
        gap: 15px;
    }

    .team-logo-cta .btn {
        width: 100%;
        max-width: 280px;
        padding: 12px 30px;
        text-align: center;
    }

    .swipe-hint {
        text-align: center;
        margin-top: -10px;
        font-size: 0.8rem;
        text-transform: none !important;
    }
}

/* =========================================
   VERSÃO COMPUTADOR (CARROSSEL FOCO TOTAL + SETAS)
   ========================================= */
@media (min-width: 950px) {

    /* 1. MOLDURA DO CARROSSEL */
    .carousel-wrapper {
        max-width: 800px;
        margin: 0 auto;
    }

    /* 2. O TRILHO (CARROSSEL) */
    .team-carousel {
        padding: 20px 0;
        gap: 150px;
        scrollbar-width: none;
    }

    .team-carousel::-webkit-scrollbar {
        display: none;
    }

    /* 3. O CARTÃO */
    .team-card {
        flex-direction: row;
        width: 800px;
        min-width: 800px;
        margin: 0;
    }

    /* 4. AJUSTE DA FOTO NO PC (O SEGREDO DO ARREDONDAMENTO) */
    .card-image {
        width: 45%;
        height: auto;
        min-height: 100%;
    }

    /* AJUSTE DA FOTO NO PC (Lado Esquerdo) */
    .card-image img {
        /* No PC: Arredonda só na esquerda */
        border-radius: 30px 0 0 30px;
    }

    .card-info {
        width: 55%;
        text-align: left;
        padding: 50px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .team-section h2 {
        font-size: 3.5rem;
    }

    .swipe-hint {
        display: none;
    }
}

/* SELETOR DE IDIOMAS NO HEADER */
.lang-switcher {
    position: relative;
    margin-right: 15px;
}

.lang-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.lang-toggle:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.flag-img {
    width: 32px;
    height: 24px;
    border-radius: 2px;
    object-fit: cover;
    display: block;
}

.flag-emoji {
    font-size: 28px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.lang-toggle img {
    width: 32px;
    height: 24px;
    border-radius: 2px;
    object-fit: cover;
}

.arrow {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8);
    transition: transform 0.3s ease;
    display: inline-block;
}

.lang-switcher.active .arrow {
    transform: rotate(180deg);
}

.lang-menu {
    position: absolute;
    top: 100%;
    right: 0;
    background-color: var(--cor-primaria);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 4px;
    padding: 8px;
    margin-top: 8px;
    display: none;
    flex-direction: column;
    gap: 6px;
    min-width: 50px;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.lang-switcher.active .lang-menu {
    display: flex;
}

.lang-option {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 3px;
    transition: background-color 0.2s ease;
    text-decoration: none;
    border: 2px solid transparent;
}

.lang-option:hover {
    background-color: rgba(255, 255, 255, 0.15);
}

.lang-option.active {
    border-color: rgba(255, 255, 255, 0.4);
    background-color: rgba(255, 255, 255, 0.1);
}

.lang-option img {
    width: 32px;
    height: 24px;
    border-radius: 2px;
    object-fit: cover;
}

.lang-option .flag-emoji {
    font-size: 28px;
}

.lang-option .flag-img {
    width: 32px;
    height: 24px;
    border-radius: 2px;
    object-fit: cover;
}

.lang-link {
    font-size: 14px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.6);
    /* Cor mais clara quando não selecionado */
    text-decoration: none;
    transition: 0.3s;
    letter-spacing: 0.5px;
}

.lang-link.active {
    color: #ffffff;
    /* Branco puro para a língua atual */
    border-bottom: 2px solid var(--cor-secundaria);
}

.lang-link:hover {
    color: #ffffff;
}

.divider {
    color: rgba(255, 255, 255, 0.3);
    font-size: 12px;
}

/* Ajuste Mobile */
@media (max-width: 900px) {
    .lang-switcher {
        margin-right: 0;
        margin-bottom: 5px;
    }

    .lang-link {
        font-size: 12px;
    }
}

/* SELETOR DE IDIOMAS GOURMET */
.lang-switcher {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-right: 20px;
}

.lang-item {
    font-size: 13px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.5);
    /* Cor suave quando não selecionado */
    text-decoration: none;
    transition: 0.3s ease;
    letter-spacing: 0.5px;
}

.lang-item:hover,
.lang-item.active {
    color: #ffffff;
    /* Branco puro no hover ou quando ativo */
}

.lang-item.active {
    border-bottom: 2px solid var(--cor-secundaria);
    /* Linha sutil indicando o idioma atual */
    padding-bottom: 2px;
}

.lang-divider {
    color: rgba(255, 255, 255, 0.2);
    font-size: 12px;
    font-weight: 300;
}

/* Ajuste para o mobile não espremer o botão */
@media (max-width: 900px) {
    .lang-switcher {
        margin-right: 0;
        margin-bottom: 10px;
    }
}

/* SEÇÃO INFOGRÁFICA PREMIUM - VERSÃO CLEAN & FLOATING */
.hiring-section {
    background-color: #f4f1e9;
    padding: 100px 0;
    text-align: center;
    position: relative;
}

/* Pílula superior com efeito Glassmorphism sutil */
.hiring-header-pill {
    background: transparent;
    backdrop-filter: none;
    color: var(--cor-primaria);
    display: block;
    width: 100%;
    text-align: center;
    padding: 8px 0;
    border-radius: 0;
    font-weight: 400;
    /* remover negrito do título */
    font-size: 2.6rem;
    /* tamanho de título */
    text-transform: none;
    letter-spacing: 1.5px;
    margin: 0 0 4px 0;
    /* reduzir espaço abaixo do título */
    border: none;
    box-shadow: none;
}

/* Forçar: em toda a sessão hiring, apenas <strong> aparece em negrito */
.hiring-section.hiring-new {
    font-weight: 400;
}

.hiring-section.hiring-new strong {
    font-weight: 800;
}

@media (max-width: 900px) {
    .hiring-header-pill {
        font-size: 1.6rem;
    }
}

.hiring-infographic-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 25px;
}

.infographic-card {
    background: #ffffff;
    border-radius: 40px;
    /* Bordas ainda mais suaves */
    padding: 60px 45px;
    box-shadow: 0 30px 70px rgba(91, 105, 76, 0.05);
    text-align: left;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
    border: 1px solid rgba(255, 255, 255, 0.8);
}

.infographic-card:hover {
    transform: translateY(-15px);
    box-shadow: 0 40px 90px rgba(91, 105, 76, 0.1);
}

.card-title-area h2.subtitle {
    font-weight: 800;
    font-size: 32px;
    margin-bottom: 25px;
    color: #5b694c;
    letter-spacing: -0.5px;
}

.card-intro {
    font-size: 16px;
    color: #777;
    line-height: 1.7;
    margin-bottom: 45px;
    font-weight: 400;
}

/* ICON LIST - TOTALMENTE FLUTUANTE */
.icon-list {
    margin-bottom: 40px;
    flex-grow: 1;
}

.icon-item {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 35px;
    transition: all 0.3s ease;
}

/* Efeito nos ícones sem fundo */
.icon-item img {
    width: 70px;
    height: auto;
    flex-shrink: 0;
    background: transparent;
    /* Removemos o fundo branco e o círculo */
    padding: 0;
    /* Sombras suaves no próprio formato do PNG */
    filter: drop-shadow(0 10px 15px rgba(132, 148, 115, 0.2));
    transition: all 0.4s ease;
}

.icon-item:hover img {
    transform: scale(1.15) translateY(-5px);
    filter: drop-shadow(0 15px 25px rgba(132, 148, 115, 0.3));
}

.icon-item p {
    font-size: 16px;
    color: #444;
    margin: 0;
    line-height: 1.5;
    font-weight: 500;
    transition: color 0.3s ease;
}

.icon-item:hover p {
    color: #5b694c;
}

/* CAIXA DE BENEFÍCIOS - MAIS DISCRETA E ELEGANTE */
.benefit-box {
    background: #fcfbf8;
    padding: 35px;
    border-radius: 30px;
    border: 1px solid #f4f1e9;
}

.benefit-box h3 {
    color: #5b694c;
    font-size: 18px;
    margin-bottom: 25px;
    text-transform: capitalize;
    letter-spacing: 1px;
}

.benefit-box li {
    font-size: 15px;
    color: #555;
    margin-bottom: 15px;
}

/* Ícones de check mais suaves */
.benefit-box li i {
    color: #849473;
    font-size: 18px;
    margin-right: 12px;
    opacity: 0.8;
}

.card-footer-text {
    border-top: 1px solid #f4f1e9;
    margin-top: 25px;
    padding-top: 25px;
    font-size: 15px;
    color: #849473;
    font-weight: 500;
}

/* RESPONSIVIDADE */
@media (max-width: 992px) {
    .hiring-infographic-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .infographic-card {
        padding: 40px 30px;
    }
}

/* Ajuste: usar o verde da identidade visual para o link/CTA 'Ver opções' */
.btn-product-cta {
    color: var(--cor-primaria);
    text-decoration: none;
    font-weight: 700;
}

.btn-product-cta:hover {
    color: #6d7960;
    text-decoration: none;
}

.form-header-highlight {
    background-color: rgba(132, 148, 115, 0.12);
    padding: 20px 25px 15px 25px;
    margin: -25px -25px 20px -25px;
    border-radius: 20px 20px 0 0;
    text-align: center;
}

.white-form .form-header-highlight h3 {
    color: var(--cor-primaria);
    margin-bottom: 5px;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: -0.2px;
}

.white-form .form-header-highlight p {
    color: var(--cor-primaria);
    font-size: 0.85rem;
    margin: 0;
    opacity: 0.75;
    font-weight: 400;
}