.site-footer {
  width: min(520px, 94%);
  margin: 18px auto 0;
  color: #8f8f8f;
  font-size: .68rem;
  line-height: 1.4;
  text-align: center;
}
.site-footer p { margin: 4px 0; }
.site-footer strong { color: #b8b8b8; }
.site-footer nav {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 7px;
}
.site-footer a { color: #c9c9c9; }

.legal-page {
  width: min(720px, calc(100% - 24px));
  margin: 0 auto;
  padding: 28px 0 48px;
}
.legal-card {
  padding: 20px;
  border: 3px solid #151515;
  background: #2a2a2a;
  box-shadow: 0 18px 55px rgba(0,0,0,.45);
}
.legal-card h1 {
  margin: 0 0 8px;
  font-size: 1.5rem;
}
.legal-card h2 {
  margin: 20px 0 6px;
  font-size: 1rem;
}
.legal-card p,
.legal-card li {
  color: #d0d0d0;
  font-size: .86rem;
  line-height: 1.55;
}
.legal-card ul { padding-left: 20px; }
.legal-card a { color: #8fd2ff; }
.legal-back {
  display: inline-block;
  margin-bottom: 10px;
  color: #c9c9c9;
  font-size: .8rem;
  font-weight: 800;
}
.legal-note {
  margin-top: 18px;
  padding: 10px 12px;
  background: #1f1f1f;
  border-left: 4px solid #858585;
}

@media (max-width: 600px) {
  .site-footer { margin-top: 12px; font-size: .62rem; }
  .legal-page { width: calc(100% - 10px); padding-top: 8px; }
  .legal-card { padding: 14px; border-width: 2px; }
}