/* Legal documents inherit the homepage's black surface and Geist reading type. */
.site-footer { flex-wrap: wrap; gap: 16px 32px; }
.footer-company { line-height: 1.6; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 12px 24px; line-height: 1.6; }
.site-footer a { text-underline-offset: 4px; }
.site-footer a:hover { text-decoration: underline; }
.legal-page { min-width: 0; }
.legal-page .header { height: 80px; }
.legal-page .header-nav a { display: block; }
.legal-page .header-nav [aria-current="page"] { color: var(--text); text-decoration: underline; text-underline-offset: 6px; }
.legal-content { width: calc(100% - 48px); max-width: 72ch; margin: 72px auto 96px; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.legal-content h1 { font-size: clamp(34px, 5vw, 52px); font-weight: 600; line-height: 1.15; letter-spacing: -.035em; text-wrap: balance; }
.legal-content .legal-date { margin-top: 18px; color: var(--quiet); font-size: 13px; }
.legal-content .legal-intro { margin-top: 32px; }
.legal-content h2 { margin: 48px 0 16px; font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; text-wrap: balance; }
.legal-content p + p { margin-top: 16px; }
.legal-content p, .legal-content li, .legal-content address { color: var(--muted); }
.legal-content a { color: var(--text); text-decoration: underline; text-underline-offset: 4px; }
.legal-content a:hover { text-decoration-thickness: 2px; }
.legal-content li + li { margin-top: 12px; }
.legal-content ul { padding-left: 24px; }
.legal-content address { margin-top: 20px; font-style: normal; }
.legal-contents { margin-top: 40px; padding-block: 24px; border-block: 1px solid var(--line); font-size: 14px; }
.legal-contents > span { font-weight: 600; }
.legal-contents ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; margin: 16px 0 0; padding: 0; list-style: none; }
.legal-contents li + li { margin: 0; }
.legal-content ::selection { color: var(--bg); background: var(--text); }
@media (max-width: 700px) {
  .site-footer { display: flex; flex-direction: column; align-items: center; font-size: 12px; text-align: center; }
  .site-footer nav { justify-content: center; }
  .legal-content { margin-block: 44px 64px; }
  .legal-contents ul { grid-template-columns: 1fr; }
  .legal-page .brand strong { font-size: 22px; }
  .legal-page .brand img { width: 44px; }
  .legal-page .header { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) { .legal-page { scroll-behavior: auto; } html:has(.legal-page) { scroll-behavior: auto; } }
