/* páginas locais — sidebar fixa, links internos e conteúdo */
.pular{position:absolute;left:-9999px}
.pular:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:200;border-radius:8px}
.artigo{max-width:840px}
.artigo p{color:var(--texto)}
.artigo .destaque{font-size:18.5px}
.artigo h2{margin-top:34px;font-size:clamp(21px,3vw,29px)}
.artigo section{scroll-margin-top:90px}
.passos-simples{list-style:none;counter-reset:ps;padding:0;margin:0 0 18px;display:grid;gap:14px}
.passos-simples li{counter-increment:ps;background:var(--cinza);border-radius:var(--raio);padding:16px 18px 16px 60px;position:relative}
.passos-simples li::before{content:counter(ps);position:absolute;left:16px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--vermelho);color:#fff;font-weight:900;display:grid;place-items:center}
.passos-simples b{display:block}
.passos-simples span{color:var(--texto-2);font-size:15.5px}
.cta-inline{background:var(--preto);color:#fff;border-radius:var(--raio);padding:22px;margin:28px 0;display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.cta-inline strong{font-size:19px}
.links-inline{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.links-inline a{font-weight:700;font-size:15.5px}
.links-rodape h2{font-size:clamp(20px,2.6vw,26px)}
.links-rodape h3{margin:22px 0 10px;font-size:16px;text-transform:uppercase;letter-spacing:1px;color:var(--texto-2)}
.hub-local{border-top:1px solid var(--cinza-2);padding-top:18px}
.side-cta{background:#fff;border:1px solid var(--cinza-2);border-radius:var(--raio);padding:16px;margin-bottom:18px;text-align:center}
.side-cta strong{display:block;margin-bottom:10px}
.side-tit{font-size:15px!important;text-transform:uppercase;letter-spacing:1px;color:var(--texto-2);margin:18px 0 8px!important}
.side-lista{list-style:none;padding:0;margin:0 0 10px}
.side-lista li{border-bottom:1px solid var(--cinza-2)}
.side-lista li a{display:block;padding:9px 0;font-size:14.5px;font-weight:600;color:var(--texto)}
.side-lista li a:hover{color:var(--vermelho)}
.side-lista--rolagem{max-height:420px;overflow-y:auto;padding-right:6px}
.side-lista--rolagem::-webkit-scrollbar{width:6px}
.side-lista--rolagem::-webkit-scrollbar-thumb{background:var(--cinza-2);border-radius:6px}
@media (min-width:901px){
  .sidebar--fixa{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow-y:auto}
}
@media (max-width:900px){
  .sidebar--fixa{position:static;max-height:none}
  .side-lista--rolagem{max-height:320px}
  .cta-inline{justify-content:center;text-align:center}
  .links-inline{grid-template-columns:1fr}
}
/* ===== ícone WhatsApp nos botões ===== */
.btn .ico-zap{width:1.15em;height:1.15em;fill:currentColor;margin-right:.5em;vertical-align:-.18em;flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center}

/* ===== seção cidades atendidas ===== */
.cidades{background:linear-gradient(180deg,#0f1114 0%,#15181d 100%);color:#f4f6f8}
.cidades .selo{display:inline-block;background:#e11d2e;color:#fff;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;border-radius:999px}
.cidades h2{color:#fff;font-size:clamp(24px,3.4vw,38px);margin:14px 0 8px;line-height:1.15}
.cidades .chamada{color:#b9c0c9;max-width:760px;margin:0 0 22px}
.cidades__busca{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
.cidades__busca input{flex:1 1 320px;min-width:0;padding:14px 16px;border-radius:12px;border:1px solid #2c313a;background:#0b0d10;color:#fff;font-size:16px}
.cidades__busca input:focus{outline:2px solid #22c55e;border-color:#22c55e}
.cidades__contador{font-size:13px;color:#8f98a3;font-weight:700}
.cidades__grade{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));max-height:520px;overflow:auto;padding-right:6px}
.cidades__grade::-webkit-scrollbar{width:8px}
.cidades__grade::-webkit-scrollbar-thumb{background:#2c313a;border-radius:8px}
.cidades__grade li[hidden]{display:none}
.cidades__grade a{display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:12px;background:#1a1e24;border:1px solid #262c34;color:#e8ebef;text-decoration:none;font-size:14.5px;font-weight:600;transition:.18s}
.cidades__grade a:hover{background:#22272e;border-color:#e11d2e;color:#fff;transform:translateY(-2px)}
.cidades__ico{width:15px;height:15px;flex:none;fill:#e11d2e}
.cidades__vazio{color:#b9c0c9;margin-top:14px}
.cidades__hubs{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.cidades__hubs .btn--linha{border-color:#3a4149;color:#fff}
.cidades__hubs .btn--linha:hover{background:#e11d2e;border-color:#e11d2e}
@media(max-width:640px){
  .cidades__grade{grid-template-columns:1fr;max-height:420px}
  .cidades__grade a{font-size:14px;padding:11px 12px}
  .cidades__hubs .btn{flex:1 1 100%}
}

/* ===== hub de cidades ===== */
.cidades__letras{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.btn--mini{padding:.28rem .6rem;font-size:.85rem}
.cidades__bloco{margin-bottom:2rem}
.cidades__bloco h2{border-bottom:2px solid var(--vermelho,#e11d2a);display:inline-block;padding-bottom:.2rem;margin-bottom:.8rem}
.lista-servicos{list-style:none;padding:0;display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.lista-servicos a{display:block;padding:.9rem 1rem;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fff;text-decoration:none;color:inherit;transition:.2s}
.lista-servicos a:hover{border-color:var(--vermelho,#e11d2a);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.lista-servicos strong{display:block;margin-bottom:.25rem;line-height:1.35}
.lista-servicos span{display:block;font-size:.84rem;opacity:.72}
.links-internos{list-style:none;padding:0;display:grid;gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));font-size:.92rem}
.cidades__grade em{font-style:normal;opacity:.6;font-size:.8rem;margin-left:.35rem}
.rodape__cidades{padding:.6rem 0;font-size:.9rem;opacity:.85}
.migalhas{font-size:.85rem;opacity:.8;margin-bottom:.6rem}
@media (max-width:640px){.lista-servicos,.links-internos{grid-template-columns:1fr}}

/* ===== correções finais ===== */
.ico-zap{width:1.15em;height:1.15em;fill:currentColor;flex:none;vertical-align:-.18em;margin-right:.45em}
.footer .ico-zap,.footer li svg,.links-internos svg{width:16px;height:16px}
.footer li a{display:inline-flex;align-items:center;gap:.1em;font-size:15px;line-height:1.4}
.footer li a svg{max-width:16px;max-height:16px}
.fone a,.hero__fone a{white-space:nowrap}

/* mapa da região */
.mapa-regiao{background:#0f1114;color:#f4f6f8}
.mapa-regiao h2{color:#fff;margin:0 0 8px}
.mapa-regiao p{color:#b9c0c9;max-width:820px}
.mapa-regiao__box{margin-top:18px;border-radius:14px;overflow:hidden;border:1px solid #262c34;background:#1a1e24}
.mapa-regiao__box iframe{display:block;width:100%;height:420px;border:0}
@media(max-width:640px){.mapa-regiao__box iframe{height:300px}}

/* ===== migalhas ===== */
.migalhas{font-size:13.5px;color:#8f98a3;padding:12px 20px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;line-height:1.5}
.migalhas a{color:#e11d2e;text-decoration:none;font-weight:600}
.migalhas a:hover{text-decoration:underline}
.migalhas [aria-current="page"]{color:inherit}
.hero .migalhas{color:#c8ced6;padding-left:0;padding-right:0}
.hero .migalhas a{color:#fff}
@media(max-width:640px){.migalhas{font-size:12.5px}}

/* Mapa de equipes */
.mapa-equipes{height:520px;border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.12);box-shadow:0 10px 30px rgba(0,0,0,.12);z-index:0}
.pin-equipe{display:block}
.pin-equipe__bolha{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:#d81f26;color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.35);border:2px solid #fff}
.pin-equipe__bolha svg{transform:rotate(45deg)}
.pin-equipe__haste{display:block;width:2px;height:10px;margin:0 auto;background:rgba(0,0,0,.35)}
.pin-equipe:hover .pin-equipe__bolha{background:#111;transform:rotate(-45deg) scale(1.1)}
.tip-equipe{font-weight:700}
.mapa-legenda{margin-top:12px;font-size:.95rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mapa-legenda__pin{width:14px;height:14px;border-radius:50% 50% 50% 3px;transform:rotate(-45deg);background:#d81f26;display:inline-block}
@media (max-width:768px){.mapa-equipes{height:380px}}

/* Blocos de destaque da home */
.hub-destaques{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.hub-card{display:block;padding:1.1rem 1.2rem;border-radius:14px;background:#fff;border:1px solid rgba(0,0,0,.09);text-decoration:none;color:inherit;transition:.2s;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.hub-card:hover{transform:translateY(-3px);border-color:var(--vermelho,#e11d2a);box-shadow:0 12px 26px rgba(0,0,0,.1)}
.hub-card__tag{display:inline-block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--vermelho,#e11d2a);margin-bottom:.4rem}
.hub-card__titulo{display:block;font-weight:800;font-size:1.02rem;margin-bottom:.3rem}
.hub-card__texto{display:block;font-size:.88rem;opacity:.72;line-height:1.5}
.hub-card__seta{display:inline-block;margin-top:.6rem;font-weight:700;font-size:.86rem;color:var(--vermelho,#e11d2a)}
.blog-destaques{list-style:none;padding:0;margin:1.4rem 0 0;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.blog-destaques a{display:flex;gap:.7rem;align-items:flex-start;padding:.95rem 1.05rem;border-radius:12px;background:#fff;border:1px solid rgba(0,0,0,.09);text-decoration:none;color:inherit;transition:.2s}
.blog-destaques a:hover{border-color:var(--vermelho,#e11d2a);transform:translateY(-2px)}
.blog-destaques em{font-style:normal;font-weight:800;color:var(--vermelho,#e11d2a)}
.blog-destaques small{display:block;opacity:.7;font-weight:500;margin-top:.2rem}
.blog-todos{display:inline-block;margin-top:1.1rem;font-weight:700;text-decoration:underline}
@media (max-width:640px){.hub-destaques,.blog-destaques{grid-template-columns:1fr}}
/* mapa lazy + acessivel */
.mapa-equipes{position:relative;background:#eef1f4}
.mapa-equipes__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:16px;color:#39424c}
.mapa-equipes__spin{width:28px;height:28px;border-radius:50%;border:3px solid rgba(216,31,38,.25);border-top-color:#d81f26;animation:exgira 1s linear infinite}
@keyframes exgira{to{transform:rotate(360deg)}}
.mapa-lista{margin-top:22px}
.mapa-lista__titulo{font-size:1.05rem;margin:0 0 12px}
.mapa-lista__grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.mapa-lista__bloco{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:14px 16px}
.mapa-lista__bloco h3{font-size:.98rem;margin:0 0 8px;color:#d81f26}
.mapa-lista__bloco ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.mapa-lista__bloco a{color:#1d252d;text-decoration:none;font-size:.9rem}
.mapa-lista__bloco a:hover,.mapa-lista__bloco a:focus{text-decoration:underline;color:#d81f26}
.pop-equipe .leaflet-popup-content{margin:12px 14px}
.pop-equipe__t{display:block;font-size:1rem;color:#1d252d}
.pop-equipe__s{display:block;font-size:.8rem;color:#5a6570;margin:2px 0 10px}
.pop-equipe__acoes{display:grid;gap:6px}
.pop-equipe__acoes a{display:block;text-align:center;padding:8px 10px;border-radius:8px;font-weight:700;font-size:.85rem;text-decoration:none}
.pop-equipe__zap{background:#25d366;color:#fff}
.pop-equipe__tel{background:#d81f26;color:#fff}
.pop-equipe__pag{background:#f1f3f5;color:#1d252d;border:1px solid rgba(0,0,0,.1)}
.mapa-equipes:focus-visible,.pin-equipe:focus-visible{outline:3px solid #ffb400;outline-offset:2px}
/* links de saida no rodape */
.links-saida{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.links-saida h4{margin:0 0 10px;font-size:.95rem;color:#fff}
.links-saida ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.links-saida a{font-size:.83rem;opacity:.85}
.links-saida a:hover,.links-saida a:focus{opacity:1;text-decoration:underline}
.pop-equipe .pop-equipe__zap{color:#fff!important}
.pop-equipe .pop-equipe__tel{color:#fff!important}
.pop-equipe .pop-equipe__pag{color:#1d252d!important}
