.legal-page {
  background: var(--bg, #fcfaf6);
  color: var(--ink, #3a2d20);
  padding: 3.5rem 0 5rem;
  min-height: 100vh;
}
.legal-page .wrap {
  width: min(820px, 92%);
  margin: 0 auto;
}
.legal-back {
  display: inline-block;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  color: var(--blue, #8b6f47);
  margin-bottom: 1.5rem;
}
.legal-page h1 {
  font-size: clamp(2rem, 4vw, 2.9rem);
  margin-bottom: 0.4rem;
}
.legal-updated {
  font-size: 0.85rem;
  color: var(--ink-soft, #6a5a4d);
  margin-bottom: 2rem;
}
.legal-body h2 {
  font-size: 1.3rem;
  margin: 2.2rem 0 0.6rem;
}
.legal-body p,
.legal-body li {
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--ink-soft, #6a5a4d);
}
.legal-body p {
  margin-bottom: 0.9rem;
}
.legal-body ul {
  margin: 0 0 1rem 1.2rem;
}
.legal-body li {
  margin-bottom: 0.35rem;
}
.legal-body a {
  color: var(--blue, #8b6f47);
}
.legal-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line, #ece5da);
}
.legal-foot a {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--blue, #8b6f47);
  text-decoration: none;
}
.legal-contact {
  margin-top: 1rem;
  font-size: 0.82rem;
  color: var(--ink-soft, #6a5a4d);
}
