/* Legal / document pages */
.doc-hero { padding-top: 130px; padding-bottom: clamp(28px,4vw,44px); }
.doc-hero .eyebrow { margin-bottom: 18px; }
.doc-hero h1 { font-size: clamp(2.4rem,5vw,4.4rem); line-height: 1; margin-bottom: 16px; }
.doc-hero p { color: var(--ink-soft); max-width: 60ch; }
.doc-updated { font-size: .82rem; color: var(--ink-faint); margin-top: 14px; }

.doc-body { display: grid; grid-template-columns: 240px 1fr; gap: clamp(36px,5vw,72px); padding-bottom: clamp(64px,9vw,120px); }
.doc-toc { position: sticky; top: 110px; align-self: start; }
.doc-toc .lbl { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 14px; }
.doc-toc ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; border-left: 1px solid var(--line); }
.doc-toc a { display: block; padding-left: 16px; font-size: .9rem; color: var(--ink-soft); border-left: 2px solid transparent; margin-left: -1px; transition: color .25s, border-color .25s; }
.doc-toc a:hover { color: var(--clay); border-color: var(--clay); }

.doc-content { max-width: 70ch; }
.doc-content section { padding-block: 22px; border-top: 1px solid var(--line); }
.doc-content section:first-child { border-top: 0; padding-top: 0; }
.doc-content h2 { font-size: clamp(1.5rem,2.4vw,2rem); margin-bottom: 14px; }
.doc-content h3 { font-family: var(--body); font-size: 1.02rem; font-weight: 700; color: var(--ink); margin: 18px 0 6px; }
.doc-content p, .doc-content li { color: var(--ink-soft); }
.doc-content ul, .doc-content ol { padding-left: 1.2em; margin: 0 0 1em; }
.doc-content li { margin-bottom: .5em; }
.doc-content a { color: var(--clay); text-decoration: underline; text-underline-offset: 2px; }
.doc-note { background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 20px; font-size: .88rem; }
@media (max-width: 820px) { .doc-body { grid-template-columns: 1fr; } .doc-toc { display: none; } }
