.legal-page { background: var(--paper); }
.legal-back { padding: 9px 14px; border: 1px solid var(--line); color: var(--forest); text-decoration: none; font-size: 13px; font-weight: 700; }
.legal-back:hover { color: white; background: var(--forest); }
.legal-main { padding-block: 86px 120px; }
.legal-heading { max-width: 880px; margin-bottom: 72px; }
.legal-heading h1 { margin-bottom: 28px; }
.legal-status { color: var(--muted); font-size: 12px; }
.legal-layout { display: grid; grid-template-columns: 220px minmax(0, 760px); gap: 90px; align-items: start; }
.legal-toc { display: grid; gap: 10px; position: sticky; top: 112px; }
.legal-toc span { margin-bottom: 6px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.legal-toc a { padding-bottom: 9px; color: var(--muted); border-bottom: 1px solid var(--line); text-decoration: none; font-size: 13px; }
.legal-toc a:hover { color: var(--coral); }
.legal-content section { padding: 0 0 48px; margin-bottom: 48px; border-bottom: 1px solid var(--line); scroll-margin-top: 110px; }
.legal-content h2 { margin: 0 0 20px; color: var(--forest); font-size: 34px; }
.legal-content p, .legal-content address { color: #52615c; font-size: 15px; line-height: 1.75; }
.legal-content address { padding: 20px; background: var(--sage-2); font-style: normal; }
.legal-content a { color: var(--forest); text-underline-offset: 4px; }
.legal-index { margin: 0 0 8px !important; color: var(--coral) !important; font: 15px Georgia, serif !important; }
.legal-footer { min-height: 180px; }
.legal-footer [aria-current="page"] { color: white; text-decoration: none; }

@media (max-width: 1000px) {
  .legal-layout { grid-template-columns: 1fr; gap: 44px; }
  .legal-toc { position: static; grid-template-columns: repeat(2, 1fr); }
  .legal-toc span { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .legal-main { padding-block: 60px 80px; }
  .legal-heading { margin-bottom: 48px; }
  .legal-heading h1 { font-size: 48px; }
  .legal-toc { grid-template-columns: 1fr; }
  .legal-content h2 { font-size: 29px; }
}
