/* CMP Policy / Legal widget — long-form reading layout + sticky TOC. */
.cmp-policy__inner { max-width: var(--container); margin-inline: auto; }
.cmp-policy__header { margin-bottom: 2.5rem; max-width: var(--reading); }
.cmp-policy__eyebrow { margin-bottom: 1rem; }
.cmp-policy__heading { margin-bottom: 0.75rem; }
.cmp-policy__intro { color: var(--body); }

.cmp-policy__grid { display: grid; gap: 2.5rem; }
@media (min-width: 1024px) {
  .cmp-policy__grid { grid-template-columns: 230px minmax(0, 1fr); gap: 3.5rem; align-items: start; }
}

/* table of contents */
.cmp-policy__toc { position: relative; }
@media (min-width: 1024px) { .cmp-policy__toc-nav { position: sticky; top: calc(var(--header-h, 72px) + 1.5rem); } }
.cmp-policy__toc-label { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); margin-bottom: 1rem; }
.cmp-policy__toc-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.55rem; }
.cmp-policy__toc-link { display: flex; gap: 0.6rem; font-size: 0.88rem; color: var(--body); transition: color var(--dur-fast); }
.cmp-policy__toc-link:hover { color: var(--amber-text); }
.cmp-policy__toc-num { font-family: var(--font-mono); font-size: 0.72rem; color: var(--amber-text); }

/* sections */
.cmp-policy__body { max-width: var(--reading); }
.cmp-policy__sec { padding-block: 1.75rem; border-top: 1px solid var(--border-hair); scroll-margin-top: calc(var(--header-h, 72px) + 1.5rem); }
.cmp-policy__sec:first-child { border-top: 0; padding-top: 0; }
.cmp-policy__sec-heading { display: flex; align-items: baseline; gap: 0.75rem; margin-bottom: 0.85rem; }
.cmp-policy__sec-num { font-family: var(--font-mono); font-size: 0.8rem; color: var(--amber-text); }
.cmp-policy__sec-title { font-family: var(--font-display); font-weight: 700; font-size: 1.3rem; line-height: 1.2; color: var(--ink); }
.cmp-policy__sec-body { color: var(--body); line-height: 1.7; }
.cmp-policy__sec-body p { margin: 0 0 1rem; }
.cmp-policy__sec-body ul, .cmp-policy__sec-body ol { margin: 0 0 1rem 1.25rem; }
.cmp-policy__sec-body a { color: var(--amber-text); text-decoration: underline; text-underline-offset: 3px; }
.cmp-policy__sec-body strong { color: var(--ink); }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
