/* ------------------------------------------------------------------
   Site — Cartório de Registro de Imóveis de Monte Carmelo
   Base clara, hero fotográfico, faixa de consulta, cartões de serviço.
   Sálvia é a cor institucional, marrom é detalhe, âmbar é a ação.
   ------------------------------------------------------------------ */

*, *::before, *::after { box-sizing: border-box; }

html {
  font-family: var(--fonte);
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scrollbar-color: var(--salvia) var(--cinza);
}

body {
  margin: 0;
  background: var(--branco);
  color: var(--tinta);
  font-size: var(--corpo);
  line-height: var(--entrelinha);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  caret-color: var(--salvia);
}

::selection { background: var(--ambar-claro); color: var(--salvia-tinta); }

:focus-visible { outline: 3px solid var(--ambar); outline-offset: 3px; border-radius: 2px; }

a { color: var(--salvia-escuro); text-decoration-thickness: 1.5px; text-underline-offset: 0.18em; }
/* Marrom é o hover dos links de texto; botões têm o próprio hover */
.prosa a:hover, .lista-links a:hover, .migalhas a:hover, .faixa-consulta__pe a:hover,
.cartao__pe a:not(.botao):hover, .secao__cab--esq a:hover, .tabela-lista a:hover .num,
.cartao:not(.cartao--escuro) .contato-lista a:hover { color: var(--marrom); }
.cartao--escuro .contato-lista a:hover, .rodape .contato-lista a:hover, .cartao--escuro .cartao__pe a:not(.botao):hover { color: var(--ambar-claro); }

img, svg { display: block; max-width: 100%; }
[hidden] { display: none !important; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
h1, h2, h3, h4 { margin: 0; line-height: 1.2; text-wrap: balance; color: var(--salvia-escuro); }
ul, ol { margin: 0; padding: 0; list-style: none; }
button, input { font: inherit; color: inherit; }
button { cursor: pointer; }
strong, b { font-weight: 700; }
.num { font-variant-numeric: tabular-nums; }

.visualmente-oculto {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.pular {
  position: absolute; left: var(--gutter); top: -100px; z-index: 100;
  background: var(--ambar); color: var(--salvia-tinta);
  padding: 10px 16px; font-weight: 700; border-radius: var(--raio);
}
.pular:focus { top: 12px; }

/* Ícones: traço único -------------------------------------------- */
.ico {
  width: 1.25em; height: 1.25em;
  fill: none; stroke: currentColor;
  stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round;
  flex: none;
}
.ico--g { width: 2.25rem; height: 2.25rem; stroke-width: 1.35; }
.ico--p { width: 1em; height: 1em; }

.container { width: min(var(--largura), 100% - 2 * var(--gutter)); margin-inline: auto; }

/* ------------------------------------------------------------------
   Topo: barra de contato + cabeçalho branco
   ------------------------------------------------------------------ */
.barra-topo {
  background: var(--salvia-escuro);
  color: var(--tinta-sobre-escuro);
  font-size: var(--miudo);
}
.barra-topo .container {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 38px;
}
.barra-topo ul { display: flex; flex-wrap: wrap; gap: 4px 22px; }
.barra-topo li { display: inline-flex; align-items: center; gap: 7px; }
.barra-topo a { color: inherit; text-decoration: none; font-weight: 600; }
.barra-topo a:hover { text-decoration: underline; color: var(--ambar-claro); }
.barra-topo .ico { color: var(--tinta-sobre-escuro-suave); }

.cabecalho {
  position: sticky; top: 0; z-index: 50;
  background: var(--branco);
  box-shadow: 0 1px 0 var(--cinza-linha);
}
.cabecalho .container {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  min-height: 92px;
}
.marca { display: inline-flex; align-items: center; flex: none; }
.marca img { height: 60px; width: auto; }

.menu { display: flex; align-items: center; gap: 2px; }
.menu > li { position: relative; }
.menu a, .menu button.menu__item {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 13px;
  color: var(--tinta); font-weight: 600; text-decoration: none;
  background: none; border: 0; border-radius: var(--raio);
  white-space: nowrap;
}
.menu a:hover, .menu button.menu__item:hover, .menu li.pairando > button.menu__item,
.menu li:focus-within > a, .menu li:focus-within > button { background: var(--cinza); color: var(--salvia-escuro); }
.menu a[aria-current="page"] { color: var(--salvia-escuro); box-shadow: inset 0 -2px 0 var(--salvia); border-radius: 0; }
.menu__item .ico { width: 1em; height: 1em; transition: transform .25s var(--ease); }
.menu li:hover > .menu__item .ico, .menu li:focus-within > .menu__item .ico, .menu li.aberto > .menu__item .ico, .menu li.pairando > .menu__item .ico { transform: rotate(90deg); }

.submenu {
  position: absolute; top: calc(100% + 8px); left: 0; min-width: 270px;
  background: var(--branco); color: var(--tinta);
  border: 1px solid var(--cinza-linha); border-radius: var(--raio);
  box-shadow: var(--sombra-card);
  padding: 8px;
  opacity: 0; transform: translateY(-6px); pointer-events: none; visibility: hidden;
  transition: opacity .2s var(--ease), transform .25s var(--ease), visibility 0s linear .3s;
}
/* Ponte invisível sobre o vão de 8px entre o item e o painel: o mouse atravessa sem perder o hover. */
.submenu::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.menu li:hover > .submenu, .menu li:focus-within > .submenu, .menu li.aberto > .submenu, .menu li.pairando > .submenu {
  opacity: 1; transform: none; pointer-events: auto; visibility: visible; transition-delay: 0s;
}
.submenu a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 9px 12px; font-weight: 500; white-space: normal; color: var(--tinta);
}
.submenu a:hover { background: var(--cinza); }
.submenu a .ico { color: var(--tinta-suave); }
.submenu__nota { padding: 8px 12px 4px; font-size: var(--miudo); color: var(--tinta-suave); }

.menu__quem { padding: 10px 6px; color: var(--tinta-suave); font-weight: 600; white-space: nowrap; }
.menu__cta a {
  margin-left: 10px;
  background: var(--salvia); color: var(--branco);
  padding-inline: 16px;
}
.menu__cta a:hover { background: var(--salvia-escuro); color: var(--branco); }

.menu-botao {
  display: none; align-items: center; gap: 8px;
  background: none; border: 1.5px solid var(--cinza-linha); color: var(--tinta);
  padding: 9px 12px; border-radius: var(--raio); font-weight: 600;
}

/* ------------------------------------------------------------------
   Hero: a cidade vista do alto. O fundo sálvia-tinta cobre o carregamento da foto.
   ------------------------------------------------------------------ */
.hero {
  position: relative; isolation: isolate;
  background: var(--salvia-tinta);
  color: var(--branco);
  overflow: hidden;
}
.carrossel__slides { display: grid; }
.hero__slide {
  grid-row: 1; grid-column: 1;
  position: relative; isolation: isolate; background: var(--salvia-tinta); color: var(--branco);
  min-height: 540px;
  display: flex; align-items: center;
  padding: 72px 0 112px;
  opacity: 0; visibility: hidden;
  transition: opacity .9s var(--ease), visibility 0s linear .9s;
}
.hero__slide.is-ativo { opacity: 1; visibility: visible; transition-delay: 0s; z-index: 1; }
.hero__foto {
  position: absolute; inset: 0; z-index: -2;
  width: 100%; height: 100%; object-fit: cover; object-position: center 60%;
  transform: scale(1.04);
}
/* Zoom lento (Ken Burns): roda sempre que um slide fica ativo, inclusive no carregamento */
@keyframes hero-zoom { from { transform: scale(1.06); } to { transform: scale(1); } }
.hero__slide.is-ativo .hero__foto { animation: hero-zoom 8s linear forwards; }
.hero__slide::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(36,53,50,.92) 0%, rgba(36,53,50,.78) 45%, rgba(36,53,50,.48) 100%);
}
.carrossel__slides { color: var(--branco); }
.hero__texto { color: var(--branco); }
.hero__acoes { color: var(--branco); }
.carrossel__controles {
  color: var(--branco);
  position: absolute; left: 0; right: 0; bottom: 84px; z-index: 2;
  display: flex; align-items: center; gap: 10px;
  pointer-events: none;
}
.carrossel__controles > * { pointer-events: auto; }
.carrossel__seta {
  width: 44px; height: 44px; display: grid; place-items: center;
  background: rgba(36,53,50,.55); color: var(--branco);
  border: 1.5px solid rgba(255,255,255,.6); border-radius: var(--raio);
  transition: background-color .2s, border-color .2s;
}
.carrossel__seta:hover { background: rgba(36,53,50,.85); border-color: var(--branco); }
.carrossel__seta[data-carrossel="anterior"] .ico { transform: rotate(180deg); }
.carrossel__pontos { display: flex; gap: 8px; padding: 0 4px; }
.carrossel__pontos button {
  width: 28px; height: 4px; padding: 0; border: 0; border-radius: 0;
  background: rgba(255,255,255,.45); cursor: pointer; position: relative;
}
.carrossel__pontos button::before { content: ""; position: absolute; inset: -20px 0; }
.carrossel__pontos button[aria-selected="true"] { background: var(--ambar); }
.carrossel__pontos button:hover { background: var(--branco); }
.hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--marrom); z-index: 0; }
.hero__texto { max-width: 640px; }
.hero h1 { color: var(--branco); font-size: var(--display); font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; }
.hero__titulo { color: var(--branco); font-size: var(--display); font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; }
.hero__sub { font-size: var(--corpo-lg); color: var(--tinta-sobre-escuro); max-width: 46ch; margin: 18px 0 28px; }
.hero__acoes { display: flex; flex-wrap: wrap; gap: 12px; }
.hero__credito {
  position: absolute; right: 16px; bottom: 78px;
  font-size: 0.75rem; color: var(--tinta-sobre-escuro);
  background: rgba(36,53,50,.78); padding: 3px 8px;
}
.hero__credito a { color: inherit; }

/* Faixa de consulta: encostada no hero ------------------------------ */
.faixa-consulta { margin-top: -64px; position: relative; z-index: 2; }
.faixa-consulta__cartao {
  background: var(--branco);
  border-radius: var(--raio);
  box-shadow: var(--sombra-faixa);
  padding: clamp(22px, 3vw, 36px);
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr); gap: var(--vao) clamp(24px, 4vw, 56px);
  align-items: center;
  animation: subir .7s var(--ease) both;
}
.faixa-consulta__cartao--visitante { grid-template-columns: minmax(0, 1fr) auto; }
.faixa-consulta__cartao--visitante .hero__acoes { justify-self: end; flex-wrap: nowrap; }
.faixa-consulta__cartao--visitante p { max-width: 52ch; }
@keyframes subir { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.faixa-consulta h2 { font-size: var(--titulo); font-weight: 700; letter-spacing: -0.01em; }
.faixa-consulta p { color: var(--tinta-suave); margin-top: 6px; }
.faixa-consulta form { display: grid; grid-template-columns: 1.2fr 1fr auto; gap: var(--vao); align-items: end; }
.faixa-consulta form .botao { padding-block: 13px; }
.faixa-consulta__pe { grid-column: 1 / -1; font-size: var(--miudo); color: var(--tinta-suave); }

/* ------------------------------------------------------------------
   Seções e cartões
   ------------------------------------------------------------------ */
.secao { padding-block: var(--secao-y); }
.secao--cinza { background: var(--cinza); }
.secao--escura { background: var(--salvia-escuro); color: var(--tinta-sobre-escuro); }
.secao--escura h2, .secao--escura h3 { color: var(--branco); }

.secao__cab { text-align: center; max-width: 64ch; margin: 0 auto calc(var(--vao) * 1.6); }
.secao__cab h2 { font-size: var(--titulo); font-weight: 700; letter-spacing: -0.01em; }
.secao__cab p { color: var(--tinta-suave); margin-top: 10px; font-size: var(--corpo-lg); }
.secao__cab--esq { text-align: left; margin-inline: 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; max-width: none; }
.secao__cab--esq a { font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.secao__cab--esq a:hover { text-decoration: underline; }
.secao__nota { color: var(--tinta-suave); font-size: var(--miudo); margin-top: 4px; }

.grade { display: grid; gap: var(--vao); }
.grade--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grade--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grade--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grade--lateral { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: start; }

.cartao {
  background: var(--branco);
  border: 1px solid var(--cinza-linha);
  border-radius: var(--raio);
  padding: 28px;
  display: flex; flex-direction: column; gap: 12px;
  min-width: 0; position: relative;
  color: var(--tinta); text-decoration: none;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .2s;
}
a.cartao:hover, .cartao--levanta:hover { transform: translateY(-4px); box-shadow: var(--sombra-card); border-color: transparent; color: var(--tinta); }
.cartao__ico { color: var(--salvia); }
.cartao h3, .cartao__titulo { font-size: var(--titulo-sm); font-weight: 700; }
.cartao p { color: var(--tinta-suave); }
.cartao__pe {
  margin-top: auto; padding-top: 6px;
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 700; font-size: var(--miudo); color: var(--salvia-escuro);
}
a.cartao:hover .cartao__pe { color: var(--marrom); }
.cartao__pe a { display: inline-flex; align-items: center; gap: 6px; }
.cartao__pe--duplo { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.cartao--escuro { background: var(--salvia-escuro); color: var(--tinta-sobre-escuro); border-color: transparent; }
.cartao--escuro h3, .cartao--escuro h2 { color: var(--branco); }
.cartao--escuro p { color: var(--tinta-sobre-escuro); }
.cartao--escuro a { color: var(--branco); }
.cartao--escuro .cartao__ico { color: var(--tinta-sobre-escuro-suave); }
.cartao--cinza { background: var(--cinza); border-color: transparent; }
.cartao--destaque { background: var(--salvia-claro); border-color: transparent; } /* ação principal entre cartões iguais */

.saida { display: inline-flex; align-items: center; gap: 4px; }
.saida .ico { width: 1em; height: 1em; }

/* Notícias ---------------------------------------------------------- */
.noticia { padding: 0; overflow: hidden; }
.noticia__capa {
  height: 150px;
  background: var(--salvia-escuro) url("../assets/logo/pattern-salvia.svg") center / 420px auto;
  position: relative;
}
.noticia__corpo { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.noticia time, .cartao > time.num { font-size: var(--miudo); font-weight: 700; color: var(--marrom); }
.noticia h3 { font-size: var(--titulo-sm); }
.noticia__capa img { display: block; width: 100%; height: 100%; object-fit: cover; }
.noticia__corpo .cartao__pe { margin-top: auto; }
.paginacao { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: calc(var(--vao) * 1.6); }
.paginacao__pos { color: var(--tinta-suave); font-size: var(--miudo); }
.paginacao [aria-disabled="true"] { opacity: .55; cursor: not-allowed; pointer-events: none; }
.selo-exemplo {
  position: absolute; top: 10px; right: 10px;
  font-size: 0.6875rem; font-weight: 700; letter-spacing: .04em;
  color: var(--salvia-escuro); background: var(--branco);
  padding: 3px 9px; border-radius: var(--raio);
}

/* Lista de links ---------------------------------------------------- */
.lista-links { display: grid; }
.lista-links a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 11px 2px; text-decoration: none; font-weight: 600; color: var(--tinta);
  border-bottom: 1px solid var(--cinza-linha);
}
.lista-links a:last-child { border-bottom: 0; }
.lista-links a:hover { color: var(--marrom); }
.lista-links .ico { color: var(--salvia); }
.cartao--escuro .lista-links a { color: var(--tinta-sobre-escuro); border-color: rgba(242,242,242,.18); }
.cartao--escuro .lista-links a:hover { color: var(--ambar-claro); }
.cartao--escuro .lista-links .ico { color: var(--tinta-sobre-escuro-suave); }

.contato-lista { display: grid; gap: 12px; }
.contato-lista li { display: flex; gap: 10px; align-items: flex-start; }
.contato-lista .ico { color: var(--salvia); margin-top: 3px; }
.contato-lista a { text-decoration: none; font-weight: 600; }
.contato-lista a:hover { text-decoration: underline; }
.cartao--escuro .contato-lista .ico { color: var(--tinta-sobre-escuro-suave); }

/* Formulários e botões ---------------------------------------------- */
.campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.campo label { font-weight: 700; font-size: var(--miudo); }
.campo input {
  width: 100%; background: var(--branco);
  border: 1.5px solid var(--cinza-linha); border-radius: var(--raio);
  padding: 12px 14px; font-size: var(--corpo-lg);
  transition: border-color .2s, box-shadow .2s;
}
.campo input::placeholder { color: #5E6D6A; }
.campo input:focus { border-color: var(--salvia); outline: none; box-shadow: 0 0 0 3px var(--salvia-claro); }
.campo input[aria-invalid="true"] { border-color: #B3261E; }
.campo__erro { color: #8F1D16; font-size: var(--miudo); font-weight: 600; display: flex; gap: 6px; align-items: center; }

.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 22px;
  border: 1.5px solid transparent; border-radius: var(--raio);
  font-weight: 700; font-size: var(--corpo);
  text-decoration: none; white-space: nowrap;
  transition: transform .25s var(--ease), background-color .2s, box-shadow .25s var(--ease), border-color .2s;
}
.botao:hover { transform: translateY(-2px); }
.botao:active { transform: none; }
.botao--primario { background: var(--ambar); color: var(--salvia-tinta); }
.botao--primario:hover { background: var(--ambar-claro); color: var(--salvia-tinta); box-shadow: 0 10px 18px -10px rgba(217,144,15,.7); }
.botao--salvia { background: var(--salvia); color: var(--branco); }
.botao--salvia:hover { background: var(--salvia-escuro); color: var(--branco); }
.botao--vazado-claro { background: transparent; color: var(--branco); border-color: rgba(255,255,255,.7); }
.botao--vazado-claro:hover { background: rgba(255,255,255,.12); color: var(--branco); border-color: var(--branco); }
.botao--vazado { background: transparent; color: var(--salvia-escuro); border-color: var(--salvia); }
.botao--vazado:hover { background: var(--salvia-claro); color: var(--salvia-escuro); }
.botao[disabled] { opacity: .55; cursor: not-allowed; transform: none; }

/* Prosa: conteúdo do CMS ------------------------------------------- */
.prosa { font-size: var(--corpo-lg); max-width: 68ch; }
.prosa p { margin-bottom: 1.1em; }
.prosa ul { padding-left: 1.2em; list-style: disc; margin-bottom: 1.1em; }
.prosa li { margin-bottom: .35em; }
.prosa a { font-weight: 600; }
.prosa h2 { font-size: var(--titulo); font-weight: 700; margin: 1.6em 0 .6em; }
.prosa h3 { font-size: var(--titulo-sm); font-weight: 700; margin: 1.4em 0 .5em; }

/* Cabeça de página interna ------------------------------------------ */
.cabeca-pagina { background: var(--cinza); padding: 40px 0 44px; border-bottom: 1px solid var(--cinza-linha); }
.migalhas { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: var(--miudo); font-weight: 600; color: var(--tinta-suave); margin-bottom: 12px; }
.migalhas a { text-decoration: none; color: var(--tinta-suave); }
.migalhas a:hover { text-decoration: underline; color: var(--marrom); }
.migalhas li + li::before { content: "/"; margin-right: 10px; opacity: .55; }
.titulo-pagina { font-size: var(--display); font-weight: 700; letter-spacing: -0.02em; }
.titulo-pagina + p { color: var(--tinta-suave); font-size: var(--corpo-lg); max-width: 60ch; margin-top: 10px; }

.secao-nav { display: grid; gap: 2px; }
.secao-nav a {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; text-decoration: none; font-weight: 600; color: var(--tinta);
  border-radius: var(--raio);
}
.secao-nav a:hover { background: var(--cinza); color: var(--salvia-escuro); }
.secao-nav a[aria-current="page"] { background: var(--salvia); color: var(--branco); }
.coluna { display: grid; gap: var(--vao); align-content: start; min-width: 0; }

/* ------------------------------------------------------------------
   Autenticação: entrar, cadastro, senha
   ------------------------------------------------------------------ */
.autenticacao-secao { min-height: calc(100vh - 38px - 84px - 64px); display: flex; align-items: center; }
.autenticacao { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.autenticacao__intro p { color: var(--tinta-suave); font-size: var(--corpo-lg); max-width: 44ch; }
.autenticacao__intro .titulo-pagina { margin-bottom: 14px; }
.autenticacao--dupla { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: clamp(20px, 3vw, 40px); }
.autenticacao--dupla .cartao--form { max-width: none; justify-self: stretch; }
.autenticacao__titulo { grid-column: 1 / -1; }
.autenticacao__titulo p { color: var(--tinta-suave); font-size: var(--corpo-lg); max-width: 56ch; }
.autenticacao__titulo .titulo-pagina { margin-bottom: 14px; }
.cartao--novo { padding: clamp(24px, 3vw, 36px); display: grid; gap: 16px; align-content: start; }
.cartao--novo h2 { font-size: var(--titulo-sm); }
.cartao--novo .lista-marcada { margin-top: 0; }
.cartao--novo .botao { width: 100%; }
.autenticacao__topo { margin: 0 0 18px; text-align: left; font-size: var(--miudo); }
.lista-marcada { display: grid; gap: 10px; margin-top: 18px; }
.lista-marcada li { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; }
.lista-marcada .ico { color: var(--salvia); margin-top: 3px; }
.cartao--form { padding: clamp(24px, 3vw, 36px); max-width: 560px; width: 100%; justify-self: end; }
.cartao--form form { display: grid; gap: 18px; }
.campos-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.campo__dica { font-size: var(--miudo); color: var(--tinta-suave); }
.campo__senha { position: relative; }
.campo__senha input { padding-right: 48px; }
.campo__olho {
  position: absolute; top: 0; right: 0; height: 100%; width: 46px;
  display: grid; place-items: center; background: none; border: 0; color: var(--tinta-suave);
  border-radius: var(--raio);
}
.campo__olho:hover { color: var(--salvia-escuro); }
.campo__olho[aria-pressed="true"] { color: var(--salvia-escuro); }
.linha-opcoes { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: var(--miudo); font-weight: 600; }
.marcar { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; }
.marcar input { width: 18px; height: 18px; margin: 0; accent-color: var(--salvia); flex: none; }
.marcar > span { flex: 1; }
.marcar--bloco { align-items: flex-start; font-size: var(--miudo); color: var(--tinta-suave); font-weight: 500; line-height: 1.5; }
.marcar--bloco input { margin-top: 2px; }
.form__pe { text-align: center; font-size: var(--miudo); color: var(--tinta-suave); margin: 0; }
.form__pe a { font-weight: 700; }
.aviso-email { display: flex; gap: 16px; align-items: flex-start; background: var(--cinza); border-radius: var(--raio); padding: 20px; margin-bottom: 18px; }
.aviso-email .ico { color: var(--salvia); }
.aviso-email p { margin-bottom: 12px; }

/* ------------------------------------------------------------------
   Consulta de protocolo
   ------------------------------------------------------------------ */
form.consulta-compacta { display: grid; grid-template-columns: 1.3fr 1fr auto; gap: var(--vao); align-items: end; max-width: 880px; }

.protocolo__cab { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px 24px; }
.protocolo__num { font-size: var(--display); font-weight: 700; letter-spacing: -0.02em; line-height: 1; }
.protocolo__num small { display: block; font-size: var(--miudo); font-weight: 700; color: var(--tinta-suave); letter-spacing: 0; margin-bottom: 6px; }

.estado {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px 8px 10px;
  border: 1.5px solid var(--salvia); border-radius: var(--raio);
  font-weight: 700; color: var(--salvia-escuro);
}
.estado--atencao { border-color: var(--ambar-escuro); background: #FFF4DF; color: #6B4400; }

.dados { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px var(--vao); margin: 0; }
.dados div { display: grid; gap: 2px; }
.dados dt { font-size: var(--miudo); font-weight: 700; color: var(--tinta-suave); }
.dados dd { margin: 0; font-weight: 600; }

.linha { display: grid; margin-top: 8px; }
.passo {
  display: grid; grid-template-columns: 122px 28px 1fr; gap: 0 12px; align-items: start;
  text-align: left; background: none; border: 0; padding: 0; width: 100%;
  transition: opacity .3s var(--ease);
}
.passo__quando { font-size: var(--miudo); font-weight: 700; color: var(--tinta-suave); padding-top: 4px; font-variant-numeric: tabular-nums; }
.passo__marca { position: relative; display: grid; justify-items: center; align-items: start; height: 100%; min-height: 44px; padding-top: 1px; }
.passo__marca::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; margin-left: -1px; background: var(--cinza-escuro); }
.passo__li:first-child .passo__marca::before { top: 15px; }
.passo__li:last-child .passo__marca::before { bottom: calc(100% - 15px); }
.passo__marca .ico {
  position: relative; z-index: 1; width: 28px; height: 28px; padding: 5px;
  background: var(--branco); border: 2px solid var(--cinza-linha); border-radius: 50%;
  color: var(--salvia-escuro); box-sizing: border-box;
}
.passo--feito .passo__marca .ico { background: var(--salvia); border-color: var(--salvia); color: var(--branco); }
.passo--atual .passo__marca .ico { background: var(--ambar); border-color: var(--ambar-escuro); color: var(--salvia-tinta); }
.passo--futuro { color: var(--tinta-suave); }
.passo--futuro .passo__marca .ico { border-style: dashed; }
.passo__corpo { padding: 4px 0 18px; display: grid; gap: 6px; }
.passo__titulo { display: block; font-size: var(--corpo-lg); font-weight: 600; color: var(--tinta); line-height: 1.3; }
.passo--atual .passo__titulo { font-weight: 700; color: var(--salvia-escuro); }
.passo__corpo p { color: var(--tinta-suave); max-width: 56ch; }
.passo__acoes { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 4px; }
.passo__acoes small { color: var(--tinta-suave); font-size: var(--miudo); }
.linha.tem-foco .passo:not(.is-isolado) { opacity: .32; }
.passo__li { display: block; }
.passo[aria-pressed="true"] .passo__titulo { text-decoration: underline; text-decoration-color: var(--ambar); text-underline-offset: .2em; }
.linha__dica { font-size: var(--miudo); color: var(--tinta-suave); margin-top: 4px; }

.prazo-grande { font-size: clamp(1.75rem, 1.4rem + 1.6vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; line-height: 1.05; color: var(--branco); }
.tabela-lista { display: grid; }
.tabela-lista a {
  display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center;
  padding: 10px 0; text-decoration: none; color: var(--tinta); border-bottom: 1px solid var(--cinza-linha);
}
.tabela-lista a:last-child { border-bottom: 0; }
.tabela-lista a:hover .num { color: var(--marrom); }
.tabela-lista .num { font-weight: 700; }
.tabela-lista span:nth-child(2) { color: var(--tinta-suave); }
.tabela-lista small { font-weight: 700; font-size: var(--miudo); display: inline-flex; align-items: center; gap: 4px; color: var(--salvia-escuro); }

/* ------------------------------------------------------------------
   Rodapé
   ------------------------------------------------------------------ */
.rodape { background: var(--salvia-escuro); color: var(--tinta-sobre-escuro); }
.rodape__grid { display: grid; grid-template-columns: 1.2fr 1fr 1.4fr; gap: var(--secao-y) var(--gutter); padding-block: var(--secao-y); }
.rodape h2 { font-size: var(--titulo-sm); font-weight: 700; margin-bottom: 14px; color: var(--branco); }
.rodape .marca img { height: 48px; margin-bottom: 20px; }
.rodape .contato-lista .ico { color: var(--tinta-sobre-escuro-suave); }
.rodape .contato-lista a { color: var(--tinta-sobre-escuro); }
.rodape__links { display: grid; gap: 9px; }
.rodape__links a { color: var(--tinta-sobre-escuro); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.rodape__links a:hover { text-decoration: underline; color: var(--ambar-claro); }
.rodape__mapa { border-radius: var(--raio); overflow: hidden; background: var(--salvia); min-height: 220px; }
.rodape__mapa iframe { width: 100%; height: 100%; min-height: 220px; border: 0; display: block; }
.rodape__pe {
  border-top: 1px solid rgba(242,242,242,.16);
  padding: 18px 0;
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px;
  font-size: var(--miudo); color: var(--tinta-sobre-escuro-suave);
}
.rodape__pe a { color: var(--tinta-sobre-escuro); text-decoration: none; font-weight: 600; }
.rodape__pe a:hover { text-decoration: underline; }

/* WhatsApp: botão oficial, só o ícone -------------------------------- */
.whats {
  position: fixed; right: 20px; bottom: 20px; z-index: 60;
  width: 60px; height: 60px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--whatsapp); color: var(--branco);
  box-shadow: 0 10px 22px -10px rgba(0,0,0,.5), 0 2px 6px -2px rgba(0,0,0,.25);
  transition: transform .3s var(--ease), background-color .2s;
}
.whats:hover { transform: translateY(-3px) scale(1.04); background: var(--whatsapp-escuro); color: var(--branco); }
.whats svg { width: 32px; height: 32px; fill: currentColor; }

/* ------------------------------------------------------------------
   Responsivo
   ------------------------------------------------------------------ */
/* ------------------------------------------------------------------
   Documentos necessários: conteúdo importado da plataforma RIO,
   renderizado no nosso layout. Listagem com busca e página de leitura.
   ------------------------------------------------------------------ */
.doc-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin-top: 14px; font-size: var(--miudo); color: var(--tinta-suave); }
.doc-meta span { display: inline-flex; align-items: center; gap: 6px; }
.doc-meta .ico { color: var(--salvia); }
.chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 12px; border: 1.5px solid var(--cinza-linha); border-radius: var(--raio);
  font-size: var(--miudo); font-weight: 600; color: var(--salvia-escuro); background: var(--branco);
  text-decoration: none; transition: border-color .2s, background-color .2s;
}
.chip span { color: var(--tinta-suave); font-weight: 600; }
.chip:hover { border-color: var(--salvia); background: var(--salvia-claro); }
.cabeca-pagina .chip { padding: 4px 10px; }
/* Figura de abertura: foto encostada no cabeçalho cinza, como a faixa de consulta no hero */
.secao--com-figura { padding-top: 0; }
.secao--com-figura > .container + .container { margin-top: var(--vao); }
.cabeca-pagina:has(+ .secao--com-figura) { padding-bottom: 120px; }
.figura-abertura { margin: -88px 0 0; }
.figura-abertura picture, .figura-abertura img { display: block; width: 100%; height: auto; }
.figura-abertura img { border-radius: var(--raio); background: var(--salvia-tinta); box-shadow: var(--sombra-faixa); }
.figura-abertura figcaption { margin-top: 12px; font-size: var(--miudo); color: var(--tinta-suave); }

.busca { position: relative; }
.busca .ico { position: absolute; left: 14px; bottom: 14px; color: var(--tinta-suave); pointer-events: none; }
.busca input { padding-left: 44px; }
/* Índice de documentos: barra fixa com busca e abas, seções em cartões, lateral fixa */
.doc-secoes--atos .container { gap: 12px 24px; }
.busca--barra { flex: 0 0 320px; justify-content: center; }
.busca--barra .ico { bottom: auto; top: 50%; transform: translateY(-50%); left: 12px; }
.busca--barra input { padding: 8px 12px 8px 40px; font-size: var(--miudo); min-height: 40px; }
.doc-secoes--atos .doc-secoes__abas { justify-content: flex-end; }
.doc-secoes--atos a { transition: background-color .2s, color .2s, opacity .2s; }
.doc-secoes--atos a.is-vazia { opacity: .45; }
.atos { display: grid; gap: var(--vao); min-width: 0; align-content: start; }
.docs-secao { gap: 0; scroll-margin-top: calc(var(--doc-barra) + 16px); }
.docs-secao__cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; column-gap: 16px; row-gap: 4px; margin-bottom: 12px; }
.docs-secao__titulo { font-size: var(--titulo-sm); font-weight: 700; letter-spacing: -0.01em; }
.docs-secao__conta { font-size: var(--miudo); font-weight: 600; color: var(--tinta-suave); font-variant-numeric: tabular-nums; }
.docs-secao__desc { flex: 1 0 100%; color: var(--tinta-suave); font-size: var(--miudo); }
.lista-atos { list-style: none; margin: 0; padding: 0; }
.lista-atos li { border-bottom: 1px solid var(--cinza-linha); }
.lista-atos li:last-child { border-bottom: 0; }
.lista-atos a {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 44px; padding: 12px 0; text-decoration: none; color: var(--tinta);
  font-size: var(--corpo); font-weight: 500; transition: color .2s;
}
.ato__titulo { min-width: 0; }
.ato__pref { font-weight: 400; color: var(--tinta-suave); }
.lista-atos .ico { color: var(--salvia); flex: none; transition: transform .25s var(--ease); }
.lista-atos a:hover { color: var(--salvia-escuro); }
.lista-atos a:hover .ato__pref { color: var(--salvia-escuro); }
.lista-atos a:hover .ico { transform: translateX(2px); }
.lista-atos--lateral a { font-size: var(--miudo); padding: 10px 0; min-height: 44px; }
.lista-atos--lateral .ato__titulo { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.docs-vazio { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; padding: 20px 24px; background: var(--cinza); border-radius: var(--raio); color: var(--tinta-suave); }
.docs-vazio[hidden], .docs-secao[hidden] { display: none; }
.docs-vazio strong { color: var(--tinta); overflow-wrap: anywhere; }
.secao--atos .coluna--doc { align-self: stretch; }
.secao--atos .coluna__fixa { display: grid; gap: var(--vao); align-content: start; }
@media (min-width: 901px) {
  .secao--atos .coluna--doc { grid-template-rows: auto; }
  .secao--atos .coluna__fixa { position: sticky; top: calc(var(--doc-barra) + 16px); max-height: calc(100vh - var(--doc-barra) - 32px); overflow: auto; }
}
.doc-acoes { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; padding-bottom: 24px; border-bottom: 1px solid var(--cinza-linha); }
.prosa--doc { font-size: var(--corpo); max-width: 72ch; line-height: 1.65; overflow-wrap: anywhere; }
.prosa--doc > ol, .prosa--doc > ul { padding-left: 0; }
.prosa--doc ol { list-style: decimal; padding-left: 1.6em; margin-bottom: 1em; }
.prosa--doc ol ol { list-style: lower-alpha; margin-top: .5em; }
.prosa--doc ol ol ol { list-style: lower-roman; }
.prosa--doc ol ol ol ol { list-style: decimal; }
.prosa--doc ul { list-style: disc; padding-left: 1.4em; }
.prosa--doc li { margin-bottom: .55em; padding-left: .2em; }
.prosa--doc li::marker { color: var(--salvia); font-weight: 700; font-variant-numeric: tabular-nums; }
.prosa--doc li > p { margin-bottom: .45em; }
.prosa--doc > ol > li { margin-bottom: 1.6em; }
.prosa--doc > ol > li > p:first-child > strong:only-child { font-size: var(--titulo-sm); color: var(--salvia-escuro); letter-spacing: .01em; }
.prosa--doc strong { font-weight: 700; }
.prosa--doc a { font-weight: 600; text-decoration-thickness: 1px; }
.prosa--doc table { width: 100%; border-collapse: collapse; margin: .8em 0 1.4em; font-size: var(--miudo); display: block; overflow-x: auto; }
.prosa--doc th, .prosa--doc td { border: 1px solid var(--cinza-linha); padding: 8px 10px; text-align: left; vertical-align: top; overflow-wrap: normal; }
.prosa--doc td:first-child, .prosa--doc th:first-child { white-space: nowrap; }
.prosa--doc th { background: var(--cinza); font-weight: 700; color: var(--salvia-escuro); }
.doc-fonte {
  margin-top: 32px; padding: 18px 20px; background: var(--cinza); border-radius: var(--raio);
  font-size: var(--miudo); color: var(--tinta-suave); display: flex; gap: 14px; align-items: flex-start;
}
.doc-fonte .ico { color: var(--salvia); flex: none; margin-top: 2px; }
.doc-fonte strong { color: var(--tinta); }
.doc-fonte a { color: var(--salvia-escuro); font-weight: 600; }
.doc-fonte a:hover { color: var(--marrom); }

/* Página do documento: checklist com hierarquia -------------------- */
:root { --cab-h: 92px; --doc-barra: calc(var(--cab-h) + 54px); } /* cabeçalho fixo + barra de seções (52px + bordas); no celular 68px + 90px */
.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; }
.cabeca-pagina--doc { padding-bottom: 32px; border-bottom: 0; }
.titulo-pagina--doc { font-size: clamp(1.5rem, 1rem + 1.6vw, 2rem); line-height: 1.2; max-width: 32ch; text-wrap: balance; }
.doc-secoes { position: sticky; top: var(--cab-h); z-index: 5; background: var(--branco); border-top: 1px solid var(--cinza-linha); border-bottom: 1px solid var(--cinza-linha); }
.doc-secoes .container { display: flex; align-items: center; column-gap: 16px; }
.doc-secoes__abas { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 2px; min-height: 52px; overflow-x: auto; scrollbar-width: none; }
.doc-secoes__abas::-webkit-scrollbar { display: none; }
.doc-secoes a { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: var(--raio); font-size: var(--miudo); font-weight: 600; color: var(--tinta-suave); text-decoration: none; transition: background-color .2s, color .2s; }
.doc-secoes a span { font-size: 0.75rem; font-weight: 700; color: var(--salvia-escuro); background: var(--salvia-claro); padding: 1px 7px; border-radius: 999px; }
.doc-secoes a:hover, .doc-secoes a.is-ativa { background: var(--cinza); color: var(--salvia-escuro); }
.progresso { margin-left: auto; flex: none; display: flex; align-items: center; gap: 12px; }
.progresso[hidden] { display: none; }
.progresso__texto { font-size: var(--miudo); font-weight: 700; color: var(--salvia-escuro); font-variant-numeric: tabular-nums; white-space: nowrap; }
.progresso__barra { display: block; width: 120px; height: 4px; background: var(--cinza-linha); }
.progresso__barra i { display: block; width: 100%; height: 100%; background: var(--salvia); transform-origin: left; transition: transform .25s var(--ease); }
.secao--doc { padding-top: 32px; }
.doc { min-width: 0; }
.doc-secao { scroll-margin-top: calc(var(--doc-barra) + 12px); }
.doc-secao + .doc-secao { margin-top: 48px; padding-top: 36px; border-top: 1px solid var(--cinza-linha); }
.doc-secao__titulo { font-size: var(--titulo); font-weight: 700; letter-spacing: -0.01em; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.doc-secao__n { font-size: var(--miudo); font-weight: 600; color: var(--tinta-suave); letter-spacing: 0; }
.doc-secao__titulo + .doc-secao__barra { margin: -8px 0 6px; }
.doc-secao--oque .prosa--doc { font-size: var(--corpo-lg); }
.doc-secao .prosa--doc { max-width: none; }
.botao--texto { padding: 6px 2px; min-height: 36px; border-color: transparent; background: transparent; color: var(--salvia-escuro); font-size: var(--miudo); font-weight: 600; cursor: pointer; }
.botao--texto:hover { transform: none; color: var(--salvia-escuro); text-decoration: underline; text-underline-offset: 3px; }

/* Texto-fonte: ênfase sem parecer link; links no corpo */
.doc u { text-decoration: none; font-weight: 600; }
.doc u strong { font-weight: 700; }
.doc a { color: var(--salvia-escuro); text-decoration: underline; text-underline-offset: 2px; }
.doc a:hover { color: var(--marrom); }

/* Item do checklist: cabeçalho sempre visível, corpo recolhido */
.checklist { list-style: none; padding: 0; margin: 0; }
.item { padding: 18px 0; border-top: 1px solid var(--cinza-linha); scroll-margin-top: calc(var(--doc-barra) + 8px); }
.item:first-child { border-top: 0; padding-top: 4px; }
.item__cab { --lh: calc(1.0625rem * 1.5); display: grid; grid-template-columns: auto 44px minmax(0, 1fr) auto; column-gap: 12px; align-items: start; }
.item__cab:has(.item__abrir) { cursor: pointer; }
.item__num { width: 22px; font-size: var(--miudo); font-weight: 700; line-height: var(--lh); color: var(--tinta-suave); font-variant-numeric: tabular-nums; }
.item__marca { position: relative; display: grid; place-items: center; width: 44px; height: 44px; margin-top: calc((var(--lh) - 44px) / 2); cursor: pointer; }
.item__marca input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.item__caixa { position: relative; width: 24px; height: 24px; border: 2px solid var(--tinta-suave); border-radius: 6px; background: var(--branco); transition: background-color .2s, border-color .2s, box-shadow .2s; }
.item__caixa::after { content: ""; position: absolute; inset: 0; opacity: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 16px no-repeat; transition: opacity .2s; }
.item__marca:hover .item__caixa { border-color: var(--salvia); }
.item__marca input:focus-visible ~ .item__caixa { border-color: var(--salvia); box-shadow: 0 0 0 3px var(--salvia-claro); }
.item__marca input:checked ~ .item__caixa { background: var(--salvia); border-color: var(--salvia); }
.item__marca input:checked ~ .item__caixa::after { opacity: 1; }
.item__lead { max-width: 68ch; font-size: 1.0625rem; font-weight: 500; line-height: 1.5; color: var(--tinta); transition: color .2s; }
.item__lead p { margin: 0 0 .4em; } .item__lead p:last-child { margin-bottom: 0; }
.item__lead a { font-weight: 600; }
.item.is-feito .item__lead { color: var(--tinta-suave); }
.item__resumo { display: flex; flex-wrap: wrap; align-items: center; margin-top: 6px; font-size: var(--miudo); color: var(--tinta-suave); }
.item__resumo > *:not(:last-child)::after { content: "·"; margin: 0 8px; }
.chip--condicional, .chip--condicional:hover { padding: 1px 8px; border: 1px solid var(--marrom); background: var(--branco); color: var(--marrom-escuro); font-size: 0.8125rem; font-weight: 600; }
.item__abrir { display: inline-flex; align-items: center; gap: 4px; height: 36px; margin-top: calc((var(--lh) - 36px) / 2); padding: 0 8px 0 12px; border: 0; border-radius: var(--raio); background: transparent; font: inherit; font-size: var(--miudo); font-weight: 600; color: var(--salvia-escuro); cursor: pointer; transition: background-color .2s; }
.item__abrir:hover { background: var(--cinza); }
.item__abrir .ico { width: 1.1em; height: 1.1em; transform: rotate(90deg); transition: transform .2s var(--ease); }
.item__abrir[aria-expanded="true"] .ico { transform: rotate(-90deg); }
.item__corpo { display: grid; gap: 14px; min-width: 0; padding-left: 90px; } /* 22 (número) + 44 (caixa) + 2 × 12 (vão): alinha com o lead */
.item__corpo:not([hidden]) { margin-top: 14px; }
.item__corpo > * { max-width: 68ch; }
@supports not (content-visibility: hidden) { .item__corpo[hidden] { display: none; } }

/* Condições */
.item__condicoes { list-style: disc; display: grid; gap: 14px; padding-left: 1.1em; font-size: var(--corpo); line-height: 1.6; }
.item__condicoes li::marker { color: var(--salvia); }
.item__condicoes ul, .item__condicoes ol { padding-left: 1.2em; margin-top: .4em; }
.item__condicoes ul { list-style: disc; }
.item__condicoes ol { list-style: lower-alpha; }
.item__condicoes ul li, .item__condicoes ol li { margin-top: .3em; }
.item__condicoes > li > p { margin-bottom: .4em; }
.item__condicoes li > .onde, .item__condicoes li > .obs, .item__condicoes li > .atencao, .item__condicoes li > .base { margin-top: 10px; }

/* Notas por papel */
.onde { padding: 12px 14px; border-radius: var(--raio); background: var(--cinza); font-size: var(--miudo); line-height: 1.55; color: var(--tinta); }
div.onde { display: flex; gap: 10px; }
.onde > .ico { margin-top: 1px; color: var(--salvia-escuro); }
.onde > div { min-width: 0; overflow-wrap: anywhere; }
.onde strong { color: var(--salvia-escuro); }
.onde a { font-weight: 600; overflow-wrap: anywhere; }
.onde ul, .onde ol { padding-left: 1.2em; margin-top: .3em; }
.onde ul { list-style: disc; }
.onde ol { list-style: decimal; }
.onde p { margin: .4em 0 0; }
.onde--repetida > div { margin-top: 8px; overflow-wrap: anywhere; }
.onde--repetida > summary { gap: 8px; font-weight: 600; color: var(--salvia-escuro); }
.onde--repetida > summary span { font-weight: 500; color: var(--tinta-suave); }
.obs { font-size: var(--miudo); line-height: 1.55; color: var(--tinta-suave); }
.obs ul, .obs ol { padding-left: 1.2em; margin-top: .3em; }
.obs ul { list-style: disc; }
.atencao { display: flex; gap: 10px; padding: 12px 14px; border: 1px solid var(--marrom); border-radius: var(--raio); background: var(--branco); font-size: var(--miudo); line-height: 1.55; color: var(--tinta); }
.atencao > .ico { margin-top: 1px; color: var(--marrom); }
.atencao > div { min-width: 0; overflow-wrap: anywhere; }
.atencao strong { color: var(--marrom-escuro); }
.base { font-size: var(--miudo); }
.base > summary { padding: 4px 0; font-weight: 600; color: var(--tinta-suave); }
.base > summary:hover { color: var(--salvia-escuro); }
.base > summary .ico { width: 1.15em; height: 1.15em; }
.base > div { display: grid; gap: .5em; padding: 6px 0 2px 19px; line-height: 1.55; overflow-wrap: anywhere; }
.base__porque { color: var(--tinta); }
.base__lei { color: var(--tinta-suave); }
.base ul, .base ol { padding-left: 1.2em; }
.base ul { list-style: disc; }
/* Resumos recolhíveis: sem marcador nativo, chevron que gira */
.base > summary, .onde--repetida > summary, .indice-caixa > summary, .cartao--recolhido > summary { display: flex; align-items: center; list-style: none; cursor: pointer; }
.base > summary::-webkit-details-marker, .onde--repetida > summary::-webkit-details-marker, .indice-caixa > summary::-webkit-details-marker, .cartao--recolhido > summary::-webkit-details-marker { display: none; }
.base > summary::before, .onde--repetida > summary::before, .indice-caixa > summary::before, .cartao--recolhido > summary::after { content: ""; flex: none; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); transition: transform .2s; }
.base > summary::before, .onde--repetida > summary::before, .indice-caixa > summary::before { margin: 0 10px 0 2px; }
.base[open] > summary::before, .onde--repetida[open] > summary::before, .indice-caixa[open] > summary::before, .cartao--recolhido[open] > summary::after { transform: rotate(45deg); }

/* Sidebar */
.doc-ferramentas__acoes { display: grid; gap: 8px; margin: 14px 0; }
.doc-ferramentas__nota { font-size: var(--miudo); color: var(--tinta-suave); }
.doc-ferramentas__nota a { font-weight: 600; color: var(--salvia-escuro); }
.indice-caixa { margin-top: 10px; }
.indice-caixa > summary { min-height: 36px; font-size: var(--miudo); font-weight: 600; color: var(--tinta-suave); }
.indice-caixa > summary:hover { color: var(--salvia-escuro); }
.indice { list-style: none; padding: 0; margin: 0 -8px; display: grid; }
.indice a { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; column-gap: 8px; min-height: 36px; padding: 4px 8px; border-radius: var(--raio); font-size: var(--miudo); line-height: 1.35; color: var(--tinta); text-decoration: none; }
.indice a:hover { background: var(--cinza); color: var(--tinta); }
.indice__num { grid-area: 1 / 1; font-weight: 700; color: var(--tinta-suave); font-variant-numeric: tabular-nums; }
.indice .indice__ok { display: none; grid-area: 1 / 1; width: 14px; height: 14px; color: var(--salvia); stroke-width: 2.2; }
.indice li.is-feito .indice__num { display: none; }
.indice li.is-feito .indice__ok { display: block; }
.indice li.is-feito .indice__texto { color: var(--tinta-suave); }
.cartao.cartao--recolhido { padding: 0; }
.cartao--recolhido > summary { justify-content: space-between; gap: 12px; padding: 18px 24px; }
.cartao--recolhido > summary span { margin-left: auto; font-size: var(--miudo); font-weight: 600; color: var(--tinta-suave); }
.cartao--recolhido > nav { padding: 0 16px 16px; }
@media (min-width: 901px) {
  .coluna--doc { align-self: stretch; grid-template-rows: minmax(0, 1fr) auto auto; }
  .coluna__fixa { min-height: 0; }
  .doc-ferramentas { position: sticky; top: calc(var(--doc-barra) + 16px); align-self: start; max-height: calc(100vh - var(--doc-barra) - 32px); overflow: auto; }
}

@media (max-width: 1024px) {
  .grade--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faixa-consulta__cartao { grid-template-columns: 1fr; }
  .rodape__grid { grid-template-columns: 1fr 1fr; }
  .rodape__mapa { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .menu { display: none; }
  .menu-botao { display: inline-flex; }
  .cabecalho.aberta .menu {
    display: grid; gap: 2px;
    position: absolute; left: 0; right: 0; top: 100%;
    background: var(--branco); padding: 12px var(--gutter) 20px;
    box-shadow: 0 1px 0 var(--cinza-linha), 0 20px 30px -16px rgba(0,0,0,.25);
    max-height: calc(100vh - 84px); overflow: auto;
  }
  .cabecalho.aberta .menu > li { position: static; }
  .cabecalho.aberta .menu a, .cabecalho.aberta .menu button.menu__item { width: 100%; justify-content: space-between; }
  .cabecalho.aberta .submenu { position: static; opacity: 1; transform: none; pointer-events: auto; visibility: visible; box-shadow: none; border: 0; display: none; margin: 4px 0 8px; background: var(--cinza); }
  .cabecalho.aberta .submenu::before { display: none; }
  .cabecalho.aberta .menu li.aberto > .submenu { display: block; }
  .menu__cta a { margin: 8px 0 0; justify-content: center; }
  .barra-topo .container { justify-content: center; }
  .barra-topo .barra-topo__dir { display: none; }
  .grade--3, .grade--lateral { grid-template-columns: 1fr; }
  .prosa--doc ol { padding-left: 1.25em; }
  .doc-secoes .container { padding-inline: 8px; }
  .doc-secoes__abas { mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); }
  .doc-secao + .doc-secao { margin-top: 36px; padding-top: 28px; }
  .prosa--doc ul { padding-left: 1.1em; }
  .prosa--doc li { padding-left: 0; }
  .doc-acoes .botao { flex: 1 1 auto; }
  .busca--barra { flex: 1 1 auto; }
  .doc-secoes--atos .doc-secoes__abas { justify-content: flex-start; }
  .autenticacao, .autenticacao--dupla { grid-template-columns: 1fr; }
  .cartao--form { justify-self: stretch; max-width: none; }
  .autenticacao-secao { min-height: 0; }
  .hero__slide { min-height: 460px; padding: 56px 0 104px; }
  .faixa-consulta form, form.consulta-compacta { grid-template-columns: 1fr 1fr; }
  .faixa-consulta form .botao, form.consulta-compacta .botao { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .cabeca-pagina:has(+ .secao--com-figura) { padding-bottom: 72px; }
  .figura-abertura { margin-top: -48px; }
  .marca img { height: 40px; }
  .cabecalho .container { min-height: 68px; }
  .grade--4, .grade--2 { grid-template-columns: 1fr; }
  .faixa-consulta form, form.consulta-compacta { grid-template-columns: 1fr; }
  /* Hero no celular: a foto ocupa o terço de cima, o texto ancora embaixo
     sobre o véu vertical; setas somem, a troca é por deslize e pelas barras. */
  .hero { min-height: 0; padding: 0; }
  .hero__slide { min-height: 440px; padding: 104px 0 96px; align-items: flex-end; }
  .hero__slide::before { background: linear-gradient(180deg, rgba(36,53,50,.1) 0%, rgba(36,53,50,.28) 26%, rgba(36,53,50,.86) 50%, rgba(36,53,50,.96) 100%); }
  .hero__foto { object-position: center 55%; }
  .hero h1, .hero__titulo { font-size: 1.75rem; line-height: 1.15; }
  .hero__sub { font-size: 1rem; margin: 12px 0 22px; }
  .hero__acoes .botao { width: 100%; }
  .hero__credito { top: 12px; right: 12px; bottom: auto; }
  .carrossel__controles { bottom: 52px; }
  .carrossel__seta { display: none; }
  .carrossel__pontos { padding: 0; gap: 10px; }
  .carrossel__pontos button { width: 40px; }
  .faixa-consulta { margin-top: -40px; }
  .cartao { padding: 22px; }
  .campos-2 { grid-template-columns: 1fr; }
  .passo { grid-template-columns: 78px 28px 1fr; }
  .passo__quando { font-size: 0.8125rem; }
  .rodape__grid { grid-template-columns: 1fr; }
  .secao__cab--esq { flex-direction: column; align-items: flex-start; }
  /* Documento no celular: abas em cima, progresso em linha própria; item com número junto do resumo */
  :root { --doc-barra: calc(var(--cab-h) + 90px); }
  .doc-secoes .container { flex-direction: column; align-items: stretch; column-gap: 0; }
  :root { --cab-h: 68px; }
  .secao--atos { --doc-barra: calc(var(--cab-h) + 114px); }
  .doc-secoes--atos .container { padding-block: 8px 0; }
  .progresso { margin: 0; padding: 0 12px; min-height: 36px; }
  .progresso__barra { flex: 1 1 auto; width: auto; }
  .item__cab { --lh: calc(var(--corpo) * 1.45); grid-template-columns: 44px auto minmax(0, 1fr) 44px; column-gap: 0; }
  .item__texto { display: contents; }
  .item__marca { grid-area: 1 / 1; }
  .item__lead { grid-area: 1 / 2 / 2 / 4; padding-left: 2px; font-size: var(--corpo); }
  .item__abrir { grid-area: 1 / 4; justify-content: center; width: 44px; height: 44px; margin-top: calc((var(--lh) - 44px) / 2); padding: 0; }
  .item__abrir-texto { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .item__num { grid-area: 2 / 2; align-self: start; width: auto; margin-top: 6px; padding: 0 8px 0 2px; line-height: 1.5; }
  .item__resumo { grid-area: 2 / 3; align-self: start; }
  .item__corpo { padding-left: 44px; }
}

@media (max-width: 360px) {
  /* Telas estreitas: a logo encolhe e o botão do menu fica só com o ícone. */
  .marca img { height: 34px; }
  .menu-botao { padding: 10px; }
  .menu-botao__texto { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .faixa-consulta__cartao { animation: none; }
  .hero__slide, .hero__foto { transition: none; transform: none; animation: none; }
  .cartao, .botao, .whats, .submenu { transition: none; }
  .item__abrir .ico, .progresso__barra i { transition: none; }
  html { scroll-behavior: auto; }
}

@media print {
  .barra-topo, .cabecalho, .whats, .rodape__mapa, .menu-botao, .hero__foto { display: none !important; }
  .hero { color: var(--tinta); padding: 24px 0; min-height: 0; }
  .hero__slide::before { display: none; }
  .hero__slide { opacity: 1; visibility: visible; }
  .carrossel__controles { display: none; }
  .hero h1, .hero p { color: var(--tinta); }
  .doc-acoes, .docs-ferramentas, .doc-secoes, .coluna > .cartao:not(.doc-ferramentas),
  .doc-ferramentas__acoes, .doc-ferramentas__nota, .doc-secao__barra, .item__abrir, [data-expandir], .progresso__barra { display: none !important; }
  .item { break-inside: avoid; }
  .grade--lateral { display: flex; flex-direction: column; }
  .coluna--doc { order: -1; }
  .doc-ferramentas { position: static; max-height: none; overflow: visible; border: 0; padding: 0; }
  .item__corpo { padding-left: 0; }
  .prosa--doc { max-width: none; font-size: 11pt; }
  .cartao { box-shadow: none; }
}

/* ------------------------------------------------------------------
   Acréscimos do port para Blade (telas que o protótipo não desenhou:
   avisos do servidor, fale conosco, LGPD, dúvidas, privacidade, busca, 404)
   ------------------------------------------------------------------ */

/* Sair é um POST (formulário), então é botão com a cara do link */
.menu__cta button {
  display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
  margin-left: 10px; padding: 10px 16px; border: 0; border-radius: var(--raio);
  background: var(--salvia); color: var(--branco); font-weight: 600;
}
.menu__cta button:hover { background: var(--salvia-escuro); }
.menu__cta form { margin: 0; }
.lista-links form { margin: 0; }
.lista-links button {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%;
  padding: 11px 2px; background: none; border: 0; text-align: left;
  font-weight: 600; color: var(--tinta);
}
.lista-links button:hover { color: var(--marrom); }
@media (max-width: 900px) {
  .menu__cta button { margin: 8px 0 0; justify-content: center; width: 100%; }
}

/* Aviso de sucesso ou erro vindo do servidor */
.aviso {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 14px 18px; margin-bottom: 20px; border-radius: var(--raio);
  border: 1.5px solid var(--salvia); background: var(--salvia-claro); color: var(--salvia-tinta); font-weight: 600;
}
.aviso .ico { margin-top: 2px; }
.aviso--erro { border-color: #B3261E; background: #FCEDEB; color: #8F1D16; }
.aviso p { margin: 0; color: inherit; }

/* Textarea, select e radios acompanham o campo de texto */
.campo textarea, .campo select {
  width: 100%; background: var(--branco);
  border: 1.5px solid var(--cinza-linha); border-radius: var(--raio);
  padding: 12px 14px; font: inherit; font-size: var(--corpo-lg); color: inherit;
  transition: border-color .2s, box-shadow .2s;
}
.campo textarea { min-height: 160px; resize: vertical; }
.campo textarea::placeholder { color: #5E6D6A; }
.campo textarea:focus, .campo select:focus { border-color: var(--salvia); outline: none; box-shadow: 0 0 0 3px var(--salvia-claro); }
.campo textarea[aria-invalid="true"], .campo select[aria-invalid="true"] { border-color: #B3261E; }
.cartao--form-larga { justify-self: stretch; max-width: none; }
.opcoes { display: grid; gap: 10px; border: 0; padding: 0; margin: 0; min-width: 0; }
.opcoes legend { font-weight: 700; font-size: var(--miudo); padding: 0; margin-bottom: 10px; }
.recaptcha { min-height: 78px; }

/* Dúvidas frequentes */
.duvidas { display: grid; gap: 10px; }
.duvida { border: 1px solid var(--cinza-linha); border-radius: var(--raio); background: var(--branco); }
.duvida > summary {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 16px 20px; cursor: pointer; list-style: none;
  font-weight: 700; font-size: var(--corpo-lg); color: var(--salvia-escuro);
}
.duvida > summary::-webkit-details-marker { display: none; }
.duvida > summary::after {
  content: ""; flex: none; width: 8px; height: 8px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(-45deg); transition: transform .25s var(--ease);
}
.duvida[open] > summary::after { transform: rotate(45deg); }
.duvida > summary:hover { background: var(--cinza); }
.duvida .prosa { padding: 4px 20px 20px; }

/* Busca e 404 */
.resultados { display: grid; }
.resultados a {
  display: block; padding: 14px 2px; font-weight: 600; text-decoration: none;
  border-bottom: 1px solid var(--cinza-linha);
}
.resultados a:last-child { border-bottom: 0; }
.resultados a:hover { color: var(--marrom); }
.pagina-vazia { text-align: center; }
.pagina-vazia .ico { margin-inline: auto; color: var(--salvia); }
.pagina-vazia .hero__acoes { justify-content: center; margin-top: 24px; }
.erro-codigo { font-size: clamp(4rem, 3rem + 6vw, 7rem); font-weight: 700; line-height: 1; color: var(--salvia); margin-bottom: 12px; }

/* Consulta de protocolo: aviso da exigência e botão de download */
.nota-lgpd { font-size: var(--miudo); color: var(--tinta-suave); max-width: 60ch; }
.passo__acoes form { margin: 0; }

/* Documento imprimível do Canal LGPD */
.imprimivel { max-width: 800px; margin-inline: auto; }
.imprimivel h1 { font-size: var(--titulo); margin-bottom: 12px; }
.imprimivel > header p { color: var(--tinta-suave); margin-bottom: 24px; }
.imprimivel ul > li { margin-bottom: 20px; }
.imprimivel h2 { font-size: var(--corpo); margin-bottom: 8px; }
.imprimivel h2 strong { color: var(--salvia-escuro); }
.imprimivel ol { list-style: decimal; padding-left: 1.4em; font-weight: 500; }
.imprimivel .caixa { border: 1.5px solid var(--cinza-linha); border-radius: var(--raio); padding: 10px 14px; min-height: 44px; margin: 0; white-space: pre-line; }
.imprimivel .caixa--linhas { min-height: 160px; }
.imprimivel li.escolhida { font-weight: 700; color: var(--salvia-escuro); }
.imprimivel .acoes { display: flex; gap: 12px; margin-top: 28px; }
@media print {
  .imprimivel .acoes, body:has(.imprimivel) .rodape { display: none !important; }
  .imprimivel { max-width: none; }
}

/* Política de privacidade (texto longo com listas numeradas e glossário) */
.prosa--politica { max-width: none; font-size: var(--corpo); line-height: 1.65; }
.prosa--politica h2 { font-size: var(--titulo-sm); }
.prosa--politica h2 .num { color: var(--salvia); margin-right: .3em; }
.prosa--politica ol { padding-left: 1.6em; margin-bottom: 1.1em; list-style: decimal; }
.prosa--politica ol.letter-list { list-style: lower-alpha; }
.prosa--politica ol.roman-list { list-style: upper-roman; }
.prosa--politica li::marker { color: var(--salvia); font-weight: 700; }
.prosa--politica .assoc-list { list-style: none; padding: 0; margin-bottom: 1.6em; }
.prosa--politica .assoc-list > li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 4px 28px; padding: 14px 0; border-bottom: 1px solid var(--cinza-linha); margin: 0; }
.prosa--politica .assoc-list h3 { margin: 0; font-size: var(--corpo); }
.prosa--politica .assoc-list p { margin: 0 0 .6em; }
@media (max-width: 640px) {
  .prosa--politica .assoc-list > li { grid-template-columns: 1fr; }
}
.tabela-lista__linha { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--cinza-linha); }
.tabela-lista__linha:last-child { border-bottom: 0; }

/* URLs longas dentro do checklist quebram em vez de estourar a coluna no celular. */
.item__lead a, .item__corpo a, .prosa--doc a { overflow-wrap: anywhere; }

/* Artigos e Notícias: chip de tipo, filtros por abas e galeria de fotos */
.noticia__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.chip--tipo { padding: 1px 9px; font-size: 0.75rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; cursor: default; }
.chip--tipo:hover { background: var(--branco); border-color: var(--cinza-linha); }
.chip--noticia, .chip--noticia:hover { border-color: var(--salvia); background: var(--salvia-claro); color: var(--salvia-escuro); }
.chip--artigo, .chip--artigo:hover { border-color: var(--cinza-linha); background: var(--cinza); color: var(--tinta); }
.chip--evento, .chip--evento:hover { border-color: var(--marrom); background: var(--branco); color: var(--marrom-escuro); }
.noticia__quando { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; font-size: var(--corpo-lg); }
.noticia__quando .ico { color: var(--salvia); flex: none; }
.doc-secoes--filtro { position: static; }

.galeria { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--cinza-linha); }
.galeria__titulo { font-size: var(--titulo-sm); margin-bottom: 16px; }
.galeria__grade { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.galeria__grade a { display: block; border-radius: var(--raio); overflow: hidden; background: var(--cinza); }
.galeria__grade img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .3s var(--ease); }
.galeria__grade a:hover img { transform: scale(1.04); }
@media (max-width: 640px) { .galeria__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.lightbox { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; padding: 0; border: 0; background: rgba(15, 22, 21, .94); color: var(--branco); overflow: hidden; }
.lightbox::backdrop { background: rgba(15, 22, 21, .94); }
.lightbox[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.lightbox__topo { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; font-size: var(--miudo); font-weight: 700; font-variant-numeric: tabular-nums; }
.lightbox__palco { position: relative; display: grid; place-items: center; min-height: 0; padding: 0 64px; }
.lightbox__img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: var(--raio); animation: lightbox-entra .25s var(--ease); }
.lightbox__legenda { min-height: 3.2em; padding: 12px 16px 20px; text-align: center; font-size: var(--corpo); }
.lightbox__btn { display: grid; place-items: center; width: 48px; height: 48px; border: 0; border-radius: var(--raio); background: rgba(255, 255, 255, .12); color: var(--branco); font: inherit; font-size: 1.5rem; line-height: 1; cursor: pointer; transition: background-color .2s; }
.lightbox__btn:hover { background: rgba(255, 255, 255, .24); }
.lightbox__btn:disabled { opacity: .3; cursor: default; }
.lightbox__btn--ant, .lightbox__btn--prox { position: absolute; top: 50%; translate: 0 -50%; }
.lightbox__btn--ant { left: 8px; }
.lightbox__btn--prox { right: 8px; }
.lightbox :focus-visible { outline-color: var(--ambar); }
@media (max-width: 640px) { .lightbox__palco { padding: 0 8px; } .lightbox__btn--ant, .lightbox__btn--prox { top: auto; bottom: 8px; translate: none; background: rgba(0, 0, 0, .55); } }
@keyframes lightbox-entra { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .lightbox__img { animation: none; }
  .galeria__grade img { transition: none; }
  .galeria__grade a:hover img { transform: none; }
}

/* Links úteis */
.links-uteis__lista { min-width: 0; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.link-cartao { height: 100%; padding: 16px 18px; gap: 4px; border-radius: 8px; }
a.link-cartao:hover { transform: none; box-shadow: var(--sombra-card); }
.link-cartao__titulo { font-weight: 600; color: var(--tinta); overflow-wrap: anywhere; transition: color .2s; }
a.link-cartao:hover .link-cartao__titulo, a.link-cartao:focus-visible .link-cartao__titulo { color: var(--salvia-escuro); }
.link-cartao__descricao { color: var(--tinta-suave); font-size: var(--miudo); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.link-cartao__dominio { margin-top: auto; padding-top: 4px; display: inline-flex; align-items: center; gap: 6px; font-size: var(--miudo); color: var(--tinta-suave); overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .links-uteis__lista { grid-template-columns: minmax(0, 1fr); }
}
