/* Home VR-125 (2026-11-06): mapa em relevo, painel da cidade e comparação com vistas ligadas. Sempre na noite. */
body[data-page='home'] { background: #04060b; }
body[data-page='home'] .topo { background: color-mix(in srgb, #04060b 80%, transparent); border-bottom-color: transparent; }
body[data-page='home'] main { padding-bottom: 0; }
.hm { --ouro: #f5b70a; --brasa: #fff3c8; --luz: #eef1f6; --nevoa: #8b95a5; --linha: #1d2430; --cx: rgba(10, 13, 20, .95);
  position: relative; height: calc(100vh - var(--topo-h)); height: calc(100svh - var(--topo-h)); min-height: 660px; overflow: hidden; overflow: clip; color: var(--luz); background: #04060b; }
.hm::before { content: ''; position: absolute; inset: -20%; pointer-events: none; z-index: 0;
  background: radial-gradient(40% 36% at var(--gx, 45%) var(--gy, 58%), rgba(245, 183, 10, .07), transparent 70%);
  animation: hm-ambiente 14s ease-in-out infinite alternate; }
@keyframes hm-ambiente { from { transform: translate(-1.5%, -1%) scale(1); } to { transform: translate(1.5%, 1%) scale(1.05); } }
.hm-cv { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; touch-action: manipulation; transition: opacity .5s; }
.hm[data-vista='comparar'] .hm-cv, .hm[data-vista='comparar'] .hm-rots, .hm[data-vista='comparar'] .hm-fio { opacity: 0; pointer-events: none; }
.hm-alvo { position: absolute; left: 170px; right: 420px; top: 120px; bottom: 130px; pointer-events: none; }
.hm[data-vista='estado'] .hm-alvo { left: 30px; right: 410px; top: 190px; bottom: 110px; }
.hm-fio { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 7; pointer-events: none; overflow: visible; }
.hm-fio path { fill: none; stroke: rgba(245, 183, 10, .75); stroke-width: 1.2; stroke-dasharray: 4 4; animation: hm-fio 1.2s linear infinite; transition: opacity .25s; }
@keyframes hm-fio { to { stroke-dashoffset: -16; } }
.hm-rots { position: absolute; inset: 0; z-index: 5; pointer-events: none; transition: opacity .3s; }
.hm-rot { position: absolute; white-space: nowrap; line-height: 1.15; text-shadow: 0 0 6px #04060b, 0 0 14px #04060b; transform: translate(-50%, -100%); animation: hm-surge .5s both; }
.hm-rot .n { font-weight: 600; font-size: 12px; color: #b7bfcb; }
.hm-rot .v { font-family: var(--f-dado); font-size: 10.5px; color: #9fb8d8; }
.hm-rot.on .n { color: var(--luz); font-weight: 700; font-size: 13px; }
.hm-rot.on .v { color: var(--ouro); }
@keyframes hm-surge { from { opacity: 0; transform: translate(-50%, -80%); } }
[hidden] { display: none !important; }

/* textos de cada vista */
.hm-hero { position: absolute; left: 56px; top: 36px; z-index: 6; width: 400px; animation: hm-entra .6s both; }
.hm-teste { margin: 0 0 18px; font: 500 11px var(--f-dado); letter-spacing: .14em; color: var(--ouro); text-transform: uppercase; }
.hm-teste::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--ouro); margin-right: 9px; vertical-align: 1px; animation: hm-pulso 2.4s ease-in-out infinite; }
@keyframes hm-pulso { 50% { box-shadow: 0 0 0 5px rgba(245, 183, 10, .15); } }
.hm-hero h1 { margin: 0; font-size: 46px; line-height: 1.02; letter-spacing: -.045em; font-weight: 800; }
.hm-hero h1 em { font-style: normal; color: var(--ouro); }
.hm-lede { margin: 16px 0 0; font-size: 15px; line-height: 1.5; color: #aeb5c0; }
.hm-lede b { color: var(--luz); }
@keyframes hm-entra { from { opacity: 0; transform: translateY(10px); } }
.hm-est { position: absolute; left: 56px; top: 26px; right: 56px; z-index: 8; pointer-events: none; }
.hm-est > * { pointer-events: auto; }
.hm-nav { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.hm-voltar { display: inline-flex; align-items: center; gap: 10px; font: 700 14px var(--f-texto); color: var(--luz); border: 1px solid rgba(245, 183, 10, .55); border-radius: 999px; padding: 9px 16px 9px 12px; background: rgba(11, 15, 23, .9); box-shadow: 0 0 24px rgba(245, 183, 10, .12); cursor: pointer; transition: transform .2s, box-shadow .2s; }
.hm-voltar:hover { transform: translateX(-2px); box-shadow: 0 0 30px rgba(245, 183, 10, .25); }
.hm-voltar b { color: var(--ouro); font-size: 16px; line-height: 1; }
.hm-trilha { margin: 0; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font: 500 11px var(--f-dado); letter-spacing: .08em; color: var(--nevoa); text-transform: uppercase; }
.hm-trilha button { all: unset; cursor: pointer; } .hm-trilha button:hover { color: var(--luz); }
.hm-trilha b { color: var(--ouro); font-weight: 500; } .hm-trilha i { font-style: normal; color: #3a4352; } .hm-trilha span.at { color: var(--luz); }
.hm-est-txt { margin-top: 46px; width: 340px; animation: hm-entra .5s both; }
.hm-est-txt h2 { margin: 0; font-size: 38px; font-weight: 800; letter-spacing: -.04em; line-height: 1; }
.hm-est-p { font-size: 14px; color: #aeb5c0; margin: 10px 0 0; line-height: 1.5; }
.hm-est-p b { color: var(--luz); }
.hm-aviso { font-size: 12px; color: #8b95a5; margin: 12px 0 0; line-height: 1.45; padding-left: 10px; border-left: 2px solid rgba(245, 183, 10, .5); }
.hm-aviso:empty { display: none; }

/* caixinha do estado (Brasil) e painel da cidade (estado): entram deslizando */
.hm-caixa, .hm-painel { position: absolute; z-index: 9; right: 50px; background: var(--cx); border: 1px solid rgba(245, 183, 10, .45); border-radius: 14px; padding: 18px 20px 16px; box-shadow: 0 30px 80px rgba(0, 0, 0, .7), 0 0 0 6px rgba(245, 183, 10, .05); animation: hm-painel .38s cubic-bezier(.2, .8, .2, 1) both; }
.hm-caixa { top: 50%; transform: translateY(-40%); width: 330px; }
.hm-painel { top: 18px; bottom: 18px; width: 360px; display: flex; flex-direction: column; }
@keyframes hm-painel { from { opacity: 0; translate: 26px 0; } }
.hm-caixa.troca > *, .hm-painel.troca > * { animation: hm-item .35s both; }
.hm-caixa.troca > :nth-child(2), .hm-painel.troca > :nth-child(2) { animation-delay: .03s; }
.hm-caixa.troca > :nth-child(3), .hm-painel.troca > :nth-child(3) { animation-delay: .06s; }
.hm-caixa.troca > :nth-child(n+4), .hm-painel.troca > :nth-child(n+4) { animation-delay: .09s; }
@keyframes hm-item { from { opacity: 0; transform: translateY(6px); } }
.hm-cap { margin: 0; font: 500 10.5px var(--f-dado); letter-spacing: .14em; text-transform: uppercase; color: var(--ouro); }
.hm-cap::before { content: '● '; }
.hm-nm { margin: 8px 0 0; font-size: 22px; font-weight: 800; letter-spacing: -.03em; line-height: 1.1; }
.hm-big { margin: 12px 0 0; font-size: 28px; font-weight: 800; letter-spacing: -.04em; color: var(--ouro); line-height: 1; }
.hm-big small { font-size: 13px; color: #aeb5c0; font-weight: 500; letter-spacing: 0; margin-left: 6px; }
.hm-lin { font-size: 12.5px; color: #aeb5c0; margin: 6px 0 0; line-height: 1.45; }
.hm-lin u, [data-dica] { text-decoration: none; border-bottom: 1px dotted var(--ouro); color: var(--luz); cursor: help; }
.hm-abas { display: flex; gap: 18px; margin-top: 14px; border-bottom: 1px solid var(--linha); }
.hm-abas button { all: unset; cursor: pointer; padding-bottom: 8px; font-size: 12.5px; color: var(--nevoa); transition: color .15s, box-shadow .2s; }
.hm-abas button:hover { color: var(--luz); }
.hm-abas button[aria-selected='true'] { color: var(--luz); box-shadow: 0 2px 0 var(--ouro); }
.hm-mini { display: flex; flex-direction: column; gap: 7px; margin: 10px 0 0; padding: 0; list-style: none; }
.hm-mini a { display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 600; color: var(--luz); text-decoration: none; }
.hm-mini a:hover span { color: var(--ouro); }
.hm-mini small { margin-left: 8px; font: 400 10.5px var(--f-dado); color: var(--ouro); }
.hm-mini em { display: block; font-style: normal; font-size: 10.5px; color: #7d8796; font-weight: 400; }
.hm-face { width: 30px; height: 30px; flex: none; border-radius: 50%; overflow: hidden; background: #0b0f17; box-shadow: 0 0 0 1.5px rgba(245, 183, 10, .5); display: flex; align-items: center; justify-content: center; font: 500 10px var(--f-dado); color: var(--nevoa); }
.hm-face img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hm-nota { font-size: 11px; color: #7d8796; margin: 8px 0 0; line-height: 1.45; }
.hm-btn { display: inline-flex; gap: 8px; align-items: center; font: 700 13px var(--f-texto); padding: 9px 14px; border-radius: 8px; background: var(--ouro); color: #111; border: 0; cursor: pointer; text-decoration: none; transition: transform .15s, box-shadow .2s, opacity .2s; }
.hm-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 22px -8px rgba(245, 183, 10, .7); color: #111; }
.hm-btn[disabled] { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }
.hm-btn.g { background: transparent; color: var(--luz); border: 1px solid #2a3240; font-weight: 600; }
.hm-acoes { margin-top: 14px; display: flex; gap: 8px; flex-wrap: wrap; }

/* painel da cidade: lista com rolagem própria */
.hm-busca { display: flex; align-items: center; gap: 10px; border: 1px solid #232b38; border-radius: 9px; padding: 0 12px; margin-top: 12px; background: #0b0f17; }
.hm-busca svg { flex: none; }
.hm-busca input { flex: 1; height: 36px; border: 0; background: transparent; color: var(--luz); font: inherit; font-size: 13px; outline: none; }
.hm-lista { flex: 1; min-height: 80px; overflow-y: auto; margin: 6px -6px 0; padding: 0 6px; scrollbar-width: thin; scrollbar-color: #2a3240 transparent; }
.hm-q { display: grid; grid-template-columns: 30px 1fr auto 22px; gap: 10px; align-items: center; padding: 7px 0; border-bottom: 1px solid #121821; animation: hm-item .3s both; }
.hm-q .n { font-size: 13.5px; font-weight: 600; color: var(--luz); text-decoration: none; line-height: 1.2; }
.hm-q .n:hover { color: var(--ouro); }
.hm-q .n small { display: block; font-size: 10.5px; color: #7d8796; font-weight: 400; margin-top: 1px; }
.hm-q .v { font: 400 11.5px var(--f-dado); color: var(--ouro); text-align: right; }
.hm-q .v small { display: block; color: #6b7585; font-size: 9.5px; }
.hm-ck { appearance: none; width: 18px; height: 18px; margin: 0; border-radius: 5px; border: 1.5px solid #3a4352; cursor: pointer; position: relative; transition: background-color .15s, border-color .15s, transform .15s; }
.hm-ck:hover { border-color: var(--ouro); }
.hm-ck:checked { background: var(--ouro); border-color: var(--ouro); animation: hm-ck .3s; }
.hm-ck:checked::after { content: ''; position: absolute; left: 5px; top: 1px; width: 5px; height: 10px; border: solid #111; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.hm-ck:disabled { opacity: .3; cursor: not-allowed; }
@keyframes hm-ck { 50% { transform: scale(1.2); } }
.hm-emp { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 7px 0; border-bottom: 1px solid #121821; font-size: 12.5px; }
.hm-emp a { color: var(--luz); text-decoration: none; font-weight: 600; } .hm-emp a:hover { color: var(--ouro); }
.hm-emp small { display: block; color: #7d8796; font-size: 10.5px; font-weight: 400; }
.hm-emp .v { font: 400 11.5px var(--f-dado); color: var(--ouro); }
.hm-regra { font-size: 10.5px; color: #6b7585; margin: 10px 0 0; line-height: 1.45; }
.hm-vazio { font-size: 13px; color: #aeb5c0; line-height: 1.5; margin: 12px 0 0; }

/* dica (caixinha ao passar a seta, VR-119) */
.hm-dica { position: absolute; z-index: 20; max-width: 260px; background: rgba(10, 13, 20, .97); border: 1px solid #2a3240; border-radius: 10px; padding: 9px 11px; box-shadow: 0 18px 46px rgba(0, 0, 0, .6); font-size: 12px; line-height: 1.45; color: #c4cad4; pointer-events: none; animation: hm-item .18s both; }
.hm-dica b { color: var(--luz); display: block; font-size: 13px; }
.hm-dica .v { font-family: var(--f-dado); color: var(--ouro); font-size: 11.5px; }
.hm-dica small { display: block; color: #7d8796; margin-top: 3px; }

/* legenda e procedência */
.hm-leg { position: absolute; left: 56px; bottom: 50px; z-index: 6; display: flex; gap: 14px; align-items: flex-end; font-size: 12px; color: #aeb5c0; line-height: 1.45; pointer-events: none; }
.hm-leg b { color: var(--luz); }
.hm-barras { display: flex; gap: 5px; align-items: flex-end; flex: none; }
.hm-barras i { width: 10px; border-radius: 1px; background: #1c2533; height: 8px; }
.hm-barras i:nth-child(2) { height: 16px; background: #3a4d66; } .hm-barras i:nth-child(3) { height: 28px; background: #6f8bb0; }
.hm-barras i:nth-child(4) { height: 40px; background: #9fb8d8; } .hm-barras i.o { height: 46px; background: var(--ouro); margin-left: 4px; }
.hm-ouro { color: var(--ouro); }
.hm-leg-sub { font: 400 10.5px var(--f-dado); color: var(--nevoa); }
.hm-proc { position: absolute; left: 56px; right: 56px; bottom: 14px; z-index: 6; margin: 0; max-width: none; font-size: 11px; color: #5c6676; line-height: 1.5; }
.hm-proc b { color: var(--ouro); font-weight: 600; }
.hm-proc a { color: #8b95a5; }
.hm[data-vista='comparar'] .hm-proc { position: static; margin: 18px 0 0; }
.hm-sem-js { position: relative; z-index: 9; padding: 120px 56px; }
.hm-sem-js a { color: var(--ouro); }

/* comparação: expande sobre a tela inteira */
.hm[data-vista='comparar'] { height: auto; min-height: calc(100vh - var(--topo-h)); overflow: hidden; overflow: clip; }
.hm[data-vista='comparar'] > .hm-proc { display: none; }
.hm-cmp { position: relative; z-index: 6; padding: 82px 56px 20px; animation: hm-expande .5s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes hm-expande { from { opacity: 0; transform: scale(.97); transform-origin: 80% 30%; } }
.hm-sel { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }
.hm-chip { --k: var(--ouro); width: 262px; border: 1px solid #1d2430; border-radius: 14px; padding: 12px 14px; background: linear-gradient(180deg, #0b0f17, #080b11); position: relative; animation: hm-item .4s both; transition: border-color .2s, box-shadow .2s; cursor: pointer; }
.hm-chip::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 2px; border-radius: 2px; background: var(--k); }
.hm-chip.foco, .hm-chip:hover { border-color: color-mix(in srgb, var(--k) 55%, transparent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--k) 8%, transparent), 0 0 30px color-mix(in srgb, var(--k) 14%, transparent); }
.hm-chip .t { display: flex; gap: 10px; align-items: center; padding-right: 22px; }
.hm-chip .hm-face { width: 40px; height: 40px; box-shadow: 0 0 0 2px var(--k); }
.hm-chip .nm { font-weight: 700; font-size: 15.5px; letter-spacing: -.02em; color: var(--luz); text-decoration: none; }
.hm-chip .nm:hover { color: var(--k); }
.hm-chip .cg { font: 400 9.5px var(--f-dado); color: var(--nevoa); letter-spacing: .05em; text-transform: uppercase; margin-top: 3px; }
.hm-chip .x { position: absolute; right: 12px; top: 12px; width: 22px; height: 22px; border-radius: 50%; border: 1px solid #2a3240; background: transparent; color: var(--nevoa); font-size: 10px; cursor: pointer; }
.hm-chip .x:hover { color: var(--luz); border-color: var(--luz); }
.hm-chip .ns { display: grid; grid-template-columns: 1.7fr 1fr 1fr; margin-top: 10px; gap: 6px; }
.hm-chip .ns b { display: block; white-space: nowrap; font-size: 16px; letter-spacing: -.03em; font-weight: 800; color: var(--luz); }
.hm-chip .ns b.k { color: var(--k); }
.hm-chip .ns span { font-size: 10.5px; color: #8b95a5; }
.hm-chip .cmp { margin-top: 8px; padding-top: 7px; border-top: 1px solid #151c27; font-size: 11px; color: #8b95a5; }
.hm-chip .cmp b { font-family: var(--f-dado); color: var(--luz); font-weight: 500; margin-left: 6px; }
.hm-vaga { width: 150px; border: 1px dashed #2a3240; border-radius: 14px; display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 10px; color: #4a5363; font: 400 10px var(--f-dado); letter-spacing: .1em; text-transform: uppercase; text-align: center; position: relative; }
.hm-vaga input { width: 100%; height: 30px; border: 1px solid #232b38; border-radius: 7px; background: #0b0f17; color: var(--luz); font: 12px var(--f-texto); padding: 0 8px; text-transform: none; letter-spacing: 0; }
.hm-vaga ul { position: absolute; left: 0; top: 100%; margin: 4px 0 0; padding: 4px; list-style: none; width: 250px; z-index: 12; background: rgba(10, 13, 20, .98); border: 1px solid #2a3240; border-radius: 10px; text-align: left; text-transform: none; letter-spacing: 0; }
.hm-vaga li button { all: unset; display: block; width: 100%; box-sizing: border-box; padding: 7px 8px; border-radius: 6px; cursor: pointer; font: 600 12.5px var(--f-texto); color: var(--luz); }
.hm-vaga li button small { display: block; font-weight: 400; color: #7d8796; font-size: 10.5px; }
.hm-vaga li button:hover { background: #151c28; }
.hm-ctx { flex: 1; min-width: 240px; padding: 6px 0 0 10px; }
.hm-ctx .cn { font-size: 16px; font-weight: 700; margin-top: 6px; letter-spacing: -.02em; }
.hm-ctx .cs { font-size: 11.5px; color: #7d8796; margin-top: 6px; line-height: 1.45; }
.hm-filtro { display: inline-flex; gap: 8px; align-items: center; margin-top: 10px; font: 500 11px var(--f-dado); color: var(--ouro); border: 1px solid rgba(245, 183, 10, .45); border-radius: 999px; padding: 4px 6px 4px 12px; animation: hm-item .25s both; }
.hm-filtro button { all: unset; cursor: pointer; width: 18px; height: 18px; border-radius: 50%; text-align: center; line-height: 18px; color: var(--luz); background: #1a2130; }
.hm-grade { display: grid; grid-template-columns: 520px 1fr; gap: 16px 36px; margin-top: 22px; }
.hm-box { border-top: 1px solid var(--linha); position: relative; min-width: 0; animation: hm-item .5s both; }
.hm-box:nth-child(2) { animation-delay: .06s; } .hm-box:nth-child(3) { animation-delay: .12s; } .hm-box:nth-child(4) { animation-delay: .18s; }
.hm-box .hd { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 12px; }
.hm-box .hd .c { font: 500 10.5px var(--f-dado); letter-spacing: .14em; text-transform: uppercase; color: var(--nevoa); }
.hm-box .hd .c b { color: var(--luz); font-weight: 500; }
.hm-lig { font: 500 9.5px var(--f-dado); letter-spacing: .12em; color: var(--ouro); text-transform: uppercase; white-space: nowrap; }
.hm-lig::before { content: '⟷ '; }
.hm-box canvas { display: block; width: 100%; cursor: crosshair; }
.hm-box .tx { font-size: 12px; line-height: 1.5; color: #8b95a5; }
.hm-comum { display: grid; grid-template-columns: 1fr 170px; gap: 12px; align-items: center; }
.hm-fav { display: grid; grid-template-columns: 1fr 230px; gap: 16px; align-items: center; padding: 6px 0; border-bottom: 1px solid #121821; animation: hm-item .3s both; }
.hm-fav .n { font-size: 12.5px; font-weight: 600; line-height: 1.25; }
.hm-fav .n small { display: block; font: 400 9.5px var(--f-dado); color: var(--nevoa); margin-top: 2px; letter-spacing: .04em; }
.hm-fav .bs { display: flex; flex-direction: column; gap: 2px; }
.hm-fav .bs i { display: block; height: 4px; border-radius: 2px; transform-origin: left; animation: hm-barra .6s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes hm-barra { from { transform: scaleX(0); } }
.hm-fav .bs span { font: 400 9.5px var(--f-dado); color: #7d8796; }

/* computador médio */
@media (max-width: 1240px) {
  .hm-alvo { left: 120px; right: 370px; }
  .hm-hero { width: 330px; } .hm-hero h1 { font-size: 40px; }
  .hm-caixa { width: 310px; right: 32px; } .hm-painel { right: 32px; width: 340px; }
  .hm-grade { grid-template-columns: 1fr 1fr; }
}
/* celular e tablet estreito: mapa no meio, caixa e painel como folha que sobe de baixo */
@media (max-width: 820px) {
  .hm { height: calc(100svh - 108px); min-height: 560px; }
  .hm-alvo, .hm[data-vista='estado'] .hm-alvo { left: 12px; right: 12px; top: 175px; bottom: 50%; }
  .hm[data-vista='estado'] .hm-alvo { top: 175px; bottom: 58%; }
  .hm-hero { left: 16px; right: 16px; top: 16px; width: auto; }
  .hm-teste { margin-bottom: 8px; }
  .hm-hero h1 { font-size: 30px; } .hm-hero h1 br { display: none; }
  .hm-lede { font-size: 13px; margin-top: 8px; }
  .hm-est { left: 16px; right: 16px; top: 14px; }
  .hm-nav { gap: 10px; } .hm-trilha { font-size: 10px; gap: 6px; }
  .hm-est-txt { margin-top: 12px; width: auto; }
  .hm-est-txt h2 { font-size: 26px; } .hm-est-p { font-size: 12.5px; margin-top: 4px; }
  .hm-aviso { font-size: 11px; margin-top: 6px; }
  .hm-caixa, .hm-painel { left: 8px; right: 8px; width: auto; top: auto; bottom: 8px; transform: none; border-radius: 16px 16px 14px 14px; max-height: 50%; overflow-y: auto; padding: 14px 16px 14px; animation-name: hm-folha; }
  .hm-painel { max-height: 62%; }
  @keyframes hm-folha { from { opacity: .4; translate: 0 60px; } }
  .hm-caixa::before, .hm-painel::before { content: ''; display: block; width: 36px; height: 4px; border-radius: 2px; background: #2a3240; margin: -4px auto 8px; }
  .hm-big { font-size: 24px; } .hm-nm { font-size: 19px; }
  .hm-leg { left: 16px; right: 16px; bottom: 40px; font-size: 10.5px; }
  .hm-barras { display: none; }
  .hm-proc { left: 16px; right: 16px; bottom: 6px; font-size: 9.5px; }
  .hm-cmp { padding: 118px 16px 16px; }
  .hm-chip { width: calc(50% - 6px); padding: 10px; }
  .hm-chip .ns { grid-template-columns: 1fr 1fr; } .hm-chip .ns > div:first-child { grid-column: 1 / -1; }
  .hm-vaga { width: calc(50% - 6px); }
  .hm-grade { grid-template-columns: 1fr; }
  .hm-comum { grid-template-columns: 1fr; }
  .hm-fav { grid-template-columns: 1fr 120px; gap: 10px; }
}
@media (max-width: 420px) { .hm-chip, .hm-vaga { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .hm *, .hm::before { animation: none !important; transition: none !important; } }

.hm p { max-width: none; }

/* ---- rodada de 2026-11-06 (tarde): guia, Agora no Congresso, contratos ---- */
.hm-guia { position: absolute; left: 56px; bottom: 44px; z-index: 8; max-width: 660px; display: flex; flex-direction: column; gap: 6px; }
.hm-guia ol { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; flex-wrap: wrap; }
.hm-guia li > * { all: unset; display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px 5px 6px; border-radius: 999px; border: 1px solid #1d2430; background: rgba(10, 13, 20, .85); font: 600 12px var(--f-texto); color: #6b7585; }
.hm-guia li i { display: inline-flex; width: 18px; height: 18px; border-radius: 50%; align-items: center; justify-content: center; font: 600 10px var(--f-dado); font-style: normal; background: #151c28; color: #6b7585; }
.hm-guia li.ok > * { color: #aeb5c0; } .hm-guia li.ok i { background: rgba(245, 183, 10, .18); color: var(--ouro); }
.hm-guia li.ok button { cursor: pointer; } .hm-guia li.ok button:hover { border-color: rgba(245, 183, 10, .5); color: var(--luz); }
.hm-guia li.at > * { color: var(--luz); border-color: rgba(245, 183, 10, .6); box-shadow: 0 0 18px rgba(245, 183, 10, .15); }
.hm-guia li.at i { background: var(--ouro); color: #111; animation: hm-pulso 2.4s ease-in-out infinite; }
.hm-guia p { margin: 0; font-size: 13px; color: var(--luz); line-height: 1.4; padding-left: 4px; }
.hm-guia p::before { content: '→ '; color: var(--ouro); }
.hm-leg { bottom: 116px; }
.hm[data-vista='comparar'] .hm-guia { position: relative; left: auto; bottom: auto; margin: 0 56px; top: 76px; z-index: 7; }
.hm[data-vista='comparar'] .hm-cmp { padding-top: 96px; }
.hm-agora-wrap:empty { display: none; }
.hm-agora { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; padding: 6px 12px; border-radius: 999px; border: 1px solid rgba(245, 183, 10, .4); background: rgba(245, 183, 10, .06); font-size: 12.5px; color: var(--luz); text-decoration: none; }
.hm-agora b { color: var(--ouro); }
.hm-agora .ico { width: 14px; height: 14px; vertical-align: -2px; }
.hm-agora-ver { color: var(--nevoa); }
.hm-pulso { width: 8px; height: 8px; border-radius: 50%; background: #ff5a4f; animation: hm-pulso 1.6s ease-in-out infinite; }
.hm-ct { padding: 9px 0; border-bottom: 1px solid #121821; animation: hm-item .3s both; }
.hm-ct-n { font-size: 13px; font-weight: 700; color: var(--luz); text-decoration: none; } .hm-ct-n:hover { color: var(--ouro); }
.hm-ct-l { display: flex; flex-direction: column; gap: 1px; margin: 4px 0 0; font-size: 11.5px; color: #8b95a5; }
.hm-ct-l b { color: var(--ouro); font-family: var(--f-dado); font-weight: 500; }
.hm-ct-c { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; margin-top: 6px; padding: 7px 9px; border-radius: 8px; border: 1px dashed #2a3240; text-decoration: none; color: #c4cad4; font-size: 11.5px; transition: border-color .15s; }
.hm-ct-c:hover { border-color: #cfd5df; }
.hm-ct-c small { grid-column: 1; color: #7d8796; font-size: 10.5px; line-height: 1.35; }
.hm-ct-c b { grid-row: 1 / span 2; grid-column: 2; align-self: center; font: 500 11.5px var(--f-dado); color: #cfd5df; }
.hm-fav-ct { display: inline-block; margin-top: 3px; font: 400 10px var(--f-dado); color: #cfd5df; text-decoration: none; border-bottom: 1px dashed #4a5363; }
.hm-fav-ct:hover { color: var(--luz); }
.hm-fav .bs span em { font-style: normal; }
@media (max-width: 1240px) { .hm-guia { max-width: 560px; } }
@media (max-width: 820px) {
  .hm-guia { left: 10px; right: 10px; bottom: 26px; max-width: none; }
  .hm-guia li > * { font-size: 11px; padding: 4px 9px 4px 5px; }
  .hm-guia p { font-size: 12px; }
  .hm-leg { display: none; }
  .hm-hero h1 { font-size: 26px; } .hm-lede { font-size: 12.5px; }
  .hm-alvo, .hm[data-vista='estado'] .hm-alvo { left: 6px; right: 6px; top: 150px; bottom: 120px; }
  .hm[data-vista='estado'] .hm-alvo { top: 205px; bottom: 120px; }
  .hm-caixa, .hm-painel { bottom: 0; z-index: 10; }
  .hm[data-vista='comparar'] .hm-guia { margin: 0 16px; top: 108px; }
  .hm[data-vista='comparar'] .hm-cmp { padding-top: 120px; }
}

.hm-alca { display: none; }
@media (max-width: 820px) {
  .hm-alca { display: block; width: 100%; margin: -6px 0 8px; padding: 6px; border: 0; border-radius: 8px; background: #121824; color: var(--ouro); font: 600 12px var(--f-texto); cursor: pointer; }
  .hm-painel::before { display: none; }
  .hm-painel.recolhido { max-height: 168px; overflow: hidden; }
  .hm-painel.recolhido .hm-abas, .hm-painel.recolhido .hm-busca, .hm-painel.recolhido .hm-lista, .hm-painel.recolhido .hm-acoes, .hm-painel.recolhido .hm-lin { display: none; }
  .hm[data-vista='estado'] .hm-alvo { top: 330px; bottom: 190px; }
  .hm-guia { bottom: 58px; }
  .hm-proc { bottom: 4px; font-size: 9px; line-height: 1.35; max-height: 50px; overflow: hidden; }
}
@media (max-width: 820px) { .hm[data-vista='estado'] .hm-guia { bottom: 178px; } .hm[data-vista='estado'] .hm-guia p { display: none; } }

/* ---- rodada de 2026-11-06 (noite): zoom e arrasto no mapa ---- */
.hm-cv { touch-action: none; cursor: grab; }
.hm[data-vista='comparar'] .hm-zoom { display: none; }
.hm-zoom { position: absolute; z-index: 8; right: 430px; bottom: 120px; display: flex; flex-direction: column; gap: 6px; align-items: center; }
.hm[data-vista='brasil'] .hm-zoom { right: 400px; }
.hm-zoom button { width: 40px; height: 40px; border-radius: 12px; border: 1px solid #2a3240; background: rgba(10, 13, 20, .92); color: var(--luz); font: 600 20px/1 var(--f-texto); cursor: pointer; transition: border-color .15s, transform .15s; }
.hm-zoom button:hover { border-color: var(--ouro); transform: scale(1.05); }
.hm-zoom .hm-z0 { font-size: 16px; opacity: .45; }
.hm-zoom.on .hm-z0 { opacity: 1; border-color: rgba(245, 183, 10, .6); color: var(--ouro); }
.hm-zdica { font: 400 9.5px var(--f-dado); color: var(--nevoa); letter-spacing: .06em; text-align: center; width: 60px; }
@media (max-width: 1240px) { .hm-zoom { right: 390px; } .hm[data-vista='brasil'] .hm-zoom { right: 360px; } }
@media (max-width: 820px) {
  .hm-zoom, .hm[data-vista='brasil'] .hm-zoom { right: 10px; bottom: auto; top: 150px; }
  .hm[data-vista='estado'] .hm-zoom { top: 210px; }
  .hm-zoom button { width: 38px; height: 38px; }
  .hm-zdica { display: none; }
}

/* ---- rodada de 2026-11-06 (noite): caminho até a comparação, emendas e detalhe ---- */
.hm-hero-acoes { display: flex; align-items: center; gap: 14px; margin-top: 18px; flex-wrap: wrap; }
.hm-btn-cmp { font-size: 15px; padding: 12px 18px; border-radius: 10px; box-shadow: 0 0 30px rgba(245, 183, 10, .25); }
.hm-hero-ou { font-size: 12.5px; color: var(--nevoa); }
.hm-esc { all: unset; box-sizing: border-box; white-space: nowrap; cursor: pointer; font: 700 11.5px var(--f-texto); padding: 6px 10px; border-radius: 999px; border: 1px solid rgba(245, 183, 10, .55); color: var(--ouro); transition: background-color .15s, color .15s; }
.hm-esc:hover { background: rgba(245, 183, 10, .12); }
.hm-esc.on { background: var(--ouro); color: #111; border-color: var(--ouro); animation: hm-ck .3s; }
.hm-esc[disabled] { opacity: .3; cursor: not-allowed; }
.hm-q { grid-template-columns: 30px 1fr auto auto; }
.hm-vbt { all: unset; cursor: pointer; text-align: right; font: 400 11.5px var(--f-dado); color: var(--ouro); }
.hm-vbt small { display: block; font: 500 9.5px var(--f-texto); color: var(--nevoa); }
.hm-vbt:hover small { color: var(--luz); }
.hm-emp { all: unset; box-sizing: border-box; width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 8px 4px; border-bottom: 1px solid #121821; font-size: 12.5px; cursor: pointer; border-radius: 6px; }
.hm-emp:hover { background: #111723; } .hm-emp b { color: var(--luz); font-weight: 600; }
.hm-areas { margin-top: 10px; display: flex; flex-direction: column; gap: 4px; }
.hm-areas div { display: grid; grid-template-columns: 110px 1fr auto; gap: 8px; align-items: center; font-size: 11.5px; color: #aeb5c0; }
.hm-areas i { display: block; height: 5px; border-radius: 3px; background: var(--ouro); width: var(--w); transform-origin: left; animation: hm-barra .6s both; }
.hm-areas b { font: 400 10.5px var(--f-dado); color: var(--ouro); }
.hm-lin b { color: var(--luz); }
/* bandeja "Comparar políticos" */
.hm-band { position: absolute; z-index: 12; left: 50%; bottom: 14px; translate: -50% 0; width: min(760px, calc(100% - 24px)); animation: hm-band .35s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes hm-band { from { opacity: 0; translate: -50% 30px; } }
.hm-band-in { display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 16px; border-radius: 16px; background: rgba(10, 13, 20, .97); border: 1px solid rgba(245, 183, 10, .6); box-shadow: 0 20px 60px rgba(0, 0, 0, .7), 0 0 30px rgba(245, 183, 10, .12); }
.hm-band-t { margin: 0; display: flex; flex-direction: column; flex: none; }
.hm-band-t b { font-size: 13.5px; } .hm-band-t span { font: 400 10.5px var(--f-dado); color: var(--nevoa); }
.hm-band-ps { flex: 1; display: flex; gap: 6px; align-items: center; flex-wrap: wrap; min-width: 0; }
.hm-band-p { display: inline-flex; align-items: center; gap: 6px; padding: 3px 4px 3px 3px; border-radius: 999px; background: #121824; font-size: 12px; animation: hm-item .25s both; }
.hm-band-p .hm-face { width: 24px; height: 24px; }
.hm-band-p button { all: unset; cursor: pointer; width: 18px; height: 18px; border-radius: 50%; text-align: center; line-height: 18px; font-size: 9px; color: var(--nevoa); }
.hm-band-p button:hover { color: var(--luz); background: #1d2430; }
.hm-band-busca { flex: 1; min-width: 150px; display: flex; align-items: center; gap: 8px; border: 1px solid #232b38; border-radius: 999px; padding: 0 12px; background: #0b0f17; }
.hm-band-busca input { flex: 1; min-width: 0; height: 32px; border: 0; background: transparent; color: var(--luz); font: inherit; font-size: 13px; outline: none; }
.hm-band .hm-btn { flex: none; }
.hm-band-x { all: unset; cursor: pointer; width: 28px; height: 28px; border-radius: 50%; text-align: center; line-height: 28px; color: var(--nevoa); }
.hm-band-res { list-style: none; margin: 0 0 8px; padding: 6px; position: absolute; bottom: 100%; left: 0; right: 0; background: rgba(10, 13, 20, .98); border: 1px solid #2a3240; border-radius: 14px; box-shadow: 0 -20px 50px rgba(0, 0, 0, .6); max-height: 50vh; overflow-y: auto; }
.hm-band-res button { all: unset; box-sizing: border-box; width: 100%; display: grid; grid-template-columns: 30px 1fr 24px; gap: 10px; align-items: center; padding: 7px 8px; border-radius: 9px; cursor: pointer; font: 600 13px var(--f-texto); }
.hm-band-res button:hover { background: #151c28; } .hm-band-res button[disabled] { opacity: .5; cursor: default; }
.hm-band-res small { display: block; font-weight: 400; color: #7d8796; font-size: 10.5px; }
.hm-band-res i { font-style: normal; color: var(--ouro); font-size: 18px; text-align: center; }
.hm-band-res .vz { padding: 8px; color: #7d8796; font-size: 12.5px; }
.hm.com-band .hm-guia { bottom: 96px; } .hm.com-band .hm-leg { bottom: 170px; } .hm.com-band .hm-zoom { bottom: 176px; }
/* vista Emendas na comparação */
.hm-emb { margin-top: 22px; }
.hm-em-res { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
.hm-em-p { all: unset; cursor: pointer; flex: 1; min-width: 180px; padding: 9px 12px; border-radius: 10px; border: 1px solid #1d2430; border-left: 3px solid var(--k); background: #0a0e15; transition: border-color .15s; }
.hm-em-p.on, .hm-em-p:hover { border-color: var(--k); }
.hm-em-p b { display: block; font-size: 13.5px; } .hm-em-p span { font-size: 12px; color: #aeb5c0; } .hm-em-p em { font-style: normal; font-family: var(--f-dado); color: var(--k); }
.hm-em-p small { display: block; font-size: 11px; color: #7d8796; margin-top: 2px; }
.hm-em-l { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; }
.hm-em-l li { animation: hm-item .3s both; border-bottom: 1px solid #121821; }
.hm-em-l button { all: unset; box-sizing: border-box; width: 100%; display: grid; grid-template-columns: 8px 1fr auto 10px; gap: 10px; align-items: center; padding: 8px 4px; cursor: pointer; border-radius: 6px; font-size: 13px; }
.hm-em-l button::after { content: '›'; color: var(--ouro); font-size: 17px; }
.hm-em-l button:hover { background: #111723; }
.hm-em-l i { width: 8px; height: 8px; border-radius: 50%; }
.hm-em-l small { display: block; color: #7d8796; font-size: 11px; line-height: 1.35; margin-top: 1px; }
.hm-em-l em { font-style: normal; font: 500 12px var(--f-dado); color: var(--ouro); white-space: nowrap; }
.hm-emb .hm-btn.g { margin-top: 10px; }
.hm-fav .n .det-link { font-weight: 600; color: var(--luz); text-align: left; }
.hm-fav-pq { all: unset; cursor: pointer; display: inline-block; margin: 3px 10px 0 0; font: 600 10.5px var(--f-texto); color: var(--ouro); }
.hm-fav-pq:hover { color: var(--luz); }
.hm-ct-n.det-link { font-size: 13px; font-weight: 700; color: var(--luz); }
@media (max-width: 820px) {
  .hm-band { bottom: 8px; width: calc(100% - 16px); }
  .hm-band-in { flex-wrap: wrap; padding: 10px; gap: 8px; }
  .hm-band-t { flex-direction: row; gap: 8px; align-items: baseline; width: 100%; }
  .hm-band .hm-btn { width: 100%; justify-content: center; }
  .hm.com-band .hm-painel { bottom: 128px; max-height: calc(62% - 120px); }
  .hm.com-band .hm-guia { bottom: 140px; }
  .hm-em-l { grid-template-columns: 1fr; }
  .hm-hero-acoes { margin-top: 12px; } .hm-btn-cmp { font-size: 14px; padding: 10px 14px; }
  .hm-q { grid-template-columns: 30px 1fr auto; } .hm-q .hm-esc { grid-column: 2 / -1; justify-self: start; margin-top: -2px; }
}

/* ajuste: linha do político em duas linhas, bandeja sem cobrir o painel */
.hm-q { grid-template-columns: 30px 1fr auto; row-gap: 4px; }
.hm-q .hm-face { grid-row: span 2; align-self: start; }
.hm-q .hm-esc { grid-column: 3; grid-row: 2; justify-self: end; }
.hm-q .n { grid-row: span 2; align-self: start; }
.hm.com-band .hm-painel { bottom: 96px; }
@media (max-width: 820px) { .hm-q .hm-esc { grid-column: 3; } .hm.com-band .hm-painel { bottom: 128px; } }
