:root{
  --fundo:#f6faf7;
  --tinta:#16221b;
  --realce:#168a4a;
  --acao:#0f6b38;
  --cartao:#ffffff;
  --suave:#e2efe6;
  --linha:#cfe1d5;
  --texto-suave:#5b6d61;
  --alerta:#b96b00;
  --sombra:0 22px 70px rgba(22,34,27,.12);
  --radius:30px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--tinta);
  background:
    radial-gradient(circle at 12% 2%, rgba(22,138,74,.13), transparent 28rem),
    linear-gradient(180deg,#fff 0,var(--fundo) 38rem,var(--fundo) 100%);
  font-family:ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  line-height:1.6;
  text-rendering:optimizeLegibility;
}
a{color:#0f6b38;text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{color:#094d29}
:focus-visible{outline:3px solid #9b5a00;outline-offset:4px;border-radius:10px}
img,svg{max-width:100%;height:auto}
.skip-link{
  position:absolute;
  left:1rem;
  top:-5rem;
  z-index:20;
  padding:.8rem 1rem;
  border-radius:999px;
  background:var(--tinta);
  color:#fff;
  font-weight:800;
}
.skip-link:focus{top:1rem}
.topo{
  position:sticky;
  top:0;
  z-index:10;
  background:rgba(246,250,247,.9);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(207,225,213,.75);
}
.topo-inner{
  width:min(1120px,calc(100% - 2rem));
  margin:auto;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.marca{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  min-height:48px;
  color:var(--tinta);
  font-weight:900;
  letter-spacing:-.03em;
  text-decoration:none;
}
.marca-simbolo{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,var(--acao),var(--realce));
  box-shadow:0 10px 24px rgba(15,107,56,.22);
}
.menu{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.menu a,.rodape-nav a{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:.65rem .8rem;
  border-radius:999px;
  color:var(--tinta);
  text-decoration:none;
  font-weight:750;
}
.menu a:hover,.rodape-nav a:hover{background:var(--suave);color:#0c512c}
.hero{padding:2rem 0 3rem;overflow:hidden}
.hero-grid{
  width:min(1120px,calc(100% - 2rem));
  margin:auto;
  display:grid;
  gap:1.35rem;
  align-items:center;
}
.hero-texto{
  position:relative;
  padding:1.25rem;
  border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.45));
}
.selo,.badge-atualizado{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin:0 0 1rem;
  padding:.42rem .7rem;
  border:1px solid rgba(22,138,74,.22);
  border-radius:999px;
  background:#fff;
  color:#0d5d31;
  font-size:.88rem;
  font-weight:850;
}
.selo:before,.badge-atualizado:before{
  content:'';
  width:.55rem;
  height:.55rem;
  border-radius:50%;
  background:var(--realce);
  box-shadow:0 0 0 4px rgba(22,138,74,.12);
}
h1{
  max-width:13ch;
  margin:0;
  font-size:clamp(2.35rem,13vw,7.7rem);
  line-height:.9;
  letter-spacing:-.075em;
  font-weight:950;
}
.hero-descricao{
  max-width:62ch;
  margin:1.25rem 0 0;
  color:var(--texto-suave);
  font-size:clamp(1.05rem,2vw,1.28rem);
}
.hero-acoes{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.45rem}
.botao,button,input[type=submit]{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.82rem 1.05rem;
  border:1px solid var(--acao);
  border-radius:999px;
  background:var(--acao);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(15,107,56,.2);
}
.botao:hover,button:hover,input[type=submit]:hover{background:#0a532b;color:#fff;border-color:#0a532b}
.botao-fantasma{
  background:#fff;
  color:#0f6b38;
  border-color:var(--linha);
  box-shadow:none;
}
.botao-fantasma:hover{background:var(--suave);color:#0a532b;border-color:var(--linha)}
.numero-card{
  position:relative;
  padding:1.2rem;
  border:1px solid var(--linha);
  border-radius:calc(var(--radius) + 8px);
  background:
    linear-gradient(90deg,rgba(22,138,74,.08) 1px,transparent 1px) 0 0/24px 24px,
    linear-gradient(180deg,#fff,#f2fbf5);
  box-shadow:var(--sombra);
}
.numero-label{display:block;color:var(--texto-suave);font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.numero-card strong{
  display:block;
  margin:.2rem 0;
  font-size:clamp(5.5rem,28vw,10rem);
  line-height:.82;
  letter-spacing:-.09em;
  color:var(--acao);
}
.numero-sub{display:block;max-width:18rem;font-weight:800;color:var(--tinta)}
.linha-metrica{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:.8rem;
  padding:.78rem .9rem;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--suave);
}
.linha-metrica span{color:var(--texto-suave)}
.linha-metrica b{color:var(--tinta)}
.conteudo-pagina{
  width:min(1040px,calc(100% - 2rem));
  margin:0 auto 3.5rem;
}
.conteudo-pagina>section,.conteudo-pagina>article,.card{
  margin:1rem 0;
  padding:1.15rem;
  border:1px solid var(--linha);
  border-radius:var(--radius);
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 36px rgba(22,34,27,.06);
}
h2,h3{
  line-height:1.12;
  letter-spacing:-.04em;
  margin:0 0 .7rem;
}
h2{font-size:clamp(1.65rem,4vw,2.55rem)}
h3{font-size:clamp(1.25rem,3vw,1.65rem)}
p{margin:.75rem 0}
ul,ol{padding-left:1.25rem}
li+li{margin-top:.35rem}
mark{background:#d8f3e2;color:#0a532b;padding:0 .22em;border-radius:6px}
.autor{
  display:grid;
  gap:.45rem;
  margin:1rem 0;
  padding:1rem;
  border-radius:24px;
  border:1px solid var(--linha);
  background:linear-gradient(135deg,#fff,rgba(226,239,230,.65));
  box-shadow:inset 5px 0 0 var(--realce);
}
.autor strong{font-size:1.05rem}
.autor p{margin:0;color:var(--texto-suave)}
.captura-inline,form[data-captura]{
  display:grid;
  gap:.7rem;
  margin:1rem 0;
  padding:.85rem;
  border:1px solid var(--linha);
  border-radius:26px;
  background:#fff;
}
.captura-inline input,form[data-captura] input,textarea,select{
  width:100%;
  min-height:48px;
  padding:.85rem 1rem;
  border:1px solid #b8cdbf;
  border-radius:18px;
  background:#fbfffc;
  color:var(--tinta);
  font:inherit;
}
.captura-inline input:focus,form[data-captura] input:focus,textarea:focus,select:focus{border-color:var(--acao);outline:3px solid rgba(22,138,74,.18)}
table{
  display:block;
  width:100%;
  overflow-x:auto;
  border-collapse:separate;
  border-spacing:0;
  margin:1rem 0;
  border:1px solid var(--linha);
  border-radius:24px;
  background:#fff;
}
caption{padding:.9rem 1rem;text-align:left;font-weight:850;color:var(--texto-suave)}
th,td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--suave);vertical-align:top}
th{background:#edf7f0;color:#173b25;font-size:.9rem}
tr:last-child td{border-bottom:0}
details{
  margin:.85rem 0;
  padding:1rem;
  border:1px solid var(--linha);
  border-radius:22px;
  background:#fff;
}
summary{cursor:pointer;font-weight:900;min-height:44px;display:flex;align-items:center;color:var(--tinta)}
summary::marker{color:var(--realce)}
blockquote{
  margin:1rem 0;
  padding:1rem 1rem 1rem 1.15rem;
  border-left:5px solid var(--realce);
  border-radius:18px;
  background:#fff;
  color:#304437;
}
hr{border:0;border-top:1px solid var(--linha);margin:1.4rem 0}
.rodape{
  margin-top:2rem;
  padding:2rem 0;
  background:#102018;
  color:#e8f4eb;
}
.rodape-inner{width:min(1120px,calc(100% - 2rem));margin:auto}
.rodape-topo{display:grid;gap:1rem;align-items:center;border-bottom:1px solid rgba(232,244,235,.15);padding-bottom:1rem;margin-bottom:1rem}
.rodape .marca,.rodape a{color:#fff}
.rodape .marca-simbolo{box-shadow:none}
.rodape-nav{display:flex;gap:.25rem;flex-wrap:wrap}
.rodape-nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.disclosure{
  padding:1rem;
  border-radius:22px;
  background:rgba(255,255,255,.07);
  color:#d8e8dc;
}
.legal{color:#c5d7ca;font-size:.92rem}
.legal a{font-weight:800}
@media (min-width:720px){
  .hero{padding:3.5rem 0 4rem}
  .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);gap:2rem}
  .hero-texto{padding:2rem}
  .numero-card{padding:1.55rem;transform:rotate(1.4deg)}
  .conteudo-pagina>section,.conteudo-pagina>article,.card{padding:1.6rem}
  .captura-inline,form[data-captura]{grid-template-columns:1fr auto;align-items:center;padding:.75rem}
  .rodape-topo{grid-template-columns:1fr auto}
}
@media (min-width:980px){
  .topo-inner{min-height:82px}
  .hero-texto{padding:2.4rem}
  .conteudo-pagina{margin-top:-1rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
}