/* Legal page styles — privacy, terms, refunds */
.legal-hero { background: var(--bass-strait); color: var(--foam); padding: 8rem 0 3.5rem; }
.legal-hero h1 { max-width: 18ch; }
.legal-meta { font-family: monospace; font-size: 0.82rem; letter-spacing: 0.1em; color: rgba(251,250,246,0.7); margin-top: 1rem; }

.legal-body { max-width: 740px; margin: 0 auto; }
.legal-body h2 {
  font-size: 1.5rem; margin: 2.5rem 0 0.75rem;
  padding-top: 1rem; border-top: 1px solid rgba(31,31,31,0.08);
  font-variation-settings: "opsz" 36;
}
.legal-body h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.legal-body h3 { font-size: 1.05rem; margin: 1.75rem 0 0.5rem; font-variation-settings: "opsz" 24; }
.legal-body p { font-size: 1rem; line-height: 1.7; color: var(--driftwood); }
.legal-body ul, .legal-body ol { padding-left: 1.25rem; line-height: 1.7; color: var(--driftwood); }
.legal-body li { margin-bottom: 0.4rem; }
.legal-body a { color: var(--rockpool); border-bottom: 1px solid rgba(44,95,111,0.4); }
.legal-body a:hover { color: var(--surf-orange); border-bottom-color: var(--surf-orange); }

.legal-toc { font-size: 0.92rem; padding: 1.5rem; background: var(--sand); border-radius: 6px; margin-bottom: 2.5rem; }
.legal-toc h2 { font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--rockpool); border: 0; padding: 0; margin: 0 0 0.75rem; font-family: var(--type-body); font-weight: 500; }
.legal-toc ol { padding-left: 1.25rem; margin: 0; }
.legal-toc li { margin-bottom: 0.3rem; font-family: var(--type-body); }
