.legal-document { max-width: 1280px; padding-top: 56px; }
.legal-hero { max-width: 900px; }
.legal-badge { display: inline-flex; color: #bdbdbd; border-color: #393939; letter-spacing: .1em; padding: 7px 10px; font-size: 10px; margin-bottom: 24px; }
.legal-hero h1 { margin-bottom: 20px; font-size: clamp(38px, 5.5vw, 72px); }
.legal-hero h1 span { margin-left: .08em; }
.legal-intro { max-width: 740px; color: #c0c0c0; line-height: 1.8; font-size: 16px; margin-bottom: 22px; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; color: #999; font-size: 11px; line-height: 1.8; }
.legal-meta time { color: #d0d0d0; }
.legal-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.legal-actions a { min-height: 42px; height: auto; padding: 12px 16px; white-space: normal; font-size: 12px; }
.legal-actions svg { width: 16px; height: 16px; flex-shrink: 0; }
.legal-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 40px 0 52px; }
.legal-summary-card, .legal-contents { background: #171717; border-color: #333; box-shadow: none; }
.legal-summary-card > div:first-child { padding: 24px 24px 12px; gap: 12px; }
.legal-summary-card > div:last-child { padding: 0 24px 24px; }
.legal-summary-icon { color: var(--lime); width: 22px; height: 22px; }
.legal-summary-card h2 { font-size: 16px; font-style: normal; line-height: 1.4; margin: 0; }
.legal-summary-card p { font-size: 12px; line-height: 1.85; color: #b6b6b6; margin: 0; overflow-wrap: anywhere; }
.legal-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 56px; align-items: start; }
.legal-sidebar { position: sticky; top: 24px; }
.legal-contents > div:first-child { padding: 22px 20px 12px; }
.legal-contents > div:last-child { padding: 0 20px 20px; }
.legal-contents h2 { font-size: 14px; font-style: normal; margin: 0; }
.legal-contents ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.legal-contents a { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; padding: 9px 0; color: #b3b3b3; font-size: 11px; line-height: 1.6; }
.legal-contents a span { color: #727272; font-size: 10px; }
.legal-contents a:hover, .legal-contents a:focus-visible { color: var(--lime); }
.legal-summary-note { color: #919191; font-size: 10px; line-height: 1.8; margin: 16px 4px 0; }
.legal-article { min-width: 0; }
.legal-section { scroll-margin-top: 24px; padding: 0 0 34px; margin-bottom: 34px; border-bottom: 1px solid #333; }
.legal-section-heading { display: flex; gap: 16px; align-items: baseline; margin-bottom: 20px; }
.legal-section-number { color: var(--lime); font-size: 11px; flex-shrink: 0; }
.legal-section-heading h2 { font-size: 23px; line-height: 1.35; font-style: normal; margin: 0; letter-spacing: -.025em; }
.legal-prose { color: #bfbfbf; font-size: 14px; line-height: 1.95; overflow-wrap: anywhere; }
.legal-prose p { margin: 0 0 18px; }
.legal-prose p:last-child { margin-bottom: 0; }
.legal-prose strong { color: #f3f3f3; }
.legal-prose a { color: var(--lime); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #657500; }
.legal-prose a:hover { text-decoration-color: var(--lime); }
.legal-prose ul, .legal-prose ol { padding-left: 23px; margin: 0 0 22px; }
.legal-prose li { padding-left: 4px; margin-bottom: 12px; }
.legal-prose li::marker { color: #a4b94e; }
.legal-prose code { font: inherit; font-size: .92em; color: #dedede; border: 1px solid #353535; border-radius: 4px; padding: 2px 5px; background: #1a1a1a; white-space: nowrap; }
.legal-definitions { display: grid; gap: 18px; margin: 0 0 22px; }
.legal-definitions dt { color: #eee; margin-bottom: 6px; }
.legal-definitions dd { margin: 0; }
.legal-prose .legal-callout { padding: 18px 20px; border: 1px solid #414932; border-radius: 8px; background: #171b12; color: #dadfd2; }
.legal-back-top { color: var(--lime); font-size: 12px; }
@media (max-width: 1000px) {
  .legal-layout { grid-template-columns: 230px minmax(0, 1fr); gap: 32px; }
  .legal-document { padding-top: 40px; }
}
@media (max-width: 760px) {
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .legal-sidebar { position: static; }
  .legal-overview { grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 30px 0; }
  .legal-summary-card > div:first-child { padding: 20px 20px 10px; }
  .legal-summary-card > div:last-child { padding: 0 20px 20px; }
  .legal-contents ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
  .legal-contents a { padding: 8px 0; }
  .legal-section-heading h2 { font-size: 21px; }
  .legal-prose { font-size: 14px; }
}
@media (max-width: 430px) {
  .legal-document { padding-top: 32px; }
  .legal-actions { flex-direction: column; align-items: stretch; }
  .legal-contents ol { grid-template-columns: minmax(0, 1fr); }
  .legal-section-heading { gap: 12px; }
  .legal-meta { gap: 6px; flex-direction: column; }
}
@media print {
  .site-header, .site-footer, .skip-link, .legal-actions, .legal-overview, .legal-sidebar, .legal-back-top { display: none; }
  body, :root { background: #fff; color: #000; }
  .legal-document { max-width: none; padding: 0; }
  .legal-layout { display: block; margin-top: 32px; }
  .legal-section-heading h2, .legal-prose, .legal-prose strong, .legal-intro, .legal-meta, .legal-meta time, .legal-hero h1 span, .legal-section-number { color: #000; }
  .legal-prose a { color: #000; }
  .legal-section-heading { break-after: avoid; }
  .legal-section { border-color: #ccc; }
}
