/* Paginas institucionais e formularios (tools/_pagina_institucionais.py), pelo docs/sistema_visual.md.
   Mobile first; a troca para o computador e em 60em, como no base.css. Usa os tokens e as classes do base.css. */

/* --- Estrutura --- */
.inst { display: flex; flex-direction: column; }
.inst-heroi { display: grid; gap: 24px; padding-top: 16px; }
.inst-heroi__texto { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.inst-heroi__texto > .botao, .inst-heroi__texto > .inst-botoes { margin-top: 4px; }
.inst-heroi--simples { gap: 24px; }
@media (min-width: 60em) {
  .inst-heroi { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); align-items: center; gap: 48px; padding-top: 24px; }
  .inst-heroi--simples { grid-template-columns: minmax(0, 1fr); }
  .inst-heroi--simples:has(.inst-atalhos) { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; }
}
.inst-foto { margin: 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.inst-foto .foto { aspect-ratio: 4 / 3; border-radius: var(--raio-grande); }
.inst-foto figcaption { margin: 0; }
.inst-texto { margin: 0 0 12px; line-height: 1.6; }
.inst-subtitulo { margin: 24px 0 8px; }
.inst-duas { display: grid; gap: 24px; align-items: start; }
@media (min-width: 60em) {
  .inst-duas { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; }
  .inst-duas--dados { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
.inst-grade { margin: 0; padding: 0; list-style: none; display: grid; gap: 16px; }
.inst-grade--cartoes { margin-top: 24px; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 24px; }
.inst-grade--duas { grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr)); gap: 24px; }
.secao.inst-grade--duas { display: grid; }
/* Secao que tambem e grade (Equipe em /sobre-nos): o reset de
   .inst-grade tirava a margem automatica e o respiro lateral da .secao, e a secao colava na borda esquerda (2026-10-20). */
.secao.inst-grade { margin: var(--entre-secoes) auto 0; padding-inline: var(--margem); }
.inst-span { grid-column: 1 / -1; }
.inst-cartao { display: flex; flex-direction: column; gap: 10px; padding: 24px; min-width: 0; }
.inst-cartao > p, .inst-cartao > h2, .inst-cartao > h3 { margin: 0; }
.inst-links { margin: auto 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0 20px; }
.inst-links--lista { margin: 0; padding: 0; list-style: none; flex-direction: column; align-items: flex-start; }
.inst-links--lista a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.inst-botoes { display: flex; flex-wrap: wrap; gap: 12px; }
.inst-botoes > .botao { flex: 1 1 200px; }
@media (min-width: 60em) { .inst-botoes > .botao { flex: 0 1 auto; } }
.inst-botoes--coluna { flex-direction: column; }
.inst-botoes--coluna > .botao { flex: none; width: 100%; }
.inst-faixa { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding: clamp(20px, 3vw, 32px); }
.inst-faixa > div:first-child { flex: 999 1 420px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.inst-faixa p, .inst-faixa h2, .inst-faixa h3 { margin: 0; }
.inst-faixa + * { margin-top: 24px; }
.secao__cabeca + .inst-faixa, .inst-grade + .inst-faixa, .inst-duas + .inst-faixa { margin-top: 24px; }
.inst-quebra { overflow-wrap: anywhere; }
.inst-selos { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.inst-selos li { padding: 4px 12px; font-size: 14px; font-weight: 600; color: var(--cor-destaque-escura); background: var(--cor-destaque-suave); border-radius: 999px; }

/* --- Numeros --- */
.inst-numeros { margin: 24px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 16px; }
.inst-numeros--compacto { margin-top: 8px; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 12px; }
.inst-numero { margin: 0; padding: 20px; display: flex; flex-direction: column; gap: 4px; }
.inst-numero dt { font-size: 15px; font-weight: 600; color: var(--cor-texto-suave); }
.inst-numero dd { margin: 0; }
.inst-numero__valor { font-size: clamp(22px, 19.4px + 0.67vw, 28px); font-weight: 700; line-height: 1.2; color: var(--cor-texto); }
dt.inst-numero__valor { order: -1; }
.inst-numeros--compacto .inst-numero { padding: 16px; }
.inst-numeros--compacto .inst-numero__valor { font-size: 20px; }

/* --- Dados em lista (dl) e contas --- */
.inst-dados { margin: 16px 0 0; display: flex; flex-direction: column; border-top: 1px solid var(--cor-borda); }
.inst-dados > div { display: grid; gap: 2px 16px; padding: 10px 0; border-bottom: 1px solid var(--cor-borda); }
.inst-dados dt { font-size: 14px; font-weight: 600; color: var(--cor-texto-suave); }
.inst-dados dd { margin: 0; overflow-wrap: anywhere; }
.inst-dados a { display: inline-flex; align-items: center; min-height: 44px; }
.inst-dados__linha { display: block; }
@media (min-width: 40em) { .inst-dados > div { grid-template-columns: minmax(140px, 2fr) 5fr; align-items: baseline; } }
.inst-dados--curto { margin-top: 8px; }
.inst-conta { margin: 12px 0; display: flex; flex-direction: column; }
.inst-conta > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--cor-borda); }
.inst-conta dt { color: var(--cor-texto-suave); }
.inst-conta dd { margin: 0; font-weight: 600; text-align: right; white-space: nowrap; }
.inst-conta__subtotal dt, .inst-conta__subtotal dd { color: var(--cor-texto); font-weight: 700; }
.inst-conta__total { border-bottom: 0 !important; }
.inst-conta__total dt { color: var(--cor-texto); font-weight: 700; }
.inst-conta__total dd { font-size: 20px; font-weight: 700; }
.inst-conta output { font: inherit; }
.inst-exemplo { padding: clamp(20px, 3vw, 32px); display: flex; flex-direction: column; gap: 8px; }
.inst-exemplo p, .inst-exemplo h3 { margin: 0; }
.inst-exemplo__titulo { margin: 16px 0 0; font-size: 16px; font-weight: 600; line-height: 1.35; }

/* --- Canais oficiais --- */
.inst-canais { margin: 16px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 24px; }
.inst-canal { display: flex; flex-direction: column; gap: 8px; padding: 24px; min-width: 0; }
.inst-canal h2, .inst-canal h3, .inst-canal p { margin: 0; }
.inst-canal__icone { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; color: var(--cor-primaria); background: var(--cor-primaria-suave); border-radius: 12px; }
.inst-canal__valor { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.3; }
.inst-canal .inst-botoes { margin-top: auto; padding-top: 8px; }
.inst-mais-canais { margin-top: 24px; }

/* --- Avisos --- */
.inst-aviso { display: flex; align-items: flex-start; gap: 16px; padding: 24px; }
.inst-aviso > div { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.inst-aviso h2, .inst-aviso h3, .inst-aviso p { margin: 0; }
.inst-aviso__icone { flex: none; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; color: var(--cor-destaque-escura); background: var(--cor-destaque-suave); border-radius: 12px; }
.inst-aviso + .inst-faixa, .inst-grade + .inst-aviso { margin-top: 24px; }

/* --- Listas --- */
.inst-lista { margin: 0 0 12px; padding-left: 1.25em; display: flex; flex-direction: column; gap: 8px; line-height: 1.55; }
.inst-lista-visto { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.inst-lista-visto li { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.inst-lista-visto svg { margin-top: 1px; color: var(--cor-destaque-escura); }
.inst-lista-numerada { margin: 0; padding-left: 1.4em; display: flex; flex-direction: column; gap: 6px; color: var(--cor-texto-suave); }
.inst-fontes li { overflow-wrap: anywhere; }

/* --- Atalhos (links com descricao) --- */
.inst-atalhos { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.inst-atalhos a {
  display: flex; flex-direction: column; gap: 2px; min-height: 56px; padding: 10px 14px; text-decoration: none;
  background: var(--cor-superficie); border: 1px solid var(--cor-borda); border-radius: var(--raio-pequeno);
}
.inst-atalhos a:hover { border-color: var(--cor-primaria); }
.inst-atalhos strong { font-weight: 600; }
.inst-atalhos span { font-size: 14px; color: var(--cor-texto-suave); }
.inst-atalhos--grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }

/* --- Passos --- */
.inst-passos { margin: 24px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 16px; }
.inst-passos--coluna { margin: 0; grid-template-columns: minmax(0, 1fr); }
.inst-passo { display: flex; flex-direction: column; gap: 8px; padding: 20px; min-width: 0; }
.inst-passo h3 { margin: 0; }
.inst-passo__numero {
  width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; font-weight: 700;
  color: var(--cor-primaria-escura); background: var(--cor-primaria-suave); border-radius: 999px; font-variant-numeric: tabular-nums;
}
.inst-passo__texto { color: var(--cor-texto-suave); line-height: 1.55; }
.inst-passo__texto p { margin: 0 0 8px; }
.inst-passo__texto p:last-child { margin-bottom: 0; }
.inst-passos + p { margin: 16px 0 0; }

/* --- Garantias (6.11) --- */
.inst-garantias { display: flex; flex-direction: column; gap: 16px; margin-top: 16px; }
.inst-creditas {
  display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px 24px; padding: clamp(20px, 3vw, 32px);
  background: var(--cor-destaque-suave); border: 1px solid var(--cor-destaque); border-radius: var(--raio-medio);
}
.inst-creditas__texto { flex: 999 1 280px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.inst-creditas__texto p, .inst-creditas__texto h2, .inst-creditas__texto h3, .inst-creditas__texto h4 { margin: 0; }
.inst-creditas .texto-suave { color: var(--cor-texto-suave); }
.inst-creditas--cartao { align-self: center; flex-direction: column; align-items: flex-start; }
.inst-creditas--cartao .inst-creditas__texto { flex: none; }
.inst-garantias__outras { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 12px; }
.inst-garantias__outras li { display: flex; align-items: flex-start; gap: 12px; padding: 16px; background: var(--cor-superficie); border: 1px solid var(--cor-borda); border-radius: var(--raio-pequeno); }
.inst-garantias__outras svg { color: var(--cor-destaque-escura); }
.inst-garantias__outras p { margin: 2px 0 0; }
.inst-garantias__nome { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.35; }

/* --- Perguntas (6.14) --- */
.inst-perguntas { margin-top: 16px; display: flex; flex-direction: column; border-top: 1px solid var(--cor-borda); }
.inst-perguntas details { border-bottom: 1px solid var(--cor-borda); }
.inst-perguntas summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 14px 4px;
  font-size: 17px; font-weight: 600; line-height: 1.35;
}
.inst-perguntas__seta, .formulario__seta { flex: none; display: inline-flex; color: var(--cor-primaria); transition: transform 0.15s ease; }
.inst-perguntas__resposta { padding: 0 4px 18px; max-width: 68ch; line-height: 1.55; color: var(--cor-texto-suave); }
.inst-perguntas__resposta p { margin: 0 0 8px; }
.inst-perguntas__resposta p:last-child { margin: 0; }

/* --- Formulario ao lado de um painel --- */
.inst-formulario-e-lado { display: grid; gap: 24px; align-items: start; }
@media (min-width: 60em) { .inst-formulario-e-lado { grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 32px; } }
.inst-formulario { padding: clamp(20px, 3vw, 32px); display: flex; flex-direction: column; gap: 12px; min-width: 0; scroll-margin-top: 16px; }
.inst-formulario > h2, .inst-formulario > h3, .inst-formulario > p { margin: 0; }
.inst-lado { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.inst-atalhos + * { margin-top: 0; }
.inst-sede { display: grid; gap: 24px; margin-top: 16px; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
.inst-sede h3 { margin: 0 0 8px; }
.inst-endereco { font-style: normal; line-height: 1.6; }

/* --- Documento (politica de privacidade) --- */
.inst-documento { display: grid; gap: 24px; margin-top: var(--entre-secoes); align-items: start; }
@media (min-width: 60em) { .inst-documento { grid-template-columns: 260px minmax(0, 1fr); gap: 48px; } .inst-indice { position: sticky; top: 16px; } }
.inst-indice { padding: 20px; }
.inst-indice h2 { margin: 0 0 8px; }
.inst-indice ol { margin: 0; padding-left: 1.2em; display: flex; flex-direction: column; }
.inst-indice a { display: inline-flex; align-items: center; min-height: 40px; }
.inst-documento > * { min-width: 0; }
.inst-documento__texto { display: flex; flex-direction: column; gap: 40px; line-height: 1.6; }
.inst-documento__texto section { scroll-margin-top: 16px; }
.inst-documento__texto h2 { margin: 0 0 12px; }
.inst-documento__texto p { margin: 0 0 12px; }

/* --- Tabelas --- */
.inst-tabela { margin: 16px 0; overflow-x: auto; }
.inst-tabela table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 15px; line-height: 1.45; background: var(--cor-superficie); }
.inst-tabela caption { padding: 12px 16px; text-align: left; font-weight: 600; caption-side: top; }
.inst-tabela th, .inst-tabela td { padding: 12px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--cor-borda); }
.inst-tabela thead th { font-size: 14px; color: var(--cor-texto-suave); background: var(--cor-fundo); }
.inst-tabela tbody th { font-weight: 600; }
.inst-tabela__destaque { background: var(--cor-destaque-suave); }
.inst-tabela__destaque .etiqueta { display: inline-block; margin-top: 4px; }
.inst-documento__texto .inst-tabela { border: 1px solid var(--cor-borda); border-radius: var(--raio-pequeno); }

/* --- Conferencia de contato (golpes) --- */
.inst-conferir { padding: clamp(20px, 3vw, 32px); display: flex; flex-direction: column; gap: 12px; }
.inst-conferir h2, .inst-conferir p { margin: 0; }
.inst-conferir__linha { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.inst-conferir__linha .campo { flex: 999 1 320px; }
.inst-conferir__linha .botao { flex: 1 1 180px; }
.inst-resultado { display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: var(--raio-pequeno); border: 1.5px solid; }
.inst-resultado p { margin: 0; }
.inst-resultado--ok { border-color: var(--cor-sucesso); background: var(--cor-sucesso-fundo); }
.inst-resultado--alerta { border-color: var(--cor-erro); background: var(--cor-erro-fundo); }

/* --- Exemplo da ficha (sem fiador) e respostas --- */
.inst-exemplo-ficha { gap: 10px; }
.inst-exemplo-ficha__link { display: flex; flex-direction: column; gap: 10px; color: var(--cor-texto); text-decoration: none; }
.inst-exemplo-ficha__link .foto { border-radius: var(--raio-pequeno); }
.inst-exemplo-ficha__preco { margin: 0; }
.inst-exemplo-ficha__preco strong { font-size: 20px; }
.inst-exemplo-ficha__botao { width: 100%; pointer-events: none; }
.inst-resposta .etiqueta { align-self: flex-start; }
.inst-resposta--ok .etiqueta { color: var(--cor-sucesso); background: var(--cor-sucesso-fundo); }
.inst-calculadora { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--cor-borda); display: flex; flex-direction: column; gap: 10px; }
.inst-calculadora h3, .inst-calculadora p { margin: 0; }
.inst-calculadora__campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)); gap: 12px; }

/* --- Formularios (convencao unica: data-formulario, campo-isca, regiao de erro; as regras comuns, no base.css) --- */
.formulario { display: flex; flex-direction: column; gap: 16px; }
.formulario__bloco { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.formulario__bloco > legend { padding: 0; margin-bottom: 8px; }
.formulario__bloco + .formulario__bloco { padding-top: 16px; border-top: 1px solid var(--cor-borda); }
.formulario__grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 16px; }
.formulario__grade--curta { grid-template-columns: repeat(auto-fit, minmax(min(120px, 100%), 1fr)); }
.formulario__mais { border: 1px solid var(--cor-borda); border-radius: var(--raio-pequeno); background: var(--cor-fundo); }
.formulario__mais > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 12px 16px; font-weight: 600; }
.formulario__mais[open] > summary { border-bottom: 1px solid var(--cor-borda); }
.formulario__mais > :not(summary) { margin: 16px; }
.formulario__acoes { display: flex; flex-direction: column; gap: 8px; }
.formulario__acoes .botao { align-self: stretch; }
@media (min-width: 40em) { .formulario__acoes .botao { align-self: flex-start; } }
.formulario__aviso, .formulario__depois { margin: 0; }
.campo__opcional { font-weight: 400; color: var(--cor-texto-suave); }
.campo--grupo { margin: 0; padding: 0; border: 0; }
.campo--grupo > legend { padding: 0; margin-bottom: 6px; }
.campo__controle--texto { min-height: 120px; resize: vertical; }
.campo__controle--curto { max-width: 260px; }
.campo__com-unidade { display: flex; align-items: center; gap: 8px; }
.campo__unidade { flex: none; color: var(--cor-texto-suave); }
.campo__arquivo { padding: 10px 12px; }
.opcoes-cartao { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 12px; }
.opcao-cartao { position: relative; display: flex; }
.opcao-cartao input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.opcao-cartao__texto {
  flex: 1 1 auto; display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; min-height: 44px;
  background: var(--cor-superficie); border: 1.5px solid var(--cor-borda-campo); border-radius: var(--raio-pequeno);
}
.opcao-cartao__texto strong { font-weight: 600; }
.opcao-cartao__texto span { font-size: 14px; line-height: 1.45; color: var(--cor-texto-suave); }
.opcao-cartao input:checked + .opcao-cartao__texto { background: var(--cor-primaria-suave); border-color: var(--cor-primaria); box-shadow: 0 0 0 1px var(--cor-primaria); }
.opcao-cartao input:checked + .opcao-cartao__texto strong { color: var(--cor-primaria-escura); }
.opcao-cartao input:focus-visible + .opcao-cartao__texto { outline: 3px solid var(--cor-foco); outline-offset: 3px; }
.campo--grupo .chips { margin-top: 2px; }

/* --- Administracao de locacao (/administracao; reforma de 2026-10-20: menos texto, abas, simulador e fotos) --- */
.adm-selos { margin: 4px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.adm-selos li {
  display: flex; align-items: center; gap: 8px; padding: 8px 14px 8px 10px; font-size: 15px; line-height: 1.3;
  background: var(--cor-superficie); border: 1px solid var(--cor-borda); border-radius: 999px;
}
.adm-selos svg { flex: none; color: var(--cor-primaria); }

.adm-abas {
  margin: 20px 0 16px; padding: 6px; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none;
  background: var(--cor-superficie); border: 1px solid var(--cor-borda); border-radius: 999px; box-shadow: var(--sombra);
}
.adm-abas::-webkit-scrollbar { display: none; }
/* No celular, as quatro abas em grade 2 x 2 (nenhuma escondida fora da tela). */
@media (max-width: 47.99em) {
  .adm-abas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: var(--raio-medio); }
  .adm-aba { padding: 8px 10px; border-radius: var(--raio-pequeno); }
}
@media (min-width: 60em) { .adm-abas { align-self: flex-start; width: max-content; max-width: 100%; } }
.adm-aba {
  flex: 1 0 auto; min-height: 44px; padding: 8px 18px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font: inherit; font-size: 15px; font-weight: 600; color: var(--cor-texto-suave); white-space: nowrap; cursor: pointer;
  background: transparent; border: 0; border-radius: 999px; transition: background-color 0.2s, color 0.2s;
}
.adm-aba:hover { color: var(--cor-primaria); background: var(--cor-primaria-suave); }
.adm-aba[aria-selected="true"] { color: var(--cor-sobre-primaria); background: var(--cor-primaria); }
.adm-aba:focus-visible { outline: 3px solid var(--cor-foco); outline-offset: 2px; }

.adm-fase {
  margin-top: 16px; display: grid; overflow: hidden; background: var(--cor-superficie); border: 1px solid var(--cor-borda);
  border-radius: var(--raio-grande); box-shadow: var(--sombra);
}
.adm-servicos[data-abas-ativas] .adm-fase { margin-top: 0; animation: adm-entrar 0.3s ease-out; }
@keyframes adm-entrar { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (min-width: 48em) { .adm-fase { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } .adm-fase--sem-foto { grid-template-columns: minmax(0, 1fr); } }
.adm-fase__foto { margin: 0; position: relative; min-height: 240px; }
.adm-fase__foto .foto { position: absolute; inset: 0; height: 100%; }
.adm-fase__foto figcaption {
  position: absolute; left: 12px; top: 12px; max-width: calc(100% - 24px); margin: 0; padding: 4px 10px; font-size: 13px;
  color: var(--cor-texto); background: rgba(255, 255, 255, 0.92); border-radius: 999px;
}
.adm-fase__foto figcaption a { color: inherit; }
.adm-fase__corpo { padding: clamp(20px, 3vw, 36px); display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.adm-fase__titulo { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.3; }
.adm-lista { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 18px; }
.adm-item { display: flex; align-items: flex-start; gap: 14px; }
.adm-item__icone {
  flex: none; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; color: var(--cor-primaria);
  background: var(--cor-primaria-suave); border-radius: 12px; transition: transform 0.2s, background-color 0.2s, color 0.2s;
}
.adm-item:hover .adm-item__icone { transform: scale(1.06); color: var(--cor-sobre-primaria); background: var(--cor-primaria); }
.adm-item__nome { margin: 2px 0; font-size: 17px; font-weight: 700; line-height: 1.3; }
.adm-item__texto { margin: 0; line-height: 1.5; color: var(--cor-texto-suave); }

.adm-simulador { margin-top: 16px; display: grid; overflow: hidden; border-radius: var(--raio-grande); }
@media (min-width: 52em) { .adm-simulador { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.adm-simulador__campos { padding: clamp(20px, 3vw, 32px); display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.adm-simulador__entrada { position: relative; display: flex; align-items: center; }
.adm-simulador__entrada > span { position: absolute; left: 16px; font-size: 20px; font-weight: 700; color: var(--cor-texto-suave); pointer-events: none; }
.adm-simulador__entrada .campo__controle { width: 100%; padding-left: 52px; font-size: 22px; font-weight: 700; min-height: 56px; }
.adm-simulador__faixa { width: 100%; margin: 6px 0 0; accent-color: var(--cor-primaria); cursor: pointer; }
.adm-simulador__imoveis { margin: 0; padding: 0; border: 0; min-width: 0; }
.adm-simulador__imoveis legend { margin-bottom: 8px; padding: 0; }
.adm-opcoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.adm-opcao { position: relative; display: flex; cursor: pointer; }
.adm-opcao input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.adm-opcao__caixa {
  flex: 1; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.3;
  color: var(--cor-texto-suave); border: 2px solid var(--cor-borda); border-radius: var(--raio-pequeno); transition: border-color 0.2s, background-color 0.2s;
}
.adm-opcao__caixa strong { font-size: 22px; line-height: 1.2; color: var(--cor-texto); }
.adm-opcao:hover .adm-opcao__caixa { border-color: var(--cor-primaria); }
.adm-opcao input:checked + .adm-opcao__caixa { color: var(--cor-primaria-escura); background: var(--cor-primaria-suave); border-color: var(--cor-primaria); }
.adm-opcao input:checked + .adm-opcao__caixa strong { color: var(--cor-primaria); }
.adm-opcao input:focus-visible + .adm-opcao__caixa { outline: 3px solid var(--cor-foco); outline-offset: 2px; }
.adm-simulador__resultado {
  padding: clamp(20px, 3vw, 32px); display: flex; flex-direction: column; gap: 12px; min-width: 0;
  color: var(--cor-rodape-texto); background: var(--cor-rodape);
}
.adm-simulador__resultado .pequeno { margin: 0; color: var(--cor-rodape-texto-suave); }
.adm-simulador__rotulo { margin: 0; font-size: 15px; font-weight: 600; color: var(--cor-rodape-titulo); }
.adm-simulador__valor { margin: 0; font-size: clamp(36px, 28px + 2.4vw, 52px); font-weight: 700; line-height: 1.1; color: #FFFFFF; }
.adm-simulador__barra { height: 12px; overflow: hidden; background: var(--cor-destaque); border-radius: 999px; }
.adm-simulador__barra span { display: block; width: 94%; height: 100%; background: #FFFFFF; border-radius: 999px; transition: width 0.25s ease-out; }
.adm-simulador__detalhe { margin: 0; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.adm-simulador__detalhe div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 6px; border-bottom: 1px solid var(--cor-rodape-separador); }
.adm-simulador__detalhe dt { color: var(--cor-rodape-texto-suave); }
.adm-simulador__detalhe dd { margin: 0; font-weight: 700; }
.adm-simulador__resultado .botao { align-self: flex-start; margin-top: 4px; }
.adm-tabela { margin-top: 16px; }

.adm-passos { margin: 24px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 24px; }
.adm-passo { position: relative; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
@media (min-width: 60em) {
  .adm-passo:not(:last-child)::after {
    content: ""; position: absolute; top: 32px; left: 76px; right: -12px; height: 2px;
    background: repeating-linear-gradient(90deg, var(--cor-borda) 0 8px, transparent 8px 14px);
  }
}
.adm-passo__icone {
  position: relative; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center;
  color: var(--cor-primaria); background: var(--cor-superficie); border: 2px solid var(--cor-primaria-suave); border-radius: 999px; box-shadow: var(--sombra);
}
.adm-passo__numero {
  position: absolute; top: -4px; right: -6px; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700; color: var(--cor-sobre-primaria); background: var(--cor-primaria); border-radius: 999px;
}
.adm-passo__titulo { margin: 8px 0 0; font-size: 18px; font-weight: 700; line-height: 1.3; }
/* No celular, cada passo em linha: o icone a esquerda e o texto ao lado. */
@media (max-width: 59.99em) {
  .adm-passos { gap: 20px; }
  .adm-passo { display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 16px; row-gap: 2px; align-items: start; }
  .adm-passo__icone { grid-row: span 2; }
  .adm-passo__titulo { margin: 6px 0 0; }
}
.adm-passo__texto { margin: 0; line-height: 1.5; color: var(--cor-texto-suave); }

.adm-garantias { margin: 16px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)); gap: 12px; }
.adm-garantia {
  padding: 18px 16px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; color: var(--cor-primaria);
  background: var(--cor-superficie); border: 1px solid var(--cor-borda); border-radius: var(--raio-medio); transition: transform 0.2s, box-shadow 0.2s;
}
.adm-garantia:hover { transform: translateY(-2px); box-shadow: var(--sombra-alta); }
.adm-garantia--creditas { grid-column: span 2; border-top: 4px solid var(--cor-destaque); }
@media (max-width: 30em) { .adm-garantia--creditas { grid-column: 1 / -1; } }
.adm-garantia__nome { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--cor-texto); }
.adm-garantia .pequeno { margin: 0; color: var(--cor-texto-suave); }
.adm-garantias__link { margin-top: 12px; }

.adm-final {
  padding: clamp(24px, 4vw, 44px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px;
  color: var(--cor-rodape-texto); background: var(--cor-rodape); border-radius: var(--raio-grande);
}
.adm-final__texto { flex: 1 1 420px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.adm-final__texto p { margin: 0; line-height: 1.55; }
.adm-final .titulo-secao { color: #FFFFFF; }
.adm-final a:not(.botao) { color: var(--cor-rodape-link); }
.adm-final .pequeno { color: var(--cor-rodape-texto-suave); }
.adm-final__botao { flex: none; }

@media (prefers-reduced-motion: reduce) {
  .adm-aba, .adm-item__icone, .adm-opcao__caixa, .adm-garantia, .adm-simulador__barra span { transition: none; }
  .adm-servicos[data-abas-ativas] .adm-fase { animation: none; }
  .adm-garantia:hover, .adm-item:hover .adm-item__icone { transform: none; }
}
