.legal-page {
  background: var(--color-surface);
  color: var(--color-on-surface);
}

.legal-hero {
  padding: clamp(3rem, 8vw, 6rem) 1.25rem;
  background: linear-gradient(135deg, var(--color-primary), #123923);
  color: var(--color-on-primary);
  text-align: center;
}

.legal-hero-inner {
  width: min(100%, 880px);
  margin: 0 auto;
}

.legal-hero .hero-title {
  margin-bottom: 1rem;
}

.legal-hero p {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(255,255,255,.88);
}

.legal-content {
  width: min(calc(100% - 2rem), 920px);
  margin: 0 auto;
  padding: clamp(2.5rem, 6vw, 5rem) 0;
}

.legal-card {
  padding: clamp(1.25rem, 4vw, 2.4rem);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-lg);
  background: #fffdf8;
  box-shadow: var(--shadow-level-1);
}

.legal-card + .legal-card {
  margin-top: 1.25rem;
}

.legal-card h2 {
  margin-bottom: .8rem;
  color: var(--color-primary);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-2xl);
  line-height: 1.3;
}

.legal-card h3 {
  margin: 1.2rem 0 .5rem;
  font-family: var(--font-family-heading);
  font-size: var(--font-size-xl);
}

.legal-card p + p,
.legal-card p + ul,
.legal-card ul + p {
  margin-top: .8rem;
}

.legal-card ul,
.legal-card ol {
  padding-left: 1.25rem;
}

.legal-card li + li {
  margin-top: .45rem;
}

.legal-meta {
  display: flex;
  gap: .75rem 1.5rem;
  flex-wrap: wrap;
  margin-top: 1.25rem;
  font-size: var(--font-size-sm);
}

.legal-contact {
  font-style: normal;
}

.legal-actions {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}

@media (max-width: 600px) {
  .legal-content {
    width: min(calc(100% - 1.25rem), 920px);
  }
  .legal-card {
    border-radius: var(--border-radius-md);
  }
  .legal-actions .btn {
    width: 100%;
  }
}
