:root {
  --verde: #14382f;
  --verde-2: #1d4a3f;
  --verde-3: #0d2721;
  --bege: #cdbb9c;
  --bege-claro: #efe7da;
  --papel: #faf7f2;
  --tinta: #1f2a26;
  --tinta-suave: #4b5a54;
  --linha: #e2d8c8;
  --serif: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--papel); color: var(--tinta); font: 17px/1.65 var(--sans); }
a { color: var(--verde-2); }
img, svg { max-width: 100%; }
.envolve { max-width: 1080px; margin: 0 auto; padding: 0 20px; }

/* topo */
.topo { background: var(--verde); color: var(--bege-claro); position: sticky; top: 0; z-index: 10; }
.topo .envolve { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; }
.marca { display: flex; align-items: center; gap: 12px; color: var(--bege-claro); text-decoration: none; }
.marca .t { width: 38px; height: 38px; border: 1.5px solid var(--bege); border-radius: 8px; display: grid; place-items: center;
  font: 600 24px/1 var(--serif); color: var(--bege); }
.marca .nome { font: 600 18px/1.1 var(--serif); letter-spacing: .04em; }
.marca .nome small { display: block; font: 400 11px/1.4 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--bege); }
.menu { display: flex; gap: 22px; font-size: 15px; }
.menu a { color: var(--bege-claro); text-decoration: none; opacity: .9; }
.menu a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }

/* abertura */
.abertura { background: linear-gradient(180deg, var(--verde) 0%, var(--verde-3) 100%); color: var(--bege-claro); padding: 72px 0 84px; }
.abertura h1 { font: 600 clamp(30px, 5vw, 48px)/1.15 var(--serif); margin: 0 0 18px; max-width: 760px; color: #fff; }
.abertura p { font-size: 19px; max-width: 680px; margin: 0 0 30px; color: var(--bege-claro); }
.botao { display: inline-block; background: var(--bege); color: var(--verde-3); font-weight: 600; text-decoration: none;
  padding: 14px 26px; border-radius: 10px; }
.botao:hover { background: #dccbad; }
.botao.claro { background: transparent; color: var(--bege-claro); border: 1.5px solid var(--bege); margin-left: 10px; }
.selo { margin-top: 26px; font-size: 14px; color: var(--bege); letter-spacing: .02em; }

/* secoes */
section { padding: 72px 0; }
section h2 { font: 600 clamp(26px, 3.6vw, 34px)/1.2 var(--serif); color: var(--verde); margin: 0 0 12px; }
.sub { color: var(--tinta-suave); max-width: 720px; margin: 0 0 36px; }
.cartoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.cartao { background: #fff; border: 1px solid var(--linha); border-radius: 14px; padding: 26px; }
.cartao h3 { font: 600 21px/1.3 var(--serif); color: var(--verde); margin: 0 0 10px; }
.cartao p { margin: 0; color: var(--tinta-suave); }
.faixa { background: var(--bege-claro); }
.passos { counter-reset: passo; list-style: none; padding: 0; margin: 0; display: grid; gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.passos li { background: #fff; border-radius: 14px; padding: 24px; border: 1px solid var(--linha); position: relative; }
.passos li::before { counter-increment: passo; content: counter(passo); display: grid; place-items: center; width: 34px; height: 34px;
  border-radius: 50%; background: var(--verde); color: var(--bege); font: 600 17px/1 var(--serif); margin-bottom: 12px; }
.passos strong { display: block; color: var(--verde); margin-bottom: 4px; }
.nota { font-size: 15px; color: var(--tinta-suave); margin-top: 26px; }
.sobre { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.ficha { background: var(--verde); color: var(--bege-claro); border-radius: 16px; padding: 30px; }
.ficha h3 { font: 600 22px/1.3 var(--serif); color: #fff; margin: 0 0 6px; }
.ficha dl { margin: 18px 0 0; display: grid; grid-template-columns: auto 1fr; gap: 8px 16px; font-size: 15px; }
.ficha dt { color: var(--bege); }
.ficha dd { margin: 0; }
.contato { text-align: center; }
.contato .sub { margin-left: auto; margin-right: auto; }

/* rodape */
.rodape { background: var(--verde-3); color: var(--bege); font-size: 14px; padding: 30px 0; }
.rodape .envolve { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
.rodape a { color: var(--bege-claro); }

/* politica */
.texto { max-width: 820px; padding: 56px 20px 72px; margin: 0 auto; }
.texto h1 { font: 600 clamp(28px, 4vw, 38px)/1.2 var(--serif); color: var(--verde); margin: 0 0 6px; }
.texto h2 { font: 600 22px/1.3 var(--serif); color: var(--verde); margin: 36px 0 10px; }
.texto .data { color: var(--tinta-suave); font-size: 15px; margin: 0 0 28px; }
.texto ul { padding-left: 22px; }
.texto li { margin-bottom: 6px; }

@media (max-width: 760px) {
  .menu { display: none; }
  .sobre { grid-template-columns: 1fr; }
  .botao.claro { margin: 12px 0 0; }
  section { padding: 56px 0; }
}
