/* Legais e 404 — editorial de alto contraste, sem depender de JS. */
body[data-pagina="404"] { overflow-x: clip; }
html:has(body[data-pagina="404"]) { overflow-x: clip; }
.legal-hero{padding:calc(var(--topo-h) + clamp(90px,10vw,160px)) 0 90px;min-height:590px;display:flex;align-items:center;background:radial-gradient(ellipse at 90% 10%,rgba(255,90,31,.22),transparent 40%),repeating-linear-gradient(0deg,transparent 0 79px,rgba(244,239,230,.045) 80px 81px),var(--carvao);overflow:hidden;}
.legal-hero__grade{display:grid;grid-template-columns:1fr .38fr;align-items:center;gap:30px;}.legal-hero .migalhas{margin-bottom:45px;}.legal-hero h1{margin:20px 0 26px;max-width:850px;}.legal-hero__data{margin-top:35px;color:var(--cinza);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;}.legal-hero__sinal{position:relative;font-size:clamp(11rem,24vw,27rem);font-weight:900;letter-spacing:-.15em;line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(255,90,31,.4);transform:rotate(-10deg);}.legal-hero__sinal span{position:absolute;top:14%;left:60%;font-family:var(--f-serifa);font-size:.4em;color:var(--brasa);-webkit-text-stroke:0;}
.legal-area__grade{display:grid;grid-template-columns:minmax(180px,230px) minmax(0,800px);justify-content:space-between;gap:clamp(36px,8vw,120px);}.legal-indice{align-self:start;position:sticky;top:130px;display:grid;gap:6px;}.legal-indice span{font-size:.7rem;letter-spacing:.12em;color:var(--brasa-escura);margin-bottom:16px;}.legal-indice a{padding:10px 0;border-bottom:1px solid rgba(11,10,9,.14);text-decoration:none;font-size:.88rem;color:var(--cinza-2);}.legal-indice a:hover{color:var(--brasa-escura);}.legal-area .legal{max-width:none;}.legal-area .legal h2{font-size:clamp(1.5rem,2.5vw,2.4rem);line-height:1.1;letter-spacing:-.035em;scroll-margin-top:120px;margin:55px 0 17px;color:var(--tinta);}.legal-area .legal p,.legal-area .legal li{color:#423d36;font-size:1.05rem;line-height:1.7;}.legal-area .legal a{color:var(--brasa-escura);}.legal-area .legal strong{color:var(--tinta);}.legal-area .legal code{font-family:var(--f-mono);font-size:.85em;overflow-wrap:anywhere;}.legal-area .legal .legal-destaque{margin:0 0 55px;padding:26px 32px;border-left:4px solid var(--brasa-escura);background:var(--osso-2);font-size:clamp(1.15rem,2vw,1.55rem);font-weight:650;line-height:1.35;color:var(--tinta);}.legal-fecho{margin-top:70px;padding:38px;border-radius:var(--r-l);background:var(--osso-2);}.legal-area .legal .legal-fecho .btn{color:var(--osso);}.legal-fecho span{color:var(--brasa-escura);font-size:.7rem;letter-spacing:.1em;}.legal-fecho p{font-size:1.4rem!important;font-weight:730;margin:12px 0 25px;color:var(--tinta)!important;}
.erro{min-height:100svh;padding:calc(var(--topo-h) + clamp(80px,9vw,140px)) 0 50px;background:radial-gradient(circle at 65% 40%,rgba(255,90,31,.2),transparent 37%),var(--carvao);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;}.erro__grade{display:grid;grid-template-columns:1fr .55fr;align-items:center;gap:40px;}.erro h1{max-width:850px;margin:24px 0 30px;}.erro .lead{margin-bottom:34px;}.erro__numero{font-size:clamp(10rem,25vw,28rem);font-weight:900;letter-spacing:-.17em;line-height:.8;color:transparent;-webkit-text-stroke:2px rgba(255,90,31,.55);transform:rotate(-10deg);white-space:nowrap;}.erro__numero span{color:var(--brasa);text-shadow:0 0 75px rgba(255,90,31,.4);-webkit-text-stroke:0;}.erro__atalhos{padding-top:42px;margin-top:55px;border-top:1px solid var(--linha-2);}.erro__atalhos > span{font-size:.68rem;letter-spacing:.16em;color:var(--brasa);}.erro__atalhos nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}.erro__atalhos a{display:inline-flex;align-items:center;min-height:44px;padding:9px 17px;border:1px solid var(--linha-2);border-radius:999px;text-decoration:none;color:var(--osso);transition:background .25s,border-color .25s;}.erro__atalhos a:hover{border-color:var(--brasa);background:rgba(255,90,31,.13);}
@media(max-width:850px){.legal-hero__grade{grid-template-columns:1fr;}.legal-hero__sinal{display:none;}.legal-area__grade{grid-template-columns:1fr;}.legal-indice{position:static;display:flex;flex-wrap:wrap;gap:6px 20px;}.legal-indice span{flex-basis:100%;margin-bottom:0;}.legal-indice a{padding:7px 0;}.erro__grade{grid-template-columns:1fr;}.erro__numero{position:absolute;right:-5%;top:18%;opacity:.2;z-index:0;}.erro__texto{position:relative;z-index:1;}}
@media(max-width:600px){.legal-hero{min-height:500px;padding-bottom:65px;}.legal-hero .migalhas{margin-bottom:30px;}.legal-area .legal .legal-destaque{padding:22px;}.legal-fecho{padding:26px;}.erro{padding-bottom:35px;}.erro .acoes .btn{width:100%;white-space:normal;}.erro__numero{font-size:12rem;top:23%;right:20px;transform:none;}.erro__atalhos{margin-top:75px;}}
/* Mobile — leitura confortável e navegação com alvos inteiros. */
@media(max-width:760px) {
  .legal-hero { min-height:0; padding:125px 0 52px; }
  .legal-hero .migalhas { margin-bottom:28px; font-size:.61rem; }
  .legal-hero h1 { font-size:clamp(2.85rem,12.7vw,5.3rem); line-height:.94; margin:23px 0; }
  .legal-hero .lead { font-size:1.0625rem; line-height:1.6; }
  .legal-hero__data { font-size:.6rem; line-height:1.6; margin-top:25px; }
  .legal-area__grade { gap:38px; }
  .legal-indice { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
  .legal-indice span { grid-column:1/-1; margin-bottom:12px; font-size:.62rem; }
  .legal-indice a { display:flex; align-items:center; min-height:48px; padding:8px 0; font-size:.83rem; line-height:1.35; }
  .legal-area .legal .legal-destaque { padding:22px; margin-bottom:37px; font-size:1.2rem; line-height:1.5; }
  .legal-area .legal h2 { font-size:1.7rem; line-height:1.12; margin:38px 0 18px; }
  .legal-area .legal p,.legal-area .legal li { font-size:1rem; line-height:1.75; }
  .legal-fecho { padding:25px; border-radius:3px 24px 3px 3px; margin-top:38px; }
  .legal-fecho .btn { width:100%; white-space:normal; font-size:.88rem; }
  .erro { min-height:100svh; padding-top:155px; padding-bottom:48px; }
  .erro h1 { font-size:clamp(2.8rem,13vw,5.4rem); line-height:.94; }
  .erro__numero { top:93px; right:20px; font-size:11rem; opacity:.16; }
  .erro .lead { font-size:1.0625rem; line-height:1.6; }
  .erro__atalhos { margin-top:45px; padding-top:26px; }
  .erro__atalhos nav { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .erro__atalhos a { justify-content:space-between; font-size:.86rem; padding:12px 15px; border-radius:5px; }
}
@media(min-width:761px) and (max-width:850px) {
  .erro__numero { right:var(--gut); transform:none; }
}
