.legal-page {
  background: var(--concrete);
}

.legal-hero {
  padding: 68px 0 40px;
  background:
    radial-gradient(circle at 10% 10%, rgba(89, 191, 255, 0.38), transparent 31%),
    radial-gradient(circle at 88% 12%, rgba(188, 142, 255, 0.34), transparent 34%),
    linear-gradient(180deg, #fbfdff 0%, #f2f6ff 100%);
}

.legal-hero .shell,
.legal-content .shell {
  width: min(calc(100% - 48px), 1040px);
}

.legal-hero h1 {
  max-width: none;
  margin-bottom: 20px;
  font-size: var(--qa-hero-title-size);
}

.legal-hero p {
  max-width: 850px;
  margin-bottom: 0;
  color: var(--steel);
  font-size: var(--qa-hero-lead-size);
}

.legal-content {
  padding: 24px 0 88px;
}

.legal-card {
  padding: clamp(28px, 5vw, 56px);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: 0 20px 56px rgba(44, 59, 102, 0.1);
}

.legal-updated {
  margin-bottom: 34px;
  color: var(--graphite);
  font-size: 15px;
  font-weight: 800;
}

.legal-section {
  padding-top: 30px;
  border-top: 1px solid var(--line);
}

.legal-section + .legal-section {
  margin-top: 30px;
}

.legal-section h2 {
  max-width: none;
  margin-bottom: 12px;
  font-size: clamp(25px, 3vw, 32px);
  line-height: 1.2;
  letter-spacing: -0.035em;
}

.legal-section p,
.legal-section li {
  color: var(--steel);
  font-size: 17px;
  line-height: 1.72;
}

.legal-section p:last-child,
.legal-section ul:last-child {
  margin-bottom: 0;
}

.legal-section ul {
  margin: 14px 0 0;
  padding-left: 23px;
}

.legal-section a {
  color: var(--blue-dark);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal-callout {
  margin-top: 18px;
  padding: 20px 22px;
  color: var(--graphite);
  background: var(--blue-pale);
  border: 1px solid #cfddfa;
  border-radius: 16px;
}

@media (max-width: 720px) {
  .legal-hero .shell,
  .legal-content .shell {
    width: min(calc(100% - 32px), 1040px);
  }

  .legal-hero {
    padding: 50px 0 32px;
  }

  .legal-content {
    padding: 18px 0 58px;
  }

  .legal-card {
    border-radius: 18px;
  }
}
