/* Atlas da reforma tributária: o desenho "Mesa e folha" (direção B, escolhida pelo titular em 17/10/2026), levado ao gerador.
   Tokens do site PIZANI e selos do Atlas; depois, as peças de B; no fim, os ajustes do porte (paleta, selos, tamanhos, páginas). */
@font-face{font-family:"Lyon Display";src:url(/fonts/LyonDisplay-Light-Web.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Lyon Display";src:url(/fonts/LyonDisplay-Regular-Web.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Lyon Display";src:url(/fonts/LyonDisplay-RegularItalic-Web.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Lyon Text";src:url(/fonts/LyonText-Regular-Web.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Lyon Text";src:url(/fonts/LyonText-RegularItalic-Web.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Lyon Text";src:url(/fonts/LyonText-Semibold-Web.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Triplicate";src:url(/fonts/Triplicate-T4.woff2) format("woff2");font-display:swap}

:root{
  --antracite:#232830;--pergaminho:#F4F1EA;--verde:#234032;--bronze:#846532;--pedra:#7A7E7E;--bordo:#5C1E2A;
  --fundo:#111317;--linha:color-mix(in srgb,var(--pergaminho) 14%,var(--fundo));--suave:color-mix(in srgb,var(--pergaminho) 72%,var(--fundo));--bronze-claro:#c9ab82;--bronze-luz:#e8c894;
  --papel:#F4F1EA;--tinta:#232830;
  --serif-display:"Lyon Display",Georgia,serif;--serif-texto:"Lyon Text",Georgia,serif;--mono:"Triplicate",ui-monospace,monospace;
  --margem:clamp(16px,5vw,72px);
  --t-display:clamp(2.4rem,6vw,5.2rem);--t-titulo:clamp(1.9rem,3.6vw,3rem);--t-subtitulo:clamp(1.3rem,1.9vw,1.6rem);
  --t-lead:1.25rem;--t-corpo:1.0625rem;--t-pequeno:.8125rem;
  --medida:65ch;--toque:44px;--altura-cabecalho:81px;

  /* selos de estado (contrato de 17/10/2026): validado e revisado cheios com texto pergaminho; rascunho vazado, borda pedra */
  --selo-validado-fundo:#234032;--selo-validado-texto:#F4F1EA;
  --selo-revisado-fundo:#846532;--selo-revisado-texto:#F4F1EA;
  --selo-rascunho-fundo:transparent;--selo-rascunho-texto:#F4F1EA;--selo-rascunho-borda:#7A7E7E;
  --bronze-escuro:#6f5326;--fac:#FCFBF7;--tinta-suave:#4a4f57;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--fundo);color-scheme:dark}
body{margin:0;background:var(--fundo);color:var(--pergaminho);font-family:var(--serif-texto);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
:focus-visible{outline:2px solid var(--bronze-luz);outline-offset:3px;box-shadow:0 0 0 5px rgba(17,19,23,.85)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Mesa e folha. Um só CSS para todas as páginas.
   A mesa é o fundo escuro do site com os fios (Threads) atrás; a leitura acontece em folhas creme lisas, com a pilha de
   sombras da Anatomia (sem grão de papel: o titular mandou tirar). Escala: só os seis tamanhos de tokens.css. */
:root{
  --fio:color-mix(in srgb,var(--tinta) 20%,var(--papel));--ouro:var(--bronze);--ouro-esc:var(--bronze-escuro);
  --sombra-papel:0 1px 2px rgba(17,19,23,.45),0 10px 22px rgba(17,19,23,.4),0 34px 70px rgba(17,19,23,.55);
  --altura-cab:72px;--altura-faixa:32px;
}
html{scroll-padding-top:calc(var(--altura-cab) + 20px)}
body{min-height:100vh;padding-bottom:calc(var(--altura-faixa) + 12px)}
img{max-width:100%;height:auto}
a{color:inherit}
p,h1,h2,h3,h4,h5,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0}
h1,h2,h3,h4{font-family:var(--serif-display);font-weight:300;line-height:1.1;text-wrap:balance}
button{font:inherit}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pular{position:fixed;left:12px;top:-80px;z-index:100;padding:12px 18px;background:var(--pergaminho);color:var(--tinta);text-decoration:none;border-radius:2px}
.pular:focus{top:12px}

/* ---------- fios (Threads) atrás de tudo ---------- */
.fios{position:fixed;inset:0;z-index:0;pointer-events:none}
.fios canvas{display:block;width:100%;height:100%}
@media (max-width:760px){.fios{display:none}}

/* ---------- cabeçalho do site: marca, título da seção, lupa, "Apresentar uma questão" ---------- */
.cab{position:fixed;inset:0 0 auto;z-index:30;height:var(--altura-cab);display:flex;align-items:center;gap:18px;padding:0 var(--margem);background:rgba(17,19,23,.96);border-bottom:1px solid color-mix(in srgb,var(--bronze-claro) 20%,var(--fundo))}
.marca{display:inline-flex;align-items:center;min-height:var(--toque);flex:none}
.marca img{display:block;height:19px;width:auto}
.cab-secao{display:inline-flex;align-items:center;min-height:var(--toque);padding-left:18px;border-left:1px solid color-mix(in srgb,var(--pergaminho) 28%,var(--fundo));font-family:var(--serif-display);font-size:1.25rem;line-height:1;text-decoration:none;color:var(--pergaminho)}
.cab-secao:hover{color:var(--bronze-luz)}
.cab-acoes{margin-left:auto;display:flex;align-items:center;gap:10px}
.lupa-bt{width:var(--toque);height:var(--toque);display:inline-grid;place-items:center;padding:0;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--pergaminho);cursor:pointer;transition:border-color .25s,background .25s}
.lupa-bt:hover,.lupa-bt[aria-expanded="true"]{border-color:color-mix(in srgb,var(--pergaminho) 40%,var(--fundo));background:color-mix(in srgb,var(--pergaminho) 6%,var(--fundo))}
.lupa-bt svg{width:19px;height:19px}
.questao{display:inline-flex;align-items:center;min-height:var(--toque);padding:0 1.1em;border:1px solid color-mix(in srgb,var(--pergaminho) 50%,var(--fundo));border-radius:999px;font-size:.9rem;text-decoration:none;white-space:nowrap;transition:border-color .25s,color .25s}
.questao:hover{color:var(--bronze-luz);border-color:var(--bronze-luz)}
@media (max-width:560px){
  .cab{gap:10px}
  .cab-secao{display:none}
  .cab-acoes{gap:4px}
  .questao{padding:0 .8em;font-size:.8125rem}
}

/* a lupa abre um campo logo abaixo do cabeçalho */
.busca{position:absolute;top:100%;right:var(--margem);width:min(480px,calc(100vw - 2 * var(--margem)));padding:14px 16px 12px;background:color-mix(in srgb,var(--fundo) 80%,var(--antracite));border:1px solid color-mix(in srgb,var(--bronze-claro) 26%,var(--fundo));border-top:0;box-shadow:0 22px 44px rgba(17,19,23,.55)}
.busca[hidden]{display:none}
.busca input{width:100%;min-height:var(--toque);padding:0 2px;border:0;border-bottom:1px solid color-mix(in srgb,var(--bronze-claro) 55%,var(--fundo));background:transparent;color:var(--pergaminho);font-family:var(--serif-texto);font-size:var(--t-corpo)}
.busca input::placeholder{color:color-mix(in srgb,var(--pergaminho) 60%,var(--fundo))}
.busca input:focus-visible{outline:0;box-shadow:none;border-bottom-color:var(--bronze-luz)}
.busca-dica{margin-top:8px;font-size:var(--t-pequeno);color:var(--suave)}
.busca-res{list-style:none;margin-top:6px;max-height:min(60vh,480px);overflow:auto}
.busca-res a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:baseline;min-height:var(--toque);padding:8px 6px;border-top:1px solid var(--linha);text-decoration:none}
.busca-res a:hover,.busca-res a:focus-visible{background:color-mix(in srgb,var(--pergaminho) 6%,var(--fundo))}
.busca-res .r-t{font-family:var(--serif-display);font-size:1.05rem;line-height:1.25}
.busca-res .r-s{grid-column:1;font-size:var(--t-pequeno);color:var(--suave)}
.busca-res .selo{grid-column:2;grid-row:1}

/* ---------- faixa "em construção" (fixa no rodapé) e a aba da carta ---------- */
.faixa{position:fixed;inset:auto 0 0;z-index:25;min-height:var(--altura-faixa);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 .45em;padding:6px var(--margem);background:var(--fundo);border-top:1px solid color-mix(in srgb,var(--bronze-claro) 22%,var(--fundo));color:color-mix(in srgb,var(--pergaminho) 80%,var(--fundo));font-size:var(--t-pequeno);line-height:1.35;letter-spacing:.02em;text-align:center}
.faixa .n{color:var(--pergaminho)}
.aba-carta{position:fixed;right:var(--margem);bottom:var(--altura-faixa);z-index:26;min-height:var(--toque);display:inline-flex;align-items:center;gap:.55em;padding:0 18px 2px;border:0;border-radius:4px 4px 0 0;background:var(--papel);color:var(--tinta);font-family:var(--serif-display);font-size:1.0625rem;cursor:pointer;box-shadow:0 -6px 22px rgba(17,19,23,.45);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.aba-carta:hover{transform:translateY(-3px)}
.aba-carta:focus-visible{outline-color:var(--bronze-luz)}
.aba-carta .seta{font-family:var(--serif-texto);font-size:.9em;color:var(--ouro-esc)}
@media (max-width:760px){
  :root{--altura-faixa:48px}
  .aba-carta{right:12px}
}

/* ---------- a mesa e as folhas ---------- */
main{position:relative;z-index:1;display:block;padding:calc(var(--altura-cab) + 36px) 24px 120px}
main:focus{outline:0}
.trilha{width:min(1080px,100%);margin:0 auto 22px;font-size:var(--t-pequeno);letter-spacing:.04em;color:var(--suave)}
.trilha a{text-decoration:none;color:var(--pergaminho)}
.trilha a:hover{color:var(--bronze-luz)}
.trilha .sep{margin:0 .5em;color:color-mix(in srgb,var(--pergaminho) 45%,var(--fundo))}
.folha{position:relative;width:min(1080px,100%);margin:0 auto;padding:58px clamp(22px,7vw,96px) 34px;background:var(--papel);color:var(--tinta);color-scheme:light;box-shadow:var(--sombra-papel)}
.folha + .folha{margin-top:96px}
.folha ::selection{background:color-mix(in srgb,var(--bronze) 25%,var(--papel))}
.folha :focus-visible{outline:2px solid var(--ouro-esc);outline-offset:2px;box-shadow:none}
.folha a{color:var(--tinta);text-decoration-color:color-mix(in srgb,var(--bronze) 60%,var(--papel));text-underline-offset:.18em}
.folha a:hover{color:var(--ouro-esc)}
.folha p,.folha li,.folha dd,.folha td,.folha blockquote,.folha figcaption{text-align:left}
.fio-alto{border-top:1.5px solid var(--tinta);margin-bottom:22px}
.chapeu{display:block;font-family:var(--serif-texto);font-size:var(--t-pequeno);font-weight:400;letter-spacing:.22em;line-height:1.5;text-transform:uppercase;color:var(--ouro-esc)}
.chapeu .num{letter-spacing:.06em}
.linha-fina{font-family:var(--serif-display);font-style:italic;font-size:var(--t-lead);line-height:1.45;color:var(--tinta-suave);text-wrap:pretty}
.folio{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin-top:44px;padding-top:12px;border-top:1px solid var(--fio);font-size:var(--t-pequeno);letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave)}
.folio .num{color:var(--tinta);letter-spacing:.04em}
.folio .dir{margin-left:auto}
/* a pilha (da Anatomia): debaixo da folha, as bordas das que vêm depois */
.pilha-0{box-shadow:var(--sombra-papel)}
.pilha-1{box-shadow:0 14px 0 -9px color-mix(in srgb,var(--pergaminho) 85%,var(--pedra)),0 15px 0 -9px var(--fundo),var(--sombra-papel)}
.pilha-2{box-shadow:0 14px 0 -9px color-mix(in srgb,var(--pergaminho) 85%,var(--pedra)),0 15px 0 -9px var(--fundo),0 29px 0 -18px color-mix(in srgb,var(--pergaminho) 72%,var(--pedra)),0 30px 0 -18px var(--fundo),var(--sombra-papel)}
.carregando{min-height:40vh;display:grid;place-items:center;font-family:var(--serif-display);font-style:italic;font-size:var(--t-lead);color:var(--tinta-suave)}
@media (max-width:760px){
  main{padding:calc(var(--altura-cab) + 22px) 0 96px}
  .trilha{padding:0 16px}
  .folha{padding:40px 20px 24px}
  .folha + .folha{margin-top:64px}
  .folio .dir{display:none}
}

/* ---------- selos de estado (texto legível; as duplas de cor de tokens.css) ---------- */
.selo{display:inline-block;padding:.16em .62em .2em;border-radius:2px;font-family:var(--serif-texto);font-size:var(--t-pequeno);font-weight:400;font-style:normal;letter-spacing:.06em;line-height:1.35;white-space:nowrap;text-transform:none}
.selo-validado{background:var(--selo-validado-fundo);color:var(--selo-validado-texto)}
.selo-revisado{background:var(--selo-revisado-fundo);color:var(--selo-revisado-texto)}
.selo-rascunho{background:var(--selo-rascunho-fundo);color:var(--selo-rascunho-texto)}
.selo-outro{background:var(--tinta-suave);color:var(--pergaminho)}

/* ---------- início ---------- */
.abertura{width:min(1080px,100%);margin:0 auto;min-height:calc(76svh - var(--altura-cab));display:flex;flex-direction:column;justify-content:flex-end;padding:4vh clamp(0px,5vw,96px) 10vh}
.abertura .chapeu{color:var(--bronze-claro)}
.abertura h1{margin-top:.45em;max-width:19ch;font-size:clamp(2.3rem,5.3vw,4.6rem);line-height:1.05;color:var(--pergaminho)}
.abertura .credito{margin-top:1.6em;max-width:60ch;font-size:var(--t-pequeno);letter-spacing:.04em;color:var(--suave)}
/* revelação por palavra (BlurText do React Bits, refeito em CSS puro: cada palavra sai do desfoque e desce ao lugar) */
.revela .p{display:inline-block;animation:revela .95s cubic-bezier(.33,1,.68,1) both;animation-delay:calc(var(--i) * 75ms + 120ms)}
@keyframes revela{
  0%{opacity:0;filter:blur(8px);transform:translateY(-14px)}
  50%{opacity:.55;filter:blur(3px);transform:translateY(1.5px)}
  100%{opacity:1;filter:blur(0);transform:none}
}
@media (prefers-reduced-motion:reduce){.revela .p{animation:none}}
@media (max-width:760px){.abertura{min-height:auto;padding:12vh 20px 8vh}}

/* o Sumário, como o índice de um livro */
.sumario h2,.comecar h2{text-align:center;font-size:var(--t-titulo)}
.sumario .linha-fina{max-width:46ch;margin:16px auto 0;text-align:center}
.legenda-estados{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:22px auto 0;max-width:820px;font-size:var(--t-pequeno);color:var(--tinta-suave)}
.legenda-estados span{display:inline-flex;align-items:center;gap:8px}
.indice{list-style:none;max-width:860px;margin:34px auto 0;border-bottom:1px solid var(--fio)}
.cap{padding:12px 0 12px;border-top:1px solid var(--fio)}
.cap a{display:flex;align-items:flex-end;align-items:last baseline;gap:0 14px;min-height:var(--toque);text-decoration:none}
.cap-n{flex:0 0 2.9em;align-self:flex-start;padding-top:.5em;font-size:var(--t-pequeno);letter-spacing:.1em;color:var(--ouro-esc)}
.cap-t{flex:0 1 auto;font-family:var(--serif-display);font-size:var(--t-lead);line-height:1.25;color:var(--tinta)}
.cap a:hover .cap-t{color:var(--ouro-esc)}
.cap-pont{flex:1 1 2.5em;min-width:2.5em;height:1px;border-bottom:2px dotted color-mix(in srgb,var(--tinta) 42%,var(--papel));transform:translateY(-.32em)}
.cap-q{flex:none;font-variant-numeric:tabular-nums lining-nums;font-size:var(--t-corpo)}
.cap-e{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:6px 0 0 calc(2.9em + 14px)}
.cap-e .estados{font-size:var(--t-pequeno);color:var(--tinta-suave)}
.cap-p .cap-t{font-style:italic}
.filete{display:flex;flex:0 0 min(300px,46%);height:4px;background:color-mix(in srgb,var(--tinta) 12%,var(--papel))}
.filete i{display:block;height:100%}
.filete .fv{background:var(--selo-validado-fundo)}
.filete .fr{background:var(--selo-revisado-fundo)}
.filete .fx{background:var(--selo-rascunho-fundo)}
.filete.largo{flex:none;width:min(460px,100%);height:5px;margin:18px 0 0}
@media (max-width:560px){
  .cap-n{flex-basis:2.4em}
  .cap-e{margin-left:0}
  .filete{flex-basis:100%}
}
/* Por onde começar */
.tres{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:30px;border-top:1px solid var(--tinta)}
.tres li{border-right:1px solid var(--fio)}
.tres li:last-child{border-right:0}
.tres a{display:flex;flex-direction:column;gap:.5em;height:100%;padding:22px 22px 26px;text-decoration:none}
.tres a:hover .tit{color:var(--ouro-esc)}
.tres .tit{font-family:var(--serif-display);font-size:var(--t-subtitulo);line-height:1.2;color:var(--tinta)}
.tres .sub{font-style:italic;color:var(--tinta-suave)}
.tres .onde{margin-top:auto;padding-top:10px;font-size:var(--t-pequeno);color:var(--tinta-suave)}
.tres .selo{align-self:flex-start}
@media (max-width:760px){.tres{grid-template-columns:1fr}.tres li{border-right:0;border-bottom:1px solid var(--fio)}.tres li:last-child{border-bottom:0}.tres a{padding:20px 0 22px}}
.rodape-mesa{width:min(1080px,100%);margin:56px auto 0;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:var(--t-pequeno);color:var(--suave)}
.rodape-mesa a{color:var(--pergaminho)}
@media (max-width:760px){.rodape-mesa{padding:0 20px}}

/* ---------- capítulo: a tabela de matérias ---------- */
.capitulo h1{margin-top:.3em;max-width:24ch;font-size:var(--t-titulo)}
.capitulo .linha-fina{margin-top:14px}
.instituto{margin-top:34px;padding:22px 0 4px;border-top:1px solid var(--tinta)}
.instituto .rot{font-size:var(--t-pequeno);letter-spacing:.04em;color:var(--ouro-esc)}
.instituto .tit{display:block;margin-top:8px;font-family:var(--serif-display);font-size:var(--t-subtitulo);line-height:1.22;text-decoration:none;color:var(--tinta)}
.instituto .tit:hover{color:var(--ouro-esc)}
.instituto .resumo{margin-top:10px;max-width:65ch;line-height:1.6}
.instituto .selo{margin-top:12px}
.nota-portal{margin-top:20px;max-width:65ch;font-size:var(--t-pequeno);color:var(--tinta-suave)}
.filtro{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.filtro button{min-height:var(--toque);padding:0 14px;border:1px solid color-mix(in srgb,var(--tinta) 35%,var(--papel));border-radius:999px;background:transparent;color:var(--tinta);font-size:var(--t-pequeno);letter-spacing:.03em;cursor:pointer}
.filtro button:hover{border-color:var(--ouro-esc)}
.filtro button[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.grupo{margin-top:44px}
.grupo > h2{display:flex;align-items:baseline;gap:12px;padding-bottom:10px;border-bottom:1.5px solid var(--tinta);font-size:var(--t-subtitulo)}
.grupo > h2 .n,.diploma .n{font-family:var(--serif-texto);font-size:var(--t-pequeno);letter-spacing:.06em;color:var(--ouro-esc)}
.diploma{margin:22px 0 2px;font-family:var(--serif-texto);font-weight:400;font-size:var(--t-pequeno);letter-spacing:.18em;text-transform:uppercase;color:var(--ouro-esc)}
.linhas{list-style:none}
.linha a{display:flex;align-items:flex-end;align-items:last baseline;gap:0 12px;min-height:var(--toque);padding:9px 0 8px;border-bottom:1px solid var(--fio);text-decoration:none}
.linha a:hover .l-t{color:var(--ouro-esc)}
.l-txt{flex:0 1 auto;min-width:0}
.l-t{font-size:var(--t-corpo);color:var(--tinta)}
.l-sub{margin-left:.55em;font-style:italic;font-size:var(--t-pequeno);color:var(--tinta-suave)}
.l-sub.l-data{margin:0 .7em 0 0;font-family:var(--mono);font-style:normal;color:var(--ouro-esc)}
.l-pont{flex:1 1 2em;min-width:2em;height:1px;border-bottom:2px dotted color-mix(in srgb,var(--tinta) 38%,var(--papel));transform:translateY(-.3em)}
.linha .selo{flex:none}
.vazio{margin-top:18px;font-style:italic;color:var(--tinta-suave)}

/* ---------- unidade ---------- */
.u-cab{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);column-gap:48px;align-items:start}
.u-estado{grid-column:2;grid-row:1;display:grid;gap:16px;justify-items:end}
.u-titulo{grid-column:1;grid-row:1}
.u-titulo h1{margin-top:.35em;font-size:var(--t-titulo);line-height:1.08;color:var(--tinta);overflow-wrap:anywhere}
.u-titulo .linha-fina{margin-top:.55em}
.u-id{margin-top:14px;font-size:var(--t-pequeno);color:var(--tinta-suave)}
.u-id code{font-family:var(--mono);font-size:.95em;overflow-wrap:anywhere}
/* o carimbo: o selo cheio dentro de uma borda dupla, inclinado como carimbo de papel, e a linha da versão */
.carimbo{display:grid;justify-items:start;gap:7px;max-width:300px;padding:10px 14px 11px;border:3px double var(--c,#234032);background:color-mix(in srgb,var(--fac) 50%,var(--papel));transform:rotate(-1.8deg);transform-origin:100% 0}
.carimbo .selo{font-size:.95rem;letter-spacing:.2em;text-transform:uppercase;padding:.2em .7em .24em}
.carimbo .c-linha{font-size:var(--t-pequeno);line-height:1.45;color:var(--tinta)}
.carimbo.c-validado{--c:var(--selo-validado-fundo)}
.carimbo.c-revisado{--c:var(--selo-revisado-fundo)}
.carimbo.c-rascunho{--c:var(--selo-rascunho-fundo)}
.aviso{max-width:300px;padding:10px 14px 11px;border-left:3px solid var(--selo-rascunho-fundo);background:color-mix(in srgb,var(--bordo) 7%,var(--papel));font-size:var(--t-pequeno);line-height:1.5;color:var(--tinta)}
.aviso.a-revisado{border-left-color:var(--selo-revisado-fundo);background:color-mix(in srgb,var(--bronze) 9%,var(--papel))}
.eixos{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:24px;padding-top:14px;border-top:1px solid var(--fio);font-size:var(--t-pequeno)}
.eixos > div{display:flex;flex-wrap:wrap;gap:0 .5em}
.eixos dt{color:var(--ouro-esc)}
.eixos dd{margin:0}
.eixos .chip + .chip::before{content:" · ";color:var(--tinta-suave)}
.u-pre{margin-top:26px;max-width:72ch;font-size:var(--t-corpo);line-height:1.6}
.u-pre > * + *{margin-top:14px}
.u-pre details{border-top:1px solid var(--fio);border-bottom:1px solid var(--fio)}
.u-pre details + details{border-top:0}
.u-pre summary{min-height:var(--toque);display:flex;align-items:center;cursor:pointer;font-size:var(--t-pequeno);letter-spacing:.04em;color:var(--ouro-esc)}
.u-pre .kv{display:grid;grid-template-columns:minmax(0,12em) minmax(0,1fr);gap:4px 16px;padding:8px 0 14px;font-size:var(--t-pequeno)}
.u-pre .kv dt{color:var(--tinta-suave)}
.u-pre details li{list-style:none;border-top:1px dashed var(--fio)}
.u-pre .desd ul{margin-top:6px;list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:var(--t-pequeno)}
.u-grade{display:grid;grid-template-columns:minmax(0,1fr);margin-top:42px}
.u-texto{min-width:0;max-width:65ch;font-size:var(--t-corpo);line-height:1.64}
.u-texto > p{margin-bottom:1em;color:var(--tinta-suave);font-size:var(--t-pequeno);letter-spacing:.02em}
.secao{margin-top:2.6em}
.secao:first-child{margin-top:0}
.secao > h2{margin-bottom:.7em;font-size:var(--t-subtitulo);line-height:1.18;color:var(--tinta)}
.secao > h2 .num{margin-right:.4em;font-family:var(--serif-texto);font-size:.72em;letter-spacing:.04em;color:var(--ouro-esc)}
.secao p + p,.secao p + ul,.secao ul + p,.secao p + .rolavel,.secao .rolavel + p,.secao p + blockquote,.secao blockquote + p{margin-top:.9em}
.secao ul,.secao ol{list-style:none}
.secao li{position:relative;padding-left:1.35em;margin-bottom:.75em}
.secao li::before{content:"—";position:absolute;left:0;color:var(--ouro)}
.secao blockquote{padding-left:1.1em;border-left:2px solid var(--ouro);font-style:italic}
.secao blockquote p + p{margin-top:.5em}
.u-texto strong{font-weight:600}
mark.leitura{padding:0 .25em;background:color-mix(in srgb,var(--bronze) 16%,var(--papel));color:var(--tinta);font-style:normal}
.folha code{font-family:var(--mono);font-size:.86em;overflow-wrap:anywhere}
.folha a.ev{font-family:var(--mono);font-size:.8em;color:var(--ouro-esc);text-decoration:none;border-bottom:1px dotted color-mix(in srgb,var(--bronze-escuro) 70%,var(--papel));padding:0 .08em;white-space:nowrap}
.folha a.ev:hover,.folha a.ev[aria-expanded="true"]{background:color-mix(in srgb,var(--bronze) 18%,var(--papel));color:var(--tinta)}
.folha a.ref{text-decoration-style:solid}
.ancora-acesa{background:color-mix(in srgb,var(--bronze) 22%,var(--papel));box-shadow:0 0 0 2px color-mix(in srgb,var(--bronze) 22%,var(--papel));border-radius:1px}
/* "Onde está escrito": o texto da lei composto como o olho da Anatomia, pousado no fio */
.olho{margin:6px 0 4px;padding:30px 0 22px;border-top:1px solid var(--tinta);border-bottom:1px solid var(--tinta)}
.olho-rot{display:table;margin:-41px 0 6px;padding-right:14px;background:var(--papel);font-family:var(--serif-texto);font-size:var(--t-pequeno);font-weight:400;letter-spacing:.04em;line-height:20px;color:var(--ouro-esc)}
.olho-sec{margin-bottom:18px;font-size:var(--t-pequeno);color:var(--tinta-suave)}
.lei p{font-size:var(--t-corpo);line-height:1.6;color:var(--tinta)}
.lei p:first-child{font-family:var(--serif-display);font-style:italic;font-size:clamp(1.45rem,2.25vw,1.95rem);line-height:1.34}
.lei p + p{margin-top:.5em}
.olho .legenda{margin-top:18px;font-size:var(--t-pequeno);line-height:1.5;color:var(--ouro-esc)}
.olho .legenda a{color:var(--ouro-esc)}
/* tabelas (as do corpo e a de evidências) rolam dentro da folha, nunca a página */
.rolavel{max-width:100%;overflow-x:auto;margin-top:.6em}
.rolavel:focus-visible{outline:2px solid var(--ouro-esc)}
.folha table{width:100%;border-collapse:collapse;font-size:var(--t-pequeno);line-height:1.45}
.folha th,.folha td{padding:8px 10px;border-bottom:1px solid var(--fio);text-align:left;vertical-align:top}
.folha thead th{border-bottom:1.5px solid var(--tinta);font-weight:600;letter-spacing:.02em}
.folha tbody th{font-family:var(--mono);font-weight:400;white-space:nowrap}
.evtab{min-width:680px}
.evtab tr:target,.evtab tr.aceso{background:color-mix(in srgb,var(--bronze) 16%,var(--papel))}
.evtab .ev-nota{margin-top:4px;color:var(--tinta-suave)}
@media (max-width:760px){.rolavel table{min-width:560px}}
/* as relações: na margem, como notas laterais (computador); no fluxo (celular) */
.margem{margin-top:52px;padding-top:20px;border-top:1.5px solid var(--tinta);font-size:var(--t-pequeno);line-height:1.5}
.margem-tit{margin-bottom:10px;font-family:var(--serif-texto);font-size:var(--t-pequeno);font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro-esc)}
.relgrupo h3{margin:18px 0 6px;font-family:var(--serif-display);font-size:var(--t-lead);color:var(--tinta)}
.relgrupo ul{list-style:none}
.notas-postas{list-style:none}
.folha .rub{font-style:italic;color:var(--tinta-suave)}
.nota-lat .rub{display:block;font-family:var(--serif-texto);font-size:var(--t-pequeno)}
.nota-lat{padding:8px 0 10px 12px;border-left:1px solid color-mix(in srgb,var(--bronze) 50%,var(--papel));transition:background .2s,border-color .2s}
.nota-lat + .nota-lat{margin-top:6px}
.nota-lat .grupo-rot{display:none}
.nota-lat > a:not(.ev){font-family:var(--serif-display);font-size:1rem;line-height:1.3}
.nota-lat .just{display:block;margin-top:3px;color:var(--tinta-suave)}
.nota-lat .selo{margin-left:.4em;font-size:.75rem;padding:.08em .45em .1em;vertical-align:.1em}
.nota-lat.acesa{border-left-color:var(--ouro-esc);background:color-mix(in srgb,var(--bronze) 9%,var(--papel))}
@media (min-width:1000px){
  .u-grade{grid-template-columns:minmax(0,62ch) minmax(200px,1fr);column-gap:52px}
  .margem.posta{position:relative;margin-top:0;padding-top:0;border-top:0}
  .margem.posta .margem-tit{margin:0 0 14px}
  .margem.posta .notas-postas{position:relative}
  .margem.posta .relgrupo h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .margem.posta .nota-lat{position:absolute;left:0;right:0;margin:0}
  .margem.posta .nota-lat .grupo-rot{display:block;margin-bottom:2px;font-size:var(--t-pequeno);letter-spacing:.12em;text-transform:uppercase;color:var(--ouro-esc)}
}
/* citada por, evidências, arquivo, vizinhas */
.u-bloco{margin-top:56px;padding-top:22px;border-top:1.5px solid var(--tinta)}
.u-bloco > h2{font-size:var(--t-subtitulo)}
.u-bloco > p{margin-top:8px;font-size:var(--t-pequeno);color:var(--tinta-suave)}
.citada details{border-bottom:1px solid var(--fio)}
.citada details:first-of-type{margin-top:12px;border-top:1px solid var(--fio)}
.citada summary{min-height:var(--toque);display:flex;align-items:center;cursor:pointer;font-family:var(--serif-display);font-size:var(--t-lead)}
.citada summary:hover{color:var(--ouro-esc)}
.citada ul{list-style:none;columns:2 300px;column-gap:40px;padding:4px 0 16px}
.citada li{break-inside:avoid;padding:5px 0;font-size:var(--t-pequeno);line-height:1.45}
.citada li .selo{margin-right:.5em;font-size:.75rem;padding:.06em .45em .08em}
.fonte-arquivo{margin-top:28px;font-size:var(--t-pequeno);color:var(--tinta-suave)}
.vizinhas{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;margin-top:40px;padding-top:14px;border-top:1px solid var(--fio)}
.vizinhas a{display:block;min-height:var(--toque);padding:4px 0;text-decoration:none;font-size:var(--t-pequeno)}
.vizinhas .rot{display:block;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave)}
.vizinhas .t{font-family:var(--serif-display);font-size:1.05rem;color:var(--tinta)}
.vizinhas a:hover .t{color:var(--ouro-esc)}
.vizinhas .prox{text-align:right}
.erro p + p{margin-top:12px}
@media (max-width:760px){
  .u-cab{grid-template-columns:minmax(0,1fr)}
  .u-estado{grid-column:1;grid-row:auto;justify-items:start}
  .u-titulo{grid-column:1;grid-row:auto;margin-top:26px}
  .carimbo{transform-origin:0 0}
  .carimbo,.aviso{max-width:none}
  .u-pre .kv{grid-template-columns:minmax(0,1fr)}
  .olho-rot{margin-top:-40px}
  .vizinhas{grid-template-columns:1fr}
  .vizinhas .prox{text-align:left}
}

/* ---------- a nota da evidência (WarmTooltip/S1, com a Popover API) ---------- */
.nota-ev{position:fixed;inset:auto;margin:0;padding:10px 16px 12px;width:min(420px,calc(100vw - 24px));overflow:visible;background:var(--fac);color:var(--tinta);border:1px solid color-mix(in srgb,var(--bronze-escuro) 55%,var(--papel));border-radius:2px;box-shadow:0 1px 2px rgba(17,19,23,.22),0 14px 34px rgba(17,19,23,.28);font-family:var(--serif-texto);font-size:var(--t-pequeno);line-height:1.5;text-align:left;overscroll-behavior:contain;opacity:0;translate:0 5px;transition:opacity .18s ease,translate .18s ease}
.nota-ev:popover-open{opacity:1;translate:0 0}
@starting-style{.nota-ev:popover-open{opacity:0;translate:0 5px}}
.nota-ev::backdrop{background:transparent}
.nota-ev:focus-visible{outline:2px solid var(--ouro-esc)}
.nota-ev::before{content:"";position:absolute;left:var(--seta,24px);width:9px;height:9px;margin-left:-5px;background:var(--fac);border:1px solid color-mix(in srgb,var(--bronze-escuro) 55%,var(--papel));transform:rotate(45deg);display:none}
.nota-ev[data-lado="abaixo"]::before{display:block;top:-6px;border-right:0;border-bottom:0}
.nota-ev[data-lado="acima"]::before{display:block;bottom:-6px;border-left:0;border-top:0}
.ne-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.ne-n{font-family:var(--mono);color:var(--ouro-esc);letter-spacing:.02em}
.ne-x{min-width:32px;min-height:32px;margin:-6px -10px -4px 0;padding:0;border:0;background:none;color:var(--tinta-suave);font-size:var(--t-lead);line-height:1;cursor:pointer}
.ne-x:hover{color:var(--tinta)}
.ne-x:focus-visible,.ne-ir:focus-visible,.nota-ev a:focus-visible{outline:2px solid var(--ouro-esc);outline-offset:2px}
.ne-campos{display:grid;grid-template-columns:minmax(0,8.5em) minmax(0,1fr);gap:5px 12px;max-height:min(40vh,300px);overflow:auto}
.ne-campos dt{color:var(--tinta-suave)}
.ne-campos dd{margin:0;color:var(--tinta);overflow-wrap:anywhere}
.ne-campos a{color:var(--ouro-esc)}
.ne-pe{margin-top:8px;padding-top:8px;border-top:1px solid var(--fio)}
.ne-ir{color:var(--ouro-esc);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--bronze-escuro) 45%,var(--papel))}
@media (max-width:760px),(pointer:coarse){
  .nota-ev{left:0;right:0;top:auto;bottom:0;width:auto;max-width:600px;margin:0 auto;border-width:1px 1px 0;border-radius:6px 6px 0 0;padding:6px 20px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -10px 34px rgba(17,19,23,.34);translate:0 100%}
  .nota-ev:popover-open{translate:0 0}
  @starting-style{.nota-ev:popover-open{translate:0 100%}}
  .nota-ev::before{display:none!important}
  .nota-ev::backdrop{background:rgba(17,19,23,.25)}
  .ne-cab{min-height:var(--toque)}
  .ne-x{min-width:var(--toque);min-height:var(--toque);margin:0 -14px 0 0}
  .ne-campos{grid-template-columns:minmax(0,1fr);gap:2px 0;max-height:min(42vh,320px)}
  .ne-campos dd + dt{margin-top:6px}
  .ne-ir{display:inline-flex;align-items:center;min-height:var(--toque);border-bottom:0;text-decoration:underline;text-underline-offset:.2em}
}
@media (prefers-reduced-motion:reduce){.nota-ev{transition:none;translate:none}}

/* sem JavaScript: avisa no lugar do que não carrega */
.sem-js{margin-top:20px;font-style:italic;color:var(--tinta-suave)}
@media print{.cab,.faixa,.aba-carta,.fios{display:none}main{padding:0}.folha{box-shadow:none}}

/* ---------- ajustes do porte (17/10/2026) ---------- */
[hidden]{display:none!important}
/* selos do contrato: validado e revisado cheios, texto pergaminho; rascunho vazado, borda pedra, texto na tinta da superfície */
.selo{border:1px solid transparent}
.selo-validado{border-color:var(--selo-validado-fundo)}
.selo-revisado{border-color:var(--selo-revisado-fundo)}
.selo-rascunho{background:transparent;border-color:var(--selo-rascunho-borda);color:var(--pergaminho)}
.folha .selo-rascunho{color:var(--tinta)}
.selo-outro{border-color:var(--tinta-suave)}
.filete .fx{background:var(--pedra)}
.carimbo.c-rascunho{--c:var(--pedra)}
.aviso{border-left-color:var(--bordo)}
.aviso.a-revisado{border-left-color:var(--selo-revisado-fundo)}
/* nada legível abaixo de 13 px */
.folha a.ev{font-size:max(.8em,var(--t-pequeno))}
.folha code{font-size:max(.86em,var(--t-pequeno))}
.u-id code{font-size:1em}
.nota-lat .selo,.citada li .selo{font-size:var(--t-pequeno)}
.margem{font-size:.9375rem}
.nota-lat > a:not(.ev){font-size:1.0625rem}
/* a lupa e a aba são links (funcionam sem JavaScript: a busca e a consulta são páginas) */
.lupa-bt{text-decoration:none}
.aba-carta{text-decoration:none}
.cab-acoes{position:relative}
/* nada rola de lado: palavras longas quebram, o carimbo inclinado não passa da folha */
main{overflow-x:clip}
.folha{overflow-wrap:break-word}
.u-pre,.u-texto,.margem,.citada,.vizinhas a{overflow-wrap:anywhere}
.vizinhas{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:760px){.vizinhas{grid-template-columns:minmax(0,1fr)}.carimbo{transform:rotate(-1.2deg);margin-right:6px}}
/* o título de grupo não fica sob a faixa nem sob a aba */
.grupo > h2{scroll-margin-top:calc(var(--altura-cab) + 20px)}

/* ---------- páginas que B não desenhou, na gramática de B ---------- */
.folha > h1{margin-top:.3em;max-width:24ch;font-size:var(--t-titulo);color:var(--tinta)}
.folha > .linha-fina{margin-top:14px;max-width:62ch}
.folha .resumo,.l-resumo{max-width:65ch;font-size:.9375rem;line-height:1.55;color:var(--tinta-suave)}
.l-resumo{margin:6px 0 14px}
.linhas > li.com-resumo{border-bottom:1px solid var(--fio)}
.linhas > li.com-resumo > a{border-bottom:0}
.abc,.indice-tipos{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.abc a,.indice-tipos a{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-width:var(--toque);min-height:var(--toque);padding:0 14px;border:1px solid color-mix(in srgb,var(--tinta) 35%,var(--papel));border-radius:999px;font-size:var(--t-pequeno);letter-spacing:.03em;text-decoration:none}
.abc a:hover,.indice-tipos a:hover{border-color:var(--ouro-esc)}
.indice-tipos .n{color:var(--ouro-esc)}
.sub-grupo .diploma a{text-decoration:none;color:var(--ouro-esc)}
.folha table.progresso{min-width:760px}
.folha table.progresso td,.folha table.progresso th{white-space:nowrap}
.folha table.progresso .filete{display:flex;width:140px;margin:0}
.folha table.progresso tr.total th,.folha table.progresso tr.total td{border-top:1.5px solid var(--tinta);font-weight:600}
.legenda-estados.esq{justify-content:flex-start;margin-left:0}
/* busca */
.campo-busca{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.campo-busca input{flex:1 1 260px;min-width:0;min-height:var(--toque);padding:0 12px;border:1px solid color-mix(in srgb,var(--tinta) 40%,var(--papel));border-radius:2px;background:var(--fac);color:var(--tinta);font-family:var(--serif-texto);font-size:var(--t-corpo)}
.campo-busca button{min-height:var(--toque);padding:0 18px;border:0;border-radius:2px;background:var(--tinta);color:var(--papel);font-size:var(--t-corpo);cursor:pointer}
.res-info{margin-top:16px;font-size:var(--t-pequeno);color:var(--tinta-suave)}
.res-busca .l-sub{display:block;margin:2px 0 0}
/* a consulta: a moldura é daqui, o resto é do consulta.css */
.pg-consulta main{padding-bottom:calc(var(--altura-faixa) + 24px)}
/* o corpo: o que vem antes do primeiro título (o contexto normativo) em letra menor; corpo sem títulos, em letra de corpo */
.u-intro{margin-bottom:1.6em}
.u-intro p{color:var(--tinta-suave);font-size:var(--t-pequeno);letter-spacing:.02em}
.u-intro p + p{margin-top:.6em}
.secao.sem-titulo p + p,.secao.sem-titulo p + ul,.secao.sem-titulo ul + p{margin-top:.9em}
.u-pre .marco{border-top:1px solid var(--fio);padding-top:8px}
/* o pé da mesa: as seções do Atlas (o cabeçalho de B não tem menu) */
.rodape-mesa{align-items:center}
.rodape-nav{flex-basis:100%;display:flex;flex-wrap:wrap;gap:0 4px;margin-bottom:6px}
.rodape-nav a{display:inline-flex;align-items:center;min-height:var(--toque);padding:0 10px 0 0;font-size:.9375rem;color:var(--pergaminho);text-decoration:none}
.rodape-nav a:hover{color:var(--bronze-luz)}
.rodape-mesa > a{display:inline-flex;align-items:center;min-height:var(--toque)}
/* corpo de 16 px ou mais: as contagens do Sumário e o crédito da abertura (o texto corrido do início) */
.cap-e .estados,.abertura .credito{font-size:1rem}
.legenda-estados{font-size:.9375rem}
/* a tabela de evidências não rola de lado na janela estreita: cada evidência vira um bloco, com o rótulo de cada campo (o do cabeçalho da tabela) */
@media (max-width:900px){
  .evid .rolavel{overflow-x:visible}
  .rolavel .evtab{min-width:0}
  .evtab thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .evtab,.evtab tbody,.evtab tr,.evtab th,.evtab td{display:block;width:auto}
  .evtab tr{padding:10px 0 12px;border-bottom:1px solid var(--fio)}
  .folha .evtab th,.folha .evtab td{padding:2px 0;border:0;white-space:normal}
  .evtab td::before{color:var(--tinta-suave)}
  .evtab td:nth-child(2)::before{content:"tipo: "}
  .evtab td:nth-child(3)::before{content:"referência: "}
  .evtab td:nth-child(4)::before{content:"localizador · versão: "}
  .evtab td:nth-child(5)::before{content:"conferido: "}
  .evtab td:empty{display:none}
}
/* as tabelas do corpo com até quatro colunas cabem na folha estreita (quebram a linha); as mais largas rolam dentro dela */
@media (max-width:760px){.u-texto .rolavel table:not(:has(tr > :nth-child(5))){min-width:0}.u-texto .rolavel thead th{overflow-wrap:normal}}
/* a faixa tem a altura de --altura-faixa (uma linha; duas entre 601 e 760 px) e a aba pousa logo acima dela, sem cobri-la;
   o corpo guarda embaixo o respiro da faixa mais a aba. No estreito (≤ 600 px), uma linha só: o trecho do meio sai da
   tela e fica para o leitor de tela. */
.faixa{height:var(--altura-faixa);min-height:0;overflow:hidden;padding-top:0;padding-bottom:0}
.fx-txt{display:block;max-width:100%}
.faixa b{color:var(--pergaminho);font-weight:600}
body{padding-bottom:calc(var(--altura-faixa) + var(--toque) + 16px)}
@media (max-width:600px){
  :root{--altura-faixa:32px}
  .fx-txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .fx-meio{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}
