.legal-page { background: var(--paper); }
.legal-nav { border-bottom: 1px solid var(--color-line); }
.legal-nav__inner { height: 76px; display: flex; align-items: center; justify-content: space-between; }
.legal-nav .lang { --lang-on: var(--paper); }
.legal { max-width: 860px; padding-block: var(--space-16) var(--space-20); }
.legal h1 { font-family: var(--font-display); font-weight: 600; text-transform: uppercase; font-size: var(--text-2xl); line-height: 1; margin: var(--space-4) 0 var(--space-6); text-wrap: balance; }
.legal h2 { font-size: var(--text-lg); font-weight: 600; margin: var(--space-12) 0 var(--space-4); }
.legal p, .legal li { color: #3E4046; max-width: 72ch; }
.legal p + p { margin-top: var(--space-4); }
.legal ul { list-style: disc; padding-left: var(--space-6); display: grid; gap: var(--space-2); }
.legal a { text-decoration: underline; text-underline-offset: 3px; color: var(--ink); }
.legal__updated { font-size: var(--text-sm); color: var(--color-text-muted) !important; }
.legal__dl { list-style: none !important; padding: 0 !important; margin-top: var(--space-4); border-top: 1px solid var(--color-line); }
.legal__dl li { display: grid; grid-template-columns: 180px 1fr; gap: var(--space-4); padding-block: var(--space-3); border-bottom: 1px solid var(--color-line); }
.legal__dl span { color: var(--color-text-muted); font-size: var(--text-sm); }
.template-note { margin: 0 0 var(--space-6); padding: var(--space-3) var(--space-4); background: #FFF4D6; border-radius: var(--radius-sm); font-size: var(--text-sm); color: #5A4300 !important; }
.table-wrap { overflow-x: auto; margin-top: var(--space-4); }
.legal table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); min-width: 560px; }
.legal th, .legal td { text-align: left; padding: var(--space-3); border-bottom: 1px solid var(--color-line); vertical-align: top; }
.legal th { font-weight: 600; background: var(--bone); }
.legal td:first-child { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
.legal-foot { display: flex; flex-wrap: wrap; gap: var(--space-6); padding-block: var(--space-8); border-top: 1px solid var(--color-line); font-size: var(--text-sm); }
.legal-foot a { min-height: 44px; display: inline-flex; align-items: center; color: var(--color-text-muted); }
@media (max-width: 600px) { .legal__dl li { grid-template-columns: 1fr; gap: 0; } }
