:root {
  --black: #0a0a0a;
  --white: #fff;
  --gray-100: #f5f5f5;
  --gray-500: #9a9a9a;
  --gray-700: #4a4a4a;
  --font-display: 'Noto Serif SC', 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Noto Sans SC', 'Montserrat', Helvetica, sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: var(--font-body);
  background: var(--white);
  color: var(--black);
  line-height: 1.85;
}
.legal-page {
  max-width: 720px;
  margin: 0 auto;
  padding: calc(28px + var(--zj-nav-h, 58px)) 24px 80px;
}
.legal-lang {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  font-size: 0.75rem;
  margin-bottom: 24px;
}
.legal-lang a { color: var(--gray-500); text-decoration: none; }
.legal-lang a:hover, .legal-lang a.active { color: var(--black); }
.legal-lang a.active { font-weight: 500; }
.legal-label {
  font-size: 0.65rem;
  letter-spacing: 0.25em;
  color: var(--gray-500);
  margin-bottom: 12px;
}
.legal-updated {
  font-size: 0.8rem;
  color: var(--gray-500);
  margin-bottom: 28px;
}
h1 {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 4vw, 2.2rem);
  font-weight: 500;
  margin-bottom: 12px;
  line-height: 1.35;
}
.legal-body {
  font-size: 0.9rem;
  color: var(--gray-700);
}
.legal-body h2 {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--black);
  margin: 32px 0 12px;
}
.legal-body p { margin-bottom: 16px; }
.legal-body ul {
  margin: 8px 0 20px;
  padding-left: 1.25em;
}
.legal-body li { margin-bottom: 10px; }
.legal-body strong { color: var(--black); font-weight: 500; }
.legal-body a { color: var(--black); }
.legal-back {
  display: inline-block;
  margin-top: 40px;
  font-size: 0.85rem;
  color: var(--gray-700);
  text-decoration: none;
  letter-spacing: 0.05em;
}
.legal-back:hover { color: var(--black); }
