/* ============ baby — páginas legais ============ */
:root{
  --obsidian:#0A0A0A; --ivory:#F7F5F2; --caramel:#C8A882;
  --charcoal:#2C2C2A; --line:rgba(10,10,10,.14);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Archivo',system-ui,sans-serif;background:var(--ivory);color:var(--obsidian);
  -webkit-font-smoothing:antialiased;line-height:1.65;
}
a{color:inherit}
em{font-family:'Bodoni Moda',serif;font-style:italic;font-weight:400}

/* nav */
.lnav{display:flex;justify-content:space-between;align-items:center;
  padding:1.6rem 6vw;border-bottom:1px solid var(--line);
  position:sticky;top:0;background:var(--ivory);z-index:10}
.lnav__logo{font-weight:900;font-size:1.35rem;letter-spacing:-.045em;text-decoration:none}
.lnav__back{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;color:var(--charcoal);border-bottom:1px solid var(--line);padding-bottom:2px}
.lnav__back:hover{color:var(--obsidian);border-color:var(--obsidian)}

/* cabeçalho */
.lhead{padding:9vh 6vw 5vh;max-width:820px}
.lhead__eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--caramel);
  display:block;margin-bottom:1.4rem}
.lhead h1{font-weight:900;font-size:clamp(2.1rem,5.5vw,3.6rem);letter-spacing:-.035em;line-height:1.02}
.lhead__sub{margin-top:1.5rem;font-size:1.02rem;color:var(--charcoal);max-width:60ch}

/* corpo */
.lbody{padding:0 6vw 12vh;max-width:820px}
.lbody h2{font-weight:900;font-size:1.32rem;letter-spacing:-.018em;margin:3.2rem 0 .9rem;
  padding-top:2.2rem;border-top:1px solid var(--line)}
.lbody h2:first-of-type{margin-top:1rem}
.lbody p{margin-bottom:1.05rem;font-size:1rem;max-width:66ch}
.lbody ul,.lbody ol{margin:0 0 1.3rem 1.15rem;max-width:66ch}
.lbody li{margin-bottom:.55rem;font-size:1rem}
.lbody strong{font-weight:600}
.lbody a{color:var(--obsidian);text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:var(--caramel);text-decoration-thickness:1.5px}
.lbody a:hover{background:var(--caramel)}
.lbody hr{border:0;border-top:1px solid var(--line);margin:3rem 0 1.6rem}

/* destaque — o direito que a lei dá */
.lbody .lei{border-left:3px solid var(--obsidian);padding:1.15rem 0 1.15rem 1.4rem;
  margin:1.6rem 0 1.8rem;background:rgba(200,168,130,.11)}
.lbody .lei p:last-child{margin-bottom:0}

/* tabela */
.lbody table{width:100%;border-collapse:collapse;margin:1.4rem 0 2rem;font-size:.94rem;
  table-layout:fixed;word-break:break-word;overflow-wrap:anywhere}
.lbody th,.lbody td{text-align:left;padding:.8rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
.lbody th{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--charcoal);font-weight:600}

/* rodapé */
.lfoot{background:var(--obsidian);color:var(--ivory);padding:7vh 6vw 4vh}
.lfoot__mod{font-weight:900;font-size:2.6rem;letter-spacing:-.05em;line-height:1;margin-bottom:2.4rem}
.lfoot__links{display:flex;gap:2rem;flex-wrap:wrap;margin-bottom:2.6rem}
.lfoot__links a{font-size:.86rem;text-decoration:none;color:rgba(247,245,242,.68)}
.lfoot__links a:hover{color:var(--caramel)}
.lfoot__lines{margin-top:1.6rem;max-width:60ch;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.74rem;
  letter-spacing:.03em;line-height:1.8;color:rgba(247,245,242,.55)}
.lfoot__bottom{display:flex;justify-content:space-between;gap:1.4rem;flex-wrap:wrap;
  border-top:1px solid rgba(247,245,242,.14);padding-top:1.6rem;
  font-size:.72rem;letter-spacing:.06em;color:rgba(247,245,242,.5)}

@media(max-width:720px){
  .lhead{padding:6vh 6vw 4vh}
  .lbody h2{font-size:1.16rem}
}

/* sinal de citação — abre a página, fecha acima do rodapé */
.mark{font-weight:900;line-height:1;display:block;color:var(--caramel)}
.mark--open{font-size:clamp(2.6rem,6vw,4.2rem);margin-bottom:1.8rem;letter-spacing:-.04em}
.mark--close{font-size:clamp(2.6rem,6vw,4.2rem);padding:0 6vw 7vh;letter-spacing:-.04em}


@media(max-width:760px){
  .lbody table,.lbody tbody,.lbody tr,.lbody td{display:block;width:100%}
  .lbody thead,.lbody tr:first-child{display:none}
  .lbody tr{border-bottom:1px solid var(--line);padding:.9rem 0}
  .lbody td{border:0;padding:.2rem 0}
  .lbody td::before{content:attr(data-lbl);display:block;
    font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
    color:var(--charcoal);opacity:.75;margin-bottom:.15rem}
  .lbody td:not([data-lbl])::before{content:none}
}
