/* Policy pages share the landing page palette and locally hosted fonts. */
body.legal-page { padding: 0; background: var(--plum); }
.legal-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 18px clamp(20px, 5vw, 64px); color: var(--cream); border-bottom: 4px solid var(--ink); }
.legal-brand { font: 700 1.8rem var(--display); text-decoration: none; color: var(--butter); }
.legal-nav-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.legal-nav [aria-current] { color: var(--butter); }
.legal-document { max-width: 840px; margin: 40px auto 56px; padding: clamp(24px, 5vw, 56px); background: var(--cream); border: 4px solid var(--ink); box-shadow: 8px 8px 0 var(--ink); }
.legal-document h1 { font-size: clamp(2.5rem, 7vw, 4rem); }
.legal-document .legal-date { margin: 12px 0 24px; color: var(--ink-soft); }
.legal-document p + p { margin-top: 16px; }
.legal-document section { padding: 0; margin-top: 36px; }
.legal-document h2 { font-size: clamp(1.7rem, 4vw, 2.2rem); margin-bottom: 12px; }
.legal-document li + li { margin-top: 10px; }
.legal-document a { overflow-wrap: anywhere; }
.legal-document :focus-visible { outline-color: var(--plum); }
.legal-summary { padding: 18px; background: var(--wall); border: 3px solid var(--ink); }
.legal-toc { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 8px 20px; font-family: var(--display); font-size: 1.1rem; }
.legal-prices { width: 100%; border-collapse: collapse; margin: 18px 0; }
.legal-prices th, .legal-prices td { text-align: left; border-bottom: 2px solid var(--peach); padding: 10px 8px; }
@media (max-width: 900px) { .legal-document { margin: 24px 16px 36px; box-shadow: 4px 4px 0 var(--ink); } }
