/* ============================================================
   PORTAL — folha de estilo
   Design system "Concreto" v2.0. Tokens em tokens.css (fonte
   canônica no Claude Design). Aqui só o que é do portal.
   ============================================================ */

:root{
  --c-luz:#FAFAF7; --c-nevoa:#F2F1ED; --c-argamassa:#E5E3DD;
  --c-concreto-claro:#D3D0C9; --c-concreto:#B6B3AB; --c-concreto-sombra:#908D86;
  --c-grafite:#5C5A54; --c-carvao:#34322E; --c-tinta:#1C1B18;
  --c-corten:#8C4A2E; --c-corten-luz:#F3E7E1;
  --c-musgo:#4F5A46; --c-musgo-luz:#E7EAE2;

  --fundo:var(--c-luz); --superficie:var(--c-nevoa); --superficie-2:var(--c-argamassa);
  --texto:var(--c-tinta); --texto-2:var(--c-grafite); --texto-3:var(--c-concreto-sombra);
  --acao:var(--c-tinta); --erro:var(--c-corten); --sucesso:var(--c-musgo);
  --junta:rgba(28,27,24,.12); --junta-forte:rgba(28,27,24,.28);

  --fonte-ui:"Helvetica Neue",Helvetica,Arial,-apple-system,"Segoe UI",sans-serif;
  --fonte-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  /* Escala reduzida: display -20% (52→42), demais um degrau abaixo. */
  --t-display:42px; --t-h1:29px; --t-h2:22px; --t-h3:17px;
  --t-corpo:14.5px; --t-corpo-s:13px; --t-rotulo:10.5px;
  --letra-rotulo:.16em; --letra-selo:.22em;

  --esp-0:4px; --esp-1:8px; --esp-2:16px; --esp-3:24px;
  --esp-4:32px; --esp-5:48px; --esp-6:64px; --esp-7:96px;

  --raio:0;
  --sombra-1:0 1px 2px rgba(28,27,24,.05),0 10px 28px -14px rgba(28,27,24,.22);
  --sombra-2:0 2px 4px rgba(28,27,24,.06),0 24px 48px -20px rgba(28,27,24,.30);
  --sombra-3:0 4px 8px rgba(28,27,24,.08),0 48px 96px -32px rgba(28,27,24,.38);

  --dur:180ms; --curva:cubic-bezier(.2,.6,.2,1);
  --transicao:180ms cubic-bezier(.2,.6,.2,1);

  --sup-rasante:linear-gradient(105deg,rgba(255,255,255,.7),transparent 26%),
    linear-gradient(105deg,#FBFAF7 0%,#EDEBE5 34%,#D6D3CB 72%,#C4C1B9 100%);
  --grao:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");

  --larg:1280px;
}
@media (prefers-reduced-motion:reduce){:root{--dur:0ms;--transicao:0ms linear}}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--fundo);color:var(--texto);
  font:var(--t-corpo)/1.6 var(--fonte-ui);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}
:focus-visible{outline:2px solid var(--c-tinta);outline-offset:3px}

/* REGRA INEGOCIÁVEL DO SISTEMA — nenhum conteúdo encosta na borda.
   .wrap é o único responsável pela margem lateral.

   A margem é declarada em `padding-inline`, não no atalho `padding`, e
   qualquer classe combinada (`class="wrap hero-grid"`) deve usar
   `padding-block` para seu espaço vertical. Foi exatamente isso que
   quebrou uma vez: `.hero-grid{padding:64px 0}` zerava a lateral do wrap
   e o hero encostava na borda em telas entre 900 e 1280px — invisível no
   desktop largo, porque a margem automática do max-width disfarçava.

   Como conferir: abrir em 1100px e em 390px e correr o olho pela borda
   esquerda. Tudo alinhado na mesma vertical. */
.wrap{max-width:var(--larg);margin-inline:auto;width:100%;
      padding-inline:var(--esp-3)}
@media(max-width:900px){.wrap{padding-inline:20px}}
@media(max-width:560px){.wrap{padding-inline:var(--esp-2)}}
/* Rede de proteção contra rolagem horizontal. Note que ela ESCONDE o que
   transbordar — por isso não substitui a regra acima: some com o conteúdo
   em vez de mostrar o defeito. */
body{overflow-x:clip}
.rotulo{font-size:var(--t-rotulo);letter-spacing:var(--letra-rotulo);
  text-transform:uppercase;color:var(--texto-2);font-weight:500}
.selo{display:inline-block;border:1px solid var(--junta-forte);padding:5px 8px;
  font:600 var(--t-rotulo)/1 var(--fonte-mono);letter-spacing:var(--letra-selo)}
.selo-esc{border-color:rgba(250,250,247,.32);color:var(--c-luz)}
.pular{position:absolute;left:-9999px;top:0;background:var(--c-tinta);color:var(--c-luz);
  padding:10px 16px;z-index:200}
.pular:focus{left:0}

/* ---------- Faixa de utilidade ---------- */
.utilidade{background:var(--c-argamassa);border-bottom:1px solid var(--junta);
  font:12px/1 var(--fonte-mono);color:var(--texto-2)}
.util-linha{display:flex;align-items:center;gap:10px;height:34px;overflow:hidden;white-space:nowrap}
.util-cidade b{color:var(--c-tinta);letter-spacing:.04em}
.util-sep{width:1px;height:12px;background:var(--junta-forte);display:inline-block}
.util-dim{color:var(--texto-3)}
.util-dir{margin-left:auto;display:flex;align-items:center;gap:10px}
.util-dir a{border-bottom:1px solid transparent;transition:border-color var(--transicao)}
.util-dir a:hover{border-bottom-color:var(--c-tinta);color:var(--c-tinta)}
@media(max-width:900px){.util-dim,.util-dir{display:none}}

/* ---------- Topo ---------- */
.topo{position:sticky;top:0;z-index:100;background:var(--c-luz);
  border-bottom:1px solid var(--junta-forte)}
.topo-nav{position:relative}
.topo-linha{display:flex;align-items:center;gap:var(--esp-3);height:58px}
.marca{display:flex;align-items:baseline;flex-shrink:0;line-height:1}
/* A marca é o endereço inteiro, sem separação visual além do peso:
   SORRISO em negrito, MT.COM em regular. O tracking largo é o que dá o
   ar arquitetônico — a mesma lógica dos rótulos do sistema. */
.marca-forte{font:700 18px var(--fonte-ui);letter-spacing:.19em;color:var(--c-tinta)}
.marca-fraca{font:300 18px var(--fonte-ui);letter-spacing:.19em;color:var(--c-concreto-sombra)}
.topo-nav{border-top:1px solid var(--junta)}
.nav{display:flex;position:static}
/* O painel do mega menu é ancorado no cabeçalho, não no item — assim ele
   nunca transborda a janela quando o item está numa das pontas. */
.nav-item{position:static;display:flex;align-items:center}
.nav-link{display:flex;align-items:center;height:44px;padding:0 16px;font-size:13.5px;
  color:var(--texto-2);border-bottom:2px solid transparent;transition:all var(--transicao)}
.nav-item:first-child .nav-link{padding-left:0}
.nav-item:hover .nav-link,.nav-item.aberto .nav-link{color:var(--c-tinta);border-bottom-color:var(--c-tinta)}
.topo-acoes{margin-left:auto;display:flex;align-items:center;gap:var(--esp-2)}
.icone-btn{font-size:13px;color:var(--texto-2);border-bottom:1px solid transparent}
.icone-btn:hover{color:var(--c-tinta);border-bottom-color:var(--c-tinta)}
.menu-mobile{display:none;background:none;border:1px solid var(--junta-forte);
  padding:8px 12px;font:500 13px var(--fonte-ui);cursor:pointer;margin-left:auto}

/* ---------- Mega menu ---------- */
.mega{position:absolute;top:44px;left:0;right:0;transform:translateY(-6px);
  background:var(--c-luz);border-top:2px solid var(--c-tinta);
  border-bottom:1px solid var(--junta-forte);box-shadow:var(--sombra-2);
  opacity:0;visibility:hidden;pointer-events:none;transition:all var(--dur) var(--curva);z-index:99}
.nav-item:hover .mega,.nav-item.aberto .mega{opacity:1;visibility:visible;
  pointer-events:auto;transform:translateY(0)}
.mega-inner{max-width:var(--larg);margin:0 auto;padding:var(--esp-4) var(--esp-3)}
.mega-head{margin-bottom:var(--esp-3);padding-bottom:var(--esp-2);border-bottom:1px solid var(--junta)}
.mega-head p{font-size:var(--t-corpo-s);color:var(--texto-2);margin-top:5px}
.mega-cols{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--esp-3)}
.mega-cols:has(.mega-col:nth-child(4):last-child){grid-template-columns:repeat(4,1fr)}
.mega-cols:has(.mega-col:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
.mega-col h3{font-size:var(--t-rotulo);letter-spacing:var(--letra-rotulo);text-transform:uppercase;
  color:var(--c-tinta);font-weight:600;margin-bottom:10px;padding-bottom:6px;
  border-bottom:1px solid var(--junta)}
.mega-col li{margin-bottom:2px}
.mega-col a{font-size:var(--t-corpo-s);color:var(--texto-2);display:block;padding:3px 0;
  transition:color var(--transicao)}
.mega-col a:hover{color:var(--c-tinta)}
.mega-foot{margin-top:var(--esp-3);padding-top:var(--esp-2);border-top:1px solid var(--junta);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--t-corpo-s)}
.mega-foot a{color:var(--c-tinta);border-bottom:1px solid var(--junta-forte)}
.mega-foot a:hover{border-bottom-color:var(--c-tinta)}
.mega-foot .sep{color:var(--texto-3)}
@media(max-width:1080px){.topo-nav,.topo-acoes{display:none}.menu-mobile{display:block}
  .marca-forte,.marca-fraca{font-size:16px;letter-spacing:.15em}}
@media(max-width:430px){.marca-forte,.marca-fraca{font-size:13px;letter-spacing:.1em}}

/* ---------- Drawer mobile ---------- */
.drawer{background:var(--c-nevoa);border-bottom:1px solid var(--junta-forte);padding:var(--esp-3) 0}
.drawer-bloco{padding:var(--esp-2) 0;border-bottom:1px solid var(--junta)}
.drawer-tit{font:600 16px var(--fonte-ui);display:block;margin-bottom:6px}
.drawer-itens{display:flex;flex-wrap:wrap;gap:6px 12px}
.drawer-itens a{font-size:var(--t-corpo-s);color:var(--texto-2)}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 var(--esp-3);
  border:1px solid transparent;border-radius:var(--raio);font:500 14px/1 var(--fonte-ui);
  cursor:pointer;transition:all var(--transicao)}
.btn-1{background:var(--c-tinta);color:var(--c-luz)}
.btn-1:hover{background:var(--c-carvao)}
.btn-2{background:transparent;color:var(--c-tinta);border-color:var(--junta-forte)}
.btn-2:hover{border-color:var(--c-tinta)}
.compacto{height:34px;padding:0 var(--esp-2);font-size:13px}

/* ---------- Hero ---------- */
.hero{background:var(--sup-rasante);border-bottom:1px solid var(--junta-forte);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;top:0;bottom:0;left:11%;width:2px;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,0) 80%)}
.hero::after{content:"";position:absolute;inset:0;background-image:var(--grao);opacity:.28;
  mix-blend-mode:multiply;pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 1fr;
  gap:var(--esp-6);align-items:center;padding-block:var(--esp-6)}
.hero h1{font-size:var(--t-display);font-weight:700;line-height:1.04;letter-spacing:-.015em}
.hero .sub{margin-top:var(--esp-2);font-size:16px;color:var(--texto-2);max-width:46ch}
.busca{margin-top:var(--esp-3);display:flex;max-width:520px;box-shadow:var(--sombra-1)}
.busca input{flex:1;height:52px;padding:0 var(--esp-2);background:var(--c-luz);
  border:1px solid var(--junta-forte);border-right:0;font:15px var(--fonte-ui);color:var(--texto)}
.busca input:focus{outline:0;border-color:var(--c-tinta)}
.busca button{height:52px;padding:0 var(--esp-4);background:var(--c-tinta);color:var(--c-luz);
  border:0;font:500 15px var(--fonte-ui);cursor:pointer}
.busca button:hover{background:var(--c-carvao)}
.hero-dicas{margin-top:10px;font-size:12.5px;color:var(--texto-3)}
.hero-dicas a{border-bottom:1px solid var(--junta-forte)}
.hero-dicas a:hover{color:var(--c-tinta);border-bottom-color:var(--c-tinta)}
.atalhos-4{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--junta-forte);
  border:1px solid var(--junta-forte);box-shadow:var(--sombra-1)}
.atalho{background:var(--c-luz);padding:var(--esp-3);transition:background var(--transicao)}
.atalho:hover{background:var(--c-nevoa)}
.atalho .n{font:700 26px/1 var(--fonte-ui)}
.atalho .t{font-size:14px;font-weight:600;margin-top:4px}
.atalho .d{font-size:12px;color:var(--texto-3);margin-top:2px}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:var(--esp-4);padding-block:var(--esp-5)}
  .hero h1{font-size:36px}}

/* ---------- Faixa de atalhos ---------- */
.faixa-atalhos{border-bottom:1px solid var(--junta);background:var(--c-luz)}
.faixa-atalhos ul{display:flex;overflow-x:auto;scrollbar-width:none}
.faixa-atalhos ul::-webkit-scrollbar{display:none}
.faixa-atalhos li{flex:1;min-width:132px;border-right:1px solid var(--junta)}
.faixa-atalhos li:first-child{border-left:1px solid var(--junta)}
@media(max-width:560px){.faixa-atalhos li{min-width:120px}}
.faixa-atalhos a{display:block;padding:14px 12px;font-size:12.5px;color:var(--texto-2);
  text-align:center;transition:all var(--transicao)}
.faixa-atalhos a:hover{background:var(--c-nevoa);color:var(--c-tinta)}

/* ---------- Seções ---------- */
.secao{padding-block:var(--esp-6)}
.secao-cab{display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:var(--esp-3);padding-bottom:var(--esp-1);border-bottom:2px solid var(--c-tinta)}
.secao-cab h2{font-size:var(--t-h2);font-weight:600}
.secao-cab a{font-size:13px;color:var(--texto-2);border-bottom:1px solid var(--junta-forte)}
.secao-cab a:hover{color:var(--c-tinta);border-bottom-color:var(--c-tinta)}

/* ---------- Grade principal da home ---------- */
.grade{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--esp-5)}
@media(max-width:1080px){.grade{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.grade{grid-template-columns:1fr}}
.col-tit{font-size:var(--t-rotulo);letter-spacing:var(--letra-rotulo);text-transform:uppercase;
  font-weight:600;padding-bottom:8px;border-bottom:2px solid var(--c-tinta);margin-bottom:var(--esp-2)}

.destaque-noticia{display:block;margin-bottom:var(--esp-3)}
.destaque-noticia .img{height:196px;background:linear-gradient(160deg,var(--c-concreto-claro),var(--c-concreto));
  position:relative;overflow:hidden}
.destaque-noticia .img::after{content:"";position:absolute;top:0;bottom:0;left:30px;width:2px;
  background:linear-gradient(180deg,rgba(255,255,255,.85),transparent 72%)}
.destaque-noticia h3{font-size:21px;line-height:1.3;font-weight:600;margin-top:12px}
.destaque-noticia .meta{font:11.5px var(--fonte-mono);color:var(--texto-3);margin-top:6px}

.lista-compacta li{border-bottom:1px solid var(--junta)}
.lista-compacta a{display:block;padding:11px 0;transition:opacity var(--transicao)}
.lista-compacta a:hover{opacity:.62}
.lista-compacta .t{font-size:14px;font-weight:500;line-height:1.35}
.lista-compacta .m{font:11px var(--fonte-mono);color:var(--texto-3);margin-top:3px}

.evento-linha{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--junta);align-items:center}
.evento-data{width:48px;flex-shrink:0;text-align:center;border:1px solid var(--junta-forte);padding:5px 0}
.evento-data b{display:block;font:700 17px/1 var(--fonte-ui)}
.evento-data span{font:9.5px var(--fonte-mono);letter-spacing:.14em;color:var(--texto-3)}
.evento-linha .t{font-size:13.5px;font-weight:500;line-height:1.35}
.evento-linha .m{font-size:11.5px;color:var(--texto-3);margin-top:2px}

.anuncio-linha{display:flex;gap:11px;padding:10px 0;border-bottom:1px solid var(--junta);align-items:center}
.anuncio-foto{width:56px;height:56px;flex-shrink:0;
  background:linear-gradient(150deg,var(--c-argamassa),var(--c-concreto-claro));border:1px solid var(--junta)}
.anuncio-linha .t{font-size:13px;line-height:1.3;font-weight:500}
.anuncio-linha .p{font:600 14px var(--fonte-mono);margin-top:3px}

/* ---------- Cards de empresa ---------- */
.empresas{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--esp-2)}
@media(max-width:1080px){.empresas{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.empresas{grid-template-columns:1fr}}
.empresa{background:var(--c-nevoa);border-top:2px solid var(--c-tinta);padding:var(--esp-2);
  transition:box-shadow var(--transicao)}
.empresa:hover{box-shadow:var(--sombra-1)}
.empresa .cat{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-3)}
.empresa h3{font-size:15px;font-weight:600;margin:5px 0 3px}
.empresa .end{font-size:12.5px;color:var(--texto-2)}
.empresa .st{margin-top:8px;font:11px var(--fonte-mono);color:var(--sucesso)}

/* ---------- Blocos institucionais ---------- */
.institucional{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--junta-forte);border:1px solid var(--junta-forte)}
@media(max-width:860px){.institucional{grid-template-columns:1fr}}
.inst{background:var(--c-luz);padding:var(--esp-4);transition:background var(--transicao)}
.inst:hover{background:var(--c-nevoa)}
.inst h3{font-size:var(--t-h3);font-weight:600;margin:8px 0}
.inst p{font-size:var(--t-corpo-s);color:var(--texto-2);margin-bottom:14px}
.inst .link{font-size:13px;font-weight:500;border-bottom:1px solid var(--c-tinta);padding-bottom:1px}

/* ---------- Página interna ---------- */
.cabeca{background:var(--c-nevoa);border-bottom:1px solid var(--junta-forte);padding:var(--esp-5) 0}
.trilha{font-size:12.5px;color:var(--texto-3);margin-bottom:10px}
.trilha a:hover{color:var(--c-tinta)}
.cabeca h1{font-size:var(--t-h1);font-weight:700;line-height:1.15}
.cabeca .sub{margin-top:10px;font-size:15px;color:var(--texto-2);max-width:62ch}

.categorias{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--junta);border:1px solid var(--junta)}
@media(max-width:1000px){.categorias{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.categorias{grid-template-columns:1fr}}
.categoria{background:var(--c-luz);padding:var(--esp-3);transition:background var(--transicao)}
.categoria:hover{background:var(--c-nevoa)}
.categoria h3{font-size:14px;font-weight:600;margin-bottom:8px;padding-bottom:6px;
  border-bottom:1px solid var(--junta)}
.categoria li a{font-size:12.5px;color:var(--texto-2);display:block;padding:2.5px 0}
.categoria li a:hover{color:var(--c-tinta)}

.vazio{border:1px dashed var(--junta-forte);padding:var(--esp-5);text-align:center;
  background:var(--c-nevoa)}
.vazio h3{font-size:var(--t-h3);font-weight:600;margin-bottom:8px}
.vazio p{font-size:var(--t-corpo-s);color:var(--texto-2);max-width:52ch;margin:0 auto var(--esp-3)}

.aviso{border-left:3px solid var(--c-corten);background:var(--c-corten-luz);
  padding:var(--esp-2) var(--esp-3);font-size:var(--t-corpo-s);margin:var(--esp-3) 0}
.aviso strong{color:var(--c-corten)}

/* Texto longo (termos, privacidade) */
.texto{max-width:68ch;padding-block:var(--esp-6)}
.texto h2{font-size:var(--t-h2);font-weight:600;margin:var(--esp-5) 0 var(--esp-2);
  padding-bottom:8px;border-bottom:1px solid var(--junta)}
.texto h3{font-size:var(--t-h3);font-weight:600;margin:var(--esp-3) 0 var(--esp-1)}
.texto p{margin-bottom:var(--esp-2);color:var(--texto-2)}
.texto ul{margin:0 0 var(--esp-2) var(--esp-3)}
.texto li{margin-bottom:6px;color:var(--texto-2);list-style:disc}
.texto strong{color:var(--texto)}

/* Números da cidade */
.numeros{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--junta-forte);
  border:1px solid var(--junta-forte)}
@media(max-width:760px){.numeros{grid-template-columns:1fr 1fr}}
.numero{background:var(--c-luz);padding:var(--esp-3);text-align:center}
.numero b{display:block;font:700 25px/1 var(--fonte-ui)}
.numero span{font-size:11.5px;color:var(--texto-3);margin-top:6px;display:block}

/* ---------- Rodapé ---------- */
.rodape{background:var(--c-carvao);color:rgba(250,250,247,.66);margin-top:var(--esp-7);
  padding:var(--esp-6) 0 var(--esp-3);
  background-image:radial-gradient(circle 4px,rgba(250,250,247,.055) 3px,transparent 4px);
  background-size:110px 110px;background-position:24px 24px}
.rodape-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--esp-4);
  padding-bottom:var(--esp-4);border-bottom:1px solid rgba(250,250,247,.13)}
@media(max-width:900px){.rodape-cols{grid-template-columns:1fr 1fr}}
.rodape h4{color:var(--c-luz);font-size:var(--t-rotulo);letter-spacing:var(--letra-rotulo);
  text-transform:uppercase;margin-bottom:12px}
.rodape li{margin-bottom:6px}
.rodape a{font-size:13px;transition:color var(--transicao)}
.rodape a:hover{color:var(--c-luz)}
.rodape-aviso{margin:var(--esp-3) 0;padding:var(--esp-2) var(--esp-3);
  border-left:2px solid rgba(250,250,247,.3);font-size:12.5px;line-height:1.6}
.rodape-aviso strong{color:var(--c-luz)}
.rodape-contato{margin:var(--esp-3) 0;padding-bottom:var(--esp-3);
  border-bottom:1px solid rgba(250,250,247,.13)}
.rodape-contato-linha{display:flex;align-items:center;gap:12px;margin-top:8px;
  font:13px var(--fonte-mono);flex-wrap:wrap}
.rodape-contato-linha a{color:var(--c-luz);border-bottom:1px solid rgba(250,250,247,.3)}
.rodape-marca .marca-forte{color:var(--c-luz);font-size:14px}
.rodape-marca .marca-fraca{color:rgba(250,250,247,.45);font-size:14px}
.rodape-fim{display:flex;justify-content:space-between;align-items:center;
  padding-top:var(--esp-3);border-top:1px solid rgba(250,250,247,.13);
  font:11.5px var(--fonte-mono);flex-wrap:wrap;gap:12px}
.rodape-marca{display:flex;align-items:center;gap:10px;color:var(--c-luz)}
.rodape-legal{display:flex;align-items:center;gap:10px}
.rodape-legal a{border-bottom:1px solid rgba(250,250,247,.3)}

/* ---------- Hero: ações e portas (substitui a busca global) ---------- */
.hero-acoes{margin-top:var(--esp-3);display:flex;gap:var(--esp-2);flex-wrap:wrap}
.portas{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--junta-forte);
  border:1px solid var(--junta-forte);box-shadow:var(--sombra-1)}
.portas .porta:first-child{grid-column:1 / -1}
.porta{background:var(--c-luz);padding:var(--esp-2) var(--esp-3);display:block;
  transition:background var(--transicao)}
.porta:hover{background:var(--c-nevoa)}
.porta .t{display:block;font-size:15px;font-weight:600}
.porta .d{display:block;font-size:12px;color:var(--texto-3);margin-top:2px}
@media(max-width:560px){.portas{grid-template-columns:1fr}
  .portas .porta:first-child{grid-column:auto}}

/* ---------- Duas colunas (entrar) ---------- */
.colunas-2{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--esp-5);
  padding-block:var(--esp-6);align-items:start}
@media(max-width:900px){.colunas-2{grid-template-columns:1fr;gap:var(--esp-4);
  padding-block:var(--esp-5)}}

.cartao-form{background:var(--c-nevoa);border-top:2px solid var(--c-tinta);padding:var(--esp-4)}
.cartao-form h2{font-size:var(--t-h2);font-weight:600;margin:6px 0 var(--esp-3)}
.opcao-login{padding:var(--esp-3) 0;border-top:1px solid var(--junta)}
.opcao-login:first-of-type{border-top:0;padding-top:0}
.opcao-cab{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.opcao-cab strong{font-size:15px}
.tag{font:600 9.5px var(--fonte-mono);letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--junta-forte);padding:3px 7px;color:var(--texto-3)}
.opcao-login p{font-size:var(--t-corpo-s);color:var(--texto-2);margin-bottom:12px}
.btn[disabled]{background:var(--c-concreto-claro);color:var(--c-concreto-sombra);
  border-color:transparent;cursor:not-allowed}
.btn-2[disabled]{background:transparent;border-color:var(--c-concreto-claro)}
.nota-form{font-size:12.5px;color:var(--texto-3);margin-top:var(--esp-3);
  padding-top:var(--esp-2);border-top:1px solid var(--junta)}
.nota-form a{border-bottom:1px solid var(--junta-forte)}

.explicacao{border-left:2px solid var(--c-tinta);padding-left:var(--esp-3)}
.explicacao h2{font-size:var(--t-h2);font-weight:600;margin:6px 0 var(--esp-2)}
.explicacao p{font-size:var(--t-corpo-s);color:var(--texto-2);margin-bottom:var(--esp-2)}
.explicacao strong{color:var(--texto)}
.assinatura{margin-top:var(--esp-3);padding-top:var(--esp-2);border-top:1px solid var(--junta)}
.assinatura strong{display:block;font-size:14px}
.assinatura span{font:11.5px var(--fonte-mono);color:var(--texto-3)}

/* ---------- Contato ---------- */
.contato-blocos{display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--junta-forte);border:1px solid var(--junta-forte);margin-bottom:var(--esp-3)}
@media(max-width:560px){.contato-blocos{grid-template-columns:1fr}}
.contato-bloco{background:var(--c-nevoa);padding:var(--esp-3);transition:background var(--transicao)}
.contato-bloco:hover{background:var(--c-argamassa)}
.contato-bloco strong{display:block;font:600 16px var(--fonte-mono);margin-top:6px}

/* ---------- Telefones úteis ---------- */
.tel-grupo{margin-bottom:var(--esp-5)}
.tel-lista{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--junta);border:1px solid var(--junta)}
@media(max-width:860px){.tel-lista{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.tel-lista{grid-template-columns:1fr}}
.tel-item{background:var(--c-luz);padding:var(--esp-2) var(--esp-3);display:flex;
  align-items:baseline;gap:14px;transition:background var(--transicao)}
.tel-item:hover{background:var(--c-nevoa)}
.tel-num{font:700 21px/1 var(--fonte-mono);color:var(--c-tinta);min-width:52px}
.tel-desc{font-size:13px;color:var(--texto-2)}

/* ---------- Emprego: duas portas ---------- */
.duas-portas{display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--junta-forte);border:1px solid var(--junta-forte)}
@media(max-width:820px){.duas-portas{grid-template-columns:1fr}}
.porta-grande{background:var(--c-luz);padding:var(--esp-4);display:block;
  transition:background var(--transicao)}
.porta-grande:hover{background:var(--c-nevoa)}
.porta-grande h2{font-size:var(--t-h2);font-weight:600;margin:8px 0 10px}
.porta-grande p{font-size:var(--t-corpo-s);color:var(--texto-2);margin-bottom:var(--esp-2)}
.porta-grande .link{font-size:13px;font-weight:500;border-bottom:1px solid var(--c-tinta);
  padding-bottom:1px}

/* ---------- Passos ---------- */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--junta);border:1px solid var(--junta)}
@media(max-width:900px){.passos{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.passos{grid-template-columns:1fr}}
.passo{background:var(--c-luz);padding:var(--esp-3)}
.passo-n{font:700 11px var(--fonte-mono);letter-spacing:.16em;color:var(--texto-3)}
.passo h3{font-size:15px;font-weight:600;margin:8px 0 6px}
.passo p{font-size:12.5px;color:var(--texto-2)}

/* ---------- Privacidade: o que aparece / o que não ---------- */
.privacidade-bloco{background:var(--c-nevoa);padding:var(--esp-4);
  border-top:2px solid var(--c-tinta)}
.privacidade-bloco h2{font-size:var(--t-h2);font-weight:600;margin:6px 0 8px}
.privacidade-bloco>div:first-child p{font-size:var(--t-corpo-s);color:var(--texto-2);
  max-width:64ch;margin-bottom:var(--esp-3)}
.privacidade-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--esp-3)}
@media(max-width:620px){.privacidade-cols{grid-template-columns:1fr}}
.priv-col{background:var(--c-luz);padding:var(--esp-3);border-top:2px solid var(--junta-forte)}
.priv-col h3{font-size:14px;font-weight:600;margin-bottom:12px;padding-bottom:8px;
  border-bottom:1px solid var(--junta)}
.priv-col li{font-size:13px;color:var(--texto-2);padding:4px 0 4px 18px;position:relative}
.priv-sim{border-top-color:var(--c-musgo)}
.priv-sim li::before{content:"+";position:absolute;left:0;color:var(--c-musgo);font-weight:700}
.priv-nao{border-top-color:var(--c-corten)}
.priv-nao li::before{content:"−";position:absolute;left:0;color:var(--c-corten);font-weight:700}
