/* Romão Advogados — reprodução fiel da Home v2 aprovada */

@font-face { font-family: 'Cormorant Garamond'; font-weight: 500; font-style: normal; font-display: swap; src: url('fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-weight: 600; font-style: normal; font-display: swap; src: url('fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-weight: 400; font-style: normal; font-display: swap; src: url('fonts/source-sans-3-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-weight: 600; font-style: normal; font-display: swap; src: url('fonts/source-sans-3-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-weight: 700; font-style: normal; font-display: swap; src: url('fonts/source-sans-3-latin-700-normal.woff2') format('woff2'); }

:root {
  --marinho: #0B1340;
  --marinho-2: #1A2358;
  --marinho-borda: #2A3266;
  --rodape: #070C2B;
  --dourado: #C8AA5A;
  --dourado-escuro: #8A7433;
  --dourado-claro: #C9BE9A;
  --creme: #F6F2EA;
  --creme-2: #EDE6D8;
  --areia: #E4DDCD;
  --grafite: #1E2230;
  --suave: #454A5A;
  --claro: #D8D4CA;
  --serif: 'Source Sans 3', 'Segoe UI', system-ui, sans-serif;
  --marca: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Source Sans 3', 'Segoe UI', system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--creme); color: var(--grafite); font-family: var(--sans); font-size: 17px; line-height: 1.6; }
img { max-width: 100%; display: block; }
a { color: var(--marinho); }
a:hover { color: var(--dourado-escuro); }
:focus-visible { outline: 3px solid var(--dourado); outline-offset: 3px; }
h1, h2, h3 { font-family: var(--serif); font-weight: 600; color: var(--marinho); margin: 0; }
p { margin: 0; }

.pular { position: absolute; left: -9999px; background: var(--dourado); color: var(--marinho); padding: 12px 18px; z-index: 100; font-weight: 700; }
.pular:focus { left: 12px; top: 12px; }

.caixa { max-width: 1440px; margin: 0 auto; padding: 0 80px; }
@media (max-width: 1100px) { .caixa { padding: 0 40px; } }
@media (max-width: 700px) { .caixa { padding: 0 20px; } }

.chamada-sup { display: block; font-size: 14px; letter-spacing: 2.4px; text-transform: uppercase; font-weight: 600; color: var(--dourado); }
.chamada-sup.escura { color: var(--dourado-escuro); font-weight: 700; }
@media (max-width: 700px) { .chamada-sup { font-size: 12px; letter-spacing: 1.8px; } }

/* ---------- Botões ---------- */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 56px; padding: 0 28px; border-radius: 6px; font-family: var(--sans); font-weight: 700; font-size: 17px; text-decoration: none; border: 1.5px solid transparent; cursor: pointer; }
.botao svg { width: 20px; height: 20px; }
.botao-dourado { background: var(--dourado); color: var(--marinho); }
.botao-dourado:hover { background: #D5BA70; color: var(--marinho); }
.botao-contorno { border-color: var(--dourado-claro); color: var(--creme); font-weight: 600; }
.botao-contorno:hover { border-color: var(--dourado); color: var(--dourado); }
.botao-marinho { background: var(--marinho); color: var(--creme); }
.botao-marinho:hover { background: var(--marinho-2); color: var(--creme); }
.acoes { display: flex; gap: 16px; flex-wrap: wrap; }
@media (max-width: 700px) { .acoes .botao { width: 100%; height: 54px; } }

/* ---------- Cabeçalho ---------- */
.topo { background: var(--marinho); position: sticky; top: 0; z-index: 50; }
.topo .caixa { height: 88px; display: flex; align-items: center; justify-content: space-between; }
.marca { display: flex; flex-direction: column; gap: 2px; text-decoration: none; }
.marca-nome { font-family: var(--marca); font-size: 28px; font-weight: 600; letter-spacing: 3px; color: var(--dourado); line-height: 1.1; }
.marca-sub { font-size: 10px; letter-spacing: 2.4px; color: var(--dourado-claro); text-transform: uppercase; }
.menu { display: flex; align-items: center; gap: 36px; }
.menu > a, .submenu > button { color: var(--creme); text-decoration: none; font-size: 16px; font-family: var(--sans); background: none; border: 0; padding: 0; cursor: pointer; display: flex; align-items: center; gap: 6px; }
.menu > a:hover, .submenu > button:hover, .menu a[aria-current="page"] { color: var(--dourado); }
.menu .botao-menu { height: 44px; padding: 0 20px; border: 1.5px solid var(--dourado); color: var(--dourado); border-radius: 6px; font-weight: 700; font-size: 15px; }
.menu .botao-menu:hover { background: var(--dourado); color: var(--marinho); }
.submenu { position: relative; }
.submenu svg { width: 14px; height: 14px; }
.submenu-lista { display: none; position: absolute; top: calc(100% + 18px); left: -20px; min-width: 250px; background: var(--marinho); border: 1px solid var(--marinho-borda); border-radius: 6px; padding: 8px 0; box-shadow: 0 12px 30px rgba(7,12,43,.35); }
.submenu-lista a { display: block; padding: 10px 20px; color: var(--creme); text-decoration: none; font-size: 15px; }
.submenu-lista a:hover { color: var(--dourado); background: var(--marinho-2); }
.submenu.aberto .submenu-lista { display: block; }
@media (hover: hover) { .submenu:hover .submenu-lista, .submenu:focus-within .submenu-lista { display: block; } .submenu::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 20px; } }
.menu-abrir { display: none; width: 44px; height: 44px; border: 0; background: transparent; align-items: center; justify-content: center; cursor: pointer; }
.menu-abrir svg { width: 24px; height: 24px; }

@media (max-width: 1000px) {
  .topo .caixa { height: 64px; }
  .marca-nome { font-size: 21px; letter-spacing: 2px; }
  .marca-sub { font-size: 8px; letter-spacing: 1.6px; }
  .menu-abrir { display: flex; }
  .menu { display: none; position: absolute; left: 0; right: 0; top: 64px; flex-direction: column; align-items: stretch; gap: 0; background: var(--marinho); padding: 8px 20px 24px; border-top: 1px solid var(--marinho-borda); }
  .menu.aberto { display: flex; }
  .menu > a, .submenu > button { padding: 14px 0; border-bottom: 1px solid var(--marinho-borda); width: 100%; font-size: 17px; }
  .submenu-lista { display: block; position: static; border: 0; box-shadow: none; padding: 0 0 8px 14px; min-width: 0; background: transparent; }
  .submenu > button svg { display: none; }
  .menu .botao-menu { margin-top: 18px; justify-content: center; height: 52px; }
}

/* ---------- Abertura (Home) ---------- */
.abertura { background: var(--marinho); }
.abertura .caixa { min-height: 640px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; align-items: center; padding-top: 60px; padding-bottom: 60px; }
.abertura-texto { display: flex; flex-direction: column; gap: 28px; }
.abertura h1 { font-size: 60px; line-height: 1.06; color: var(--creme); }
.abertura p { font-size: 20px; line-height: 1.55; color: var(--claro); max-width: 580px; }
.foto { border-radius: 4px; overflow: hidden; background: var(--marinho-2); border: 1px solid var(--marinho-borda); display: flex; align-items: center; justify-content: center; }
.foto img { width: 100%; height: 100%; object-fit: cover; }
.foto .monograma { font-family: var(--marca); color: var(--dourado); font-size: 120px; letter-spacing: 6px; opacity: .85; }
.abertura .foto { height: 520px; }
@media (max-width: 1000px) {
  .abertura .caixa { grid-template-columns: 1fr; min-height: 0; gap: 20px; padding-top: 36px; padding-bottom: 40px; }
  .abertura-texto { gap: 20px; }
  .abertura h1 { font-size: 36px; line-height: 1.1; }
  .abertura p { font-size: 17px; }
  .abertura .foto { height: 300px; }
  .foto .monograma { font-size: 80px; }
}

/* Faixa de credenciais */
.credenciais { background: var(--creme-2); }
.credenciais .caixa { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding-top: 28px; padding-bottom: 28px; font-size: 16px; }
.credenciais strong { color: var(--marinho); }
@media (max-width: 700px) { .credenciais .caixa { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-top: 20px; padding-bottom: 20px; font-size: 14px; line-height: 1.4; } }

/* Seções */
.secao { padding: 112px 0; }
.secao-branca { background: #FFFFFF; }
.secao-cabeca { display: flex; flex-direction: column; gap: 12px; max-width: 760px; margin-bottom: 48px; }
.secao-cabeca h2 { font-size: 48px; line-height: 1.1; }
.secao-cabeca p { color: var(--suave); font-size: 18px; line-height: 1.6; }
@media (max-width: 700px) { .secao { padding: 56px 0; } .secao-cabeca { margin-bottom: 24px; } .secao-cabeca h2 { font-size: 32px; } }

/* Cartões de área / situação */
.cartoes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cartao { display: flex; flex-direction: column; gap: 14px; padding: 40px; background: #FFFFFF; border: 1px solid var(--areia); border-radius: 6px; text-decoration: none; color: var(--grafite); }
.cartao h3 { font-size: 34px; line-height: 1.1; }
.cartao p { font-size: 17px; line-height: 1.6; color: var(--suave); }
.cartao .mais { margin-top: 6px; font-weight: 700; font-size: 16px; color: var(--marinho); }
a.cartao:hover { border-color: var(--dourado); }
a.cartao:hover .mais { color: var(--dourado-escuro); }
.secao-branca .cartao { background: var(--creme); }
@media (max-width: 800px) { .cartoes { grid-template-columns: 1fr; gap: 16px; } .cartao { padding: 22px; gap: 8px; } .cartao h3 { font-size: 26px; } .cartao p { font-size: 15px; } }

/* O escritório */
.sobre .caixa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; align-items: center; }
.sobre .foto { height: 460px; background: var(--areia); border-color: var(--areia); }
.sobre .foto .monograma { color: var(--marinho); opacity: .5; }
.sobre-texto { display: flex; flex-direction: column; gap: 20px; }
.sobre-texto h2 { font-size: 44px; line-height: 1.1; }
.sobre-texto p { font-size: 18px; line-height: 1.7; color: var(--suave); }
@media (max-width: 900px) { .sobre .caixa { grid-template-columns: 1fr; gap: 18px; } .sobre .foto { height: 260px; } .sobre-texto { gap: 18px; } .sobre-texto h2 { font-size: 32px; } .sobre-texto p { font-size: 16px; } }

/* Como funciona */
.passos-titulo { font-size: 44px; margin-bottom: 48px; }
.passos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
.passo { display: flex; flex-direction: column; gap: 12px; padding-top: 24px; border-top: 2px solid var(--dourado); }
.passo strong { font-size: 20px; color: var(--marinho); }
.passo span { font-size: 17px; line-height: 1.6; color: var(--suave); }
@media (max-width: 800px) { .passos-titulo { font-size: 32px; margin-bottom: 24px; } .passos { grid-template-columns: 1fr; gap: 24px; } .passo { padding-top: 16px; gap: 8px; } .passo strong { font-size: 18px; } .passo span { font-size: 16px; } }

/* Contato */
.contato { background: var(--marinho); padding: 96px 0; }
.contato .caixa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; }
.contato-info { display: flex; flex-direction: column; gap: 24px; color: var(--creme); }
.contato-info h2 { font-size: 44px; line-height: 1.1; color: var(--creme); }
.contato-info > p { color: var(--claro); font-size: 18px; }
.contato-dados { display: flex; flex-direction: column; gap: 14px; font-size: 18px; }
.contato-dados strong { color: var(--dourado); margin-right: 8px; }
.contato-dados a { color: var(--creme); }
.contato-dados a:hover { color: var(--dourado); }
.formulario { display: flex; flex-direction: column; gap: 18px; padding: 40px; background: var(--creme); border-radius: 6px; }
.formulario-titulo { font-weight: 700; font-size: 20px; color: var(--marinho); }
.formulario label { display: flex; flex-direction: column; gap: 6px; font-size: 15px; font-weight: 600; color: var(--grafite); }
.formulario input, .formulario select { height: 48px; padding: 0 14px; border: 1px solid #C9C1AE; border-radius: 4px; font-size: 16px; font-family: var(--sans); background: #FFFFFF; color: var(--grafite); }
.formulario button { height: 52px; border: 0; border-radius: 6px; background: var(--marinho); color: var(--creme); font-weight: 700; font-size: 17px; font-family: var(--sans); cursor: pointer; }
.formulario button:hover { background: var(--marinho-2); }
.formulario .nota { font-size: 13px; color: var(--suave); }
.formulario .erro { font-size: 14px; color: #9B2C2C; display: none; }
@media (max-width: 900px) { .contato { padding: 56px 0; } .contato .caixa { grid-template-columns: 1fr; gap: 24px; } .contato-info h2 { font-size: 32px; } .contato-dados { font-size: 16px; gap: 10px; } .formulario { padding: 24px; gap: 16px; } }

/* Rodapé */
.rodape { background: var(--rodape); color: #9AA0C4; padding: 56px 0; font-size: 15px; line-height: 1.7; }
.rodape .caixa { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
.rodape .col { display: flex; flex-direction: column; gap: 6px; }
.rodape .titulo { color: var(--dourado-claro); font-weight: 700; }
.rodape .marca-nome { font-size: 24px; letter-spacing: 2px; }
.rodape a { color: #9AA0C4; text-decoration: none; }
.rodape a:hover { color: var(--dourado); }
@media (max-width: 800px) { .rodape { padding: 36px 0; font-size: 14px; } .rodape .caixa { grid-template-columns: 1fr; gap: 24px; } }

/* Botão flutuante (celular) */
.whats-fixo { position: fixed; right: 16px; bottom: 24px; z-index: 60; width: 56px; height: 56px; border-radius: 28px; background: var(--dourado); display: none; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(7,12,43,.35); }
.whats-fixo svg { width: 26px; height: 26px; }
@media (max-width: 1000px) { .whats-fixo { display: flex; } }

/* ---------- Páginas de área ---------- */
.area-topo { background: var(--marinho); padding: 72px 0 80px; }
.area-topo .caixa { display: flex; flex-direction: column; gap: 22px; }
.migalhas { font-size: 14px; color: var(--dourado-claro); }
.migalhas a { color: var(--dourado-claro); }
.area-topo h1 { font-size: 56px; line-height: 1.06; color: var(--creme); max-width: 900px; }
.area-topo p.apoio { font-size: 20px; line-height: 1.55; color: var(--claro); max-width: 720px; }
.area-topo .credito { font-size: 14px; color: var(--dourado-claro); }
@media (max-width: 700px) { .area-topo { padding: 32px 0 40px; } .area-topo .caixa { gap: 16px; } .area-topo h1 { font-size: 36px; line-height: 1.1; } .area-topo p.apoio { font-size: 17px; } }

.cartao-situacao { padding: 32px; gap: 10px; }
.cartao-situacao h3 { font-size: 26px; }
@media (max-width: 800px) { .cartao-situacao { padding: 20px; } .cartao-situacao h3 { font-size: 22px; } }

.texto-corrido { max-width: 760px; display: flex; flex-direction: column; gap: 16px; }
.texto-corrido h2 { font-size: 40px; line-height: 1.12; }
.texto-corrido p { font-size: 18px; line-height: 1.7; color: var(--suave); }
@media (max-width: 700px) { .texto-corrido h2 { font-size: 30px; } .texto-corrido p { font-size: 16px; } }

.perguntas { max-width: 860px; }
.perguntas h2 { font-size: 44px; margin-bottom: 24px; }
.perguntas details { padding: 20px 0; border-bottom: 1px solid var(--areia); }
.perguntas details:first-of-type { border-top: 1px solid var(--areia); }
.perguntas summary { cursor: pointer; font-weight: 700; font-size: 18px; color: var(--marinho); list-style: none; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.perguntas summary::-webkit-details-marker { display: none; }
.perguntas summary::after { content: "+"; font-family: var(--serif); font-size: 28px; line-height: 1; color: var(--dourado-escuro); }
.perguntas details[open] summary::after { content: "–"; }
.perguntas details p { margin-top: 10px; font-size: 17px; line-height: 1.65; color: var(--suave); }
.aviso { margin-top: 32px; font-size: 14px; color: var(--suave); }
@media (max-width: 700px) { .perguntas h2 { font-size: 30px; } .perguntas summary { font-size: 16px; } .perguntas details p { font-size: 15px; } }

/* Política */
.politica { max-width: 820px; display: flex; flex-direction: column; gap: 14px; }
.politica h2 { font-size: 30px; margin-top: 24px; }
.politica p, .politica li { font-size: 17px; line-height: 1.7; color: var(--suave); }
.politica ul { margin: 0; padding-left: 1.2em; }
.politica table { width: 100%; border-collapse: collapse; font-size: 16px; }
.politica th, .politica td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--areia); vertical-align: top; color: var(--suave); }
.politica th { color: var(--marinho); }
.rolagem { overflow-x: auto; }
.a-preencher { background: #FFF1C2; color: var(--grafite); padding: 0 4px; border-radius: 3px; }

/* ===== Componentes de conteúdo (páginas-guia e artigos) ===== */
.foto img { object-position: center top; }
.faixa-foto { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: center; }
.faixa-foto .foto { height: 420px; background: var(--areia); border-color: var(--areia); }
@media (max-width: 900px) { .faixa-foto { grid-template-columns: 1fr; gap: 24px; } .faixa-foto .foto { height: 280px; } }

/* Linha do tempo do processo */
.linha-tempo { list-style: none; margin: 0; padding: 0; max-width: 880px; }
.linha-tempo li { position: relative; padding: 0 0 36px 44px; border-left: 2px solid var(--dourado); margin-left: 10px; }
.linha-tempo li:last-child { border-left-color: transparent; padding-bottom: 0; }
.linha-tempo li::before { content: ""; position: absolute; left: -11px; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--creme); border: 3px solid var(--dourado); }
.linha-tempo strong { display: block; font-family: var(--serif); font-size: 26px; font-weight: 600; color: var(--marinho); line-height: 1.2; margin-bottom: 6px; }
.linha-tempo p { font-size: 17px; line-height: 1.65; color: var(--suave); }
.linha-tempo p + p { margin-top: 8px; }
.linha-tempo .o-que-fazer { color: var(--grafite); }
.linha-tempo .o-que-fazer b { color: var(--dourado-escuro); }
@media (max-width: 700px) { .linha-tempo li { padding-left: 28px; padding-bottom: 28px; } .linha-tempo strong { font-size: 22px; } .linha-tempo p { font-size: 15px; } }

/* Tabela de prazos */
.tabela { width: 100%; border-collapse: collapse; background: #FFFFFF; border: 1px solid var(--areia); border-radius: 6px; overflow: hidden; }
.tabela th, .tabela td { text-align: left; padding: 16px 20px; border-bottom: 1px solid var(--areia); vertical-align: top; font-size: 16px; line-height: 1.5; }
.tabela th { background: var(--marinho); color: var(--creme); font-weight: 600; }
.tabela td:first-child { font-weight: 600; color: var(--marinho); }
.tabela tr:last-child td { border-bottom: 0; }
.nota-tabela { margin-top: 14px; font-size: 14px; color: var(--suave); max-width: 860px; }
@media (max-width: 700px) { .tabela th, .tabela td { padding: 12px; font-size: 14px; } }

/* Caminhos comparados */
.caminhos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.caminho { padding: 32px; background: var(--creme); border-radius: 6px; border-top: 3px solid var(--dourado); display: flex; flex-direction: column; gap: 10px; }
.caminho h3 { font-size: 26px; }
.caminho p { font-size: 16px; line-height: 1.6; color: var(--suave); }
.caminho .quando { font-size: 15px; color: var(--grafite); }
.caminho .quando b { color: var(--dourado-escuro); }
@media (max-width: 900px) { .caminhos { grid-template-columns: 1fr; gap: 16px; } .caminho { padding: 22px; } }

/* Checklist e erros */
.duas-colunas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
.duas-colunas h2 { font-size: 36px; line-height: 1.12; margin-bottom: 20px; }
.checklist, .erros { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.checklist li, .erros li { position: relative; padding-left: 34px; font-size: 17px; line-height: 1.55; color: var(--suave); }
.checklist li::before { content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 4px; border: 2px solid var(--dourado); }
.checklist li::after { content: ""; position: absolute; left: 6px; top: 7px; width: 6px; height: 10px; border: solid var(--dourado-escuro); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.erros li::before { content: "×"; position: absolute; left: 2px; top: -4px; font-family: var(--serif); font-size: 30px; line-height: 1; color: #9B2C2C; }
.checklist b, .erros b { color: var(--grafite); }
@media (max-width: 900px) { .duas-colunas { grid-template-columns: 1fr; gap: 40px; } .duas-colunas h2 { font-size: 28px; } .checklist li, .erros li { font-size: 15px; } }

/* Cartões de artigos */
.artigos-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cartao-artigo { display: flex; flex-direction: column; gap: 12px; padding: 32px; background: #FFFFFF; border: 1px solid var(--areia); border-radius: 6px; text-decoration: none; color: var(--grafite); }
.cartao-artigo .tema { font-size: 13px; letter-spacing: 1.6px; text-transform: uppercase; font-weight: 700; color: var(--dourado-escuro); }
.cartao-artigo h3 { font-size: 26px; line-height: 1.15; }
.cartao-artigo p { font-size: 16px; line-height: 1.55; color: var(--suave); }
.cartao-artigo .mais { margin-top: auto; padding-top: 6px; font-weight: 700; color: var(--marinho); font-size: 15px; }
a.cartao-artigo:hover { border-color: var(--dourado); }
.secao-branca .cartao-artigo { background: var(--creme); }
@media (max-width: 1000px) { .artigos-grade { grid-template-columns: 1fr; gap: 16px; } .cartao-artigo { padding: 22px; } .cartao-artigo h3 { font-size: 22px; } }

/* Página de artigo */
.artigo { max-width: 760px; margin: 0 auto; }
.artigo-meta { font-size: 15px; color: var(--dourado-claro); }
.artigo-corpo { max-width: 720px; margin: 0 auto; }
.artigo-corpo h2 { font-size: 34px; line-height: 1.15; margin: 44px 0 14px; }
.artigo-corpo h3 { font-size: 24px; margin: 28px 0 10px; }
.artigo-corpo p, .artigo-corpo li { font-size: 18px; line-height: 1.75; color: #33384A; }
.artigo-corpo p { margin-bottom: 18px; }
.artigo-corpo ul, .artigo-corpo ol { margin: 0 0 18px; padding-left: 1.3em; }
.artigo-corpo li { margin-bottom: 8px; }
.artigo-corpo strong { color: var(--grafite); }
.artigo-corpo .destaque { background: #FFFFFF; border-left: 3px solid var(--dourado); padding: 20px 24px; border-radius: 0 6px 6px 0; margin: 28px 0; }
.artigo-corpo .destaque p { margin: 0; font-size: 17px; }
.autor { display: flex; gap: 18px; align-items: center; margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--areia); }
.autor img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: top; }
.autor p { font-size: 15px; line-height: 1.5; color: var(--suave); }
.autor strong { color: var(--marinho); }
@media (max-width: 700px) { .artigo-corpo h2 { font-size: 27px; margin-top: 36px; } .artigo-corpo p, .artigo-corpo li { font-size: 16px; } }


/* ===== Escala de títulos (base) ===== */
h1, h2, h3 { font-weight: 600; letter-spacing: -0.015em; }
.abertura h1 { font-size: 48px; line-height: 1.18; }
.area-topo h1 { font-size: 44px; line-height: 1.18; }
.secao-cabeca h2, .sobre-texto h2, .passos-titulo, .perguntas h2, .contato-info h2 { font-size: 36px; line-height: 1.2; }
.texto-corrido h2 { font-size: 32px; line-height: 1.22; }
.duas-colunas h2 { font-size: 28px; line-height: 1.22; }
.cartao h3 { font-size: 24px; line-height: 1.25; }
.cartao-situacao h3 { font-size: 21px; }
.caminho h3 { font-size: 21px; }
.cartao-artigo h3 { font-size: 20px; line-height: 1.3; }
.linha-tempo strong { font-size: 20px; line-height: 1.3; }
.artigo-corpo h2 { font-size: 27px; line-height: 1.25; }
.artigo-corpo h3 { font-size: 20px; }
.politica h2 { font-size: 24px; }
@media (max-width: 1000px) { .abertura h1 { font-size: 30px; line-height: 1.22; } }
@media (max-width: 700px) {
  .area-topo h1 { font-size: 29px; line-height: 1.22; }
  .secao-cabeca h2, .sobre-texto h2, .passos-titulo, .perguntas h2, .contato-info h2 { font-size: 26px; }
  .texto-corrido h2, .duas-colunas h2 { font-size: 24px; }
  .cartao h3 { font-size: 20px; } .cartao-situacao h3 { font-size: 19px; } .caminho h3 { font-size: 19px; }
  .cartao-artigo h3 { font-size: 18px; } .linha-tempo strong { font-size: 18px; } .artigo-corpo h2 { font-size: 22px; }
}

/* ===== Opção 4: títulos em Source Sans 3 (o nome do escritório segue na fonte do logo) ===== */
.abertura h1 { font-size: 50px; line-height: 1.12; }
.area-topo h1 { font-size: 46px; line-height: 1.12; }
.secao-cabeca h2, .sobre-texto h2, .passos-titulo, .perguntas h2, .contato-info h2 { font-size: 38px; line-height: 1.15; }
.cartao h3 { font-size: 25px; line-height: 1.2; }
.cartao-situacao h3, .caminho h3 { font-size: 21px; }
.linha-tempo strong { font-size: 21px; }
.perguntas summary::after, .passo strong { font-family: var(--sans); }
@media (max-width: 1000px) { .abertura h1 { font-size: 32px; line-height: 1.15; } }
@media (max-width: 700px) {
  .area-topo h1 { font-size: 31px; line-height: 1.15; }
  .secao-cabeca h2, .sobre-texto h2, .passos-titulo, .perguntas h2, .contato-info h2 { font-size: 27px; }
}

/* Topo das páginas de área com foto */
.area-topo.com-foto .caixa { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: center; }
.area-texto { display: flex; flex-direction: column; gap: 22px; }
.area-topo.com-foto .foto { height: 480px; }
@media (max-width: 900px) {
  .area-topo.com-foto .caixa { grid-template-columns: 1fr; gap: 24px; }
  .area-texto { gap: 16px; }
  .area-topo.com-foto .foto { height: 340px; }
}

/* Aviso de cookies */
.aviso-cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 80; max-width: 720px; margin: 0 auto; background: #FFFFFF; color: var(--grafite); border: 1px solid var(--areia); border-radius: 8px; box-shadow: 0 10px 30px rgba(7,12,43,.25); padding: 16px 18px; display: flex; gap: 16px; align-items: center; justify-content: space-between; font-size: 15px; line-height: 1.5; }
.aviso-cookies p { margin: 0; } .aviso-cookies a { color: var(--marinho); }
.aviso-botoes { display: flex; gap: 8px; flex-shrink: 0; }
.aviso-botoes button { height: 40px; padding: 0 16px; border-radius: 6px; border: 1.5px solid var(--marinho); background: #FFFFFF; color: var(--marinho); font: 700 14px var(--sans); cursor: pointer; }
.aviso-botoes .aceitar { background: var(--marinho); color: var(--creme); }
@media (max-width: 700px) { .aviso-cookies { flex-direction: column; align-items: stretch; bottom: 86px; } .aviso-botoes button { flex: 1; } }

/* Índice "Nesta página" e tabela recolhível */
.indice { background: #FFFFFF; border-bottom: 1px solid var(--areia); position: sticky; top: 88px; z-index: 40; }
.indice .caixa { display: flex; gap: 20px; align-items: center; overflow-x: auto; white-space: nowrap; padding-top: 14px; padding-bottom: 14px; font-size: 15px; }
.indice span { color: var(--suave); font-weight: 600; }
.indice a { color: var(--marinho); font-weight: 600; text-decoration: none; }
.indice a:hover { color: var(--dourado-escuro); text-decoration: underline; }
@media (max-width: 1000px) { .indice { top: 64px; } .indice .caixa { gap: 16px; font-size: 14px; } }
[id] { scroll-margin-top: 150px; }
.recolher > summary { cursor: pointer; display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--marinho); padding: 14px 20px; border: 1.5px solid var(--marinho); border-radius: 6px; list-style: none; }
.recolher > summary::-webkit-details-marker { display: none; }
.recolher > summary::after { content: "+"; font-size: 20px; line-height: 1; }
.recolher[open] > summary { margin-bottom: 20px; }
.recolher[open] > summary::after { content: "–"; }
