:root{
  --roxo:#854F91; --turq:#79BFCA; --turq-forte:#2E9CA6; --laranja:#D96335; --rosa:#CF365E; --amarelo:#EEE24C;
  --tinta:#221C2A; --tinta-suave:#5A4E66; --papel:#FAF7F2; --linha:#E8DFD3;
  --urgencia:#C0392B;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Work Sans',-apple-system,sans-serif;color:var(--tinta);background:var(--papel);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Oswald',sans-serif;font-weight:500;letter-spacing:0.01em;line-height:1.1}
h1{font-size:clamp(2rem,5vw,3.8rem)}
h2{font-size:clamp(1.5rem,3.5vw,2.4rem)}
h3{font-size:1.3rem}
a{color:var(--roxo);text-decoration:none}
a:hover{text-decoration:underline}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
img{max-width:100%;display:block}

/* Barra de emergência sempre fixa */
.urg-bar{background:var(--urgencia);color:#fff;padding:10px 18px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-weight:500;font-size:0.9rem;position:sticky;top:0;z-index:100}
.urg-bar strong{font-family:'Oswald',sans-serif;font-size:1.05rem;letter-spacing:0.04em;text-transform:uppercase}
.urg-bar a{color:#fff;text-decoration:underline;font-weight:600}
.urg-bar .sep{opacity:0.5}

/* Topo */
header.topo{background:var(--tinta);color:var(--papel);padding:12px 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;position:sticky;top:38px;z-index:99;border-bottom:1px solid rgba(255,255,255,.08)}
header.topo .marca{display:flex;align-items:center;text-decoration:none}
header.topo .marca img{height:46px;width:auto;display:block}
header.topo nav{display:flex;gap:22px;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.07em}
header.topo nav a{color:rgba(250,247,242,.82);font-weight:500}
header.topo nav a:hover,header.topo nav a.ativo{color:var(--turq);text-decoration:none}
.marca .slogan{color:rgba(250,247,242,.92);border-left-color:var(--turq)}
.nota-emergencia{font-size:0.9rem;color:var(--tinta-suave);background:#FBECEA;border-left:3px solid var(--urgencia);padding:10px 14px;margin:12px 0 0;line-height:1.5}
.nota-emergencia a{color:var(--urgencia);font-weight:600}

/* Hero da home */
.hero{position:relative;background:linear-gradient(160deg,var(--papel) 0%,#F3EEF5 100%);padding:70px 24px 90px;overflow:hidden}
.hero .rede-fundo{position:absolute;inset:0;width:100%;height:100%;opacity:0.12;z-index:0;pointer-events:none}
.hero .interior{position:relative;z-index:1;max-width:1100px;margin:0 auto}
.hero .selo{display:inline-block;font-family:'Oswald',sans-serif;font-size:0.85rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--roxo);background:#fff;padding:8px 16px;margin-bottom:24px;border-left:4px solid var(--rosa)}
.hero h1{color:var(--tinta);margin-bottom:18px;max-width:880px}
.hero h1 em{font-style:normal;color:var(--rosa)}
.hero .sub{font-size:1.2rem;max-width:680px;color:var(--tinta-suave);margin-bottom:38px;font-weight:400}

.dois-fluxos{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1100px;margin:0 auto;padding:0 24px 60px}
.fluxo{padding:36px 30px;position:relative;overflow:hidden;text-decoration:none;color:var(--papel);transition:transform 0.18s}
.fluxo:hover{transform:translateY(-3px);text-decoration:none}
.fluxo.urg{background:var(--rosa)}
.fluxo.inst{background:var(--roxo)}
.fluxo .tag{font-family:'Oswald',sans-serif;font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;opacity:0.8;margin-bottom:14px;display:block}
.fluxo h3{font-size:1.7rem;color:#fff;margin-bottom:10px;font-weight:500}
.fluxo p{color:#fff;opacity:0.92;font-size:1rem;margin-bottom:22px;max-width:90%}
.fluxo .seta{font-family:'Oswald',sans-serif;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.1em;color:#fff;display:inline-flex;align-items:center;gap:8px}
.fluxo.urg::after{content:'⚠';position:absolute;right:-20px;bottom:-40px;font-size:11rem;opacity:0.12;line-height:1}
.fluxo.inst::after{content:'◉';position:absolute;right:-20px;bottom:-40px;font-size:11rem;opacity:0.12;line-height:1}

/* Faixa de números */
.numeros{background:var(--tinta);color:var(--papel);padding:60px 24px}
.numeros .interior{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.numeros .n{border-left:3px solid var(--amarelo);padding-left:18px}
.numeros .n strong{display:block;font-family:'Oswald',sans-serif;font-size:3rem;color:var(--turq);line-height:1}
.numeros .n span{display:block;font-size:0.95rem;color:var(--turq);margin-top:6px;text-transform:uppercase;letter-spacing:0.06em;font-weight:500}

/* Categorias */
.cats{padding:70px 24px;background:var(--papel)}
.cats .interior{max-width:1100px;margin:0 auto}
.cats h2{margin-bottom:8px;color:var(--tinta)}
.cats .lede{color:var(--tinta-suave);margin-bottom:36px;font-size:1.05rem;max-width:620px}
.cats .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.cats .card{background:#fff;padding:22px 20px;border-top:5px solid var(--roxo);text-decoration:none;color:var(--tinta);transition:transform 0.15s}
.cats .card:hover{transform:translateY(-2px);text-decoration:none}
.cats .card h4{font-size:1.1rem;color:var(--tinta);margin-bottom:6px}
.cats .card .qtd{font-family:'Oswald',sans-serif;font-size:0.85rem;color:var(--tinta-suave);text-transform:uppercase;letter-spacing:0.06em}

/* Sobre */
.sobre{background:var(--turq);padding:80px 24px;color:var(--tinta)}
.sobre .interior{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}
.sobre .selo{font-family:'Oswald',sans-serif;font-size:0.85rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--roxo);display:block;margin-bottom:18px}
.sobre h2{margin-bottom:24px}
.sobre p{margin-bottom:14px;font-size:1.02rem;line-height:1.65}

/* Rodapé */
footer{background:var(--tinta);color:var(--papel);padding:50px 24px 30px}
footer .interior{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;margin-bottom:36px}
footer h4{color:var(--amarelo);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:14px}
footer p,footer li{font-size:0.9rem;line-height:1.55;color:rgba(250,247,242,0.78);margin-bottom:8px}
footer a{color:var(--turq)}
footer ul{list-style:none}
footer .creditos{border-top:1px solid rgba(250,247,242,0.18);padding-top:20px;max-width:1100px;margin:0 auto;font-size:0.8rem;color:rgba(250,247,242,0.55);text-align:center}

/* Página do mapa */
.mapa-pagina{height:calc(100vh - 124px);min-height:600px;display:grid;grid-template-columns:380px 1fr}
.mapa-pagina .painel{background:#fff;border-right:1px solid var(--linha);overflow-y:auto;padding:24px 22px}
.painel h2{font-size:1.1rem;color:var(--roxo);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:14px}
.painel .busca{position:relative;margin-bottom:18px}
.painel .busca input{width:100%;padding:12px 14px 12px 38px;border:1.5px solid var(--linha);border-radius:2px;font-size:0.95rem;font-family:inherit;background:var(--papel)}
.painel .busca input:focus{outline:none;border-color:var(--roxo)}
.painel .busca::before{content:'⌕';position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--tinta-suave);font-size:1.1rem}
.painel .grupo{margin-bottom:18px;padding-bottom:16px;border-bottom:1px dashed var(--linha)}
.painel .grupo:last-child{border-bottom:none}
.painel label.tit{display:block;font-family:'Oswald',sans-serif;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--tinta-suave);margin-bottom:8px}
.painel select{width:100%;padding:9px 12px;border:1.5px solid var(--linha);border-radius:2px;background:#fff;font-family:inherit;font-size:0.9rem;color:var(--tinta)}
.painel select:focus{outline:none;border-color:var(--roxo)}
.painel .chips{display:flex;flex-wrap:wrap;gap:6px}
.painel .chip{padding:6px 11px;border:1.5px solid var(--linha);border-radius:30px;font-size:0.8rem;color:var(--tinta-suave);background:#fff;transition:all 0.15s}
.painel .chip:hover{border-color:var(--roxo);color:var(--roxo)}
.painel .chip.on{background:var(--roxo);color:#fff;border-color:var(--roxo)}
.painel .contador{font-family:'Oswald',sans-serif;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--tinta-suave);margin-top:14px;padding-top:12px;border-top:1px solid var(--linha)}
.painel .contador strong{color:var(--rosa);font-size:1.4rem;font-weight:500}
.painel .limpar{display:block;margin-top:10px;font-size:0.8rem;color:var(--roxo);text-decoration:underline;background:none;border:none;padding:0}

#mapa{height:100%;width:100%;z-index:1}

.leaflet-popup-content-wrapper{border-radius:2px;padding:0;box-shadow:0 6px 32px rgba(34,28,42,0.18)}
.leaflet-popup-content{margin:0;width:320px !important;font-family:'Work Sans',sans-serif}
.popup-mini{padding:0}
.popup-mini .cabec{padding:14px 16px 10px}
.popup-mini .cabec .cat{display:inline-block;font-family:'Oswald',sans-serif;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--tinta-suave);margin-bottom:4px}
.popup-mini .cabec h3{font-size:1.05rem;color:var(--tinta);line-height:1.15;margin-bottom:4px}
.popup-mini .cabec .local{font-size:0.8rem;color:var(--tinta-suave)}
.popup-mini .acao{display:block;background:var(--roxo);color:#fff;padding:9px 14px;text-align:center;font-family:'Oswald',sans-serif;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.08em;width:100%;border:none}
.popup-mini .acao:hover{background:var(--rosa);color:#fff}

.marcador{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:2.5px solid #fff;color:#fff;font-weight:600;font-size:13px;box-shadow:0 2px 6px rgba(0,0,0,0.25)}

#detalhe{position:fixed;top:0;right:-560px;width:540px;max-width:100vw;height:100vh;background:#fff;box-shadow:-12px 0 40px rgba(34,28,42,0.18);transition:right 0.3s ease;z-index:1000;overflow-y:auto}
#detalhe.aberto{right:0}
#detalhe .fechar{position:absolute;top:14px;right:16px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.95);font-size:1.4rem;color:var(--tinta);box-shadow:0 2px 8px rgba(0,0,0,0.1);display:flex;align-items:center;justify-content:center;z-index:10}
#detalhe .cabec{padding:30px 30px 18px}
#detalhe .cabec .cat{display:inline-block;font-family:'Oswald',sans-serif;font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--tinta-suave);margin-bottom:8px}
#detalhe .cabec h2{font-size:1.7rem;color:var(--tinta);margin-bottom:6px;line-height:1.1}
#detalhe .cabec .local{font-size:0.95rem;color:var(--tinta-suave)}
#detalhe .corpo{padding:0 30px 40px}
#detalhe .aviso{background:#EAF4F5;border-left:4px solid var(--amarelo);padding:10px 14px;margin-bottom:18px;font-size:0.9rem;color:var(--tinta)}
#detalhe .tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
#detalhe .tag{font-size:0.75rem;padding:4px 10px;background:var(--turq);color:#fff;border-radius:30px;font-weight:500}
#detalhe .bloco{margin-bottom:16px}
#detalhe .bloco h4{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--tinta-suave);margin-bottom:4px;font-weight:500}
#detalhe .bloco p{font-size:0.95rem;color:var(--tinta);line-height:1.45}
#detalhe .contatos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 14px;padding:18px;background:var(--papel);border-left:4px solid var(--roxo)}
#detalhe .contatos .lbl{display:block;font-family:'Oswald',sans-serif;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--tinta-suave);margin-bottom:3px}
#detalhe .rodape{margin-top:18px;padding-top:14px;border-top:1px solid var(--linha);font-size:0.85rem;color:var(--tinta-suave)}
#detalhe .obs{margin-top:14px;padding:12px 14px;background:#F7F0F8;font-style:italic;font-size:0.9rem;color:var(--tinta);border-left:3px solid var(--roxo)}

/* Página sobre */
.conteudo{max-width:760px;margin:0 auto;padding:70px 24px}
.conteudo h1{margin-bottom:12px}
.conteudo .lede{font-size:1.15rem;color:var(--tinta-suave);margin-bottom:36px;line-height:1.55}
.conteudo h2{margin:36px 0 14px;color:var(--roxo)}
.conteudo p{margin-bottom:14px;font-size:1.02rem;line-height:1.65}
.conteudo ul{margin:0 0 18px 22px}
.conteudo li{margin-bottom:6px}

/* Página dados */
.dados-tabela{max-width:1100px;margin:0 auto;padding:30px 24px 50px}
.dados-busca{width:100%;max-width:420px;padding:12px 16px;border:1.5px solid var(--linha);border-radius:8px;font-family:inherit;font-size:0.95rem;margin-bottom:16px;background:#fff;color:var(--tinta)}
.dados-busca:focus{outline:none;border-color:var(--roxo)}
.dados-scroll{max-height:620px;overflow:auto;border:1px solid var(--linha);border-radius:12px;background:#fff}
.dados-tabela table{width:100%;border-collapse:collapse;font-size:0.9rem}
.dados-tabela th{position:sticky;top:0;background:var(--tinta);color:var(--papel);padding:14px 14px;text-align:left;font-family:'Oswald',sans-serif;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.06em;font-weight:500;z-index:1}
.dados-tabela td{padding:12px 14px;border-bottom:1px solid var(--linha);vertical-align:top;line-height:1.45}
.dados-tabela tbody tr:nth-child(even){background:#FBF9F5}
.dados-tabela tbody tr:hover{background:#F3EEF5}
.dados-tabela td:first-child{font-weight:500;color:var(--tinta)}
.dados-vazio{text-align:center;color:var(--tinta-suave);padding:24px;font-size:0.95rem}
.aviso-publico{background:#F3EEF5;border-left:4px solid var(--roxo);border-radius:0 10px 10px 0;padding:14px 18px;margin:18px 0;font-size:0.95rem;line-height:1.55;color:var(--tinta)}
.aviso-publico strong{color:var(--roxo-escuro,#5C2D6B)}
.aviso-publico a{color:var(--roxo);font-weight:600}

@media (max-width:900px){
  .dois-fluxos{grid-template-columns:1fr;padding:0 18px 40px}
  .numeros .interior{grid-template-columns:repeat(2,1fr);gap:24px}
  .sobre .interior{grid-template-columns:1fr;gap:30px}
  footer .interior{grid-template-columns:1fr;gap:24px}
  .mapa-pagina{grid-template-columns:1fr;height:auto}
  .mapa-pagina .painel{border-right:none;border-bottom:1px solid var(--linha)}
  #mapa{height:65vh}
  #detalhe{width:100vw;right:-100vw}
  header.topo{position:static}
  header.topo nav{font-size:0.8rem;gap:14px}
}

/* ============================================
   FONAR, Página de triagem
   ============================================ */

.saida-rapida{position:fixed;bottom:20px;right:20px;z-index:1000;background:var(--urgencia);border:none;color:#fff;padding:18px 22px;min-height:58px;box-sizing:border-box;font-family:'Oswald',sans-serif;font-size:0.95rem;text-transform:uppercase;letter-spacing:0.08em;font-weight:600;cursor:pointer;box-shadow:0 4px 14px rgba(207,54,94,0.35);display:flex;align-items:center;gap:8px;border-radius:2px}
.saida-rapida:hover{background:#a82850;color:#fff;box-shadow:0 6px 18px rgba(207,54,94,0.45)}
.saida-rapida .x{font-size:1.1rem;line-height:1}
.saida-rapida .esc{font-size:0.75rem;opacity:0.75;font-family:'Work Sans',sans-serif;text-transform:none;letter-spacing:0;margin-left:6px;border-left:1px solid currentColor;padding-left:6px}

.triagem{max-width:780px;margin:0 auto;padding:50px 24px 80px}
.triagem .cabec{margin-bottom:36px;padding-bottom:28px;border-bottom:2px solid var(--linha)}
.triagem .selo{display:inline-block;font-family:'Oswald',sans-serif;font-size:0.8rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--rosa);background:#fff;padding:6px 14px;margin-bottom:18px;border-left:3px solid var(--rosa)}
.triagem h1{font-size:clamp(1.6rem,3.5vw,2.4rem);color:var(--tinta);margin-bottom:14px;line-height:1.15}
.triagem .lede{color:var(--tinta-suave);font-size:1.05rem;line-height:1.55;max-width:640px}

.aviso-juridico{background:#EAF4F5;border-left:4px solid var(--amarelo);padding:14px 18px;margin:24px 0 36px;font-size:0.9rem;line-height:1.5;color:var(--tinta)}
.aviso-juridico > strong:first-child{color:var(--tinta);display:block;margin-bottom:4px;font-family:'Oswald',sans-serif;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em}

.aviso-seguranca{background:#F7F0F8;border-left:4px solid var(--roxo);padding:14px 18px;margin:24px 0;font-size:0.9rem;line-height:1.5;color:var(--tinta)}
.aviso-seguranca > strong:first-child{display:block;margin-bottom:4px;color:var(--roxo);font-family:'Oswald',sans-serif;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em}

.progresso{display:flex;gap:8px;margin-bottom:36px}
.progresso .passo{flex:1;padding:14px 16px;background:var(--papel);border:1.5px solid var(--linha);font-family:'Oswald',sans-serif;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--tinta-suave);position:relative}
.progresso .passo.ativo{background:var(--roxo);color:#fff;border-color:var(--roxo)}
.progresso .passo.feito{background:var(--turq);color:#fff;border-color:var(--turq)}
.progresso .passo .n{font-size:1.1rem;font-weight:600;margin-right:8px}

.etapa{display:none}
.etapa.ativa{display:block}
.etapa h2{font-size:1.5rem;color:var(--tinta);margin-bottom:8px}
.etapa .descricao{color:var(--tinta-suave);font-size:0.95rem;line-height:1.55;margin-bottom:28px}

.grupo-itens{margin-bottom:28px}
.grupo-itens h3{font-family:'Oswald',sans-serif;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--roxo);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--linha)}

.item{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:#fff;margin-bottom:6px;cursor:pointer;border-left:3px solid transparent;transition:all 0.15s;user-select:none}
.item:hover{background:var(--papel)}
.item:focus{outline:2px solid var(--roxo);outline-offset:2px}
.item.marcado{border-left-color:var(--rosa);background:#FFF0F4}
.item .check-box{width:22px;height:22px;border:2px solid var(--tinta-suave);background:#fff;flex-shrink:0;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;transition:all 0.15s}
.item.marcado .check-box{background:var(--rosa);border-color:var(--rosa)}
.item.marcado .check-box::after{content:'✓';color:#fff;font-size:14px;font-weight:bold;line-height:1}
.item .check-texto{font-size:0.95rem;line-height:1.45;color:var(--tinta);flex:1}

.acoes-etapa{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:36px;padding-top:24px;border-top:1px solid var(--linha);flex-wrap:wrap}
.acoes-etapa .esquerda{display:flex;gap:10px;align-items:center}
.btn{padding:13px 24px;font-family:'Oswald',sans-serif;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.08em;border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;font-weight:500;transition:all 0.15s}
.btn-primario{background:var(--roxo);color:#fff}
.btn-primario:hover{background:var(--rosa);color:#fff;text-decoration:none}
.btn-secundario{background:transparent;color:var(--tinta-suave);border:1.5px solid var(--linha)}
.btn-secundario:hover{border-color:var(--tinta-suave);color:var(--tinta)}
.btn-emergencia{background:var(--urgencia);color:#fff}
.btn-emergencia:hover{background:#a82850;color:#fff}
.btn-saltar{background:none;color:var(--laranja);text-decoration:underline;font-family:'Work Sans',sans-serif;font-size:0.9rem;text-transform:none;letter-spacing:0}

.resultado{display:none;background:#fff;padding:36px 32px;border-top:8px solid var(--roxo);margin-top:20px;scroll-margin-top:100px}
.resultado.ativo{display:block}
.resultado.grave{border-top-color:var(--urgencia)}
.resultado.escalada{border-top-color:var(--laranja)}
.resultado.orientacao{border-top-color:var(--turq)}
.resultado .nivel{display:inline-block;font-family:'Oswald',sans-serif;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.14em;padding:6px 14px;margin-bottom:14px;color:#fff;background:var(--roxo)}
.resultado.grave .nivel{background:var(--urgencia)}
.resultado.escalada .nivel{background:var(--laranja)}
.resultado.orientacao .nivel{background:var(--turq);color:var(--tinta)}
.resultado h2{font-size:1.7rem;color:var(--tinta);margin-bottom:14px;line-height:1.15}
.resultado .texto{font-size:1.02rem;line-height:1.6;color:var(--tinta);margin-bottom:28px}

.acoes-resultado{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}
.acao-card{padding:18px 20px;text-decoration:none;color:#fff;background:var(--roxo);display:flex;align-items:center;gap:14px;transition:transform 0.15s}
.acao-card:hover{transform:translateY(-2px);text-decoration:none;color:#fff}
.acao-card.urg{background:var(--urgencia)}
.acao-card.tel{background:var(--tinta)}
.acao-card .ico{font-size:1.6rem;line-height:1;flex-shrink:0;width:36px;text-align:center}
.acao-card strong{display:block;font-family:'Oswald',sans-serif;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;opacity:0.85;font-weight:500;margin-bottom:2px}
.acao-card span.t{font-family:'Work Sans',sans-serif;font-size:1rem;line-height:1.2;font-weight:500}

.reset-link{display:block;margin-top:18px;color:var(--tinta-suave);font-size:0.8rem;text-decoration:underline;text-align:center}

@media (max-width:700px){
  .saida-rapida{bottom:calc(76px + env(safe-area-inset-bottom,0px));right:12px;padding:12px 16px;font-size:0.8rem;border-radius:24px;box-shadow:0 4px 16px rgba(0,0,0,.35),0 0 0 3px rgba(255,255,255,.55)}
  .saida-rapida .esc{display:none}
  .triagem{padding:30px 18px 60px}
  .progresso{flex-direction:column;gap:6px}
  .progresso .passo{padding:10px 14px}
  .acoes-etapa{flex-direction:column;align-items:stretch}
  .acoes-etapa .esquerda{order:2;justify-content:center}
  .acoes-etapa .btn{justify-content:center}
  .acoes-resultado{grid-template-columns:1fr}
}

/* ============================================
   LACUNAS, Mapa do que falta
   ============================================ */
.lacunas-pagina{max-width:1200px;margin:0 auto;padding:50px 24px 80px}
.lacunas-pagina h1{margin-bottom:12px}
.lacunas-pagina .lede{color:var(--tinta-suave);font-size:1.1rem;line-height:1.55;max-width:720px;margin-bottom:36px}

.lacunas-destaques{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:48px}
.lac-card{background:#fff;border-top:5px solid var(--urgencia);padding:22px 20px}
.lac-card .num{font-family:'Oswald',sans-serif;font-size:2.5rem;color:var(--urgencia);line-height:1;display:block;margin-bottom:4px;font-weight:500}
.lac-card .txt{font-size:0.9rem;color:var(--tinta);line-height:1.4}
.lac-card.atencao{border-color:var(--laranja)}
.lac-card.atencao .num{color:var(--laranja)}
.lac-card.info{border-color:var(--turq)}
.lac-card.info .num{color:var(--turq-forte)}

.lacunas-tabela{margin:36px 0 28px;background:#fff;overflow-x:auto}
.lacunas-tabela table{width:100%;border-collapse:collapse;font-size:0.9rem;min-width:760px}
.lacunas-tabela th{background:var(--tinta);color:var(--papel);padding:10px 8px;text-align:center;font-family:'Oswald',sans-serif;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.06em;font-weight:500;vertical-align:bottom}
.lacunas-tabela th.mun{text-align:left;padding-left:14px;min-width:200px}
.lacunas-tabela th .codigo{display:block;font-size:0.95rem;letter-spacing:0.02em;margin-bottom:2px}
.lacunas-tabela th .nome{font-family:'Work Sans',sans-serif;font-size:0.75rem;text-transform:none;font-weight:400;opacity:0.85;letter-spacing:0;line-height:1.1;display:block}
.lacunas-tabela td{padding:10px 8px;text-align:center;border-bottom:1px solid var(--linha)}
.lacunas-tabela td.mun{text-align:left;padding-left:14px;font-weight:500;color:var(--tinta);background:var(--papel)}
.lacunas-tabela td.zero{background:#FFE5EC;color:var(--urgencia);font-weight:600}
.lacunas-tabela td.tem{color:var(--tinta);font-weight:500}
.lacunas-tabela tr:hover td:not(.mun){background:#F7F0F8}

.lacunas-legenda{font-size:0.85rem;color:var(--tinta-suave);margin-top:14px;display:flex;gap:24px;flex-wrap:wrap}
.lacunas-legenda span{display:inline-flex;align-items:center;gap:6px}
.lacunas-legenda .quad{display:inline-block;width:14px;height:14px;border:1px solid var(--linha)}
.lacunas-legenda .quad.zero{background:#FFE5EC;border-color:var(--urgencia)}

.niveis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:36px}
.niv-card{background:#fff;padding:22px 22px 20px;border-left:5px solid var(--roxo)}
.niv-card.critico{border-color:var(--urgencia)}
.niv-card.atencao{border-color:var(--laranja)}
.niv-card.ok{border-color:var(--turq)}
.niv-card .codigo{font-family:'Oswald',sans-serif;font-size:0.8rem;letter-spacing:0.08em;color:var(--tinta-suave);text-transform:uppercase;font-weight:500}
.niv-card h3{font-size:1.15rem;color:var(--tinta);margin:4px 0 8px;font-weight:500}
.niv-card .desc{font-size:0.9rem;color:var(--tinta-suave);line-height:1.4;margin-bottom:14px}
.niv-card .stats{display:flex;gap:18px;font-family:'Oswald',sans-serif;font-size:0.8rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--tinta-suave);padding-top:12px;border-top:1px solid var(--linha)}
.niv-card .stats strong{font-size:1.4rem;color:var(--tinta);display:block;font-weight:500;letter-spacing:0;text-transform:none}
.niv-card.critico .stats strong{color:var(--urgencia)}
.niv-card.atencao .stats strong{color:var(--laranja)}

.escuta-evidencias{margin-top:60px;padding-top:48px;border-top:2px solid var(--linha)}
.escuta-evidencias h2{margin-bottom:8px}
.escuta-evidencias .sublede{color:var(--tinta-suave);margin-bottom:32px;font-size:1rem}
.citacoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.citacao{background:#fff;padding:24px 22px;border-left:4px solid var(--roxo);position:relative}
.citacao::before{content:'"';position:absolute;top:-18px;left:14px;font-family:'Oswald',sans-serif;font-size:5rem;color:var(--roxo);line-height:1;opacity:0.35}
.citacao .txt{font-size:0.95rem;line-height:1.5;color:var(--tinta);font-style:italic;margin-bottom:14px}
.citacao .autoria{font-family:'Oswald',sans-serif;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--tinta-suave);font-style:normal}
.citacao .autoria strong{color:var(--tinta);font-weight:500;display:block;margin-bottom:2px}

/* ============================================
   POLÍTICAS PÚBLICAS, Considerações
   ============================================ */
.politicas-pagina{max-width:820px;margin:0 auto;padding:50px 24px 80px}
.politicas-pagina h1{margin-bottom:12px}
.politicas-pagina .lede{font-size:1.1rem;color:var(--tinta-suave);line-height:1.55;margin-bottom:36px}

.argumento{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--linha)}
.argumento:last-child{border-bottom:none}
.argumento .num{display:inline-block;font-family:'Oswald',sans-serif;font-size:0.8rem;letter-spacing:0.1em;color:var(--roxo);background:#F7F0F8;padding:5px 12px;margin-bottom:14px;border-left:3px solid var(--roxo)}
.argumento h2{font-size:1.5rem;color:var(--tinta);margin-bottom:14px;line-height:1.2}
.argumento p{font-size:1rem;line-height:1.65;color:var(--tinta);margin-bottom:12px}
.argumento .evidencia{margin:20px 0;padding:18px 22px;background:var(--papel);border-left:4px solid var(--turq);font-size:0.95rem;line-height:1.55}
.argumento .evidencia strong{display:block;font-family:'Oswald',sans-serif;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--roxo);margin-bottom:6px;font-weight:500}
.argumento .acao{margin-top:18px;padding:14px 18px;background:#EAF4F5;border-left:4px solid var(--amarelo);font-size:0.9rem;line-height:1.55}
.argumento .acao strong{display:block;font-family:'Oswald',sans-serif;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--tinta);margin-bottom:6px;font-weight:500}

.politicas-rodape{margin-top:48px;padding:24px;background:var(--turq);color:var(--tinta)}
.politicas-rodape h3{font-size:1.2rem;margin-bottom:10px;color:var(--tinta)}
.politicas-rodape p{font-size:0.95rem;line-height:1.55;margin-bottom:8px}

/* ============================================
   EQUIPE
   ============================================ */
.equipe-pagina{max-width:920px;margin:0 auto;padding:50px 24px 80px}
.equipe-pagina h1{margin-bottom:12px}
.equipe-pagina .lede{font-size:1.05rem;color:var(--tinta-suave);line-height:1.55;margin-bottom:36px}

.grupo-equipe{margin-bottom:40px}
.grupo-equipe h2{font-size:1.2rem;color:var(--roxo);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--turq);font-weight:500}
.equipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:8px}
.pessoa{background:#fff;padding:18px 20px;border-left:3px solid var(--roxo)}
.pessoa.coord{border-left-color:var(--roxo)}
.pessoa.superv{border-left-color:var(--turq-forte)}
.pessoa .nome{font-family:'Oswald',sans-serif;font-size:1.05rem;color:var(--tinta);line-height:1.2;margin-bottom:3px;font-weight:500}
.pessoa .papel{font-size:0.8rem;color:var(--tinta-suave);text-transform:uppercase;letter-spacing:0.06em;font-family:'Oswald',sans-serif;font-weight:400}

.institucional-bloco{margin-top:40px;padding:28px 30px;background:var(--tinta);color:var(--papel)}
.institucional-bloco h3{color:var(--amarelo);font-family:'Oswald',sans-serif;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:14px;font-weight:500}
.institucional-bloco p{font-size:0.95rem;line-height:1.6;margin-bottom:12px;color:rgba(250,247,242,0.92)}
.institucional-bloco .copyleft{margin-top:18px;padding-top:18px;border-top:1px solid rgba(250,247,242,0.2);font-size:0.8rem;line-height:1.55;color:rgba(250,247,242,0.7)}

/* Bloco antigo do selo de confiabilidade (círculo 22px) removido:
   causava sobreposição do texto. Estilo vigente mais abaixo. */

/* Aviso especial pra serviços em implantação */
.aviso-implantacao{background:#FFE5EC;border-left:5px solid var(--urgencia);padding:14px 18px;margin-bottom:18px;font-size:0.9rem;line-height:1.55}
.aviso-implantacao strong{display:block;font-family:'Oswald',sans-serif;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--urgencia);margin-bottom:6px;font-weight:500}

@media (max-width:700px){
  .lacunas-tabela table{font-size:0.8rem}
  .lacunas-tabela th{padding:8px 4px}
  .lacunas-tabela td{padding:8px 4px}
  .equipe-grid{grid-template-columns:1fr 1fr}
  .citacoes{grid-template-columns:1fr}
}

/* ===== Reforma home 2026 ===== */
header.topo .marca{flex-direction:row;align-items:center;gap:14px}
.marca .slogan{display:none;font-family:'Work Sans',sans-serif;font-size:0.8rem;line-height:1.3;color:rgba(250,247,242,.92);max-width:230px;border-left:2px solid var(--turq);padding-left:12px;font-weight:400}
@media(min-width:1080px){.marca .slogan{display:block}}

.hero{padding:80px 24px 70px}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem)}
.cta-linha{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;align-items:center}
.cta{display:inline-flex;align-items:center;font-family:'Oswald',sans-serif;font-size:1.05rem;letter-spacing:0.03em;text-transform:uppercase;padding:16px 28px;text-decoration:none;font-weight:500;border-radius:6px;transition:transform .15s,box-shadow .15s}
.cta:hover{transform:translateY(-2px);text-decoration:none;box-shadow:0 8px 22px rgba(34,28,42,.14)}
.cta-urg{background:var(--urgencia);color:#fff;font-size:1.25rem;padding:20px 38px;border-radius:8px;box-shadow:0 8px 22px rgba(192,57,43,.28)}
.cta-buscar{background:var(--turq-forte);color:#fff;font-size:1.25rem;padding:20px 38px;border-radius:8px}
.cta-buscar:hover{color:#fff}
.cta-laranja{background:var(--laranja);color:#fff;font-size:1.25rem;font-weight:700;padding:20px 38px;border-radius:8px}
.cta-laranja:hover{color:#fff;background:#c0562d}

.passos{background:#fff;padding:64px 24px;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.passos .interior{max-width:1100px;margin:0 auto}
.passos h2{color:var(--tinta);margin-bottom:36px;text-align:center}
.passos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.passo{background:var(--papel);border-radius:14px;padding:30px 26px;position:relative}
.passo .num{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--roxo);color:#fff;font-family:'Oswald',sans-serif;font-size:1.3rem;margin-bottom:16px}
.passo h3{color:var(--tinta);font-size:1.25rem;margin-bottom:8px}
.passo p{color:var(--tinta-suave);font-size:0.95rem;line-height:1.6}

.oque{padding:76px 24px;background:var(--papel)}
.oque .interior{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:center}
.oque .selo{display:inline-block;font-family:'Oswald',sans-serif;font-size:0.8rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--roxo);margin-bottom:16px}
.oque h2{color:var(--tinta);margin-bottom:20px}
.oque p{color:var(--tinta-suave);font-size:1.05rem;line-height:1.7;margin-bottom:14px}
.oque .escuta{border-left:3px solid var(--turq);padding-left:20px;color:var(--tinta);font-style:italic}
.oque-cta{background:var(--roxo);color:#fff;border-radius:16px;padding:34px 30px}
.oque-cta p{color:#fff;font-size:1.15rem;line-height:1.55;margin-bottom:20px}
.oque-cta .link-seta{color:#fff;text-decoration:underline;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:0.06em;font-size:0.9rem}

.sobre-band{background:var(--turq);padding:76px 24px;color:var(--tinta)}
.sobre-band .interior{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:center}
.sobre-band .selo{font-family:'Oswald',sans-serif;font-size:0.8rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--roxo);display:block;margin-bottom:16px}
.sobre-band h2{color:var(--tinta)}
.sobre-band p{margin-bottom:14px;font-size:1.05rem;line-height:1.7}
.sobre-band a{color:var(--roxo);font-weight:600}

@media(max-width:820px){
  .passos-grid{grid-template-columns:1fr}
  .oque .interior,.sobre-band .interior,.horizonte .interior{grid-template-columns:1fr;gap:32px}
  .cta{width:100%;justify-content:center}
}

/* ===== Página Preciso de ajuda (socorro direto) ===== */
.socorro{max-width:900px;margin:0 auto;padding:44px 24px 60px}
.socorro-topo h1{color:var(--tinta);font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:10px}
.socorro-topo .sub{font-size:1.1rem;color:var(--tinta-suave);margin-bottom:26px;line-height:1.55}
.ligar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.ligar{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 16px;border-radius:14px;text-decoration:none;color:#fff;transition:transform .15s,box-shadow .15s}
.ligar:hover{transform:translateY(-2px);text-decoration:none;box-shadow:0 10px 26px rgba(34,28,42,.16)}
.ligar .rot{font-family:'Work Sans',sans-serif;font-size:0.9rem;font-weight:500;opacity:.95;margin-bottom:4px;text-align:center}
.ligar .num{font-family:'Oswald',sans-serif;font-size:2.8rem;font-weight:600;line-height:1}
.ligar-190{background:var(--urgencia)}
.ligar-180{background:var(--roxo)}
.ligar-192{background:var(--turq-forte)}
.aviso-saida{font-size:0.9rem;color:var(--tinta-suave);background:#fff;border:1px solid var(--linha);border-radius:10px;padding:12px 16px;line-height:1.55;margin-bottom:8px}
.aviso-saida strong{color:var(--tinta)}

.socorro-nec{margin-top:44px}
.socorro-nec h2,.socorro-mun h2{color:var(--tinta);margin-bottom:8px}
.socorro-nec .lede,.socorro-mun .lede{color:var(--tinta-suave);margin-bottom:20px;font-size:1.02rem}
.nec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.nec{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--linha);border-left:4px solid var(--roxo);border-radius:0 12px 12px 0;padding:18px 20px;text-decoration:none;color:var(--tinta);transition:transform .12s,border-color .12s}
.nec:hover{transform:translateY(-2px);border-left-color:var(--rosa);text-decoration:none}
.nec strong{font-family:'Oswald',sans-serif;font-size:1.15rem;color:var(--tinta);font-weight:500}
.nec span{font-size:0.9rem;color:var(--tinta-suave)}

.socorro-mun{margin-top:44px}
.mun-linha{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.mun-linha select{flex:1 1 260px;padding:14px 16px;border:1.5px solid var(--linha);border-radius:8px;font-family:inherit;font-size:1rem;background:#fff;color:var(--tinta)}
.mun-linha select:focus{outline:none;border-color:var(--roxo)}
.mun-linha .cta{border:none;cursor:pointer}

.socorro-nota{margin-top:40px;padding:16px 20px;background:#fff;border:1px solid var(--linha);border-radius:10px;font-size:0.9rem;color:var(--tinta-suave);line-height:1.6}

@media(max-width:640px){
  .ligar-grid{grid-template-columns:1fr}
  .ligar{flex-direction:row;justify-content:space-between;padding:20px 22px}
  .ligar .rot{margin-bottom:0;text-align:left}
  .ligar .num{font-size:2.2rem}
}

/* ===== Lista de serviços ao lado do mapa ===== */
.painel .orienta{font-size:0.85rem;color:var(--tinta-suave);line-height:1.5;margin-bottom:16px;background:var(--papel);border-left:3px solid var(--turq);padding:10px 12px;border-radius:0 6px 6px 0}
.lista-servicos{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.serv-item{display:flex;flex-direction:column;gap:2px;text-align:left;width:100%;min-width:0;background:#fff;border:1px solid var(--linha);border-left:4px solid var(--roxo);border-radius:0 8px 8px 0;padding:11px 13px;cursor:pointer;font-family:inherit;transition:border-color .12s,transform .1s;box-sizing:border-box}
.serv-item:hover{transform:translateX(2px);border-color:var(--roxo)}
.serv-cat{display:block;min-width:0;overflow-wrap:break-word;word-break:break-word;font-family:'Oswald',sans-serif;font-size:0.75rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--tinta-suave)}
.serv-nome{display:block;min-width:0;overflow-wrap:break-word;word-break:break-word;white-space:normal;font-size:0.95rem;color:var(--tinta);font-weight:500;line-height:1.25}
.serv-local{display:block;min-width:0;overflow-wrap:break-word;word-break:break-word;font-size:0.8rem;color:var(--tinta-suave)}
.serv-vazio{font-size:0.9rem;color:var(--tinta-suave);padding:20px 4px;text-align:center}

/* ===== Sobre: números em cards e jornada das etapas ===== */
.numeros-sobre{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0 36px}
.numeros-sobre .ns{background:#fff;border:1px solid var(--linha);border-top:4px solid var(--roxo);border-radius:12px;padding:22px 16px;text-align:center}
.numeros-sobre .ns strong{display:block;font-family:'Oswald',sans-serif;font-size:2.4rem;line-height:1;color:var(--roxo);margin-bottom:8px}
.numeros-sobre .ns span{font-size:0.85rem;color:var(--tinta-suave);line-height:1.35}
.jornada{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 12px;align-items:stretch}
.jornada .etapa-j{flex:1 1 130px;background:#fff;border:1px solid var(--linha);border-left:4px solid var(--turq-forte);border-radius:0 10px 10px 0;padding:14px 16px;display:flex;flex-direction:column;gap:6px;position:relative}
.jornada .etapa-j .n{width:30px;height:30px;border-radius:50%;background:var(--turq-forte);color:#fff;font-family:'Oswald',sans-serif;display:flex;align-items:center;justify-content:center;font-size:1rem}
.jornada .etapa-j .t{font-size:0.9rem;color:var(--tinta);line-height:1.3;font-weight:500}

/* ===== Logo em código (não depende de arquivo, nunca some) ===== */
header.topo .marca{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo-pino{flex:none}
.logo-txt{display:flex;flex-direction:column;line-height:1;font-family:'Oswald',sans-serif}
.logo-txt .lt-nome{font-size:1.5rem;font-weight:600;letter-spacing:.01em}
.logo-txt .lt-nome .b{color:#F0E7F6}
.logo-txt .lt-nome .c{color:var(--turq)}
.logo-txt .lt-acca{font-size:.72rem;letter-spacing:.42em;color:var(--turq);margin-top:3px;font-weight:500}

@media(max-width:640px){
  .numeros-sobre{grid-template-columns:repeat(2,1fr)}
  .jornada .etapa-j{flex:1 1 100%}
}

.hero .acolhe{font-family:'Oswald',sans-serif;font-size:clamp(1.1rem,2.4vw,1.5rem);color:var(--roxo);margin:0 0 18px;font-weight:500;line-height:1.35}

/* ===== Página Sinais de alerta ===== */
.sinais-tipos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 10px}
.sinais-tipos .tipo{background:#fff;border:1px solid var(--linha);border-top:4px solid var(--roxo);border-radius:12px;padding:20px}
.sinais-tipos .tipo h3{color:var(--roxo);font-size:1.15rem;margin-bottom:8px}
.sinais-tipos .tipo p{color:var(--tinta-suave);font-size:0.95rem;line-height:1.55}
.sinais-lista{background:#fff;border:1px solid var(--linha);border-left:4px solid var(--turq-forte);border-radius:0 12px 12px 0;padding:22px 26px;margin:16px 0}
.sinais-lista ul{margin:0 0 14px;padding-left:22px}
.sinais-lista li{color:var(--tinta);line-height:1.6;margin-bottom:10px}
.sinais-nota{color:var(--tinta-suave);font-style:italic;margin:0}
.projeto-box{background:var(--roxo);color:#fff;border-radius:16px;padding:34px 32px;margin:40px 0}
.projeto-box .selo{font-family:'Oswald',sans-serif;font-size:0.8rem;letter-spacing:0.16em;text-transform:uppercase;color:#fff;opacity:0.85;display:block;margin-bottom:10px}
.projeto-box h2{color:#fff;margin:0 0 14px}
.projeto-box p{color:rgba(255,255,255,.92);line-height:1.65;margin-bottom:16px}
.projeto-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.cta-roxo{background:var(--turq-forte);color:#fff;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.03em;padding:14px 26px;border-radius:8px;text-decoration:none;font-size:1rem}
.cta-linha-roxo{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6);font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.03em;padding:12px 24px;border-radius:8px;text-decoration:none;font-size:1rem}
.cta-roxo:hover,.cta-linha-roxo:hover{text-decoration:none;opacity:.92}
.projeto-mais{font-size:0.9rem;margin:0}
.projeto-mais a{color:#fff;text-decoration:underline}
.sinais-acao{background:var(--papel);border:1px solid var(--linha);border-radius:16px;padding:30px 32px;margin-top:36px}
.sinais-acao h2{color:var(--tinta);margin-bottom:8px}
.sinais-acao p{color:var(--tinta-suave);margin-bottom:18px}
@media(max-width:820px){.sinais-tipos{grid-template-columns:1fr}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sinais-link{font-size:0.95rem;color:var(--tinta-suave);margin:14px 0 0}
.sinais-link a{color:var(--roxo);font-weight:600}

/* ===== Menu hambúrguer no celular ===== */
.menu-toggle-input{display:none}
.menu-toggle{display:none}
@media (max-width:760px){
  header.topo{position:relative;flex-wrap:nowrap;justify-content:space-between;align-items:center;padding:10px 16px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:0 11px;background:none;border:1px solid rgba(250,247,242,.35);border-radius:9px;cursor:pointer;flex:none}
  .menu-toggle span{display:block;height:2px;width:100%;background:var(--papel);border-radius:2px;transition:.2s}
  header.topo nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--tinta);padding:6px 0;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 10px 24px rgba(0,0,0,.35);font-size:0.95rem}
  header.topo nav a{padding:15px 20px;width:100%;border-bottom:1px solid rgba(255,255,255,.06);letter-spacing:0.04em}
  .menu-toggle-input:checked ~ nav{display:flex}
  .menu-toggle-input:checked ~ .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle-input:checked ~ .menu-toggle span:nth-child(2){opacity:0}
  .menu-toggle-input:checked ~ .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .marca .slogan{display:none}
  header.topo .marca .logo-txt .lt-nome{font-size:1.3rem}
}
.filtro-nota{font-size:0.8rem;color:var(--tinta-suave);line-height:1.45;margin:8px 2px 0}
.destaque-frase{margin:22px 0;padding:22px 26px;background:#F3EEF5;border-left:5px solid var(--roxo);border-radius:0 12px 12px 0;font-family:'Oswald',sans-serif;font-size:1.25rem;line-height:1.45;color:var(--tinta);font-weight:500}

/* ===== Caminho guiado (Preciso de ajuda) ===== */
.guia{margin-top:40px}
.guia-passo{background:#fff;border:1px solid var(--linha);border-radius:16px;padding:28px 26px;animation:guiaEntra .25s ease}
@keyframes guiaEntra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.guia-intro{color:var(--tinta-suave);font-size:1.02rem;line-height:1.6;margin:0 0 14px}
.guia-passo h2{color:var(--tinta);font-size:1.5rem;margin:0 0 20px;line-height:1.25}
.guia-opcoes{display:flex;gap:14px;flex-wrap:wrap}
.guia-opcoes.col{flex-direction:column;gap:12px}
.guia-btn{text-align:left;background:var(--papel);border:1.5px solid var(--linha);border-left:4px solid var(--roxo);border-radius:0 12px 12px 0;padding:18px 22px;font-family:'Oswald',sans-serif;font-size:1.15rem;color:var(--tinta);cursor:pointer;transition:transform .12s,border-color .12s,background .12s;flex:1 1 auto}
.guia-btn:hover{transform:translateY(-2px);border-left-color:var(--turq-forte);background:#fff}
.guia-btn.urgente{border-left-color:var(--urgencia);color:var(--urgencia);font-weight:600}
.guia-btn.urgente:hover{border-left-color:var(--urgencia);background:#FBECEA}
.guia-nota{font-size:0.9rem;color:var(--tinta-suave);background:#FBECEA;border-left:3px solid var(--urgencia);padding:12px 16px;border-radius:8px;line-height:1.55;margin:16px 0}
.guia-nota strong{color:var(--tinta)}
.guia-voltar{margin-top:18px;background:none;border:none;color:var(--tinta-suave);font-family:'Work Sans',sans-serif;font-size:0.95rem;cursor:pointer;text-decoration:underline;padding:4px 0}
.guia-voltar:hover{color:var(--roxo)}
#guia-mun{width:100%;max-width:420px;padding:14px 16px;border:1.5px solid var(--linha);border-radius:8px;font-family:inherit;font-size:1rem;background:#fff;color:var(--tinta)}
#guia-mun:focus{outline:none;border-color:var(--roxo)}
.guia-final{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:18px}
.ligar-grid.dois{grid-template-columns:1fr 1fr}
.guia-escape{text-align:center;color:var(--tinta-suave);font-size:0.95rem;margin:22px 0 0}
.guia-escape a{color:var(--roxo);font-weight:600}
@media(max-width:640px){.ligar-grid.dois{grid-template-columns:1fr}.guia-opcoes{flex-direction:column}}

/* ===== Hierarquia dos canais e texto do 180 ===== */
.ligar-grid.tres{grid-template-columns:repeat(3,1fr)}
.ligar .rot{min-height:2.4em;display:flex;align-items:center;justify-content:center}
.sobre-180{font-size:0.9rem;color:var(--tinta-suave);background:#fff;border:1px solid var(--linha);border-left:3px solid var(--roxo);border-radius:0 10px 10px 0;padding:14px 16px;line-height:1.6;margin:14px 0}
.sobre-180 strong{color:var(--tinta)}
.sobre-180 a{color:var(--urgencia);font-weight:600}
@media(max-width:760px){.ligar-grid.tres{grid-template-columns:1fr}}

/* ===== Selo de versão em validação ===== */
.selo-beta{background:#F3EEF5;color:var(--roxo);text-align:center;font-size:0.8rem;padding:7px 16px;line-height:1.5;border-bottom:1px solid var(--linha)}
.selo-beta strong{font-family:'Oswald',sans-serif;letter-spacing:0.04em}

/* ===== Selo de confiabilidade ===== */
.serv-selo-conf{display:inline-block;margin-top:6px;font-size:0.75rem;background:#FBECEA;color:#9A3324;border-radius:20px;padding:2px 10px;font-weight:600}
.confiabilidade-info{background:var(--papel);border:1px solid var(--linha);border-radius:10px;padding:12px 14px;margin:14px 0;font-size:0.85rem;color:var(--tinta-suave);line-height:1.5}
.confiabilidade-info strong{display:block;color:var(--tinta);margin-bottom:6px;font-size:0.9rem}
.conf-badge{display:inline-block;font-weight:600;padding:3px 12px;border-radius:20px;margin-bottom:6px;width:auto;height:auto;line-height:1.4}
.confiabilidade-info > span:last-child{display:block;margin-top:2px}
.conf-A{background:#E4F2E4;color:#2E6B2E}
.conf-B{background:#EAF4F6;color:#2E7C8A}
.conf-C{background:#FBF2E0;color:#9A6A16}
.conf-D,.conf-E{background:#FBECEA;color:#9A3324}

/* ===== Acessibilidade: skip link e foco visível ===== */
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);z-index:9999;background:var(--roxo);color:#fff;padding:12px 22px;border-radius:0 0 8px 8px;font-weight:600;text-decoration:none;font-size:0.95rem;transition:top .2s ease}
.skip-link:focus{top:0;outline:3px solid var(--turq);outline-offset:2px}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--turq-forte);outline-offset:2px;border-radius:3px}
.urg-bar a:focus-visible{outline:3px solid #fff;outline-offset:2px}
.cta:focus-visible,.guia-btn:focus-visible{outline:3px solid var(--tinta);outline-offset:3px}

/* ===== Bloco de horizonte (home): mesmo modelo do "O que é a Rede" ===== */
.horizonte{background:var(--papel);padding:76px 24px}
.horizonte .interior{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:center}
.horizonte .selo{display:inline-block;font-family:'Oswald',sans-serif;font-size:0.8rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--roxo);margin-bottom:16px}
.horizonte h2{color:var(--tinta);margin:0 0 20px}
.horizonte p{color:var(--tinta-suave);font-size:1.05rem;line-height:1.7;margin-bottom:14px}

/* ===== Lacuna da liberdade (lacunas) ===== */
.lacuna-liberdade{background:#fff;border-left:5px solid var(--roxo);border-radius:0 12px 12px 0;padding:24px 26px;margin:28px 0;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.lacuna-liberdade h2{font-family:Oswald,sans-serif;font-size:1.5rem;color:var(--roxo);margin:0 0 12px;line-height:1.25}
.lacuna-liberdade p{font-size:1.02rem;line-height:1.65;color:var(--tinta);margin:0 0 12px}
.lacuna-liberdade p:last-child{margin-bottom:0}

/* Selo "Uma construção da ACCA" em tom mais claro sobre o turquesa */
.sobre-band .selo{color:#fff}
/* ===== Rodapé de contato ===== */
footer .rodape-contato{max-width:1100px;margin:0 auto 24px;padding-bottom:20px;border-bottom:1px solid rgba(250,247,242,0.18)}
footer .rodape-contato p{font-size:0.9rem;color:rgba(250,247,242,0.78);margin-bottom:6px}
footer .rodape-contato strong{color:var(--amarelo)}
footer .rodape-contato a{color:var(--turq);text-decoration:underline;pointer-events:auto}
footer .rodape-contato a:hover{color:#fff}

/* Rede Conecta ACCA — Widget "Este serviço ainda funciona?" */
.relato-servico {
  margin-top: 20px;
  padding: 16px;
  background: var(--papel);
  border: 1px solid var(--linha);
  border-radius: 4px;
}
.relato-servico h4 {
  margin: 0 0 6px;
  font-family: 'Oswald', sans-serif;
  font-size: 0.95rem;
  color: var(--tinta);
}
.relato-legenda {
  margin: 0 0 12px;
  font-size: 0.82rem;
  color: var(--tinta-suave);
}
.relato-botoes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.relato-btn {
  border: 1px solid var(--linha);
  background: #fff;
  padding: 8px 14px;
  border-radius: 4px;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background 0.15s;
}
.relato-btn:hover { background: var(--linha); }
.relato-detalhe {
  margin-top: 10px;
}
.relato-texto {
  width: 100%;
  min-height: 60px;
  padding: 8px;
  border: 1px solid var(--linha);
  border-radius: 4px;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.85rem;
  resize: vertical;
  box-sizing: border-box;
}
.relato-enviar {
  margin-top: 8px;
  background: var(--roxo);
  color: #fff;
  border: none;
  padding: 8px 18px;
  border-radius: 4px;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  cursor: pointer;
}
.relato-obrigada {
  font-size: 0.88rem;
  color: var(--turq-forte);
  font-weight: 600;
}
