/* Quiet reading pages, with Art Color's lavender palette and Geologica titles. */
.legal-page { background: #f8f5ff; color: #291545; }
.legal-page .nav,
.legal-page .nav-wrap.is-scrolled .nav {
  background: linear-gradient(115deg, #47238ff5, #632ceaf5);
  border-color: #b795f6;
}
.legal-page .page-hero {
  background: radial-gradient(ellipse at 90% 0, #e2d1ff 0, transparent 65%), #f8f5ff;
  border: 0;
  padding-bottom: 48px;
}
.legal-page .page-hero::before { display: none; }
.legal-page .page-hero > .container { max-width: 1120px; }
.legal-page .breadcrumbs { color: #655078; }
.legal-page .page-hero .eyebrow { color: #642cce; }
.legal-page .page-hero h1 { max-width: 920px; color: #432080; font-size: clamp(34px, 4.4vw, 60px); }
.legal-page .page-hero .lead { max-width: 720px; color: #655078; font-size: 16px; }
.legal-content { padding: 0 0 90px; }
.legal-layout { max-width: 1120px; display: grid; grid-template-columns: 230px minmax(0, 1fr); align-items: start; gap: 44px; }
.legal-toc { position: sticky; top: 126px; padding-top: 24px; }
.legal-toc .eyebrow { color: #6e5189; margin-bottom: 16px; }
.legal-toc ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 3px; }
.legal-toc a { display: flex; gap: 12px; align-items: baseline; padding: 9px 0; color: #5d4277; text-decoration: none; font-size: 13px; line-height: 1.5; }
.legal-toc a span { flex: 0 0 20px; color: #7543b9; font-size: 10px; font-variant-numeric: tabular-nums; }
.legal-toc a:hover { color: #642cce; text-decoration: underline; }
.legal-copy { min-width: 0; padding: clamp(24px, 4vw, 52px); background: #fff; border: 1px solid #e7dcf6; border-radius: 24px; box-shadow: 0 12px 45px #3b126a06; }
.legal-section + .legal-section { margin-top: 34px; padding-top: 34px; border-top: 1px solid #eee6f6; }
.legal-section h2 { margin-bottom: 20px; color: #432080; font-size: clamp(22px, 2.2vw, 27px); line-height: 1.3; }
.legal-copy p, .legal-copy li { color: #534260; font-size: 15px; line-height: 1.85; overflow-wrap: anywhere; }
.legal-copy p + p { margin-top: 16px; }
.legal-copy ul { margin-block: 16px; padding-left: 22px; }
.legal-copy li + li { margin-top: 8px; }
.legal-copy a { color: #6529c9; }
.legal-copy .draft-notice { padding: 20px; margin: 0 0 30px; background: #f6f1fd; border: 1px solid #ded0f0; border-radius: 12px; }
.legal-copy .draft-notice p { color: #594175; font-size: 14px; }
.legal-copy .missing { background: #f6f1fd; color: #614582; border: 0; }
.legal-page .footer { color: #fff; }
@media (max-width: 900px) {
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .legal-toc { position: static; padding-top: 0; }
  .legal-toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
}
@media (max-width: 650px) {
  .legal-page .page-hero { padding-bottom: 30px; }
  .legal-copy { padding: 24px 20px; border-radius: 18px; }
  .legal-content { padding-bottom: 48px; }
  .legal-toc ol { grid-template-columns: minmax(0, 1fr); }
  .legal-toc a { padding-block: 6px; }
}
@media print {
  .legal-page { background: #fff; color: #000; }
  .legal-page .page-hero { background: none; padding: 0 0 24px; }
  .legal-page .breadcrumbs, .legal-toc { display: none; }
  .legal-layout { display: block; max-width: none; }
  .legal-content { padding: 0; }
  .legal-copy { border: 0; border-radius: 0; box-shadow: none; padding: 0; }
  .legal-section h2 { break-after: avoid; }
  .legal-copy p, .legal-copy li { orphans: 3; widows: 3; }
}
