.legal-hero { padding: 56px 24px 16px; }
.legal-hero h1 { font-size: 96px; line-height: 0.85; }
.legal-hero .meta { font-size: 18px; color: var(--muted); margin-top: 10px; }

.legal-nav { display: flex; gap: 10px; flex-wrap: wrap; padding: 0 24px 32px; }
.legal-nav a {
  text-decoration: none;
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 8px 16px;
  border: var(--border-thin);
  background: var(--white);
  color: var(--ink);
  font-weight: 700;
  font-size: 15px;
}
.legal-nav a.is-active { background: var(--ink); color: var(--white); }

.legal-body { max-width: 820px; margin: 0 auto; padding: 0 24px 80px; }
.legal-section { padding: 28px 0; border-bottom: 2px solid var(--line); }
.legal-section:last-child { border-bottom: 0; }
.legal-section h2 { font-size: 32px; font-family: var(--font-body); font-weight: 800; text-transform: none; margin: 0 0 14px; }
.legal-section p { font-size: 17px; line-height: 1.65; margin: 0 0 14px; }
.legal-section p:last-child { margin-bottom: 0; }
.legal-section ul { margin: 0 0 14px; padding-left: 22px; font-size: 17px; line-height: 1.6; }
.legal-section ul:last-child { margin-bottom: 0; }
.legal-note { background: var(--orange-soft); padding: 16px 18px; font-size: 16px; line-height: 1.5; margin: 0 0 14px; }

@media (max-width: 860px) {
  .legal-hero h1 { font-size: 52px; }
}

.legal-table-wrap { overflow-x: auto; margin: 0 0 14px; border: var(--border-thin); }
.legal-table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.5; min-width: 480px; }
.legal-table th { background: var(--ink); color: var(--white); text-align: left; padding: 10px 14px; font-weight: 700; }
.legal-table td { padding: 10px 14px; border-top: 1px solid var(--line); vertical-align: top; background: var(--white); }
.legal-table tr:nth-child(even) td { background: var(--concrete); }
.legal-section code { background: var(--concrete); padding: 1px 6px; font-size: 15px; }
