*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Inter',sans-serif;
background:#f5f6fa;
color:#222;
}

/* CONTAINER */
.container{
max-width:1100px;
margin:auto;
padding:0 20px;
}

/* HEADER */
header{
background:white;
box-shadow:0 5px 15px rgba(0,0,0,.05);
position:sticky;
top:0;
z-index:10;
}

.logo{
  max-width: 220px;
  margin-bottom: 20px;
}

.logo{
  max-width: 170px;
  margin-bottom: 20px;
  filter: drop-shadow(0 4px 10px rgba(83, 83, 83, 0.6));
}


/* MENU */
/* MENU */

/* ================= MENU ================= */

header .container{
display:flex;
justify-content:space-between;
align-items:center;
}

/* HAMBURGER */
.menu-toggle{
display:none;
font-size:30px;
cursor:pointer;
transition:.3s;
}

.menu-toggle:hover{
transform:rotate(90deg);
}

/* DESKTOP NAV */
#menu{
display:flex;
gap:25px;
}

#menu a{
text-decoration:none;
font-weight:500;
color:#333;
transition:.3s;
}

#menu a:hover{
color:#c40000;
}

/* BOTÃO X */
.close-menu{
display:none;
}

/* OVERLAY */
.menu-overlay{
position:fixed;
inset:0;
background:rgba(0,0,0,.4);
opacity:0;
pointer-events:none;
transition:.3s;
z-index:90;
}

.menu-overlay.active{
opacity:1;
pointer-events:auto;
}

/* ================= MOBILE ================= */

@media(max-width:768px){

.menu-toggle{
display:block;
}

/* MENU MOBILE */

#menu{
position:fixed;
top:0;
right:-100%;
height:100vh;
width:260px;
background:#686868;
flex-direction:column;
justify-content:center;
align-items:center;
gap:35px;
box-shadow:-10px 0 30px rgba(0,0,0,.4);
transition:.4s ease;
z-index:100;
}

/* ABRIR MENU */

#menu.active{
right:0;
}

/* BOTÃO FECHAR */

.close-menu{
display:block;
position:absolute;
top:25px;
right:25px;
font-size:26px;
cursor:pointer;
color:white;
}

/* LINKS MOBILE */

#menu a{
font-size:22px;
font-weight:600;
color:white;
position:relative;
}

/* RISQUINHO ANIMADO */

#menu a::after{
content:"";
position:absolute;
left:50%;
bottom:-8px;
width:0;
height:2px;
background:#25D366;
transition:.3s;
transform:translateX(-50%);
}

#menu a:hover::after{
width:40px;
}

}


.avaliacoes{
padding:100px 20px;
text-align:center;
background:#f7f7f7;
}

.avaliacoes h2{
font-size:36px;
margin-bottom:50px;
}

.avaliacoes-grid{
max-width:1000px;
margin:auto;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
}

.avaliacao{
background:white;
padding:30px 25px;
border-radius:20px;
box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.stars{
color:#f4b400;
font-size:22px;
margin-bottom:10px;
}

.avaliacao p{
color:#555;
line-height:1.6;
}

.avaliacao h4{
margin-top:15px;
}

.garantia-box{
margin-top:60px;
}

.garantia-img{
  width:320px;
  margin:0 auto 20px;
  display:block;
  filter:drop-shadow(0 5px 15px rgba(0,0,0,.25));
}






/* HOME */
.home{
  background:
    linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.55)),
    url("img/header.png"); /* troque pelo caminho da sua imagem */

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  color: white;
  text-align: center;
 
  padding: 180px 20px;
}




.home h2{
font-family:'Poppins';
font-size:38px;
}

/* ================= SOBRE ================= */

.sobre{
  background:#f7f7f7;
  padding:100px 20px;
}

.sobre-grid{
  max-width:1100px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}

.sobre-texto h2{
  font-size:38px;
  color:#002546;
  margin-bottom:20px;
}

.sobre-texto p{
  font-size:18px;
  line-height:1.7;
  color:#444;
  margin-bottom:30px;
}

.sobre-itens{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
}

.sobre-itens span{
  background:white;
  padding:12px 18px;
  border-radius:30px;
  box-shadow:0 5px 15px rgba(0,0,0,.08);
  font-size:15px;
}

.sobre-img img{
  width:100%;
  border-radius:20px;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
}

/* MOBILE SOBRE */

@media(max-width:768px){
  .sobre-grid{
    grid-template-columns:1fr;
    text-align:center;
  }

  .sobre-itens{
    justify-content:center;
  }
}

/* ================= ANIMAÇÃO ================= */

.reveal{
  opacity:0;
  transform:translateY(40px);
  transition:.8s ease;
}

.reveal.show{
  opacity:1;
  transform:translateY(0);
}

/* ================= NÚMEROS ================= */

.numeros{
  background:#050607;
  color:white;
  display:flex;
  justify-content:center;
  gap:80px;
  padding:70px 20px;
  text-align:center;
  flex-wrap:wrap;
}

.num h3{
  font-size:40px;
}

.num p{
  opacity:.8;
}

/* ================= SERVIÇOS ================= */

.servicos{
  padding:100px 20px;
  text-align:center;
}

.servicos h2{
  font-size:36px;
  margin-bottom:50px;
  color:#090a0a;
}

.servicos-grid{
  max-width:1000px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:30px;
}

.servico{
  background:white;
  padding:40px 20px;
  border-radius:20px;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  font-size:30px;
}

.servico h4{
  margin:15px 0;
  font-size:20px;
}

.servico p{
  font-size:15px;
  color:#555;
}





/* BOTÃO */
.btn{
display:inline-block;
margin-top:20px;
background:linear-gradient(135deg,#25d366,#1ebe5d);
padding:14px 30px;
color:white;
border-radius:30px;
text-decoration:none;
box-shadow:0 10px 25px rgba(0,0,0,.2);
}

/* BOTÃO WHATSAPP PULSANTE FORTE */

.btn-pulse{
position:relative;
animation:pulseZap 1.5s infinite;
box-shadow:0 0 0 rgba(37,211,102,.7);
}

@keyframes pulseZap{
0%{
transform:scale(1);
box-shadow:0 0 0 0 rgba(37,211,102,.7);
}
70%{
transform:scale(1.08);
box-shadow:0 0 0 25px rgba(37,211,102,0);
}
100%{
transform:scale(1);
box-shadow:0 0 0 0 rgba(37,211,102,0);
}
}


/* SESSÕES */
section{
padding:70px 0;
text-align:center;
}

/* SERVIÇOS */
.servicos{
background:white;
}

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
gap:25px;
margin-top:40px;
}

.card{
background:#f9f9f9;
padding:30px;
border-radius:15px;
box-shadow:0 10px 25px rgba(0,0,0,.08);
font-weight:500;
}

/* DIFERENCIAIS */

/* ================= ÁREA + CONTATO ================= */

.area-contato{
padding:120px 20px;
background:#0f0f0f;
color:white;
}

.area-contato-grid{
max-width:1000px;
margin:auto;
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
}

/* CARDS */

.area-card,
.contato-card{
background:#161616;
padding:50px 40px;
border-radius:25px;
box-shadow:0 15px 40px rgba(0,0,0,.6);
text-align:center;
transition:.4s ease;
}

.area-card:hover,
.contato-card:hover{
transform:translateY(-10px);
box-shadow:0 25px 60px rgba(0,0,0,.9);
}

.area-card h3,
.contato-card h3{
font-size:26px;
margin-bottom:20px;
color:white;
}

/* BAIRROS */

.bairros{
display:flex;
justify-content:center;
gap:10px;
flex-wrap:wrap;
margin:20px 0;
}

.bairros span{
background:#222;
color:white;
padding:8px 16px;
border-radius:20px;
font-size:14px;
}

/* TEXTO */

.cidade{
margin-top:15px;
font-size:18px;
color:white;
opacity:.9;
}

.area-card p,
.contato-card p{
font-size:18px;
line-height:1.7;
color:#ccc;
margin-bottom:30px;
}

/* BOTÃO WHATSAPP */

.btn-area{
margin-top:30px;
display:inline-flex;
align-items:center;
gap:10px;
background:#25D366;
color:black;
padding:14px 28px;
border-radius:40px;
font-weight:600;
transition:.3s ease;
}

.btn-area:hover{
transform:scale(1.05);
box-shadow:0 10px 30px rgba(37,211,102,.5);
}

.zap-icon{
width:22px;
}

/* MOBILE */

@media(max-width:768px){
.area-contato-grid{
grid-template-columns:1fr;
}
}




/* ================= REDES SOCIAIS ================= */

.social-section{
padding:100px 20px;
text-align:center;
background:#ffffff;
color:rgb(0, 0, 0);
}

.social-section h2{
font-size:34px;
margin-bottom:10px;
}

.social-section p{
color:#000000;
margin-bottom:40px;
}

.social-icons{
display:flex;
justify-content:center;
gap:25px;
}

.social{
width:55px;
height:55px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:#000000;
transition:.3s ease;
}

.social svg{
width:24px;
fill:white;
}

/* HOVER PREMIUM */

.social.instagram:hover{
background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);
transform:translateY(-6px);
}

.social.facebook:hover{
background:#1877f2;
transform:translateY(-6px);
}

.social.email:hover{
background:#25D366;
transform:translateY(-6px);
}





.localizacao-intro{
padding:100px 20px 50px;
text-align:center;
background:#f3f4f6;
}

.localizacao-icon{
font-size:42px;
margin-bottom:15px;
animation:pulse 2s infinite;
}

@keyframes pulse{
0%{transform:scale(1);}
50%{transform:scale(1.15);}
100%{transform:scale(1);}
}

/* TÍTULO COM MICRO ANIMAÇÃO */

.localizacao-intro h2{
font-size:34px;
margin-bottom:15px;
animation:fadeUp .8s ease forwards;
}

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(20px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* TEXTO */

.localizacao-intro p{
max-width:700px;
margin:auto;
font-size:18px;
line-height:1.6;
color:#555;
opacity:0;
transform:translateY(20px);
transition:.8s ease;
}

.reveal.show .localizacao-intro p{
opacity:1;
transform:translateY(0);
}

/* DIVISOR COM GRADIENTE */

.divider{
width:90px;
height:4px;
background:linear-gradient(90deg,#c40000,#ff4b4b);
margin:40px auto 0;
border-radius:10px;
}

/* SOMBRA SUAVE NO MAPA */

.mapa iframe{
border-radius:20px;
max-width:1100px;
margin:auto;
display:block;
box-shadow:0 20px 40px rgba(0,0,0,.12);
}




/* FOOTER */
.footer{
background:#111;
color:white;
text-align:center;
padding:60px 20px;
}

.footer-logo{
width:160px;
margin-bottom:20px;
}

.footer p{
margin:8px 0;
opacity:.85;
}

.copy{
margin-top:20px;
font-size:14px;
opacity:.5;
}

/* WHATSAPP */
.zap{
position:fixed;
right:20px;
bottom:20px;
background:#25d366;
padding:15px;
border-radius:50%;
font-size:22px;
color:white;
text-decoration:none;
box-shadow:0 5px 15px rgba(0,0,0,.3);
}

/* MOBILE */
@media(max-width:600px){

.home h2{
font-size:28px;
}

}




.header-social{
display:flex;
gap:10px;
margin-left:20px;
}

.header-social .social{
width:36px;
height:36px;
}

.header-social svg{
width:16px;
}

@media(max-width:768px){
.header-social{
display:none;
}
}
