:root {
  --l-bg-soft: rgba(13, 23, 38, 0.72);
  --l-border: rgba(255, 255, 255, 0.12);
  --l-text: #f5f7fb;
  --l-muted: #b8c1d1;
  --l-primary: #35d4c0;
  --l-shadow: 0 20px 45px rgba(0,0,0,0.28);
  --l-radius: 24px;
  --l-max: 1100px;
}

.legal-wrap {
  color: var(--l-text);
}

.legal-container {
  width: min(92%, var(--l-max));
  margin: 0 auto;
}

.legal-hero {
  padding: 70px 0 24px;
}

.legal-box {
  padding: 42px;
  background: var(--l-bg-soft);
  border: 1px solid var(--l-border);
  border-radius: var(--l-radius);
  backdrop-filter: blur(18px);
  box-shadow: var(--l-shadow);
}

.legal-tag {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  color: var(--l-primary);
  margin-bottom: 18px;
  font-size: 0.9rem;
}

.legal-title {
  font-size: clamp(2.2rem, 4.5vw, 4rem);
  margin-bottom: 16px;
  line-height: 0.98;
}

.legal-intro {
  color: var(--l-muted);
  line-height: 1.8;
}

.legal-main {
  padding: 24px 0 60px;
}

.legal-card {
  padding: 38px;
  background: var(--l-bg-soft);
  border: 1px solid var(--l-border);
  border-radius: var(--l-radius);
  backdrop-filter: blur(18px);
  box-shadow: var(--l-shadow);
}

.legal-section + .legal-section {
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.legal-section h2 {
  margin-bottom: 12px;
  font-size: 1.3rem;
}

.legal-text {
  color: var(--l-muted);
  margin-bottom: 14px;
  line-height: 1.9;
}

.legal-anim {
  opacity: 0;
  transform: translateX(80px);
  transition: 0.8s ease;
}

.legal-anim.show {
  opacity: 1;
  transform: translateX(0);
}

@media (max-width: 720px) {
  .legal-box,
  .legal-card {
    padding: 24px;
  }
}