.legal-container { max-width: 760px; margin: 0 auto; }

.legal-badge {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  background: var(--gradient-primary);
  color: var(--color-white);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.legal-updated { color: var(--color-text-light); font-size: 13.5px; margin-bottom: 24px; opacity: .75; }

.legal-intro {
  font-size: 14.5px;
  color: var(--color-text-light);
  line-height: 1.8;
  margin-bottom: 16px;
}

.legal-toc {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: 16px;
  padding: 22px 24px;
  margin: 28px 0 36px;
}

.legal-toc-title {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 14px;
}

.legal-toc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 24px;
}

@media (max-width: 640px) {
  .legal-toc-grid { grid-template-columns: 1fr; }
}

.legal-toc-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 4px;
  color: var(--color-text-light);
  font-size: 14px;
  text-decoration: none;
  border-radius: 8px;
  transition: color .15s ease;
}

.legal-toc-item:hover { color: var(--color-secondary); }

.legal-toc-num {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--color-border);
  color: var(--color-secondary);
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.legal-section { margin-bottom: 30px; scroll-margin-top: 100px; }

.legal-section h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 19px;
  color: var(--color-primary);
  margin-bottom: 12px;
}

.legal-section-num {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--gradient-primary);
  color: var(--color-white);
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.legal-section p { font-size: 14.5px; color: var(--color-text-light); line-height: 1.8; }

.legal-sub { margin-bottom: 10px; }
.legal-sub strong { color: var(--color-primary); }

.legal-note {
  margin-top: 8px;
  font-size: 14.5px;
  color: var(--color-text-light);
}
.legal-note a { color: var(--color-secondary); font-weight: 600; text-decoration: none; }
.legal-note a:hover { text-decoration: underline; }

.legal-contact-card {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: 14px;
  padding: 20px 22px;
  margin-top: 14px;
}

.legal-contact-name {
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 10px;
  font-size: 14.5px;
}

.legal-contact-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 8px;
  color: var(--color-text-light);
}

.legal-contact-row:last-child { margin-bottom: 0; }
.legal-contact-row .icon { color: var(--color-secondary); flex: 0 0 auto; margin-top: 2px; }
.legal-contact-row a { color: var(--color-text-light); text-decoration: none; }
.legal-contact-row a:hover { color: var(--color-secondary); }
