.legal-main {
  position: relative;
  z-index: 1;
  padding: 54px 0 70px;
}

.legal-card {
  width: min(820px, 100%);
  margin: 0 auto;
  padding: 34px 32px;
  border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
  border-radius: 18px;
  background: rgba(20, 20, 28, 0.82);
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.35);
}

.legal-card h1 {
  margin: 0 0 6px;
  color: #fff;
  font-size: clamp(1.55rem, 3vw, 2rem);
  letter-spacing: -0.02em;
}

.legal-card .legal-subtitle {
  margin: 0 0 26px;
  color: var(--muted, #9ca3af);
  font-size: 0.9rem;
}

.legal-card h2 {
  margin: 30px 0 10px;
  color: var(--orange, #ff6600);
  font-size: 1.12rem;
}

.legal-card h3 {
  margin: 20px 0 8px;
  color: #d1d5db;
  font-size: 0.98rem;
}

.legal-card p,
.legal-card li {
  color: var(--muted, #9ca3af);
  font-size: 0.9rem;
  line-height: 1.8;
}

.legal-card ul {
  padding-left: 20px;
}

.legal-card strong {
  color: #e5e7eb;
}

.legal-card a {
  color: var(--orange-soft, #ff8c42);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal-card a:hover {
  color: var(--orange-pale, #ffb380);
}

.legal-updated {
  margin-top: 34px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  color: #6b7280;
  font-size: 0.75rem;
}

@media (max-width: 640px) {
  .legal-main {
    padding: 30px 0 48px;
  }

  .legal-card {
    padding: 24px 18px;
  }
}
