/* Disclaimer page. Uses site.css tokens only. */
.legal-grid { align-items: start; }
.legal-toc { grid-column: 1 / span 3; position: sticky; top: calc(var(--header-h) + 24px); }
.legal-toc p { font-size: 15px; color: var(--ink-mute); margin-bottom: 10px; }
.legal-toc ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--hair); }
.legal-toc a { display: flex; gap: 12px; align-items: baseline; padding: 10px 0; min-height: 44px; border-bottom: 1px solid var(--hair); text-decoration: none; font-size: 16px; color: var(--ink); }
.legal-toc a span { font-family: var(--f-serif); color: var(--maroon); font-size: 15px; min-width: 20px; }
@media (hover: hover) and (pointer: fine) { .legal-toc a:hover { color: var(--maroon); } }

.legal-body { grid-column: 5 / span 7; }
.legal-sec { padding: 0 0 clamp(40px, 4.4vw, 64px); scroll-margin-top: calc(var(--header-h) + 24px); }
.legal-sec + .legal-sec { padding-top: clamp(8px, 1vw, 16px); }
.legal-sec .h3 { margin-bottom: 18px; display: flex; gap: 16px; align-items: baseline; }
.legal-sec .h3 .n { font-family: var(--f-serif); font-size: 0.7em; color: var(--maroon); }
.legal-sec p { color: var(--ink-soft); max-width: 64ch; }
.legal-sec p:last-child { margin-bottom: 0; }
.note { background: var(--blush); border-left: 2px solid var(--maroon); padding: clamp(20px, 2.2vw, 30px); margin-top: 22px; max-width: 64ch; }
.note .label { display: block; margin-bottom: 8px; }
.note p { color: var(--ink); }

@media (max-width: 900px) {
  .legal-toc { grid-column: 1 / -1; position: static; margin-bottom: 48px; }
  .legal-body { grid-column: 1 / -1; }
}
