/* Identidade Votos: editorial na leitura, compacta nos dados; reaproveita todos os componentes do site. */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('./dm-sans-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('./dm-sans-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('./dm-sans-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400; font-display: swap; src: url('./source-serif-4-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 700; font-display: swap; src: url('./source-serif-4-latin-700-normal.woff2') format('woff2'); }
:root {
  --fundo: #f4f5f2; --superficie: #fff; --superficie-2: #ebeee7; --borda: #d8ded7;
  --texto: #1d2629; --texto-2: #4e5b5d; --texto-3: #65716d;
  --destaque: #334e45; --destaque-forte: #243a32; --sobre-destaque: #fff; --foco: #28738a;
  --fonte: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fonte-editorial: 'Source Serif 4', Georgia, serif;
  --verde-profundo: #172b26; --lima: #d5ee83; --sombra: 0 2px 7px rgb(29 38 41 / .025);
  --raio: .85rem; --raio-p: .45rem;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    --fundo: #131c19; --superficie: #1b2722; --superficie-2: #28352d; --borda: #3b4a42;
    --texto: #f0f2eb; --texto-2: #c4cdc5; --texto-3: #adb9af;
    --destaque: #d5ee83; --destaque-forte: #e2f3b3; --sobre-destaque: #172b26; --foco: #b9d7e2;
    --sombra: none;
  }
}
:root[data-theme='dark'] {
  --fundo: #131c19; --superficie: #1b2722; --superficie-2: #28352d; --borda: #3b4a42;
  --texto: #f0f2eb; --texto-2: #c4cdc5; --texto-3: #adb9af;
  --destaque: #d5ee83; --destaque-forte: #e2f3b3; --sobre-destaque: #172b26; --foco: #b9d7e2;
  --sombra: none;
}
html { scroll-padding-top: 1rem; }
body { line-height: 1.55; }
.largura { max-width: 90rem; padding-inline: clamp(1rem, 3vw, 3rem); }
main { min-width: 0; }
h1, h2 { font-family: var(--fonte-editorial); font-weight: 700; letter-spacing: -.04em; }
h1 { font-size: clamp(2rem, 2.8vw, 3.4rem); line-height: 1.12; }
h2 { font-size: clamp(1.5rem, 1.8vw, 2.05rem); line-height: 1.2; }
h3 { letter-spacing: .02em; }
a { text-underline-offset: .2em; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
select { max-width: 100%; }
.topo { position: relative; z-index: 8; }
.topo .largura { min-height: 5.1rem; gap: 1rem 2rem; flex-wrap: nowrap; }
.marca { display: flex; align-items: center; gap: .7rem; padding: 0; margin-right: .9rem; flex-shrink: 0; }
.marca > span:last-child { display: flex; flex-direction: column; }
.marca strong { font-family: var(--fonte-editorial); font-size: 2.2rem; font-weight: 700; letter-spacing: -.06em; line-height: 1; }
.marca small { font-size: .45rem; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; margin-top: .4rem; }
.marca-ponto { color: #708b36; }
.marca-icone { display: grid; grid-template-columns: repeat(3, 5px); gap: 2px; align-self: flex-start; margin-top: .25rem; }
.marca-icone i { width: 5px; height: 5px; background: var(--texto); border-radius: 1px; }
.marca-icone i:last-child { background: #96b54c; }
.nav { flex: 1; align-items: center; gap: .2rem; flex-wrap: nowrap; min-width: 0; }
.nav a { padding-inline: .8rem; font-size: .8rem; white-space: nowrap; font-weight: 600; border-radius: .35rem; }
.nav a[aria-current='page'] { background: var(--superficie-2); color: var(--texto); box-shadow: none; border-radius: .35rem; }
.nav a.nav-util { color: var(--texto-2); font-size: .75rem; }
.nav a.nav-util:first-of-type { margin-left: auto; }
.nav a[href$='/busca'] { margin-left: auto; }
.botao-tema { flex-shrink: 0; font-size: 1.25rem; }
.botao-menu { display: none; min-height: 44px; align-items: center; justify-content: center; gap: .7rem; padding: .5rem .75rem; border: 1px solid var(--borda); border-radius: .45rem; background: var(--superficie); cursor: pointer; font-size: .8rem; font-weight: 600; }
.barra-contexto { border-bottom: 1px solid var(--borda); background: var(--fundo); }
.barra-contexto .largura { display: flex; justify-content: space-between; gap: 1rem; align-items: center; min-height: 3.25rem; font-size: .69rem; }
.barra-contexto .largura > span { text-transform: uppercase; letter-spacing: .09em; font-weight: 700; }
.barra-contexto i { display: inline-block; width: 6px; height: 6px; margin-right: .5rem; background: #759b39; border-radius: 50%; vertical-align: .05rem; }
.barra-contexto a { color: var(--texto-2); text-decoration: none; white-space: nowrap; }
.migalhas ol { font-size: .75rem; padding-top: 1.2rem; }
.cabeca { padding-block: 2rem 1.2rem; gap: .8rem; }
.cabeca > .sub { max-width: 58rem; font-size: 1rem; }
.secao-pagina { margin-top: 2.4rem; gap: 1rem; }
.painel { padding: 1.4rem; gap: 1.1rem; }
.grade { gap: 1rem; }
.cartao { padding: 1.3rem; gap: .7rem; }
.cartao h3 { font-family: var(--fonte-editorial); font-size: 1.35rem; letter-spacing: -.025em; }
.cartao ol { gap: .4rem; }
.cartao li span { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.botao { border-radius: .45rem; padding: .65rem 1.15rem; font-size: .85rem; }
.botao.secundario { border-color: var(--borda); color: var(--texto); }
.botao.secundario:hover { color: var(--sobre-destaque); border-color: var(--destaque-forte); }
.mais { font-size: .84rem; gap: .25rem; }
.kpis { padding-top: .8rem; border-top: 1px solid var(--borda); gap: 1rem 2rem; }
.kpi b { font-size: 1.75rem; letter-spacing: -.035em; }
.kpi span { font-size: .69rem; }
.trilho { height: .8rem; border-radius: 3px; }
.trilho i { border-radius: 3px; }
.barra-nome a { font-size: .9rem; }
.barra-num b { font-size: 1.15rem; }
.barras { gap: 1.1rem; }
.rolagem { max-width: 100%; }
table { font-size: .86rem; }
th { padding: .85rem 1rem; font-size: .68rem; background: color-mix(in srgb, var(--superficie-2) 65%, var(--superficie)); }
td { padding: .8rem 1rem; }
.filtros label { font-size: .72rem; min-width: 0; max-width: 100%; }
.filtros select { width: 100%; min-width: 0; text-overflow: ellipsis; }
.filtros input, .filtros select, .campo { font-size: .9rem; }
.ficha { gap: .6rem 1.25rem; }
.ficha dd { line-height: 1.6; }
.pilula { font-size: .7rem; }
.sobrelinha { display: inline-block; font-size: .65rem; line-height: 1.5; font-family: var(--fonte); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.inicio-meta { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding-top: 2.3rem; }
.inicio-meta > .sobrelinha { color: var(--destaque); }
.inicio-meta > .sub { font-size: .72rem; }
.inicio-hero { display: grid; grid-template-columns: minmax(0, 1.32fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 4vw, 5rem); padding-block: 2rem 2.6rem; }
.inicio-chamada h1 { font-size: clamp(2.8rem, 4.4vw, 4.8rem); line-height: 1.04; letter-spacing: -.055em; }
.inicio-chamada > p { font-size: clamp(1.05rem, 1.5vw, 1.3rem); color: var(--texto-2); line-height: 1.55; margin-top: 1.7rem; }
.inicio-acoes { display: flex; flex-wrap: wrap; gap: .7rem; margin-block: 1.8rem 1rem; }
.inicio-acoes .botao { min-height: 48px; gap: 1rem; }
.inicio-chamada > .sub { display: block; font-size: .75rem; }
.achado-principal { display: flex; flex-direction: column; min-width: 0; padding: 1.7rem; border-radius: 1.05rem; background: var(--verde-profundo); color: #f6f7ee; border: 1px solid #354940; }
.achado-meta { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: 1.4rem; }
.achado-meta .sobrelinha { color: #c6d2c8; font-size: .58rem; letter-spacing: .06em; }
.achado-etiqueta { font-size: .61rem; background: #2a4036; color: #d4ded5; padding: .3rem .65rem; border-radius: 2rem; }
.achado-principal h2 { font-size: clamp(1.9rem, 2.7vw, 3rem); line-height: 1.06; color: inherit; }
.achado-principal h2 em { font-style: normal; color: var(--lima); }
.achado-principal > p { color: #d2dcd3; font-size: .76rem; line-height: 1.65; margin-top: 1.3rem; }
.achado-principal > a { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #485c50; margin-top: 1.3rem; padding-top: 1.05rem; color: var(--lima); text-decoration: none; font-weight: 600; font-size: .76rem; min-height: 44px; }
.achado-barras { display: flex; flex-direction: column; gap: .8rem; margin-top: 1.3rem; }
.achado-barras > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .25rem 1rem; font-size: .67rem; }
.achado-barras span { color: #d2dcd3; }
.achado-barras b { font-size: .75rem; }
.achado-barras i { grid-column: 1 / -1; height: 5px; display: block; background: linear-gradient(to right, var(--lima) var(--valor), #354b40 var(--valor)); border-radius: 2px; }
.achado-barras > div + div i { background: linear-gradient(to right, #a2bab0 var(--valor), #354b40 var(--valor)); }
.recorte-inicio { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1.3rem 2rem; padding-block: 1.5rem; border-block: 1px solid var(--borda); }
.recorte-inicio h2 { font-size: 1.8rem; margin-top: .25rem; }
.recorte-inicio .sobrelinha { color: var(--destaque); }
.seletor-territorio { display: flex; align-items: end; gap: .8rem; }
.seletor-territorio label, .recorte-periodo { display: flex; flex-direction: column; gap: .3rem; font-size: .72rem; color: var(--texto-2); }
.seletor-territorio select { min-height: 45px; min-width: 12rem; font-size: .85rem; padding: 0 2rem 0 .9rem; border: 1px solid var(--borda); border-radius: .45rem; background: var(--superficie); }
.recorte-periodo b { display: flex; align-items: center; min-height: 45px; padding: 0 .9rem; border: 1px solid var(--borda); background: var(--superficie); border-radius: .45rem; font-weight: 600; font-size: .85rem; }
.seletor-territorio button { min-height: 45px; }
.leituras-inicio { margin-top: 2.8rem; }
.leituras-inicio .grade { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.leituras-inicio h2 { margin-top: .4rem; }
.leitura { padding: 1.4rem; gap: .6rem; }
.leitura > .sobrelinha { color: var(--destaque); font-size: .6rem; }
.leitura > strong { display: block; font-size: clamp(2rem, 3.2vw, 3.1rem); font-weight: 600; letter-spacing: -.06em; line-height: 1.2; margin-top: 1rem; }
.leitura h3 { margin-top: .4rem; font-size: 1.4rem; }
.leitura p { font-size: .83rem; color: var(--texto-2); line-height: 1.6; }
.leitura > .mais { margin-top: auto; padding-top: .9rem; font-size: .78rem; }
.leitura-dossie { background: var(--superficie-2); }
.leitura-simbolo { display: flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border: 1px solid var(--borda); border-radius: 50%; font-size: 1.8rem; margin-top: 1rem; }
.divisor-resultados { margin-top: 3.5rem; padding-top: 2.3rem; border-top: 1px solid var(--borda); }
.divisor-resultados h2 { font-size: clamp(1.8rem, 2.7vw, 2.7rem); margin-block: .3rem .5rem; }
.rodape { padding-block: 2rem; margin-top: 1.8rem; }
.rodape .largura { gap: 1rem; }
.rodape p { max-width: 64rem; font-size: .75rem; line-height: 1.7; }
.rodape-marca { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.rodape-marca > span { font-family: var(--fonte-editorial); font-size: 1.9rem; font-weight: 700; letter-spacing: -.05em; color: var(--texto); }
.rodape-marca nav { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; font-size: .75rem; }
.rodape-marca nav a { min-height: 44px; display: inline-flex; align-items: center; color: var(--texto-2); }
@media (max-width: 76rem) {
  .topo .largura { gap: .8rem; }
  .nav a { padding-inline: .55rem; font-size: .76rem; }
  .marca { margin-right: .5rem; }
  .marca strong { font-size: 2rem; }
  .marca small { font-size: .4rem; }
}
@media (max-width: 62rem) {
  .topo .largura { min-height: 4.3rem; flex-wrap: wrap; padding-block: .65rem; gap: .7rem; }
  .marca { margin-right: auto; }
  .botao-menu:not([hidden]) { display: inline-flex; }
  .topo .nav { order: 4; width: 100%; flex: 0 0 100%; flex-wrap: wrap; gap: .3rem; padding-top: .65rem; border-top: 1px solid var(--borda); }
  .topo .nav a { min-height: 44px; font-size: .86rem; padding-inline: .8rem; }
  .nav a[href$='/busca'] { margin-left: 0; }
  .topo[data-menu='fechado'] .nav { display: none; }
  .inicio-hero { gap: 2rem; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
  .inicio-chamada h1 { font-size: clamp(2.55rem, 4.8vw, 3.3rem); }
  .achado-principal { padding: 1.25rem; }
  .inicio-acoes { gap: .6rem; }
  .inicio-acoes .botao { font-size: .78rem; padding: .55rem .8rem; }
  .leitura { padding: 1rem; }
  .leitura > strong { font-size: 2.35rem; }
}
@media (max-width: 45rem) {
  .barra-contexto .largura { min-height: 2.8rem; font-size: .6rem; gap: .5rem; }
  .barra-contexto .largura > span { letter-spacing: .02em; }
  .barra-contexto a { font-size: .62rem; }
  .inicio-meta { padding-top: 1.5rem; align-items: flex-start; flex-direction: column; gap: .35rem; }
  .inicio-hero { grid-template-columns: minmax(0, 1fr); padding-block: 1.6rem 2rem; gap: 2rem; }
  .inicio-chamada h1 { font-size: clamp(2.5rem, 8.9vw, 3.8rem); }
  .inicio-chamada > p { margin-top: 1.2rem; font-size: 1.05rem; }
  .inicio-acoes { margin-top: 1.4rem; }
  .inicio-acoes .botao { flex: 1; font-size: .76rem; gap: .5rem; }
  .inicio-chamada > .sub { font-size: .66rem; }
  .achado-principal { padding: 1.35rem; }
  .achado-principal h2 { font-size: 2.5rem; }
  .achado-meta { margin-bottom: 1rem; }
  .achado-barras > div { font-size: .73rem; }
  .achado-principal > p, .achado-principal > a { font-size: .8rem; }
  .recorte-inicio { gap: 1.1rem; }
  .recorte-inicio h2 { font-size: 1.6rem; }
  .seletor-territorio { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); width: 100%; }
  .seletor-territorio label { min-width: 0; }
  .seletor-territorio select { min-width: 0; width: 100%; }
  .recorte-periodo b { padding-inline: .75rem; }
  .seletor-territorio button { grid-column: 1 / -1; }
  .leituras-inicio { margin-top: 2rem; }
  .leituras-inicio .grade { grid-template-columns: minmax(0, 1fr); }
  .leituras-inicio > header > .mais { padding: 0; min-height: 34px; }
  .leitura { padding: 1.35rem; }
  .leitura > strong { font-size: 2.9rem; }
  .leitura p { font-size: .87rem; }
  .leitura > .mais { font-size: .82rem; }
  .divisor-resultados { margin-top: 2.3rem; padding-top: 1.8rem; }
  .secao-pagina { margin-top: 2rem; }
  .painel { padding: 1rem; }
  .kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .kpi { min-width: 0; }
  .kpi b { font-size: 1.6rem; }
  .kpi span { font-size: .65rem; }
  .cabeca { padding-top: 1.4rem; }
  .cabeca > .sub { font-size: .9rem; }
  .rodape-marca { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .rodape-marca nav { gap: .35rem .8rem; }
}
@media print {
  .barra-contexto, .botao-menu, .inicio-acoes, .seletor-territorio, .rodape-marca nav { display: none !important; }
  .inicio-hero { display: block; }
  .achado-principal { margin-top: 1.5rem; background: #fff; color: #000; border: 1px solid #666; }
  .achado-principal h2 em, .achado-principal p, .achado-meta .sobrelinha, .achado-barras span { color: #222; }
  .leitura, .painel, .cartao { break-inside: avoid; }
}
