html,body,div,header,footer,section,nav,img,h1,h2,h3,p,a{
box-sizing:border-box;
}


body{

margin:0;
padding:0;

font-family:Arial, Helvetica, sans-serif;

color:#222;

background:#fff;

line-height:1.6;

}


/* CABEÇALHO */

header{

height:72px;

background:#0b0b0b;

display:flex;

align-items:center;

justify-content:space-between;

padding:0 5%;

position:sticky;

top:0;

z-index:999;

box-shadow:0 2px 12px rgba(0,0,0,.15);

}



/* LOGO */

.logo{

display:flex;

align-items:center;

}


.logo img{

width:115px;

height:auto;

display:block;

transition:0.3s;


}



nav{

display:flex;

align-items:center;

gap:25px;

}



nav a{

color:white;

text-decoration:none;

font-size:15px;

font-weight:500;

letter-spacing:0.3px;

transition:0.3s;

}



nav a:hover{

color:#d4af37;

}



/* HOME */


.hero{

height:85vh;


background:

linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),

url('/imagens/banner.jpg');


background-size:cover;

background-position:center;


display:flex;

align-items:center;

padding:0 8%;


color:white;

}



.hero div{

max-width:750px;

}



.hero h1{

font-size:48px;

line-height:1.1;

margin-bottom:25px;

}



.hero p{

font-size:20px;

margin-bottom:30px;

}



.hero a,
section a{

background:#d4af37;

color:#000;

padding:14px 30px;

border-radius:30px;

text-decoration:none;

font-weight:bold;

display:inline-block;

}




section{

padding:75px 8%;

}


h1{

font-size:44px;

}


h2{

font-size:34px;

margin-bottom:25px;

}


h3{

font-size:24px;

}


p{

font-size:18px;

}



/* BANNER INTERNO */

.inner-banner{

height:380px;


background:

linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)),

url('/imagens/banner-interno.jpg');


background-size:cover;

background-position:center;


display:flex;

align-items:center;

justify-content:center;


color:white;

text-align:center;

}



.inner-banner h1{

font-size:45px;

}




.content{

max-width:1200px;

margin:auto;

}



/* SOBRE */


.about-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:40px;

align-items:center;

}


.about-grid img{

width:100%;

border-radius:20px;

}



/* SERVIÇOS */

.gallery{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}



.service-card{

background:white;

border-radius:20px;

overflow:hidden;

box-shadow:0 10px 25px rgba(0,0,0,.15);

}



.service-card img{

width:100%;

height:250px;

object-fit:cover;

}



.service-card h3,
.service-card p{

padding:15px 25px;

}





/* PROJETOS */


.project-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}



.project-card{

background:white;

border-radius:20px;

overflow:hidden;

box-shadow:0 10px 25px rgba(0,0,0,.15);

}



.project-card img{

width:100%;

height:250px;

object-fit:cover;

}



.project-card h3{

padding:20px;

}





/* CONTATO */


.contact-layout{

display:flex;

flex-direction:column;

gap:25px;

}



.contact-info,
.contact-form{

background:#f5f5f5;

padding:35px;

border-radius:20px;

max-width:850px;

width:100%;

margin:auto;

}



.contact-form form{

display:flex;

flex-direction:column;

gap:15px;

}



.contact-form input,
.contact-form textarea{

width:100%;

padding:15px;

border-radius:10px;

border:1px solid #ccc;

font-size:16px;

}


.contact-form textarea{

height:150px;

}



.contact-form button{

background:#d4af37;

border:0;

padding:14px 35px;

border-radius:30px;

font-weight:bold;

align-self:center;

}





/* CARDS HOME */


.cards{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}


.cards div{

background:#f5f5f5;

padding:30px;

border-radius:20px;

}






/* RODAPÉ PREMIUM SLIM */

footer{
background:#0b0b0b !important;
color:white !important;
padding:35px 8% 20px;
text-align:center;
}

.footer-content{
max-width:1000px;
margin:auto;
}

.footer-content h3{
color:#d4af37;
font-size:24px;
margin-bottom:10px;
}

.footer-content p{
font-size:15px;
margin:8px 0;
color:#d5d5d5;
}

.footer-content a{
color:white;
text-decoration:none;
margin:0 10px;
font-size:15px;
transition:.3s;
}

.footer-content a:hover{
color:#d4af37;
}

.copy{
margin-top:20px;
padding-top:15px;
border-top:1px solid rgba(255,255,255,.12);
font-size:13px;
color:#9a9a9a;
}

/* WHATSAPP */

.whatsapp{
position:fixed;
right:25px;
bottom:25px;
background:#25D366;
color:white;
padding:14px 22px;
border-radius:40px;
text-decoration:none;
z-index:999;
}

/* MOBILE */

@media(max-width:800px){

header{
height:auto;
padding:20px;
flex-direction:column;
gap:15px;
}

.logo img{
width:100px;
}

nav{
flex-wrap:wrap;
justify-content:center;
}

.hero h1{
font-size:34px;
}

.cards,
.gallery,
.project-grid,
.about-grid{
grid-template-columns:1fr;
}

}

.service-card h3 a{
color:inherit;
text-decoration:none;
}

.service-card h3 a:hover{
color:#c9a227;
}

