/* Página pública da Política de Privacidade — mesma identidade do orçamento em PDF. */
:root { --navy: #0b1f4b; --blue: #0b63d8; --ink: #16233a; --muted: #5b6b7f; --line: #d9e1ec; --card: #eef3fb; --paper: #f5f8fc; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.65 'Segoe UI', system-ui, -apple-system, Roboto, 'Helvetica Neue', Arial, sans-serif; }
.faixa { display: grid; grid-template-columns: 62fr 38fr; height: 10px; }
.faixa i:first-child { background: var(--navy); }
.faixa i:last-child { background: var(--blue); }
.topo { max-width: 1080px; margin: 0 auto; padding: 40px 24px 28px; display: flex; gap: 32px; align-items: center; border-bottom: 1px solid var(--line); }
.topo img { width: 200px; height: auto; flex: none; }
.eyebrow { margin: 0 0 6px; color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
h1 { margin: 0; color: var(--navy); font-size: clamp(28px, 4vw, 40px); line-height: 1.15; letter-spacing: -.01em; }
.sub { margin: 8px 0 0; color: var(--muted); font-size: 17px; }
.data { display: inline-block; margin: 14px 0 0; padding: 4px 12px; border-radius: 999px; background: var(--card); color: var(--navy); font-size: 13px; font-weight: 600; }
main { max-width: 1080px; margin: 0 auto; padding: 32px 24px 56px; display: grid; grid-template-columns: 260px 1fr; gap: 40px; align-items: start; }
aside { position: sticky; top: 20px; display: grid; gap: 16px; }
aside nav { padding: 18px 18px 10px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
aside nav p, .contato p { margin: 0 0 8px; color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
aside ol { margin: 0; padding-left: 20px; font-size: 14px; }
aside li { margin-bottom: 8px; }
aside a { color: var(--ink); text-decoration: none; }
aside a:hover { color: var(--blue); text-decoration: underline; }
.contato { padding: 18px; border-radius: 12px; background: var(--navy); color: #fff; border-left: 5px solid var(--blue); }
.contato p { color: #8fb8ff; }
.contato strong { display: block; font-size: 15px; word-break: break-word; }
.contato small { display: block; margin-top: 8px; color: #c7d5ee; font-size: 12px; }
article { display: grid; gap: 18px; }
section { padding: 24px 28px; background: #fff; border: 1px solid var(--line); border-radius: 12px; scroll-margin-top: 20px; }
section h2 { display: flex; gap: 12px; align-items: center; margin: 0 0 12px; color: var(--navy); font-size: 20px; }
section h2 span { display: inline-grid; place-items: center; min-width: 34px; height: 34px; border-radius: 8px; background: var(--blue); color: #fff; font-size: 14px; }
section p { margin: 0 0 10px; }
section p:last-child { margin-bottom: 0; }
footer { max-width: 1080px; margin: 0 auto; padding: 18px 24px 28px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
@media (max-width: 820px) {
  .topo { flex-direction: column; align-items: flex-start; gap: 18px; padding: 28px 16px 22px; }
  .topo img { width: 160px; }
  main { grid-template-columns: 1fr; gap: 20px; padding: 20px 16px 40px; }
  aside { position: static; }
  section { padding: 20px 18px; }
  footer { padding: 16px; }
}
@media print { .faixa, aside nav { display: none; } main { grid-template-columns: 1fr; } section { break-inside: avoid; } }
