/* Legal documents share the site palette, type, header and footer treatment. */
* { box-sizing: border-box; }
a { color: hsl(var(--primary)); text-underline-offset: .25em; overflow-wrap: anywhere; }
a:hover { color: hsl(var(--brand-hover)); }
.site-header nav { display: flex; gap: 24px; flex-wrap: wrap; font-size: .875rem; font-weight: 600; }
.site-header nav a { color: hsl(var(--foreground)); text-decoration: none; }
.site-header nav a:hover, .site-header nav a[aria-current] { color: hsl(var(--primary)); text-decoration: underline; }
.legal-main { max-width: 1056px; margin: 48px auto; padding: 48px; background: hsl(var(--card)); border: 1px solid hsl(var(--border)); border-radius: var(--radius); }
.eyebrow { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: hsl(var(--primary)); }
h1 { font-size: clamp(2.5rem, 4.5vw, 4rem); line-height: 1.12; letter-spacing: -.045em; margin: 16px 0 28px; }
h2 { font-size: 1.5rem; line-height: 1.3; margin: 40px 0 16px; padding-top: 24px; border-top: 1px solid hsl(var(--border)); }
p, li { color: hsl(var(--muted-foreground)); overflow-wrap: anywhere; }
li { margin: 10px 0; }
table { width: 100%; border-collapse: collapse; font-size: .94rem; margin: 24px 0; table-layout: fixed; }
th, td { text-align: left; vertical-align: top; padding: 14px; border: 1px solid hsl(var(--border)); overflow-wrap: anywhere; }
th { background: hsl(var(--secondary)); }
blockquote { margin: 24px 0; padding: 8px 20px; border-left: 4px solid hsl(var(--primary)); background: hsl(var(--secondary)); }
.legal-footer-inner { max-width: 1280px; margin: auto; padding: 48px 32px; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; font-size: .875rem; }
.site-footer a { color: hsl(var(--brand-on-dark)); }
.site-footer a:hover { color: hsl(var(--accent)); }
.site-footer p { color: hsl(var(--brand-on-dark)); margin: 0; }
.skip { position: absolute; left: 12px; top: -100px; padding: 8px; background: white; }
.skip:focus { top: 12px; z-index: 110; }
@media (max-width: 640px) {
  .legal-main { margin: 24px 16px; padding: 28px 20px; }
  .site-header-inner { flex-wrap: wrap; padding-block: 12px; }
  .site-header nav { gap: 16px; }
  th,td { padding: 8px; font-size: .82rem; }
  .legal-footer-inner { padding-inline: 24px; }
}
@media print { header, footer, .skip { display: none; } .legal-main { border: 0; margin: 0; padding: 0; } }
