
/* Styles for single-page site */
:root{
  --green-dark:#4B8063;
  --green-action:#3D7A5C;
  --beige:#E8E2D9;
  --bg:#FAFAF8;
  --text:#333333;
  --muted:#666666;
}

*{box-sizing:border-box}
body{
  font-family: 'Lato', sans-serif;
  margin:0;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.6;
}

/* Navigation / hero */
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:24px 40px;
}
.brand{
  font-weight:700;
  letter-spacing:0.2px;
}
.menu{
  list-style:none;
  display:flex;
  gap:18px;
  margin:0;
  padding:0;
  align-items:center;
}
.menu a{
  color:var(--text);
  text-decoration:none;
  font-weight:600;
}
.btn{
  padding:10px 18px;
  border-radius:10px;
  text-decoration:none;
  display:inline-block;
  border:0;
  cursor:pointer;
  font-weight:700;
}
.btn-primary{
  background:var(--green-action);
  color:white;
  padding:12px 20px;
  border-radius:999px;
  box-shadow: 0 4px 12px rgba(45,65,55,0.12);
}

/* Hero */
.hero{
  padding:40px;
  background:linear-gradient(180deg, rgba(255,255,255,0.6), rgba(255,255,255,0.6));
}
.hero-content{
  display:flex;
  gap:40px;
  align-items:center;
  justify-content:space-between;
  max-width:1100px;
  margin:40px auto;
}
.hero-text h1{
  font-family: 'Playfair Display', serif;
  font-size:38px;
  margin:0 0 12px 0;
  color:var(--text);
}
.lead{color:var(--muted); font-size:18px; margin-bottom:18px}

/* Sections */
.container{
  max-width:1100px;
  margin:40px auto;
  padding:0 24px;
}
.about-grid{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:28px;
  align-items:center;
}
.about-photo img{width:100%; border-radius:12px; border:1px solid rgba(0,0,0,0.04)}

/* Features */
.features{list-style:none; padding:0; margin:0; display:grid; gap:10px; color:var(--muted)}
.features li{background:white; padding:14px; border-radius:8px; border:1px solid rgba(0,0,0,0.04)}

/* Depoimentos */
.depoimentos blockquote{
  background:white;
  padding:20px;
  border-left:4px solid var(--green-dark);
  margin:12px 0;
  border-radius:6px;
  color:var(--muted);
}

/* Contact */
.contact-grid{display:grid; grid-template-columns:1fr 360px; gap:28px; align-items:start}
.contact-form input, .contact-form textarea{
  width:100%; padding:10px; margin-bottom:10px; border-radius:8px; border:1px solid rgba(0,0,0,0.08); font-size:14px;
}
.contact-form label{font-weight:700; font-size:13px; margin-top:6px; display:block}
.contact-info a{color:var(--green-dark); text-decoration:none; font-weight:700}

/* Footer */
.footer{padding:28px; text-align:center; color:var(--muted); font-size:14px}

/* Responsive */
@media (max-width:900px){
  .hero-content{flex-direction:column; text-align:center}
  .about-grid, .contact-grid{grid-template-columns:1fr; padding-bottom:20px}
  .menu{display:none}
}
