*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

:root{

/* PALETA PREMIUM ESTÉTICA */

--bg:#f8f4ef;
--bg-soft:#fffaf7;
--white:#ffffff;

--primary:#c6a27d;
--primary-dark:#b28b65;

--text:#493d35;
--text-light:#7c6f67;

--border:#e8ddd5;

--shadow:rgba(182,140,101,0.10);

}

body{
font-family:'Poppins',sans-serif;
background:var(--bg);
color:var(--text);
overflow-x:hidden;
line-height:1.7;
}

/* CONTAINER */

.container{
width:92%;
max-width:1200px;
margin:auto;
}

/* HEADER */

.header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:999;
background:rgba(255,250,247,0.96);
backdrop-filter:blur(16px);
border-bottom:1px solid var(--border);
}

/* NAV */

.nav{
display:grid;
grid-template-columns:90px 1fr auto;
align-items:center;
gap:25px;
min-height:72px;
}

/* LOGO */

.logo{
width:52px;
height:52px;
display:flex;
align-items:center;
justify-content:center;
background:#ffffff;
border-radius:14px;
overflow:hidden;
border:1px solid var(--border);
box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

.logo img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

/* MENU */

.nav ul{
display:flex;
justify-content:center;
gap:28px;
list-style:none;
}

.nav a{
text-decoration:none;
color:var(--text);
font-size:15px;
font-weight:500;
transition:.3s;
}

.nav a:hover{
color:var(--primary);
}

/* BOTÕES */

.btn-primary,
.btn-header{
background:var(--primary);
padding:15px 24px;
border-radius:12px;
color:#fff;
font-weight:600;
text-decoration:none;
display:inline-flex;
align-items:center;
justify-content:center;
transition:.3s;
border:none;
cursor:pointer;
box-shadow:0 12px 24px rgba(182,140,101,0.14);
}

.btn-primary:hover,
.btn-header:hover{
background:var(--primary-dark);
transform:translateY(-3px);
}

.btn-secondary{
padding:15px 24px;
border-radius:12px;
border:1px solid var(--border);
background:#ffffff;
color:var(--text);
text-decoration:none;
font-weight:500;
transition:.3s;
}

.btn-secondary:hover{
background:#f3e7dd;
}

/* HERO */

.hero{
height:100vh;
background:url('../img/hero.jpg') center center/cover no-repeat;
display:flex;
align-items:center;
position:relative;
overflow:hidden;
}

.overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:linear-gradient(
90deg,
rgba(248,244,239,0.96) 10%,
rgba(248,244,239,0.82) 45%,
rgba(248,244,239,0.20) 100%
);
}

.hero-content{
position:relative;
z-index:2;
}

.hero-text{
max-width:700px;
}

.tag,
.section-tag{
display:inline-block;
padding:10px 18px;
background:rgba(255,255,255,0.70);
border-radius:30px;
margin-bottom:22px;
font-size:14px;
font-weight:500;
color:var(--primary-dark);
border:1px solid rgba(255,255,255,0.4);
backdrop-filter:blur(10px);
}

.hero h1{
font-size:66px;
line-height:1.1;
margin-bottom:24px;
font-weight:700;
color:var(--text);
max-width:700px;
}

.hero p{
font-size:18px;
color:var(--text-light);
max-width:600px;
margin-bottom:35px;
}

.hero-buttons{
display:flex;
gap:18px;
flex-wrap:wrap;
}

/* SEÇÕES */

section{
padding:110px 0;
}

/* TITULOS */

.section-title{
text-align:center;
margin-bottom:60px;
}

.section-title h2{
font-size:44px;
margin-top:15px;
color:var(--text);
}

/* SOBRE */

.sobre-grid,
.contato-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

.sobre-img{
width:100%;
height:580px;
overflow:hidden;
border-radius:28px;
box-shadow:0 15px 35px rgba(0,0,0,0.08);
}

.sobre-img img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

/* DIFERENCIAIS */

.diferenciais{
margin-top:35px;
display:flex;
flex-direction:column;
gap:18px;
}

.item{
display:flex;
align-items:center;
gap:14px;
font-weight:500;
color:var(--text);
}

.item i{
width:46px;
height:46px;
display:flex;
align-items:center;
justify-content:center;
border-radius:12px;
background:#ffffff;
color:var(--primary);
box-shadow:0 8px 18px rgba(182,140,101,0.08);
}

/* CARDS */

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:28px;
}

.card{
background:rgba(255,255,255,0.80);
padding:40px;
border-radius:24px;
border:1px solid rgba(255,255,255,0.6);
backdrop-filter:blur(10px);
box-shadow:0 12px 30px rgba(182,140,101,0.08);
transition:.4s;
}

.card:hover{
transform:translateY(-8px);
}

.card i{
font-size:42px;
color:var(--primary);
margin-bottom:24px;
}

.card h3{
margin-bottom:14px;
color:var(--text);
}

.card p{
color:var(--text-light);
}

/* GALERIA */

.gallery-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
}

.gallery-grid img{
width:100%;
height:320px;
object-fit:cover;
display:block;
border-radius:24px;
transition:.4s;
box-shadow:0 10px 28px rgba(0,0,0,0.08);
}

.gallery-grid img:hover{
transform:scale(1.03);
}

/* DEPOIMENTOS */

.testimonials{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:28px;
}

.testimonial{
background:#ffffff;
padding:35px;
border-radius:24px;
border:1px solid var(--border);
box-shadow:0 10px 25px rgba(182,140,101,0.08);
}

.testimonial p{
margin-bottom:20px;
font-style:italic;
color:var(--text-light);
}

.testimonial h4{
color:var(--text);
}

/* CTA */

.cta-box{
background:linear-gradient(
135deg,
#fffaf7,
#f2e3d7
);
padding:80px;
border-radius:32px;
border:1px solid var(--border);
text-align:center;
box-shadow:0 15px 35px rgba(182,140,101,0.08);
}

.cta-box h2{
font-size:42px;
margin-bottom:20px;
color:var(--text);
}

.cta-box p{
max-width:700px;
margin:auto;
margin-bottom:35px;
color:var(--text-light);
}

/* CONTATO */

.contato{
background:var(--bg-soft);
}

.contact-form form{
display:flex;
flex-direction:column;
gap:20px;
}

.contact-form input,
.contact-form textarea{
padding:18px;
border-radius:14px;
border:1px solid var(--border);
background:#ffffff;
font-size:15px;
outline:none;
color:var(--text);
}

.contact-form textarea{
height:160px;
resize:none;
}

.contact-form button{
background:var(--primary);
color:#fff;
border:none;
padding:18px;
border-radius:14px;
font-weight:600;
cursor:pointer;
transition:.3s;
}

.contact-form button:hover{
background:var(--primary-dark);
}

.contact-item{
display:flex;
align-items:center;
gap:14px;
margin-top:18px;
color:var(--text);
}

.social{
display:flex;
gap:14px;
margin-top:28px;
}

.social a{
width:48px;
height:48px;
display:flex;
align-items:center;
justify-content:center;
background:#ffffff;
border-radius:12px;
color:var(--primary);
text-decoration:none;
box-shadow:0 8px 20px rgba(182,140,101,0.08);
transition:.3s;
}

.social a:hover{
transform:translateY(-4px);
}

/* MAPA */

.map iframe{
width:100%;
height:420px;
border:none;
margin-top:60px;
border-radius:28px;
}

/* FOOTER */

.footer{
padding:40px 0;
border-top:1px solid var(--border);
text-align:center;
background:#fffaf7;
color:var(--text-light);
}

/* WHATSAPP */

.whatsapp-float{
position:fixed;
right:20px;
bottom:20px;
width:60px;
height:60px;
background:#25d366;
display:flex;
align-items:center;
justify-content:center;
border-radius:16px;
color:#fff;
font-size:28px;
z-index:999;
text-decoration:none;
box-shadow:0 10px 24px rgba(0,0,0,0.15);
transition:.3s;
}

.whatsapp-float:hover{
transform:translateY(-4px);
}

/* RESPONSIVO */

@media(max-width:991px){

.nav{
grid-template-columns:60px 1fr;
min-height:70px;
}

.nav ul{
justify-content:flex-end;
gap:18px;
}

.btn-header{
display:none;
}

.hero{
height:auto;
padding:160px 0 110px;
}

.hero h1{
font-size:42px;
}

.hero p{
font-size:16px;
}

.sobre-grid,
.contato-grid{
grid-template-columns:1fr 1fr;
gap:24px;
align-items:start;
}

.sobre-img{
height:420px;
}

.gallery-grid{
grid-template-columns:repeat(2,1fr);
gap:14px;
}

.gallery-grid img{
height:220px;
}

.section-title h2{
font-size:34px;
}

.cta-box{
padding:50px 30px;
}

}

/* MOBILE */

@media(max-width:768px){

.nav{
grid-template-columns:50px 1fr;
gap:15px;
padding:10px 0;
}

.logo{
width:42px;
height:42px;
border-radius:10px;
}

.nav ul{
gap:14px;
flex-wrap:wrap;
justify-content:flex-end;
}

.nav a{
font-size:13px;
}

.hero{
padding:140px 0 90px;
}

.hero h1{
font-size:34px;
}

.hero p{
font-size:15px;
}

.hero-buttons{
flex-direction:column;
}

.btn-primary,
.btn-secondary{
width:100%;
}

.sobre-grid,
.contato-grid{
grid-template-columns:1fr 1fr;
gap:14px;
align-items:center;
}

.sobre-img{
height:260px;
border-radius:18px;
}

.gallery-grid{
grid-template-columns:repeat(2,1fr);
gap:10px;
}

.gallery-grid img{
height:140px;
border-radius:14px;
}

.cards{
grid-template-columns:1fr;
}

.testimonials{
grid-template-columns:1fr;
}

section{
padding:80px 0;
}

.cta-box h2{
font-size:30px;
}

}

/* CELULARES PEQUENOS */

@media(max-width:480px){

.nav{
grid-template-columns:42px 1fr;
}

.logo{
width:36px;
height:36px;
padding:2px;
}

.nav ul{
gap:10px;
}

.nav a{
font-size:12px;
}

.hero h1{
font-size:28px;
}

.hero p{
font-size:14px;
}

.gallery-grid{
grid-template-columns:repeat(2,1fr);
gap:8px;
}

.gallery-grid img{
height:110px;
}

.sobre-grid,
.contato-grid{
grid-template-columns:1fr 1fr;
gap:10px;
}

.sobre-img{
height:220px;
}

}