/* ════════════════════════════════════════════════════════════════════
   JOÃO ANSELMO — ADVOGADO · folha partilhada pelas páginas legais
   Mesmos valores da página principal, só a composição é de documento.
   ════════════════════════════════════════════════════════════════════ */
:root{
  --navy:#192437; --navy-deep:#111A2A; --navy-raise:#1F2C42;
  --navy-line:rgba(185,172,140,.22);
  --ivory:#F9F8F3; --ivory-line:rgba(25,36,55,.135);
  --gold:#B9AC8C; --gold-ink:#7A6C45;
  --white:#FDFDFC; --on-navy:#EDEAE1; --on-navy-dim:#9CA5B4;
  --on-ivory:#192437; --on-ivory-dim:#5E6472;

  --serif:"Instrument Serif","Iowan Old Style",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans","Helvetica Neue",Arial,system-ui,sans-serif;

  --t-h1:clamp(2.1rem,4.6vw,3.6rem);
  --t-h2:clamp(1.18rem,1.9vw,1.5rem);
  --t-body:clamp(.95rem,1.02vw,1.06rem);
  --t-small:clamp(.85rem,.92vw,.935rem);
  --t-label:clamp(.655rem,.74vw,.75rem);

  --pad:clamp(20px,4.4vw,76px);
  --ease:cubic-bezier(.22,.61,.36,1);
  color-scheme:only light;
}
*,*::before,*::after{ box-sizing:border-box; }
[hidden]{ display:none!important; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth;
  scrollbar-width:thin; scrollbar-color:rgba(25,36,55,.34) var(--ivory); }
::-webkit-scrollbar{ width:11px; height:11px; }
::-webkit-scrollbar-track{ background:var(--ivory); }
::-webkit-scrollbar-thumb{ background:rgba(25,36,55,.28); border:3px solid var(--ivory); border-radius:6px; }
::-webkit-scrollbar-thumb:hover{ background:var(--gold-ink); }
body{
  margin:0; background:var(--ivory); color:var(--on-ivory);
  font-family:var(--sans); font-size:var(--t-body); line-height:1.68;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img{ max-width:100%; display:block; }
h1,h2,h3,p,dl,dd,figure{ margin:0; }
ul,ol{ margin:0; padding:0; }
a{ color:inherit; }
::selection{ background:var(--gold); color:var(--navy); }
:focus-visible{ outline:2px solid var(--gold-ink); outline-offset:3px; }
.skip{ position:absolute; left:var(--pad); top:-100px; z-index:20; background:var(--gold);
  color:var(--navy); padding:.7rem 1.1rem; font-size:var(--t-small); font-weight:600; text-decoration:none; }
.skip:focus{ top:12px; }

/* ── Cabeçalho ──────────────────────────────────────────── */
.dhdr{ background:var(--navy); color:var(--on-navy);
  padding:clamp(18px,2.6vw,30px) var(--pad);
  padding-top:calc(env(safe-area-inset-top,0px) + clamp(18px,2.6vw,30px)); }
.dhdr__in{ max-width:1100px; margin-inline:auto; display:flex; flex-wrap:wrap;
  align-items:center; justify-content:space-between; gap:1rem 1.6rem; }
.lockup{ display:flex; align-items:center; gap:.82rem; text-decoration:none; }
.lockup img{ height:32px; width:auto; }
.lockup__name{ font-family:var(--serif); font-size:1.09rem; line-height:1; letter-spacing:.075em;
  text-transform:uppercase; color:var(--white); white-space:nowrap; }
.lockup__role{ display:block; font-size:.5rem; letter-spacing:.42em; text-transform:uppercase;
  color:var(--gold); line-height:1; font-weight:500; margin-top:.28rem; }
.dhdr__back{ font-size:var(--t-small); color:var(--on-navy-dim); text-decoration:none;
  border-bottom:1px solid transparent; transition:color .3s var(--ease), border-color .3s var(--ease); }
.dhdr__back:hover{ color:var(--gold); border-bottom-color:rgba(185,172,140,.5); }

/* ── Documento ──────────────────────────────────────────── */
.doc{ max-width:1100px; margin-inline:auto; padding:clamp(44px,6.5vw,90px) var(--pad) clamp(56px,7vw,100px); }
.doc__h1{ font-family:var(--serif); font-weight:400; font-size:var(--t-h1); line-height:1.02;
  letter-spacing:-.018em; margin:.7rem 0 1rem; max-width:18ch; text-wrap:balance; }
.doc__upd{ font-size:var(--t-small); color:var(--on-ivory-dim); }
.doc__lead{ font-size:clamp(1rem,1.26vw,1.16rem); line-height:1.6; color:var(--on-ivory-dim);
  max-width:62ch; margin-top:1.4rem; }

.toc{ margin:clamp(2.2rem,4vw,3.2rem) 0 0; padding:clamp(1.1rem,2vw,1.6rem) 0;
  border-top:1px solid var(--ivory-line); border-bottom:1px solid var(--ivory-line); }
.toc h2{ font-size:var(--t-label); letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold-ink); font-weight:500; margin-bottom:.9rem; }
/* colunas em vez de grelha: a grelha preenche por linhas, e o índice
   passava a ler-se 01, 03, 05 a descer a coluna esquerda. */
.toc ol{ list-style:none; counter-reset:t; font-size:var(--t-small); }
@media (min-width:720px){ .toc ol{ columns:2; column-gap:clamp(1.4rem,3vw,3rem); } }
.toc li{ counter-increment:t; break-inside:avoid; margin-bottom:.42rem; }
.toc li::before{ content:counter(t,decimal-leading-zero); color:var(--gold-ink);
  font-variant-numeric:tabular-nums; margin-right:.7rem; font-size:.78em; }
.toc a{ color:var(--on-ivory-dim); text-decoration:none;
  border-bottom:1px solid transparent; transition:color .3s var(--ease), border-color .3s var(--ease); }
.toc a:hover{ color:var(--navy); border-bottom-color:var(--gold); }

.sec{ margin-top:clamp(2.4rem,4.4vw,3.6rem); scroll-margin-top:24px; }
.sec__h{ font-family:var(--sans); font-weight:600; font-size:var(--t-h2); line-height:1.3;
  letter-spacing:.055em; text-transform:uppercase; color:var(--navy);
  padding-bottom:.7rem; border-bottom:1px solid var(--ivory-line); margin-bottom:1.15rem; }
.sec__h span{ color:var(--gold-ink); font-variant-numeric:tabular-nums; margin-right:.75rem; font-size:.8em; }
.sec p,.sec li{ max-width:68ch; }
.sec p + p,.sec > ul,.sec > ol,.sec > .tbl,.sec > .box{ margin-top:1rem; }
.sec ul,.sec ol{ padding-left:1.25rem; display:grid; gap:.5rem; }
.sec ul{ list-style:none; padding-left:0; }
.sec ul li{ padding-left:1.25rem; position:relative; }
.sec ul li::before{ content:""; position:absolute; left:0; top:.72em;
  width:7px; height:1px; background:var(--gold-ink); }
.sec a{ color:var(--navy); text-decoration:none; border-bottom:1px solid rgba(25,36,55,.3);
  transition:border-color .3s var(--ease); }
.sec a:hover{ border-bottom-color:var(--navy); }
.sec strong{ font-weight:600; }

/* dados a confirmar antes de publicar — visíveis de propósito */
.todo{ background:rgba(185,172,140,.2); border-bottom:1px solid var(--gold-ink);
  padding:.06em .32em; font-size:.95em; }

.tbl{ width:100%; border-collapse:collapse; font-size:var(--t-small); }
.tbl th,.tbl td{ text-align:left; vertical-align:top; padding:.82rem .9rem .82rem 0;
  border-bottom:1px solid var(--ivory-line); }
.tbl th{ font-size:var(--t-label); letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold-ink); font-weight:500; white-space:nowrap; }
.tbl td:last-child,.tbl th:last-child{ padding-right:0; }
@media (max-width:620px){
  .tbl,.tbl tbody,.tbl tr,.tbl td{ display:block; width:100%; }
  .tbl thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .tbl tr{ padding-block:.9rem; border-bottom:1px solid var(--ivory-line); }
  .tbl td{ border:0; padding:.12rem 0; }
  .tbl td::before{ content:attr(data-k) " — "; font-size:var(--t-label); letter-spacing:.14em;
    text-transform:uppercase; color:var(--gold-ink); }
}

.box{ background:var(--navy); color:var(--on-navy); padding:clamp(1.2rem,2.6vw,1.9rem); }
.box p{ color:var(--on-navy); max-width:64ch; }
.box p + p{ margin-top:.8rem; }
.box a{ color:var(--gold); border-bottom-color:rgba(185,172,140,.45); }
.box a:hover{ border-bottom-color:var(--gold); }

/* ── Rodapé ─────────────────────────────────────────────── */
.dft{ background:var(--navy-deep); color:var(--on-navy-dim);
  padding:clamp(2.4rem,4vw,3.4rem) var(--pad);
  padding-bottom:calc(env(safe-area-inset-bottom,0px) + clamp(2.4rem,4vw,3.4rem)); }
.dft__in{ max-width:1100px; margin-inline:auto; display:flex; flex-wrap:wrap;
  gap:.8rem 2rem; justify-content:space-between; align-items:center; font-size:var(--t-small); }
.dft a{ color:var(--on-navy-dim); text-decoration:none; transition:color .3s var(--ease); }
.dft a:hover{ color:var(--gold); }
.dft ul{ list-style:none; display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ transition-duration:.01ms!important; animation-duration:.01ms!important; }
  html{ scroll-behavior:auto; }
}
@media print{
  .dhdr,.dft,.toc,.skip{ display:none; }
  body{ background:#fff; }
  .box{ background:#fff; color:#000; border-left:2px solid #999; }
  .box p{ color:#000; }
}
