/* Legal pages (Privacy Policy, Terms, ...): hero band + readable prose. */
.legal { padding-top: var(--header-h); }
.legal-col { width: min(100% - (var(--gutter) * 2), 46rem); margin-inline: auto; }

.legal-hero {
  padding: clamp(2.4rem, 6vw, 4.2rem) 0 clamp(2rem, 4vw, 3rem);
  background: radial-gradient(circle at 94% 18%, var(--peach-soft) 0 8rem, transparent 8.1rem), var(--cream);
}
.legal-title { font-family: var(--font-display); font-weight: 800; font-size: var(--fs-display-md); line-height: 1.05; margin-top: .4rem; }
.legal-title::after { content: ""; display: block; width: 4.5rem; height: .4rem; margin-top: 1.1rem; border-radius: var(--radius-pill); background: var(--orange); }

.legal-body { padding: clamp(2rem, 5vw, 3.2rem) 0 clamp(3.5rem, 8vw, 6rem); }
.legal-prose { font-size: 1.0625rem; line-height: 1.8; color: var(--ink-soft); overflow-wrap: anywhere; }
.legal-prose > * + * { margin-top: 1.1rem; }
.legal-prose strong { color: var(--ink); font-weight: 700; }
.legal-prose h2 { font-family: var(--font-display); font-weight: 800; font-size: clamp(1.45rem, 2.4vw, 1.8rem); line-height: 1.2; color: var(--ink); margin-top: clamp(2.2rem, 5vw, 3rem); scroll-margin-top: calc(var(--header-h) + 16px); }
.legal-prose h2::before { content: ""; display: block; width: 1.6rem; height: .25rem; margin-bottom: .6rem; border-radius: var(--radius-pill); background: var(--orange); }
.legal-prose h3 { font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; color: var(--ink); margin-top: 1.8rem; }
.legal-prose ul, .legal-prose ol { display: grid; gap: .5rem; }
.legal-prose ul li { position: relative; padding-left: 1.5rem; }
.legal-prose ul li::before { content: ""; position: absolute; left: .2rem; top: .8em; width: .45rem; height: .45rem; border-radius: 50%; background: var(--orange); }
.legal-prose ol { list-style: decimal; padding-left: 1.5rem; }
.legal-prose ol li::marker { color: var(--orange-deep); font-weight: 700; }
.legal-prose a { color: var(--ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--orange); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.legal-prose a:hover { background: var(--peach-soft); }
.legal-prose blockquote { margin-inline: 0; padding: .2rem 0 .2rem 1.2rem; border-left: 4px solid var(--orange); }
.legal-prose hr { border: 0; height: 1px; background: rgba(23, 23, 23, .15); margin-block: 2rem; }
.legal-prose table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.legal-prose th, .legal-prose td { text-align: left; padding: .6rem .7rem; border-bottom: 1px solid rgba(23, 23, 23, .12); }
