/* Document pages (/page/*): terms, privacy, etc. */
.dc { padding-bottom: 7rem; overflow: clip; }
.dc-head { max-width: 62rem; margin: 0 auto 4rem; padding-bottom: 2.5rem; border-bottom: 1.5px solid var(--hv-line); }
.dc-title { margin: 0; font-size: clamp(2.6rem, 7vw, 5rem); font-weight: 900; line-height: 1.08; letter-spacing: -.045em; word-break: keep-all; }
.dc-date { margin: 1.4rem 0 0; font-size: .95rem; color: var(--hv-muted); }
.dc-date time { margin-left: .5rem; color: var(--hv-text); font-variant-numeric: tabular-nums; }
.dc-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4rem; max-width: 62rem; margin: 0 auto; }
.dc-toc { display: none; }
.dc-toc ol { list-style: none; margin: 0; padding: 0; }
.dc-toc a { display: block; padding: .5rem 0 .5rem 1rem; border-left: 1.5px solid var(--hv-line); font-size: .9rem; line-height: 1.45; color: var(--hv-muted); text-decoration: none; word-break: keep-all; transition: color .25s, border-color .25s; }
.dc-toc a:hover { color: var(--hv-text); }
.dc-toc a.on { color: var(--hv-accent); border-left-color: var(--hv-accent); font-weight: 700; }
@media (min-width: 992px) {
    .dc-grid:has(.dc-toc:not([hidden])) { grid-template-columns: 14rem minmax(0, 1fr); }
    .dc-toc:not([hidden]) { display: block; position: sticky; top: 7rem; align-self: start; max-height: calc(100vh - 9rem); overflow-y: auto; }
}

.dc-prose { max-width: 42rem; font-size: 1.04rem; line-height: 1.95; }
.dc-prose h2, .dc-prose h3, .dc-prose h4 { scroll-margin-top: 6.5rem; }
.dc-prose h2 { margin: 4.5rem 0 1.4rem; font-size: clamp(1.7rem, 3.4vw, 2.2rem); letter-spacing: -.03em; }
.dc-prose h3 { margin: 3.2rem 0 1rem; padding-top: 2rem; border-top: 1.5px solid var(--hv-line); font-size: 1.3rem; letter-spacing: -.02em; }
.dc-prose h4 { margin: 3rem 0 .9rem; padding-top: 1.8rem; border-top: 1.5px solid var(--hv-line); font-size: 1.18rem; letter-spacing: -.02em; }
.dc-prose > h2:first-child, .dc-prose > h3:first-child, .dc-prose > h4:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.dc-prose h2 + h3, .dc-prose h2 + h4 { margin-top: 1.6rem; padding-top: 0; border-top: 0; }
.dc-prose p { margin: 0 0 1.1rem; }
.dc-prose ol, .dc-prose ul { padding-left: 1.3rem; }
.dc-prose figure.table { margin: 1.8rem 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.dc-prose table { min-width: 34rem; margin: 0; font-size: .92rem; line-height: 1.6; }
.dc-prose th, .dc-prose td { padding: .85rem 1rem .85rem 0; vertical-align: top; word-break: keep-all; }
.dc-prose th { border-bottom: 1.5px solid var(--hv-text); font-size: .85rem; letter-spacing: .02em; }
@media (max-width: 575.98px) {
    .dc-head { margin-bottom: 2.5rem; padding-bottom: 1.8rem; }
    .dc-prose { font-size: 1rem; line-height: 1.85; }
    .dc-prose h2 { margin-top: 3.2rem; }
}
/* editor content-style draws full borders; keep the hairline-only look */
.dc-prose figure.table table, .dc-prose figure.table th, .dc-prose figure.table td { border: 0; border-bottom: 1px solid var(--hv-line); background: none; }
.dc-prose figure.table th { border-bottom: 1.5px solid var(--hv-text); }
.dc-prose a.btn { text-decoration: none; color: #fff; }
