/* Privacy page: a sticky contents list beside one readable column. */
.privacy-grid { display: grid; gap: var(--sp-7); align-items: start; }
@media (min-width: 960px) {
  .privacy-grid { grid-template-columns: 15rem minmax(0, 1fr); gap: var(--sp-8); }
  .privacy-toc { position: sticky; top: calc(var(--header-h) + var(--sp-5)); }
}

.privacy-toc { border-top: 3px solid var(--c-black); padding-top: var(--sp-4); }
.privacy-toc__title { font-family: var(--font-display); font-size: var(--fs-xs); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 0 0 var(--sp-3); }
.privacy-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-1); counter-reset: ptoc; }
.privacy-toc li { counter-increment: ptoc; }
.privacy-toc a { display: flex; gap: var(--sp-3); align-items: baseline; min-height: 44px; padding-block: var(--sp-2); color: var(--fg); text-decoration: none; font-weight: 600; font-size: var(--fs-sm); border-bottom: 1px solid var(--line); }
.privacy-toc a::before { content: counter(ptoc, decimal-leading-zero); font-family: var(--font-display); font-size: var(--fs-xs); font-weight: 800; color: var(--muted); }
.privacy-toc a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 959px) {
  .privacy-toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--sp-5); }
}

.privacy-body h2 { scroll-margin-top: calc(var(--header-h) + var(--sp-5)); }
.privacy-body h2:first-of-type { margin-top: var(--sp-7); }

.privacy-summary { background: var(--c-paper); border-top: 4px solid var(--c-yellow); border-radius: var(--r-sm); padding: var(--sp-5); }
.privacy-summary__title { font-family: var(--font-display); font-weight: 800; font-size: var(--fs-md); color: var(--fg); margin: 0 0 var(--sp-3); }
.privacy-body .privacy-summary .check-list { padding-left: 0; }
