/* Legal pages — loads after index-styles.css and reuses its tokens */
.legal-main {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(104px, 12vw, 136px) var(--section-x) var(--section-y);
}
.legal-main h1 {
  font-size: clamp(30px, 5vw, 44px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.15;
  margin-bottom: 8px;
}
.legal-updated { color: var(--ink-muted); font-size: var(--text-sm); margin-bottom: 32px; }
.legal-main h2 {
  font-size: var(--text-xl);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
  margin: 40px 0 12px;
  scroll-margin-top: 88px;
}
.legal-main h3 { font-size: var(--text-md); font-weight: 700; margin: 24px 0 8px; }
.legal-main p,
.legal-main li { color: var(--ink-soft); line-height: 1.7; font-size: var(--text-base); }
.legal-main p { margin-bottom: 12px; }
.legal-main ul, .legal-main ol { padding-left: 22px; margin-bottom: 12px; }
.legal-main ul li { list-style: disc; margin-bottom: 6px; }
.legal-main ol li { list-style: decimal; margin-bottom: 6px; }
.legal-main a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
.legal-main a:hover { color: var(--teal); }
.legal-main strong { color: var(--ink); font-weight: 700; }

.legal-toc {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--r-card);
  padding: var(--space-4) var(--space-5);
  margin-bottom: 8px;
}
.legal-toc p { font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ink-muted); margin-bottom: 8px; }
.legal-toc ol { margin-bottom: 0; columns: 2; column-gap: 32px; }
.legal-toc li { font-size: var(--text-sm); break-inside: avoid; }

.legal-table-wrap { overflow-x: auto; margin: 12px 0 16px; border: 1px solid var(--border); border-radius: var(--r-card); background: var(--bg-card); }
.legal-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); min-width: 560px; }
.legal-table th, .legal-table td { text-align: left; vertical-align: top; padding: 10px 14px; border-bottom: 1px solid var(--border); color: var(--ink-soft); line-height: 1.55; }
.legal-table th { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-muted); background: var(--bg-elevated); }
.legal-table tr:last-child td { border-bottom: none; }

/* Placeholders to fill in before launch — search the HTML for class="ph" */
.ph { background: var(--amber-soft); color: var(--ink); padding: 0 4px; border-radius: 4px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

@media (max-width: 600px) {
  .legal-toc ol { columns: 1; }
}