/*
 * vispy.net — legal document page styles (privacy.html, terms.html only).
 * Requires tokens.css + site.css to be loaded first.
 */
.legal-page { padding: 130px 6% 100px; max-width: 1200px; margin: 0 auto; }
.legal-back {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--text2); font-size: 0.88rem; text-decoration: none;
  margin-bottom: 24px; transition: color 0.2s;
}
.legal-back:hover { color: var(--accent); }
.legal-updated { display: block; color: var(--text3); font-size: 0.78rem; margin-bottom: 28px; font-family: 'JetBrains Mono', monospace; }
.legal-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 56px 72px; }
.legal-card h1 { font-size: 1.6rem; font-weight: 800; color: var(--text); margin: 0 0 24px; letter-spacing: -0.01em; line-height: 1.3; }
.legal-card h2 { font-size: 1.05rem; font-weight: 700; color: var(--accent); margin: 32px 0 8px; }
.legal-card h3 { font-size: 0.95rem; font-weight: 700; color: var(--text); margin: 20px 0 8px; }
.legal-card p, .legal-card li { color: var(--text2); font-size: 0.92rem; line-height: 1.75; margin: 0.6em 0; }
.legal-card ul { margin: 0.5em 0 1.2em 1.3em; padding: 0; }
.legal-card a { color: var(--accent2); text-decoration: none; }
.legal-card a:hover { text-decoration: underline; }
.legal-card hr { border: none; border-top: 1px solid var(--border); margin: 28px 0; }
.legal-card strong { color: var(--text); }

@media (max-width: 600px) {
  .legal-page { padding: 110px 5% 70px; }
  .legal-card { padding: 32px 24px; }
  .legal-card h1 { font-size: 1.3rem; }
}
