.legal-page { background: radial-gradient(circle at 18% 0, rgba(215,178,124,.08), transparent 30rem), var(--obsidian); }
.legal-nav { background: rgba(8,8,8,.88); border-bottom-color: var(--line-faint); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.legal-main { padding: 138px 0 96px; }
.legal-layout { display: grid; grid-template-columns: 210px minmax(0, 780px); justify-content: center; gap: clamp(48px, 8vw, 112px); }
.legal-toc { position: sticky; top: 112px; display: flex; height: max-content; flex-direction: column; gap: 4px; padding-left: 18px; border-left: 1px solid var(--line); }
.legal-toc > span { margin-bottom: 10px; color: var(--gold); font: 600 10px/1.4 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.legal-toc a { padding: 7px 0; color: var(--ivory-mute); font-size: 12px; line-height: 1.4; transition: color 160ms ease; }
.legal-toc a:hover { color: var(--ivory); }
.legal-document { min-width: 0; }
.legal-document > h1 { margin: 0 0 18px; color: var(--ivory); font: 400 clamp(48px, 7vw, 78px)/.98 var(--serif); letter-spacing: -.025em; }
.legal-document > h1 + p { margin: 0 0 42px; padding: 18px 20px; border: 1px solid var(--line); background: rgba(215,178,124,.035); color: var(--ivory-mute); font: 500 11px/1.8 var(--mono); }
.legal-document h2 { scroll-margin-top: 112px; margin: 58px 0 18px; padding-top: 32px; border-top: 1px solid var(--line-faint); color: var(--ivory); font: 400 34px/1.12 var(--serif); letter-spacing: -.01em; }
.legal-document h3 { margin: 28px 0 10px; color: var(--gold-bright); font: 600 13px/1.5 var(--sans); letter-spacing: .03em; }
.legal-document p, .legal-document li { color: var(--ivory-dim); font-size: 15px; line-height: 1.8; }
.legal-document p { margin: 0 0 18px; }
.legal-document ul, .legal-document ol { margin: 12px 0 24px; padding-left: 22px; }
.legal-document li { margin: 5px 0; padding-left: 5px; }
.legal-document li::marker { color: var(--gold-deep); }
.legal-document strong { color: var(--ivory); font-weight: 600; }
.legal-document a { color: var(--gold-bright); text-decoration: underline; text-decoration-color: rgba(215,178,124,.35); text-underline-offset: 3px; }
.legal-document a:hover { text-decoration-color: var(--gold); }
.legal-footer { padding: 34px 0; }
.legal-footer .foot-bottom { align-items: center; }
.legal-footer nav { display: flex; flex-wrap: wrap; gap: 18px; color: var(--ivory-mute); font-size: 11px; }
.legal-footer nav a:hover { color: var(--gold); }
@media (max-width: 900px) {
  .legal-layout { grid-template-columns: 1fr; }
  .legal-toc { display: none; }
}
@media (max-width: 780px) {
  .legal-nav .row { grid-template-columns: 1fr auto; }
  .legal-nav ul.menu { display: none; }
  .legal-nav .actions .btn { display: inline-flex; }
  .legal-main { padding: 112px 0 72px; }
  .legal-document > h1 { font-size: 48px; }
  .legal-document h2 { margin-top: 44px; font-size: 29px; }
  .legal-document p, .legal-document li { font-size: 14px; line-height: 1.75; }
}
