/* Paleta verde clarinho com luxo */
:root{
  --bg1:#eefaf1;
  --bg2:#e6f6ec;
  --shine:#ffffffcc;
  --ink:#0b3d2e;        /* verde escuro principal para textos */
  --ink-2:#0e5a44;      /* variação para títulos/botões */
  --muted:#2f6a57a6;
  --border:#9fd8b9;
  --panel:#ffffff;
  --panel-2:#f5fff8;
  --accent:#1c6b52;     /* botão e links */
  --accent-2:#0f5a44;
  --radius:18px;
  --shadow:0 10px 30px rgba(11,61,46,.12);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--ink);
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial;
  background:
    radial-gradient(1200px 600px at 10% -10%, var(--shine), transparent 40%),
    linear-gradient(180deg, var(--bg1), var(--bg2));
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.container{width:min(1100px,92%); margin-inline:auto}
.narrow{width:min(880px,92%)}

a{color:var(--accent); text-decoration:none}
a:hover{opacity:.9}

.btn{
  display:inline-block; padding:.95rem 1.2rem; border-radius:999px;
  background:linear-gradient(180deg, #d9ffee, #b9f3d8);
  color:var(--ink-2); border:1px solid var(--border); font-weight:700;
  box-shadow:var(--shadow); transition:transform .15s ease, box-shadow .2s ease;
}
.btn:hover{ transform:translateY(-1px); box-shadow:0 18px 40px rgba(11,61,46,.18) }
.btn.ghost{ background:transparent; color:var(--ink); }
.btn.wide{ width:100% }

/* Topbar */
.topbar{position:sticky; top:0; backdrop-filter: blur(10px);
  background:linear-gradient(180deg, #ffffffaa, #ffffff77);
  border-bottom:1px solid var(--border); z-index:20}
.nav{display:flex; align-items:center; gap:16px; padding:12px 0}
.brand{display:flex; align-items:center; gap:10px; color:var(--ink); font-weight:700}
.mark{display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%;
  background:linear-gradient(180deg, #eafff4, #c9f6df); border:1px solid var(--border)}
.menu{margin-left:auto; display:flex; gap:18px}
.menu a{color:var(--ink); opacity:.8}
.menu a:hover{opacity:1}
.burger{display:none; background:transparent; border:0; width:42px; height:42px; position:relative}
.burger span{position:absolute; left:10px; right:10px; height:2px; background:var(--ink); transition:.2s}
.burger span:nth-child(1){top:12px}
.burger span:nth-child(2){top:20px}
.burger span:nth-child(3){top:28px}
.mobile{display:none; flex-direction:column; gap:10px; padding:12px; border-bottom:1px solid var(--border); background:#f6fff9}

/* Hero */
.hero{padding:64px 0 32px}
.hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center}
.copy h1{font:700 clamp(2rem,5vw,3.2rem)/1.06 'Playfair Display', serif; margin:0 0 10px; color:var(--ink-2)}
.copy p{color:var(--muted); margin:0 0 16px}
.cta{display:flex; gap:12px; flex-wrap:wrap}

.card{background:var(--panel); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow)}
.glass{background:linear-gradient(180deg, #ffffffcc, #ffffff); padding:18px}
.form{display:grid; gap:12px}
.form h3{margin:4px 0 4px; color:var(--ink-2)}
.form .row{display:grid; grid-template-columns:1fr 1fr; gap:12px}
label{display:grid; gap:6px; font-weight:600; color:var(--ink-2)}
input, select, textarea{
  border:1px solid var(--border); border-radius:12px; padding:12px 14px;
  background:var(--panel-2); color:var(--ink);
}
input::placeholder{color:#679c88a6}
.note{color:#3e7c68}
.form.xl{padding:26px}
.status{margin-top:8px; font-weight:600; color:#1d6b53}

/* Seções */
.section{padding:64px 0}
.section.alt{background:linear-gradient(180deg, #f0fff7, #ecfff5)}
.title{font:700 clamp(1.6rem,3vw,2.2rem)/1.1 'Playfair Display', serif; margin:0 0 8px; color:var(--ink-2)}
.sub{color:#2f6a57bb; margin:0 0 20px}
.chips{display:flex; flex-wrap:wrap; gap:10px}
.chip{border:1px solid var(--border); padding:.55rem .9rem; border-radius:999px; background:#ffffffaa; color:var(--ink)}

.grid{display:grid; gap:16px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:repeat(3,1fr)}
.feature{background:var(--panel); border:1px solid var(--border); border-radius:var(--radius); padding:16px; box-shadow:var(--shadow)}
.feature .icon{font-size:1.6rem; margin-bottom:6px}

/* Contato & Footer */
.contact{display:flex; gap:18px; flex-wrap:wrap}
.footer{border-top:1px solid var(--border); padding:18px 0; background:#f4fff9}
.footer-grid{display:flex; justify-content:space-between; align-items:center}
.muted{opacity:.8}

/* Mobile */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr}
  .menu{display:none}
  .burger{display:block}
  .mobile{display:flex}
  .g3{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .g2,.g3{grid-template-columns:1fr}
  .form .row{grid-template-columns:1fr}
}
