:root {
  --verde: #427b62;
  --cinza: #445155;
  --fundo: #f0f0f0;
  --texto: #2b2b2b;
  --white: #fff;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; }
body { font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; background: var(--fundo); color: var(--texto); }

.topbar {
  position: sticky; top:0; z-index: 50; background: var(--white);
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 22px; border-bottom: 1px solid rgba(0,0,0,.06);
}
.brand { display:flex; align-items:center; gap:10px; }
.brand img { height:60px; }
.brand-text { font-weight:700; color: var(--cinza); }
.toggle { background: none; border: none; font-size: 22px; display: none; cursor: pointer; }
.menu { display:flex; gap:16px; }
.menu a { color: var(--cinza); text-decoration:none; padding:6px 10px; border-radius:8px; }
.menu a:hover { color: var(--white); background: var(--verde); }

@media (max-width: 820px) {
  .toggle { display: block; }
  .menu { position: fixed; right: 12px; top: 60px; background: var(--white); padding: 10px; border:1px solid #e5e7eb; border-radius: 12px; display:none; flex-direction: column; }
  .menu.open { display:flex; }
}

.container { max-width: 1120px; margin: 0 auto; padding: 24px; }

.hero { background: var(--verde); color: var(--white); border-radius: 18px; margin-top: 18px; }
.hero-inner { padding: 80px 24px; text-align: center; }
.hero h1 { margin: 0 0 10px; font-size: clamp(26px, 4vw, 40px); }
.hero p { margin: 0 0 24px; font-size: clamp(14px, 2.2vw, 18px); opacity: .95; }
.cta-row { display:flex; gap: 12px; justify-content: center; }
.btn { background: var(--white); color: var(--verde); border: 2px solid var(--white); padding: 10px 16px; border-radius: 10px; text-decoration: none; font-weight:600; display:inline-block; }
.btn:hover { filter: brightness(.95); }
.btn.outline { background: transparent; color: var(--white); border-color: var(--white); }
.btn.small { padding: 8px 12px; font-size: 14px; }

.section-title { color: var(--cinza); border-left: 6px solid var(--verde); padding-left: 10px; margin: 40px 0 16px; }

.cards .grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.card { background: var(--white); padding: 18px; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.card h3 { margin-top: 0; color: var(--verde); }

@media (max-width: 900px) {
  .cards .grid { grid-template-columns: 1fr; }
}

.highlight { margin-top: 28px; }
.highlight-inner { background: var(--white); border: 1px solid #e5e7eb; border-radius: 14px; padding: 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.highlight .btn { background: var(--verde); color: var(--white); border-color: var(--verde); }

.page-head { margin-top: 12px; padding: 18px 0; }
.page-head h1 { margin: 0 0 6px; color: var(--cinza); }
.page-head p { margin: 0; color: #6b7280; }

.content { background: var(--white); border: 1px solid #e5e7eb; border-radius: 14px; padding: 18px; line-height: 1.6; }
.content p { margin-top: 0; }

.services-list { display:grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.service-item { background: var(--white); border: 1px solid #e5e7eb; border-radius: 12px; padding: 14px; }
.service-item h3 { margin: 0 0 6px; color: var(--verde); }
@media (max-width: 800px){ .services-list { grid-template-columns: 1fr; } }

.price-table-wrapper { margin-top: 8px; }
.price-table { width: 100%; border-collapse: collapse; background: var(--white); border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; }
.price-table th, .price-table td { padding: 12px; text-align: center; border-bottom: 1px solid #f0f0f0; }
.price-table thead th { background: #ecf4f0; color: var(--cinza); }
.price-table tbody tr:last-child td { border-bottom: none; }

.form { background: var(--white); border: 1px solid #e5e7eb; border-radius: 14px; padding: 18px; }
label { display:block; margin-bottom: 12px; font-weight: 600; color: var(--cinza); }
input[type='text'], input[type='email'], textarea {
  width: 100%; padding: 10px 12px; border:1px solid #e5e7eb; border-radius: 10px; outline: none;
  font-family: inherit; font-size: 15px; color: var(--texto);
}
input:focus, textarea:focus { border-color: var(--verde); box-shadow: 0 0 0 3px rgba(66,123,98,.12); }
.grid-2 { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 760px){ .grid-2 { grid-template-columns: 1fr; } }
.muted { color: #6b7280; font-size: 13px; }

.site-footer { background: var(--cinza); color: var(--white); margin-top: 30px; }
.site-footer .footer-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 14px; padding: 22px; }
.site-footer .footer-title { font-weight: 700; margin-bottom: 6px; }
.site-footer .copy { text-align:center; padding: 12px; background: rgba(0,0,0,.12); font-size: 14px; }
@media (max-width: 900px){ .site-footer .footer-grid { grid-template-columns: 1fr; } }

.whatsapp-fab {
  position: fixed; right: 18px; bottom: 18px; width: 56px; height: 56px; border-radius: 50%;
  background: #25d366; color: #fff; display:flex; align-items:center; justify-content:center;
  text-decoration: none; font-size: 26px; box-shadow: 0 6px 18px rgba(0,0,0,.15);
}
