:root {
  --verde: #1f5c4a;
  --verde-escuro: #16443a;
  --verde-claro: #e3f1ec;
  --creme: #fffaf0;
  --amarelo: #ffc43d;
  --texto: #2b2b2b;
  --suave: #666;
  --borda: #dcdcdc;
  --vermelho: #c00000;
  --vermelho-claro: #fde2e2;
  --laranja: #9c5700;
  --laranja-claro: #ffefc6;
  --raio: 14px;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; color: var(--texto); background: var(--creme); line-height: 1.6; font-size: 17px; }
a { color: var(--verde); }
.wrap { max-width: 920px; margin: 0 auto; padding: 0 16px; }
header.topo { background: var(--verde); color: #fff; }
header.topo .wrap { display: flex; align-items: center; justify-content: space-between; min-height: 60px; gap: 12px; }
.marca { color: #fff; text-decoration: none; font-weight: bold; font-size: 20px; }
.marca span { color: var(--amarelo); }
header.topo nav a { color: #fff; text-decoration: none; font-size: 15px; margin-left: 14px; opacity: .9; }
.hero { background: var(--verde); color: #fff; padding: 28px 0 40px; }
.hero h1 { font-size: clamp(26px, 5vw, 40px); line-height: 1.2; margin: 0 0 12px; color: #fff; }
.hero p { font-size: 18px; margin: 0; color: var(--verde-claro); max-width: 680px; }
h1, h2, h3 { line-height: 1.25; color: var(--verde-escuro); }
main h1 { font-size: clamp(26px, 5vw, 36px); margin: 28px 0 10px; }
main h2 { font-size: 24px; margin-top: 36px; }
.card { background: #fff; border: 1px solid var(--borda); border-radius: var(--raio); padding: 20px; margin: 20px 0; box-shadow: 0 2px 10px rgba(0,0,0,.04); }
.calc h2 { margin-top: 0; }
.campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin-bottom: 8px; }
label { display: block; font-size: 14px; font-weight: bold; color: #444; margin-bottom: 4px; }
label small { font-weight: normal; color: var(--suave); }
input { width: 100%; font: inherit; font-size: 16px; padding: 10px 12px; border: 1px solid var(--borda); border-radius: 10px; background: #fffdf3; }
input:focus { outline: 2px solid var(--verde); border-color: var(--verde); }
.itens { width: 100%; border-collapse: collapse; margin: 6px 0 4px; }
.itens td { padding: 4px 4px 4px 0; vertical-align: middle; }
.itens td:nth-child(2) { width: 130px; }
.itens td:last-child { width: 40px; }
.btn-x { background: none; border: 0; color: #999; font-size: 22px; cursor: pointer; padding: 4px 8px; }
.btn-x:hover { color: var(--vermelho); }
.btn-sec { background: var(--verde-claro); color: var(--verde); border: 0; border-radius: 10px; padding: 8px 14px; font: inherit; font-size: 15px; font-weight: bold; cursor: pointer; }
details.avancado { margin: 14px 0 6px; }
details.avancado summary { cursor: pointer; font-weight: bold; color: var(--verde); }
.resultado { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-top: 18px; }
.res { background: var(--verde-claro); border-radius: 12px; padding: 14px; }
.res .rot { font-size: 13px; color: var(--verde-escuro); font-weight: bold; text-transform: uppercase; letter-spacing: .3px; }
.res .val { font-size: 26px; font-weight: bold; color: var(--verde); }
.res.destaque { background: var(--verde); }
.res.destaque .rot, .res.destaque .val { color: #fff; }
.alerta { margin-top: 14px; padding: 12px 14px; border-radius: 10px; font-weight: bold; display: none; }
.alerta.prejuizo { display: block; background: var(--vermelho-claro); color: var(--vermelho); }
.alerta.baixo { display: block; background: var(--laranja-claro); color: var(--laranja); }
.alerta.ok { display: block; background: var(--verde-claro); color: var(--verde); }
.detalhe { font-size: 14px; color: var(--suave); margin-top: 10px; }
.cta { background: #fff; border: 2px solid var(--amarelo); border-radius: var(--raio); padding: 22px; margin: 32px 0; display: grid; grid-template-columns: 1fr; gap: 16px; align-items: center; }
@media (min-width: 700px) { .cta { grid-template-columns: 180px 1fr; } }
.cta img { width: 100%; max-width: 180px; border-radius: 10px; display: block; }
.cta h2 { margin: 0 0 6px; font-size: 22px; }
.cta ul { margin: 8px 0 14px; padding-left: 20px; }
.btn { display: inline-block; background: var(--amarelo); color: #2b2b2b; font-weight: bold; text-decoration: none; padding: 13px 22px; border-radius: 10px; font-size: 17px; }
.btn:hover { filter: brightness(.95); }
.btn.desativado { background: #e6e6e6; color: #777; pointer-events: none; }
.grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; padding: 0; list-style: none; }
.grade a { display: block; background: #fff; border: 1px solid var(--borda); border-radius: 10px; padding: 12px 14px; text-decoration: none; font-weight: bold; }
.grade a:hover { border-color: var(--verde); }
.faq h3 { font-size: 18px; margin-bottom: 4px; }
.faq p { margin-top: 0; }
footer { margin-top: 48px; padding: 24px 0; background: #f1ece0; font-size: 14px; color: var(--suave); }
footer a { color: var(--suave); }
.tabela { width: 100%; border-collapse: collapse; font-size: 15px; }
.tabela th, .tabela td { border-bottom: 1px solid var(--borda); padding: 8px 6px; text-align: left; }
.tabela td.num, .tabela th.num { text-align: right; }
.formula { background: #fff; border-left: 4px solid var(--verde); padding: 12px 16px; font-family: Consolas, monospace; font-size: 15px; overflow-x: auto; }
