/* Legal pages (privacy, terms, refund): long text, easy to scan */
.legal__hero { padding: 72px 0 24px; background: var(--soft); }
.legal__hero h1 { font-size: clamp(34px, 5vw, 56px); letter-spacing: -.04em; line-height: 1.05; margin: 10px 0 14px; }
.legal__meta { color: var(--muted); max-width: 70ch; margin: 0; }
.legal__meta a { color: var(--amber-text); }
.legal { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 56px; padding-top: 40px; padding-bottom: 96px; align-items: start; }
.legal__toc { position: sticky; top: 96px; display: grid; gap: 10px; }
.legal__toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 14px; }
.legal__toc a { color: var(--ink-2); text-decoration: none; }
.legal__toc a:hover { color: var(--amber-text); }
.legal__body { max-width: 72ch; color: var(--ink-2); font-size: 16px; line-height: 1.7; min-width: 0; overflow-wrap: anywhere; }
.legal__body h2 { color: var(--ink); font-size: 22px; letter-spacing: -.02em; margin: 40px 0 10px; scroll-margin-top: 96px; }
.legal__body h2:first-child { margin-top: 0; }
.legal__body p { margin: 0 0 14px; }
.legal__body ul, .legal__body ol { margin: 0 0 16px; padding-left: 22px; display: grid; gap: 6px; }
.legal__body a { color: var(--amber-text); }
.legal__body strong { color: var(--ink); }
@media (max-width: 900px) {
  .legal { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .legal__toc { position: static; padding: 16px; border-radius: 16px; background: var(--soft); }
}
/* a policy too short for an "On this page" list uses the full width */
.legal > .legal__body:first-child { grid-column: 1 / -1; }
