/* Rafael Azevedo Advocacia — folha de estilo do site institucional.
   Tokens herdados do design system do Raziel (frontend/index.html). */

:root{
  /* --- superfícies (tema claro) --- */
  --paper:#F4F1EA; --panel:#FBF9F4; --panel-2:#EDE8DF;
  --band:#241B14;            /* espresso: bandas estruturais */
  --band-2:#2B2018;
  --on-band:#EFE9DD; --on-band-dim:#9C8E7C;

  /* --- tinta --- */
  --ink:#2A2018; --ink-2:#4D453A; --taupe:#75695B; --taupe-2:#978A79;

  /* --- fios --- */
  --rule:#E2DBCE; --rule-soft:#ECE6DA; --rule-hard:#D8CFBE;

  /* --- acento --- */
  --couro:#9C6B3F; --couro-deep:#6F4A26; --couro-lift:#B07E4E;

  /* --- tom por eixo (todos da família terrosa do sistema) --- */
  --eixo-legado:#6F4A26;
  --eixo-acelera:#5E7148;
  --eixo-reabilita:#9A4A36;

  /* --- tipografia --- */
  --font-d:"Spectral",Georgia,"Times New Roman",serif;
  --font-u:"Hanken Grotesk",system-ui,-apple-system,sans-serif;
  --font-m:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  /* --- métrica --- */
  --measure:64ch;
  --margem:132px;        /* coluna de margem (rótulo + fio) */
  --gutter:clamp(20px,5vw,64px);
  --maxw:1180px;
}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#1C1510; --panel:#241B14; --panel-2:#2B2018;
    --band:#17110D; --band-2:#1F1711;
    --on-band:#EFE9DD; --on-band-dim:#9C8E7C;
    --ink:#EDE6D9; --ink-2:#CFC4B2; --taupe:#A39683; --taupe-2:#857A6A;
    --rule:#362A20; --rule-soft:#2C221A; --rule-hard:#453628;
    --couro:#C08A54; --couro-deep:#D3A06B; --couro-lift:#D3A06B;
    --eixo-legado:#C79A62; --eixo-acelera:#8FA573; --eixo-reabilita:#C77A62;
  }
}
:root[data-theme="dark"]{
  --paper:#1C1510; --panel:#241B14; --panel-2:#2B2018;
  --band:#17110D; --band-2:#1F1711;
  --on-band:#EFE9DD; --on-band-dim:#9C8E7C;
  --ink:#EDE6D9; --ink-2:#CFC4B2; --taupe:#A39683; --taupe-2:#857A6A;
  --rule:#362A20; --rule-soft:#2C221A; --rule-hard:#453628;
  --couro:#C08A54; --couro-deep:#D3A06B; --couro-lift:#D3A06B;
  --eixo-legado:#C79A62; --eixo-acelera:#8FA573; --eixo-reabilita:#C77A62;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-u);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
a{color:var(--couro-deep);text-decoration:none;}
a:hover{text-decoration:underline;text-underline-offset:3px;}
:focus-visible{outline:2px solid var(--couro);outline-offset:3px;border-radius:2px;}
::selection{background:rgba(156,107,63,.22);}

/* ============================================================
   1. Tipografia
   ============================================================ */
.display{
  font-family:var(--font-d);
  font-weight:600;
  letter-spacing:-.022em;
  line-height:1.06;
  text-wrap:balance;
  margin:0;
}
h1.display{font-size:clamp(40px,6.4vw,76px);}
h2.display{font-size:clamp(28px,3.6vw,42px);line-height:1.12;}
h3.display{font-size:clamp(20px,2.2vw,25px);line-height:1.22;letter-spacing:-.012em;}

.rotulo{
  font-family:var(--font-m);
  font-size:10.5px;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--taupe-2);
  margin:0;
}
.lead{
  font-family:var(--font-d);
  font-size:clamp(19px,2vw,23px);
  line-height:1.5;
  color:var(--ink-2);
  font-weight:400;
  max-width:var(--measure);
}
.prosa{max-width:var(--measure);}
.prosa p{margin:0 0 1.15em;}
.prosa p:last-child{margin-bottom:0;}
.prosa strong{font-weight:600;color:var(--ink);}

/* ============================================================
   2. Barra de navegação
   ============================================================ */
.nav{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--rule);
}
.nav-in{
  max-width:var(--maxw);margin:0 auto;
  padding:0 var(--gutter);
  height:68px;
  display:flex;align-items:center;gap:clamp(14px,3vw,34px);
}
.nav-mark{display:flex;align-items:center;flex:0 0 auto;}
.nav-mark img{height:30px;width:auto;}
.nav-mark img.cream{display:none;}
.nav-links{
  display:flex;align-items:center;gap:clamp(12px,2.4vw,28px);
  margin-left:auto;
  font-size:14.5px;
}
.nav-links a{
  color:var(--ink-2);font-weight:500;
  padding:4px 0;border-bottom:1.5px solid transparent;
  white-space:nowrap;
}
.nav-links a:hover{color:var(--ink);text-decoration:none;border-bottom-color:var(--rule-hard);}
.nav-links a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--couro);}
.nav-sis{
  font-family:var(--font-m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--couro-deep)!important;border:1px solid var(--rule-hard);
  border-radius:999px;padding:7px 14px!important;
}
.nav-sis:hover{background:var(--panel-2);text-decoration:none!important;border-bottom-color:var(--rule-hard)!important;}
@media (max-width:860px){
  .nav-in{height:auto;padding-top:12px;padding-bottom:12px;flex-wrap:wrap;}
  .nav-links{width:100%;margin-left:0;overflow-x:auto;padding-bottom:2px;}
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .nav-mark img.espresso{display:none;}
  :root:not([data-theme="light"]) .nav-mark img.cream{display:block;}
}
:root[data-theme="dark"] .nav-mark img.espresso{display:none;}
:root[data-theme="dark"] .nav-mark img.cream{display:block;}

/* ============================================================
   3. Hero — banda espresso com monograma recortado
   ============================================================ */
.hero{
  position:relative;overflow:hidden;
  background:var(--band);
  color:var(--on-band);
  border-bottom:1px solid var(--band-2);
}
.hero::after{   /* marca-d'água: monograma cortado pela borda direita */
  content:"";position:absolute;
  right:clamp(-120px,-6vw,-40px);top:50%;transform:translateY(-50%);
  width:clamp(320px,42vw,620px);aspect-ratio:554/683;
  background:url("brand/ra-monogram-cream.png") no-repeat center/contain;
  opacity:.055;pointer-events:none;
}
.hero-in{
  position:relative;z-index:1;
  max-width:var(--maxw);margin:0 auto;
  padding:clamp(72px,12vw,136px) var(--gutter) clamp(56px,9vw,104px);
}
.hero .rotulo{color:var(--on-band-dim);}
.hero h1{color:var(--on-band);margin:22px 0 0;max-width:15ch;}
.hero .lead{color:#CFC3B0;margin:26px 0 0;font-size:clamp(18px,1.9vw,22px);}
.hero-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;
  margin-top:40px;padding-top:22px;
  border-top:1px solid rgba(239,233,221,.14);
  font-family:var(--font-m);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--on-band-dim);
}
.hero-meta span{white-space:nowrap;}
.hero-meta .sep{opacity:.45;}

/* Hero curto das páginas internas */
.cabeca{
  background:var(--band);color:var(--on-band);
  border-bottom:1px solid var(--band-2);
  position:relative;overflow:hidden;
}
.cabeca-in{max-width:var(--maxw);margin:0 auto;padding:clamp(48px,7vw,86px) var(--gutter) clamp(38px,5vw,60px);}
.cabeca .rotulo{color:var(--on-band-dim);}
.cabeca h1{color:var(--on-band);margin:16px 0 0;font-size:clamp(34px,5vw,56px);}
.cabeca .lead{color:#CFC3B0;margin:20px 0 0;}

/* ============================================================
   4. Grade "margem dos autos"
   ============================================================ */
.secao{
  max-width:var(--maxw);margin:0 auto;
  padding:clamp(52px,7vw,92px) var(--gutter);
  display:grid;
  grid-template-columns:var(--margem) minmax(0,1fr);
  gap:clamp(20px,4vw,52px);
  align-items:start;
}
.secao + .secao{border-top:1px solid var(--rule);}
.secao-margem{
  position:sticky;top:96px;
  padding-top:9px;
  border-top:2px solid var(--couro);
}
.secao-margem .rotulo{padding-top:12px;}
.secao-margem .nota{
  display:block;margin-top:8px;
  font-size:12.5px;line-height:1.5;color:var(--taupe-2);
}
@media (max-width:860px){
  .secao{grid-template-columns:minmax(0,1fr);gap:16px;}
  .secao-margem{position:static;}
}
.secao-corpo > * + *{margin-top:clamp(20px,2.6vw,30px);}

/* ============================================================
   5. Eixos (Legado · Acelera · Reabilita)
   ============================================================ */
.eixos{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:3px;overflow:hidden;}
@media (min-width:900px){.eixos{grid-template-columns:repeat(3,1fr);}}

.eixo{
  --tom:var(--couro);
  background:var(--panel);
  padding:30px 26px 28px;
  display:flex;flex-direction:column;gap:13px;
  border-top:3px solid var(--tom);
  transition:background .18s ease;
}
a.eixo:hover{background:var(--panel-2);text-decoration:none;}
.eixo--legado{--tom:var(--eixo-legado);}
.eixo--acelera{--tom:var(--eixo-acelera);}
.eixo--reabilita{--tom:var(--eixo-reabilita);}

.eixo-nome{
  font-family:var(--font-d);font-weight:600;
  font-size:27px;letter-spacing:-.015em;line-height:1;
  color:var(--tom);margin:0;
}
.eixo-escopo{
  font-family:var(--font-m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--taupe-2);margin:0;
}
.eixo p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2);}
.eixo-mais{
  margin-top:auto;padding-top:6px;
  font-family:var(--font-m);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--tom);
}

/* Bloco longo de um eixo na página de áreas */
.eixo-bloco{--tom:var(--couro);border-left:3px solid var(--tom);padding-left:clamp(18px,3vw,30px);}
.eixo-bloco.legado{--tom:var(--eixo-legado);}
.eixo-bloco.acelera{--tom:var(--eixo-acelera);}
.eixo-bloco.reabilita{--tom:var(--eixo-reabilita);}
.eixo-bloco h2{color:var(--tom);}

/* ============================================================
   6. Listas, tópicos e definições
   ============================================================ */
.topicos{list-style:none;margin:0;padding:0;display:grid;gap:11px;max-width:var(--measure);}
.topicos li{
  position:relative;padding-left:22px;
  font-size:16px;line-height:1.58;color:var(--ink-2);
}
.topicos li::before{
  content:"";position:absolute;left:0;top:.72em;
  width:9px;height:1.5px;background:var(--couro);
}
.eixo-bloco .topicos li::before{background:var(--tom);}

.defs{display:grid;gap:0;max-width:var(--measure);border-top:1px solid var(--rule);}
.defs > div{padding:20px 0;border-bottom:1px solid var(--rule);}
.defs dt{
  font-family:var(--font-d);font-weight:600;font-size:18px;
  color:var(--ink);margin:0 0 7px;letter-spacing:-.008em;
}
.defs dd{margin:0;font-size:15.5px;line-height:1.62;color:var(--ink-2);}

/* Painel de destaque discreto */
.painel{
  background:var(--panel);border:1px solid var(--rule);
  border-left:3px solid var(--couro);
  border-radius:3px;padding:22px 24px;
  max-width:var(--measure);
}
.painel .rotulo{margin-bottom:9px;}
.painel p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2);}
.painel p + p{margin-top:.85em;}

/* ============================================================
   7. Equipe
   ============================================================ */
.pessoas{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:3px;overflow:hidden;}
@media (min-width:760px){.pessoas{grid-template-columns:repeat(2,1fr);}}
.pessoa{background:var(--panel);padding:26px 24px;display:flex;flex-direction:column;gap:8px;}
.pessoa h3{margin:0;font-family:var(--font-d);font-weight:600;font-size:20px;letter-spacing:-.01em;color:var(--ink);}
.pessoa .papel{
  font-family:var(--font-m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--couro-deep);
}
.pessoa p{margin:0;font-size:15px;line-height:1.58;color:var(--ink-2);}
.pessoa .oab{font-family:var(--font-m);font-size:12px;color:var(--taupe-2);margin-top:auto;padding-top:8px;}

/* Currículo — linha do tempo tipada (a ordem É informação: formação cronológica) */
.curriculo{list-style:none;margin:0;padding:0;max-width:var(--measure);border-top:1px solid var(--rule);}
.curriculo li{
  display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;
  padding:16px 0;border-bottom:1px solid var(--rule);align-items:baseline;
}
.curriculo .quando{
  font-family:var(--font-m);font-size:12px;letter-spacing:.04em;color:var(--taupe-2);
  font-variant-numeric:tabular-nums;
}
.curriculo .oque{font-size:15.5px;line-height:1.55;color:var(--ink-2);}
.curriculo .oque b{font-weight:600;color:var(--ink);}
@media (max-width:620px){
  .curriculo li{grid-template-columns:minmax(0,1fr);gap:4px;}
}

/* ============================================================
   8. Contato e acesso ao sistema
   ============================================================ */
.contatos{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:3px;overflow:hidden;}
@media (min-width:700px){.contatos{grid-template-columns:repeat(2,1fr);}}
.contato{background:var(--panel);padding:24px;display:flex;flex-direction:column;gap:7px;}
.contato .rotulo{color:var(--taupe-2);}
.contato .valor{font-family:var(--font-d);font-size:19px;font-weight:500;color:var(--ink);letter-spacing:-.005em;word-break:break-word;}
.contato a.valor{color:var(--couro-deep);}
.contato .obs{font-size:13.5px;color:var(--taupe);line-height:1.5;}

.acesso{
  background:var(--band);color:var(--on-band);
  border-radius:3px;padding:clamp(28px,4vw,40px);
  display:flex;flex-wrap:wrap;align-items:center;gap:22px 32px;
  position:relative;overflow:hidden;
}
.acesso-txt{flex:1 1 320px;min-width:0;}
.acesso .rotulo{color:var(--on-band-dim);}
.acesso h3{color:var(--on-band);margin:10px 0 8px;font-family:var(--font-d);font-weight:600;font-size:24px;letter-spacing:-.012em;}
.acesso p{margin:0;color:#BDB0A0;font-size:15px;line-height:1.6;max-width:52ch;}
.botao{
  flex:0 0 auto;
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-m);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:#241B14;background:var(--on-band);
  padding:14px 24px;border-radius:999px;border:1px solid transparent;
  transition:background .16s ease,transform .16s ease;
}
.botao:hover{background:#FFF;text-decoration:none;transform:translateY(-1px);}
.botao .seta{font-family:var(--font-u);font-size:15px;line-height:1;}

/* ============================================================
   9. Rodapé
   ============================================================ */
.rodape{
  background:var(--band);color:var(--on-band);
  position:relative;overflow:hidden;
  margin-top:clamp(40px,6vw,72px);
}
.rodape::after{
  content:"";position:absolute;
  left:clamp(-90px,-5vw,-30px);bottom:-18%;
  width:clamp(240px,26vw,380px);aspect-ratio:554/683;
  background:url("brand/ra-monogram-cream.png") no-repeat center/contain;
  opacity:.04;pointer-events:none;
}
.rodape-in{
  position:relative;z-index:1;
  max-width:var(--maxw);margin:0 auto;
  padding:clamp(48px,6vw,72px) var(--gutter) 34px;
  display:grid;gap:clamp(28px,4vw,56px);
}
@media (min-width:860px){.rodape-in{grid-template-columns:1.4fr 1fr 1fr;}}
.rodape img.marca{height:46px;width:auto;margin-bottom:18px;}
.rodape .rotulo{color:var(--on-band-dim);margin-bottom:12px;}
.rodape p{margin:0;color:#BDB0A0;font-size:14.5px;line-height:1.62;max-width:40ch;}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.rodape a{color:#D8CCBA;font-size:14.5px;}
.rodape a:hover{color:#FFF;}
.rodape-base{
  border-top:1px solid rgba(239,233,221,.13);
  margin-top:clamp(28px,4vw,44px);padding-top:22px;
  display:flex;flex-wrap:wrap;gap:12px 26px;align-items:baseline;
  font-family:var(--font-m);font-size:11px;letter-spacing:.07em;color:var(--on-band-dim);
}
.aviso{
  max-width:var(--maxw);margin:0 auto;
  padding:0 var(--gutter) 44px;
  position:relative;z-index:1;
}
.aviso p{
  margin:0;max-width:78ch;
  font-size:12.5px;line-height:1.62;color:#938676;
}

/* ============================================================
   10. Marcadores de revisão (removidos antes de publicar)
   ============================================================ */
.rev{
  display:inline;
  background:rgba(154,74,54,.11);
  border-bottom:1.5px dotted var(--eixo-reabilita);
  padding:0 3px;border-radius:2px;
}
.rev::after{
  content:" [confirmar]";
  font-family:var(--font-m);font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--eixo-reabilita);
  vertical-align:super;
}

/* ============================================================
   11. Publicações — índice
   ============================================================ */
.artigos{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule);}
.artigos > li{border-bottom:1px solid var(--rule);}
.artigo-item{
  display:grid;gap:10px;
  padding:26px 0;
  transition:opacity .16s ease;
}
a.artigo-item:hover{text-decoration:none;opacity:.74;}
.artigo-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;
  font-family:var(--font-m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--taupe-2);
}
.marcador{
  color:var(--couro-deep);
  border:1px solid var(--rule-hard);border-radius:999px;
  padding:3px 10px;letter-spacing:.12em;
}
.marcador.opiniao{color:var(--eixo-reabilita);border-color:color-mix(in srgb,var(--eixo-reabilita) 38%,transparent);}
.marcador.analise{color:var(--eixo-acelera);border-color:color-mix(in srgb,var(--eixo-acelera) 38%,transparent);}
.marcador.nota{color:var(--eixo-legado);border-color:color-mix(in srgb,var(--eixo-legado) 38%,transparent);}
.artigo-titulo{
  font-family:var(--font-d);font-weight:600;
  font-size:clamp(22px,2.6vw,29px);line-height:1.2;letter-spacing:-.015em;
  color:var(--ink);margin:0;text-wrap:balance;max-width:28ch;
}
.artigo-fina{margin:0;font-size:16px;line-height:1.56;color:var(--ink-2);max-width:var(--measure);}
.artigo-fonte{
  font-family:var(--font-m);font-size:11px;letter-spacing:.08em;color:var(--taupe-2);
}

/* ============================================================
   12. Publicações — página do artigo
   ============================================================ */
.artigo-cabeca{
  max-width:var(--maxw);margin:0 auto;
  padding:clamp(44px,6vw,76px) var(--gutter) clamp(26px,3vw,36px);
}
.artigo-cabeca .artigo-meta{margin-bottom:20px;}
.artigo-cabeca h1{
  font-family:var(--font-d);font-weight:600;
  font-size:clamp(32px,5vw,54px);line-height:1.08;letter-spacing:-.024em;
  color:var(--ink);margin:0;max-width:22ch;text-wrap:balance;
}
.artigo-cabeca .artigo-fina{
  font-family:var(--font-d);font-size:clamp(18px,2vw,22px);line-height:1.5;
  color:var(--ink-2);margin-top:20px;max-width:58ch;
}
.assinatura{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;
  margin-top:28px;padding-top:20px;border-top:1px solid var(--rule);
  font-size:14.5px;color:var(--taupe);
}
.assinatura .autor{font-family:var(--font-d);font-weight:600;font-size:16px;color:var(--ink);}
.assinatura .pt{font-family:var(--font-m);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe-2);}

.artigo-corpo{
  max-width:calc(var(--maxw) - 0px);margin:0 auto;
  padding:0 var(--gutter) clamp(40px,6vw,72px);
}
.artigo-texto{max-width:62ch;}
.artigo-texto p{
  font-family:var(--font-d);
  font-size:18.5px;line-height:1.72;color:var(--ink);
  margin:0 0 1.15em;
}
.artigo-texto p:first-of-type::first-letter{
  float:left;font-family:var(--font-d);font-weight:600;
  font-size:3.1em;line-height:.82;padding:.06em .09em 0 0;color:var(--couro-deep);
}
.artigo-texto h2{
  font-family:var(--font-d);font-weight:600;
  font-size:clamp(23px,2.6vw,29px);line-height:1.22;letter-spacing:-.016em;
  color:var(--ink);margin:2em 0 .7em;text-wrap:balance;
}
.artigo-texto h2:first-child{margin-top:0;}
.artigo-texto blockquote{
  margin:1.9em 0;padding:4px 0 4px 26px;
  border-left:3px solid var(--couro);
  font-family:var(--font-d);font-style:italic;
  font-size:21px;line-height:1.5;color:var(--ink-2);
}
.artigo-texto blockquote cite{
  display:block;margin-top:12px;
  font-family:var(--font-m);font-style:normal;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe-2);
}
.artigo-texto ul,.artigo-texto ol{margin:1.3em 0;padding-left:1.3em;}
.artigo-texto li{font-family:var(--font-d);font-size:18px;line-height:1.66;margin-bottom:.55em;color:var(--ink);}
.artigo-texto figure{margin:2em 0;}
.artigo-texto figcaption{
  margin-top:10px;font-size:13px;line-height:1.5;color:var(--taupe);
  padding-left:14px;border-left:2px solid var(--rule-hard);
}
.artigo-texto hr{border:0;border-top:1px solid var(--rule);margin:2.4em 0;}

/* Dado em destaque dentro do artigo */
.dado{
  display:grid;gap:4px;
  margin:1.9em 0;padding:20px 22px;
  background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--eixo-acelera);
  border-radius:3px;
}
.dado .n{
  font-family:var(--font-d);font-weight:600;font-size:34px;line-height:1;
  letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;
}
.dado .d{font-size:14.5px;line-height:1.5;color:var(--ink-2);}
.dado .f{font-family:var(--font-m);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe-2);margin-top:4px;}

/* Notas e fontes ao pé do artigo */
.notas{max-width:62ch;margin-top:clamp(36px,5vw,56px);padding-top:26px;border-top:1px solid var(--rule);}
.notas ol{margin:0;padding-left:1.25em;}
.notas li{font-size:14px;line-height:1.6;color:var(--taupe);margin-bottom:.6em;}
.notas li a{color:var(--couro-deep);}

/* Nota do autor ao final */
.bio{
  max-width:62ch;margin-top:clamp(32px,4vw,44px);
  padding:22px 24px;background:var(--panel);
  border:1px solid var(--rule);border-radius:3px;
}
.bio .rotulo{margin-bottom:10px;}
.bio p{margin:0;font-size:15px;line-height:1.6;color:var(--ink-2);}

/* ============================================================
   13. Notícias do mercado — radar
   ============================================================ */
.filtros{
  display:flex;flex-wrap:wrap;gap:8px;
  padding-bottom:22px;border-bottom:1px solid var(--rule);
}
.filtro{
  font-family:var(--font-m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-2);background:transparent;
  border:1px solid var(--rule-hard);border-radius:999px;
  padding:7px 14px;cursor:pointer;
  transition:background .14s ease,border-color .14s ease,color .14s ease;
}
.filtro:hover{background:var(--panel-2);}
.filtro[aria-pressed="true"]{background:var(--band);border-color:var(--band);color:var(--on-band);}

.noticias{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--rule);}
.noticias > li{background:var(--paper);}
.noticia{
  display:grid;gap:11px;
  padding:26px 0;
  border-left:3px solid transparent;
  padding-left:0;
  transition:padding-left .16s ease,border-color .16s ease;
}
.noticia[data-eixo="legado"]{border-left-color:var(--eixo-legado);padding-left:18px;}
.noticia[data-eixo="acelera"]{border-left-color:var(--eixo-acelera);padding-left:18px;}
.noticia[data-eixo="reabilita"]{border-left-color:var(--eixo-reabilita);padding-left:18px;}

.noticia-topo{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;
  font-family:var(--font-m);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--taupe-2);
}
.orgao{
  font-weight:600;color:var(--ink);
  background:var(--panel-2);border:1px solid var(--rule-hard);
  border-radius:4px;padding:3px 9px;letter-spacing:.1em;
}
.noticia-tema{color:var(--taupe-2);}
.noticia h3{
  font-family:var(--font-d);font-weight:600;
  font-size:clamp(19px,2.1vw,23px);line-height:1.28;letter-spacing:-.012em;
  color:var(--ink);margin:0;max-width:40ch;text-wrap:balance;
}
.noticia p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2);max-width:var(--measure);}
.noticia-pe{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;
  margin-top:3px;
  font-family:var(--font-m);font-size:10.5px;letter-spacing:.1em;
  color:var(--taupe-2);
}
.noticia-pe a{color:var(--couro-deep);}

/* Selo de conferência humana — a garantia editorial da seção */
.selo{
  display:inline-flex;align-items:center;gap:7px;
  text-transform:uppercase;letter-spacing:.13em;
  color:var(--eixo-acelera);
}
.selo::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--eixo-acelera);flex:0 0 auto;
}
.selo.pendente{color:var(--taupe-2);}
.selo.pendente::before{background:transparent;border:1.5px solid var(--taupe-2);}

/* Fluxo do pipeline — etapas numeradas (a ordem É a informação) */
.fluxo{list-style:none;margin:0;padding:0;counter-reset:etapa;display:grid;gap:0;
  border-top:1px solid var(--rule);max-width:var(--measure);}
.fluxo li{
  counter-increment:etapa;
  display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;
  padding:20px 0;border-bottom:1px solid var(--rule);
}
.fluxo li::before{
  content:counter(etapa,decimal-leading-zero);
  font-family:var(--font-m);font-size:12px;font-weight:600;
  color:var(--couro);padding-top:3px;font-variant-numeric:tabular-nums;
}
.fluxo b{display:block;font-family:var(--font-d);font-weight:600;font-size:17.5px;
  color:var(--ink);margin-bottom:5px;letter-spacing:-.008em;}
.fluxo span{font-size:15px;line-height:1.58;color:var(--ink-2);}
.fluxo li.trava::before{color:var(--eixo-reabilita);}
.fluxo li.trava b{color:var(--eixo-reabilita);}
.fluxo li.trava b::after{
  content:"trava";
  font-family:var(--font-m);font-size:9.5px;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--eixo-reabilita);
  border:1px solid color-mix(in srgb,var(--eixo-reabilita) 40%,transparent);
  border-radius:999px;padding:2px 8px;margin-left:10px;vertical-align:middle;}

/* ============================================================
   14. Conteúdo centrado na situação do leitor
   ============================================================ */
/* A frase da situação vem ANTES do que o escritório faz: é ela que o leitor
   reconhece. O serviço entra depois, em corpo menor. */
.eixo-dor{
  font-family:var(--font-d);
  font-size:17.5px;line-height:1.46;letter-spacing:-.005em;
  color:var(--ink);margin:0;text-wrap:pretty;
}
.eixo-servicos{
  font-size:13.5px!important;line-height:1.55;color:var(--taupe)!important;
  padding-top:11px;border-top:1px solid var(--rule);
}

/* Queixa como título de definição: o leitor se reconhece na fala, não no serviço */
.defs dt.queixa{
  font-family:var(--font-d);font-style:italic;font-weight:400;
  font-size:19px;line-height:1.4;color:var(--ink-2);
  letter-spacing:0;margin-bottom:10px;
}
.defs dd .resposta{
  display:block;
  font-family:var(--font-m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--couro-deep);margin-bottom:6px;
}

/* Abertura de eixo: a situação, antes do escopo */
.situacao{
  font-family:var(--font-d);
  font-size:clamp(19px,2.1vw,22px);line-height:1.5;
  color:var(--ink);margin:0 0 1.1em;max-width:58ch;text-wrap:pretty;
}

/* ============================================================
   15. Navegação entre textos (anterior / próximo)
   ============================================================ */
.passos{
  display:grid;gap:1px;
  margin-top:clamp(36px,5vw,52px);
  background:var(--rule);border:1px solid var(--rule);border-radius:3px;overflow:hidden;
}
@media (min-width:640px){.passos{grid-template-columns:1fr 1fr;}}
.passo{
  display:grid;gap:7px;align-content:start;
  background:var(--panel);padding:20px 22px;min-height:100%;
  transition:background .16s ease;
}
.passo:hover{background:var(--panel-2);text-decoration:none;}
.passo--prox{text-align:right;}
.passo-rot{
  font-family:var(--font-m);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--taupe-2);
}
.passo-tit{
  font-family:var(--font-d);font-weight:600;font-size:16.5px;line-height:1.3;
  letter-spacing:-.008em;color:var(--ink);text-wrap:pretty;
}
.passos > span{background:var(--panel-2);}

/* Citação de fonte no corpo do texto — presente, sem interromper a leitura */
.artigo-texto .fonte{
  font-family:var(--font-u);
  font-size:.78em;color:var(--taupe);
  white-space:normal;
}

/* ============================================================
   16. Retrato na página de equipe
   ============================================================ */
.retrato{
  display:grid;gap:clamp(22px,3.5vw,40px);
  align-items:start;
}
@media (min-width:800px){
  .retrato{grid-template-columns:minmax(0,340px) minmax(0,1fr);}
}
.retrato-img{
  position:relative;
  border:1px solid var(--rule);
  border-radius:3px;
  overflow:hidden;
  background:var(--panel-2);
  /* fio couro na borda inferior: mesma marcação da coluna de margem */
  box-shadow:inset 0 -3px 0 var(--couro);
}
.retrato-img img{width:100%;height:auto;display:block;}
.retrato-id > * + *{margin-top:14px;}
.retrato-id h2{margin:0;}
.retrato-id .prosa{margin-top:20px;}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .retrato-img img{filter:brightness(.93);}
}
:root[data-theme="dark"] .retrato-img img{filter:brightness(.93);}

/* Retrato compacto: o retrato do sócio fundador abre a página maior; os demais
   advogados entram menores, o que também mantém a nitidez de fontes de menor
   resolução. */
@media (min-width:800px){
  .retrato--compacto{grid-template-columns:minmax(0,240px) minmax(0,1fr);}
}

/* Link de fonte: presente sem competir com o texto */
.artigo-texto .fonte a{
  color:var(--couro-deep);text-decoration:none;
  border-bottom:1px solid var(--rule-hard);
}
.artigo-texto .fonte a:hover{border-bottom-color:var(--couro);text-decoration:none;}
