.legal-page {
  min-height: 100vh;
  background: #f7f7f3;
  color: #1f292c;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.75;
}

.legal-page main {
  width: min(100% - 32px, 880px);
  margin: 0 auto;
  padding: 48px 0 72px;
}

.legal-header {
  margin-bottom: 28px;
}

.legal-header a {
  color: #197f72;
  font-weight: 700;
  text-decoration: none;
}

.legal-header h1 {
  margin: 18px 0 8px;
  font-size: 34px;
  line-height: 1.25;
}

.legal-card {
  padding: 28px;
  border: 1px solid #d4ddda;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 50px rgb(23 35 32 / 8%);
}

.legal-card h2 {
  margin: 28px 0 8px;
  font-size: 20px;
}

.legal-card h2:first-child {
  margin-top: 0;
}

.legal-card p,
.legal-card li {
  color: #47575b;
}

.legal-card table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
}

.legal-card th,
.legal-card td {
  padding: 12px;
  border: 1px solid #dbe3e0;
  text-align: left;
  vertical-align: top;
}

.legal-card th {
  width: 32%;
  background: #f2f6f4;
}

.legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}

.legal-links a {
  color: #197f72;
  font-weight: 700;
  text-decoration: none;
}

.legal-footer {
  margin-top: 24px;
  color: #607074;
}

@media (max-width: 640px) {
  .legal-page main {
    width: min(100% - 24px, 880px);
    padding: 28px 0 48px;
  }

  .legal-header h1 {
    font-size: 28px;
  }

  .legal-card {
    padding: 20px;
  }

  .legal-card th,
  .legal-card td {
    display: block;
    width: auto;
  }
}
