/* Legal reading pages and a quiet, shared footer row. */
.footer-legal { display: flex; flex-wrap: wrap; gap: 8px 24px; width: min(100%, var(--max)); margin: 24px auto 0; padding-top: 20px; border-top: 1px solid var(--line); }
.footer-legal a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); font-size: .875rem; text-decoration: underline; text-underline-offset: 4px; }
.footer-legal a:hover, .footer-legal a:focus-visible { color: var(--gold-pale); }
.legal-page .legal-intro, .legal-section { width: min(100% - 40px, 840px); margin-inline: auto; }
.legal-intro { padding-block: 64px 32px; }
.legal-intro h1 { font: 800 clamp(2.5rem, 7vw, 4.5rem)/1.05 "Barlow Condensed", sans-serif; margin: 20px 0; overflow-wrap: anywhere; }
.legal-intro > p { max-width: 65ch; color: var(--muted); }
.legal-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-block: 24px; }
[data-print-terms][hidden] { display: none; }
.legal-languages { display: flex; flex-wrap: wrap; gap: 16px; }
.legal-languages a { min-height: 44px; display: inline-flex; align-items: center; color: var(--gold-pale); text-decoration: underline; text-underline-offset: 5px; }
.legal-languages a[aria-current] { color: var(--ink); font-weight: 700; }
.legal-notice { border: 1px solid var(--line); border-left: 3px solid var(--copper); border-radius: 6px 16px 16px 6px; padding: 20px 24px; background: var(--night-2); }
.legal-notice strong { display: block; color: var(--gold-pale); margin-bottom: 8px; }
.legal-notice p:last-child { margin-bottom: 0; }
.legal-section { padding-block: 36px; border-top: 1px solid var(--line); scroll-margin-top: 116px; font-size: 1rem; line-height: 1.8; overflow-wrap: anywhere; }
.legal-section h2 { margin: 0 0 24px; font: 700 clamp(1.7rem, 4vw, 2.3rem)/1.2 "Barlow Condensed", sans-serif; color: var(--gold-pale); }
.legal-section h3 { font-size: 1.0625rem; margin: 28px 0 12px; }
.legal-section p, .legal-section li, .legal-section dd { color: var(--muted); }
.legal-section strong { color: var(--ink); }
.legal-section ul, .legal-section ol { padding-left: 24px; margin-block: 16px 24px; list-style: disc; }
.legal-section ol { list-style: decimal; }
.legal-section li + li { margin-top: 10px; }
.legal-section a { color: var(--gold-pale); text-decoration: underline; text-underline-offset: 4px; }
.legal-details { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 12px 24px; }
.legal-details dt { font-weight: 600; }
.legal-details dd { margin: 0; }
.legal-form-model { padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--night-2); white-space: pre-line; }
.legal-section:last-child { padding-bottom: 72px; }
@media (max-width: 600px) {
  .legal-intro { padding-top: 40px; }
  .legal-details { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .legal-details dd { margin-bottom: 14px; }
  .legal-notice, .legal-form-model { padding: 18px; }
  .legal-actions .btn { width: 100%; }
}
@media print {
  html:has(.legal-page) { color-scheme: light; background: #fff; }
  .legal-page, .legal-page * { color: #111 !important; background: none !important; box-shadow: none !important; text-shadow: none !important; }
  .legal-page { font: 11pt/1.5 Arial, sans-serif; }
  .legal-page::before, .legal-page .site-header, .legal-page .mobile-menu, .legal-page .site-footer, .legal-page .ambient, .legal-page .skip-link, .legal-page .scroll-top, .legal-actions, .legal-languages, .section-nav { display: none !important; }
  .legal-page .legal-intro, .legal-section { width: 100%; margin: 0; padding-block: 12pt; }
  .legal-intro h1 { font: bold 24pt/1.2 Arial, sans-serif; }
  .legal-section h2 { font: bold 16pt/1.3 Arial, sans-serif; break-after: avoid; }
  .legal-section h3, .legal-details dt { break-after: avoid; }
  .legal-section p, .legal-section li { orphans: 3; widows: 3; }
  .legal-section a { text-decoration: underline; }
  .legal-section a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
  .legal-details { display: block; }
  .legal-details dd { margin: 0 0 8pt; }
}
