.hero--legal {
  align-items: flex-end;
}

.hero--legal .hero__panel--legal {
  max-width: 760px;
  margin-inline: auto;
  margin-bottom: 3rem;
}

.hero__cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.legal-breadcrumb {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  margin-bottom: 1.5rem;
}

.legal-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.legal-breadcrumb li + li::before {
  content: "/";
  margin-right: 0.5rem;
  color: var(--color-gray-400);
}

.legal-breadcrumb a {
  color: var(--color-primary-dark);
}

.legal-card {
  padding: var(--space-6);
}

.legal-card__header {
  margin-bottom: var(--space-6);
}

.legal-card__meta {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-gray-500);
  margin-bottom: 0.75rem;
}

.legal-card h2 {
  margin-bottom: 0.75rem;
}

.legal-section + .legal-section {
  margin-top: var(--space-6);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-border-subtle);
}

.legal-section h3 {
  margin-bottom: 0.75rem;
  font-size: 1.125rem;
}

.legal-list {
  display: grid;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  padding-left: 0;
}

.legal-list li {
  font-size: 0.95rem;
  color: var(--color-text-soft);
}

.legal-list--columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.legal-footer {
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border-subtle);
  font-size: 0.9rem;
  color: var(--color-text-muted);
}

@media (max-width: 768px) {
  .hero--legal .hero__panel--legal {
    margin-bottom: 2.5rem;
  }

  .legal-card {
    padding: var(--space-5);
  }

  .legal-list--columns {
    grid-template-columns: 1fr;
  }
}
