@charset "UTF-8";
/* ============================================================
   PME DOURADOS 2026-2036 — Folha de estilo principal
   Paleta oficial: azul-marinho #02246C | laranja #FC8817
   Tipografia: Poppins
   ============================================================ */

:root{
  --azul:#02246C;
  --azul-escuro:#01173F;
  --azul-claro:#e7ecf7;
  --laranja:#FC8817;
  --laranja-claro:#fff1e2;
  --texto:#172033;
  --texto-suave:#5a6478;
  --borda:#dfe3ec;
  --fundo:#ffffff;
  --superficie:#f5f7fb;
  --raio:14px;
  --sombra:0 1px 2px rgba(23,32,51,.06), 0 8px 24px rgba(23,32,51,.06);
  --largura:1180px;
  --fonte:"Poppins","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--fonte);color:var(--texto);background:var(--fundo);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;height:auto}
a{color:var(--azul);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--azul-escuro)}

/* Foco visível — acessibilidade por teclado */
a:focus-visible,button:focus-visible,summary:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--laranja);outline-offset:3px;border-radius:4px;
}

.pular-para-conteudo{
  position:absolute;left:-9999px;top:0;z-index:999;background:var(--azul);color:#fff;
  padding:.9rem 1.4rem;border-radius:0 0 var(--raio) 0;font-weight:600;
}
.pular-para-conteudo:focus{left:0}

.container{width:100%;max-width:var(--largura);margin:0 auto;padding:0 20px}

/* ---------------- Tipografia ---------------- */
h1,h2,h3,h4{font-weight:700;line-height:1.2;color:var(--azul);margin:0 0 .6em}
h1{font-size:clamp(1.9rem,4.4vw,3rem);letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.01em}
h3{font-size:1.2rem}
h4{font-size:1rem}
p{margin:0 0 1.1em}
.chapeu{
  display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--azul);margin-bottom:.7rem;
}
.chapeu::after{
  content:"";display:block;width:44px;height:4px;background:var(--laranja);
  border-radius:2px;margin-top:.5rem;
}
.chapeu--centro{text-align:center}
.chapeu--centro::after{margin-left:auto;margin-right:auto}
.destaque-texto{font-size:1.14rem;color:var(--texto-suave)}
.texto-centro{text-align:center}
.limite-leitura{max-width:70ch}

/* ---------------- Barra institucional ---------------- */
.barra-gov{background:var(--azul-escuro);color:#fff;font-size:.8rem}
.barra-gov .container{
  display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;
  align-items:center;justify-content:space-between;min-height:38px;
}
.barra-gov a{color:#fff;text-decoration:none;opacity:.92}
.barra-gov a:hover{color:var(--laranja);opacity:1;text-decoration:underline}
.barra-gov strong{font-weight:600;letter-spacing:.03em}

/* ---------------- Cabeçalho ---------------- */
.cabecalho{
  position:sticky;top:0;z-index:100;background:#fff;
  border-bottom:1px solid var(--borda);
}
.cabecalho .container{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:96px;
}
.marca{display:flex;align-items:center;text-decoration:none;flex-shrink:0;padding:6px 0}
.marca-logo{height:62px;width:auto;flex-shrink:0}
@media (max-width:420px){
  .cabecalho .container{min-height:84px}
  .marca-logo{height:52px}
}

.abre-menu{
  display:none;background:none;border:1.5px solid var(--borda);border-radius:10px;
  padding:.55rem .8rem;cursor:pointer;color:var(--azul);font-size:1.35rem;line-height:1;
}
.menu{display:flex;align-items:center;gap:.15rem;list-style:none;margin:0;padding:0}
.menu a{
  display:block;padding:.55rem .78rem;border-radius:9px;text-decoration:none;
  font-size:.93rem;font-weight:500;color:var(--texto);white-space:nowrap;
}
.menu a:hover{background:var(--azul-claro);color:var(--azul)}
.menu a[aria-current="page"]{color:var(--azul);font-weight:700;background:var(--azul-claro)}

@media (max-width:1040px){
  .abre-menu{display:block}
  .menu{
    display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
    flex-direction:column;align-items:stretch;gap:0;padding:.5rem 20px 1rem;
    border-bottom:1px solid var(--borda);box-shadow:var(--sombra);
  }
  .menu.aberto{display:flex}
  .menu a{padding:.85rem .6rem;border-bottom:1px solid var(--borda)}
  .cabecalho .container{position:relative}
}

/* ---------------- Botões ---------------- */
.botao{
  display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.5rem;
  border-radius:999px;font-weight:600;font-size:.97rem;text-decoration:none;
  border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease;
}
.botao:hover{transform:translateY(-1px)}
.botao--principal{background:var(--azul);color:#fff}
.botao--principal:hover{background:var(--azul-escuro);color:#fff}
.botao--destaque{background:var(--laranja);color:#231000}
.botao--destaque:hover{background:#e07610;color:#231000}
.botao--contorno{border-color:var(--azul);color:var(--azul);background:transparent}
.botao--contorno:hover{background:var(--azul-claro)}
.botao--claro{border-color:rgba(255,255,255,.6);color:#fff}
.botao--claro:hover{background:rgba(255,255,255,.14);color:#fff}
.grupo-botoes{display:flex;flex-wrap:wrap;gap:.8rem}

/* ---------------- Seções ---------------- */
.secao{padding:74px 0}
.secao--compacta{padding:52px 0}
.secao--cinza{background:var(--superficie)}
.secao--azul{background:var(--azul);color:#fff}
.secao--azul h2,.secao--azul h3,.secao--azul .chapeu{color:#fff}
.secao--azul .destaque-texto{color:rgba(255,255,255,.86)}
.secao--azul a:not(.botao){color:var(--laranja)}

/* ---------------- Hero ---------------- */
.hero{
  background:var(--azul);color:#fff;padding:64px 0 72px;position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;right:-140px;bottom:-190px;width:520px;height:520px;
  border-radius:50%;background:rgba(252,136,23,.12);pointer-events:none;
}
.hero .container{position:relative;z-index:1}
.hero-grade{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:center}
.hero h1{color:#fff;margin-bottom:.45em}
.hero-periodo{
  display:inline-flex;align-items:center;gap:.7rem;font-weight:700;letter-spacing:.2em;
  font-size:.9rem;color:var(--laranja);margin-bottom:1.1rem;
}
.hero-periodo::before{content:"";width:34px;height:3px;background:var(--laranja);border-radius:2px}
.hero p{color:rgba(255,255,255,.9);font-size:1.12rem;max-width:56ch}
.hero-lema{
  margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.22);
  font-style:italic;color:var(--laranja);font-size:1.05rem;
}
.hero-simbolo{display:flex;justify-content:center}
.hero-simbolo img{width:100%;max-width:250px;height:auto;
  filter:drop-shadow(0 14px 34px rgba(0,0,0,.3))}
@media (max-width:900px){
  .hero-grade{grid-template-columns:1fr;gap:36px}
  .hero-simbolo{order:-1}
  .hero-simbolo img{max-width:150px}
}

/* ---------------- Faixa de aviso / lançamento ---------------- */
.faixa-evento{background:var(--laranja);color:#231000;padding:20px 0}
.faixa-evento .container{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:.5rem 1.1rem;text-align:center;font-weight:600;
}
.faixa-evento .etiqueta{
  background:var(--azul);color:#fff;padding:.28rem .8rem;border-radius:999px;
  font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;
}

/* ---------------- Cartões ---------------- */
.grade{display:grid;gap:24px}
.grade--2{grid-template-columns:repeat(2,1fr)}
.grade--3{grid-template-columns:repeat(3,1fr)}
.grade--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:940px){.grade--3,.grade--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grade--2,.grade--3,.grade--4{grid-template-columns:1fr}}

.cartao{
  background:#fff;border:1px solid var(--borda);border-radius:var(--raio);
  padding:26px;display:flex;flex-direction:column;
}
.cartao--link{text-decoration:none;color:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}
.cartao--link:hover{border-color:var(--azul);transform:translateY(-3px);box-shadow:var(--sombra);color:inherit}
.cartao h3{margin-bottom:.45em}
.cartao p{color:var(--texto-suave);font-size:.95rem;margin-bottom:0}
.cartao-icone{
  width:48px;height:48px;border-radius:12px;background:var(--azul-claro);color:var(--azul);
  display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:1.35rem;font-weight:700;
}
.cartao-numero{
  font-size:2.1rem;font-weight:700;color:var(--azul);line-height:1;margin-bottom:.5rem;
  display:flex;align-items:baseline;gap:.4rem;
}
.cartao-numero small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--texto-suave);font-weight:600}
.cartao-rodape{margin-top:auto;padding-top:1.1rem;font-size:.88rem;font-weight:600;color:var(--azul)}

/* ---------------- Linha do tempo do processo ---------------- */
.linha-tempo{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
@media (min-width:860px){
  .linha-tempo{grid-template-columns:repeat(6,1fr);gap:12px}
  .linha-tempo::before{
    content:"";position:absolute;top:26px;left:8%;right:8%;height:3px;
    background:var(--borda);border-radius:2px;
  }
}
.etapa{position:relative;padding:0 8px;text-align:center}
.etapa-marca{
  width:54px;height:54px;border-radius:50%;background:#fff;border:3px solid var(--borda);
  color:var(--texto-suave);display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:1.05rem;margin:0 auto 14px;position:relative;z-index:1;
}
.etapa h3{font-size:.98rem;margin-bottom:.3em;color:var(--texto)}
.etapa p{font-size:.83rem;color:var(--texto-suave);margin:0}
.etapa--atual .etapa-marca{background:var(--laranja);border-color:var(--laranja);color:#231000}
.etapa--atual h3{color:var(--azul)}
.etapa--concluida .etapa-marca{background:var(--azul);border-color:var(--azul);color:#fff}
.etapa-selo{
  display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--laranja);color:#231000;padding:.15rem .55rem;border-radius:999px;margin-bottom:.5rem;
}
@media (max-width:859px){
  .linha-tempo{gap:6px}
  .etapa{display:grid;grid-template-columns:54px 1fr;gap:16px;text-align:left;padding:14px 0;
    border-bottom:1px solid var(--borda)}
  .etapa-marca{margin:0}
  .etapa:last-child{border-bottom:0}
}

/* ---------------- Matriz comparativa PNE / PEE / PME ---------------- */
.matriz-legenda{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px;
}
@media (max-width:760px){.matriz-legenda{grid-template-columns:1fr}}
.legenda-item{
  border-left:4px solid var(--borda);padding:.3rem 0 .3rem 14px;font-size:.88rem;color:var(--texto-suave);
}
.legenda-item strong{display:block;color:var(--texto);font-size:.95rem}
.legenda-item--pne{border-color:#8896b3}
.legenda-item--pee{border-color:var(--azul)}
.legenda-item--pme{border-color:var(--laranja)}

.item-matriz{
  border:1px solid var(--borda);border-radius:var(--raio);margin-bottom:16px;
  background:#fff;overflow:hidden;
}
.item-matriz>summary{
  cursor:pointer;padding:18px 22px;font-weight:600;list-style:none;
  display:flex;align-items:center;gap:.85rem;background:var(--superficie);
}
.item-matriz>summary::-webkit-details-marker{display:none}
.item-matriz>summary::after{
  content:"+";margin-left:auto;font-size:1.35rem;font-weight:400;color:var(--azul);flex-shrink:0;
}
.item-matriz[open]>summary::after{content:"−"}
.item-matriz[open]>summary{border-bottom:1px solid var(--borda)}
.rotulo-item{
  background:var(--azul);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.07em;
  padding:.28rem .7rem;border-radius:999px;flex-shrink:0;text-transform:uppercase;
}
.rotulo-item--meta{background:var(--laranja);color:#231000}
.resumo-item{font-weight:400;font-size:.94rem;color:var(--texto-suave);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.colunas-matriz{display:grid;grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.colunas-matriz{grid-template-columns:1fr}}
.coluna-matriz{padding:20px 22px;border-right:1px solid var(--borda);font-size:.92rem}
.coluna-matriz:last-child{border-right:0}
@media (max-width:860px){
  .coluna-matriz{border-right:0;border-bottom:1px solid var(--borda)}
  .coluna-matriz:last-child{border-bottom:0}
}
.coluna-matriz h4{
  font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--texto-suave);
  margin-bottom:.8em;padding-bottom:.5em;border-bottom:2px solid var(--borda);
}
.coluna-matriz--pne h4{border-color:#8896b3}
.coluna-matriz--pee h4{border-color:var(--azul);color:var(--azul)}
.coluna-matriz--pme{background:var(--laranja-claro)}
.coluna-matriz--pme h4{border-color:var(--laranja);color:#8a4200}
.coluna-matriz p{margin:0;line-height:1.6}
.vazio-construir{
  color:#8a4200;font-style:italic;font-size:.88rem;display:block;
}
.sem-correspondente{color:var(--texto-suave);font-style:italic;font-size:.88rem}

/* ---------------- Navegação entre objetivos ---------------- */
.nav-objetivos{
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  border-top:1px solid var(--borda);padding-top:26px;margin-top:36px;
}
.nav-objetivos a{
  text-decoration:none;font-weight:600;font-size:.93rem;max-width:46%;
}
@media (max-width:640px){.nav-objetivos a{max-width:100%}}

/* ---------------- Tabelas ---------------- */
.tabela-envolucro{overflow-x:auto;border:1px solid var(--borda);border-radius:var(--raio)}
table.dados{width:100%;border-collapse:collapse;font-size:.93rem;min-width:520px}
table.dados th,table.dados td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--borda)}
table.dados thead th{
  background:var(--azul);color:#fff;font-size:.76rem;letter-spacing:.09em;
  text-transform:uppercase;font-weight:700;
}
table.dados tbody tr:last-child td{border-bottom:0}
table.dados tbody tr:nth-child(even){background:var(--superficie)}

/* ---------------- Notícias ---------------- */
.noticia{
  display:grid;grid-template-columns:150px 1fr;gap:26px;padding:26px 0;
  border-bottom:1px solid var(--borda);align-items:start;
}
.noticia:last-child{border-bottom:0}
@media (max-width:640px){.noticia{grid-template-columns:1fr;gap:10px}}
.noticia-data{
  background:var(--azul-claro);border-radius:var(--raio);padding:14px;text-align:center;color:var(--azul);
}
.noticia-data .dia{display:block;font-size:1.9rem;font-weight:700;line-height:1}
.noticia-data .mes{display:block;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600}
@media (max-width:640px){
  .noticia-data{display:inline-flex;gap:.4rem;padding:.3rem .8rem;align-items:baseline}
  .noticia-data .dia{font-size:1rem}
}
.noticia h3{margin-bottom:.35em}
.noticia p{color:var(--texto-suave);margin-bottom:.6em}
.etiqueta-tema{
  display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--laranja-claro);color:#8a4200;padding:.2rem .65rem;border-radius:999px;margin-bottom:.6rem;
}

/* ---------------- Perguntas frequentes ---------------- */
.pergunta{border-bottom:1px solid var(--borda)}
.pergunta>summary{
  cursor:pointer;padding:20px 40px 20px 0;font-weight:600;position:relative;list-style:none;color:var(--azul);
}
.pergunta>summary::-webkit-details-marker{display:none}
.pergunta>summary::after{
  content:"+";position:absolute;right:6px;top:17px;font-size:1.4rem;font-weight:400;color:var(--azul);
}
.pergunta[open]>summary::after{content:"−"}
.pergunta .resposta{padding:0 0 20px;color:var(--texto-suave);font-size:.96rem}
.pergunta .resposta p:last-child{margin-bottom:0}

/* ---------------- Membros ---------------- */
.membro{
  border:1px solid var(--borda);border-radius:var(--raio);padding:20px 22px;background:#fff;
  border-left:4px solid var(--azul);
}
.membro strong{display:block;font-size:1rem;color:var(--texto)}
.membro span{display:block;font-size:.87rem;color:var(--texto-suave);margin-top:.2rem}
.membro .funcao{
  font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--azul);margin-bottom:.5rem;
}

/* ---------------- Caixas de aviso ---------------- */
.aviso{
  border-radius:var(--raio);padding:22px 26px;margin:26px 0;
  background:var(--azul-claro);border-left:5px solid var(--azul);font-size:.95rem;
}
.aviso--atencao{background:var(--laranja-claro);border-color:var(--laranja)}
.aviso h3{font-size:1.02rem;margin-bottom:.4em}
.aviso p:last-child{margin-bottom:0}

/* Marcação de conteúdo provisório — remover ao publicar */
.a-confirmar{
  background:#ffe9d2;color:#7a3d00;border-bottom:2px dotted #c96a00;
  padding:0 .2em;border-radius:3px;
}
.rodape .a-confirmar,.secao--azul .a-confirmar,.topo-pagina .a-confirmar{color:#7a3d00}

/* ---------------- Documentos ---------------- */
.documento{
  display:flex;align-items:center;gap:18px;padding:18px 22px;border:1px solid var(--borda);
  border-radius:var(--raio);margin-bottom:12px;text-decoration:none;color:inherit;background:#fff;
  transition:border-color .15s;
}
a.documento:hover{border-color:var(--azul);color:inherit}
.documento-tipo{
  background:var(--azul);color:#fff;border-radius:9px;padding:.45rem .7rem;
  font-size:.68rem;font-weight:700;letter-spacing:.06em;flex-shrink:0;
}
.documento-tipo--pendente{background:var(--texto-suave)}
.documento-info strong{display:block;font-size:.98rem}
.documento-info span{font-size:.86rem;color:var(--texto-suave)}

/* ---------------- Números ---------------- */
.painel-numeros{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
@media (max-width:820px){.painel-numeros{grid-template-columns:repeat(2,1fr)}}
.numero-grande{
  font-size:clamp(2.1rem,5vw,2.9rem);font-weight:700;color:var(--laranja);line-height:1;display:block;
}
.numero-rotulo{font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:600}

/* ---------------- Rodapé ---------------- */
.rodape{background:var(--azul-escuro);color:rgba(255,255,255,.82);padding:56px 0 0;font-size:.92rem}
.rodape-grade{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:44px}
@media (max-width:900px){.rodape-grade{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rodape-grade{grid-template-columns:1fr}}
.rodape h3{color:#fff;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.1em}
.rodape ul{list-style:none;margin:0;padding:0}
.rodape li{margin-bottom:.6rem}
.rodape a{color:rgba(255,255,255,.82);text-decoration:none}
.rodape a:hover{color:var(--laranja);text-decoration:underline}
.rodape-marca{margin-bottom:1.3rem}
.rodape-marca img{height:78px;width:auto;max-width:100%}
.rodape-base{
  border-top:1px solid rgba(255,255,255,.16);padding:22px 0;font-size:.83rem;
  display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:space-between;align-items:center;
}

/* ---------------- Miolo de página interna ---------------- */
.topo-pagina{background:var(--azul);color:#fff;padding:52px 0 46px}
.topo-pagina h1{color:#fff;margin-bottom:.3em}
.topo-pagina p{color:rgba(255,255,255,.88);margin:0;max-width:70ch;font-size:1.05rem}
.topo-pagina .chapeu{color:var(--laranja)}
.topo-pagina .chapeu::after{background:var(--laranja)}
.trilha{font-size:.83rem;color:rgba(255,255,255,.72);margin-bottom:1.1rem}
.trilha a{color:rgba(255,255,255,.9)}
.trilha span{margin:0 .45rem}

.conteudo h2{margin-top:2.2em}
.conteudo h2:first-child{margin-top:0}
.conteudo h3{margin-top:1.8em}
.conteudo ul,.conteudo ol{padding-left:1.3rem;margin-bottom:1.2em}
.conteudo li{margin-bottom:.5rem}

/* ---------------- Utilidades ---------------- */
.oculto-visual{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.mt-0{margin-top:0}
.mb-0{margin-bottom:0}
.centro{margin-left:auto;margin-right:auto}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

@media print{
  .cabecalho,.rodape,.barra-gov,.faixa-evento,.abre-menu,.nav-objetivos{display:none}
  body{font-size:11pt;color:#000}
  .topo-pagina{background:none;color:#000;padding:0 0 20pt}
  .topo-pagina h1,.topo-pagina p{color:#000}
  .item-matriz{break-inside:avoid;border-color:#999}
  .item-matriz>summary::after{display:none}
}

/* ---------------- Instâncias: titular e suplente ---------------- */
.sub-navegacao{
  display:flex;flex-wrap:wrap;gap:.6rem;padding:20px 0 0;margin-bottom:2.4rem;
  border-bottom:1px solid var(--borda);padding-bottom:22px;
}
.sub-navegacao a{
  display:inline-block;padding:.5rem 1rem;border:1px solid var(--borda);border-radius:999px;
  text-decoration:none;font-size:.88rem;font-weight:600;color:var(--azul);background:#fff;
}
.sub-navegacao a:hover{border-color:var(--azul);background:var(--azul-claro)}

.representacao{
  border:1px solid var(--borda);border-left:4px solid var(--azul);border-radius:var(--raio);
  padding:18px 22px;background:#fff;
}
.representacao .instituicao{
  font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--azul);margin-bottom:.7rem;line-height:1.4;
}
.representacao dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.3rem .7rem;align-items:baseline}
.representacao dt{
  font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--texto-suave);padding-top:.15rem;
}
.representacao dd{margin:0;font-size:.95rem;color:var(--texto)}

.lista-nomes{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.lista-nomes li{
  padding:.7rem 0;border-bottom:1px solid var(--borda);
  display:flex;flex-wrap:wrap;gap:.2rem 1rem;justify-content:space-between;align-items:baseline;
}
.lista-nomes li:last-child{border-bottom:0}
.lista-nomes .nome{font-size:.97rem}
.lista-nomes .vinculo{font-size:.84rem;color:var(--texto-suave)}

.eixo{border:1px solid var(--borda);border-radius:var(--raio);margin-bottom:14px;background:#fff;overflow:hidden}
.eixo>summary{
  cursor:pointer;padding:18px 22px;font-weight:600;list-style:none;
  display:flex;align-items:center;gap:.9rem;background:var(--superficie);
}
.eixo>summary::-webkit-details-marker{display:none}
.eixo>summary::after{content:"+";margin-left:auto;font-size:1.35rem;font-weight:400;color:var(--azul)}
.eixo[open]>summary::after{content:"−"}
.eixo[open]>summary{border-bottom:1px solid var(--borda)}
.eixo-numero{
  background:var(--azul);color:#fff;border-radius:9px;min-width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;flex-shrink:0;
}
.eixo-corpo{padding:20px 22px}
.eixo-objetivos{
  display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.2rem;padding-bottom:1.1rem;
  border-bottom:1px solid var(--borda);align-items:center;
}
.eixo-objetivos strong{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--texto-suave)}
.eixo-objetivos a{
  font-size:.83rem;font-weight:600;text-decoration:none;padding:.25rem .7rem;
  background:var(--laranja-claro);color:#8a4200;border-radius:999px;
}
.eixo-objetivos a:hover{background:var(--laranja);color:#231000}

/* ---------------- Página com coluna lateral ---------------- */
.grade-lateral{display:grid;grid-template-columns:1.6fr 1fr;gap:56px;align-items:start}
@media (max-width:900px){.grade-lateral{grid-template-columns:1fr;gap:32px}}

/* Âncoras não podem ficar sob o cabeçalho fixo */
section[id],div[id],h2[id]{scroll-margin-top:112px}
@media (max-width:420px){section[id],div[id],h2[id]{scroll-margin-top:96px}}

/* ============================================================
   TEXTO JUSTIFICADO
   A justificação só afeta linhas que não são a última de um
   parágrafo — títulos, rótulos e textos de uma linha só ficam
   inalterados. A hifenização automática em português evita os
   vãos brancos típicos de texto justificado em coluna estreita.
   ============================================================ */
p, li, dd, .destaque-texto, .resposta, .documento-info span, .cartao p{
  text-align:justify;
  text-justify:inter-word;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  hyphens:auto;
  overflow-wrap:break-word;
}

/* Blocos que permanecem centralizados */
.intro-centro,.intro-centro p,.intro-centro h2,.intro-centro .destaque-texto,
.texto-centro,.texto-centro p,
.faixa-evento .container,.faixa-evento span,
.painel-numeros,.painel-numeros div,.numero-rotulo,
.etapa,.etapa p,.etapa h3{text-align:center}
@media (max-width:859px){.etapa,.etapa p,.etapa h3{text-align:left}}

/* Blocos que permanecem alinhados à esquerda */
.trilha,.menu a,.barra-gov span,.rodape li,.rodape p,.rodape-base span,
.lista-nomes li,.lista-nomes .nome,.representacao dd,.representacao dt,
.eixo-objetivos,.legenda-item,.cartao-rodape,.cartao-numero,
.noticia-data span,.etiqueta-tema,.resumo-item,.sub-navegacao a,
.aviso h3,.pergunta summary,.botao,th,.coluna-matriz h4{text-align:left}
.lista-nomes .vinculo{text-align:right}
.rodape-base{text-align:left}

/* Células de tabela: justificar apenas as de texto corrido */
table.dados td{text-align:left;hyphens:auto}

/* Não hifenizar títulos nem números */
h1,h2,h3,h4,.numero-grande,.marca-logo{hyphens:manual}

/* --- Chave para desativar a justificação no celular ---------------------
   O texto justificado abre vãos maiores em telas estreitas, porque a coluna
   comporta poucas palavras por linha. Para alinhar à esquerda apenas no
   celular, mantendo a justificação no computador, basta apagar as duas
   linhas de comentário que envolvem o bloco abaixo.

@media (max-width:640px){
  p,li,dd,.destaque-texto,.resposta,.cartao p,.coluna-matriz p{text-align:left}
}
------------------------------------------------------------------------ */

/* ---------------- Dispositivos não recepcionados ---------------- */
.rotulo-item--recusado{background:#6b7280;color:#fff}
.item-matriz--recusado>summary{background:#f3f4f6}
.item-matriz--recusado{border-style:dashed}
.item-matriz--recusado .coluna-matriz--pme{background:#f3f4f6}
.item-matriz--recusado .coluna-matriz--pme h4{border-color:#9ca3af;color:#4b5563}
.nao-recepcionado{color:#4b5563;font-style:italic;font-size:.9rem;margin:0}

/* ---------------- Objetivo ainda em elaboração ---------------- */
.selo-pendente{
  display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;background:var(--laranja-claro);color:#8a4200;
  padding:.2rem .6rem;border-radius:999px;margin-bottom:.6rem;align-self:flex-start;
}
.cartao--pendente{border-style:dashed;border-color:var(--laranja)}
