.legal-header { border-bottom: 1px solid hsl(var(--border)); background: hsl(var(--background)); }
.legal-header > div { display: flex; min-height: 5rem; align-items: center; justify-content: space-between; gap: 1rem; }
.legal-header nav, .legal-footer nav { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; }
.legal-header nav a, .legal-footer nav a { display: inline-flex; min-height: 44px; align-items: center; font-size: .9rem; }
.legal-main { padding-block: clamp(2.5rem, 7vw, 6rem); }
.legal-intro { max-width: 60rem; margin-bottom: 3rem; }
.legal-intro h1 { margin: 1rem 0; font-size: clamp(2.5rem, 8vw, 4.5rem); }
.legal-intro > p:not(.eyebrow) { max-width: 45rem; color: hsl(var(--muted-foreground)); }
.legal-intro .legal-date { margin-top: 1rem; font-size: .875rem; }
.legal-language { display: inline-flex; gap: .25rem; margin-bottom: 2rem; padding: .25rem; border: 1px solid hsl(var(--border)); border-radius: .5rem; }
.legal-language a { display: grid; min-width: 44px; min-height: 44px; place-items: center; border-radius: .3rem; font-size: .875rem; }
.legal-language a[aria-current] { color: hsl(var(--background)); background: hsl(var(--foreground)); font-weight: 700; }
.legal-layout { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(0, 3fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.legal-toc { display: grid; position: sticky; top: 1rem; }
.legal-toc a { padding: .7rem .75rem; border-left: 2px solid hsl(var(--border)); font-size: .875rem; line-height: 1.5; }
.legal-toc a:hover { border-color: hsl(var(--brand)); background: hsl(var(--card)); }
.legal-content { min-width: 0; }
.legal-content section { margin-bottom: 2.5rem; padding-top: 1.5rem; border-top: 1px solid hsl(var(--border)); scroll-margin-top: 1.5rem; }
.legal-content h2 { margin: 0 0 1.25rem; font-size: clamp(1.4rem, 4vw, 1.8rem); line-height: 1.25; }
.legal-content h3 { margin: 0 0 .75rem; font-size: 1.1rem; }
.legal-content p, .legal-content dd { font-size: 1rem; line-height: 1.8; overflow-wrap: anywhere; }
.legal-content p { margin: 0 0 1rem; }
.legal-content a, .legal-footer a { text-decoration: underline; text-underline-offset: .2em; }
.legal-content dl { display: grid; grid-template-columns: minmax(8rem, 1fr) minmax(0, 2.5fr); gap: 1rem 1.5rem; margin: 0; }
.legal-content dt { color: hsl(var(--muted-foreground)); font-size: .9rem; }
.legal-content dd { margin: 0; }
.legal-callout { padding: 1.5rem; margin-block: 1.5rem; border-left: 3px solid hsl(var(--brand)); background: hsl(var(--card)); }
.legal-callout p { margin: 0; }
.legal-footer { padding-block: 2rem; border-top: 1px solid hsl(var(--border)); }
.legal-footer p { font-size: .875rem; color: hsl(var(--muted-foreground)); }
@media (max-width: 800px) { .legal-layout { grid-template-columns: minmax(0, 1fr); } .legal-toc { position: static; } }
@media (max-width: 480px) { .legal-content dl { grid-template-columns: minmax(0, 1fr); gap: .25rem; } .legal-content dd { margin-bottom: 1rem; } .legal-header nav { gap: .75rem; } }
@media print { .legal-header, .legal-toc, .legal-language, .legal-footer, .skip-link { display: none; } .legal-layout { display: block; } .legal-main { padding: 0; } .legal-content section { break-inside: avoid; } }
