/* Shared footer links; the remaining rules only affect legal documents. */
footer .legal-links { display: flex; flex-wrap: wrap; gap: 8px 18px; min-width: 0; }
footer .legal-links a { padding-block: 6px; text-decoration: underline; text-underline-offset: 3px; }
footer .legal-links a:focus-visible { outline: 2px solid var(--brand-navy); outline-offset: 4px; }
.legal-page .legal-header { background: #071b2c; color: #fff; border-bottom: 4px solid var(--brand-orange); }
.legal-page .nav { position: relative; inset: auto; height: auto; min-height: 88px; gap: 20px; flex-wrap: wrap; padding-block: 16px; }
.legal-page .nav .brand { margin-right: 0; }
.legal-page .nav .language-switcher { display: flex; position: static; gap: 12px; margin: 0 0 0 auto; padding: 0; }
.legal-page .language-switcher a { padding: 8px 2px; color: #c3c0b9; }
.legal-page .language-switcher a.active { color: #ffad55; }
.legal-page .legal-heading { padding-block: 60px 48px; }
.legal-page h1 { font-size: clamp(2.3rem, 5vw, 4.5rem); line-height: 1.12; max-width: 20ch; overflow-wrap: anywhere; }
.legal-page .lead { max-width: 65ch; }
.legal-page .legal-content { max-width: 800px; padding-block: 48px 64px; overflow-wrap: anywhere; }
.legal-page .legal-content section { margin-top: 40px; }
.legal-page h2 { font-size: clamp(1.3rem, 3vw, 1.7rem); line-height: 1.3; letter-spacing: -.025em; }
.legal-page p, .legal-page li { line-height: 1.8; }
.legal-page li + li { margin-top: 12px; }
.legal-page ol { padding-left: 24px; }
.legal-page .legal-content a { color: #125b88; text-underline-offset: 3px; }
.legal-page .legal-todo, .legal-page .legal-draft { background: #fff3df; color: #633808; border-left: 3px solid #a9520d; padding: 16px 20px; }
.legal-page .legal-draft { margin-top: 0; font-weight: 600; }
.legal-page .legal-back { margin-top: 40px; }
.legal-page :focus-visible { outline: 3px solid #125b88; outline-offset: 4px; }
.legal-page .legal-header :focus-visible { outline-color: #ffad55; }
.legal-page .skip-link { position: absolute; left: 16px; top: 8px; z-index: 20; padding: 12px 18px; background: #fff; color: #0a2136; transform: translateY(-160%); }
.legal-page .skip-link:focus { transform: translateY(0); }
@media (max-width: 800px) {
  footer .legal-links { justify-content: flex-start; }
  .legal-page .legal-heading { padding-block: 36px 24px; }
  .legal-page .legal-content { padding-block: 32px 40px; }
}
@media (max-width: 480px) {
  footer .legal-links { justify-content: center; }
  .legal-page .nav { gap: 12px; }
  .legal-page .nav .brand { font-size: 1.25rem; }
  .legal-page .nav .language-switcher { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) { .legal-page { scroll-behavior: auto; } html:has(.legal-page) { scroll-behavior: auto; } }
