.legal-main {
  width: min(880px, calc(100% - 32px));
  margin: 40px auto 64px;
}
.legal-hero, .legal-card {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #e4e7f0);
  border-radius: var(--radius-lg, 22px);
  box-shadow: var(--shadow, 0 8px 24px rgba(23,26,43,.09));
}
.legal-hero { padding: clamp(24px, 5vw, 44px); margin-bottom: 18px; }
.legal-hero h1 { margin: 8px 0 10px; font-size: clamp(2rem, 5vw, 3.2rem); letter-spacing: -.04em; }
.legal-hero p { color: var(--text-secondary, #5b6172); line-height: 1.65; margin-bottom: 0; }
.legal-kicker { color: var(--accent, #5b5bf0); font-size: .76rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.legal-card { padding: clamp(22px, 4vw, 38px); }
.legal-card h2 { margin: 30px 0 8px; font-size: 1.2rem; }
.legal-card h2:first-child { margin-top: 0; }
.legal-card p, .legal-card li { color: var(--text-secondary, #5b6172); line-height: 1.7; }
.legal-card a, .legal-hero a { color: var(--accent, #5b5bf0); font-weight: 700; }
.legal-card ul { padding-left: 22px; }
.legal-note { padding: 14px 16px; border-radius: 12px; background: var(--accent-light, #eef0ff); border-left: 4px solid var(--accent, #5b5bf0); }
.legal-footer-links { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.logo-link { text-decoration: none; }
@media (max-width: 560px) {
  .legal-main { margin-top: 22px; }
}
