:root{

--bg:#b3b1ae;          /* fundo principal */

--text:#5a676d;        /* texto forte */

--primary:#37474f;     /* títulos e seções */

--secondary:#807e7f;   /* textos secundários */

--accent:#00000;      /* botões e destaque */
--offwhite:#faf9f6
}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins', sans-serif;
}

body{
background:var(--bg);
color:var(--dark);
line-height:1.6;
font-family: 'Quicksand', sans-serif;
}

.container{
width:90%;
max-width:1100px;
margin:auto;
}

/* HEADER */
.logo{
    width: 15%;
}
header{
background:var(--primary);
color:white;
padding:20px 0;
position:fixed;
width:100%;
top:0;
z-index:1000;
align-items: center;
}


header .container{
display:flex;
justify-content:space-between;
align-items:center;
}

nav{
display:flex;
gap:25px;
}

nav a{
color:white;
margin-left:25px;
text-decoration:none;
font-weight:400;
transition:.3s;
}

nav a:hover{
color:var(--accent);
}

/* HAMBURGUER */

.menu-toggle{
display:none;
flex-direction:column;
cursor:pointer;
gap:5px;
}

.menu-toggle span{
width:25px;
height:3px;
background:white;
}

/* HERO */

.hero{
min-height:100vh;
background:linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)),
url("https://images.unsplash.com/photo-1589829545856-d10d557cf95f");
background-size:cover;
background-position:center;
background-repeat:no-repeat;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:white;
padding:20px;
}

.hero h1{
font-size:48px;
margin-bottom:15px;
font-weight:600;
}

.hero p{
font-size:18px;
margin-bottom:25px;
color:#e5e5e5;
}

.btn{
background:var(--accent);
color:white;
padding:14px 32px;
text-decoration:none;
border-radius:6px;
font-weight:500;
transition:.3s;
}

.btn:hover{
background:var(--dark);
}

/* SEÇÕES */

.sobre, .diferenciais{
padding:110px 0;
background-color: var(--offwhite);
}

.areas , .depoimentos{
    padding:110px 0;
}

/* SOBRE */

.sobre-grid{
display:flex;
align-items:center;
gap:60px;
}

.sobre-texto{
flex:1;
text-align:left;
}

.sobre-texto h2{
margin-bottom:20px;
color:var(--primary);
font-size:32px;
}

.sobre-texto p{
color:var(--primary);
}

.sobre-foto{
flex:1;
text-align:center;
}

.sobre-foto img{
width:100%;
max-width:350px;
border-radius:12px;
box-shadow:0 10px 25px rgba(0,0,0,.15);
}

/* ÁREAS */

.areas h2,
.diferenciais h2,
.depoimentos h2{
text-align:center;
font-size:32px;
margin-bottom:40px;
color:var(--primary);
}

/* GRID */

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:60px;
}

/* CARDS */

.card{
background:white;
padding:35px;
border-radius:10px;
transition:.3s;
border:1px solid #eee;
}

.card h3{
color:var(--primary);
margin-bottom:10px;
}

.card p{
color:var(--gray);
}

.card:hover{
transform:translateY(-6px);
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

/* DIFERENCIAIS */



/* DEPOIMENTOS */

.depoimentos .card{
font-style:italic;
}

/* CTA */

.cta{
background:var(--primary);
color:white;
text-align:center;
padding:90px 20px;
}

.cta h2{
font-size:30px;
}

.btn-whatsapp{
background:#25D366;
padding:16px 34px;
color:white;
text-decoration:none;
border-radius:8px;
display:inline-block;
margin-top:25px;
font-weight:500;
transition:.3s;
}

.btn-whatsapp:hover{
transform:scale(1.05);
}

/* FOOTER */

footer{
background:var(--primary);
color:white;
text-align:center;
padding:25px;
font-size:14px;
}

/* BOTÃO FLUTUANTE */

.whatsapp{
position:fixed;
bottom:25px;
right:25px;
background:#25D366;
color:white;
padding:15px 18px;
border-radius:50px;
text-decoration:none;
font-weight:bold;
box-shadow:0 4px 12px rgba(0,0,0,.3);
transition:.3s;
}

.whatsapp:hover{
transform:scale(1.1);
}

/* RESPONSIVO */

@media (max-width:768px){

.sobre-grid{
flex-direction:column;
text-align:center;
}
.hero{
min-height:70vh;
background-position:center top;
padding:40px 20px;
font-size: 20px;
}


.hero h1{
font-size:20px;
}

.hero p{
font-size:16px;
}


header .container{
flex-direction:column;
align-items:flex-start;
gap:10px;
}

nav{
position:absolute;
top:70px;
right:0;
background:var(--black);
width:220px;
flex-direction:column;
padding:20px;
display:none;
}

nav.active{
display:flex;
}

.menu-toggle{
display:flex;
flex-direction:column;
cursor:pointer;
gap:5px;
}


nav a{
margin:0;
font-size:14px;
}


nav{
position:absolute;
top:70px;
right:0;
background:var(--black);
width:200px;
flex-direction:column;
padding:20px;
display:none;
}

nav a{
padding:10px 0;
}

nav.active{
display:flex;
}
.logo{
    width: 30%;
}

}