/* Article layout shared by privacy.html and terms.html. Loaded alongside marketing.css, which
   supplies tokens/nav/footer; this only adds long-form document typography. */
.legal-main {
  padding-block: 44px 80px;
}
.legal-head {
  width: min(760px, 100%);
  margin: 0 auto 36px;
  padding-inline: 20px;
}
.legal-head h1 {
  font-size: clamp(28px, 4vw, 38px);
  line-height: 1.2;
}
.legal-updated {
  margin-top: 12px;
  color: var(--color-muted);
  font-size: 13.5px;
}
.legal-lede {
  margin-top: 16px;
  max-width: 62ch;
  color: var(--color-ink-soft);
  font-size: 15.5px;
  line-height: 1.7;
}
.legal-toc {
  width: min(760px, 100%);
  margin: 0 auto 48px;
  padding: 18px 20px;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}
.legal-toc p {
  margin-bottom: 10px;
  color: var(--color-muted);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.legal-toc ol {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 20px;
  font-size: 14px;
}
.legal-toc a {
  color: var(--color-ink-soft);
  text-decoration: none;
}
.legal-toc a:hover {
  color: var(--color-accent);
}
.legal-body {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: min(760px, 100%);
  margin: 0 auto;
  padding-inline: 20px;
}
.legal-section h2 {
  scroll-margin-top: 84px;
  font-size: 20px;
}
.legal-section .num {
  margin-right: 8px;
  color: var(--color-faint);
  font-weight: 500;
}
.legal-section h3 {
  margin-top: 18px;
  font-size: 15.5px;
  color: var(--color-ink);
}
.legal-section p {
  margin-top: 12px;
  color: var(--color-ink-soft);
  font-size: 15px;
  line-height: 1.75;
}
.legal-section h2 + p {
  margin-top: 14px;
}
.legal-section ul,
.legal-section ol {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
  padding-left: 22px;
  color: var(--color-ink-soft);
  font-size: 15px;
  line-height: 1.7;
}
.legal-table-wrap {
  margin-top: 14px;
  overflow-x: auto;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
}
.legal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
}
.legal-table th,
.legal-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--color-line);
  text-align: left;
  vertical-align: top;
}
.legal-table tr:last-child td {
  border-bottom: 0;
}
.legal-table th {
  color: var(--color-muted);
  font-size: 12.5px;
  font-weight: 500;
  background: var(--color-surface-muted);
}
.legal-note {
  margin-top: 14px;
  padding: 16px 18px;
  border-radius: var(--radius-md);
  background: var(--color-accent-soft);
  color: var(--color-ink-soft);
  font-size: 14px;
  line-height: 1.7;
}
.legal-contact {
  margin-top: 14px;
  padding: 16px 18px;
  border: 1px dashed var(--color-line-strong);
  border-radius: var(--radius-md);
  color: var(--color-ink-soft);
  font-size: 14px;
  line-height: 1.8;
}
.legal-contact strong {
  color: var(--color-ink);
}
.placeholder {
  padding: 0 3px;
  border-radius: 4px;
  background: #fff3cd;
  color: #7a5b00;
}
@media (max-width: 640px) {
  .legal-section {
    scroll-margin-top: 70px;
  }
}
