/* Policy pages only: privacy, cookies, terms and accessibility.
   Refines the shared .legal, .toc and .prose components with section numbers, hairline rules,
   quieter tables and the closing band. */

/* Hero */
.legal-hero .page-hero__lede { max-width: 40ch; }
.legal-hero .updated { margin: clamp(26px, 3vw, 40px) 0 0; }

/* Body */
.legal-body { padding-bottom: var(--section); }
.legal-body .legal { padding-top: clamp(48px, 6vw, 88px); border-top: 1px solid var(--line); }

/* Contents */
.legal-toc__label { margin: 0 0 14px; color: var(--text-2); }
.legal .toc ol { counter-reset: toc; gap: 0; }
.legal .toc li { counter-increment: toc; }
.legal .toc a { display: grid; grid-template-columns: 2.4em minmax(0, 1fr); align-items: baseline; padding: 5px 0; line-height: 1.4; }
.legal .toc a::before { content: counter(toc, decimal-leading-zero); content: counter(toc, decimal-leading-zero) / ""; font-size: .7rem; font-weight: 600; letter-spacing: .12em; color: var(--text-2); }

/* Prose */
.legal .prose { counter-reset: sec; }
.legal .prose h2 { counter-increment: sec; }
.legal .prose h2::before { content: counter(sec, decimal-leading-zero); content: counter(sec, decimal-leading-zero) / ""; display: block; margin-bottom: 14px; font-family: var(--sans); font-size: .74rem; font-weight: 600; line-height: 1.2; letter-spacing: .2em; color: var(--accent); }
.legal .prose h2:not(:first-child) { margin-top: clamp(52px, 5vw, 76px); padding-top: clamp(28px, 3vw, 40px); border-top: 1px solid var(--line); }
.legal .prose ul li::marker { color: var(--accent); }
.legal .prose .facts { margin: 1.4em 0 1.8em; }
.legal .prose .facts dd { color: var(--text); }
.legal .prose .table-scroll { margin: 1.4em 0 1.8em; }
.legal .prose table { margin: 0; }
.legal .prose thead th { border-bottom-color: var(--line-2); }
.legal .prose :is(th, td):first-child { width: 44%; }
.legal .prose :is(th, td):last-child { padding-right: 0; }
.legal .prose tbody th { font-size: inherit; font-weight: 600; letter-spacing: 0; text-transform: none; }
.legal .prose td { color: var(--text-2); }

/* Outbound link inside running text: keep the arrow on the same line */
.legal-ext { white-space: nowrap; }
.legal-ext .icon { display: inline-block; width: .8em; height: .8em; margin-left: .3em; vertical-align: -.04em; }

/* Closing band */
.legal-cta .t-2 { margin-top: 18px; max-width: 20ch; }
.legal-cta .t-2 em { color: var(--pear); }

@media (max-width: 900px) {
  .legal .toc { padding-bottom: 28px; border-bottom: 1px solid var(--line); }
  .legal .toc a { min-height: 44px; align-items: center; padding: 4px 0; }
}
