  /* --- RESET BÁSICO --- */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        body {
            background-color: #000;
            color: #000;
            overflow-x: hidden;
        }

        /* --- CABEÇALHO (MENU) --- */
        header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0px 5%;
            z-index: 1000;
            transition: background-color 0.4s ease, backdrop-filter 0.4s ease;
            background-color: rgba(0, 0, 0, 0.85); /* Fundo escuro com opacidade */
        }

        /* Classe adicionada via JS ao rolar a página */
        header.scrolled {
            background-color: rgba(0, 0, 0, 0.85); /* Fundo escuro com opacidade */
            backdrop-filter: blur(5px);
            border-bottom: 1px solid rgba(255, 165, 0, 0.2);
        }

        .logo img {
            margin-top: 10px;
           
            height: 90px;
            width: auto;
            cursor: pointer;
        }

        /* --- NAVEGAÇÃO --- */
        nav ul {
            list-style: none;
            display: flex;
            align-items: center;
            gap: 60px;
        }

        nav a {
            text-decoration: none;
            color: #fff;
            font-size: 1.1rem;
            transition: color 0.3s;
            position: relative;
             
        }

        nav a:hover {
            color: #d9a05b; /* Cor dourada da imagem */
        }

        /* --- SUBMENU (DROPDOWN) --- */
        .dropdown {
            position: relative;
        }

        .dropdown-menu {
            display: none;
            position: absolute;
            top: 100%;
            right: 60;
            background-color: rgba(15, 15, 15, 0.95);
            min-width: 180px;
            border: 1px solid rgba(217, 160, 91, 0.3);
            border-radius: 5px;
            padding: 10px 0;
            flex-direction: column;
            gap: 2px;
        }

        .dropdown:hover .dropdown-menu {
            display: flex;
        }

        .dropdown-menu a {
            padding: 8px 20px;
            display: block;
            font-size: 1rem;
        }

        .dropdown-menu a:hover {
            background-color: rgba(217, 160, 91, 0.1);
        }

        /* --- MENU HAMBÚRGUER (MOBILE) --- */
        .menu-toggle {
            display: none;
            color: #fff;
            font-size: 1.8rem;
            cursor: pointer;
        }

  
        /* --- SEÇÃO PRINCIPAL (HERO) --- */
        .hero {
            position: relative;
            min-height: 100vh;
            background-image: url('img/background.webp');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            display: flex;
            align-items: center;
            padding: 0 5%;
            padding-top: 100px;
        }

        /* Sobreposição escura original (antes do Vanta, agora depois) */
        .hero::before {
            content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
            background: linear-gradient(to right, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0.1) 100%);
            z-index: 1; /* Acima do Vanta, abaixo da nova nuancem e conteúdo */
        }

        /* --- NOVA CAMADA DE NUANCE (SOBRE O VANTA) --- */
        .hero-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            /* AQUI VOCÊ COLOCA A SUA IMAGEM PNG OU GRADIENTE */
            background-image: url('img/texture-nuance.webp'); 
            background-size: cover;
            background-position: center;
            /* MUITO IMPORTANTE: Ajuste a opacidade para dar a nuance, não cobrir o efeito */
           /* opacity: 0.3; */
            z-index: 2; /* Acima do Vanta, abaixo do conteúdo */
            pointer-events: none; /* Para não interferir nos cliques do mouse no Vanta.js */
        }

        .hero-content {
            position: relative;
            z-index: 3; /* Conteúdo no topo de tudo */
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 100%;
            flex-wrap: wrap;
        }


        /* --- TEXTO DA ESQUERDA --- */
        .text-section {
            max-width: 900px;
        }

        .text-section h3 {
            color: #d9a05b; /* Dourado */
            font-size: 1.8rem;
            font-weight: 600;
            margin-bottom: 10px;
        }

        .text-section h1 {
            font-size: 4.5rem;
            font-weight: 300;
            line-height: 1.1;
            margin-bottom: 20px;
            color: #fff;
        }

        .text-section h1 span.highlight {
            color: #d9a05b; /* Dourado */
        }

        .text-section p {
            font-size: 1.2rem;
            color: #ccc;
            margin-bottom: 40px;
            font-weight: 300;
        }

        /* --- ÍCONES INFERIORES --- */
        .features {
            display: flex;
            gap: 40px;
            margin-top: 50px;
        }

        .feature-item {
            display: flex;
            align-items: center;
            gap: 15px;
        }

        .feature-item i {
            color: #ff5722; /* Laranja dos ícones na imagem */
            font-size: 2rem;
        }

        .feature-text p {
            font-size: 0.9rem;
            color: #bbb;
            text-transform: uppercase;
            letter-spacing: 1px;
            line-height: 1.3;
        }

        .feature-text strong {
            color: #fff;
            display: block;
        }

        /* --- LOGO ESPIRAL (DIREITA) --- */
        .image-section {
            flex: 1;
            display: flex;
            justify-content: center;
            align-items: center;
           
        }

        /* Container para o efeito flutuante e hover sem conflitos */
        .espiral-wrapper {
            animation: float 4s ease-in-out infinite;
        }

        .espiral-logo {
            max-width: 100%;
            width: 650px;
            transition: transform 0.3s ease, filter 0.3s ease;
            filter: drop-shadow(0px 20px 30px rgba(0,0,0,0.7));
        }

        .espiral-wrapper:hover .espiral-logo {
            transform: scale(1.028);
            
        }

        /* Animação Flutuante */
        @keyframes float {
            0% { transform: translateY(0px); }
            50% { transform: translateY(-20px); }
            100% { transform: translateY(0px); }
        }

        /* --- RESPONSIVIDADE --- */
        @media (max-width: 968px) {
            .hero-content {
                flex-direction: column;
                text-align: center;
            }

            .hero::before {
                background: rgba(0,0,0,0.7); /* Fundo mais escuro no mobile inteiro */
            }

            .text-section {
                margin-bottom: 50px;
            }

            .features {
                justify-content: center;
                flex-wrap: wrap;
            }

            .image-section {
                margin-top: 20px;
            }
        }

        @media (max-width: 1200px) {
            .menu-toggle {
                display: block; /* Mostra o ícone hambúrguer */
            }

            nav {
                position: absolute;
                top: 100%;
                left: 0;
                width: 100%;
                background-color: rgba(15, 15, 15, 0.98);
                display: none; /* Escondido por padrão no mobile */
                flex-direction: column;
                padding: 20px 0;
                border-top: 1px solid rgba(255, 255, 255, 0.1);
            }

            nav.active {
                display: flex; /* Classe ativada via JS */
            }

            nav ul {
                flex-direction: column;
                width: 100%;
                gap: 0;
            }

            nav ul li {
                width: 100%;
                text-align: center;
            }

            nav a {
                display: block;
                padding: 15px;
                width: 100%;
            }

            .dropdown-menu {
                position: static;
                display: none;
                background-color: transparent;
                border: none;
            }

            /* No mobile, o submenu aparece fixo abaixo do item ou via clique (aqui simplificamos para CSS hover para telas touch também aceitarem foco) */
            .dropdown:hover .dropdown-menu {
                display: flex;
                background-color: rgba(255,255,255,0.05);
            }

            .text-section h1 {
                font-size: 2.5rem;
            }
            
            .text-section h3 {
                font-size: 1.4rem;
            }
        }

        


        /* =========================================
   Estilo do Rodapé Fixo (Paleta Benguela)
   ========================================= */
.rodape-direitos {
    background-color: rgba(15, 15, 15, 0.95); /* Fundo escuro */
    color: #ccc; /* Cor do texto */
    text-align: center;
    padding: 12px 10px; 
    font-size: 14px;
    width: 100%;
    border-top: 1px solid rgba(217, 160, 91, 0.3); /* Linha dourada suave */
    box-sizing: border-box;
    
    /* A MÁGICA AQUI: Fixa o rodapé na parte inferior da tela */
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 1000; /* Garante que fique acima de outros elementos e do Vanta.js */
}

.rodape-direitos p {
    margin: 0;
    letter-spacing: 0.5px;
}

/* Ajustes automáticos para telas menores (smartphones) */
@media (max-width: 480px) {
    .rodape-direitos {
        font-size: 12px;
        padding: 10px;
    }
}





/* =========================================
   ESTILOS DA PÁGINA DE PORTFÓLIO
   ========================================= */

/* Ajuste do wrapper para permitir rolagem e manter o Vanta.js */
.portfolio-wrapper {
    align-items: flex-start; /* Sobrescreve o align-items: center do .hero */
    padding-top: 120px;
    padding-bottom: 80px;
    height: auto;
    min-height: 100vh;
}

.portfolio-content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.portfolio-header {
    text-align: center;
    margin-bottom: 50px;
}

.portfolio-header h1 {
    font-size: 3.5rem;
    font-weight: 300;
    color: #fff;
    margin-bottom: 15px;
}

.portfolio-header h1 span.highlight {
    color: #d9a05b; /* Dourado */
}

.portfolio-header p {
    font-size: 1.2rem;
    color: #ccc;
    font-weight: 300;
}

/* Grid de Cards */
.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 30px;
}

/* Estilo Individual de cada Card */
.portfolio-card {
    background-color: rgba(15, 15, 15, 0.85); /* Fundo alinhado com o dropdown e rodapé */
    border: 1px solid rgba(217, 160, 91, 0.2); /* Borda com transparência dourada */
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.portfolio-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.8);
    border-color: rgba(217, 160, 91, 0.6); /* Borda brilha ao passar o mouse */
}

/* Espaço para a imagem (Substitua por <img src="..."> no HTML) */
.portfolio-img-placeholder {
    width: 100%;
    height: 220px;
    background: linear-gradient(45deg, #111, #222);
    display: flex;
    justify-content: center;
    align-items: center;
    color: rgba(217, 160, 91, 0.3);
    font-size: 4rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.portfolio-info {
    padding: 25px;
}

.portfolio-info h3 {
    color: #fff;
    font-size: 1.4rem;
    margin-bottom: 5px;
}

.portfolio-info p.category {
    color: #ff5722; /* Laranja da paleta original */
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    font-weight: 600;
}

.portfolio-info p {
    color: #bbb;
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 20px;
}

.btn-detalhes {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #d9a05b;
    font-weight: 600;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.btn-detalhes:hover {
    color: #fff;
}

/* Responsividade do Portfólio */
@media (max-width: 768px) {
    .portfolio-header h1 {
        font-size: 2.5rem;
    }
    .portfolio-wrapper {
        padding-top: 100px;
    }
}

/* =========================================
   ESTILOS DA PÁGINA DE CONTATO
   ========================================= */

.contato-wrapper {
    align-items: flex-start;
    padding-top: 120px;
    padding-bottom: 80px;
    height: auto;
    min-height: 100vh;
}

.contato-content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1000px; /* Um pouco mais estreito que o portfólio para o form não ficar esticado */
    margin: 0 auto;
}

.contato-header {
    text-align: center;
    margin-bottom: 50px;
}

.contato-header h1 {
    font-size: 3.5rem;
    font-weight: 300;
    color: #fff;
    margin-bottom: 15px;
}

.contato-header h1 span.highlight {
    color: #d9a05b; /* Dourado */
}

.contato-header p {
    font-size: 1.2rem;
    color: #ccc;
    font-weight: 300;
}

/* Container do Layout Misto (Info + Form) */
.contato-container {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

/* Reutilizando as propriedades de design dos cards, mas ajustando o padding interno */
.contato-info, .contato-form {
    flex: 1;
    min-width: 320px;
    padding: 40px;
}

/* --- Lado Esquerdo: Informações --- */
.contato-info h3 {
    color: #d9a05b;
    font-size: 1.8rem;
    margin-bottom: 30px;
    font-weight: 300;
    border-bottom: 1px solid rgba(217, 160, 91, 0.2);
    padding-bottom: 10px;
}

.contato-info p {
    color: #ccc;
    font-size: 1.1rem;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.contato-info p i {
    color: #ff5722; /* Laranja da logo */
    font-size: 1.5rem;
    width: 30px;
    text-align: center;
}

.social-links {
    margin-top: 40px;
    display: flex;
    gap: 20px;
}

.social-links a {
    color: #fff;
    font-size: 1.5rem;
    width: 45px;
    height: 45px;
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
}

.social-links a:hover {
    color: #000;
    background-color: #d9a05b;
    border-color: #d9a05b;
    transform: translateY(-5px);
}

/* --- Lado Direito: Formulário --- */
.form-group {
    margin-bottom: 25px;
}

.form-group label {
    display: block;
    color: #ccc;
    margin-bottom: 8px;
    font-size: 0.9rem;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 15px;
    background-color: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 5px;
    color: #fff;
    font-size: 1rem;
    font-family: inherit;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: #666;
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #d9a05b;
    background-color: rgba(0, 0, 0, 0.8);
    box-shadow: 0 0 10px rgba(217, 160, 91, 0.2);
}

.btn-enviar {
    background-color: transparent;
    border: 1px solid #d9a05b;
    color: #d9a05b;
    padding: 15px 30px;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    transition: all 0.4s ease;
}

.btn-enviar:hover {
    background-color: #d9a05b;
    color: #000;
}

/* --- Responsividade --- */
@media (max-width: 768px) {
    .contato-header h1 {
        font-size: 2.5rem;
    }
    .contato-wrapper {
        padding-top: 100px;
    }
    .contato-info, .contato-form {
        padding: 25px;
    }
    .social-links {
        justify-content: center;
    }
}



/* =========================================
   ESTILOS DA PÁGINA SOBRE NÓS
   ========================================= */

.sobrenos-wrapper {
    align-items: flex-start;
    padding-top: 120px;
    padding-bottom: 80px;
    height: auto;
    min-height: 100vh;
}

.sobrenos-content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

.sobrenos-header {
    text-align: center;
    margin-bottom: 50px;
}

.sobrenos-header h1 {
    font-size: 3.5rem;
    font-weight: 300;
    color: #fff;
    margin-bottom: 15px;
}

.sobrenos-header h1 span.highlight {
    color: #d9a05b;
}

.sobrenos-header p {
    font-size: 1.2rem;
    color: #ccc;
    font-weight: 300;
}

/* Container do Layout Misto (Texto + Visual) */
.sobrenos-container {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    align-items: stretch;
}

/* --- Lado Esquerdo: Texto --- */
.sobrenos-texto {
    flex: 2; /* Ocupa mais espaço que a imagem */
    min-width: 320px;
    padding: 40px;
    position: relative;
}

.quote-icon {
    position: absolute;
    top: 20px;
    left: 20px;
    font-size: 3rem;
    color: rgba(217, 160, 91, 0.1); /* Dourado bem transparente como marca d'água */
}

.sobrenos-texto p {
    color: #ccc;
    font-size: 1.1rem;
    line-height: 1.8; /* Aumenta o espaço entre as linhas para melhor leitura */
    margin-bottom: 20px;
    text-align: justify; /* Alinha o texto de forma limpa nas bordas */
}

.sobrenos-texto p:last-child {
    margin-bottom: 0;
}

.sobrenos-texto strong {
    color: #d9a05b;
    font-weight: 600;
}

/* --- Lado Direito: Visual/Imagem --- */
.sobrenos-imagem {
    flex: 1; /* Ocupa menos espaço que o texto */
    min-width: 300px;
    display: flex;
    flex-direction: column;
    padding: 0; /* Removemos o padding para a área superior ocupar tudo */
    overflow: hidden;
}

.imagem-destaque {
    flex: 1;
    background: linear-gradient(135deg, rgba(217, 160, 91, 0.1), rgba(255, 87, 34, 0.1));
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 250px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Caso você queira trocar por uma imagem real depois, 
   basta colocar <img src="..."> no HTML e usar estas propriedades abaixo no lugar do ícone:
.imagem-destaque img {
    width: 100%;
    height: 100%;
    object-fit: cover;
} */

.imagem-destaque i {
    font-size: 6rem;
    color: rgba(217, 160, 91, 0.4);
    filter: drop-shadow(0 0 15px rgba(255, 87, 34, 0.3));
    transition: transform 0.4s ease;
}

.sobrenos-imagem:hover .imagem-destaque i {
    transform: scale(1.1);
}

.imagem-legenda {
    padding: 25px;
    text-align: center;
}

.imagem-legenda h3 {
    color: #d9a05b;
    font-size: 1.4rem;
    margin-bottom: 10px;
}

.imagem-legenda p {
    color: #bbb;
    font-size: 0.95rem;
    line-height: 1.4;
}

/* --- Responsividade --- */
@media (max-width: 768px) {
    .sobrenos-header h1 {
        font-size: 2.5rem;
    }
    .sobrenos-wrapper {
        padding-top: 100px;
    }
    .sobrenos-container {
        flex-direction: column;
    }
    .sobrenos-texto {
        padding: 30px 20px;
    }
}




/* =========================================
   ESTILOS DA PÁGINA "NOSSA HISTÓRIA"
   (EFEITO DE FUNDO FIXO E CARD DESLIZANTE)
   ========================================= */

/* Fundo Fixo Animado */
.fixed-bg {
    position: fixed !important; /* Fixa o fundo na tela */
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 0; /* Joga o fundo para trás de tudo */
}

/* Área rolável que empurra o card para o centro da tela */
.historia-wrapper {
    position: relative;
    z-index: 10; /* Fica acima do fundo fixo e do overlay */
    width: 100%;
    padding-top: 150px; /* Espaço para o cabeçalho não cobrir o texto */
    padding-bottom: 10px; /* Espaço para o rodapé fixo não cobrir o texto */
    display: flex;
    justify-content: center; /* Centraliza o card horizontalmente */
    min-height: 100vh;
}

/* O Card Principal de 1200px */
.historia-card {
    width: 100%;
    max-width: 1200px;
    margin: 0 5%;
    padding: 60px 80px; /* Espaço interno grande para elegância */
    background-color: rgba(15, 15, 15, 0.85); /* Fundo escuro translúcido */
    border: 1px solid rgba(217, 160, 91, 0.3); /* Borda dourada do seu design */
    border-radius: 8px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.9); /* Sombra pesada para dar profundidade */
    backdrop-filter: blur(8px); /* Deixa o Vanta.js embaçado através do card */
}

.historia-header {
    text-align: center;
    margin-bottom: 40px;
    border-bottom: 1px solid rgba(217, 160, 91, 0.2);
    padding-bottom: 30px;
}

.historia-header h1 {
    font-size: 3.5rem;
    font-weight: 300;
    color: #fff;
}

.historia-header h1 span.highlight {
    color: #d9a05b; /* A cor dourada original */
}

/* Estilo para textos longos (focado em legibilidade) */
.historia-texto p {
    color: #ccc;
    font-size: 1.15rem;
    line-height: 1.9; /* Muito espaço entre as linhas para não cansar a vista */
    margin-bottom: 25px;
    text-align: justify;
}

.historia-texto p:last-child {
    margin-bottom: 0;
}

.historia-texto strong {
    color: #d9a05b;
    font-weight: 600;
}

/* Responsividade para telas de celular */
@media (max-width: 768px) {
    .historia-wrapper {
        padding-top: 120px;
        padding-bottom: 100px;
    }
    .historia-card {
        padding: 30px 25px; /* Reduz o espaço interno no celular */
        margin: 0 20px;
    }
    .historia-header h1 {
        font-size: 2.5rem;
    }
    .historia-texto p {
        font-size: 1.05rem;
        line-height: 1.7;
    }
}


/* =========================================
   BANNER LGPD / COOKIES
   ========================================= */
.lgpd-container {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #ffffff; /* Fundo branco solicitado */
    color: #333333; /* Texto escuro para dar contraste no fundo branco */
    z-index: 9999; /* Z-index altíssimo para ficar acima do seu rodapé (1000) */
    box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.2);
    padding: 20px 5%;
    display: flex; /* Será alterado via JS, começa como none no HTML */
    justify-content: center;
    border-top: 3px solid #d9a05b; /* Detalhe dourado acompanhando o site */
}

.lgpd-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    width: 100%;
    gap: 20px;
}

.lgpd-content p {
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
    flex: 1;
}

.lgpd-botoes {
    display: flex;
    gap: 15px;
}

.btn-lgpd {
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    font-weight: 600;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.3s ease;
}

/* Botão Sim (Aproveitando a cor da sua paleta) */
.btn-sim {
    background-color: #d9a05b; 
    color: #000;
}

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

/* Botão Não */
.btn-nao {
    background-color: transparent;
    border: 1px solid #999;
    color: #666;
}

.btn-nao:hover {
    background-color: #f0f0f0;
    color: #333;
}

/* Responsividade para Celular */
@media (max-width: 768px) {
    .lgpd-content {
        flex-direction: column;
        text-align: center;
    }
    .lgpd-botoes {
        width: 100%;
        justify-content: center;
    }
}


/* ESCONDE NO CELULAR  -Este código se aplica a telas com largura de até 768 pixels (padrão de celulares) */
/* Este código se aplica a telas com largura de até 768 pixels (padrão de celulares) */
@media (max-width: 768px) {
    .esconder-no-celular {
        display: none !important;
    }
}



/* 1. Esconde a classe em todas as telas por padrão (Desktop) */
.apenas-no-celular {
    display: none;
}

/* 2. Em telas de até 768px (celulares), ela passa a ser exibida */
@media (max-width: 768px) {
    .apenas-no-celular {
        display: block; /* Ou 'flex', 'grid', dependendo do seu layout */
    }
}


/* =========================================
   ESTILO DA IMAGEM COM MOLDURA DOURADA E ZOOM
   ========================================= */

.imagem-moldura-dourada {
    border: 1px solid #d9a05b; /* Moldura dourada baseada na sua paleta */
    border-radius: 10px; /* Bordas arredondadas (ajuste o valor se quiser mais ou menos redondo) */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6); /* Sombra escura para dar profundidade no fundo preto */
    max-width: 100%; /* Garante que a imagem não vaze em telas menores */
    height: auto; /* Mantém a proporção da imagem */
    
    /* A propriedade 'transition' é o que faz o movimento de ir e voltar ser suave */
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

/* Efeito ao passar o mouse (Hover) */
.imagem-moldura-dourada:hover {
    transform: scale(1.05); /* Faz o 'zoonzinho' aumentando 5% do tamanho */
    box-shadow: 0 15px 30px rgba(217, 160, 91, 0.4); /* Sombra ganha um tom dourado ao passar o mouse */
    border-color: #c7904a; /* Muda o tom do dourado levemente para dar dinamismo */
}


/* =========================================
   ESTILOS DA LINHA DO TEMPO (BAIXADA ANIMADA)
   ========================================= */

.linha-tempo-container {
    position: relative;
    width: 100%;
    margin: 40px 0 60px 0;
    padding-top: 10px;
}

/* A linha horizontal de fundo */
.linha-tempo-container::before {
    content: '';
    position: absolute;
    top: 17px; /* Centraliza a linha no meio das bolinhas */
    left: 0;
    width: 100%;
    height: 2px;
    background-color: rgba(255, 255, 255, 0.2); /* Linha cinza sutil */
    z-index: 1;
}

.linha-tempo-itens {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
}

.linha-tempo-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 18%; /* Mantém o espaçamento igualitário entre as 5 datas */
}

/* Bolinha dourada */
.linha-tempo-ponto {
    width: 16px;
    height: 16px;
    background-color: #d9a05b; /* Dourado da paleta */
    border-radius: 50%;
    margin-bottom: 15px;
    box-shadow: 0 0 10px rgba(217, 160, 91, 0.6); /* Efeito de brilho */
    transition: transform 0.3s ease, background-color 0.3s ease;
    cursor: default;
}

/* Efeito ao passar o mouse na bolinha */
.linha-tempo-item:hover .linha-tempo-ponto {
    transform: scale(1.5); /* Dá o zoomzinho */
    background-color: #fff; /* Fica branca para dar contraste */
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.8);
}

.linha-tempo-texto h4 {
    color: #fff;
    font-size: 1.25rem;
    margin-bottom: 5px;
    font-weight: 700;
    letter-spacing: 1px;
}

.linha-tempo-texto p {
    color: #ccc;
    font-size: 0.95rem;
    line-height: 1.3 !important; /* Força sobrepor o espaçamento dos <p> globais */
    margin: 0 !important;
}

/* =========================================
   RESPONSIVIDADE: CELULAR (Transforma em Vertical)
   ========================================= */
@media (max-width: 768px) {
    .linha-tempo-container {
        padding-left: 20px;
    }

    /* Muda a linha horizontal para vertical */
    .linha-tempo-container::before {
        top: 0;
        left: 27px; /* Alinha a linha perfeitamente com o centro da bolinha */
        width: 2px;
        height: 100%;
    }

    .linha-tempo-itens {
        flex-direction: column;
        gap: 35px; /* Espaço entre os itens na vertical */
    }

    .linha-tempo-item {
        flex-direction: row;
        width: 100%;
        align-items: flex-start;
    }

    .linha-tempo-ponto {
        margin-bottom: 0;
        margin-right: 25px;
        margin-top: 5px; /* Ajusta a altura da bolinha para alinhar com o texto */
        flex-shrink: 0;
    }

    .linha-tempo-texto {
        text-align: left; /* Alinha o texto à esquerda no celular */
    }
}

/* =========================================
   ESTILOS DA BARRA DE PROGRESSO (AÇÕES)
   ========================================= */

.progresso-container {
    width: 100%;
    margin: 40px 0 50px 0;
    position: relative;
}

/* Linha base cinza (fundo) */
.progresso-linha-fundo {
    width: 100%;
    height: 3px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    position: relative;
    overflow: hidden;
    margin-bottom: 25px;
}

/* Linha dourada que preenche (animação de progresso) */
.progresso-linha-preenchida {
    width: 0%;
    height: 100%;
    background-color: #d9a05b; /* Cor Dourada da paleta */
    box-shadow: 0 0 10px rgba(217, 160, 91, 0.8); /* Brilho sutil */
    /* Animação que faz a barra encher em 1.5 segundos */
    animation: carregarProgresso 6.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

/* Keyframes da animação de preenchimento */
@keyframes carregarProgresso {
    0% { width: 0%; }
    100% { width: 100%; }
}

.progresso-itens {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.progresso-item {
    flex: 1;
    text-align: center;
    padding: 0 10px;
    /* Linha vertical sutil entre os itens (exceto no último) para separar melhor */
    border-right: 1px solid rgba(255, 255, 255, 0.05); 
}

.progresso-item:last-child {
    border-right: none;
}

.progresso-item p {
    color: #bbb;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* Destaque para os números e palavras principais */
.progresso-item p strong {
    color: #fff;
    font-weight: 700;
    display: block; /* Coloca o destaque na linha de baixo para impacto visual */
    font-size: 1.3rem;
    margin-top: 5px;
    text-shadow: 0px 2px 5px rgba(0,0,0,0.5);
}

/* =========================================
   RESPONSIVIDADE: CELULAR (Fica em coluna)
   ========================================= */
@media (max-width: 768px) {
    .progresso-itens {
        flex-direction: column;
        gap: 20px;
    }
    
    .progresso-item {
        width: 100%;
        text-align: left;
        border-right: none;
        padding: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        padding-bottom: 15px;
    }

    .progresso-item:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .progresso-item p {
        font-size: 2rem;
    }

    .progresso-item p strong {
        display: inline; /* No celular, o texto fica na mesma linha para poupar espaço */
        margin-top: 0;
        margin-left: 5px;
        font-size: 1.1rem;
    }
}


/* =========================================
   GRADE DE FOTOS 2x2 (Mantém no celular)
   ========================================= */

.galeria-grid-2x2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Cria 2 colunas com larguras idênticas */
    gap: 30px; /* Espaço entre as fotos no computador */
    margin: 50px 0; /* Espaço acima e abaixo da galeria inteira */
    width: 100%;
}

/* Garante que o item da grade não quebre o layout */
.galeria-item {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Força a imagem a ocupar 100% da sua coluna para a grade ficar alinhada */
.img-grade {
    width: 100%;
    height: auto;
    /* DICA: Se as suas fotos originais tiverem tamanhos diferentes, 
       remova as barras /* e */ 
    /* aspect-ratio: 1 / 1; object-fit: cover; */
}

/* =========================================
   RESPONSIVIDADE: CELULAR (Força 2 colunas)
   ========================================= */
@media (max-width: 768px) {
    .galeria-grid-2x2 {
        /* A regra abaixo é o que mantém as 2 colunas na tela pequena */
        grid-template-columns: repeat(2, 1fr); 
        gap: 12px; /* Diminuímos bastante o espaço entre as fotos para caber na telinha */
    }
}

/* =========================================
   GRADE DE FOTOS (1 Principal + 3 Secundárias)
   ========================================= */

.galeria-1x3 {
    display: grid;
    /* Cria 3 colunas de tamanhos iguais no desktop */
    grid-template-columns: repeat(3, 1fr); 
    gap: 30px; /* Espaçamento entre as fotos (igual ao seu portfólio) */
    margin: 50px 0;
    width: 100%;
}

.galeria-item {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* A foto principal ocupa todas as 3 colunas da primeira linha de ponta a ponta */
.galeria-item.destaque {
    grid-column: 1 / -1; 
}

/* Garante que as imagens preencham o espaço corretamente */
.galeria-item img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* =========================================
   RESPONSIVIDADE: CELULAR (1 Principal + 2 Secundárias)
   ========================================= */
@media (max-width: 768px) {
    .galeria-1x3 {
        /* Muda a grade para apenas 2 colunas no celular */
        grid-template-columns: repeat(2, 1fr); 
        gap: 15px; /* Reduz o espaçamento para não espremer muito na telinha */
    }

    /* A imagem principal agora ocupa as 2 colunas disponíveis (continua inteira em cima) */
    .galeria-item.destaque {
        grid-column: 1 / -1; 
    }

    /* Oculta a terceira foto da linha de baixo no celular */
    .esconder-no-mobile {
        display: none !important;
    }
}


/* =========================================
   GRADE DE FOTOS (1 Esquerda + 3 Direita)
   ========================================= */

.galeria-lateral {
    display: grid;
    /* Divide em 2 colunas. A primeira é um pouquinho mais larga (1.3fr) que a segunda (1fr). 
       Se quiser exatamente do mesmo tamanho, mude para: repeat(2, 1fr) */
    grid-template-columns: 1.3fr 1fr; 
    /* Cria 3 linhas de tamanhos iguais */
    grid-template-rows: repeat(3, 1fr);
    gap: 20px; /* Espaço entre as fotos */
    margin: 50px 0;
    width: 100%;
}

/* O item em destaque na esquerda vai cobrir da linha 1 até a linha 4 (ou seja, as 3 linhas) */
.galeria-item.destaque-lateral {
    grid-row: 1 / 4; 
}

/* Ajuste para as imagens preencherem todo o espaço dos blocos do grid */
.galeria-lateral .galeria-item {
    width: 100%;
    height: 100%;
    display: flex;
}

.galeria-lateral .galeria-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Impede que a foto estique e fique deformada, fazendo um corte perfeito */
}

/* =========================================
   RESPONSIVIDADE: CELULAR (Mantém o layout)
   ========================================= */
@media (max-width: 768px) {
    .galeria-lateral {
        /* NÃO mudamos as colunas. A estrutura de 1 na esquerda e 3 na direita se mantém. */
        gap: 10px; /* Apenas reduzimos o espaço entre as fotos para caber melhor na tela menor */
    }
}



/* =========================================
   GRADE DE FOTOS (1 Topo + 4 Embaixo)
   ========================================= */

.galeria-1x4 {
    display: grid;
    /* Cria 4 colunas de tamanhos iguais no computador */
    grid-template-columns: repeat(4, 1fr); 
    gap: 20px; /* Espaço entre as fotos */
    margin: 50px 0;
    width: 100%;
}

/* Garante que os containers preencham o espaço */
.galeria-1x4 .galeria-item {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* A foto principal ocupa todas as colunas disponíveis de ponta a ponta */
.galeria-1x4 .destaque-topo {
    grid-column: 1 / -1; 
}

/* Ajuste para as imagens fazerem o preenchimento perfeito */
.galeria-1x4 .galeria-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =========================================
   RESPONSIVIDADE: CELULAR (1 Topo + Grade 2x2)
   ========================================= */
@media (max-width: 768px) {
    .galeria-1x4 {
        /* Muda a grade para apenas 2 colunas no celular */
        grid-template-columns: repeat(2, 1fr); 
        gap: 12px; /* Reduz o espaçamento na tela menor */
    }

    /* A imagem principal continua de ponta a ponta (ocupando as 2 colunas atuais) 
       As outras 4 imagens vão cair automaticamente para as próximas linhas, 
       formando a grade 2x2 perfeitamente. */
    .galeria-1x4 .destaque-topo {
        grid-column: 1 / -1; 
    }
}

/* =========================================
   EFEITO HOVER: AMPLIAR TEXTO DO LINK
   ========================================= */

.link-animado {
    display: inline-block; /* OBRIGATÓRIO: Permite que o link aceite a transformação (scale) */
    transition: transform 0.3s ease, color 0.3s ease; /* Movimento suave de 0.3 segundos */
    text-decoration: none; /* Tira o sublinhado padrão */
    /* color: #fff;  <- Descomente e mude a cor se quiser definir uma cor fixa pro texto */
}

/* O que acontece quando o mouse passa por cima (:hover) */
.link-animado:hover {
    transform: scale(1.1); /* Amplia o texto em 10% (use 1.05 para menos, 1.2 para mais) */
    color: #d9a05b; /* Opcional: muda a cor pro seu dourado ao passar o mouse */
}



    .galeria-grid-1-2-3 {
        display: grid;
        /* Divide a grade em 6 colunas iguais */
        grid-template-columns: repeat(6, 1fr);
        gap: 10px; /* Ajuste o espaçamento entre as imagens aqui */
        width: 100%;
    }

    .galeria-item {
        width: 100%;
        height: 100%;
    }

    .img-grade {
        width: 100%;
        height: auto;
        object-fit: cover;
        display: block;
    }

    /* Ocupa as 6 colunas (100% da largura) = 1 imagem na linha */
    .item-linha-1 { grid-column: span 6; }

    /* Ocupa 3 colunas (50% da largura) = 2 imagens na linha */
    .item-linha-2 { grid-column: span 3; }

    /* Ocupa 2 colunas (33.33% da largura) = 3 imagens na linha */
    .item-linha-3 { grid-column: span 2; }




     /* -- INÍCIO DA GRADE 3 COLUNAS COM LINHA DIVISÓRIA */

    .grid-3-cols {
        display: grid;
        /* Garante que sempre serão 3 colunas de tamanhos iguais, mesmo no celular */
        grid-template-columns: repeat(3, 1fr);
        width: 100%;
        align-items: center; /* Centraliza o conteúdo verticalmente */
    }

    .grid-item-3 {
        width: 100%;
        padding: 0 10px; /* Adiciona um respiro entre a imagem e a linha divisória */
        box-sizing: border-box; /* Garante que o padding não quebre a largura */
    }



    .img-3-cols {
        width: 100%;
        height: auto; /* Mantém a proporção correta da imagem ao diminuir */
        display: block;
        object-fit: cover;
    }


    /* =========================================
   GRADE ASSIMÉTRICA (ESTILO CHICO / BEIJO)
   ========================================= */
.galeria-assimetrica {
    display: grid;
    /* Divide o espaço total em 3 partes iguais */
    grid-template-columns: repeat(3, 1fr);
    gap: 15px; /* Espaçamento entre as fotos. Pode ajustar ao seu gosto */
    margin-top: 30px;
    margin-bottom: 30px;
}

/* --- Controle de expansão de cada item --- */
.item-poster-esq { grid-column: span 1; }
.item-paisagem-dir { grid-column: span 2; }

.item-paisagem-esq { grid-column: span 2; }
.item-poster-dir { grid-column: span 1; }

/* --- Garantir que a imagem preencha perfeitamente a div --- */
.galeria-assimetrica .img-grade {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Faz as fotos se adaptarem à caixa sem achatar */
    display: block;
}

/* =========================================
   RESPONSIVIDADE (TRAVADO PARA O MOBILE)
   ========================================= */
/* Aqui garantimos a sua exigência: continuar com a mesma divisão e linhas no celular */
@media (max-width: 768px) {
    .galeria-assimetrica {
        /* Mantém as 3 colunas virtuais ativas na tela do celular */
        grid-template-columns: repeat(3, 1fr);
        /* Diminui um pouco o buraco entre as fotos para não desperdiçar tela pequena */
        gap: 8px; 
    }
}

/* =========================================
   GRADE: 1 DESTAQUE + 4 FOTOS (ESTILO COLUNAS)
   ========================================= */
.galeria-destaque-esquerda {
    display: grid;
    /* Divide em 3 colunas: a 1ª é 50% maior que as outras duas */
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 15px; /* Espaçamento padrão do desktop */
    margin-top: 30px;
    margin-bottom: 30px;
}

/* Faz a imagem principal esticar para cobrir a altura de 2 linhas */
.destaque-coluna {
    grid-row: span 2;
}

/* Garantir que todas as imagens preencham suas caixas sem amassar */
.galeria-destaque-esquerda .img-grade {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* =========================================
   RESPONSIVIDADE (TRAVADO PARA O CELULAR)
   ========================================= */
@media (max-width: 768px) {
    .galeria-destaque-esquerda {
        /* Mantém as mesmas 3 colunas e a mesma proporção no celular */
        grid-template-columns: 1.5fr 1fr 1fr;
        /* Reduz o vão entre as fotos para aproveitar a tela pequena */
        gap: 8px; 
    }
}


/* =========================================
   FOOTER PREMIUM (EFEITO GLASSMORPHISM)
   ========================================= */

.footer-premium {
    /* Fundo escuro transparente com desfoque */
    background: rgba(15, 15, 15, 0.65); 
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    
    /* Borda superior dourada bem sutil */
    border-top: 1px solid rgba(217, 160, 91, 0.3); 
    color: #ccc;
    padding: 70px 5% 20px;
    position: relative;
    z-index: 9990;/* Garante que fique acima do fundo animado */
    margin-top: 60px; /* Dá um respiro entre a página e o rodapé */
}

/* Container que organiza as colunas */
.footer-container {
    display: grid;
    /* Cria colunas flexíveis que se adaptam sozinhas ao celular */
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08); /* Linha divisória antes dos direitos */
    padding-bottom: 40px;
}

.footer-col h4 {
    color: #d9a05b; /* Dourado da identidade */
    font-size: 1.15rem;
    margin-bottom: 25px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* Coluna 1: Marca */
.brand-col .footer-logo {
    width: 160px;
    margin-bottom: 20px;
    filter: drop-shadow(0 0 10px rgba(255,255,255,0.1));
}

.brand-col p {
    line-height: 1.7;
    font-size: 0.95rem;
    color: #bbb;
}

/* Coluna 2: Links com efeito de setinha */
.links-col ul {
    list-style: none;
}

.links-col ul li {
    margin-bottom: 15px;
}

.links-col ul li a {
    color: #bbb;
    text-decoration: none;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color 0.3s ease, transform 0.3s ease;
}

.links-col ul li a i {
    font-size: 0.7rem;
    color: #ff5722; /* Laranja da identidade */
    transition: transform 0.3s ease;
}

.links-col ul li a:hover {
    color: #d9a05b;
    transform: translateX(5px); /* Dá um pequeno salto para a direita */
}

.links-col ul li a:hover i {
    transform: translateX(3px);
}

/* Coluna 3: Contatos */
.contato-col p {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    font-size: 0.95rem;
    color: #bbb;
}

.contato-col i {
    color: #ff5722; /* Ícones em laranja */
    font-size: 1.2rem;
    width: 20px; /* Alinha perfeitamente os textos */
    text-align: center;
}

/* Coluna 4: Redes Sociais */
.footer-social {
    display: flex;
    gap: 15px;
}

.footer-social a {
    width: 45px;
    height: 45px;
    border: 1px solid rgba(217, 160, 91, 0.4);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.2rem;
    background: rgba(0, 0, 0, 0.4);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.footer-social a:hover {
    background-color: #d9a05b;
    color: #000;
    transform: translateY(-8px) scale(1.1); /* Pula e cresce ao passar o mouse */
    border-color: #d9a05b;
    box-shadow: 0 10px 20px rgba(217, 160, 91, 0.4);
}

/* Direitos Autorais e Políticas */
.footer-bottom {
    text-align: center;
    padding-top: 25px;
    font-size: 0.85rem;
    color: #888;
}

.footer-bottom a {
    color: #d9a05b;
    text-decoration: none;
    transition: color 0.3s ease;
    font-weight: 600;
}

.footer-bottom a:hover {
    color: #fff;
}

/* Responsividade Automática para Celulares */
@media (max-width: 768px) {
    .footer-premium {
        padding: 50px 5% 20px;
    }
    .footer-container {
        gap: 30px;
        text-align: center; /* Centraliza tudo no mobile */
    }
    .brand-col .footer-logo {
        margin: 0 auto 20px;
    }
    .links-col ul li a {
        justify-content: center; /* Centraliza os links */
    }
    .contato-col p {
        justify-content: center; /* Centraliza os ícones de contato */
    }
    .footer-social {
        justify-content: center;
    }
}