
:root{--amar:#FFD400;--ink:#1a1a1a;--cinza:#666;--fundo:#fafaf7;--card:#fff;--borda:#e8e6e0}
@media (prefers-reduced-motion:no-preference){.cb-run .cb-p1{transform-origin:38px 82px;animation:cbp .5s ease-in-out infinite alternate}.cb-run .cb-p2{transform-origin:64px 82px;animation:cbp .5s ease-in-out infinite alternate-reverse}.cb-run .cb-corpo{animation:cbb .5s ease-in-out infinite alternate}@keyframes cbp{from{transform:rotate(-30deg)}to{transform:rotate(30deg)}}@keyframes cbb{from{transform:skewX(-8deg) translateY(0)}to{transform:skewX(-8deg) translateY(-3px)}}}
.cb-av{display:inline-block;width:28px;height:28px;vertical-align:middle;margin-right:6px}.cb-av svg{width:100%;height:100%;display:block}.cb-h1{display:flex;align-items:center;gap:14px}.cb-h1 svg{width:96px;height:96px;flex:none;background:var(--fundo);border-radius:22px;padding:4px;box-sizing:border-box}.cb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:14px 0}.cb-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--card);border:1px solid var(--borda);border-radius:12px;padding:12px 8px;text-decoration:none;color:inherit;text-align:center}.cb-card svg{width:96px;height:96px}.cb-card b{font-size:.95rem}.cb-card small{color:var(--cinza);font-size:.8rem}@media(max-width:520px){.cb-h1 svg{width:64px;height:64px}.cb-av{width:22px;height:22px;margin-right:4px}.cb-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.cb-card svg{width:72px;height:72px}}
*{margin:0;padding:0;box-sizing:border-box}
/* 20/09/2026: Sao Paulo tem 32 mil nos (tabela de 840 bairros) e o celular gastava 0,8 s so em estilo e layout. A secao com tabela fora da tela so e desenhada quando chega perto; o HTML e os links continuam todos no documento. */
section:has(table)~section,section~section:has(table){content-visibility:auto;contain-intrinsic-size:auto 900px}
body{font-family:-apple-system,'Segoe UI',Roboto,sans-serif;background:var(--fundo);color:var(--ink);line-height:1.55}
.wrap{max-width:880px;margin:0 auto;padding:0 18px}
header{background:var(--ink);color:#fff;padding:30px 0 22px;border-bottom:6px solid var(--amar)}
header h1,header .marca{font-size:1.9rem;letter-spacing:-.5px;font-weight:700;line-height:1.15}
header h1 a,header .marca a{color:inherit;text-decoration:none}
header h1 span,header .marca span{color:var(--amar)}
header p{color:#cfcfcf;margin-top:6px;max-width:680px}
/* H1 semantico do tema (o nome da marca vira .marca): mesma aparencia do antigo <p> */
header h1.tema{font-size:1.02rem;font-weight:600;letter-spacing:0;color:#cfcfcf;margin-top:8px;max-width:680px}
header h1.tema.leve{font-weight:400;line-height:1.45}
.stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px}
.hero{margin-top:18px}
.herofim .varant{color:#cfcfcf;font-size:.92rem;margin:8px 0 0}
.cta-bairro{margin-top:16px;padding:14px 16px;border:1px solid var(--borda);border-radius:14px}.cmn{display:grid;gap:10px;grid-template-columns:1fr 1fr}.cmn label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--cinza)}.cmn input,.cmn select{padding:9px 10px;border:1px solid var(--borda);border-radius:8px;font:inherit;background:var(--card);color:var(--ink);max-width:100%}.cmn .full{grid-column:1/-1}.cmn button{font:inherit;cursor:pointer}@media(max-width:520px){.cmn{grid-template-columns:1fr}}
.btn,.cta-bairro .btn{display:inline-block;margin:4px 8px 4px 0;padding:11px 15px;border-radius:10px;background:var(--ink);color:var(--amar);font-weight:700;text-decoration:none;border:2px solid var(--ink)}
.btn.sec,.cta-bairro .btn.sec{background:transparent;color:var(--ink)}
.card h2.h3{font-size:1.05rem;margin-bottom:10px;border:0;padding:0}
.mobn{display:none;color:#6b6b6b;font-size:.78rem;font-weight:400}
.mov{display:inline-block;font-size:.72rem;font-weight:700;padding:1px 7px;border-radius:999px;margin-left:6px;vertical-align:middle;background:#ececec;color:#555;white-space:nowrap}
.mov.up{background:#dff3e5;color:#1e6b3a}.mov.down{background:#fbe3e3;color:#a12b2b}.mov.novo{background:#fff1c2;color:#6b4f00}
.mov-leg{font-size:.8rem;color:#6b6b6b;margin:6px 0 0}
table.serie td,table.serie th{white-space:nowrap}
@media(max-width:520px){table.rk5{min-width:0}table.rk5 th:nth-child(4),table.rk5 td:nth-child(4),table.rk5 th:nth-child(5),table.rk5 td:nth-child(5){display:none}table.rk5 .mobn{display:block}}
#topo{position:fixed;right:14px;bottom:14px;display:none;background:var(--ink);color:var(--amar);border:2px solid var(--amar);border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer;z-index:9;font-size:.9rem}
.herofim{background:var(--ink);border-radius:14px;padding:20px 24px;margin-top:26px}
.herofim .hero{margin-top:0}
.hero b{font-size:2.7rem;line-height:1;color:var(--amar);font-variant-numeric:tabular-nums;letter-spacing:-1px}
.hero span{font-size:1.2rem;font-weight:700;color:var(--amar);margin-left:2px}
.hero p{color:#e9e9e9;font-size:1rem;margin-top:6px;max-width:56ch}
.hero p b{color:#fff;font-size:inherit;letter-spacing:0}
.metaline{margin-top:10px;font-size:.85rem;color:#a8a8a8}
.metaline a{color:#d8d8d8}
.assina{margin-top:6px;font-size:.85rem;color:#bdbdbd}
.assina a{color:var(--amar);font-weight:600}
.ferr{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.dobra{margin-top:12px}
.dobra>summary{cursor:pointer;display:inline-block;font-weight:700;color:#1b6e1b;background:#fff;border:2px solid #1b6e1b;border-radius:20px;padding:11px 18px;font-size:.95rem;list-style:none}
.dobra>summary::-webkit-details-marker{display:none}
.dobra>summary::after{content:" ▾"}
.dobra[open]>summary::after{content:" ▴"}
.dobra[open]>summary{margin-bottom:10px}
.indice{margin-top:16px;font-size:.88rem;color:#8f8f8f;line-height:2}
.indice a{color:#d8d8d8;text-decoration:none;display:inline-block;padding:4px 0;border-bottom:1px solid #4a4a4a;padding-bottom:2px}
.ferr a{font-weight:700;background:#fff;border:2px solid #1b6e1b;color:#1b6e1b;border-radius:20px;padding:12px 16px;text-decoration:none;font-size:.95rem}
.ferr a.destaque{background:#0E4C92;border-color:#0E4C92;color:#fff}
/* 09/09/2026 (auditoria UX de navegação): fileira compacta (3 mais usadas + "Todas as ferramentas")
   na primeira tela de toda página; o bloco completo (.ferr-bloco, id=ferramentas) sai uma vez só,
   depois do ranking ou do resultado. A pílula "Todas" é tracejada para se distinguir das ferramentas. */
.ferr.ferr-c{margin-top:12px}
.ferr a.ferr-todas{border-style:dashed}
.ferr-bloco{margin-top:26px}
.stat{background:#2a2a2a;border-radius:10px;padding:10px 16px;text-align:center}
.stat b{display:block;font-size:1.25rem;color:var(--amar)}
.stat small{color:#bbb;font-size:.75rem}
.tipos{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 0}
.tipos a{background:#2a2a2a;color:#ddd;text-decoration:none;font-weight:600;padding:9px 18px;border-radius:99px;font-size:.92rem}
.tipos a.on{background:var(--amar);color:var(--ink)}
.cidades{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}
.cidades a{background:transparent;border:1px solid #555;color:#bbb;text-decoration:none;font-weight:600;padding:6px 14px;border-radius:99px;font-size:.82rem}
.cidades a.on{border-color:var(--amar);color:var(--amar)}
.cidades .breve{border:1px dashed #4a4a4a;color:#949494;font-weight:600;padding:6px 14px;border-radius:99px;font-size:.82rem;cursor:default}
.cidades .novo{background:var(--amar);color:#1a1a1a;border-radius:6px;padding:0 5px;font-size:.78rem;vertical-align:middle}
.cidades details.mais{display:inline-block}
.cidades details.mais[open]{flex-basis:100%}
.cidades details.mais summary{list-style:none;display:inline-block;cursor:pointer;border:1px solid #555;color:#bbb;font-weight:600;padding:6px 14px;border-radius:99px;font-size:.82rem}
.cidades details.mais summary::-webkit-details-marker{display:none}
.cidades details.mais[open] summary{border-color:var(--amar);color:var(--amar)}
.cidades details.mais .lista{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.cidades details.mais .lista a{background:transparent;border:1px solid #555;color:#bbb;text-decoration:none;font-weight:600;padding:6px 14px;border-radius:99px;font-size:.82rem}
.cidades.claro details.mais summary{border-color:#cfccbe;color:#5f5f5f}
.cidades.claro details.mais[open] summary{border-color:var(--ink);color:var(--ink)}
.cidades.claro details.mais .lista a{border-color:#cfccbe;color:#5f5f5f}
.cidades .navsel{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center}
.cidades a.volta{border-style:dashed;border-color:var(--amar);color:var(--amar)}
.cidades a.ferr-atalho{border-color:var(--amar);color:var(--amar)}
@media (pointer:coarse){.cidades details.mais .lista a,.cidades select,.cidades a{padding-top:10px;padding-bottom:10px}}
.cidades select{background:transparent;border:1px solid #555;color:#bbb;border-radius:99px;padding:6px 12px;font:inherit;font-size:.82rem;font-weight:600;max-width:46vw;cursor:pointer}
.cidades select:disabled{opacity:.45;cursor:default}
.cidades select option{color:#111;background:#fff}
.cidades.claro select{border-color:#cfccbe;color:#5f5f5f}
.cidades details.mais .lista .ufn{flex-basis:100%;margin-top:6px;font-size:.74rem;color:#9a9a9a;text-transform:uppercase;letter-spacing:.05em}
.cidades.claro details.mais .lista .ufn{color:#7a7a7a}
small.uf{color:#6f6f6f;font-weight:600;font-size:.78em;letter-spacing:.02em}
/* Os tres seletores (cidade, tipo de imovel e venda/aluguel) passaram a ficar
   juntos, logo acima da tabela que eles mudam. Como saem do cabecalho escuro
   para o corpo claro, precisam da variante de cor abaixo. */
.filtros{background:var(--card);border:1px solid var(--borda);border-radius:12px;padding:14px 16px;margin-bottom:16px}
.filtros .rot{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--cinza);font-weight:700}
.filtros .tipos,.filtros .cidades{margin:6px 0 0}
.filtros .linha+.linha{margin-top:12px}
.tipos.claro a{background:#efedE4;color:#3a3a3a}
.tipos.claro a.on{background:var(--ink);color:var(--amar)}
.cidades.claro a{border-color:#cfccbe;color:#5f5f5f}
.cidades.claro a.on{border-color:var(--ink);color:var(--ink);background:#fff}
.cidades.claro .breve{border-color:#d6d3c6;color:#6b6b6b}
.filtros .toggle{margin-bottom:0;margin-top:6px}
main{padding:28px 0 10px}
section{margin-bottom:42px}
h2{font-size:1.35rem;margin-bottom:6px;border-left:5px solid var(--amar);padding-left:10px}
.sub{color:var(--cinza);font-size:.9rem;margin-bottom:16px}
.toggle{display:inline-flex;border:2px solid var(--ink);border-radius:99px;overflow:hidden;margin-bottom:16px}
.toggle button{border:0;background:#fff;padding:8px 22px;font-size:.95rem;font-weight:600;cursor:pointer}
.toggle button.on{background:var(--ink);color:var(--amar)}
.tblwrap{overflow-x:auto;background:var(--card);border:1px solid var(--borda);border-radius:12px;background-image:linear-gradient(to right,var(--card),var(--card)),linear-gradient(to right,var(--card),var(--card)),linear-gradient(to right,rgba(0,0,0,.18),rgba(0,0,0,0)),linear-gradient(to left,rgba(0,0,0,.18),rgba(0,0,0,0));background-position:left center,right center,left center,right center;background-repeat:no-repeat;background-size:24px 100%,24px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}
table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:560px}
th{text-align:left;padding:10px 12px;background:#f3f2ec;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;color:#555}
td{padding:9px 12px;border-top:1px solid var(--borda)}
/* 05/09/2026 (auditoria de navegacao, item 3 do desktop): a celula tem 42px, mas o <a> dentro
   dela tinha 23px de altura, e o alvo do WCAG 2.5.8 e o link, nao a celula. 360 links de bairro
   ficavam abaixo dos 24px no desktop, pior que no celular. Esticar o link resolve sem mexer na
   altura da linha, que ja comporta a folga. */
td a{display:inline-block;min-height:24px;padding:3px 0;line-height:1.4}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
tr:hover td{background:#fffbe6}
th[data-s]{cursor:pointer;user-select:none;white-space:nowrap;position:relative}
th[data-s]:hover{background:#eceadf;color:#222}
th[data-s]::after{content:"\2195";opacity:.32;margin-left:5px;font-size:.9em}
th[data-s][aria-sort="descending"]::after{content:"\25BC";opacity:1}
th[data-s][aria-sort="ascending"]::after{content:"\25B2";opacity:1}
th[data-s]:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.dicaord{font-size:.8rem;color:#6b665a;margin:6px 2px 0}
.rk{color:#5f5f5f;font-size:.8rem;width:30px}
.med{font-weight:700;white-space:nowrap}
.faixa{position:relative;height:8px;background:#eee;border-radius:4px;min-width:110px}
.faixa i{position:absolute;height:8px;background:var(--amar);border-radius:4px}
.faixa u{position:absolute;top:-2px;width:3px;height:12px;background:var(--ink);border-radius:2px}
.bdg{font-size:.78rem;padding:2px 8px;border-radius:99px;white-space:nowrap}
.bdg.alta{background:#d9f2d9;color:#1b6e1b}.bdg.media{background:#fff3cd;color:#6b5400}.bdg.baixa{background:#fde2e2;color:#a33}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--borda);border-radius:12px;padding:18px}
.card h3{font-size:1.05rem;margin-bottom:10px}
.kv{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed var(--borda);font-size:.9rem}
.kv:last-child{border:0}.kv b{font-variant-numeric:tabular-nums;text-align:right}
select,input,textarea{padding:11px 12px;border:2px solid var(--ink);border-radius:8px;font-size:1rem;background:#fff;margin-right:10px;margin-bottom:12px;font-family:inherit}
.fxbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px}
.fxb{border:1px solid #ccc;background:#fff;border-radius:99px;padding:7px 14px;font:inherit;font-size:.9rem;font-weight:600;color:#444;cursor:pointer}
.fxb:hover{border-color:#888}.fxb.on{background:#123b6d;border-color:#123b6d;color:#fff}
.fxb:focus-visible{outline:2px solid #123b6d;outline-offset:2px}
.aviso{background:#fff8dc;border:1px solid #eedc82;border-radius:10px;padding:14px 16px;font-size:.87rem;margin:14px 0}
.metod ol{margin:10px 0 10px 22px;font-size:.92rem}
.metod li{margin-bottom:7px}.metod .leituras{display:block;margin-top:5px;font-size:.86em;color:#5a5a5a;line-height:1.7}
.disc{font-size:.8rem;color:var(--cinza)}
.disc li{margin-bottom:5px;margin-left:18px}
.dl a{display:inline-block;background:var(--ink);color:var(--amar);text-decoration:none;font-weight:600;padding:9px 18px;border-radius:8px;margin:4px 8px 4px 0;font-size:.9rem}
.cite{background:#f3f2ec;border-radius:8px;padding:12px 14px;font-family:ui-monospace,monospace;font-size:.83rem;margin:10px 0}
footer{background:var(--ink);color:#bbb;padding:30px 0;margin-top:30px;font-size:.85rem}
footer a{color:var(--amar);text-decoration:none;font-weight:600}
/* convite de seguir: fica no topo do rodape, ou seja, depois que a pessoa ja
   teve a resposta que veio buscar. Nao cobre conteudo, nao e popup, nao tem
   fechar. Um alvo de toque so, grande o suficiente no celular. */
.segue{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
 background:rgba(255,255,255,.06);border:1px solid rgba(255,212,0,.35);border-radius:12px;
 padding:14px 18px;margin-bottom:22px}
.segue span{color:#e8e6df;font-size:.95rem}
.segue b{color:#fff}
.segue a.ig{background:var(--amar);color:var(--ink);padding:10px 20px;border-radius:999px;
 font-weight:700;white-space:nowrap;font-size:.95rem}
@media(max-width:600px){.segue{justify-content:center;text-align:center}.segue a.ig{width:100%;text-align:center}}
.crumb{font-size:.85rem;margin-bottom:14px}.crumb a{color:#6b5400;text-decoration:none}
/* paragrafo-resposta logo apos o H1 (SEO 02/09): uma frase com o numero, sem bloco hero */
header p.lead{color:#e9e9e9;margin-top:10px;font-size:.98rem}header p.lead b{color:var(--amar)}
.porta{display:grid;grid-template-columns:1fr auto;gap:14px 24px;align-items:center;margin-top:16px;padding:16px 18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:14px}
.porta-n b{font-size:2.6rem;line-height:1;color:var(--amar);font-variant-numeric:tabular-nums;letter-spacing:-1px}
.porta-n span{font-size:1.1rem;font-weight:700;color:var(--amar);margin-left:2px}
.porta-n small{display:block;color:#e9e9e9;font-size:.92rem;margin-top:6px;line-height:1.35}
.porta-n .varant{color:#cfcfcf;font-size:.84rem;margin:4px 0 0}
.porta-lider{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-width:0}
.porta-lider svg{width:64px;height:64px;flex:none;background:var(--fundo);border-radius:16px;padding:3px;box-sizing:border-box}
.porta-lider em{display:block;font-style:normal;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:#cfcfcf}
.porta-lider b{display:block;font-size:1.05rem;line-height:1.2}
.porta-lider span{font-size:.9rem;color:#e9e9e9}
.porta-btn{grid-column:1/-1;display:block;text-align:center;background:var(--amar);color:var(--ink);font-weight:800;border-radius:12px;padding:13px 16px;text-decoration:none;font-size:1.05rem}.porta-mapa{grid-column:1/-1;display:block;text-align:center;margin-top:8px;font-weight:700;color:var(--amar);text-decoration:none}.porta-mapa:hover{text-decoration:underline}.mq-cid{font-weight:700;font-size:11px;padding:2px 5px}
.porta-btn:hover{filter:brightness(.95)}
.porta-q{margin-top:10px}.porta-q input{width:100%;box-sizing:border-box;font:inherit;font-size:1rem;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.09);color:#fff}
.porta-q input::placeholder{color:#c9c9c9}.pq-out{margin-top:6px;display:grid;gap:6px}
.pq-out a{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:.95rem}
.pq-out a b{font-weight:800}.pq-out a span{color:#e9e9e9}.pq-out .pq-none{color:#ddd;font-size:.9rem}.pq-out .pq-none a{color:var(--amar)}
header p.lead.capx a{color:var(--amar);font-weight:700;text-decoration:none}
.porta-geo{min-height:44px;margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.92rem;color:#c9c9c9}
.porta-geo .pg-link{color:var(--amar);font-weight:800;text-decoration:none;white-space:nowrap}
.pg-btn{border:1px solid #6a6a6a;background:transparent;color:#ddd;border-radius:999px;padding:8px 14px;font-size:.9rem;cursor:pointer;min-height:36px}
.pg-btn.pg-min{padding:6px 12px;font-size:.82rem;min-height:32px}
.pg-btn:disabled{opacity:.6;cursor:wait}
main .pg-btn{border-color:#bbb;color:#333}
/* 04/09/2026 (Jales, e os números concordam): a faixa de ferramentas em linha única com
   rolagem lateral, adotada em 03/09, escondia tudo que não coubesse na largura da tela.
   O clique em ferramenta caiu de 20 a 24 por dia para 1 e depois 0 nos dois dias seguintes.
   Volta a quebrar linha no celular, como era antes, herdando .ferr{flex-wrap:wrap} do topo. */
@media(max-width:600px){.porta{grid-template-columns:1fr;gap:12px;padding:14px}.porta-n b{font-size:2.3rem}header p.lead{font-size:.9rem;color:#d4d4d4}}
/* FAQ visivel: details fechado, pergunta em negrito, uma linha sutil entre itens */
details.faq{border-bottom:1px solid var(--borda);padding:10px 0}
details.faq summary{cursor:pointer;font-weight:700;list-style-position:inside}
details.faq summary h3{display:inline;font-size:1em;font-weight:700}
details.faq p{margin:8px 0 0}
/* 05/09/2026 (auditoria de navegacao, item 3): o <select> do comparador e dimensionado pelo
   MAIOR nome de bairro da cidade (60 caracteres em Campinas), entao ficava 490px dentro de uma
   caixa de 464px e fazia o corpo da pagina rolar na horizontal, o que a regra do projeto proibe.
   Capar o item e deixar o select encolher resolve sem mexer nas cidades de nome curto. */
/* 05/09/2026 (auditoria de navegacao, item 2): nao havia busca de bairro em NENHUMA pagina de
   cidade. Achar "Centro" em Campinas custava rolar 13,3 telas, porque a tabela e ordenada por
   preco, nao por nome. O campo e injetado por JS acima de toda tabela grande com coluna Bairro. */
.bporta{margin:10px 0 4px;font-size:1.02rem;line-height:1.5}
.bporta b{font-size:1.18em}
.tbq{display:flex;gap:8px;align-items:center;margin:12px 0 6px;flex-wrap:wrap}
.tbq input{flex:1 1 240px;min-width:0;padding:11px 12px;border:1px solid var(--borda);border-radius:10px;font:inherit;background:var(--card);color:var(--ink)}
.tbqn{color:var(--cinza);font-size:.9rem;white-space:nowrap}
.tbmais{margin:10px 0 4px}
#selbox{max-width:100%}
#selbox .selb{max-width:100%;min-width:0}
#selbox .selb select{min-width:0;max-width:100%;flex:1 1 auto;text-overflow:ellipsis}
/* legenda de tabela so para leitores de tela e para o rastreador */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:600px){header h1,header .marca{font-size:1.45rem}header h1.tema{font-size:.98rem}.stat{padding:8px 12px}
.hero b{font-size:2.2rem}.hero p{font-size:.95rem}
table{font-size:1rem}td,th{padding:11px 8px}
.sub{font-size:.95rem}.bdg{font-size:.82rem}.disc{font-size:.9rem}.kv{font-size:.95rem}.metod ol{font-size:1rem}
/* WCAG 2.5.8 exige 24px (AA); 44px so nos controles isolados, onde o espaco e barato */
.cidades a,.cidades details.mais summary{padding:12px 16px}.tipos a{padding:12px 18px}.toggle button{padding:12px 22px}
/* 04/09/2026 (auditoria de navegacao): as 10 pilulas empilhadas custavam 546px e empurravam
   o preco do bairro para fora do primeiro dobre. Grade de 2 colunas: 354px, as 10 visiveis,
   alvo de 47px. Esconder pilula atras de faixa ou details ja foi tentado em 03/09 e zerou o clique. */
.ferr{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ferr a{padding:11px 10px;font-size:.86rem;text-align:center;display:flex;align-items:center;justify-content:center;min-height:46px}
td a{display:inline-block;padding:4px 0}}

html{scroll-padding-top:56px}
.barra{position:sticky;top:0;z-index:30;background:var(--ink);color:#fff;border-bottom:2px solid var(--amar);font-size:.92rem}
.barra .b-in{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}
.barra a{color:#fff;text-decoration:none}
.barra .b-marca{font-weight:700;white-space:nowrap}
.barra .b-marca .b-s{display:none}
.barra nav{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;min-width:0}
.barra nav a{padding:6px 10px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}
.barra nav a:hover,.barra nav a:focus{background:#333}
.barra nav .b-cid{background:var(--amar);color:var(--ink);font-weight:700}
.barra .b-busca{background:transparent;border:1px solid #666;color:#fff;border-radius:999px;padding:6px 10px;font:inherit;cursor:pointer;white-space:nowrap}
.barra .b-busca[aria-expanded=true]{background:#fff;color:var(--ink)}
.b-box{background:#222;border-top:1px solid #444;padding:10px 0 12px}
.b-box input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #555;border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
.b-out{display:flex;flex-direction:column;gap:2px;margin-top:6px;max-height:50vh;overflow:auto}
.b-out a{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;color:#fff}
.b-out a:hover,.b-out a:focus{background:#333}
.b-out a span{color:#bbb;font-size:.88em;white-space:nowrap}
.b-none{color:#ddd;margin:8px 0 0}.b-none a{color:#fff;text-decoration:underline}
@media(max-width:600px){.barra{font-size:.86rem}.barra .b-marca .b-l,.barra .b-marca .b-s{display:none}.barra .b-marca{font-size:1.25rem}.barra nav .b-rk{display:none}.barra .b-busca span{display:none}.barra nav a{padding:6px 9px;max-width:52vw}}
