/* Identidade oficial: os arquivos originais estão preservados em assets/brand. */
@font-face { font-family: Lato; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/lato-regular.ttf') format('truetype'); }
@font-face { font-family: Lato; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/lato-bold.ttf') format('truetype'); }
@font-face { font-family: Lato; font-style: normal; font-weight: 900; font-display: swap; src: url('/assets/fonts/lato-black.ttf') format('truetype'); }
.header .brand img { width: 166px; height: auto; }
.header .brand { gap: 0; }
/* Enquadramento do PNG original, sem deformar ou alterar seus pixels. */
.logo-frame { position: relative; display: block; overflow: hidden; width: 100%; aspect-ratio: 1398 / 607; }
.footer-logo .logo-frame img { position: absolute; width: 143.0615%; max-width: none; height: auto; left: -21.5308%; top: -114.6623%; }
.footer-base { flex-wrap: wrap; align-items: center; gap: 20px 32px; }
.legal-links { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 14px; color: var(--green); }
.legal-links a { text-underline-offset: 5px; padding: 6px 0; }
.legal-links a:hover, .legal-links a[aria-current=page] { text-decoration: underline; }
.legal-hero h1 { font-size: clamp(2.4rem, 4.6vw, 4.6rem); }
.page-hero.legal-hero p.legal-updated { font-size: 13px; margin-top: 22px; }
.legal-layout { display: grid; grid-template-columns: 240px minmax(0, 760px); justify-content: space-between; gap: 60px; padding-top: 70px; }
.legal-menu { align-self: start; position: sticky; top: 130px; border: 1px solid var(--line); border-radius: 24px; padding: 26px; background: #fff; }
.legal-menu p { font-size: 12px; font-weight: 700; letter-spacing: .12em; margin-bottom: 16px; color: var(--earth); }
.legal-menu a { display: block; padding: 8px 0; font-size: 14px; line-height: 1.5; }
.legal-menu a:hover { color: var(--earth); }
.legal-copy { min-width: 0; }
.legal-copy section { margin-bottom: 40px; scroll-margin-top: 125px; }
.legal-copy h2 { font-size: 26px; margin: 0 0 20px; letter-spacing: -.025em; }
.legal-copy p, .legal-copy ul { margin: 0 0 18px; color: var(--muted); }
.legal-copy li { margin-bottom: 9px; }
.legal-copy a { color: var(--green); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.legal-callout { background: var(--paper); border-radius: 24px; padding: 30px; margin-bottom: 40px; }
.legal-callout p:last-child { margin-bottom: 0; }
@media (max-width: 900px) { .legal-layout { grid-template-columns: 1fr; gap: 35px; } .legal-menu { position: static; } .legal-menu a { display: inline-block; margin-right: 22px; } }
@media (max-width: 600px) { .header .brand img { width: 136px; } .legal-layout { padding-top: 40px; } .legal-callout { padding: 24px; } .legal-links { gap: 8px 20px; } .footer-base { align-items: flex-start; } }

.site-footer { padding-bottom: 100px; }
@media (max-width: 380px) { .header nav { display: none; } }
