/* Privacy Policy and Terms of Use (/privacy, /terms). Loaded only by those two pages, after pages.css.
   Markup: website_2026-11_legal-branding/build/legal_pages.py */
.legal-hero { padding: 40px 0 44px; }
.legal-hero h1 { font-size: clamp(2.1rem, 4vw, 3rem); margin-bottom: 10px; }
.legal-date { margin: 0 0 18px; font-size: .95rem; font-weight: 600; color: var(--text-2); }
.legal-hero .lede { max-width: 40em; margin: 0; color: var(--text-2); }

.legal-layout { display: grid; grid-template-columns: minmax(0, 230px) minmax(0, 1fr); gap: 56px; align-items: start; padding-top: 8px; padding-bottom: 96px; }
.legal-toc { position: sticky; top: 96px; font-size: .92rem; }
.legal-toc-h { margin: 0 0 10px; font-family: var(--font-display); font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--blue); }
.legal-toc ol { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--line); }
.legal-toc a { display: block; padding: 6px 0 6px 14px; margin-left: -2px; border-left: 2px solid transparent; color: var(--text-2); text-decoration: none; line-height: 1.35; }
.legal-toc a:hover { color: var(--blue-deep); border-left-color: var(--blue); }

.legal-body { max-width: 46rem; }
.legal-sec { padding: 28px 0; border-top: 1px solid var(--line); scroll-margin-top: 96px; }
.legal-sec:first-child { border-top: 0; padding-top: 0; }
.legal-sec h2 { font-size: clamp(1.35rem, 2.2vw, 1.6rem); font-weight: 800; margin: 0 0 14px; }
.legal-sec h3 { font-size: 1.08rem; margin: 22px 0 8px; }
.legal-sec p, .legal-sec li { color: var(--text-2); }
.legal-sec p { margin: 0 0 14px; }
.legal-sec ul, .legal-sec ol { margin: 0 0 14px; padding-left: 1.3em; }
.legal-sec ul { list-style: disc; }   /* the base styles remove list markers; policy lists need them */
.legal-sec ol { list-style: decimal; }
.legal-sec li::marker { color: var(--blue); }
.legal-sec li { margin: 0 0 6px; padding-left: 2px; }
.legal-sec strong { color: var(--navy); }
.legal-sec code { font-size: .9em; background: var(--bg-tint); border: 1px solid var(--line); border-radius: 4px; padding: 1px 5px; overflow-wrap: anywhere; }
.legal-sec a { overflow-wrap: anywhere; }

@media (max-width: 900px) {
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-bottom: 72px; }
  .legal-toc { position: static; margin-bottom: 20px; padding: 16px 18px; background: var(--bg-tint); border: 1px solid var(--line); border-radius: var(--radius-md); }
  .legal-toc ol { border-left: 0; columns: 2; column-gap: 24px; }
  .legal-toc a { padding: 8px 0; margin: 0; border: 0; min-height: 24px; }
}
@media (max-width: 520px) { .legal-toc ol { columns: 1; } }
@media print { .legal-toc { display: none; } .legal-layout { display: block; } }
