@font-face { font-family: "Playfair Display"; src: url("../fonts/PlayfairDisplay-VariableFont_wght.woff2") format("woff2"); font-weight: 400 900; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/Poppins-Light.woff2") format("woff2"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/Poppins-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
:root { --cream:#FFFAF4; --gold:#B78E49; --gold-deep:#8F6C32; --graphite:#2B2B2B; --ink:#3A3632; --line:rgba(183,142,73,.4); }
* { box-sizing: border-box; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: "Poppins", "Helvetica Neue", sans-serif; font-weight: 300; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
.legal-topo { padding: 28px 24px 0; text-align: center; }
.legal-logo img { display: inline-block; width: 96px; height: auto; }
.legal { width: min(100%, 720px); margin: 0 auto; padding: 24px 24px 48px; }
.revisao { background: #FFF1A8; color: #4A3D00; padding: 14px 16px; border-left: 3px solid var(--gold-deep); font-size: 14px; margin: 0 0 32px; }
.revisao strong { font-weight: 400; }
h1, h2, h3 { font-family: "Playfair Display", "Times New Roman", serif; font-weight: 400; color: var(--graphite); letter-spacing: -0.015em; }
h1 { font-size: 28px; line-height: 1.2; margin: 0 0 24px; }
h2 { font-size: 22px; margin: 36px 0 12px; }
h3 { font-size: 18px; margin: 24px 0 8px; }
strong { font-weight: 400; color: var(--graphite); }
a { color: var(--gold-deep); }
a:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 2px; }
ul { padding-left: 20px; }
li { margin: 4px 0; }
table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 16px 0; display: block; overflow-x: auto; }
th, td { border: 1px solid var(--line); padding: 8px 10px; text-align: left; vertical-align: top; }
th { font-weight: 400; background: #F4EBDD; color: var(--graphite); }
blockquote { margin: 16px 0; padding: 12px 16px; border-left: 2px solid var(--gold); background: #FBF4EA; }
blockquote p { margin: 0; }
hr { border: 0; border-top: 1px solid var(--line); margin: 40px 0; }
mark.ph { background: #FFF1A8; color: #5A4A00; padding: 0 3px; border-radius: 2px; }
.legal-rodape { text-align: center; font-size: 13px; padding: 24px 24px 48px; border-top: 1px solid var(--line); }
@media (min-width: 900px) { h1 { font-size: 36px; } }
