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

        :root {
            --primary: #0000FF;
            --secondary: #000000;
            --accent: #1A1AFF;
            --neutral-light: #F5F5F5;
            --neutral-dark: #000000;
            --text-primary: #000000;
            --text-secondary: #333333;
            --border-radius: 12px;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            line-height: 1.6;
            color: var(--text-primary);
            background-color: #ffffff;
        }

        /* HEADER/NAVEGAÇÃO */
        header {
            background-color: var(--primary);
            color: white;
            padding: 1rem 0;
            position: sticky;
            top: 0;
            z-index: 100;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }

        .header-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 2rem;
        }

        .logo-section {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            font-size: 1.5rem;
            font-weight: bold;
        }

        .logo {
            width: 45px;
            height: 45px;
            background: transparent;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            color: var(--primary);
            font-weight: bold;
        }

        .logo img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        nav ul {
            display: flex;
            list-style: none;
            gap: 2rem;
            flex-wrap: wrap;
        }

        nav a {
            color: white;
            text-decoration: none;
            font-weight: 500;
            font-size: 1rem;
            transition: color 0.3s ease;
            border-bottom: 2px solid transparent;
            padding-bottom: 0.25rem;
        }

        nav a:hover {
            color: var(--accent);
            border-bottom-color: var(--accent);
        }

        .menu-toggle {
            display: none;
            background: none;
            border: none;
            color: white;
            font-size: 1.5rem;
            cursor: pointer;
        }

        /* HERO SECTION */

        /* Estilo do botão */
.btn-swot {
    background-color: #000080; /* Azul escuro do topo dos seus cards */
    color: white;
    border: none;
    padding: 8px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
    margin-top: 10px;
    transition: background 0.3s;
}

.btn-swot:hover {
    background-color: #0000cd; /* Um azul um pouco mais claro ao passar o mouse */
}

/* O container da SWOT começa escondido */
.swot-container {
    display: none; /* O SEGREDO: Começa invisível */
    margin-top: 15px;
    background-color: #f4f4f9;
    padding: 10px;
    border-radius: 8px;
    text-align: left;
    font-size: 0.9rem;
}

/* Quando adicionamos a classe 'ativo' pelo JS, ele aparece */
.swot-container.ativo {
    display: block;
    animation: fadeIn 0.5s;
}

/* Estilo da lista */
.swot-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.swot-list li {
    margin-bottom: 5px;
    padding-left: 5px;
    border-left: 3px solid #ccc;
}

/* Cores para cada item da SWOT (opcional) */
.swot-s { border-left-color: #2ecc71 !important; } /* Verde para Forças */
.swot-w { border-left-color: #e74c3c !important; } /* Vermelho para Fraquezas */
.swot-o { border-left-color: #3498db !important; } /* Azul para Oportunidades */
.swot-t { border-left-color: #f1c40f !important; } /* Amarelo para Ameaças */

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
        .hero {
            background: linear-gradient(135deg, var(--primary) 0%, #1e5a58 100%);
            color: white;
            padding: 6rem 2rem;
            text-align: center;
        }

        .hero-content {
            max-width: 900px;
            margin: 0 auto;
        }

        .hero h1 {
            font-size: 3rem;
            margin-bottom: 1.5rem;
            line-height: 1.2;
            font-weight: bold;
        }

        .hero p {
            font-size: 1.25rem;
            margin-bottom: 2rem;
            opacity: 0.95;
        }

        .cta-buttons {
            display: flex;
            gap: 1rem;
            justify-content: center;
            flex-wrap: wrap;
        }

        .btn {
            padding: 0.75rem 2rem;
            border: none;
            border-radius: var(--border-radius);
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            text-decoration: none;
            display: inline-block;
        }

        .btn-primary {
            background-color: var(--secondary);
            color: white;
        }

        .btn-primary:hover {
            background-color: #e55a2b;
            transform: translateY(-2px);
            box-shadow: 0 8px 16px rgba(255, 107, 53, 0.3);
        }

        .btn-secondary {
            background-color: var(--accent);
            color: var(--neutral-light);
        }

        .btn-secondary:hover {
            background-color: #ffd966;
            transform: translateY(-2px);
        }

        /* SECTIONS */
        section {
            padding: 4rem 2rem;
            max-width: 1200px;
            margin: 0 auto;
        }

        .section-title {
            font-size: 2.5rem;
            color: var(--primary);
            margin-bottom: 3rem;
            text-align: center;
            font-weight: bold;
        }

        /* MISSÃO, VISÃO E VALORES */
        .mvv-container {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2rem;
            margin-bottom: 3rem;
        }

        .mvv-card {
            background: linear-gradient(135deg, #0000CC, #000080);
            color: white;
            padding: 2rem;
            border-radius: var(--border-radius);
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .mvv-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0, 0, 200, 0.3);
        }

        .mvv-card h3 {
            font-size: 1.5rem;
            margin-bottom: 1rem;
            color: #FFFFFF;
        }

        .mvv-card p {
            line-height: 1.8;
            font-size: 0.95rem;
        }

        /* SERVIÇOS */
        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2.5rem;
        }

        .service-card {
            background: white;
            border: 2px solid var(--primary);
            padding: 2rem;
            border-radius: var(--border-radius);
            text-align: center;
            transition: all 0.3s ease;
            box-shadow: 0 2px 8px rgba(0,0,0,0.08);
        }

        .service-card:hover {
            border-color: var(--secondary);
            box-shadow: 0 8px 20px rgba(255, 107, 53, 0.2);
            transform: translateY(-5px);
        }

        .service-icon {
            font-size: 3rem;
            margin-bottom: 1rem;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .service-card h3 {
            color: var(--primary);
            margin-bottom: 1rem;
            font-size: 1.3rem;
        }

        .service-card p {
            color: var(--text-secondary);
            line-height: 1.7;
        }

        /* DIFERENCIAIS */
        .diferenciais-intro {
            max-width: 900px;
            margin: 0 auto 4rem auto;
            text-align: center;
            font-size: 1.2rem;
            color: #444;
            line-height: 1.8;
            padding: 0 1rem;
        }

        .diferenciais-list {
            display: grid;
            /* Ajustado para 300px para que os cards fiquem mais largos e bonitos */
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 3rem; /* Mais espaço entre os itens */
            margin-bottom: 2rem;
        }

        .diferencial-item {
            display: flex;
            flex-direction: column; /* Muda para coluna para o ícone ficar em cima (opcional, ou manter row) */
            align-items: center; /* Centraliza tudo */
            text-align: center; /* Texto centralizado */
            background: #ffffff;
            padding: 2rem;
            border-radius: var(--border-radius);
            box-shadow: 0 4px 6px rgba(0,0,0,0.05); /* Sombra suave para destacar */
            transition: transform 0.3s ease;
        }

        .diferencial-item:hover {
            transform: translateY(-5px); /* Efeito de flutuar ao passar o mouse */
        }

        .diferencial-icon {
            width: 70px; /* Ícone maior */
            height: 70px; /* Ícone maior */
            background-color: var(--primary); /* Mudado para Primary (Azul) para mais destaque, ou use var(--secondary) */
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: bold;
            font-size: 2rem; /* Emoji maior */
            margin-bottom: 1.5rem; /* Espaço entre ícone e título */
            flex-shrink: 0;
            box-shadow: 0 4px 10px rgba(0,0,0,0.2);
        }

        .diferencial-item h4 {
            color: var(--primary);
            margin-bottom: 1rem;
            font-size: 1.4rem;
            font-weight: bold;
        }

        .diferencial-item p {
            color: var(--text-secondary);
            font-size: 1rem;
            line-height: 1.6;
        }

        /* Estilo para membros em destaque (full-width) — reduz o banner sobrando */
        .team-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 2rem;
            align-items: start; 
        }       


        .team-member.full {
            max-width: 1000px;
            margin-left: auto;
            margin-right: auto;
        }

        .team-member.full .member-avatar {
            height: 110px;
            font-size: 3rem;
        }

        .member-info {
            padding: 1.5rem;
            text-align: center;
        }

        .member-info h3 {
            color: var(--primary);
            margin-bottom: 0.3rem;
            font-size: 1.1rem;
        }

        .member-role {
            color: var(--secondary);
            font-weight: 600;
            font-size: 0.9rem;
            margin-bottom: 0.8rem;
        }

        .member-info p {
            color: var(--text-secondary);
            font-size: 0.85rem;
            line-height: 1.5;
        }

        .member-avatar {
            height: 180px; /* Garante a altura do box azul */
            background: linear-gradient(135deg, var(--primary), var(--secondary));
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 4rem;
            color: white;
}

        /* CONTATO */
        .contact-section {
            background-color: var(--neutral-light);
        }

        .contact-content {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 3rem;
            margin-bottom: 3rem;
        }

        .contact-info h3 {
            color: var(--primary);
            margin-bottom: 1.5rem;
            font-size: 1.5rem;
        }

        .contact-item {
            display: flex;
            gap: 1rem;
            margin-bottom: 1.5rem;
            align-items: flex-start;
        }

        .contact-icon {
            width: 50px;
            height: 50px;
            background-color: var(--secondary);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 1.5rem;
            flex-shrink: 0;
        }

        .contact-details h4 {
            color: var(--primary);
            margin-bottom: 0.3rem;
        }

        .contact-details a {
            color: var(--secondary);
            text-decoration: none;
            font-weight: 500;
            transition: color 0.3s ease;
        }

        .contact-details a:hover {
            color: var(--primary);
        }

        /* FORM */
        .form-container {
            background: white;
            padding: 2.5rem;
            border-radius: var(--border-radius);
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
            max-width: 500px;
        }

        .form-group {
            margin-bottom: 1.5rem;
        }

        .form-group label {
            display: block;
            margin-bottom: 0.5rem;
            color: var(--primary);
            font-weight: 600;
            font-size: 0.95rem;
        }

        .form-group input,
        .form-group textarea {
            width: 100%;
            padding: 0.75rem;
            border: 2px solid #e0e0e0;
            border-radius: var(--border-radius);
            font-family: inherit;
            font-size: 1rem;
            transition: border-color 0.3s ease;
        }

        .form-group input:focus,
        .form-group textarea:focus {
            outline: none;
            border-color: var(--secondary);
            box-shadow: 0 0 0 3px rgba(255, 107, 53, 0.1);
        }

        .form-group textarea {
            resize: vertical;
            min-height: 120px;
        }

        .form-group button {
            width: 100%;
            padding: 0.85rem;
            background-color: var(--secondary);
            color: white;
            border: none;
            border-radius: var(--border-radius);
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .form-group button:hover {
            background-color: #e55a2b;
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(255, 107, 53, 0.3);
        }

        /* FOOTER */
        footer {
            background-color: var(--neutral-dark);
            color: white;
            text-align: center;
            padding: 2rem;
            font-size: 0.9rem;
        }

        footer p {
            margin: 0.5rem 0;
        }

        /* RESPONSIVE */
        @media (max-width: 768px) {
            .header-container {
                gap: 1rem;
            }

            nav ul {
                gap: 1rem;
                font-size: 0.9rem;
            }

            .logo-section {
                font-size: 1.2rem;
            }

            .logo {
                width: 40px;
                height: 40px;
                font-size: 1.5rem;
            }

            .hero h1 {
                font-size: 2rem;
            }

            .hero p {
                font-size: 1rem;
            }

            .cta-buttons {
                gap: 0.75rem;
            }

            .btn {
                padding: 0.6rem 1.5rem;
                font-size: 0.9rem;
            }

            .section-title {
                font-size: 2rem;
            }

            section {
                padding: 3rem 1rem;
            }

            .menu-toggle {
                display: block;
            }

            nav {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background-color: var(--primary);
                flex-direction: column;
                width: 100%;
            }

            nav.active {
                display: flex;
            }

            nav ul {
                flex-direction: column;
                gap: 0;
                padding: 1rem 0;
            }

            nav a {
                padding: 1rem 2rem;
                border-bottom: 1px solid rgba(255,255,255,0.2);
            }

            .team-grid,
            .mvv-container,
            .services-grid {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 480px) {
            .hero h1 {
                font-size: 1.5rem;
            }

            .service-icon {
                font-size: 2.5rem;
            }

            .section-title {
                font-size: 1.5rem;
            }

            .cta-buttons {
                flex-direction: column;
            }

            .btn {
                width: 100%;
            }
        }

        /* Animações suaves */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .fade-in {
            animation: fadeInUp 0.6s ease forwards;
        }