/* Reset CSS */

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

/* Variáveis */

:root{
    --cor-fundo: #050505;
    --cor-secundaria: #111111;
    --cor-dourado: #D4AF37;
    --cor-texto: #FFFFFF;
    --cor-cinza: #9E9E9E;
}

/* Scroll suave */

html{
    scroll-behavior: smooth;
}

/* Corpo da página */

body{
    overflow-x: hidden;
    background-color: var(--cor-fundo);
    color: var(--cor-texto);
    font-family: "Poppins", sans-serif;
}
body.loading{
    overflow:hidden;
}
header{
    position: fixed; /*fixa na tela*/
    top: 0;     /*encosta no topo*/
    left: 0;    /*encosta na esquerda*/
    width: 100%; /*ocupa toda a largura da tela*/
    z-index: 1000; /*fica na frente de outros elementos*/
     background: rgba(5,5,5,.75);

     backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);

    border-bottom:1px solid transparent;

    transition:
        background-color .35s ease,
        backdrop-filter .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;

}
header.scrolled{
    background:rgba(5,5,5,.94);

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    border-bottom-color:rgba(212,175,55,.16);

    box-shadow:
        0 8px 30px rgba(0,0,0,.38),
        0 1px 0 rgba(212,175,55,.05);
}
/*alinhamento do menu*/
.nav-container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 70%;
    max-width: 1400px;
    margin: 0 auto;
}
.logo{
    display: flex;
    align-items: center;
    gap: 12px;
}
.logo img {
    height: 70px;
    width: 70px;

    object-fit: cover;

    border: 2px solid rgba(212, 175, 55, .35);

    border-radius: 50%; /* deixa a logo redonda */
    border-color: var(--cor-dourado);
    padding: 4px;

    background: #0b0b0b;

    transition: all .4s ease;

    box-shadow:
        0 0 12px rgba(212, 175, 55, .15),
        0 8px 20px rgba(0, 0, 0, .4);
}
.logo-text{
    display: flex;
    flex-direction: column;
    gap:2px; /* deixar mais junto os textos */
}
.nav-links{
    display: flex;            /* Coloca os itens na mesma linha */
    list-style: none;         /* Remove as bolinhas do menu (ul/li) */
    gap: 35px;                /* Cria um espaço bonito e igual entre os itens */
    padding: 0;
    margin: 0;
}
.nav-links a{
    text-decoration: none; /* Remove o sublinhado dos links */
    color: var(--cor-texto);
}
/*animação no menu*/
.nav-links a:hover{
    color: var(--cor-dourado);
    transition: color 0.3s ease; /* Adiciona uma transição suave para a mudança de cor */
}
.btn-contato{
    display: inline-block;

    background-color: var(--cor-dourado);
    color: var(--cor-fundo);

    text-decoration: none;

    padding: 14px 18px;

    border-radius: 999px;

    font-weight: 600;

    border: 2px solid transparent;

    transition:
        background-color .3s ease,
        color .3s ease,
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}
.btn-contato:hover{
    background-color: transparent;

    color: var(--cor-dourado);

    border-color: var(--cor-dourado);

    transform: translateY(-3px);

    box-shadow:
        0 0 15px rgba(179, 146, 39, 0.35),
        0 0 30px rgba(212,175,55,.15);

    cursor: pointer;
}
.menu-toggle{
    display:none;

    width:42px;
    height:42px;

    background:transparent;
    border:none;

    cursor:pointer;

    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:6px;

    position:relative;
    z-index:1100;
}
.mobile-schedule{
    display:none;
}
.menu-toggle span{
    width:27px;
    height:2px;

    background:var(--cor-dourado);

    border-radius:999px;

    transition:
        transform .3s ease,
        opacity .3s ease;
}

/* hero section */
.hero{
    padding-top:100px; /* dá um espaçamento para não ficar embaixo do menu */
   display: flex; /*coloca a foto do lado do texto*/
    justify-content: space-between;  /* faz um ficar do lado do outro */
    align-items: center; /* centraliza verticalmete*/
    min-height: 100vh; /* faz ocupar toda a tela */
    width: 90%;
    max-width: 1400px;
    margin: 0 auto;
    position: relative; /* necessário para o scroll indicator */
}
.hero-content{
   flex: 1; /* faz o texto ocupar o espaço disponível */
    display: flex;
    flex-direction: column;
    gap:24px; /* Cria um espaçamento vertical bonito entre esses elementos */
    align-items: flex-start;  /* Alinha os blocos e botões à esquerda */
    text-align: left;         /* Garante que os textos em si fiquem alinhados à esquerda */
    justify-content: center;  /* Centraliza verticalmente o conteúdo dentro do bloco */
    animation: slideLeft 1s ease forwards; /* adiciona a animação de entrada da esquerda */
}
@keyframes slideLeft{ /* Define a animação de entrada da esquerda */

    from{
        opacity: 0;
        transform: translateX(-60px);
    }

    to{
        opacity: 1;
        transform: translateX(0);
    }

}
.hero-image{
   animation:
        slideRight 1.2s ease forwards,
        float 5s ease-in-out 1.2s infinite;                                        /* adiciona a animação de entrada da direita */
    flex: 1; /* faz a imagem ocupar o espaço disponível */
    justify-content: center;
    align-items: center;
    display: flex; /* Coloca a imagem em linha com o texto */
}
@keyframes slideRight{/* Define a animação de entrada da direita */

    from{
        opacity: 0;
        transform: translateX(80px);
    }

    to{
        opacity: 1;
        transform: translateX(0);
    }

}
@keyframes float{ /* Define a animação de flutuação da imagem */

    0%{
        transform: translateY(0);
    }

    50%{
        transform: translateY(-10px);
    }

    100%{
        transform: translateY(0);
    }

}
.hero-image img{
    width: 100%; /* Faz a imagem ocupar toda a largura do bloco */
    max-width: 500px; /* Define a largura máxima da imagem para que ela não fique muito grande */
}
.hero-text{
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.hero-subtitle{
    color: var(--cor-dourado);
    font-size: .95rem;
    letter-spacing: 3px;
    font-weight: 600;
    display: inline-block;
    text-transform: uppercase;
}
.hero-text h1{

    font-size: 4.5rem;
    margin-top: 10px;
    max-width: 700px;
    line-height: 1.1;

    font-weight: 700;
}
.hero-text h1 span{
    color: var(--cor-dourado);
} 
.hero-text p{

    color: var(--cor-cinza);

    font-size: 1.1rem;

    line-height: 1.8;

    max-width: 550px;
}
.hero-buttons{
    display: flex;
    gap: 20px;
    align-items: center;
    margin-top: 12px;
    flex-wrap: wrap; /* Permite que os botões se movam para a próxima linha se não houver espaço suficiente */
}
/* ===========================
   BOTÕES
=========================== */
.btn{
    
    padding: 14px 28px;
    border-radius: 999px;
    font-weight: 600;
    transition:all .3s ease;
    display: inline-block;
    cursor: pointer;
    border: 2px solid transparent;
}
.btn i{
    font-size: 1.2rem;
}
.btn-primary{
    background: var(--cor-dourado);
   text-decoration: none;
    color: #000000;

}
.btn-secundary{
    border: 2px solid var(--cor-dourado);
    text-decoration: none;
    color: #ffffff;
}

.btn:hover{
    background-color: transparent;
    color: var(--cor-dourado);
    border-color: var(--cor-dourado);
    transform: translateY(-3px);
    box-shadow:
        0 0 15px rgba(179, 146, 39, 0.35),
        0 0 30px rgba(212,175,55,.15);
    cursor: pointer;
}
/* ===========================
   foto do hero
=========================== */
.hero-photo{
    
    width: 100%;
    max-width: 500px;
    height: auto;

    padding: 8px;

    background:rgba(212,175,55,.05);

    border: 2px solid rgba(212,175,55,.35);

    border-radius: 20px;

    transition: all .4s ease;

    z-index: 1;

    filter: drop-shadow(0 15px 35px rgba(0,0,0,.45));

}
.hero-imagem-wrapper{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-imagem-wrapper::before{
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;

   background: radial-gradient(         /* cor do circulo em volta da imagem */
        circle,
        rgba(255, 196, 4, 0.55) 0%,
        rgba(153, 122, 18, 0.481) 45%,
        transparent 75%
    );

    filter: blur(80px);
    z-index: 0; /* Garante que o efeito de desfoque fique atrás da imagem */
}
.hero-photo:hover{
    transform: scale(1.05);
    border-color: var(--cor-dourado);
}

/* rolar para descer para baixo*/
.scroll-indicator{
    position: absolute;
    right: 50px;
    bottom: 50px;
    flex-direction: column;
    display: flex;
    align-items: center;
    gap: 12px;
}

.scroll-indicator span{
    writing-mode: vertical-rl;
    letter-spacing: 4px;
    color: var(--cor-dourado);
    font-size: .8rem;
}

.scroll-line{
    width: 2px;
    height: 70px;
    background: var(--cor-dourado);
}
@keyframes scrollMove{

    0%{

        transform:translateY(0);

        opacity:1;
    }

    50%{

        transform:translateY(12px);

        opacity:.5;
    }

    100%{

        transform:translateY(0);

        opacity:1;
    }

}
/* ===========================
   smoke
=========================== */
.smoke-container{
    position: fixed;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.smoke{
    position: absolute;

    width: 650px;
    height: auto;

    opacity: .12;

    filter: blur(4px);

    user-select: none;
}
.smoke1{
    top: -150px;
    left: -150px;
    animation: smokeMove1 60s linear infinite;
}
.smoke2{
    top: 200px; /* posição vertical da fumaça */
    right: -150px; /* posição horizontal da fumaça */
    width: 500px; /* largura da fumaça */
    animation: smokeMove2 80s linear infinite;
}
.smoke3{
    bottom: -180px;
    left: 40%;

    width: 700px;

    opacity: .15;

    animation: smokeMove3 100s linear infinite;
}
.smoke4{
    top: 55%;
    left: -250px;

    width: 450px;

    opacity: .08;

    animation: smokeMove2 70s linear infinite reverse;
}
.smoke5{
    top: 5%;
    right: 25%;

    width: 550px;

    opacity: .09;

    animation: smokeMove1 90s linear infinite reverse;
}
.smoke6{
    bottom: -120px;
    right: -200px;

    width: 650px;

    opacity: .12;

    animation: smokeMove3 75s linear infinite;
}
@keyframes smokeMove1{

    from{
        transform: translate(0,0) scale(1) rotate(0deg);
    }

    to{
        transform: translate(-120px,-60px) scale(1.2) rotate(8deg);
    }

}
@keyframes smokeMove2{

    from{
        transform: translate(0,0) scale(1);
    }

    to{
        transform: translate(150px,-80px) scale(1.1);
    }

}
@keyframes smokeMove2{

    from{
        transform: translate(0,0) scale(1);
    }

    to{
        transform: translate(150px,-80px) scale(1.1);
    }

}
@keyframes smokeMove3{

    from{
        transform: translate(0,0) scale(1);
    }

    to{
        transform: translate(-80px,100px) scale(1.25);
    }

}

/* ===========================
   sobre
=========================== */
.about{
    padding: 120px 8%;
}
.section-title{
    text-align: center;
    margin-bottom: 70px;
}

.section-title span{
    color: var(--cor-dourado);
    letter-spacing: 4px;
    font-size: .9rem;
}

.section-title h2{
    font-size: 3rem;
    margin-top: 10px;
}
.about-container{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:80px;

    flex-wrap:wrap;
}
.about-image-wrapper{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.about-photo{
    width: 100%;
    max-width: 450px;

    border-radius: 20px;

    border: 2px solid rgba(212,175,55,.35);

    padding: 8px;

    background: rgba(212,175,55,.05);

    box-shadow:
        0 0 20px rgba(212,175,55,.10),
        0 20px 50px rgba(0,0,0,.45);

    transition: .4s;
}

.about-photo:hover{
    transform: translateY(-8px);

    border-color: var(--cor-dourado);

    box-shadow:
        0 0 35px rgba(212, 175, 55, 0.611),
        0 25px 60px rgba(0,0,0,.55);
}

.about-image-wrapper::before{
    content:"";

    position:absolute;

    width:380px;
    height:380px;

    background: radial-gradient(
        circle,
        rgba(219, 171, 12, 0.477),
        transparent 70%
    );

    filter: blur(70px);

    z-index:-1;
}
.about-content{

    flex:1;
}
.about-content h3{

    font-size:2.3rem;

    margin-bottom:25px;
}
.about-content h3 span{

    color:var(--cor-dourado);
}
.about-content p{

    color:var(--cor-cinza);

    line-height:1.8;

    margin-bottom:35px;
}
.about-items{
    
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

    margin-bottom:40px;
    cursor: pointer;
 
}
.about-items :hover{

    transform:translateY(-8px);

    border-color: var(--cor-dourado);

    box-shadow:0 15px 35px rgba(212,175,55,.18);
}
.item{

    background: rgba(255,255,255,.03);

    border: 1px solid rgba(212,175,55,.2);

    backdrop-filter: blur(10px);


    padding:18px;

    border-left:13px solid #716c61;

    border-radius:8px;
}
.about-cards{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

    margin:40px 0;
}
.about-card{

    background: rgba(255,255,255,.03);

    border: 1px solid rgba(212,175,55,.2);

    backdrop-filter: blur(10px);

    border-radius:16px;

    padding:24px;

    transition:.35s;
    cursor: pointer;
}
.about-card p{
    color:var(--cor-texto);
    font-size: 20px;
}
.about-card h4{
    color:var(--cor-texto);
    font-size: 1.5rem;
    margin-bottom: 10px;
}
.about-card:hover{

    transform:translateY(-8px);

    border-color: var(--cor-dourado);

    box-shadow:0 15px 35px rgba(212,175,55,.18);
}
.about-buttons{
    display: flex;
    justify-content: flex-end;
    margin-top: 40px;
}


/*================ GALERIA ================*/

.gallery{
    padding: 120px 8%;
    position: relative;
}

.gallery-header{
    max-width: 750px;
    margin: 0 auto 60px;
    text-align: center;
}

.gallery-header h2{
    color:var(--cor-dourado);
    font-size: 3rem;
    margin: 15px 0;
}

.gallery-header p{
    color: var(--cor-cinza);
    line-height: 1.8;
}

.gallery-filters{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 60px;
}
/*=========
    botoes da galeria
=========*/
.filter-btn{

    background: transparent;

    color: var(--cor-texto);

    border: 1px solid rgba(212,175,55,.25);

    padding: 12px 26px;

    border-radius: 999px;

    cursor: pointer;

    transition: .35s;

    font-size: .95rem;

    font-weight: 500;
}
.filter-btn:hover{

    background: var(--cor-dourado);

    color: var(--cor-fundo);

    transform: translateY(-3px);

    border-color: var(--cor-dourado);

    box-shadow: 0 0 20px rgba(212,175,55,.35);
}
.filter-btn.active{

    background: var(--cor-dourado);

    color: var(--cor-fundo);

    border-color: var(--cor-dourado);

    box-shadow: 0 0 25px rgba(212,175,55,.35);
}

/* grade da galeira*/
/* responsivo automaticamente*/
.gallery-grid{
    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(320px,1fr));

    gap: 30px;
}
.gallery-card{

    position: relative;

    overflow: hidden;

    border-radius: 20px;

    cursor: pointer;

    border: 1px solid rgba(212,175,55,.15);

    background: #0b0b0b;

   transition: opacity .4s ease,
                transform .4s ease;

    box-shadow:
        0 10px 30px rgba(0,0,0,.35);
}
.gallery-card img{

    width: 100%;

    height: 450px;

    object-fit: cover;

    display: block;

    transition: .5s;
}
.gallery-card:hover{

    transform: translateY(-8px);

    border-color: var(--cor-dourado);

    box-shadow:
        0 0 30px rgba(212,175,55,.18),
        0 20px 45px rgba(0,0,0,.45);
}
.gallery-card:hover img{

    transform: scale(1.08);
}


/*overlay da galeria*/
.gallery-overlay{

    position: absolute;

    inset: 0;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    align-items: center;

    padding: 30px;

    background: linear-gradient(
        to top,
        rgba(0,0,0,.92),
        rgba(0,0,0,.35),
        transparent
    );

    opacity: 0;

    transition: .4s ease;

    text-align: center;
}
.gallery-card:hover .gallery-overlay{

    opacity: 1;
}
.gallery-overlay i{

    font-size: 2rem;

    color: var(--cor-dourado);

    margin-bottom: 15px;

    transform: translateY(20px);

    opacity: 0;

    transition: .4s;
    pointer-events: none; /* Faz o clique "atravessar" o elemento e acertar a imagem atrás! */
}
.gallery-overlay h3{

    color: var(--cor-texto);

    font-size: 1.5rem;

    margin-bottom: 8px;

    transform: translateY(20px);

    opacity: 0;

    transition: .45s;
    pointer-events: none; /* Faz o clique "atravessar" o elemento e acertar a imagem atrás! */
}
.gallery-overlay span{

    color: var(--cor-cinza);

    transform: translateY(20px);

    opacity: 0;

    transition: .5s;
    pointer-events: none; /* Faz o clique "atravessar" o elemento e acertar a imagem atrás! */
}
.gallery-card:hover .gallery-overlay i,
.gallery-card:hover .gallery-overlay h3,
.gallery-card:hover .gallery-overlay span{

    transform: translateY(0);

    opacity: 1;
}
.gallery-card.hide{
    opacity: 0;
    transform: scale(.9);
    pointer-events: none;
}

.lightbox{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.9);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    padding: 20px;
}

.lightbox.active{
    display: flex;
}
.lightbox.active .lightbox-image{
    transform: scale(1);
}
.lightbox-image{
   max-width: 90%;
    max-height: 90%;
    border-radius: 15px;
    border: 2px solid var(--cor-dourado);
    box-shadow: 0 0 40px rgba(212,175,55,.3);

    transform: scale(.8);
    transition: .35s;
}

.close{
    position: absolute;
    top: 30px;
    right: 40px;
    color: white;
    font-size: 45px;
    cursor: pointer;
    transition: .3s;
}

.close:hover{
    color: var(--cor-dourado);
    transform: scale(1.1);
}

/* AVALIAÇÕES 
    =========== */
    .testimonials{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 100px 8%;
}

.testimonial-container{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 30px;
    margin-top: 60px;
}

.testimonial-card{
     display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(212,175,55,.2);
    border-radius: 20px;
    padding: 30px;
    transition: .35s;
    backdrop-filter: blur(10px);
}

.testimonial-card:hover{
    transform: translateY(-10px);
    border-color: var(--cor-dourado);
    box-shadow: 0 0 30px rgba(212,175,55,.2);
}

.stars{
    color: var(--cor-dourado);
    margin-bottom: 20px;
}

.testimonial-card p{
    margin: 0 0 25px;
    line-height: 1.8;
    color: var(--cor-cinza);
}

.testimonial-card h4{
    margin-top: auto;
    color: #fff;
}
.section-header h2{
    color: var(--cor-dourado);
}

/* contato 
======== */

.contact{
    padding:100px 8%;
}

.contact-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    margin-top:60px;
    align-items:center;
}

.contact-info{
    display:flex;
    flex-direction:column;
    gap:25px;
}

.contact-item{
    display:flex;
    align-items:center;
    gap:20px;

    background:rgba(255,255,255,.03);
    border:1px solid rgba(212,175,55,.2);

    padding:20px;
    border-radius:18px;

    transition:.3s;
}

.contact-item:hover{
    border-color:var(--cor-dourado);
    transform:translateX(8px);
}

.contact-item i{
    font-size:2rem;
    color:var(--cor-dourado);
}

.contact-item h3{
    color:#fff;
    margin-bottom:5px;
}

.contact-item p{
    color:var(--cor-cinza);
}

.contact-map iframe{
    width:100%;
    height:450px;
    border:none;
    border-radius:20px;
    border:2px solid rgba(212,175,55,.2);
}
/*     footer
*/

.footer{

    background:#080808;

    border-top:1px solid rgba(212,175,55,.15);

    margin-top:100px;

    padding:60px 8% 25px;

}

.footer-content{

    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    gap:60px;

}

.footer-logo img{

    width:70px;

    border-radius:50%;

    border:2px solid var(--cor-dourado);

    margin-bottom:15px;

}

.footer-logo h3{

    color:#fff;

    margin-bottom:10px;

}

.footer-logo p{

    color:var(--cor-cinza);

    max-width:280px;

}

.footer-links,
.footer-social{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.footer-links h4,
.footer-social h4{

    color:#fff;

    margin-bottom:10px;

}

.footer-links a,
.footer-social a{

    color:var(--cor-cinza);

    text-decoration:none;

    transition:.3s;

}

.footer-links a:hover,
.footer-social a:hover{

    color:var(--cor-dourado);

}

.footer-social i{

    margin-right:10px;

    color:var(--cor-dourado);

}

.footer-bottom{

    margin-top:50px;

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.08);

    text-align:center;

    color:var(--cor-cinza);

}
.developer{
    margin-top: 10px;
    color: var(--cor-cinza);
    font-size: .95rem;
}

.developer strong{
    color: var(--cor-dourado);
}
.developer a{
    color: var(--cor-dourado);
    text-decoration: none;
    font-weight: 600;
    transition: .3s;
}

.developer a:hover{
    opacity: .8;
}
.menu-toggle{
    display:none;
    width:42px;
    height:42px;
    background:transparent;
    border:none;
    cursor:pointer;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    position:relative;
    z-index:1100;
}

.menu-toggle span{
    display:block;
    width:27px;
    height:3px;
    background:var(--cor-dourado);
    border-radius:999px;
}
/* ===============================
   BOTÃO VOLTAR AO TOPO
================================ */

.back-to-top{
    position:fixed;

    right:25px;
    bottom:25px;

    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:var(--cor-dourado);
    color:var(--cor-fundo);

    border:2px solid var(--cor-dourado);
    border-radius:50%;

    font-size:1.1rem;

    cursor:pointer;

    opacity:0;
    visibility:hidden;
    pointer-events:none;

    transform:translateY(20px);

    transition:
        opacity .3s ease,
        visibility .3s ease,
        transform .3s ease,
        background-color .3s ease,
        color .3s ease,
        box-shadow .3s ease;

    box-shadow:
        0 8px 25px rgba(0,0,0,.45),
        0 0 20px rgba(212,175,55,.2);

    z-index:900;
}

.back-to-top.show{
    opacity:1;
    visibility:visible;
    pointer-events:auto;

    transform:translateY(0);
}

.back-to-top:hover{
    background:var(--cor-fundo);
    color:var(--cor-dourado);

    transform:translateY(-5px);

    box-shadow:
        0 10px 30px rgba(0,0,0,.5),
        0 0 25px rgba(212,175,55,.4);
}
/* ==================================
   SCROLL REVEAL
================================== */

.reveal-up,
.reveal-left,
.reveal-right,
.reveal-scale{
    opacity:0;

    transition:
        opacity .8s ease,
        transform .8s ease;
}

/* Aparece subindo */

.reveal-up{
    transform:translateY(60px);
}

/* Aparece vindo da esquerda */

.reveal-left{
    transform:translateX(-70px);
}

/* Aparece vindo da direita */

.reveal-right{
    transform:translateX(70px);
}

/* Aparece aumentando */

.reveal-scale{
    transform:scale(.88);
}

/* Estado visível */

.reveal-visible{
    opacity:1;
    transform:translate(0, 0) scale(1);
}
@media (prefers-reduced-motion: reduce){

    .reveal-up,
    .reveal-left,
    .reveal-right,
    .reveal-scale{
        opacity:1;
        transform:none;
        transition:none;
    }

}
/* ==================================
   LOADER DE ENTRADA
================================== */

.page-loader{
    position:fixed;
    inset:0;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#050505;

    z-index:99999;

    opacity:1;
    visibility:visible;

    transition:
        opacity .7s ease,
        visibility .7s ease;
}

.page-loader.hidden{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

.loader-content{
    display:flex;
    flex-direction:column;
    align-items:center;

    text-align:center;

    animation:loaderContent .8s ease forwards;
}

.loader-logo{
    width:110px;
    height:110px;

    object-fit:cover;

    padding:5px;

    border-radius:50%;

    border:2px solid var(--cor-dourado);

    background:#0b0b0b;

    box-shadow:
        0 0 20px rgba(212,175,55,.25),
        0 0 55px rgba(212,175,55,.12);

    animation:loaderPulse 1.5s ease-in-out infinite;
}

.loader-content h2{
    margin-top:22px;

    color:var(--cor-texto);

    font-size:1.6rem;
    text-transform:uppercase;
    letter-spacing:2px;
}

.loader-content span{
    margin-top:5px;

    color:var(--cor-dourado);

    font-size:.8rem;
    text-transform:uppercase;
    letter-spacing:5px;
}

.loader-line{
    width:210px;
    height:3px;

    margin-top:28px;

    overflow:hidden;

    background:rgba(255,255,255,.08);

    border-radius:999px;
}

.loader-progress{
    width:100%;
    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        var(--cor-dourado),
        transparent
    );

    transform:translateX(-100%);

    animation:loaderProgress 1.1s ease-in-out infinite;
}

@keyframes loaderContent{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

@keyframes loaderPulse{

    0%,
    100%{
        transform:scale(1);
        box-shadow:
            0 0 20px rgba(212,175,55,.25),
            0 0 55px rgba(212,175,55,.12);
    }

    50%{
        transform:scale(1.05);
        box-shadow:
            0 0 30px rgba(212,175,55,.4),
            0 0 70px rgba(212,175,55,.2);
    }

}

@keyframes loaderProgress{

    from{
        transform:translateX(-100%);
    }

    to{
        transform:translateX(100%);
    }

}
/* ==================================
   WHATSAPP FLUTUANTE
================================== */

.whatsapp-float{
    position:fixed;

    right:25px;
    bottom:90px;

    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#25d366;
    color:#ffffff;

    border:2px solid #25d366;
    border-radius:50%;

    font-size:1.65rem;
    text-decoration:none;

    cursor:pointer;

    box-shadow:
        0 8px 25px rgba(0,0,0,.45),
        0 0 20px rgba(37,211,102,.25);

    transition:
        transform .3s ease,
        background-color .3s ease,
        color .3s ease,
        box-shadow .3s ease;

    z-index:901;
}

.whatsapp-float:hover{
    background:#050505;
    color:#25d366;

    transform:translateY(-5px) scale(1.05);

    box-shadow:
        0 10px 30px rgba(0,0,0,.5),
        0 0 28px rgba(37,211,102,.45);
}