 /* Definindo as variáveis de cor com base na paleta oficial */
        :root {
            --light-beige: #ebd8b0;
            --muted-brown: #bca893;
            --dark-gray: #3f3f3f;
            --dark-blue: #003f5d;
            --white: #ffffff;
        }

        /* Justificando os textos */
        .text-justify {
            text-align: justify;
        }

        /* Aplicando as fontes */
        body {
            font-family: 'Inter', sans-serif;
            color: var(--dark-gray);
            scroll-behavior: smooth;
        }

        /* Títulos com Poppins Bold (Substituto para Museo Bold) */
        h1, h2, h3, h4, h5, h6 {
            font-family: 'Poppins', sans-serif;
            font-weight: 700; 
            color: var(--dark-blue);
        }
        
        /* Subtítulos com Poppins Regular (Substituto para Museo Regular) */
        .subtitle {
            font-family: 'Poppins', sans-serif;
            font-weight: 400;
            font-size: 1.25rem;
        }

        /* --- Seção Header --- */
        .navbar {
            transition: background-color 0.3s ease-in-out;
        }
        .navbar-brand img {
            max-height: 45px;
        }
        .navbar-nav .nav-link {
            color: var(--dark-gray);
            font-weight: 600;
            margin: 0 1rem;
            transition: color 0.3s;
            font-family: 'Poppins', sans-serif;
        }
        .navbar-nav .nav-link:hover, .navbar-nav .nav-link.active {
            color: var(--dark-blue);
        }

        /* --- Seção Hero --- */
        .hero-section {
            background-color: var(--muted-brown);
            background-image: url(images/background_hero.jpg);
            background-size: cover;

            height: 55vh; /* Altura reduzida em ~40% (de 90vh) */
            display: flex;
            align-items: center;
            color: var(--dark-blue);
        }
        .hero-section h1 {
            font-size: clamp(2.5rem, 5vw, 4rem);
            font-weight: 700;
            color: var(--dark-blue);
        }
        .hero-section .subtitle {
            font-size: clamp(1.2rem, 3vw, 1.5rem);
            color: var(--dark-blue);
        }
        .btn-hero {
            background-color: var(--dark-blue);
            border-color: var(--dark-blue);
            color: var(--white);
            padding: 0.8rem 2rem;
            font-weight: 700;
            font-family: 'Poppins', sans-serif;
            transition: all 0.3s ease;
            border-radius: 50px;
        }
        .btn-hero:hover {
            background-color: var(--dark-gray);
            border-color: var(--dark-gray);
            color: var(--white);
            transform: translateY(-3px);
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        }
        
        /* --- Estilos Gerais de Seção --- */
        .section-padding {
            padding: 5rem 0;
        }
        .section-bg-light {
            background-color: #f8f9fa;
        }
        .section-title {
            text-align: center;
            margin-bottom: 3.5rem;
        }

         /* --- Seção Sobre --- */
        .card-custom {
            border: none;
            border-radius: 1rem;
            background-color: var(--white);
            box-shadow: 0 10px 30px rgba(0,0,0,0.08);
            transition: all 0.3s ease-in-out;
            height: 100%;
            display: flex;
            flex-direction: column;
        }
        .card-custom:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0,0,0,0.12);
        }
        .card-custom .card-body {
            padding: 2.5rem;
            flex-grow: 1;
            display: flex;
            flex-direction: column;
        }
        .card-custom .btn {
            margin-top: auto; /* Alinha o botão na parte inferior */
        }
        .card-custom img {
            border-top-left-radius: 1rem;
            border-top-right-radius: 1rem;
            aspect-ratio: 3 / 2; /* Altura da imagem reduzida */
            object-fit: cover;
        }
        .about-icon {
            color: var(--dark-blue) !important;
        }

        /* Estilo para o botão de outline personalizado */
        .btn-outline-custom {
            color: var(--dark-blue);
            border-color: var(--dark-blue);
        }
        .btn-outline-custom:hover {
            color: var(--white);
            background-color: var(--dark-blue);
            border-color: var(--dark-blue);
        }

        /* --- Seção Equipe (Carrossel) --- */
        .team-card {
            text-align: center;
            padding: 1rem;
        }
        .team-card img {
            width: 200px;
            height: 200px;
            object-fit: cover;
            border-radius: 50%;
            margin: 0 auto 1.5rem;
            border: 6px solid var(--white);
            box-shadow: 0 8px 25px rgba(0,0,0,0.1);
        }
        .team-card h5 {
            color: var(--dark-blue);
            margin-bottom: 0.25rem;
        }
        .team-card p {
            color: var(--muted-brown);
            font-weight: 600;
        }
        .carousel-control-prev-icon,
        .carousel-control-next-icon {
            background-color: rgba(0, 63, 93, 0.8); /* Fundo do ícone */
            border-radius: 50%;
            padding: 1.2rem; /* Tamanho do fundo */
            background-size: 50% 50%; /* Tamanho da seta interna */
        }

        /* --- Seção Galeria --- */
        .gallery-card {
            border-radius: 1rem;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
            overflow: hidden;
            background-color: var(--white);
            height: 100%;
            transition: all 0.3s ease;
        }
        .gallery-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0,0,0,0.15);
        }
        .gallery-card img {
            aspect-ratio: 3 / 2;
            object-fit: cover;
        }
        .gallery-card .card-body {
            padding: 1.5rem;
        }
        .gallery-card .card-title {
            color: var(--dark-blue);
        }
        .gallery-card .card-text {
            color: var(--dark-gray);
        }


        /* --- Seção Contato --- */
        .contact-info-item {
            display: flex;
            align-items: flex-start;
            margin-bottom: 1.5rem;
        }
        .contact-info-item i {
            font-size: 1.5rem;
            color: var(--dark-blue);
            margin-right: 1rem;
            margin-top: 0.25rem;
        }
        .contact-map iframe {
            height: 100%;
            min-height: 400px;
            width: 100%;
            border: 0;
        }
        
        /* --- Seção Footer --- */
        .footer {
            background-color: var(--dark-gray);
            color: var(--white);
            padding: 2.5rem 0;
        }
        .footer img {
            max-height: 35px;
            filter: brightness(0) invert(1); /* Deixa a logo branca */
        }
        .footer p {
            margin: 0;
            color: rgba(255,255,255,0.8);
        }