﻿/* =========================================================================
   JML Advogados
   Ouro queimado sobre grafite. Assinatura: a marca serial da OAB.
   ========================================================================= */

:root{
  /* cor */
  --ink:#14161A;
  --ink-2:#1D2026;
  --ink-3:#2A2E36;
  --gold:#B8912F;
  --gold-soft:#D4B45F;
  --gold-deep:#8A6C1F;
  --paper:#F5F1E8;
  --paper-2:#EDE7DA;
  --white:#FFFFFF;
  --gray:#5C616B;
  --gray-light:#8A8F98;
  --line:rgba(20,22,26,.12);
  --line-dark:rgba(184,145,47,.22);

  /* tipo */
  --display:'Newsreader',Georgia,'Times New Roman',serif;
  --body:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'Courier New',monospace;

  /* escala */
  --s-1:.5rem;  --s-2:.75rem; --s-3:1rem;   --s-4:1.5rem;
  --s-5:2rem;   --s-6:3rem;   --s-7:4.5rem; --s-8:7rem;

  --radius:2px;
  --topo-h:88px;
  --topo-h-scroll:66px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- base ---------- */

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

/* O atributo hidden do HTML so esconde porque o navegador aplica [hidden]{display:none}.
   Qualquer regra nossa que declare display (.btn, .lgpd__opcoes) vence essa regra do
   navegador por origem de cascata, e o elemento reaparece mesmo com hidden no markup.
   Era o que fazia o aviso de cookies abrir com as opcoes ja expandidas. */
[hidden]{ display:none !important; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; height:auto; display:block; }

a{ color:inherit; }

h1,h2,h3,h4{
  font-family:var(--display);
  font-weight:500;
  line-height:1.16;
  letter-spacing:-.005em;
  font-optical-sizing:auto;
  margin:0 0 var(--s-3);
  text-wrap:balance;
}

p{ margin:0 0 var(--s-3); }

:where(a,button,input,select,textarea):focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}

.pular{
  position:absolute; left:-9999px;
  background:var(--gold); color:var(--ink);
  padding:12px 20px; z-index:100000; font-weight:600;
}
.pular:focus{ left:12px; top:12px; }

.wrap{ width:min(1180px,calc(100% - 2*var(--s-4))); margin-inline:auto; }
.wrap--estreito{ width:min(760px,calc(100% - 2*var(--s-4))); }

/* ---------- assinatura: marca serial da OAB ---------- */

.oab-mark{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:11px; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); white-space:nowrap;
}
.oab-mark__rule{ width:26px; height:1px; background:currentColor; opacity:.55; }
.oab-mark__num{ letter-spacing:.28em; }
.oab-mark--hero{ margin-bottom:var(--s-4); }
.oab-mark--pagina{ margin-bottom:var(--s-3); }
.oab-mark--topo{ color:rgba(245,241,232,.6); font-size:10px; }
.oab-mark--rodape,.oab-mark--contato{ margin-top:var(--s-3); }
.oab-mark--nav{ display:none; }

.eyebrow{
  font-family:var(--mono); font-size:11px; font-weight:500;
  letter-spacing:.24em; text-transform:uppercase;
  color:var(--gray); margin:0 0 var(--s-2);
}
.eyebrow--gold{ color:var(--gold); }

/* ---------- botoes ---------- */

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:14px 26px; border:1px solid transparent; border-radius:var(--radius);
  font-family:var(--body); font-size:14px; font-weight:600;
  letter-spacing:.04em; text-decoration:none; cursor:pointer;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .2s var(--ease);
}
.btn--sm{ padding:10px 18px; font-size:13px; }

.btn--gold{ background:var(--gold); color:var(--ink); }
.btn--gold:hover{ background:var(--gold-soft); transform:translateY(-1px); }

.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn--ghost:hover{ border-color:var(--gold); color:var(--gold-deep); }

.btn--ghost-dark{ background:transparent; color:var(--paper); border-color:rgba(245,241,232,.3); }
.btn--ghost-dark:hover{ border-color:var(--gold); color:var(--gold); }

/* Trava de seguranca: .btn--ghost usa texto grafite e some se cair em bloco
   de fundo escuro. Se alguem esquecer o --ghost-dark, isto salva. */
.hero .btn--ghost,
.leiloes .btn--ghost,
.cta .btn--ghost,
.lgpd .btn--ghost,
.area-cta .btn--ghost,
.pagina-topo .btn--ghost,
.rodape .btn--ghost{
  color:var(--paper);
  border-color:rgba(245,241,232,.3);
}
.hero .btn--ghost:hover,
.leiloes .btn--ghost:hover,
.cta .btn--ghost:hover,
.lgpd .btn--ghost:hover,
.area-cta .btn--ghost:hover,
.pagina-topo .btn--ghost:hover,
.rodape .btn--ghost:hover{ border-color:var(--gold); color:var(--gold); }

.link-seta{
  font-family:var(--mono); font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; text-decoration:none; color:var(--gold-deep);
  border-bottom:1px solid currentColor; padding-bottom:3px; white-space:nowrap;
}
.link-seta:hover{ color:var(--ink); }

/* ---------- topo ---------- */

.topo{
  position:fixed; inset:0 0 auto 0; z-index:900;
  height:var(--topo-h);
  display:flex; align-items:center;
  background:var(--ink);
  transition:height .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease);
}
.is-home .topo{ background:transparent; }

/* A barra do WordPress fica fixa no topo para quem esta logado.
   Sem isto o header do site some atras dela e o menu nao clica. */
body.admin-bar .topo{ top:32px; }
@media (max-width:782px){
  body.admin-bar .topo{ top:46px; }
  body.admin-bar .nav{ top:46px; }
}
.topo.scrolled{
  height:var(--topo-h-scroll);
  background:var(--ink);
  box-shadow:0 1px 0 var(--line-dark),0 10px 30px rgba(0,0,0,.25);
}
.topo__inner{ display:flex; align-items:center; justify-content:space-between; gap:var(--s-4); width:min(1180px,calc(100% - 2*var(--s-4))); }

.marca{ text-decoration:none; display:flex; align-items:center; flex-shrink:0; }
.marca__img{ height:40px; width:auto; }
.marca__img--dark{ display:none; }
.marca__texto{ display:flex; align-items:baseline; gap:9px; }
.marca__sigla{
  font-family:var(--display); font-size:27px; font-weight:700;
  letter-spacing:.08em; color:var(--paper); line-height:1;
}
.marca__nome{
  font-family:var(--mono); font-size:11px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--gold);
}
.marca__texto--rodape .marca__sigla{ font-size:32px; }

.nav__list{ display:flex; gap:var(--s-4); list-style:none; margin:0; padding:0; }
.nav__list a{
  position:relative; text-decoration:none; font-size:14px; font-weight:500;
  letter-spacing:.03em; color:rgba(245,241,232,.82); padding:6px 0; display:block;
  transition:color .2s var(--ease);
}
.nav__list a:hover,.nav__list .current-menu-item > a{ color:var(--paper); }
.nav__list > li > a::after{
  content:''; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--gold); transition:width .3s var(--ease);
}
.nav__list > li > a:hover::after,.nav__list > .current-menu-item > a::after{ width:100%; }

.nav__list li{ position:relative; }
.nav__list .sub-menu{
  position:absolute; top:calc(100% + 10px); left:0; min-width:230px;
  background:var(--ink-2); border:1px solid var(--line-dark);
  list-style:none; margin:0; padding:8px 0; border-radius:var(--radius);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
}
.nav__list li:hover > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.nav__list .sub-menu a{ padding:9px 18px; color:rgba(245,241,232,.75); }
.nav__list .sub-menu a:hover{ color:var(--gold); background:rgba(184,145,47,.08); }

.topo__acoes{ display:flex; align-items:center; gap:var(--s-3); flex-shrink:0; }
.nav__rodape{ display:none; }

.hamburguer{
  display:none; width:44px; height:44px; padding:0;
  background:transparent; border:1px solid var(--line-dark); border-radius:var(--radius);
  cursor:pointer; position:relative;
}
.hamburguer span{
  position:absolute; left:12px; width:20px; height:1.5px; background:var(--paper);
  transition:transform .3s var(--ease),opacity .2s var(--ease);
}
.hamburguer span:nth-child(1){ top:15px; }
.hamburguer span:nth-child(2){ top:21px; }
.hamburguer span:nth-child(3){ top:27px; }
.menu-aberto .hamburguer span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.menu-aberto .hamburguer span:nth-child(2){ opacity:0; }
.menu-aberto .hamburguer span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

/* ---------- hero ---------- */

.hero{
  background:var(--ink);
  color:var(--paper);
  padding:calc(var(--topo-h) + var(--s-7)) 0 var(--s-7);
  position:relative; overflow:hidden;
}
.hero::before{
  content:''; position:absolute; top:-20%; right:-10%; z-index:0;
  width:60vw; height:80vh;
  background:radial-gradient(ellipse at center,rgba(184,145,47,.13),transparent 62%);
  pointer-events:none;
}

/* Textura do hero: gravacao fina em duas diagonais (o guilhoche de certificado,
   titulo de credito e carteira da OAB) + grao de impressao.
   O passo largo (26px e 38px) evita moire em tela retina.
   Some suavemente perto do texto, para nao competir com a leitura. */
.hero::after{
  content:''; position:absolute; inset:0; z-index:0;
  pointer-events:none;
  background-image:
    repeating-linear-gradient(62deg, rgba(184,145,47,.10) 0 1px, transparent 1px 26px),
    repeating-linear-gradient(-62deg, rgba(184,145,47,.06) 0 1px, transparent 1px 38px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.32'/%3E%3C/svg%3E");
  background-size:auto,auto,180px 180px;
  /* protege so a mancha do titulo, o resto da area recebe a gravacao */
  -webkit-mask-image:radial-gradient(ellipse 42% 46% at 20% 44%, transparent 0%, #000 62%);
  mask-image:radial-gradient(ellipse 42% 46% at 20% 44%, transparent 0%, #000 62%);
}

.hero__inner{
  display:grid; grid-template-columns:1.15fr .85fr; gap:var(--s-7);
  align-items:center; position:relative; z-index:1;
}
.hero__titulo{
  font-size:clamp(2.5rem,5vw,4.1rem);
  color:var(--paper); margin-bottom:var(--s-4);
  font-weight:600; /* texto claro sobre fundo escuro pede mais peso */
}
.hero__lead{
  font-size:1.14rem; color:rgba(245,241,232,.72);
  max-width:46ch; margin-bottom:var(--s-5);
}
.hero__acoes{ display:flex; flex-wrap:wrap; gap:var(--s-2); margin-bottom:var(--s-6); }

.hero__lema{
  margin:0; padding-left:var(--s-4);
  border-left:1px solid var(--line-dark);
}
.hero__lema p{
  font-family:var(--display); font-style:italic;
  font-size:1.06rem; color:rgba(245,241,232,.62);
  margin:0 0 6px; max-width:44ch;
}
.hero__lema cite{
  font-family:var(--mono); font-style:normal; font-size:10.5px;
  letter-spacing:.2em; text-transform:uppercase; color:var(--gold);
}

.hero__figura{ margin:0; position:relative; }
.hero__figura img{
  width:100%; border-radius:var(--radius);
  filter:grayscale(.32) contrast(1.06);
}
.hero__figura::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(20,22,26,.78));
  border-radius:var(--radius); pointer-events:none;
}
.hero__figura figcaption{
  position:absolute; left:var(--s-4); bottom:var(--s-4); z-index:2;
  display:flex; flex-direction:column; gap:2px;
}
.hero__figura figcaption strong{
  font-family:var(--display); font-size:1.16rem; color:var(--paper);
}
.hero__figura figcaption span{
  font-family:var(--mono); font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold);
}

/* ---------- secoes ---------- */

.secao{ padding:var(--s-8) 0; }
.secao--sobre{ background:var(--white); }
.secao__cabeca{ max-width:62ch; margin-bottom:var(--s-6); }
.secao__cabeca--linha{
  max-width:none; display:flex; align-items:flex-end;
  justify-content:space-between; gap:var(--s-4);
}
.secao__titulo{ font-size:clamp(1.85rem,3.3vw,2.7rem); }
.secao__titulo--pequeno{ font-size:1.4rem; margin-bottom:var(--s-4); }

.sobre__grid{ display:grid; grid-template-columns:1.4fr .6fr; gap:var(--s-7); align-items:start; }
.sobre__texto p{ color:var(--gray); }
.sobre__texto strong{ color:var(--ink); font-weight:600; }

.sobre__numeros{ display:flex; flex-direction:column; gap:var(--s-4); }
.numero{ padding-left:var(--s-3); border-left:2px solid var(--gold); }
.numero__valor{
  display:block; font-family:var(--display); font-size:2.1rem;
  line-height:1.05; color:var(--ink);
}
.numero__label{
  display:block; font-size:13px; color:var(--gray); margin-top:4px; max-width:26ch;
}

/* ---------- areas ---------- */

.areas{ display:flex; flex-wrap:wrap; gap:var(--s-3); }
.area{ flex:1 1 calc(25% - var(--s-3)); min-width:220px; }
.area--destaque{ flex:1 1 100%; }

.area__link{
  display:flex; flex-direction:column; gap:10px; height:100%;
  padding:var(--s-4); text-decoration:none;
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius);
  transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);
}
.area__link:hover{
  border-color:var(--gold); transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(20,22,26,.09);
}
.area-icon{ width:26px; height:26px; color:var(--gold); }
.area__titulo{ font-size:1.22rem; margin:0; }
.area__resumo{ font-size:14.5px; color:var(--gray); margin:0; }
.area__mais{
  margin-top:auto; font-family:var(--mono); font-size:10.5px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep);
}

.area--destaque .area__link{
  background:linear-gradient(120deg,var(--ink) 0%,var(--ink-2) 100%);
  border-color:var(--line-dark);
  padding:var(--s-5);
  display:grid; grid-template-columns:1fr 1fr;
  column-gap:var(--s-6); row-gap:var(--s-2);
  grid-template-areas:'icone texto' 'titulo texto' 'titulo mais';
  align-content:center;
}
.area--destaque .area-icon{ grid-area:icone; width:32px; height:32px; }
.area--destaque .area__titulo{
  grid-area:titulo; color:var(--paper);
  font-size:clamp(1.7rem,2.9vw,2.35rem); align-self:start;
}
.area--destaque .area__resumo{
  grid-area:texto; color:rgba(245,241,232,.68);
  font-size:16px; align-self:center; margin:0;
}
.area--destaque .area__mais{
  grid-area:mais; color:var(--gold); align-self:end; margin-top:0;
}

.areas--compacto .area{ flex:1 1 calc(25% - var(--s-3)); }
.areas--compacto .area__link{ padding:var(--s-3); }
.areas--compacto .area__titulo{ font-size:1.02rem; }

/* ---------- leiloes ---------- */

.leiloes{ background:var(--ink); color:var(--paper); padding:var(--s-8) 0; }
.leiloes__inner{ display:grid; grid-template-columns:1.1fr .9fr; gap:var(--s-7); align-items:center; }
.leiloes__titulo{ font-size:clamp(1.9rem,3.4vw,2.8rem); color:var(--paper); font-weight:600; margin-bottom:var(--s-4); }
.leiloes__texto p{ color:rgba(245,241,232,.7); max-width:52ch; }
.leiloes__texto em{ color:var(--gold-soft); font-style:italic; }
.leiloes__texto .btn{ margin-top:var(--s-3); }

.edital{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line-dark); }
.edital__item{
  display:flex; gap:var(--s-3); align-items:baseline;
  padding:var(--s-3) 0; border-bottom:1px solid var(--line-dark);
}
.edital__num{
  font-family:var(--mono); font-size:11px; letter-spacing:.16em;
  color:var(--gold); flex-shrink:0; padding-top:3px;
}
.edital__texto{ display:flex; flex-direction:column; gap:3px; font-size:14.5px; color:rgba(245,241,232,.6); }
.edital__texto strong{
  font-family:var(--display); font-size:1.16rem; font-weight:500; color:var(--paper);
}

/* ---------- imprensa ---------- */

.imprensa__inner{ display:grid; grid-template-columns:.8fr 1.2fr; gap:var(--s-7); align-items:center; }
.imprensa__figura{ margin:0; }
.imprensa__figura img{
  width:100%; border:1px solid var(--line); border-radius:var(--radius);
  filter:sepia(.12) contrast(1.04);
}
.imprensa__texto p{ color:var(--gray); }
.nota{ font-size:13px; color:var(--gray-light); border-left:2px solid var(--line); padding-left:var(--s-3); }

/* ---------- noticias ---------- */

.noticias{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-4); }
.noticias--lista{ grid-template-columns:repeat(2,1fr); }

.card__link{
  display:flex; flex-direction:column; height:100%; text-decoration:none;
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden;
  transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);
}
.card__link:hover{
  border-color:var(--gold); transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(20,22,26,.09);
}
.card__midia{ aspect-ratio:16/10; background:var(--paper-2); overflow:hidden; position:relative; }
.card__midia img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.card__link:hover .card__midia img{ transform:scale(1.04); }
.card__placeholder{
  position:absolute; inset:0; display:grid; place-items:center;
  font-family:var(--display); font-size:2.2rem; letter-spacing:.1em;
  color:rgba(20,22,26,.14);
}
.card__corpo{ padding:var(--s-4); display:flex; flex-direction:column; gap:8px; flex:1; }
.card__meta{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gray-light);
  display:flex; gap:8px; margin:0;
}
.card__titulo{ font-size:1.28rem; margin:0; }
.card__resumo{ font-size:14.5px; color:var(--gray); margin:0; }
.card__mais{
  margin-top:auto; padding-top:6px; font-family:var(--mono); font-size:10.5px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep);
}

/* ---------- cta ---------- */

.cta{ background:var(--ink); color:var(--paper); padding:var(--s-8) 0; text-align:center; }
.cta__inner{ max-width:60ch; margin-inline:auto; }
.cta__titulo{ font-size:clamp(1.9rem,3.4vw,2.8rem); color:var(--paper); font-weight:600; }
.cta__texto{ color:rgba(245,241,232,.68); margin-bottom:var(--s-5); }
.cta__acoes{ display:flex; gap:var(--s-2); justify-content:center; flex-wrap:wrap; }

/* ---------- topo de pagina ---------- */

.pagina-topo{
  background:var(--ink); color:var(--paper);
  padding:calc(var(--topo-h) + var(--s-6)) 0 var(--s-6);
}
.pagina-topo__titulo{ font-size:clamp(2.1rem,4.2vw,3.3rem); color:var(--paper); font-weight:600; }
.pagina-topo__lead{ color:rgba(245,241,232,.7); max-width:58ch; margin:0; }
.pagina-topo__icone{ margin-bottom:var(--s-3); }
.pagina-topo__icone .area-icon{ width:36px; height:36px; }
.pagina-topo__busca{ margin-top:var(--s-4); max-width:420px; }
.pagina-capa{ margin:0; padding:var(--s-5) 0 0; }

/* ---------- prosa ---------- */

.prosa{ font-size:17.5px; color:var(--ink); }
.prosa > * + *{ margin-top:var(--s-3); }
.prosa p{ color:var(--gray); }
.prosa h2{ font-size:1.75rem; margin-top:var(--s-5); }
.prosa h3{ font-size:1.35rem; margin-top:var(--s-4); }
.prosa ul,.prosa ol{ padding-left:1.3em; color:var(--gray); }
.prosa li{ margin-bottom:6px; }
.prosa a{ color:var(--gold-deep); text-decoration:underline; text-underline-offset:3px; }
.prosa a:hover{ color:var(--ink); }
.prosa blockquote{
  margin:var(--s-4) 0; padding:var(--s-3) var(--s-4);
  border-left:2px solid var(--gold); background:var(--white);
  font-family:var(--display); font-style:italic; font-size:1.14rem;
}
.prosa img{ border-radius:var(--radius); }
.prosa--intro{ margin-bottom:var(--s-4); }

/* ---------- artigo ---------- */

.artigo__topo{ background:var(--ink); color:var(--paper); padding:calc(var(--topo-h) + var(--s-6)) 0 var(--s-6); }
.artigo__migalhas{
  font-family:var(--mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(245,241,232,.5);
  display:flex; gap:8px; margin-bottom:var(--s-3);
}
.artigo__migalhas a{ color:var(--gold); text-decoration:none; }
.artigo__titulo{ font-size:clamp(2rem,4vw,3rem); color:var(--paper); font-weight:600; }
.artigo__meta{
  font-family:var(--mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(245,241,232,.55);
  display:flex; gap:8px; margin:0;
}
.artigo__capa{ margin:0; padding:var(--s-5) 0 0; }
.artigo__capa img{ width:100%; border-radius:var(--radius); }
.artigo{ padding-bottom:var(--s-8); }
.artigo .prosa{ padding-top:var(--s-6); }
.artigo__pe{
  margin-top:var(--s-6); padding-top:var(--s-4);
  border-top:1px solid var(--line);
}
.artigo__cats{ font-size:14px; color:var(--gray); }
.artigo__aviso{ font-size:13px; color:var(--gray-light); margin-bottom:var(--s-3); }

.nav-post{ margin-top:var(--s-6); display:flex; gap:var(--s-3); }
.nav-post .nav-links{ display:flex; gap:var(--s-3); width:100%; }
.nav-post a{
  flex:1; display:flex; flex-direction:column; gap:4px;
  padding:var(--s-3); border:1px solid var(--line); border-radius:var(--radius);
  text-decoration:none; background:var(--white);
  transition:border-color .2s var(--ease);
}
.nav-post a:hover{ border-color:var(--gold); }
.nav-post__label{
  font-family:var(--mono); font-size:10px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold-deep);
}
.nav-post__titulo{ font-family:var(--display); font-size:1.05rem; color:var(--ink); }

/* ---------- contato ---------- */

.contato__grid{ display:grid; grid-template-columns:1.3fr .7fr; gap:var(--s-7); align-items:start; }
.contato__titulo{ font-size:1.5rem; }
.contato__endereco{ font-style:normal; color:var(--gray); margin-bottom:var(--s-3); }
.contato__lista{ list-style:none; margin:0 0 var(--s-3); padding:0; display:flex; flex-direction:column; gap:var(--s-2); }
.contato__lista li{ display:flex; flex-direction:column; gap:1px; }
.contato__rotulo{
  font-family:var(--mono); font-size:10px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gray-light);
}
.contato__lista a{ color:var(--gold-deep); text-decoration:none; border-bottom:1px solid transparent; }
.contato__lista a:hover{ border-bottom-color:currentColor; }
.contato__horario{ font-size:14px; color:var(--gray); }

.form__linha{ display:flex; flex-direction:column; gap:6px; margin-bottom:var(--s-3); }
.form__dupla{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s-3); }
.form label{ font-size:13.5px; font-weight:500; color:var(--ink); }
.form label span{ color:var(--gold-deep); }
.form input,.form select,.form textarea{
  font-family:var(--body); font-size:16px; color:var(--ink);
  padding:12px 14px; background:var(--white);
  border:1px solid var(--line); border-radius:var(--radius);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
  width:100%;
}
.form input:focus,.form select:focus,.form textarea:focus{
  border-color:var(--gold); box-shadow:0 0 0 3px rgba(184,145,47,.16); outline:none;
}
.form textarea{ resize:vertical; min-height:130px; }
.form__pote{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form__aviso{ font-size:12.5px; color:var(--gray-light); margin-bottom:var(--s-3); }
.form__retorno{ margin:var(--s-3) 0 0; font-size:14.5px; min-height:1.4em; }
.form__retorno.ok{ color:#1F6B3A; }
.form__retorno.erro{ color:#9B2C1F; }
.btn[aria-busy="true"]{ opacity:.65; pointer-events:none; }

.mapa{ margin-top:var(--s-6); }
.mapa iframe{ width:100%; height:380px; border:0; border-radius:var(--radius); display:block; }

.area-cta{
  margin-top:var(--s-6); padding:var(--s-5);
  background:var(--ink); color:var(--paper); border-radius:var(--radius);
}
.area-cta h2{ color:var(--paper); font-size:1.5rem; }
.area-cta p{ color:rgba(245,241,232,.68); }

/* ---------- rodape ---------- */

.rodape{ background:var(--ink-2); color:rgba(245,241,232,.7); padding:var(--s-7) 0 var(--s-4); }
.rodape__grid{
  display:grid; grid-template-columns:1.3fr .7fr 1fr .9fr;
  gap:var(--s-5); padding-bottom:var(--s-5);
  border-bottom:1px solid var(--line-dark);
}
.rodape__titulo{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold); margin:0 0 var(--s-3);
  font-weight:500;
}
.rodape__nome{ font-size:14px; margin:var(--s-2) 0 0; }
.rodape__lista,.rodape__links,.rodape__redes{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.rodape__redes{ flex-direction:row; gap:var(--s-3); margin-top:var(--s-3); }
.rodape a{ color:inherit; text-decoration:none; font-size:14.5px; transition:color .2s var(--ease); }
.rodape a:hover{ color:var(--gold); }
.rodape address{ font-style:normal; font-size:14.5px; margin-bottom:var(--s-3); }
.rodape__base{ padding-top:var(--s-4); font-size:13px; color:rgba(245,241,232,.45); }
.rodape__base p{ margin:0 0 6px; }
.rodape__aviso{ max-width:70ch; }

/* ---------- whatsapp ---------- */

.zap{
  position:fixed; right:20px; bottom:20px; z-index:800;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; color:#fff;
  display:grid; place-items:center;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
  transition:transform .25s var(--ease);
}
.zap:hover{ transform:scale(1.07); }
.zap svg{ width:30px; height:30px; }

/* ---------- LGPD ---------- */

.lgpd{
  position:fixed; z-index:99999; background:var(--ink); color:var(--paper);
  border-top:1px solid var(--gold);
  /* faz o navegador desenhar os checkboxes nativos em tema escuro,
     sem abrir mao da acessibilidade de um controle real */
  color-scheme:dark;
}
.lgpd--bottom{ inset:auto 0 0 0; }
.lgpd--floating{ inset:auto 20px 20px auto; max-width:420px; border:1px solid var(--gold); border-radius:var(--radius); }
.lgpd__inner{
  width:min(1180px,calc(100% - 2*var(--s-4))); margin-inline:auto;
  padding:var(--s-4) 0; display:flex; gap:var(--s-5);
  align-items:flex-start; justify-content:space-between; flex-wrap:wrap;
}
.lgpd__body{ flex:1 1 420px; }
.lgpd--floating .lgpd__inner{ width:auto; padding:var(--s-4); flex-direction:column; align-items:stretch; }
.lgpd__text{ font-size:14px; color:rgba(245,241,232,.8); margin:0; max-width:64ch; }
.lgpd__text a{ color:var(--gold); }
.lgpd__acoes{ display:flex; gap:var(--s-2); align-items:center; flex-wrap:wrap; }
.lgpd__link{
  background:none; border:0; cursor:pointer; color:rgba(245,241,232,.7);
  font-family:var(--body); font-size:13.5px; text-decoration:underline; text-underline-offset:3px;
}
.lgpd__link:hover{ color:var(--gold); }
.lgpd__opcoes{ display:flex; flex-direction:column; gap:var(--s-2); margin-top:var(--s-3); }
.lgpd__opt{ display:flex; gap:11px; align-items:flex-start; font-size:13.5px; cursor:pointer; }
.lgpd__opt input[type=checkbox]{
  accent-color:var(--gold);
  width:17px; height:17px; margin:2px 0 0; flex-shrink:0; cursor:pointer;
}
.lgpd__opt strong{ display:block; color:var(--paper); font-size:14px; font-weight:600; }
.lgpd__opt span{ color:rgba(245,241,232,.6); }
.lgpd__opt--fixo{ opacity:.65; cursor:default; }
.lgpd__opt--fixo input[type=checkbox]{ cursor:not-allowed; }
.lgpd__reabrir{
  position:fixed; left:20px; bottom:20px; z-index:800;
  background:var(--ink); color:var(--gold);
  border:1px solid var(--line-dark); border-radius:var(--radius);
  padding:8px 14px; cursor:pointer;
  font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
}
.lgpd__reabrir:hover{ border-color:var(--gold); }

/* ---------- utilitarios ---------- */

.vazio{
  padding:var(--s-5); background:var(--white);
  border:1px dashed var(--line); border-radius:var(--radius);
  color:var(--gray); text-align:center;
}
.erro{ padding:calc(var(--topo-h) + var(--s-8)) 0 var(--s-8); text-align:center; }
.erro__codigo{ font-family:var(--display); font-size:5rem; color:var(--gold); line-height:1; margin:0; }
.erro__titulo{ font-size:2rem; }
.erro__texto{ color:var(--gray); max-width:48ch; margin-inline:auto; }
.erro__acoes{ display:flex; gap:var(--s-2); justify-content:center; flex-wrap:wrap; margin:var(--s-4) 0; }
.erro__busca{ max-width:420px; margin:var(--s-5) auto 0; }

.search-form{ display:flex; gap:8px; }
.search-form input[type=search]{
  flex:1; padding:12px 14px; font-size:16px; font-family:var(--body);
  border:1px solid var(--line); border-radius:var(--radius); background:var(--white);
}
.search-form input[type=submit]{
  padding:12px 20px; background:var(--gold); color:var(--ink);
  border:0; border-radius:var(--radius); font-weight:600; cursor:pointer;
}

.pagination{ margin-top:var(--s-6); display:flex; justify-content:center; }
.pagination .nav-links{ display:flex; gap:6px; flex-wrap:wrap; }
.pagination .page-numbers{
  display:grid; place-items:center; min-width:42px; height:42px; padding:0 12px;
  border:1px solid var(--line); border-radius:var(--radius);
  text-decoration:none; font-size:14px; background:var(--white);
}
.pagination .page-numbers:hover{ border-color:var(--gold); }
.pagination .page-numbers.current{ background:var(--gold); border-color:var(--gold); color:var(--ink); font-weight:600; }

.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
.reveal.revelado{ opacity:1; transform:none; }

/* ---------- responsivo ---------- */

@media (max-width:1024px){
  .hero__inner,.sobre__grid,.leiloes__inner,.imprensa__inner,.contato__grid{ grid-template-columns:1fr; gap:var(--s-5); }
  .hero__figura{ max-width:420px; }
  .noticias{ grid-template-columns:repeat(2,1fr); }
  .rodape__grid{ grid-template-columns:1fr 1fr; gap:var(--s-5); }
  .area{ flex:1 1 calc(50% - var(--s-3)); }
  .areas--compacto .area{ flex:1 1 calc(50% - var(--s-3)); }
  .imprensa__figura{ max-width:380px; }
}

@media (max-width:900px){
  .hamburguer{ display:block; }
  .topo__cta,.oab-mark--topo{ display:none; }

  .nav{
    position:fixed; top:0; right:0; bottom:0; left:0;
    background:var(--ink);
    display:flex; flex-direction:column; justify-content:center;
    padding:var(--topo-h) var(--s-4) var(--s-5);
    transform:translateX(100%);
    transition:transform .35s var(--ease);
    overflow-y:auto;
  }
  .menu-aberto .nav{ transform:translateX(0); }

  .nav__list{ flex-direction:column; gap:0; }
  .nav__list > li{ border-bottom:1px solid var(--line-dark); }
  .nav__list > li > a{ padding:16px 0; font-size:1.2rem; font-family:var(--display); }
  .nav__list > li > a::after{ display:none; }

  /* o hover de desktop nao pode brigar com o toggle do mobile */
  .nav__list li:hover > .sub-menu{ opacity:1; visibility:visible; transform:none; }
  .nav__list .sub-menu{
    position:static; opacity:1; visibility:visible; transform:none;
    background:transparent; border:0; box-shadow:none; padding:0 0 10px;
    max-height:0; overflow:hidden; transition:max-height .3s var(--ease);
  }
  .nav__list .submenu-aberto > .sub-menu{ max-height:600px; }
  .nav__list .sub-menu a{ padding:9px 0 9px var(--s-3); font-size:15px; }

  .nav__rodape{ display:block; margin-top:var(--s-5); }
  .oab-mark--nav{ display:inline-flex; }
}

@media (max-width:768px){
  :root{ --s-7:3rem; --s-8:4rem; --topo-h:70px; }
  body{ font-size:16px; }
  .noticias,.noticias--lista{ grid-template-columns:1fr; }
  .rodape__grid{ grid-template-columns:1fr; }
  .form__dupla{ grid-template-columns:1fr; }
  .secao__cabeca--linha{ flex-direction:column; align-items:flex-start; }
  .area,.areas--compacto .area{ flex:1 1 100%; }
  .area--destaque .area__link{
    grid-template-columns:1fr; row-gap:10px;
    grid-template-areas:'icone' 'titulo' 'texto' 'mais';
  }
  /* em coluna, o flex-basis do corpo viraria ALTURA e abriria um vao. */
  .lgpd__inner{ flex-direction:column; align-items:stretch; justify-content:flex-start; gap:var(--s-4); }
  .lgpd__body{ flex:0 1 auto; }
  .lgpd__acoes{ justify-content:stretch; }
  .lgpd__acoes .btn{ flex:1; }
  .lgpd--floating{ inset:auto 10px 10px 10px; max-width:none; }
  .nav-post .nav-links{ flex-direction:column; }
  .zap{ width:52px; height:52px; right:14px; bottom:14px; }
  .lgpd__reabrir{ left:14px; bottom:14px; }
}

@media (max-width:480px){
  .hero__titulo{ font-size:2.1rem; }
  .hero__acoes{ flex-direction:column; align-items:stretch; }
  .hero__acoes .btn{ width:100%; }
  .marca__sigla{ font-size:23px; }
  .marca__nome{ font-size:9.5px; letter-spacing:.2em; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .reveal{ opacity:1; transform:none; }
}

@media print{
  .topo,.zap,.lgpd,.lgpd__reabrir,.nav-post,.cta{ display:none !important; }
  body{ background:#fff; color:#000; }
}
