.legal-page {
  width: min(960px, calc(100% - 2rem));
  margin: 0 auto;
  padding: clamp(1rem, 3vw, 2rem) 0 3rem;
}

.legal-card {
  border: 1px solid rgba(148, 163, 184, .25);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(30, 41, 59, .98), rgba(15, 23, 42, .98));
  color: #e5edf5;
  padding: clamp(1rem, 3vw, 2rem);
  box-shadow: 0 20px 60px rgba(2, 8, 23, .34);
}

.legal-card h1,
.legal-card h2,
.legal-card h3 {
  color: #f8fafc;
  line-height: 1.2;
}

.legal-card h2 {
  margin-top: 2rem;
  padding-top: .6rem;
  border-top: 1px solid rgba(148, 163, 184, .2);
}

.legal-card p,
.legal-card li,
.legal-card td,
.legal-card th {
  line-height: 1.65;
}

.legal-card a,
.legal-links a {
  color: #7dd3fc;
}

.legal-card table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
}

.legal-card th,
.legal-card td {
  border: 1px solid rgba(148, 163, 184, .3);
  padding: .65rem;
  text-align: left;
  vertical-align: top;
}

.legal-effective {
  color: #cbd5e1;
  white-space: pre-line;
}

.legal-source-warning {
  border: 1px solid rgba(250, 204, 21, .45);
  border-radius: 8px;
  background: rgba(250, 204, 21, .1);
  color: #fde68a;
  padding: .8rem;
  margin: 1rem 0;
}

.legal-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .45rem 1rem;
  margin-top: .45rem;
  font-size: .86rem;
}

.legal-links a {
  text-decoration: none;
}

.legal-links a:hover {
  text-decoration: underline;
}

.legal-back {
  display: inline-flex;
  margin-bottom: 1rem;
}

@media (max-width: 640px) {
  .legal-page {
    width: min(100% - 1rem, 960px);
  }

  .legal-card {
    padding: .9rem;
  }

  .legal-card table {
    display: block;
    overflow-x: auto;
  }
}

