.legal-page { margin: 0; background: var(--bg); color: var(--text); }
.legal-header, .legal-main { width: min(100% - 32px, 1080px); margin-inline: auto; }
.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 20px; border-bottom: 1px solid var(--border); }
.legal-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--primary-ink); font-size: 23px; font-weight: 700; }
.legal-brand img { border-radius: 10px; }
.legal-main { padding-block: 30px 60px; }
.legal-main h1, .legal-main h2 { color: var(--heading); }
.legal-main p { line-height: 1.75; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 24px; }
.legal-nav a { display: flex; align-items: center; border: 1px solid var(--border); border-radius: 8px; min-height: 44px; padding: 8px 14px; background: var(--card); color: var(--link); }
.legal-nav a[aria-current="page"] { border-color: var(--primary); background: var(--primary-soft); }
.legal-document { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: clamp(16px, 3vw, 32px); }
.legal-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 16px; }
.legal-actions button { min-height: 44px; white-space: normal; }
.legal-actions [hidden] { display: none !important; }
.legal-text { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; line-height: 1.85; max-width: 100%; }
.legal-help, #legal-meta { overflow-wrap: anywhere; }
.legal-skip { position: fixed; inset-inline-start: 10px; top: -80px; padding: 12px; background: var(--card); z-index: 20; }
.legal-skip:focus { top: 8px; }
.legal-page a:focus-visible, .legal-page button:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.legal-consent-row { display: flex; align-items: flex-start; gap: 10px; margin-block: 12px; line-height: 1.65; font-size: 13px; text-align: start; }
.legal-consent-row input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 3px; accent-color: var(--primary); }
.legal-consent-row a { color: var(--link); text-decoration: underline; }
@media print {
  .legal-header, .legal-nav, .legal-actions, .legal-skip, .legal-help { display: none; }
  .legal-main { width: 100%; padding: 0; }
  .legal-document { border: 0; padding: 0; }
  .legal-page, .legal-document { background: white; color: black; }
  .legal-text { font-size: 11pt; }
}
