.qvi-root{
  background: #fff;
  padding: clamp(64px, 8vw, 96px) clamp(20px, 3.2vw, 32px);
}
.qvi-root .qvi-wrap{ max-width: var(--max-w, 1200px); margin: 0 auto; }

.qvi-root .qvi-topo{
  display: grid;
  grid-template-columns: minmax(0, 600px) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
}
.qvi-root .qvi-stats{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.qvi-root .qvi-stat{
  border: 1px solid var(--gray-200, #E2E4E8);
  background: var(--bg, #FAFBFC);
  padding: 26px 24px;
}
.qvi-root .qvi-stat-num{
  display: block;
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: 900; font-family: var(--font-titulo) !important; letter-spacing: -.038em; line-height: 1;
  color: var(--green-text, #0A7E00);
  font-variant-numeric: tabular-nums;
}
.qvi-root .qvi-stat-un{ font-size: .56em; letter-spacing: 0; margin-left: .09em; }
.qvi-root .qvi-stat-label{
  margin-top: 10px;
  font-size: 1rem; font-weight: 700; line-height: 1.4;
  color: var(--gray-700, #374151);
}
.qvi-root .qvi-nota{
  margin-top: 0;
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  font-weight: 900; font-family: var(--font-titulo) !important; letter-spacing: -.022em; line-height: 1.25;
  color: var(--black, #111);
  max-width: 34ch;
}

.qvi-root .qvi-sec{
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid var(--gray-100, #EDEEF0);
}
.qvi-root .qvi-sec h2{
  font-size: clamp(1.596rem, 2.736vw, 2.166rem);
  font-weight: 900; font-family: var(--font-titulo) !important; letter-spacing: -.028em; line-height: 1.12;
  color: var(--black, #111);
}
.qvi-root .qvi-perfis{
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
  gap: 12px;
}
.qvi-root .qvi-perfil{
  display: flex; align-items: center; gap: 14px;
  border: 1px solid var(--gray-100, #EDEEF0);
  background: var(--bg, #FAFBFC);
  padding: 16px 18px;
  font-size: .95rem; font-weight: 600; line-height: 1.38;
  color: var(--gray-700, #374151);
}
.qvi-root .qvi-perfil-ico{
  flex: none;
  width: 22px; height: 22px;
  color: var(--green-text, #0A7E00);
}

.qvi-root .qvi-cols{
  margin-top: 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 48px;
  align-items: center;
}
.qvi-root .qvi-mapa{ max-width: 520px; }
.qvi-root .qvi-br{ display: block; width: 100%; height: auto; }
.qvi-root .qvi-reg{ stroke: #fff; stroke-width: 2.5; stroke-linejoin: round; }
.qvi-root .qvi-reg[data-regiao="sudeste"]{ fill: #0B8A00; }
.qvi-root .qvi-reg[data-regiao="sul"]{ fill: #5FB257; }
.qvi-root .qvi-reg[data-regiao="nordeste"]{ fill: #A9D4A3; }
.qvi-root .qvi-reg[data-regiao="norte"]{ fill: #C9E4C5; }
.qvi-root .qvi-reg[data-regiao="centro"]{ fill: #DCEEDA; }
.qvi-root .qvi-rot{ fill: #111; font-family: inherit; }
.qvi-root .qvi-rot[data-regiao="sudeste"]{ fill: #fff; }
.qvi-root .qvi-rot-pct{ font-size: 38px; font-weight: 900; font-family: var(--font-titulo) !important; letter-spacing: -.03em; }
.qvi-root .qvi-rot-nome{ font-size: 22px; font-weight: 600; }
.qvi-root .qvi-mapa-nota{
  margin-top: 8px;
  font-size: .83rem; color: var(--gray-500, #6B7280);
}
.qvi-root .qvi-lado p{
  font-size: 1.123rem; letter-spacing: .02em; font-family: var(--font-texto) !important; line-height: 1.65;
  color: var(--gray-700, #374151);
}
.qvi-root .qvi-lado p + p{ margin-top: 12px; }
.qvi-root .qvi-lado strong{
  display: block; margin-bottom: 12px;
  font-size: 1.02rem; font-weight: 900; font-family: var(--font-titulo) !important;
  letter-spacing: -.02em; color: var(--black, #111);
}

.qvi-root .qvi-lado-cta{ margin-top: 28px; }

@media (max-width: 860px){
  .qvi-root .qvi-cols{ grid-template-columns: 1fr; gap: 34px; }
  .qvi-root .qvi-mapa{ margin-inline: auto; }
  .qvi-root .qvi-topo{ grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 520px){
  .qvi-root .qvi-stats{ grid-template-columns: 1fr; }
  .qvi-root .qvi-lado-cta{ width: 100%; justify-content: center; }
}

.qvi-root .qvi-veja{
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid var(--gray-200, #E2E4E8);
}
.qvi-root .qvi-veja-rotulo{
  font-size: .7rem; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; color: var(--green-text, #0A7E00);
}
.qvi-root .qvi-veja-links{
  margin-top: 10px;
  display: flex; flex-wrap: wrap; gap: 8px 28px;
}
.qvi-root .qvi-veja-link{
  padding-block: 4px;
  font-size: .93rem; font-weight: 600;
  color: var(--black, #111);
  text-decoration: underline;
  text-decoration-color: var(--gray-300, #C7CBD1);
  text-underline-offset: 3px;
  transition: text-decoration-color .18s;
}
.qvi-root .qvi-veja-link:hover{ text-decoration-color: var(--green-dark, #0B8A00); }
