:root{
  --fundo:#FFFAF4; --papel:#FFFFFF; --tinta:#1F2410; --suave:#555B45; --linha:#E6DACB;
  --laranja:#C8431A; --laranja-esc:#A83513; --laranja-cl:#FBE3D8; --roxo:#5B3F8C; --roxo-cl:#ECE4F5; --oliva:#2F3A12;
  --foco:#5B3F8C; --raio:12px; --larg:1120px;
  --serif:Georgia,"Times New Roman",serif; --sans:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fundo);color:var(--tinta);font:1.0625rem/1.65 var(--sans)}
img,svg{max-width:100%;height:auto}
a{color:var(--laranja-esc);text-underline-offset:3px}
a:hover{color:var(--roxo)}
:focus-visible{outline:3px solid var(--foco);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--larg);margin:0 auto;padding-left:16px;padding-right:16px}
.pular{position:absolute;left:-999px;top:8px;background:var(--oliva);color:#fff;padding:10px 14px;border-radius:8px;z-index:20}
.pular:focus{left:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.peq{font-size:.9rem;color:var(--suave)}
h1,h2,h3{font-family:var(--serif);line-height:1.2;color:var(--oliva)}
h1{font-size:clamp(1.8rem,4.5vw,2.7rem);margin:.4em 0 .5em}
h2{font-size:clamp(1.4rem,3vw,1.8rem);margin:1.8em 0 .6em}
h3{font-size:1.2rem;margin:1.2em 0 .4em}
p{margin:.8em 0}
main{padding-top:8px;padding-bottom:56px;outline:none}

/* Topo */
.topo{background:var(--papel);border-bottom:1px solid var(--linha)}
.topo-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding-top:12px;padding-bottom:12px}
.marca img{display:block}
.menu{display:flex;flex-wrap:wrap;gap:4px 6px}
.menu a{display:inline-block;padding:8px 12px;border-radius:999px;color:var(--oliva);text-decoration:none;font-weight:600}
.menu a:hover{background:var(--laranja-cl);color:var(--laranja-esc)}
.migalhas{padding-top:14px;font-size:.9rem}
.migalhas ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;margin:0;padding:0}
.migalhas li+li::before{content:"›";margin-right:8px;color:var(--suave)}

/* Botões e campos */
.btn{display:inline-block;background:var(--laranja);color:#fff;border:2px solid var(--laranja);padding:11px 20px;border-radius:999px;font:600 1rem var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--laranja-esc);border-color:var(--laranja-esc);color:#fff}
.btn.sec{background:transparent;color:var(--laranja-esc)}
.btn.sec:hover{background:var(--laranja-cl);color:var(--laranja-esc)}
.btn.peqb{padding:7px 14px;font-size:.92rem}
label{display:block;font-weight:600;margin:0 0 4px}
input[type=text],input[type=email],input[type=search],select,textarea{width:100%;padding:10px 12px;border:2px solid #B9AC9A;border-radius:10px;font:inherit;background:#fff;color:var(--tinta)}
textarea{min-height:160px}
.campo{margin:0 0 16px}
.ajuda{font-size:.9rem;color:var(--suave);margin:4px 0 0}
.erro{color:#9B1C1C;font-weight:600}
.aviso{background:var(--roxo-cl);border-left:5px solid var(--roxo);padding:12px 16px;border-radius:8px}
.aviso.ok{background:#E3F1DC;border-color:#3C7A2A}
.aviso.err{background:#FBE3E3;border-color:#9B1C1C}

/* Home interativa */
.hero2{display:grid;gap:28px;grid-template-columns:1fr 1.05fr;align-items:start;padding:24px 0 8px}
.hero2>*{min-width:0}
.hero2 .lead{font-size:1.2rem;color:var(--suave)}
.hero2{align-items:center}
.hero-img{justify-self:end;width:100%;max-width:520px}
.hero-img img{display:block;width:100%;height:auto;border-radius:18px;border:2px solid var(--linha);box-shadow:0 6px 24px rgba(47,58,18,.10)}
.numeros{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:0;margin:16px 0}
.numeros strong{font:700 1.8rem var(--serif);color:var(--laranja-esc);margin-right:4px}
.hero-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.explorador{margin-top:36px}
.filtros-chips{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);padding:14px 16px;margin:14px 0}
.grupo-f{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rot-f{font-weight:700;color:var(--oliva);margin:0 4px 0 0;font-size:.95rem}
.chip-f{border:2px solid var(--linha);background:var(--fundo);color:var(--oliva);border-radius:999px;padding:6px 14px;font:600 .95rem var(--sans);cursor:pointer}
.chip-f:hover{border-color:var(--roxo)}
.chip-f[aria-pressed=true]{background:var(--roxo);border-color:var(--roxo);color:#fff}
.filtros-chips select{width:auto;padding:6px 10px}
.grade-mini{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.mini h3{font-size:1.02rem;margin:0 0 2px}
.mini .corpo{padding:10px 12px 14px}
.btn-comp.ativo{background:var(--roxo);border-color:var(--roxo);color:#fff}
.mini{transition:transform .15s,box-shadow .15s}
@media (prefers-reduced-motion:no-preference){.mini:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(47,58,18,.12)}}
.grade-cat{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.cat-card{background:var(--papel);border:1px solid var(--linha);border-top:5px solid var(--laranja);border-radius:var(--raio);padding:16px 18px;position:relative}
.cat-card:nth-child(even){border-top-color:var(--roxo)}
.cat-card h3{margin:.2em 0 .3em;font-size:1.15rem}
.cat-card ul{padding-left:1.1em;margin:.4em 0 0}
.cat-num{position:absolute;right:14px;top:6px;margin:0;font:700 2.4rem var(--serif);color:var(--laranja-cl)}
.cat-card:nth-child(even) .cat-num{color:var(--roxo-cl)}

/* Cartões e grades */
.grade{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);padding:16px 18px}
.card h3{margin:.2em 0 .3em;font-size:1.1rem}
.card h3 a{text-decoration:none}
.card p{margin:.4em 0}
.rotulo{font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--roxo);margin:0}
.card-mod{padding:0;overflow:hidden}
.card-mod .corpo{padding:12px 16px 16px}
.card-mod .ilus{display:block;width:100%}
.transp{background:var(--roxo-cl);border-radius:var(--raio);padding:20px 24px;margin:36px 0}
.transp h2{margin-top:0}

/* Ficha da modalidade */
.ficha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px;align-items:start}
.ficha dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:0}
.ficha dt,.ficha dd{margin:0;padding:10px 12px;border-bottom:1px solid var(--linha)}
.ficha dt{font-weight:700;color:var(--oliva);padding-right:20px}
.ilus{border-radius:var(--raio);border:1px solid var(--linha)}
.medidor{display:inline-flex;gap:3px;vertical-align:middle;margin-right:6px}
.medidor i{display:block;width:14px;height:10px;border-radius:2px;background:#E2D8C8;border:1px solid #B9AC9A}
.medidor i.on{background:var(--roxo);border-color:var(--roxo)}

/* Comparador */
.comp-form{background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);padding:18px;margin:16px 0}
.comp-form fieldset{border:0;padding:0;margin:0 0 14px}
.comp-form legend{font-weight:700;margin-bottom:8px;padding:0}
.linha-campos{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}
.compartilhar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.compartilhar input{flex:1 1 280px}
.resumo{background:var(--laranja-cl);border-left:5px solid var(--laranja);padding:14px 18px;border-radius:8px;font-size:1.1rem;margin:12px 0}
.tabela-wrap{overflow-x:auto;border:1px solid var(--linha);border-radius:var(--raio);background:var(--papel)}
table.comp{border-collapse:collapse;width:100%;min-width:560px}
table.comp caption{text-align:left;padding:12px 14px;font-weight:700}
table.comp th,table.comp td{padding:11px 14px;border-top:1px solid var(--linha);text-align:left;vertical-align:top}
table.comp thead th{background:var(--oliva);color:#fff;position:sticky;top:0}
table.comp thead th a{color:#fff}
table.comp tbody th{width:20%;background:#FBF4EA;font-weight:700}
table.comp tr.dif td{background:#FFF1EA}
table.comp tr.dif th::after{content:" · muda";font-weight:700;color:var(--laranja-esc);font-size:.8rem;white-space:nowrap}
table.comp tr.igual th::after{content:" · igual";font-weight:400;color:var(--suave);font-size:.8rem;white-space:nowrap}
table.so-dif tr.igual{display:none}
.vazio{border:2px dashed #B9AC9A;border-radius:var(--raio);padding:22px;background:var(--papel)}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:8px 0;list-style:none}
.chips a{display:inline-block;padding:6px 12px;border:1px solid var(--linha);border-radius:999px;background:var(--papel);text-decoration:none;font-weight:600}
.chips a:hover{background:var(--laranja-cl)}
.salvas ul{padding-left:1.1em}
.salvas li{margin:6px 0}

/* Artigo */
.artigo{max-width:760px}
.meta-art{color:var(--suave);font-size:.95rem}
.toc{background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);padding:12px 18px;margin:18px 0}
.toc ol{margin:.3em 0;padding-left:1.2em}
.artigo h2{scroll-margin-top:16px}
.artigo table{border-collapse:collapse;width:100%;margin:12px 0;background:var(--papel)}
.artigo caption{text-align:left;font-weight:700;padding:6px 0}
.artigo th,.artigo td{border:1px solid var(--linha);padding:9px 12px;text-align:left;vertical-align:top}
.artigo thead th{background:var(--oliva);color:#fff}
.tab-wrap{overflow-x:auto}
.checklist{list-style:none;padding-left:0}
.checklist li{padding-left:30px;position:relative;margin:8px 0}
.checklist li::before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--roxo);color:#fff;text-align:center;line-height:22px;font-size:.85rem}
.erros-lista{padding:0;list-style:none}
.erros-lista li{border-left:4px solid var(--laranja);padding:4px 0 4px 14px;margin:14px 0}
.faq-item{border-bottom:1px solid var(--linha);padding:6px 0}
.faq-item h3{margin:.6em 0 .2em;font-size:1.05rem;font-family:var(--sans)}
.fontes li{margin:6px 0}
.rel{margin-top:32px}

/* Explorador */
.filtros{display:grid;gap:12px;grid-template-columns:2fr 1fr auto;align-items:end;background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);padding:16px;margin:16px 0}
[hidden]{display:none!important}

/* Rodapé */
.rodape{background:var(--oliva);color:#F4EEDF;padding:36px 0 18px;margin-top:40px}
.rodape a{color:#FFD9C8}
.rodape a:hover{color:#fff}
.rodape h2{font:700 1rem var(--sans);color:#fff;margin:0 0 8px}
.rodape ul{list-style:none;margin:0;padding:0}
.rodape li{margin:4px 0}
.rodape .peq{color:#D8D2BE}
.rodape-in{display:grid;gap:24px;grid-template-columns:1.4fr 1fr 1fr 1fr}
.rodape-marca{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:1.3rem}
.rodape-marca img{background:#fff;border-radius:50%}
.rodape-fim{border-top:1px solid #55603A;margin-top:24px;padding-top:14px}

.hero>*,.ficha>*,.rodape-in>*{min-width:0}
@media (max-width:820px){
  .hero2,.ficha,.filtros,.rodape-in{grid-template-columns:1fr}
  .ficha dl{grid-template-columns:1fr}
  .ficha dt{border-bottom:0;padding-bottom:0}
  .ficha dd{padding-top:2px}
  body{font-size:1rem}
  table.comp th,table.comp td{padding:9px 10px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media (prefers-reduced-motion:no-preference){.btn,.menu a,.chips a{transition:background-color .15s,color .15s}}

/* Impressão (CSS próprio) */
@media print{
  body{background:#fff;color:#000;font-size:11pt}
  .topo,.migalhas,.rodape,.pular,.comp-form,.acoes,.compartilhar,.salvas,.nao-imprimir,.btn,.toc{display:none!important}
  .wrap{max-width:none;padding:0}
  main{padding:0}
  .resumo{background:#fff;border:1px solid #000}
  .tabela-wrap{overflow:visible;border:1px solid #000}
  table.comp{min-width:0;font-size:9.5pt}
  table.comp thead th{background:#fff!important;color:#000!important;position:static;border-bottom:2px solid #000}
  table.comp thead th a{color:#000}
  table.comp tr.dif td{background:#fff!important;font-weight:600}
  table.comp tr{break-inside:avoid}
  a{color:#000;text-decoration:none}
  .imprimir-rodape{display:block!important}
}
.imprimir-rodape{display:none;margin-top:16px;font-size:.85rem}
.caps{list-style:none;padding:0;margin:8px 0}
.caps li{margin:6px 0}
.form-contato{max-width:640px;margin-top:20px}
.isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
