/* Couto, Lourenço & Miranda: kit visual
   Identidade: azul-marinho (tinta), dourado (marcação), papel (fundo).
   Elemento-assinatura: a "base legal" na margem, como nota de margem em peça jurídica. */

:root {
  --tinta: #0f2740;        /* títulos, texto forte */
  --tinta-funda: #0a1b2e;  /* topo e rodapé */
  --noite: #071424;        /* faixa inferior do rodapé */
  --ouro: #b08d4f;         /* marcações, filetes, base legal */
  --ouro-claro: #c9a968;   /* marcações sobre fundo escuro */
  --papel: #fbf9f4;        /* fundo geral */
  --linho: #f3eee4;        /* superfícies discretas */
  --fio: #e4dccd;          /* linhas e bordas */
  --texto: #2b3645;        /* corpo */
  --texto-suave: #5b6678;  /* apoio */
  --branco: #ffffff;
  --whats: #178a45;
  --whats-escuro: #116a35;

  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --largura: 1200px;
  --coluna: 680px;
  --margem-nota: 168px;
  --lateral: 312px;
  --raio: 6px;
}

*, *::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(--papel);
  color: var(--texto);
  font: 400 17px/1.7 var(--sans);
  font-feature-settings: "kern", "liga";
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--tinta); text-decoration-color: var(--ouro); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--ouro); }
:focus-visible { outline: 2px solid var(--ouro); outline-offset: 3px; border-radius: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: -999px; top: 8px; background: var(--tinta); color: var(--branco); padding: 8px 14px; z-index: 50; }
.pular:focus { left: 8px; }

.envoltorio { max-width: var(--largura); margin: 0 auto; padding: 0 24px; }

/* ---------- Cabeçalho ---------- */
.cabecalho { background: var(--papel); border-bottom: 1px solid var(--fio); position: sticky; top: 0; z-index: 20; }
.cabecalho .envoltorio { display: flex; align-items: center; gap: 32px; height: 76px; }
.marca { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--tinta); }
.marca img { width: 40px; height: auto; }
.marca-nome { font: 600 21px/1.05 var(--serif); letter-spacing: .01em; }
.marca-nome small { display: block; font: 500 11.5px/1.3 var(--sans); color: var(--texto-suave); letter-spacing: .02em; margin-top: 3px; }
.menu { display: flex; gap: 28px; margin-left: auto; }
.menu a { font: 500 15px/1 var(--sans); text-decoration: none; color: var(--texto); padding: 8px 0; }
.menu a:hover { color: var(--ouro); }
.cabecalho .botao-whats { margin-left: 8px; }

/* ---------- Botões ---------- */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font: 600 15px/1 var(--sans); text-decoration: none; border-radius: var(--raio); padding: 14px 20px; border: 1px solid transparent; cursor: pointer; }
.botao svg { width: 18px; height: 18px; flex: none; }
.botao-whats { background: var(--whats); color: var(--branco); }
.botao-whats:hover { background: var(--whats-escuro); color: var(--branco); }
.botao-linha { border-color: var(--tinta); color: var(--tinta); background: transparent; }
.botao-linha:hover { background: var(--tinta); color: var(--branco); }

/* ---------- Topo da página ---------- */
.topo { background: var(--tinta-funda); color: #dfe5ee; position: relative; overflow: hidden; }
.topo::after { /* monograma em marca-d'água, discreto, à direita */
  content: ""; position: absolute; right: -60px; top: 50%; width: 420px; height: 420px; transform: translateY(-50%);
  background: url("../img/monograma-prata.png") center / contain no-repeat; opacity: .07; pointer-events: none;
}
.topo .envoltorio { padding-top: 56px; padding-bottom: 60px; position: relative; z-index: 1; }
.trilha { font: 500 13.5px/1.4 var(--sans); color: #a9b6c8; margin: 0 0 28px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.trilha li + li::before { content: "/"; margin-right: 6px; color: var(--ouro-claro); }
.trilha a { color: #c7d1de; text-decoration: none; }
.trilha a:hover { color: var(--ouro-claro); }
.topo h1 { font: 600 clamp(38px, 5.4vw, 62px)/1.04 var(--serif); color: var(--branco); margin: 0; max-width: 21ch; letter-spacing: -.005em; }
.topo .subtitulo { font: 400 19px/1.55 var(--sans); color: #c7d1de; max-width: 58ch; margin: 22px 0 0; }
.revisao { display: flex; align-items: center; gap: 14px; margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(201,169,104,.35); max-width: 640px; }
.revisao img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; border: 1px solid var(--ouro-claro); }
.revisao p { margin: 0; font: 400 14.5px/1.5 var(--sans); color: #b9c4d3; }
.revisao strong { color: var(--branco); font-weight: 600; }

/* ---------- Corpo ---------- */
.corpo { display: grid; grid-template-columns: var(--margem-nota) minmax(0, var(--coluna)) var(--lateral); column-gap: 44px; justify-content: center; max-width: var(--largura); margin: 0 auto; padding: 56px 24px 24px; }
.abertura { grid-column: 2; grid-row: 1; min-width: 0; }
.artigo { grid-column: 2; grid-row: 2; min-width: 0; }
.lateral { grid-column: 3; grid-row: 1 / span 2; }
.lateral-fixa { position: sticky; top: 100px; }

/* Resposta direta: a primeira coisa a ler, e o trecho que a IA cita */
.resposta { margin: 0 0 52px; padding: 0 0 34px; border-bottom: 1px solid var(--fio); }
.resposta p { font: 400 20px/1.62 var(--sans); color: var(--tinta); margin: 0; }
.resposta p::first-line { font-weight: 500; }

/* Seções e base legal na margem */
.secao { position: relative; margin: 0 0 52px; }
.secao h2 { font: 600 34px/1.12 var(--serif); color: var(--tinta); margin: 0 0 18px; letter-spacing: -.003em; }
.base-legal { font: 500 13px/1.45 var(--sans); color: var(--ouro); margin: -6px 0 18px; }
.base-legal::before { content: "§ "; font-family: var(--serif); font-size: 17px; font-weight: 700; }
@media (min-width: 1180px) {
  .base-legal { position: absolute; right: calc(100% + 44px); top: 8px; width: var(--margem-nota); margin: 0; text-align: right; padding-top: 10px; border-top: 1px solid var(--ouro); }
  .base-legal::before { display: block; font-size: 22px; line-height: 1; margin-bottom: 6px; content: "§"; }
}
.secao p { margin: 0 0 18px; }
.secao p:last-child { margin-bottom: 0; }
.secao strong { color: var(--tinta); font-weight: 600; }

/* Lista de critérios: filete dourado, início em negrito */
.criterios { list-style: none; margin: 22px 0; padding: 0; border-top: 1px solid var(--fio); }
.criterios li { padding: 15px 0 15px 26px; border-bottom: 1px solid var(--fio); position: relative; }
.criterios li::before { content: ""; position: absolute; left: 2px; top: 25px; width: 8px; height: 8px; background: var(--ouro); transform: rotate(45deg); }

/* Passo a passo: aqui a numeração é real, é uma sequência */
.passos { list-style: none; counter-reset: passo; margin: 24px 0; padding: 0; }
.passos li { counter-increment: passo; display: grid; grid-template-columns: 52px 1fr; gap: 0 16px; padding: 0 0 22px; position: relative; }
.passos li::before { content: counter(passo); font: 600 30px/1 var(--serif); color: var(--ouro); text-align: center; padding-top: 2px; }
.passos li:not(:last-child)::after { content: ""; position: absolute; left: 26px; top: 40px; bottom: 6px; width: 1px; background: var(--fio); }
.passos strong { display: block; font-size: 17px; margin-bottom: 2px; }
.passos span { color: var(--texto); }

/* Tabela comparativa */
.tabela { width: 100%; overflow-x: auto; margin: 24px 0; border: 1px solid var(--fio); border-radius: var(--raio); background: var(--branco); }
.tabela table { width: 100%; border-collapse: collapse; font-size: 15.5px; line-height: 1.5; min-width: 520px; }
.tabela th, .tabela td { text-align: left; vertical-align: top; padding: 13px 16px; border-bottom: 1px solid var(--fio); }
.tabela thead th { background: var(--tinta); color: var(--branco); font-weight: 600; font-size: 14.5px; }
.tabela tbody th { color: var(--tinta); font-weight: 600; width: 30%; background: var(--linho); }
.tabela tr:last-child th, .tabela tr:last-child td { border-bottom: 0; }

/* Mitos e fatos: o mito riscado de leve, o fato em destaque */
.mitos { margin: 24px 0; display: grid; gap: 0; border-top: 1px solid var(--fio); }
.mito { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--fio); }
.mito-frase { font: italic 500 20px/1.35 var(--serif); color: var(--texto-suave); margin: 0; }
.mito-frase::before { content: "“"; } .mito-frase::after { content: "”"; }
.mito-fato { margin: 0; }
.mito-fato strong { color: var(--tinta); }

/* Aviso informativo */
.aviso { background: var(--linho); border-left: 3px solid var(--ouro); padding: 18px 22px; border-radius: 0 var(--raio) var(--raio) 0; font-size: 15px; color: var(--texto-suave); margin: 0 0 52px; }
.aviso p { margin: 0; }

/* Perguntas frequentes */
.faq { margin: 0 0 52px; }
.faq h2 { font: 600 34px/1.12 var(--serif); color: var(--tinta); margin: 0 0 14px; }
.faq details { border-bottom: 1px solid var(--fio); }
.faq details:first-of-type { border-top: 1px solid var(--fio); }
.faq summary { list-style: none; cursor: pointer; padding: 18px 40px 18px 0; position: relative; font: 600 17px/1.45 var(--sans); color: var(--tinta); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 6px; top: 13px; font: 400 26px/1 var(--serif); color: var(--ouro); transition: transform .2s ease; }
.faq details[open] summary::after { transform: rotate(45deg); }
@media (prefers-reduced-motion: reduce) { .faq summary::after { transition: none; } }
.faq details p { margin: 0 0 20px; padding-right: 32px; }

/* Fontes: numeradas, como referências de uma peça */
.fontes { margin: 0 0 52px; }
.fontes h2 { font: 600 28px/1.15 var(--serif); color: var(--tinta); margin: 0 0 6px; }
.fontes > p { color: var(--texto-suave); font-size: 15px; margin: 0 0 14px; }
.fontes ol { margin: 0; padding-left: 22px; font-size: 15.5px; }
.fontes li { padding: 4px 0; }
.fontes li::marker { color: var(--ouro); font-weight: 600; }

/* Relacionadas */
.relacionadas { margin: 0 0 52px; padding: 28px 0 0; border-top: 1px solid var(--fio); }
.relacionadas h2 { font: 600 24px/1.2 var(--serif); color: var(--tinta); margin: 0 0 12px; }
.relacionadas ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 28px; }
.relacionadas a { display: block; padding: 8px 0; text-decoration: none; border-bottom: 1px solid var(--fio); font-weight: 500; }

/* ---------- Cartão lateral do escritório ---------- */
.cartao { background: var(--branco); border: 1px solid var(--fio); border-radius: var(--raio); overflow: hidden; }
.cartao-topo { padding: 22px 22px 18px; border-bottom: 1px solid var(--fio); display: flex; gap: 14px; align-items: center; }
.cartao-topo img { width: 44px; }
.cartao-topo strong { display: block; font: 600 20px/1.1 var(--serif); color: var(--tinta); }
.cartao-topo span { font-size: 13px; color: var(--texto-suave); line-height: 1.4; display: block; margin-top: 4px; }
.cartao-nota { display: flex; align-items: center; gap: 12px; padding: 14px 22px; border-bottom: 1px solid var(--fio); text-decoration: none; color: var(--texto); }
.cartao-nota:hover { background: var(--linho); color: var(--texto); }
.cartao-nota .g { width: 22px; height: 22px; flex: none; }
.cartao-nota b { font: 700 19px/1 var(--sans); color: var(--tinta); }
.estrelas { color: #e3a008; letter-spacing: 1px; font-size: 14px; }
.cartao-nota small { display: block; font-size: 12.5px; color: var(--texto-suave); line-height: 1.3; }
.cartao-responsavel { padding: 18px 22px; border-bottom: 1px solid var(--fio); display: flex; gap: 14px; align-items: center; }
.cartao-responsavel img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; }
.cartao-responsavel p { margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--texto-suave); }
.cartao-responsavel strong { display: block; color: var(--tinta); font-size: 15px; }
.cartao-acoes { padding: 18px 22px 22px; display: grid; gap: 10px; }
.cartao-acoes .botao { width: 100%; }
.cartao-acoes p { margin: 4px 0 0; font-size: 13px; color: var(--texto-suave); text-align: center; line-height: 1.45; }

/* ---------- Credenciais (fim do artigo) ---------- */
.credenciais { background: var(--linho); border-top: 1px solid var(--fio); border-bottom: 1px solid var(--fio); margin-top: 32px; }
.credenciais .envoltorio { padding-top: 56px; padding-bottom: 56px; }
.credenciais h2 { font: 600 34px/1.12 var(--serif); color: var(--tinta); margin: 0 0 8px; }
.credenciais > .envoltorio > p { color: var(--texto-suave); margin: 0 0 30px; max-width: 64ch; }
.socios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.socio { background: var(--branco); border: 1px solid var(--fio); border-radius: var(--raio); padding: 22px; }
.socio h3 { font: 600 22px/1.15 var(--serif); color: var(--tinta); margin: 0 0 4px; }
.socio .oab { font-size: 13.5px; color: var(--ouro); font-weight: 600; margin: 0 0 12px; }
.socio p { font-size: 15px; line-height: 1.6; margin: 0 0 10px; }
.socio .area { font-size: 13.5px; color: var(--texto-suave); margin: 0; padding-top: 10px; border-top: 1px solid var(--fio); }
.socio-destaque { border-color: var(--ouro); box-shadow: inset 0 3px 0 var(--ouro); }

/* ---------- Rodapé com mapa do site ---------- */
.rodape { background: var(--tinta-funda); color: #b9c4d3; }
.rodape .envoltorio { padding-top: 64px; padding-bottom: 40px; }
.rodape-topo { display: grid; grid-template-columns: 300px 1fr; gap: 56px; }
.rodape-marca img { width: 210px; margin-bottom: 18px; }
.rodape-marca p { font-size: 14.5px; line-height: 1.6; margin: 0 0 10px; }
.rodape-marca a { color: var(--branco); text-decoration: none; }
.rodape-marca .redes { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.rodape-marca .redes a { color: var(--ouro-claro); }
.mapa-site h2 { font: 600 28px/1.1 var(--serif); color: var(--branco); margin: 0 0 6px; }
.mapa-site > p { font-size: 14.5px; margin: 0 0 26px; }
.mapa-grupos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 28px; }
.mapa-grupos h3 { font: 600 15px/1.3 var(--sans); color: var(--branco); margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(201,169,104,.4); }
.mapa-grupos ul { list-style: none; margin: 0; padding: 0; }
.mapa-grupos li { font-size: 14px; line-height: 1.45; padding: 4px 0; }
.mapa-grupos a { color: #c7d1de; text-decoration: none; }
.mapa-grupos a:hover { color: var(--ouro-claro); }
.mapa-grupos .futura { color: #7f8ea3; }
.rodape-base { background: var(--noite); }
.rodape-base .credito { color: #8a98ad; text-decoration: none; }
.rodape-base .credito:hover { color: var(--ouro-claro); }
.rodape-base .envoltorio { padding-top: 18px; padding-bottom: 18px; font-size: 13px; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; color: #8a98ad; }

/* WhatsApp flutuante */
.whats-flutuante { position: fixed; right: 20px; bottom: 20px; width: 58px; height: 58px; border-radius: 50%; background: var(--whats); color: var(--branco); display: grid; place-items: center; box-shadow: 0 6px 18px rgba(7,20,36,.28); z-index: 30; }
.whats-flutuante:hover { background: var(--whats-escuro); color: var(--branco); }
.whats-flutuante svg { width: 30px; height: 30px; }

/* No celular, a tabela vira um bloco por critério, com rótulo em cada valor */
@media (max-width: 599px) {
  .tabela { border: 0; background: transparent; overflow: visible; }
  .tabela table, .tabela tbody, .tabela tr, .tabela th, .tabela td { display: block; width: 100%; min-width: 0; }
  .tabela thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .tabela tr { background: var(--branco); border: 1px solid var(--fio); border-radius: var(--raio); margin-bottom: 12px; overflow: hidden; }
  .tabela tbody th { width: 100%; background: var(--tinta); color: var(--branco); font-size: 15px; padding: 11px 16px; border: 0; }
  .tabela td { padding: 11px 16px 12px; border-bottom: 1px solid var(--fio); }
  .tabela td::before { content: attr(data-rotulo); display: block; font-size: 12.5px; font-weight: 600; color: var(--ouro); margin-bottom: 2px; }
  .tabela tr:last-child td { border-bottom: 1px solid var(--fio); }
  .tabela tr td:last-child { border-bottom: 0; }
}

/* ---------- Depoimentos ---------- */
.depoimentos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; margin: 24px 0; }
.depoimento { margin: 0; padding: 22px 0 0; border-top: 2px solid var(--ouro); }
.depoimento blockquote { margin: 0; }
.depoimento p { font: italic 500 21px/1.42 var(--serif); color: var(--tinta); margin: 0 0 14px; }
.depoimento figcaption { font-size: 14px; color: var(--texto-suave); }
.depoimentos-mais { margin: 8px 0 0; font-weight: 500; }

/* Artigos publicados (perfil) */
.artigos { list-style: none; margin: 18px 0; padding: 0; border-top: 1px solid var(--fio); }
.artigos li { padding: 14px 0; border-bottom: 1px solid var(--fio); }
.artigos a { font-weight: 600; }
.artigos span { display: block; font-size: 14px; color: var(--texto-suave); margin-top: 2px; }

/* ---------- Topo das páginas internas: dividido, com retrato real do sócio ---------- */
.topo { background: radial-gradient(ellipse 60% 90% at 82% 100%, rgba(41,76,117,.5), transparent 70%), linear-gradient(180deg, #0c2034 0%, var(--tinta-funda) 100%); }
.topo-dividido { min-height: 440px; }
.topo-dividido::after { right: auto; left: -120px; opacity: .05; }
.topo-retrato { position: absolute; top: 0; right: 0; bottom: 0; width: 38%; background-size: cover; background-position: 50% 20%; z-index: 0; }
.topo-retrato::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--tinta-funda) 0%, rgba(10,27,46,.55) 22%, rgba(10,27,46,0) 55%); }
.topo-dividido .envoltorio { position: relative; z-index: 1; }
.topo-dividido .topo-texto { max-width: 62%; }
.topo-hub .topo-grade { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 24px; align-items: end; }
.topo-hub .envoltorio { padding-bottom: 0; }
.topo-hub .topo-texto { padding-bottom: 60px; }
.topo-grupo { width: 100%; max-width: 600px; display: block; filter: drop-shadow(30px 0 50px rgba(176,141,79,.2)); }
.topo-hub { background: radial-gradient(ellipse 34% 85% at 80% 60%, #545b64 0%, #3a4149 38%, #1d2a39 70%, transparent 100%), linear-gradient(135deg, #071424 0%, #0a1b2e 35%, #0f2740 100%); }

/* ---------- Home ---------- */
.botao-claro { border-color: rgba(255,255,255,.5); color: var(--branco); }
.botao-claro:hover { background: var(--branco); color: var(--tinta); }
.botao-tinta { background: var(--tinta); color: var(--branco); }
.botao-tinta:hover { background: var(--tinta-funda); color: var(--branco); }
.botao-contorno-claro { border-color: rgba(201,169,104,.6); color: var(--branco); background: transparent; padding: 11px 18px; }
.botao-contorno-claro:hover { background: var(--ouro); border-color: var(--ouro); color: var(--tinta-funda); }

.topo-home { position: relative; overflow: hidden; background: linear-gradient(135deg, #071424 0%, #0a1b2e 35%, #0f2740 100%); }
.home-fundo { position: absolute; inset: 0; z-index: 0; background: radial-gradient(ellipse 48% 75% at 74% 52%, #545b64 0%, #3a4149 38%, #1d2a39 70%, transparent 100%), linear-gradient(135deg, #071424 0%, #0a1b2e 35%, #0f2740 100%); }
.topo-home::before { content: ""; position: absolute; inset: 0; z-index: 0; background: radial-gradient(circle at 75% 30%, rgba(176,141,79,.12) 0%, transparent 55%), radial-gradient(circle at 20% 70%, rgba(176,141,79,.08) 0%, transparent 50%); }
.topo-home::after { content: ""; display: block; position: absolute; top: 0; left: 0; right: auto; width: 54%; height: 100%; transform: none; background: linear-gradient(90deg, rgba(7,20,36,.98) 0%, rgba(7,20,36,.9) 70%, transparent 100%); opacity: 1; z-index: 1; }
.home-socios { position: absolute; right: -110px; bottom: 0; top: 64px; height: calc(100% - 64px); width: auto; max-width: none; z-index: 1; opacity: .96; filter: drop-shadow(40px 0 60px rgba(176,141,79,.25)); }
.topo-home .envoltorio.home-topo { position: relative; z-index: 3; padding-top: 80px; padding-bottom: 96px; min-height: 620px; display: block; }
.home-topo-texto { max-width: 580px; }
.topo-home h1 { max-width: 14ch; font-size: clamp(42px, 5.4vw, 68px); }
.home-acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.selo-google { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; color: #c7d1de; text-decoration: none; font-size: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); padding: 10px 16px; border-radius: 999px; }
.selo-google b { color: var(--branco); font-size: 18px; }
.selo-google .g { width: 22px; height: 22px; flex: none; }
.selo-google .estrelas { font-size: 13px; }
.selo-google:hover { color: var(--branco); border-color: var(--ouro-claro); }
.selo-google-escuro { margin-top: 0; background: var(--branco); border-color: var(--fio); color: var(--texto-suave); }
.selo-google-escuro b { color: var(--tinta); }
.selo-google-escuro:hover { color: var(--tinta); border-color: var(--ouro); }
.faixa-areas { background: var(--noite); border-top: 1px solid rgba(201,169,104,.35); }
.faixa-areas ul { list-style: none; margin: 0 auto; padding-top: 16px; padding-bottom: 16px; display: flex; flex-wrap: wrap; gap: 8px 28px; justify-content: center; }
.faixa-areas li { font: 500 14px/1.4 var(--sans); color: #c7d1de; display: flex; align-items: center; gap: 10px; }
.faixa-areas li::before { content: ""; width: 6px; height: 6px; background: var(--ouro-claro); transform: rotate(45deg); }

.centro { text-align: center; margin-left: auto; margin-right: auto; }
.rotulo { display: inline-block; font: 600 13px/1 var(--sans); color: var(--branco); background: var(--tinta); padding: 8px 14px; border-radius: 999px; margin: 0 0 16px; }
p.rotulo.centro { display: block; width: max-content; }
.rotulo-claro { background: rgba(201,169,104,.16); color: var(--ouro-claro); border: 1px solid rgba(201,169,104,.45); }
.bloco { padding-top: 96px; padding-bottom: 16px; }
.bloco h2, .bloco-linho h2 { font: 600 44px/1.08 var(--serif); color: var(--tinta); margin: 0 0 20px; }
.bloco > h2.centro { margin-bottom: 44px; max-width: 22ch; }

.quem { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.quem-foto { margin: 0; position: relative; }
.quem-foto img { width: 100%; border-radius: 14px; box-shadow: 0 30px 60px -30px rgba(10,27,46,.45); }
.quem-foto figcaption, .atendimento-foto figcaption { position: absolute; left: 20px; bottom: 20px; background: var(--branco); color: var(--tinta); font-size: 14px; font-weight: 600; padding: 10px 16px; border-radius: 999px; box-shadow: 0 10px 24px -12px rgba(10,27,46,.4); display: flex; align-items: center; gap: 8px; }
.quem-foto figcaption::before, .atendimento-foto figcaption::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--whats); }
.quem-texto p { font-size: 17.5px; margin: 0 0 16px; }
.quem-texto .botao { margin-top: 10px; }

.secao-escura { color: #c7d1de; background: radial-gradient(circle at 12% 0%, rgba(41,76,117,.45), transparent 45%), radial-gradient(circle at 100% 100%, rgba(176,141,79,.12), transparent 40%), var(--tinta-funda); position: relative; overflow: hidden; margin-top: 96px; }
.secao-escura::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px); background-size: 22px 22px; pointer-events: none; }
.secao-escura-lisa::before { display: none; }
.secao-escura .envoltorio { position: relative; padding-top: 88px; padding-bottom: 96px; }
.secao-escura h2 { font: 600 46px/1.08 var(--serif); color: var(--branco); margin: 0 0 48px; }
.servicos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.servico { background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; }
.servico-foto { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.servico-foto img { width: 100%; height: 100%; object-fit: cover; }
.servico-foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(10,27,46,.55) 100%); }
.servico-area { position: absolute; left: 14px; top: 14px; z-index: 1; font-size: 12.5px; font-weight: 600; color: var(--tinta-funda); background: rgba(255,255,255,.92); padding: 5px 11px; border-radius: 999px; }
.servico-corpo { padding: 0 26px 28px; position: relative; display: flex; flex-direction: column; flex: 1; }
.servico-icone { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: var(--tinta-funda); border: 1px solid var(--ouro); color: var(--ouro-claro); margin-top: -25px; position: relative; z-index: 2; }
.servico-icone svg { width: 24px; height: 24px; }
.servico h3 { font: 600 27px/1.12 var(--serif); color: var(--branco); margin: 16px 0 4px; }
.servico-sub { font: italic 500 17px/1.3 var(--serif); color: var(--ouro-claro); margin: 0 0 12px; }
.servico-corpo > p:not(.servico-sub) { font-size: 15.5px; margin: 0 0 22px; flex: 1; }
.servico .botao { align-self: flex-start; }

.atendimento { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; align-items: center; }
.atendimento-foto { margin: 0; position: relative; max-width: 440px; }
.atendimento-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; border-radius: 14px; box-shadow: 0 30px 60px -30px rgba(10,27,46,.45); }
.destaque { font-size: 18px; color: var(--tinta); margin: 0 0 24px; }
.passos-compactos { list-style: none; counter-reset: passo; margin: 0 0 24px; padding: 0; display: grid; gap: 14px; }
.passos-compactos li { counter-increment: passo; display: grid; grid-template-columns: 44px 1fr; gap: 0 14px; }
.passos-compactos li::before { content: counter(passo); grid-row: span 2; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--linho); color: var(--ouro); font: 600 22px/1 var(--serif); border: 1px solid var(--fio); }
.passos-compactos strong { color: var(--tinta); }
.passos-compactos span { font-size: 15.5px; }
.chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.chips li { font-size: 14px; font-weight: 600; color: var(--tinta); background: #eef3f9; border: 1px solid #d6e1ee; padding: 7px 14px; border-radius: 999px; display: flex; align-items: center; gap: 6px; }
.chips li::before { content: "✓"; color: var(--whats); font-weight: 700; }

.formacoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.formacao { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 30px; display: flex; flex-direction: column; }
.formacao-onde { color: var(--ouro-claro); font-size: 13px; font-weight: 600; margin: 0 0 12px; letter-spacing: .02em; }
.formacao h3 { font: 600 28px/1.12 var(--serif); color: var(--branco); margin: 0 0 12px; }
.formacao p:not(.formacao-onde) { margin: 0 0 24px; font-size: 15.5px; flex: 1; }
.formacao .botao { align-self: flex-start; }

.sinais { display: grid; grid-template-columns: 1fr 340px 1fr; gap: 40px; align-items: center; }
.sinais-foto { width: 340px; height: 340px; border-radius: 50%; overflow: hidden; border: 6px solid var(--branco); box-shadow: 0 0 0 1px var(--fio), 0 30px 60px -30px rgba(10,27,46,.5); }
.sinais-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.sinais-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.sinais-lista li { background: var(--branco); border: 1px solid var(--fio); border-radius: 12px; padding: 14px 18px 14px 46px; font-size: 15.5px; color: var(--tinta); position: relative; box-shadow: 0 10px 20px -18px rgba(10,27,46,.4); }
.sinais-lista li::before { content: "✓"; position: absolute; left: 16px; top: 13px; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid var(--ouro); color: var(--ouro); font-size: 12px; display: grid; place-items: center; font-weight: 700; }

.onde { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.onde-cartao { background: var(--branco); border: 1px solid var(--fio); border-radius: 16px; padding: 32px 28px; text-align: center; }
.onde-cartao .servico-icone { margin: 0 auto 18px; }
.onde-cartao h3 { font: 600 25px/1.2 var(--serif); color: var(--tinta); margin: 0 0 8px; }
.onde-cartao p { margin: 0; font-size: 15.5px; }

.faixa-numeros { background: var(--tinta); margin-top: 96px; }
.faixa-numeros .envoltorio { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding-top: 52px; padding-bottom: 52px; }
.faixa-numeros div { text-align: center; }
.faixa-numeros strong { display: block; font: 600 56px/1 var(--serif); color: var(--ouro-claro); }
.faixa-numeros span { display: block; color: #c7d1de; font-size: 15px; margin-top: 8px; }

.perfis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.perfil-cartao { background: var(--branco); border: 1px solid var(--fio); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; }
.perfil-foto { aspect-ratio: 4 / 4.4; overflow: hidden; background: #ecebe8; }
.perfil-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; }
.perfil-corpo { padding: 24px 26px 28px; display: flex; flex-direction: column; flex: 1; }
.perfil-area { color: var(--ouro); font-size: 13px; font-weight: 600; margin: 0 0 6px; }
.perfil-corpo h3 { font: 600 25px/1.15 var(--serif); color: var(--tinta); margin: 0 0 4px; }
.perfil-corpo .oab { color: var(--texto-suave); font-weight: 600; font-size: 13.5px; margin: 0 0 12px; }
.perfil-corpo p { font-size: 15.5px; margin: 0 0 18px; }
.perfil-corpo .botao { margin-top: auto; align-self: flex-start; }

.bloco-linho { background: var(--linho); border-top: 1px solid var(--fio); border-bottom: 1px solid var(--fio); margin-top: 96px; }
.bloco-linho .envoltorio { padding-top: 80px; padding-bottom: 80px; }
.dep-topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.dep-topo h2 { margin: 0; }
.avaliacoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.avaliacao { margin: 0; background: var(--branco); border: 1px solid var(--fio); border-radius: 14px; padding: 22px 24px; }
.avaliacao-topo { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.avaliacao-topo .g { width: 20px; height: 20px; margin-left: auto; }
.avaliacao-topo strong { display: block; color: var(--tinta); font-size: 15px; }
.avatar { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--tinta); color: var(--branco); font-weight: 600; }
.avaliacao blockquote { margin: 0; }
.avaliacao p { margin: 0; font-size: 15px; line-height: 1.6; }
.home-faq { max-width: calc(var(--coluna) + 48px); padding-bottom: 96px; }

/* ---------- Hub de áreas ---------- */
.topo-hub { background: radial-gradient(ellipse 34% 85% at 80% 60%, #545b64 0%, #3a4149 38%, #1d2a39 70%, transparent 100%), linear-gradient(135deg, #071424 0%, #0a1b2e 35%, #0f2740 100%); }
.topo-hub .topo-figura { align-self: end; }
.topo-hub .topo-grupo { max-width: 600px; }
.hub-atalhos { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.hub-atalhos a { color: var(--branco); text-decoration: none; font-size: 14.5px; font-weight: 500; border: 1px solid rgba(201,169,104,.55); border-radius: 999px; padding: 8px 16px; }
.hub-atalhos a:hover { background: var(--ouro); color: var(--tinta-funda); }
.hub { padding-top: 72px; padding-bottom: 56px; }
.hub-grupo { margin-bottom: 72px; scroll-margin-top: 96px; }
.hub-cabeca { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; padding-bottom: 20px; margin-bottom: 24px; border-bottom: 2px solid var(--ouro); }
.hub-cabeca .area-icone { color: var(--ouro); }
.hub-cabeca h2 { font: 600 38px/1.1 var(--serif); color: var(--tinta); margin: 0; }
.hub-quem { display: flex; align-items: center; gap: 12px; }
.hub-quem img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: 50% 15%; }
.hub-quem p { margin: 0; font-size: 13px; color: var(--texto-suave); line-height: 1.4; max-width: 34ch; }
.hub-quem strong { display: block; font-size: 15px; color: var(--tinta); }
.hub-quem strong a { text-decoration: none; }
.hub-cartoes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.hub-cartao { background: var(--branco); border: 1px solid var(--fio); border-radius: 10px; padding: 22px 24px; position: relative; }
.hub-cartao:hover { border-color: var(--ouro); box-shadow: 0 18px 32px -24px rgba(10,27,46,.35); }
.hub-cartao h3 { font: 600 23px/1.2 var(--serif); margin: 0 0 8px; color: var(--tinta); }
.hub-cartao h3 a { color: var(--tinta); text-decoration: none; }
.hub-cartao h3 a::after { content: ""; position: absolute; inset: 0; }
.hub-cartao p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--texto-suave); }
.hub-cartao-futuro { background: transparent; border-style: dashed; }
.hub-cartao-futuro:hover { border-color: var(--fio); box-shadow: none; }
.hub-cartao-futuro h3 { color: var(--texto-suave); }
.hub-lp { display: inline-block; margin-top: 18px; font-weight: 600; }

/* ---------- Responsivo ---------- */
@media (max-width: 1179px) {
  .corpo { grid-template-columns: minmax(0, 1fr) var(--lateral); column-gap: 40px; max-width: 1060px; }
  .abertura, .artigo { grid-column: 1; }
  .lateral { grid-column: 2; }
}
@media (max-width: 1100px) {
  .menu { gap: 20px; }
  .menu a { font-size: 14px; }
}
@media (max-width: 899px) {
  .menu { display: none; }
  .home-intro, .home-duas { grid-template-columns: 1fr; gap: 32px; }
  .topo-home .envoltorio.home-topo { min-height: 0; padding-bottom: 32px; }
  .topo-home::after { width: 100%; background: linear-gradient(180deg, rgba(7,20,36,.96) 0%, rgba(7,20,36,.85) 60%, rgba(7,20,36,.35) 100%); }
  .topo-home { display: flex; flex-direction: column; }
  .topo-home .envoltorio.home-topo { order: 1; width: 100%; }
  .home-socios { order: 2; position: relative; right: auto; top: auto; display: block; width: 112%; max-width: 680px; height: auto; margin: 0 0 0 -6%; z-index: 2; align-self: center; }
  .areas-cartoes, .passos-linha, .situacoes, .diferenciais, .perfis { grid-template-columns: 1fr; }
  .hub-cartoes { grid-template-columns: 1fr 1fr; }
  .hub-cabeca { grid-template-columns: auto 1fr; }
  .hub-quem { grid-column: 1 / -1; }
  .topo-grade { grid-template-columns: minmax(0, 1fr) 200px; }
  .cabecalho .envoltorio { height: 66px; gap: 16px; }
  .cabecalho .botao-whats { margin-left: auto; padding: 11px 14px; }
  .corpo { display: block; padding-top: 36px; }
  .lateral { margin: 0 0 48px; }
  .lateral-fixa { position: static; }
  .socios { grid-template-columns: 1fr; }
  .rodape-topo { grid-template-columns: 1fr; gap: 40px; }
  .mapa-grupos { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 599px) {
  body { font-size: 16.5px; }
  .envoltorio { padding-left: 16px; padding-right: 16px; }
  .corpo { padding-left: 16px; padding-right: 16px; }
  .marca-nome { font-size: 18px; }
  .marca-nome small { display: none; }
  .cabecalho .botao-whats span { display: none; }
  .topo .envoltorio { padding-top: 36px; padding-bottom: 40px; }
  .topo .subtitulo { font-size: 17px; }
  .resposta p { font-size: 18px; }
  .secao h2, .faq h2, .credenciais h2 { font-size: 29px; }
  .home-secao > h2, .home-faixa h2, .secao-escura h2, .home-intro-titulo { font-size: 33px; }
  .topo-grade { grid-template-columns: 1fr; }
  .topo-figura { display: none; }
  .topo-texto { padding-bottom: 40px; }
  .topo-home .envoltorio.home-topo { padding-top: 40px; }
  .home-socios { width: 118%; margin-left: -9%; }
  .hub-cartoes { grid-template-columns: 1fr; }
  .hub-cabeca h2 { font-size: 30px; }
  .area-cartao-foto { height: 220px; } .area-cartao-foto img { height: 100%; }
  .perfil-foto { aspect-ratio: auto; width: 100%; height: 360px; } .perfil-foto img { height: 100%; }
  .secao-escura .depoimento p { font-size: 20px; }
  .faixa-areas ul { justify-content: flex-start; gap: 6px 18px; }
  .numeros div { grid-template-columns: 118px 1fr; }
  .numeros strong { font-size: 28px; }
  .mito { grid-template-columns: 1fr; gap: 8px; }
  .relacionadas ul { grid-template-columns: 1fr; }
  .mapa-grupos { grid-template-columns: 1fr; }
}

/* ---------- Responsivo dos blocos novos ---------- */
@media (max-width: 1100px) {
  .sinais { grid-template-columns: 1fr 260px 1fr; gap: 24px; }
  .sinais-foto { width: 260px; height: 260px; }
}
@media (max-width: 899px) {
  .quem, .atendimento { grid-template-columns: 1fr; gap: 40px; }
  .servicos, .formacoes, .onde, .perfis, .avaliacoes { grid-template-columns: 1fr 1fr; }
  .sinais { grid-template-columns: 1fr; }
  .sinais-foto { order: -1; margin: 0 auto; }
  .faixa-numeros .envoltorio { grid-template-columns: 1fr 1fr; }
  .topo-retrato { width: 34%; }
  .topo-dividido .topo-texto { max-width: 64%; }
  .topo-hub .topo-grade { grid-template-columns: 1fr; }
  .topo-hub .topo-figura { display: none; }
}
@media (max-width: 599px) {
  .bloco { padding-top: 64px; }
  .bloco h2, .bloco-linho h2, .secao-escura h2 { font-size: 33px; }
  .servicos, .formacoes, .onde, .perfis, .avaliacoes { grid-template-columns: 1fr; }
  .secao-escura { margin-top: 64px; }
  .secao-escura .envoltorio { padding-top: 64px; padding-bottom: 64px; }
  .faixa-numeros strong { font-size: 44px; }
  .topo-retrato { display: none; }
  .topo-dividido { min-height: 0; }
  .topo-dividido .topo-texto { max-width: none; }
  .sinais-foto { width: 220px; height: 220px; }
  .atendimento-foto { max-width: none; }
}

/* Alinhamento central (vence as regras de margem dos blocos) */
.bloco h2.centro, .secao-escura h2.centro, .bloco-linho h2.centro { margin-left: auto; margin-right: auto; text-align: center; }
p.rotulo.centro { margin: 0 auto 16px; }
.avaliacoes { display: flex; flex-wrap: wrap; justify-content: center; }
.avaliacao { flex: 1 1 calc(33.333% - 22px); max-width: calc(33.333% - 15px); }
@media (max-width: 899px) { .avaliacao { flex-basis: calc(50% - 11px); max-width: calc(50% - 11px); } }
@media (max-width: 599px) { .avaliacao { flex-basis: 100%; max-width: 100%; } }
.sinais-foto img { object-position: 50% 22%; transform: scale(1.3); transform-origin: 50% 30%; }
@media (max-width: 899px) { .sinais-foto img { transform: scale(1.05); } }
.faixa-areas ul { gap: 8px 22px; }
.faixa-areas li { font-size: 13.5px; }

/* Áreas: 7 cartões (3 em cima, 4 embaixo) */
.servicos { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.servico { grid-column: span 4; }
.servico:nth-child(n+4) { grid-column: span 3; }
.servico:nth-child(n+4) h3 { font-size: 24px; }
.secao-escura-intro.centro { text-align: center; max-width: 62ch; margin-top: -28px; margin-bottom: 44px; }
@media (max-width: 899px) { .servicos { grid-template-columns: 1fr 1fr; } .servico, .servico:nth-child(n+4) { grid-column: auto; } }
@media (max-width: 599px) { .servicos { grid-template-columns: 1fr; } }

/* Diferenciais */
.diferenciais-cartoes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.diferencial { background: var(--branco); border: 1px solid var(--fio); border-radius: 16px; padding: 28px 24px; }
.diferencial .servico-icone { margin: 0 0 18px; }
.diferencial h3 { font: 600 23px/1.2 var(--serif); color: var(--tinta); margin: 0 0 10px; }
.diferencial p { margin: 0; font-size: 15px; }
@media (max-width: 1100px) { .diferenciais-cartoes { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .diferenciais-cartoes { grid-template-columns: 1fr; } }

/* Blog */
.posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.post { background: var(--branco); border: 1px solid var(--fio); border-radius: 16px; overflow: hidden; }
.post-foto { display: block; position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.post-foto img { width: 100%; height: 100%; object-fit: cover; }
.post-corpo { padding: 22px 24px 24px; }
.post h3 { font: 600 22px/1.25 var(--serif); margin: 0 0 10px; }
.post h3 a { color: var(--tinta); text-decoration: none; }
.post h3 a:hover { color: var(--ouro); }
.post-corpo p { margin: 0; font-size: 14px; color: var(--texto-suave); }
.posts-mais { margin-top: 32px; }
@media (max-width: 899px) { .posts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .posts { grid-template-columns: 1fr; } }

/* ---------- Ajustes inspirados na LP de sucessões ---------- */
/* Rótulo acima do título: dourado, pequeno, como na LP */
.rotulo { background: none; color: var(--ouro); padding: 0; border-radius: 0; font: 600 12px/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; margin: 0 0 12px; }
.rotulo-claro { background: none; border: 0; color: var(--ouro-claro); }
.botao-grande { padding: 17px 28px; font-size: 16px; box-shadow: 0 12px 28px -12px rgba(23,138,69,.6); }
.cta-secao { margin-top: 44px; margin-bottom: 0; }
.dep-selo { margin: -28px 0 36px; }
.dep-selo .selo-google { margin-top: 0; }

/* Avaliações no padrão da LP */
.avaliacoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.avaliacao { margin: 0; background: var(--branco); border: 0; border-radius: 14px; padding: 24px 26px 20px; display: flex; flex-direction: column; max-width: none; color: var(--texto); box-shadow: 0 20px 40px -28px rgba(0,0,0,.5); }
.avaliacao-topo { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.avaliacao-topo strong { display: block; color: var(--tinta); font-size: 15.5px; }
.avaliacao-topo span:not(.avatar) { font-size: 13px; color: var(--texto-suave); }
.avaliacao-topo .g { width: 20px; height: 20px; margin-left: auto; flex: none; }
.avatar { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; color: var(--branco); font-weight: 600; font-size: 17px; flex: none; }
.avaliacao .estrelas { color: #f5a623; font-size: 15px; letter-spacing: 2px; margin-bottom: 10px; }
.avaliacao-texto { margin: 0; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.avaliacao.aberta .avaliacao-texto { -webkit-line-clamp: unset; display: block; }
.avaliacao-texto p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--texto); font-style: normal; font-family: var(--sans); }
.avaliacao-mais { align-self: flex-start; margin-top: 12px; background: none; border: 0; padding: 0; font: 500 13.5px/1 var(--sans); color: var(--texto-suave); cursor: pointer; }
.avaliacao-mais:hover { color: var(--tinta); }
@media (max-width: 899px) { .avaliacoes { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .avaliacoes { grid-template-columns: 1fr; } }

/* Círculo com o logo */
.sinais-logo { background: radial-gradient(circle at 50% 40%, #13304f, var(--tinta-funda)); display: grid; place-items: center; }
.sinais-logo img, .sinais-foto.sinais-logo img { width: 72%; height: auto; object-fit: contain; transform: none; }

/* Perfis no padrão da LP */
.perfil-corpo { text-align: center; align-items: center; }
.perfil-corpo h3 { font-size: 24px; margin-bottom: 4px; }
.perfil-area { color: var(--ouro); letter-spacing: .12em; text-transform: uppercase; font-size: 12px; margin: 0 0 10px; }
.perfil-corpo .oab { display: inline-block; background: var(--tinta); color: var(--branco); font-size: 12px; letter-spacing: .06em; padding: 5px 12px; border-radius: 4px; margin: 0 0 14px; }
.perfil-corpo .botao { align-self: center; }

/* Foto de equipe (horizontal) no bloco de atendimento */
.atendimento { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.atendimento-foto { max-width: none; }
.atendimento-foto img { aspect-ratio: 4 / 3; object-position: 50% 35%; }
@media (max-width: 899px) { .atendimento { grid-template-columns: 1fr; } }

/* Cabeçalho sem quebra de linha em telas médias */
.menu a, .cabecalho .botao-whats, .marca-nome { white-space: nowrap; }
@media (max-width: 1180px) {
  .cabecalho .envoltorio { gap: 20px; }
  .menu { gap: 18px; }
  .menu a { font-size: 14px; }
  .marca-nome small { display: none; }
}
@media (max-width: 1040px) {
  .cabecalho .botao-whats span { display: none; }
  .cabecalho .botao-whats { padding: 11px 13px; }
}

/* Avaliações dentro da coluna de texto das páginas internas: um cartão por linha */
.artigo .avaliacoes { grid-template-columns: 1fr; gap: 14px; margin: 22px 0 0; }
.artigo .avaliacao { border: 1px solid var(--fio); box-shadow: none; padding: 20px 22px 16px; }
.artigo .avaliacao-texto { -webkit-line-clamp: 3; }
.artigo .avaliacao-topo strong { font-size: 15px; }
.avaliacao-topo > div { min-width: 0; }
.avaliacao-topo strong, .avaliacao-topo span:not(.avatar) { white-space: nowrap; }

/* Cartões dos sócios: mesma grade para todos (nome, função, OAB, texto e botão alinhados) */
/* Cada parte do cartão (foto, nome, função, OAB, texto, botão) ocupa uma linha da grade comum,
   então fica na mesma altura nos três cartões, mesmo se um nome quebrar em duas linhas. */
.perfil-corpo { display: flex; flex-direction: column; align-items: center; text-align: center; }
.perfil-corpo .botao { margin-top: auto; }
@supports (grid-template-rows: subgrid) {
  .perfil-cartao { display: grid; grid-row: span 7; grid-template-rows: subgrid; row-gap: 0; text-align: center; }
  .perfil-corpo { display: contents; }
  .perfil-cartao > .perfil-corpo > * { margin-left: 28px; margin-right: 28px; }
  .perfil-corpo h3 { align-self: end; margin-top: 26px; margin-bottom: 8px; }
  .perfil-corpo .perfil-area { margin-bottom: 12px; }
  .perfil-corpo .oab { justify-self: center; align-self: start; margin-bottom: 14px; }
  .perfil-corpo > p:not(.perfil-area):not(.oab) { margin-bottom: 0; }
  .perfil-corpo .botao { justify-self: center; align-self: end; margin-top: 20px; margin-bottom: 28px; }
}

/* Títulos de cartões em grade: mesma altura, para o texto começar alinhado */
.diferencial h3 { min-height: 2.4em; display: flex; align-items: flex-end; }
.socios { align-items: stretch; }
.socio { display: flex; flex-direction: column; }
.socio h3 { min-height: 2.3em; }
.socio > p:not(.oab):not(.area) { flex: 1; }
.socio .area { margin-top: auto; }
@media (max-width: 899px) { .diferencial h3, .socio h3 { min-height: 0; } }

/* Página de links da bio (/links/) */
.pagina-links { min-height: 100vh; margin: 0; color: #fff; background: var(--tinta-funda) radial-gradient(120% 480px at 50% 0%, #17385a 0%, var(--tinta-funda) 100%) no-repeat; }
.links { width: 100%; max-width: 420px; margin: 0 auto; padding: 48px 20px 28px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.links-logo { display: block; width: 150px; height: auto; margin: 0 auto -4px; }
.links-sub { margin: 0 0 14px; font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.72); }
.links-nota { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(255,255,255,.05); color: #fff; text-decoration: none; font-size: 13px; }
.links-nota .g { width: 18px; height: 18px; }
.links-nota b { font-size: 15px; }
.links-nota .estrelas { color: #f4b400; letter-spacing: 1px; }
.links-nota span:last-child { color: rgba(255,255,255,.72); }
.links-lista { width: 100%; margin-top: 30px; display: grid; gap: 12px; }
.botao-link { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 20px; border-radius: 12px; border: 1px solid rgba(201,169,104,.55); background: rgba(255,255,255,.04); color: #fff; font: 600 16px/1 var(--sans); text-decoration: none; transition: background .15s, border-color .15s; }
.botao-link svg { width: 21px; height: 21px; flex: none; color: var(--ouro-claro); }
.botao-link:hover { background: rgba(255,255,255,.09); border-color: var(--ouro-claro); }
.botao-link:focus-visible { outline: 2px solid var(--ouro-claro); outline-offset: 3px; }
.botao-link-whats { background: var(--whats); border-color: var(--whats); }
.botao-link-whats svg { color: #fff; }
.botao-link-whats:hover { background: var(--whats-escuro); border-color: var(--whats-escuro); }
.links-credito { margin: 34px 0 0; font-size: 12px; }
.links-credito a { color: rgba(255,255,255,.5); text-decoration: none; }
.links-credito a:hover { color: var(--ouro-claro); }
@media (prefers-reduced-motion: reduce) { .botao-link { transition: none; } }

/* ===== Alinhamento estrutural dos cartões em grade (revisão 26/10) =====
   Cada parte do cartão ocupa uma linha da grade comum (subgrid): título de duas linhas
   num cartão não desalinha subtítulo, texto e botão dos vizinhos. */
h1, h2, h3 { text-wrap: balance; }
@supports (grid-template-rows: subgrid) {
  /* Áreas de atuação: foto, ícone, título, subtítulo, texto, botão */
  .servico { display: grid; grid-row: span 6; grid-template-rows: subgrid; grid-template-columns: 26px minmax(0, 1fr) 26px; row-gap: 0; }
  .servico > .servico-foto { grid-column: 1 / -1; }
  .servico-corpo { display: contents; }
  .servico-corpo > * { grid-column: 2; }
  .servico-corpo .servico-icone { justify-self: start; }
  .servico h3 { align-self: end; }
  .servico-corpo > p:not(.servico-sub) { margin-bottom: 0; }
  .servico-corpo .botao { justify-self: start; align-self: end; margin-top: 22px; margin-bottom: 28px; }
  /* Formação: instituição, título, texto, botão */
  .formacao { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; }
  .formacao h3 { align-self: end; }
  .formacao p:not(.formacao-onde) { margin-bottom: 0; }
  .formacao .botao { justify-self: start; align-self: end; margin-top: 24px; }
  /* Diferenciais e "onde nos encontra": ícone, título, texto */
  .diferencial, .onde-cartao { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; }
  .diferencial h3 { min-height: 0; display: block; align-self: end; }
  .onde-cartao .servico-icone { justify-self: center; }
  /* Sócios no fim das páginas: nome, OAB, texto, função */
  .socio { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; }
  .socio h3 { min-height: 0; align-self: start; }
  .socio .area { align-self: end; margin-top: 10px; }
}
/* "Quando procurar": as duas colunas com linhas da mesma altura */
.sinais { align-items: stretch; }
.sinais-lista { grid-auto-rows: 1fr; align-content: stretch; }
.sinais-lista li { display: flex; align-items: center; }
.sinais-lista li::before { top: 50%; transform: translateY(-50%); }
.sinais .sinais-foto { align-self: center; }
.home-faq .faq > h2 { text-align: center; }
/* Página de áreas: ícone dourado visível no cabeçalho de cada grupo e cartões alinhados */
.hub-cabeca .area-icone { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--tinta-funda); border: 1px solid var(--ouro); color: var(--ouro-claro); }
.hub-cabeca .area-icone svg { width: 26px; height: 26px; }
@supports (grid-template-rows: subgrid) {
  .hub-cartao { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 0; }
  .hub-cartao h3 { align-self: end; }
}

/* Sócios: cartão único com Atuação e Formação no mesmo padrão para os três (revisão 28/10) */
.perfil-cartao, .perfil-cartao p { color: var(--texto); }
.perfil-cartao .perfil-corpo h3 { color: var(--tinta); }
.perfil-corpo .perfil-item { font-size: 15px; line-height: 1.55; margin-bottom: 14px; }
.perfil-corpo .perfil-item strong { display: block; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ouro); margin-bottom: 4px; }
@supports (grid-template-rows: subgrid) {
  .perfil-cartao > .perfil-corpo > .perfil-item { margin-bottom: 0; padding-top: 14px; border-top: 1px solid var(--fio); text-wrap: pretty; }
  .perfil-cartao > .perfil-corpo > .perfil-item + .perfil-item { margin-top: 14px; }
}
.perfil-cartao .perfil-area { color: var(--ouro); }
/* Áreas da home com 5 cartões (29/10): 3 em cima e 2 embaixo, ocupando a largura toda */
.servico:nth-child(n+4) { grid-column: span 6; }
.servico:nth-child(n+4) h3 { font-size: 27px; }
.servico:nth-child(n+4) .servico-foto { aspect-ratio: 2 / 1; }
@media (max-width: 899px) { .servico:nth-child(n+4) { grid-column: auto; } .servico:nth-child(n+4) .servico-foto { aspect-ratio: 16 / 10; } }

/* ===== Topo da home no celular (29/10): foto dominante, texto centralizado, como o Dr. Yuri ===== */
.subtitulo-curto, .faixa-areas .faixa-copia { display: none; }
@media (max-width: 599px) {
  .topo-home { display: block; min-height: 0; }
  .topo-home .envoltorio.home-topo { padding-bottom: 78vw; }
  .topo-home .envoltorio.home-topo { padding-top: 30px; text-align: center; }
  .home-topo-texto { max-width: none; margin: 0 auto; }
  .topo-home h1 { font-size: 37px; line-height: 1.06; max-width: 15ch; margin: 0 auto; }
  .subtitulo-longo { display: none; }
  .topo-home .subtitulo-curto { display: block; font-size: 16.5px; line-height: 1.5; max-width: 30ch; margin: 14px auto 0; color: #d3dbe6; }
  .home-acoes { justify-content: center; margin-top: 22px; }
  .home-acoes .botao-claro { display: none; }
  .topo-home .selo-google { margin-top: 14px; padding: 7px 14px; font-size: 13px; }
  .topo-home .selo-google b { font-size: 16px; }
  /* a foto dos sócios ocupa a parte de baixo da tela, por trás do texto */
  .home-socios { position: absolute; order: initial; left: 50%; right: auto; top: auto; bottom: 0; transform: translateX(-50%); width: 132%; max-width: 640px; height: auto; margin: 0; z-index: 1; }
  .topo-home::after { width: 100%; background: linear-gradient(180deg, rgba(7,20,36,.97) 0%, rgba(7,20,36,.9) 38%, rgba(7,20,36,.25) 62%, rgba(7,20,36,0) 75%); z-index: 2; }
  .topo-home .envoltorio.home-topo { z-index: 3; }
  /* faixa de áreas numa linha só, correndo devagar */
  .faixa-areas { overflow: hidden; }
  .faixa-trilho { display: flex; width: max-content; animation: faixa-corre 26s linear infinite; }
  .faixa-areas ul, .faixa-areas .faixa-copia { display: flex; flex-wrap: nowrap; width: auto; max-width: none; margin: 0; padding: 13px 0; gap: 0; }
  .faixa-areas li { white-space: nowrap; padding: 0 14px; }
}
@keyframes faixa-corre { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 599px) and (prefers-reduced-motion: reduce) {
  .faixa-trilho { animation: none; }
  .faixa-areas { overflow-x: auto; }
  .faixa-copia { display: none !important; }
}

/* Páginas simples (privacidade) e 404 */
.topo-simples .topo-texto { max-width: 760px; }
.texto-simples { max-width: 760px; padding-top: 48px; padding-bottom: 80px; }
.texto-simples h2 { font: 600 28px/1.2 var(--serif); color: var(--tinta); margin: 36px 0 12px; }
.texto-simples p { font-size: 16.5px; line-height: 1.7; margin: 0 0 16px; }
.texto-simples-data { color: var(--texto-suave); font-size: 14px !important; margin-top: 32px !important; }
.lista-404 { list-style: none; padding: 0; margin: 0 0 28px; display: grid; gap: 10px; }
.lista-404 a { font: 600 20px/1.3 var(--serif); color: var(--tinta); }
.texto-simples .botao { margin: 4px 8px 4px 0; }

/* Contraste (02/11): dourado mais fechado nos textos pequenos sobre fundo claro (5:1).
   O dourado original continua em fios, ícones, números e textos sobre fundo escuro. */
:root { --ouro-texto: #86672f; }
.rotulo:not(.rotulo-claro), .base-legal, .socio .oab, .tabela td::before,
.perfil-area, .perfil-cartao .perfil-area, .perfil-corpo .perfil-item strong,
a:hover, .menu a:hover, .post h3 a:hover { color: var(--ouro-texto); }
/* Link da Política de Privacidade no rodapé escuro e verde do WhatsApp com contraste 5:1 (02/11) */
.rodape-base a:not(.credito) { color: #c7d1de; text-decoration: underline; text-decoration-color: rgba(201,169,104,.6); }
.rodape-base a:not(.credito):hover { color: var(--ouro-claro); }
:root { --whats: #158040; }
