/* =====================================================================
   LEGAL — folha compartilhada por /termos e /privacidade
   ===================================================================== */
:root{
  --black:#080808; --surface:#0e0e0e; --surface2:#141414;
  --border:rgba(255,255,255,.07); --border-lt:rgba(255,255,255,.12);
  --gold:#c9a227; --gold-lt:#e8c04a;
  --cream:#f0ebe0; --white:#f5f2ec;
  --muted:rgba(240,235,224,.45); --body:rgba(240,235,224,.72);
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'DM Sans',system-ui,sans-serif;
  --font-mono:'DM Mono',ui-monospace,monospace;
  --radius:4px;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  background:var(--black); color:var(--body);
  font-family:var(--font-body); font-size:16px; line-height:1.75;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
::selection{ background:var(--gold); color:var(--black); }

.wrap{ width:100%; max-width:780px; margin-inline:auto; padding-inline:clamp(1.15rem,5vw,2rem); }

/* ---------- topo ---------- */
.topbar{
  position:sticky; top:0; z-index:20;
  background:rgba(8,8,8,.88); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.topbar .wrap{ display:flex; align-items:center; justify-content:space-between; gap:1rem; height:66px; }
.brand{ display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--white);
  font-family:var(--font-display); font-size:1.22rem; font-weight:600; letter-spacing:.01em; }
.brand img{ width:26px; height:26px; object-fit:contain; }
.brand span{ color:var(--gold); }
.back{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.09em; text-transform:uppercase;
  color:var(--muted); text-decoration:none; transition:color .3s;
  white-space:nowrap;
}
.back:hover{ color:var(--gold-lt); }

/* ---------- cabeçalho ---------- */
header.doc{ padding:clamp(3rem,9vw,5rem) 0 clamp(1.75rem,4vw,2.5rem); border-bottom:1px solid var(--border); }
.eyebrow{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1rem;
}
h1{
  font-family:var(--font-display); font-weight:400; color:var(--white);
  font-size:clamp(2.1rem,6vw,3.4rem); line-height:1.12; letter-spacing:-.01em;
}
.sub{ margin-top:1.1rem; font-size:1rem; color:var(--muted); max-width:60ch; }
.updated{
  margin-top:1.6rem; font-family:var(--font-mono); font-size:.7rem;
  letter-spacing:.06em; color:rgba(240,235,224,.35);
}

/* ---------- sumário ---------- */
nav.toc{ margin:clamp(2rem,5vw,3rem) 0; padding:1.5rem 1.6rem; background:var(--surface);
  border:1px solid var(--border); border-radius:var(--radius); }
nav.toc h2{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); font-weight:500; margin-bottom:1rem;
}
nav.toc ol{ list-style:none; counter-reset:toc; display:grid; gap:.5rem; }
@media(min-width:640px){ nav.toc ol{ grid-template-columns:1fr 1fr; column-gap:2rem; } }
nav.toc li{ counter-increment:toc; }
nav.toc a{
  display:flex; gap:.6rem; color:var(--body); text-decoration:none;
  font-size:.88rem; line-height:1.5; transition:color .25s;
}
nav.toc a::before{
  content:counter(toc,decimal-leading-zero);
  font-family:var(--font-mono); font-size:.72rem; color:var(--gold-lt); opacity:.6; flex-shrink:0;
}
nav.toc a:hover{ color:var(--gold-lt); }

/* ---------- corpo ---------- */
main{ padding-bottom:clamp(3rem,7vw,4.5rem); }
section.sec{ padding-top:clamp(2.25rem,5vw,3rem); scroll-margin-top:86px; }
section.sec h2{
  font-family:var(--font-display); font-weight:600; color:var(--white);
  font-size:clamp(1.4rem,3.6vw,1.85rem); line-height:1.25; margin-bottom:1rem;
  display:flex; gap:.7rem; align-items:baseline;
}
section.sec h2 .n{
  font-family:var(--font-mono); font-size:.78rem; font-weight:500;
  color:var(--gold); opacity:.75; flex-shrink:0;
}
section.sec h3{
  font-family:var(--font-body); font-weight:600; color:var(--cream);
  font-size:.96rem; margin:1.6rem 0 .55rem;
}
p{ margin-bottom:1rem; }
p:last-child{ margin-bottom:0; }
strong{ color:var(--cream); font-weight:600; }
a{ color:var(--gold-lt); text-decoration:underline; text-underline-offset:3px;
  text-decoration-color:rgba(232,192,74,.35); transition:text-decoration-color .25s; }
a:hover{ text-decoration-color:var(--gold-lt); }
ul,ol{ margin:0 0 1rem 1.15rem; display:grid; gap:.45rem; }
li{ padding-left:.25rem; }
li::marker{ color:var(--gold); }

/* ---------- caixa de destaque ---------- */
.alert{
  margin:1.5rem 0; padding:1.35rem 1.5rem;
  background:linear-gradient(180deg,rgba(201,162,39,.08),rgba(201,162,39,.03));
  border:1px solid rgba(201,162,39,.28); border-left-width:3px;
  border-radius:var(--radius);
}
.alert .t{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--gold-lt); margin-bottom:.7rem;
}
.alert p{ font-size:.93rem; }

.note{
  margin:1.5rem 0; padding:1.2rem 1.4rem;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  font-size:.9rem;
}

/* ---------- tabela ---------- */
.tbl-scroll{ overflow-x:auto; margin:1.25rem 0; border:1px solid var(--border); border-radius:var(--radius); }
table{ width:100%; border-collapse:collapse; font-size:.86rem; min-width:460px; }
th,td{ padding:.8rem 1rem; text-align:left; border-bottom:1px solid var(--border); vertical-align:top; }
th{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.09em; text-transform:uppercase;
  color:var(--muted); font-weight:500; background:var(--surface); white-space:nowrap;
}
tr:last-child td{ border-bottom:none; }

/* ---------- contato ---------- */
.contact{
  margin-top:clamp(2.5rem,6vw,3.5rem); padding:1.6rem 1.7rem;
  background:var(--surface); border:1px solid var(--border-lt); border-radius:var(--radius);
}
.contact .t{ font-family:var(--font-display); font-size:1.3rem; color:var(--white); margin-bottom:.6rem; }
.contact p{ font-size:.92rem; }

/* ---------- rodapé ---------- */
footer{ border-top:1px solid var(--border); background:var(--surface); padding:2.5rem 0 2.25rem; }
.foot-nav{ display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin-bottom:1.5rem; }
.foot-nav a{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); text-decoration:none; transition:color .3s;
}
.foot-nav a:hover{ color:var(--gold-lt); }
.foot-legal{ font-family:var(--font-mono); font-size:.71rem; line-height:1.7; color:var(--muted); }
.foot-disc{ margin-top:1rem; font-size:.73rem; line-height:1.65; color:rgba(240,235,224,.38); }
.foot-disc + .foot-disc{ margin-top:.7rem; }

@media(prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; animation:none !important; }
}
