/* Shared document layout; colors and type inherit from the existing site. */
.legal-page { overflow-wrap: anywhere; }
.legal-page a { color: var(--accent); text-underline-offset: .2em; }
.legal-page .brand { color: var(--heading); }
.legal-header-links, .legal-footer-links { display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem; }
.legal-header-links { font-size: .875rem; }
.legal-header-links a, .legal-footer-links a { text-decoration: none; }
.legal-header-links .lang-toggle { display: inline-flex; align-items: center; min-height: 44px; color: var(--text); }
.legal-main { max-width: var(--page-max); margin-inline: auto; padding: 0 var(--step) 5rem; }
.legal-heading { padding: clamp(2.5rem, 6vw, 5rem) 0 2.5rem; border-bottom: 1px solid var(--border); }
.legal-eyebrow { color: var(--accent); font-size: .75rem; font-weight: 700; letter-spacing: .09em; }
.legal-heading h1 { margin-top: .85rem; color: var(--heading); font-size: clamp(2rem, 5vw, 3.25rem); letter-spacing: -.035em; }
.legal-subtitle { margin-top: 1rem; color: var(--text-muted); max-width: 40rem; }
.legal-layout { display: grid; grid-template-columns: 1fr; gap: 2.5rem; padding-top: 2.5rem; }
.legal-sidebar, .legal-content { min-width: 0; }
.legal-document-links { display: flex; gap: .5rem; flex-wrap: wrap; }
.legal-document-links a { padding: .6rem .85rem; border: 1px solid var(--border); border-radius: 8px; font-size: .875rem; text-decoration: none; }
.legal-document-links a[aria-current] { background: var(--band); border-color: #9ab47d; font-weight: 700; }
.legal-toc { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.legal-toc p, .legal-contact p { color: var(--text-muted); font-size: .75rem; font-weight: 600; }
.legal-toc ol { list-style: none; margin: .6rem 0 0; padding: 0; }
.legal-toc a { display: block; padding: .6rem 0; font-size: .875rem; line-height: 1.5; text-decoration: none; color: var(--text); }
.legal-toc a:hover, .legal-header-links a:hover, .legal-footer-links a:hover { text-decoration: underline; }
.legal-contact { margin-top: 1.5rem; }
.legal-contact a { display: inline-block; padding: .5rem 0; font-size: .875rem; }
.legal-content { font-size: 1rem; line-height: 1.85; }
.legal-content p, .legal-content ul, .legal-content ol { margin: 0 0 1.25rem; }
.legal-content h2 { color: var(--text); margin: 3rem 0 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--border); font-size: 1.4rem; line-height: 1.5; scroll-margin-top: 1.5rem; }
.legal-content code { font-size: .85em; white-space: normal; }
.legal-table { overflow-x: auto; margin: 1.5rem 0; border: 1px solid var(--border); border-radius: 10px; }
.legal-table table { border-collapse: collapse; width: 100%; min-width: 36rem; font-size: .875rem; line-height: 1.7; }
.legal-table th, .legal-table td { text-align: left; vertical-align: top; padding: .9rem 1rem; border-bottom: 1px solid var(--border); }
.legal-table th { background: var(--band); font-weight: 650; }
.legal-table tr:last-child td { border-bottom: 0; }
.legal-table td:first-child { min-width: 8rem; }
.legal-back-top { display: inline-block; padding: .75rem 0; margin-top: 2rem; }
.skip-link { position: absolute; top: 0; left: 1rem; z-index: 5; transform: translateY(-150%); padding: .8rem; background: var(--surface); }
.skip-link:focus { transform: translateY(0); }
@media (min-width: 58rem) {
  .legal-layout { grid-template-columns: 14rem minmax(0, 1fr); gap: 3.5rem; }
  .legal-sidebar { align-self: start; position: sticky; top: 1.5rem; }
  .legal-document-links { flex-direction: column; }
}
@media print {
  .site-header, .legal-sidebar, .site-footer, .skip-link, .legal-back-top { display: none; }
  .legal-main { max-width: none; padding: 0; }
  .legal-heading { padding: 0 0 1rem; }
  .legal-layout { display: block; }
  .legal-table { overflow: visible; }
  .legal-table table { min-width: 0; }
  .legal-content h2 { break-after: avoid; }
}
