/* =============================================
   DIAGNÓSTICO BANZI × BRAVÊ — página legal
   Política de privacidade e afins. Texto corrido,
   coluna estreita, tokens do produto.
   ============================================= */

.legal { max-width: 68ch; margin-inline: auto; padding: clamp(96px, 14vh, 160px) var(--gutter) clamp(64px, 10vh, 120px); }
.legal__back {
  display: inline-flex; align-items: center; gap: var(--sp-3); min-height: 44px;
  margin-bottom: var(--sp-12); color: var(--fg);
  font-family: var(--display); font-size: 1.125rem; font-weight: var(--fw-medium);
}
.legal__back-arrow { font-size: 1.25em; line-height: 1; transition: transform 0.3s ease-in-out; }
.legal__back-label { position: relative; }
.legal__back-label::after {
  content: ""; position: absolute; right: 0; bottom: -0.15em;
  width: 100%; height: 1px; background: currentColor;
  transition: width 0.3s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
  .legal__back:hover .legal__back-label::after { width: 0; }
  .legal__back:hover .legal__back-arrow { transform: translateX(-4px); }
}
.legal__back:focus-visible .legal__back-label::after { width: 0; }
.legal h1 { font-family: var(--display); font-weight: var(--fw-semibold); font-size: clamp(2rem, 5vw, 3.4rem); letter-spacing: -0.025em; line-height: 1.05; }
.legal__meta { color: var(--fg-faint); font-size: var(--fz-meta); margin-top: var(--sp-3); }
.legal h2 { font-family: var(--display); font-weight: var(--fw-semibold); font-size: var(--fz-h3); margin-top: var(--sp-12); margin-bottom: var(--sp-4); letter-spacing: -0.01em; }
.legal p, .legal li { color: var(--fg-soft); line-height: var(--lh-reading); }
.legal p { margin-bottom: var(--sp-4); }
.legal ul { margin: 0 0 var(--sp-4) 1.1em; }
.legal li { margin-bottom: var(--sp-2); }
.legal a { color: var(--fg); border-bottom: 1px solid var(--hair-strong); }
.legal a.legal__back { border-bottom: 0; }
.legal strong { color: var(--fg); font-weight: var(--fw-semibold); }
.legal__draft { background: var(--cream-2); border: 1px solid var(--hair-strong); border-radius: 10px; padding: var(--sp-5) var(--sp-6); margin-bottom: var(--sp-10); font-size: var(--fz-meta); color: var(--fg-soft); }
.todo { color: #9a4b2f; font-weight: var(--fw-medium); }
