/* AD | Analysis Driven — folha de estilo do site
   Paleta: azul-marinho #14263D, azul-petróleo #24566A, dourado #B89A65, branco, cinza-claro #F4F6F8, grafite #28313B
   Tipografia: Manrope (títulos) e Inter (textos) */

@font-face { font-family: "Manrope"; src: url("../fonts/manrope-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("../fonts/manrope-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("../fonts/manrope-latin-800-normal.woff2") format("woff2"); font-weight: 800; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-600-normal.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root {
  --marinho: #14263D;
  --marinho-fundo: #0E1C2E;
  --marinho-claro: #1D3452;
  --petroleo: #24566A;
  --petroleo-claro: #E6EEF1;
  --ouro: #B89A65;
  --ouro-claro: #C9AE7E;
  --ouro-texto: #7A6234;
  --papel: #F4F6F8;
  --branco: #FFFFFF;
  --tinta: #28313B;
  --tinta-suave: #5A6470;
  --linha: #DDE2E8;
  --linha-escura: rgba(255, 255, 255, 0.14);
  --texto-claro: rgba(255, 255, 255, 0.8);

  --titulo: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif: var(--sans);

  --largura: 1180px;
  --gutter: clamp(16px, 4vw, 40px);
  --raio: 6px;
  --sombra: 0 1px 2px rgba(20, 38, 61, 0.06), 0 8px 24px rgba(20, 38, 61, 0.08);
}

*, *::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(--branco); color: var(--tinta);
  font-family: var(--sans); font-size: 1.0625rem; line-height: 1.65;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3, h4 { font-family: var(--titulo); color: inherit; }
:focus-visible { outline: 3px solid var(--ouro); outline-offset: 3px; border-radius: 2px; }
[hidden] { display: none !important; }
[id] { scroll-margin-top: 96px; }

.container { width: 100%; max-width: var(--largura); margin: 0 auto; padding: 0 var(--gutter); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pular { position: absolute; left: -9999px; top: 8px; background: var(--ouro); color: var(--marinho); padding: 8px 14px; font-weight: 700; z-index: 20; }
.pular:focus { left: 8px; }
.nb { white-space: nowrap; }

/* ---------- Cabeçalho ---------- */
.topo { background: var(--marinho); color: var(--branco); position: sticky; top: 0; z-index: 10; transition: box-shadow .2s ease; }
.topo.rolou { box-shadow: 0 6px 18px rgba(8, 18, 32, 0.28); }
.topo .container { display: flex; align-items: center; justify-content: space-between; min-height: 74px; gap: 24px; }
.marca { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; }
.marca img { width: 46px; height: 33px; object-fit: contain; }
.marca span { font-family: var(--titulo); font-weight: 700; font-size: 1.08rem; letter-spacing: -0.01em; line-height: 1.15; }
.marca span b { color: var(--ouro); font-weight: 700; }
.marca em { font-style: normal; color: var(--ouro); font-weight: 600; }
.nav { display: flex; align-items: center; gap: 30px; }
.nav a { text-decoration: none; font-weight: 500; font-size: .97rem; color: rgba(255,255,255,0.8); padding: 6px 0; border-bottom: 2px solid transparent; }
.nav a:hover { color: var(--branco); }
.nav a[aria-current="page"] { color: var(--branco); border-bottom-color: var(--ouro); }
.nav .botao { padding: 10px 18px; border-bottom: 0; margin-left: 4px; }
.menu-botao { display: none; background: none; border: 1px solid var(--linha-escura); color: var(--branco); font: inherit; font-weight: 600; padding: 8px 14px; border-radius: var(--raio); cursor: pointer; }

/* ---------- Botões e links ---------- */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--ouro); color: var(--marinho) !important;
  font-family: var(--sans); font-weight: 600; font-size: 1rem; line-height: 1.3;
  text-decoration: none; border: 0; border-radius: var(--raio);
  padding: 14px 24px; cursor: pointer; transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
}
.botao:hover { background: var(--ouro-claro); }
.botao.secundario { background: transparent; color: var(--branco) !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,0.45); }
.botao.secundario:hover { box-shadow: inset 0 0 0 1.5px var(--branco); background: rgba(255,255,255,0.06); }
.botao.escuro { background: var(--marinho); color: var(--branco) !important; }
.botao.escuro:hover { background: var(--petroleo); }
.botao.contorno { background: transparent; color: var(--marinho) !important; box-shadow: inset 0 0 0 1.5px var(--marinho); }
.botao.contorno:hover { background: var(--papel); }
.botao[disabled] { opacity: .6; cursor: wait; }
.seta::after { content: "\2192"; display: inline-block; transition: transform .15s ease; }
a:hover > .seta::after, .botao:hover .seta::after, a.seta:hover::after { transform: translateX(3px); }
.link-forte { font-weight: 600; color: var(--marinho); text-decoration: none; display: inline-flex; gap: 8px; align-items: center; border-bottom: 2px solid var(--ouro); padding-bottom: 2px; }
.link-forte:hover { color: var(--petroleo); }
.secao.marinho .link-forte, .secao.petroleo .link-forte { color: var(--branco); }
.mais { margin-top: 36px; }
.acoes { display: flex; flex-wrap: wrap; gap: 14px; }

/* ---------- Tipografia de seção ---------- */
.sobretitulo { display: inline-flex; align-items: center; gap: 12px; font-family: var(--sans); font-size: .82rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ouro-texto); margin: 0 0 18px; }
.sobretitulo::before { content: ""; width: 28px; height: 2px; background: var(--ouro); transform: rotate(-38deg); }
.marinho .sobretitulo, .pagina-topo .sobretitulo, .heroi .sobretitulo, .petroleo .sobretitulo { color: var(--ouro); }
.secao { padding: clamp(64px, 9vw, 112px) 0; }
.secao.cinza { background: var(--papel); }
.secao.branca { background: var(--branco); }
.secao.marinho { background: var(--marinho); color: var(--branco); }
.secao.petroleo { background: var(--petroleo); color: var(--branco); }
.secao h2 { font-size: clamp(1.75rem, 3.3vw, 2.5rem); line-height: 1.14; letter-spacing: -0.025em; font-weight: 800; margin: 0 0 18px; max-width: 24ch; }
.secao .intro { font-size: 1.12rem; color: var(--tinta-suave); max-width: 62ch; margin: 0 0 48px; }
.secao.marinho .intro, .secao.petroleo .intro { color: var(--texto-claro); }
.cabeca-secao { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px 48px; margin-bottom: 48px; }
.cabeca-secao .intro { margin-bottom: 0; }

/* ---------- Herói da página inicial ---------- */
.heroi { background: var(--marinho); color: var(--branco); position: relative; overflow: hidden; padding: clamp(56px, 9vw, 120px) 0 clamp(150px, 18vw, 210px); }
.heroi::before { content: ""; position: absolute; right: -6%; top: 18%; width: 52%; height: 2px; background: linear-gradient(90deg, transparent, var(--ouro)); transform: rotate(-38deg); transform-origin: right; opacity: .7; }
.heroi::after { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 80% at 85% 10%, rgba(36, 86, 106, 0.55), transparent 70%); pointer-events: none; }
.heroi .container { position: relative; z-index: 1; }
.heroi h1 { font-size: clamp(2.3rem, 5.2vw, 3.9rem); line-height: 1.06; letter-spacing: -0.035em; font-weight: 800; margin: 0 0 24px; max-width: 22ch; }
.heroi h1 span { color: var(--ouro); }
.heroi h1 .linha { display: block; }
.heroi .lead { font-size: clamp(1.08rem, 1.6vw, 1.28rem); color: var(--texto-claro); max-width: 52ch; margin: 0 0 36px; }

/* As duas especialidades, com o mesmo peso */
.especialidades { margin-top: clamp(-150px, -16vw, -110px); position: relative; z-index: 2; padding-bottom: clamp(56px, 8vw, 96px); }
.especialidades .grade { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 2.4vw, 28px); }
.especialidade { background: var(--branco); border: 1px solid var(--linha); border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--sombra); }
.especialidade .arte { aspect-ratio: 16 / 7; background: var(--marinho); }
.especialidade .arte svg { width: 100%; height: 100%; }
.especialidade .corpo { padding: clamp(24px, 3vw, 36px); display: flex; flex-direction: column; gap: 14px; flex: 1; }
.especialidade .rotulo { font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ouro-texto); }
.especialidade h2 { font-size: clamp(1.45rem, 2.4vw, 1.9rem); letter-spacing: -0.02em; line-height: 1.15; margin: 0; color: var(--marinho); }
.especialidade p { margin: 0; color: var(--tinta-suave); }
.especialidade ul { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.especialidade li { font-size: .85rem; font-weight: 500; color: var(--petroleo); background: var(--petroleo-claro); padding: 4px 10px; border-radius: 999px; }
.especialidade .botao { align-self: flex-start; margin-top: auto; }
.especialidade .corpo > .botao { margin-top: auto; }
.especialidade ul { margin-bottom: 14px; }

/* ---------- Cabeçalho de página interna ---------- */
.pagina-topo { background: var(--marinho); color: var(--branco); padding: clamp(52px, 8vw, 104px) 0 clamp(48px, 7vw, 88px); position: relative; overflow: hidden; }
.pagina-topo::after { content: ""; position: absolute; right: -4%; bottom: 22%; width: 38%; height: 2px; background: linear-gradient(90deg, transparent, var(--ouro)); transform: rotate(-38deg); transform-origin: right; opacity: .55; pointer-events: none; }
.pagina-topo .container { position: relative; z-index: 1; }
.pagina-topo h1 { font-size: clamp(2.05rem, 4.6vw, 3.5rem); line-height: 1.07; letter-spacing: -0.03em; font-weight: 800; margin: 0 0 20px; max-width: 22ch; }
.pagina-topo p { font-size: clamp(1.05rem, 1.5vw, 1.2rem); color: var(--texto-claro); max-width: 60ch; margin: 0; }
.pagina-topo .acoes { margin-top: 32px; }
.pagina-topo.patrimonial-topo { background: linear-gradient(120deg, var(--marinho) 55%, var(--petroleo)); }

/* ---------- Declaração em destaque ---------- */
.destaque-frase { font-family: var(--titulo); font-size: clamp(1.45rem, 2.8vw, 2.15rem); line-height: 1.3; letter-spacing: -0.02em; font-weight: 700; color: var(--marinho); max-width: 34ch; margin: 0; padding-left: clamp(20px, 3vw, 32px); border-left: 3px solid var(--ouro); }
.destaque-frase span { color: var(--petroleo); }

/* ---------- Fluxo Operação → Resultado ---------- */
.fluxo { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; counter-reset: passo; }
.fluxo li { position: relative; padding: 0 18px 0 0; }
.fluxo .no { display: flex; align-items: center; gap: 0; margin-bottom: 18px; }
.fluxo .no i { width: 52px; height: 52px; flex: none; border-radius: 50%; border: 2px solid var(--ouro); display: grid; place-items: center; font-style: normal; font-family: var(--titulo); font-weight: 800; color: var(--ouro); background: var(--marinho); position: relative; z-index: 1; }
.fluxo .no::after { content: ""; flex: 1; height: 2px; background: linear-gradient(90deg, var(--ouro), rgba(184,154,101,0.25)); margin-left: 10px; }
.fluxo li:last-child .no::after { display: none; }
.fluxo li:last-child .no i { background: var(--ouro); color: var(--marinho); }
.fluxo h3 { margin: 0 0 6px; font-size: 1.15rem; }
.fluxo p { margin: 0; font-size: .95rem; color: var(--texto-claro); }

/* ---------- Etapas (metodologia) ---------- */
.etapas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; counter-reset: etapa; }
.etapas li { counter-increment: etapa; padding: 0 24px 0 0; position: relative; }
.etapas li::before { content: counter(etapa, decimal-leading-zero); display: block; font-family: var(--titulo); font-weight: 800; font-size: 1rem; color: var(--ouro); margin-bottom: 16px; padding-bottom: 14px; border-bottom: 2px solid var(--linha-escura); }
.secao:not(.marinho):not(.petroleo) .etapas li::before { color: var(--ouro-texto); border-bottom-color: var(--linha); }
.etapas h3 { margin: 0 0 8px; font-size: 1.18rem; }
.etapas p { margin: 0; color: var(--texto-claro); font-size: .98rem; }
.secao:not(.marinho):not(.petroleo) .etapas p { color: var(--tinta-suave); }

/* ---------- Lista de pontos com o traço da marca ---------- */
.sintomas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 clamp(24px, 4vw, 56px); }
.sintomas li { padding: 28px 0 0 34px; position: relative; border-top: 1px solid var(--linha); }
.sintomas li::before { content: ""; position: absolute; left: 4px; top: 36px; width: 2px; height: 24px; background: var(--ouro); transform: rotate(38deg); }
.sintomas h3 { margin: 0 0 8px; font-size: 1.15rem; letter-spacing: -0.01em; color: var(--marinho); }
.sintomas p { margin: 0; color: var(--tinta-suave); }
.secao.marinho .sintomas li { border-top-color: var(--linha-escura); }
.secao.marinho .sintomas h3 { color: var(--branco); }
.secao.marinho .sintomas p { color: var(--texto-claro); }
.sintomas.quatro { grid-template-columns: repeat(4, 1fr); }

/* ---------- Serviços (lista em linhas) ---------- */
.servicos-lista { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--marinho); counter-reset: servico; }
.servicos-lista > li { counter-increment: servico; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 16px clamp(24px, 5vw, 72px); padding: 36px 0; border-bottom: 1px solid var(--linha); }
.servicos-lista h3 { margin: 0; font-size: clamp(1.3rem, 2.2vw, 1.6rem); letter-spacing: -0.02em; line-height: 1.2; color: var(--marinho); }
.servicos-lista h3::before { content: counter(servico, decimal-leading-zero); display: block; font-size: .9rem; color: var(--ouro-texto); margin-bottom: 8px; letter-spacing: 0; }
.servicos-lista .sem-numero h3::before { display: none; }
.servicos-lista .para-quem { display: block; margin-top: 10px; font-size: .95rem; font-weight: 500; color: var(--petroleo); }
.servicos-lista p { margin: 0 0 12px; color: var(--tinta-suave); }
.servicos-lista ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 28px; }
.servicos-lista ul li { position: relative; padding-left: 22px; color: var(--tinta); }
.servicos-lista ul li::before { content: ""; position: absolute; left: 0; top: .72em; width: 10px; height: 2px; background: var(--ouro); }
.servicos-lista .complementar { background: var(--papel); padding: 28px clamp(20px, 3vw, 32px); border-bottom: 0; margin-top: 24px; border-radius: var(--raio); }

/* ---------- Diferenciais ---------- */
.diferenciais { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 clamp(32px, 6vw, 96px); list-style: none; margin: 0; padding: 0; }
.diferenciais li { padding: 26px 0; border-top: 1px solid var(--linha); display: grid; grid-template-columns: 44px 1fr; gap: 18px; }
.diferenciais .icone { width: 44px; height: 44px; border-radius: 50%; background: var(--petroleo-claro); color: var(--petroleo); display: grid; place-items: center; }
.diferenciais .icone svg { width: 22px; height: 22px; }
.diferenciais h3 { margin: 2px 0 6px; font-size: 1.12rem; color: var(--marinho); }
.diferenciais p { margin: 0; color: var(--tinta-suave); }

/* ---------- Como podemos ajudar ---------- */
.ajuda { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linha); }
.ajuda a { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 24px 4px; border-bottom: 1px solid var(--linha); text-decoration: none; transition: background .15s ease, padding .15s ease; }
.ajuda a:hover { background: var(--papel); padding-left: 16px; padding-right: 16px; }
.ajuda strong { display: block; font-family: var(--titulo); font-size: clamp(1.08rem, 1.8vw, 1.28rem); color: var(--marinho); letter-spacing: -0.01em; }
.ajuda span.para { font-size: .9rem; color: var(--tinta-suave); }
.ajuda .ir { font-weight: 600; font-size: .92rem; color: var(--petroleo); white-space: nowrap; }

/* ---------- Fundadora ---------- */
.fundadora { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.retrato { aspect-ratio: 4 / 5; border-radius: 10px; background: var(--marinho); position: relative; overflow: hidden; display: grid; place-items: center; max-width: 400px; width: 100%; }
.retrato::after { content: ""; position: absolute; left: -10%; bottom: 26%; width: 120%; height: 2px; background: linear-gradient(90deg, transparent, var(--ouro), transparent); transform: rotate(-38deg); opacity: .6; }
.retrato img.monograma-img { width: 44%; position: relative; z-index: 1; }
.retrato img.foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fundadora .texto p { margin: 0 0 1em; color: var(--tinta-suave); max-width: 62ch; }
.fundadora .texto p.sobretitulo { color: var(--ouro-texto); margin-bottom: 18px; }
.fundadora h2 { color: var(--marinho); }
.fundadora h2 { margin-bottom: 20px; }

/* ---------- Credenciais ---------- */
.credenciais { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.credenciais li { border: 1px solid var(--linha); border-radius: var(--raio); padding: 22px 24px; background: var(--branco); }
.credenciais strong { display: block; font-family: var(--titulo); color: var(--marinho); font-size: 1.05rem; margin-bottom: 6px; }
.credenciais span { color: var(--tinta-suave); font-size: .95rem; }
.credenciais .situacao { display: inline-block; margin-top: 12px; font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 3px 10px; border-radius: 999px; background: var(--petroleo-claro); color: var(--petroleo); }
.credenciais .andamento .situacao { background: #F3EEE4; color: var(--ouro-texto); }

/* ---------- Pilares ---------- */
.pilares { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.pilares li { border: 1px solid var(--linha-escura); padding: 8px 16px; border-radius: 999px; font-size: .95rem; color: var(--branco); }
.secao:not(.marinho):not(.petroleo) .pilares li { border-color: var(--linha); color: var(--marinho); background: var(--branco); }

/* ---------- Avisos de limite e caixas de nota ---------- */
.nota-limite { display: grid; grid-template-columns: 28px 1fr; gap: 14px; background: var(--papel); border-radius: var(--raio); padding: 20px 24px; color: var(--tinta-suave); font-size: .97rem; margin-top: 40px; }
.nota-limite svg { width: 24px; height: 24px; color: var(--petroleo); margin-top: 2px; }
.nota-limite p { margin: 0; }
.em-preparacao { border: 1px dashed var(--ouro); border-radius: 10px; padding: clamp(24px, 3vw, 36px); background: #FBF8F2; }
.em-preparacao .selo { display: inline-flex; align-items: center; gap: 8px; font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ouro-texto); margin-bottom: 12px; }
.em-preparacao .selo::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ouro); }
.em-preparacao h2, .em-preparacao h3 { margin: 0 0 10px; color: var(--marinho); }
.em-preparacao p { margin: 0; color: var(--tinta-suave); max-width: 70ch; }

/* ---------- Cartões de ligação (ex.: Patrimonial → Imóveis) ---------- */
.ligacoes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.ligacao { display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: 10px; border: 1px solid var(--linha); text-decoration: none; background: var(--branco); transition: border-color .15s ease, box-shadow .15s ease; }
.ligacao:hover { border-color: var(--ouro); box-shadow: var(--sombra); }
.ligacao strong { font-family: var(--titulo); font-size: 1.2rem; color: var(--marinho); }
.ligacao span { color: var(--tinta-suave); }
.ligacao .ir { color: var(--petroleo); font-weight: 600; margin-top: auto; }

/* ---------- Lista de artigos ---------- */
.artigos-lista { list-style: none; margin: 0; padding: 0; }
.artigos-lista li { border-top: 1px solid var(--linha); }
.artigos-lista li:last-child { border-bottom: 1px solid var(--linha); }
.artigos-lista a { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 8px 32px; padding: 28px 0; text-decoration: none; }
.artigos-lista a:hover h3 { text-decoration: underline; text-decoration-color: var(--ouro); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.artigo-meta { font-size: .9rem; color: var(--tinta-suave); }
.artigo-meta strong { display: block; color: var(--ouro-texto); font-weight: 600; }
.artigos-lista h3 { margin: 0 0 8px; font-size: clamp(1.18rem, 2vw, 1.4rem); letter-spacing: -0.015em; line-height: 1.25; color: var(--marinho); }
.artigos-lista p { margin: 0; color: var(--tinta-suave); max-width: 70ch; }
.estado { padding: 28px 0; color: var(--tinta-suave); }
.filtros { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 32px; }
.filtros button { font: inherit; font-size: .93rem; font-weight: 500; padding: 8px 16px; border-radius: 999px; border: 1.5px solid var(--linha); background: var(--branco); color: var(--tinta); cursor: pointer; }
.filtros button[aria-pressed="true"] { background: var(--marinho); border-color: var(--marinho); color: var(--branco); }

/* ---------- Artigo ---------- */
.artigo-cabecalho { background: var(--marinho); color: var(--branco); padding: clamp(44px, 6vw, 84px) 0 clamp(36px, 5vw, 60px); }
.artigo-cabecalho .container, .artigo-corpo .container { max-width: calc(740px + 2 * var(--gutter)); }
.voltar { display: inline-block; margin-bottom: 24px; color: rgba(255,255,255,0.75); text-decoration: none; font-weight: 500; }
.voltar::before { content: "\2190  "; }
.voltar:hover { color: var(--branco); }
.artigo-cabecalho .categoria { color: var(--ouro); font-weight: 600; margin: 0 0 12px; }
.artigo-cabecalho h1 { font-size: clamp(1.9rem, 4.2vw, 2.9rem); line-height: 1.12; letter-spacing: -0.028em; font-weight: 800; margin: 0 0 18px; }
.artigo-cabecalho .resumo { font-size: 1.15rem; color: var(--texto-claro); margin: 0 0 20px; }
.artigo-cabecalho .artigo-meta { color: rgba(255,255,255,0.65); }
.artigo-corpo { background: var(--branco); padding: clamp(40px, 6vw, 72px) 0 clamp(56px, 8vw, 96px); }
.prosa { font-size: 1.1rem; line-height: 1.78; color: var(--tinta); }
.prosa > *:first-child { margin-top: 0; }
.prosa p, .prosa ul, .prosa ol { margin: 0 0 1.25em; }
.prosa li { margin: .35em 0; }
.prosa h2 { font-size: 1.55rem; line-height: 1.22; letter-spacing: -0.02em; margin: 2em 0 .6em; color: var(--marinho); }
.prosa h3 { font-size: 1.22rem; margin: 1.6em 0 .5em; color: var(--marinho); }
.prosa strong { font-weight: 600; }
.prosa a { color: var(--petroleo); text-decoration-color: var(--ouro); text-underline-offset: 3px; }
.prosa .tabela { overflow-x: auto; margin: 0 0 1.5em; border: 1px solid var(--linha); border-radius: var(--raio); }
.prosa table { width: 100%; border-collapse: collapse; font-size: .96rem; line-height: 1.45; }
.prosa th, .prosa td { padding: 11px 14px; text-align: left; border-bottom: 1px solid var(--linha); vertical-align: top; }
.prosa th { background: var(--papel); font-weight: 600; color: var(--marinho); }
.prosa tr:last-child td { border-bottom: 0; }
.prosa td:not(:first-child), .prosa th:not(:first-child) { white-space: nowrap; }
.prosa code { font-size: .9em; background: var(--papel); padding: 2px 5px; border-radius: 3px; }
.prosa blockquote { margin: 0 0 1.25em; padding-left: 20px; border-left: 3px solid var(--ouro); color: var(--tinta-suave); font-style: italic; }
.artigo-fim { margin-top: 56px; padding: 28px; background: var(--papel); border-left: 3px solid var(--ouro); border-radius: 0 var(--raio) var(--raio) 0; }
.artigo-fim h2 { font-size: 1.3rem; margin: 0 0 8px; color: var(--marinho); }
.artigo-fim p { margin: 0 0 18px; color: var(--tinta-suave); }
.artigo-fim .acoes { gap: 10px; }

/* ---------- Texto longo (Sobre, Privacidade) ---------- */
.texto-longo { max-width: 72ch; }
.texto-longo p, .texto-longo li { color: var(--tinta); }
.texto-longo p { margin: 0 0 1.1em; }
.texto-longo h2 { font-size: clamp(1.35rem, 2.4vw, 1.7rem); margin: 2.2em 0 .6em; color: var(--marinho); max-width: none; }
.texto-longo h2:first-child { margin-top: 0; }
.texto-longo ul { padding-left: 1.2em; margin: 0 0 1.1em; }
.texto-longo li { margin: .3em 0; }
.texto-longo .atualizado { color: var(--tinta-suave); font-size: .95rem; }
.sobre-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.principios { list-style: none; padding: 0; margin: 0; }
.principios li { padding: 18px 0; border-top: 1px solid var(--linha); }
.principios strong { display: block; font-family: var(--titulo); font-size: 1.08rem; margin-bottom: 4px; color: var(--marinho); }
.principios span { color: var(--tinta-suave); }

/* ---------- Formulários ---------- */
.contato-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.contato-grade aside h2 { font-size: clamp(1.4rem, 2.4vw, 1.8rem); }
.contato-grade aside p { color: var(--tinta-suave); margin: 0 0 16px; }
.contato-grade aside ul { padding-left: 1.1em; margin: 0 0 24px; color: var(--tinta-suave); }
.contato-grade aside .canal { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--linha); }
.form { background: var(--branco); border: 1px solid var(--linha); border-radius: 10px; padding: clamp(20px, 3vw, 36px); box-shadow: var(--sombra); }
.campos-duplos { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.campo { margin-bottom: 20px; }
.campo label, .campo legend { display: block; font-weight: 600; margin-bottom: 6px; font-size: .97rem; color: var(--marinho); }
.campo label small, .campo legend small { font-weight: 400; color: var(--tinta-suave); }
.campo input, .campo textarea, .campo select { width: 100%; font: inherit; font-size: 1rem; color: var(--tinta); background: var(--papel); border: 1.5px solid var(--linha); border-radius: var(--raio); padding: 12px 14px; }
.campo select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--tinta-suave) 50%), linear-gradient(135deg, var(--tinta-suave) 50%, transparent 50%); background-position: calc(100% - 20px) 52%, calc(100% - 14px) 52%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 40px; }
.campo input:focus, .campo textarea:focus, .campo select:focus { outline: none; border-color: var(--petroleo); background-color: var(--branco); box-shadow: 0 0 0 3px rgba(184,154,101,0.4); }
.campo textarea { min-height: 150px; resize: vertical; }
fieldset.campo { border: 0; padding: 0; margin: 0 0 20px; min-width: 0; }
.opcoes-area { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.opcoes-area label { margin: 0; display: flex; align-items: center; gap: 10px; border: 1.5px solid var(--linha); border-radius: var(--raio); padding: 11px 12px; font-weight: 500; cursor: pointer; background: var(--papel); color: var(--tinta); }
.opcoes-area input { width: auto; accent-color: var(--petroleo); margin: 0; }
.opcoes-area label:has(input:checked) { border-color: var(--petroleo); background: var(--petroleo-claro); color: var(--marinho); }
.opcoes-area label:has(input:focus-visible) { outline: 3px solid var(--ouro); outline-offset: 2px; }
.consentimento { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; font-size: .93rem; color: var(--tinta-suave); margin: 4px 0 22px; }
.consentimento input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--petroleo); }
.consentimento a { color: var(--petroleo); }
.campo-isca { position: absolute; left: -9999px; }
.aviso { margin: 16px 0 0; padding: 14px 16px; border-radius: var(--raio); font-weight: 500; }
.aviso.ok { background: #E7F3EC; color: #1E5B37; }
.aviso.erro { background: #FBEAEA; color: #8A1F1F; }
.privacidade-curta { font-size: .85rem; color: var(--tinta-suave); margin: 14px 0 0; }

/* ---------- Imóveis ---------- */
.imoveis-filtros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 32px; padding: 20px; background: var(--papel); border-radius: 10px; }
.imoveis-filtros .campo { margin: 0; }
.imoveis-grade { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.imovel-cartao a { display: flex; flex-direction: column; height: 100%; text-decoration: none; border: 1px solid var(--linha); border-radius: 10px; overflow: hidden; background: var(--branco); transition: box-shadow .15s ease, border-color .15s ease; }
.imovel-cartao a:hover { box-shadow: var(--sombra); border-color: var(--ouro); }
.imovel-cartao .foto { aspect-ratio: 4 / 3; background: var(--papel); }
.imovel-cartao .foto img { width: 100%; height: 100%; object-fit: cover; }
.imovel-cartao .info { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 6px; }
.imovel-cartao .finalidade { font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--petroleo); }
.imovel-cartao h3 { margin: 0; font-size: 1.12rem; color: var(--marinho); line-height: 1.3; }
.imovel-cartao .local { color: var(--tinta-suave); font-size: .93rem; }
.imovel-cartao .preco { font-family: var(--titulo); font-weight: 800; color: var(--marinho); font-size: 1.2rem; margin-top: 6px; }
.imovel-cartao .carac { font-size: .88rem; color: var(--tinta-suave); }
.imovel-detalhe { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.galeria .principal { aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: var(--papel); }
.galeria .principal img { width: 100%; height: 100%; object-fit: cover; }
.galeria .miniaturas { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; padding-bottom: 4px; }
.galeria .miniaturas button { flex: none; width: 92px; aspect-ratio: 4 / 3; padding: 0; border: 2px solid transparent; border-radius: var(--raio); overflow: hidden; cursor: pointer; background: var(--papel); }
.galeria .miniaturas button[aria-current="true"] { border-color: var(--ouro); }
.galeria .miniaturas img { width: 100%; height: 100%; object-fit: cover; }
.ficha { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--linha); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.ficha li { background: var(--branco); padding: 12px 14px; }
.ficha span { display: block; font-size: .8rem; color: var(--tinta-suave); }
.ficha strong { color: var(--marinho); }

/* ---------- Vídeo (página da campanha) ---------- */
.video-grade { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: clamp(28px, 6vw, 80px); align-items: center; }
.video-grade video { width: 100%; height: auto; aspect-ratio: 9 / 16; border-radius: 10px; background: var(--marinho); }
.video-grade .intro { margin-bottom: 18px; }
.caminhos { margin: 0; background: var(--marinho-fundo); border: 1px solid var(--linha-escura); border-radius: 10px; padding: clamp(20px, 3vw, 32px); }
.caminhos figcaption { font-size: .92rem; color: rgba(255,255,255,0.66); margin-bottom: 14px; }
.caminhos ol { list-style: none; margin: 0; padding: 0; counter-reset: caminho; }
.caminhos li { counter-increment: caminho; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px dashed var(--linha-escura); color: rgba(255,255,255,0.88); font-weight: 500; }
.caminhos li::before { content: counter(caminho); width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--ouro); color: var(--ouro); font-size: .85rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.caminhos .total { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 16px; margin-top: 18px; padding-top: 16px; border-top: 2px solid var(--ouro); }
.caminhos .total span:first-child { font-weight: 600; }
.caminhos .total .valor { color: var(--ouro); font-family: var(--titulo); font-size: 1.3rem; font-weight: 800; text-align: right; }
.caminhos .nota { margin: 14px 0 0; font-size: .8rem; color: rgba(255,255,255,0.55); }
.heroi-campanha .container { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.heroi-campanha { padding-bottom: clamp(56px, 9vw, 120px); }
.heroi-campanha::before { display: none; }
.escopo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 32px); }
.escopo-col { background: var(--branco); border: 1px solid var(--linha); border-top: 4px solid var(--marinho); border-radius: var(--raio); padding: clamp(22px, 3vw, 32px); }
.escopo-col.nao { border-top-color: var(--ouro); }
.escopo-col h3 { margin: 0 0 14px; font-size: 1.22rem; color: var(--marinho); }
.escopo-col ul { list-style: none; margin: 0; padding: 0; }
.escopo-col li { position: relative; padding: 10px 0 10px 30px; border-top: 1px solid var(--linha); color: var(--tinta-suave); }
.escopo-col li:first-child { border-top: 0; }
.escopo-col li::before { position: absolute; left: 2px; top: 9px; font-weight: 800; }
.escopo-col.sim li::before { content: "\2713"; color: var(--petroleo); }
.escopo-col.nao li::before { content: "\2013"; color: var(--ouro-texto); }

/* ---------- Faixa de chamada ---------- */
.chamada { background: var(--marinho); color: var(--branco); position: relative; overflow: hidden; }
.chamada::before { content: ""; position: absolute; left: -8%; top: 50%; width: 40%; height: 2px; background: linear-gradient(90deg, transparent, var(--ouro)); transform: rotate(-38deg); opacity: .5; }
.chamada .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 48px; position: relative; }
.chamada h2 { margin: 0 0 10px; color: var(--branco); }
.chamada p { margin: 0; color: var(--texto-claro); max-width: 54ch; }

/* ---------- Rodapé ---------- */
.rodape { background: var(--marinho-fundo); color: rgba(255,255,255,0.72); padding: 64px 0 36px; font-size: .95rem; }
.rodape .grade { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px 48px; padding-bottom: 40px; border-bottom: 1px solid var(--linha-escura); }
.rodape .assinatura { margin: 14px 0 0; max-width: 34ch; color: rgba(255,255,255,0.7); }
.rodape h2 { font-family: var(--sans); font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ouro); margin: 0 0 14px; font-weight: 600; }
.rodape ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rodape a { text-decoration: none; }
.rodape a:hover { color: var(--branco); }
.rodape .marca span { color: var(--branco); }
.rodape .base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; padding-top: 24px; font-size: .88rem; color: rgba(255,255,255,0.55); }

/* ---------- Animação de entrada (suave) ---------- */
.js .revelar { opacity: 0; transform: translateY(14px); transition: opacity .7s ease, transform .7s ease; }
.js .revelar.visivel { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .revelar { opacity: 1; transform: none; transition: none; } }

/* ---------- Responsivo ---------- */
@media (max-width: 1000px) {
  .fluxo { grid-template-columns: 1fr; gap: 0; }
  .fluxo li { padding: 0 0 26px 72px; }
  .fluxo .no { position: absolute; left: 0; top: 0; flex-direction: column; height: 100%; margin: 0; }
  .fluxo .no::after { width: 2px; height: auto; flex: 1; margin: 8px 0 0; background: linear-gradient(180deg, var(--ouro), rgba(184,154,101,0.25)); }
  .fluxo li:last-child { padding-bottom: 0; }
  .fluxo h3 { padding-top: 12px; }
  .sintomas.quatro { grid-template-columns: 1fr 1fr; }
  .imoveis-filtros { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .especialidades .grade, .sobre-grade, .contato-grade, .fundadora, .imovel-detalhe, .heroi-campanha .container, .escopo, .video-grade { grid-template-columns: 1fr; }
  .sintomas { grid-template-columns: 1fr; }
  .servicos-lista > li { grid-template-columns: 1fr; }
  .etapas { grid-template-columns: 1fr 1fr; gap: 36px 0; }
  .diferenciais { grid-template-columns: 1fr; }
  .ligacoes { grid-template-columns: 1fr; }
  .retrato { max-width: 320px; aspect-ratio: 1; }
  .rodape .grade { grid-template-columns: 1fr 1fr; }
  .rodape .grade > :first-child { grid-column: 1 / -1; }
  .video-grade video { max-width: 300px; margin: 0 auto; }
}
@media (max-width: 860px) {
  .menu-botao { display: inline-block; }
  .nav { display: none; position: absolute; top: 74px; left: 0; right: 0; background: var(--marinho); flex-direction: column; align-items: stretch; gap: 0; padding: 8px var(--gutter) 24px; border-top: 1px solid var(--linha-escura); box-shadow: 0 12px 24px rgba(8,18,32,.3); }
  .nav.aberto { display: flex; }
  .nav a { padding: 14px 0; border-bottom: 1px solid var(--linha-escura); }
  .nav a[aria-current="page"] { border-bottom-color: var(--linha-escura); color: var(--ouro); }
  .nav .botao { margin: 16px 0 0; padding: 14px; }
  .artigos-lista a { grid-template-columns: 1fr; }
  .artigo-meta strong { display: inline; margin-right: 10px; }
}
@media (max-width: 600px) {
  .servicos-lista ul { grid-template-columns: 1fr; }
  .etapas { grid-template-columns: 1fr; }
  .sintomas.quatro { grid-template-columns: 1fr; }
  .campos-duplos { grid-template-columns: 1fr; }
  .opcoes-area { grid-template-columns: 1fr; }
  .imoveis-filtros { grid-template-columns: 1fr; }
  .acoes .botao { width: 100%; }
  .especialidade .botao { width: 100%; }
  .ajuda a { grid-template-columns: 1fr; gap: 6px; }
  .rodape .grade { grid-template-columns: 1fr; }
  .marca span { font-size: .98rem; }
  .ficha { grid-template-columns: 1fr; }
  .caminhos .total { grid-template-columns: 1fr; gap: 2px; }
  .caminhos .total .valor { text-align: left; }
}
.servicos-lista .complementar h3::before { display: none; }
@media (max-width: 600px) { .so-largo { display: none; } }
