:root {
  --legal-border: rgba(255, 255, 255, 0.12);
  --legal-surface: rgba(255, 255, 255, 0.045);
  --legal-muted: #aeb8cc;
}

.legalHero {
  padding: 8.5rem 0 3rem;
  border-bottom: 1px solid var(--legal-border);
  background:
    radial-gradient(circle at 15% 20%, rgba(80, 103, 255, 0.18), transparent 32rem),
    radial-gradient(circle at 85% 10%, rgba(141, 75, 255, 0.14), transparent 28rem);
}

.legalHero .eyebrow {
  margin-bottom: 0.9rem;
}

.legalHero h1 {
  max-width: 900px;
  margin: 0;
}

.legalHero .lead {
  max-width: 760px;
  margin: 1.1rem 0 0;
}

.legalMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin-top: 1.4rem;
  color: var(--legal-muted);
  font-size: 0.95rem;
}

.legalSection {
  padding: 3.5rem 0 5rem;
}

.legalGrid {
  display: grid;
  grid-template-columns: minmax(210px, 0.32fr) minmax(0, 1fr);
  gap: 2.25rem;
  align-items: start;
}

.legalNav {
  position: sticky;
  top: 6.75rem;
  padding: 1.25rem;
  border: 1px solid var(--legal-border);
  border-radius: 1.1rem;
  background: var(--legal-surface);
}

.legalNav strong {
  display: block;
  margin-bottom: 0.85rem;
}

.legalNav a {
  display: block;
  padding: 0.5rem 0;
  color: var(--legal-muted);
  text-decoration: none;
}

.legalNav a:hover,
.legalNav a:focus-visible {
  color: #fff;
}

.legalContent {
  min-width: 0;
}

.legalCard {
  padding: clamp(1.25rem, 3vw, 2.25rem);
  border: 1px solid var(--legal-border);
  border-radius: 1.25rem;
  background: var(--legal-surface);
}

.legalCard + .legalCard {
  margin-top: 1rem;
}

.legalCard h2 {
  margin-top: 0;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.legalCard h3 {
  margin-top: 1.5rem;
  font-size: 1.05rem;
}

.legalCard p,
.legalCard li {
  color: var(--legal-muted);
  line-height: 1.75;
}

.legalCard p:last-child,
.legalCard ul:last-child,
.legalCard ol:last-child {
  margin-bottom: 0;
}

.legalCard a {
  color: #d7ddff;
}

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

.legalNotice {
  padding: 1rem 1.1rem;
  border-left: 3px solid #8c79ff;
  border-radius: 0.5rem;
  background: rgba(140, 121, 255, 0.08);
}

.legalPolicyLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.5rem;
}

.legalPolicyLinks a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0.65rem 0.9rem;
  border: 1px solid var(--legal-border);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
}

.legalPolicyLinks a:hover,
.legalPolicyLinks a:focus-visible {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.06);
}

.footer__legal-link {
  white-space: nowrap;
}

@media (max-width: 820px) {
  .legalHero {
    padding-top: 7.5rem;
  }

  .legalGrid {
    grid-template-columns: 1fr;
  }

  .legalNav {
    position: static;
  }
}

@media print {
  .header,
  .footer,
  .waFloat,
  .aiBtn,
  .legalNav,
  .legalPolicyLinks {
    display: none !important;
  }

  .legalHero,
  .legalSection {
    padding: 1rem 0;
  }

  .legalCard {
    border: 0;
    padding: 0;
    background: transparent;
  }

  .legalCard p,
  .legalCard li,
  .legalMeta {
    color: #111;
  }
}
