.legal-layout { display: grid; grid-template-columns: 220px 1fr; gap: 4rem; align-items: start; }
@media (max-width: 860px) { .legal-layout { grid-template-columns: 1fr; } }

.toc { position: sticky; top: calc(var(--navbar-height) + 2rem); background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius-md); padding: 1.5rem; box-shadow: var(--shadow-sm); }
@media (max-width: 860px) { .toc { position: static; } }
.toc h4 { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--gray-600); margin-bottom: .75rem; }
.toc ol { list-style: decimal; padding-left: 1.25rem; display: flex; flex-direction: column; gap: .4rem; }
.toc a { font-size: .85rem; color: var(--gray-600); text-decoration: none; transition: color 150ms; }
.toc a:hover { color: var(--forest-700); }

.legal-body section { margin-bottom: 2.75rem; }
.legal-body section:last-child { margin-bottom: 0; }
.legal-body section h2 { font-size: 1.3rem; margin-bottom: .9rem; border-bottom: 2px solid var(--gray-200); padding-bottom: .5rem; }
.legal-body section p { color: var(--gray-600); line-height: 1.8; margin-bottom: .75rem; }
.legal-body section p:last-child { margin-bottom: 0; }
.legal-body section strong { color: var(--charcoal); }
.legal-body section ul { list-style: disc; padding-left: 1.5rem; margin: .75rem 0; display: flex; flex-direction: column; gap: .4rem; }
.legal-body section ul li { color: var(--gray-600); font-size: .94rem; line-height: 1.65; }
