.legal-page {
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(16, 47, 85, 0.06), rgba(248, 246, 239, 0.96) 380px),
    var(--color-soft);
}

.legal-hero {
  padding: 148px 0 48px;
  background:
    linear-gradient(115deg, rgba(16, 47, 85, 0.96), rgba(67, 158, 204, 0.7) 48%, rgba(var(--rgb-gold-dark), 0.38)),
    var(--color-blue-deep);
  color: var(--color-white);
}

.legal-hero p {
  max-width: 760px;
  color: rgba(255, 255, 255, 0.78);
}

.legal-document {
  display: grid;
  gap: 24px;
  padding: 58px 0 86px;
}

.legal-card {
  padding: clamp(24px, 4vw, 46px);
  border: 1px solid rgba(var(--rgb-gold), 0.46);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow-soft);
}

.legal-card h1,
.legal-card h2,
.legal-card h3,
.legal-card h4 {
  margin: 28px 0 12px;
  color: var(--color-blue-deep);
  line-height: 1.12;
}

.legal-card h1 {
  font-size: clamp(2.1rem, 4vw, 3.6rem);
}

.legal-card h2 {
  font-size: clamp(1.55rem, 2.8vw, 2.4rem);
}

.legal-card h3 {
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.legal-card h1:first-child,
.legal-card h2:first-child,
.legal-card h3:first-child {
  margin-top: 0;
}

.legal-card p,
.legal-card li,
.legal-card div {
  color: var(--color-graphite);
}

.legal-card a {
  color: var(--color-blue-deep);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(var(--rgb-gold), 0.58);
}

.legal-source {
  margin: 0;
  color: var(--color-muted);
  font-size: 0.92rem;
}

@media (max-width: 680px) {
  .legal-page .site-header {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 12px 14px;
  }

  .legal-page .site-nav {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 14px;
    font-size: 0.88rem;
  }

  .legal-hero {
    padding: 136px 0 38px;
  }

  .legal-document {
    padding: 34px 0 60px;
  }
}
