/* Grade House Rich Text — legal pages and long plain documents, with an
 * optional sticky contents list built from the h2 headings. */

.gh.prose .prose__head { display: grid; gap: 10px; margin-bottom: clamp(32px, 4vw, 56px); }
.gh.prose .prose__updated { font-size: 14px; color: var(--gh-muted); }
.gh.prose .prose__body { max-width: 72ch; font-size: 17px; line-height: 1.75; }
.gh.prose--wide .prose__body { max-width: none; }
.gh.prose--narrow:not(.prose--toc) .prose__head,
.gh.prose--narrow:not(.prose--toc) .prose__body { margin-inline: auto; max-width: 72ch; }
.gh.prose .prose__body h2 { scroll-margin-top: 110px; }

.gh.prose--toc .prose__grid { display: grid; grid-template-columns: minmax(200px, 280px) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.gh.prose .prose__toc { position: sticky; top: calc(var(--gh-hdr) + 24px); padding: 20px 0 20px 20px; border-left: 1px solid var(--gh-line); }
.gh.prose .prose__toc-title { margin-bottom: 12px; font-size: 14px; font-weight: 600; color: var(--gh-muted); }
.gh.prose .prose__toc ol { display: grid; gap: 4px; counter-reset: gh-toc; }
.gh.prose .prose__toc li { counter-increment: gh-toc; }
.gh.prose .prose__toc a { display: grid; grid-template-columns: 26px 1fr; padding: 5px 0; font-size: 15px; line-height: 1.4; color: var(--gh-text); text-decoration: none; }
.gh.prose .prose__toc a::before { content: counter(gh-toc); color: var(--gh-card-line); font-weight: 600; font-size: 13px; padding-top: 1px; }
.gh.prose .prose__toc a:hover { color: var(--gh-blue); }
.gh.prose.tone-ink .prose__toc { border-color: rgba(255, 255, 255, .15); }
.gh.prose.tone-ink .prose__toc a { color: #C9CBCF; }

@media (max-width: 900px) {
	.gh.prose--toc .prose__grid { grid-template-columns: 1fr; }
	.gh.prose .prose__toc { position: static; padding: 16px 0 16px 16px; }
}
@media (max-width: 767px) {
	.gh.prose .prose__body { font-size: 16px; }
}
