:root { --fundo:#FFF6EA; --card:#FFFFFF; --linha:#EFDFCB; --tinta:#2E1A14; --suave:#75594D; --arara:#C4321A; --pena:#1A5FE8; color-scheme: light; }
@media (prefers-color-scheme: dark) { :root { --fundo:#1F1410; --card:#2B1D17; --linha:#45322A; --tinta:#FFF1E4; --suave:#C9B3A6; --arara:#FF8A70; --pena:#9DB9FF; color-scheme: dark; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--fundo); color: var(--tinta); font: 400 17px/1.65 "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color: var(--pena); }
header { border-bottom: 1px solid var(--linha); padding: 14px 16px; }
header .in, main, footer .in { max-width: 760px; margin: 0 auto; }
.marca { display: inline-flex; align-items: center; gap: 8px; color: #FF4B2E; font: 800 22px/1 "Bricolage Grotesque", system-ui, sans-serif; letter-spacing: -0.04em; text-decoration: none; }
.marca svg { width: 28px; height: 32px; }
main { padding: 32px 16px 56px; }
h1 { font: 800 clamp(30px, 6vw, 44px)/1.05 "Bricolage Grotesque", system-ui, sans-serif; letter-spacing: -0.03em; margin: 0 0 8px; }
h2 { font: 700 21px/1.25 "Bricolage Grotesque", system-ui, sans-serif; letter-spacing: -0.015em; margin: 36px 0 8px; }
h3 { font-size: 17px; margin: 20px 0 4px; }
.data { color: var(--suave); margin: 0 0 20px; }
.resumo { background: var(--card); border: 1px solid var(--linha); border-radius: 16px; padding: 18px 20px; }
.resumo h2 { margin-top: 0; }
.resumo ul { margin: 0; padding-left: 20px; }
ul, ol { padding-left: 22px; }
li { margin: 4px 0; }
table { width: 100%; border-collapse: collapse; font-size: 15.5px; margin: 8px 0; }
th, td { text-align: left; padding: 9px 10px; border-bottom: 1px solid var(--linha); vertical-align: top; }
th { font-weight: 700; }
.tabela { overflow-x: auto; border: 1px solid var(--linha); border-radius: 12px; background: var(--card); }
nav.indice { margin: 20px 0 0; font-size: 15px; }
nav.indice ol { columns: 2; column-gap: 28px; margin: 6px 0 0; }
@media (max-width: 560px) { nav.indice ol { columns: 1; } }
footer { border-top: 1px solid var(--linha); padding: 22px 16px; color: var(--suave); font-size: 14.5px; }
footer .in { display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; }
@media print { header, footer, nav.indice { display: none; } body { background: #fff; color: #000; } }
