/* Privacy and terms: a plain reading column, kept under about 75 characters a line. */
.prose { --measure: 31em; max-width: calc(var(--measure) + 2 * var(--gutter)); margin-inline: max(var(--gutter), (100% - var(--page)) / 2); }
.prose > section + section { margin-top: 56px; }
.prose h2 { font-size: clamp(28px, 2.8vw, 38px); margin-bottom: 20px; }
.prose h3 { font-size: var(--fs-h3); color: var(--cobalt); margin: 28px 0 8px; }
.prose p { max-width: var(--measure); }
.prose p + p, .prose ul + p { margin-top: 1em; }
.terms-list { display: grid; gap: 10px; max-width: var(--measure); }
.terms-list li { padding-left: 22px; position: relative; }
.terms-list li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--coral); }
.terms-list strong { color: var(--cobalt); }
.prose-note { padding: 16px 20px; border-radius: var(--radius-s); background: color-mix(in srgb, var(--butter) 55%, var(--white)); font-weight: 600; }
.prose > .text-link { margin-top: 40px; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 4px 24px; padding-block: 20px 0; }
.legal-nav a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; text-underline-offset: 4px; }
.prose :is(h2, h3)[id] { scroll-margin-top: 112px; }
.legal-nav + .section { padding-top: clamp(32px, 4vw, 56px); }
/* The shared prose rule resets the measure; legal pages keep their narrower column. */
body[data-page="legal"] .prose { --measure: 31em; }
