:root {
  color-scheme: dark;
  --legal-bg: #070d20;
  --legal-panel: #101936;
  --legal-text: #eef2ff;
  --legal-muted: #aab4d4;
  --legal-gold: #d8b34b;
  --legal-line: rgba(255, 255, 255, 0.12);
}
* { box-sizing: border-box; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--legal-gold);
  outline-offset: 3px;
}

body.legal-page {
  margin: 0;
  background: radial-gradient(circle at top, #17244b 0, var(--legal-bg) 42rem);
  color: var(--legal-text);
  font: 16px/1.65 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.legal-shell { width: min(880px, calc(100% - 32px)); margin: 0 auto; padding: 32px 0 72px; }
.legal-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-bottom: 28px; }
.legal-nav__brand { margin-right: auto; color: var(--legal-text); font-weight: 850; text-decoration: none; }
.legal-nav__brand span { color: var(--legal-gold); }
.legal-nav a:not(.legal-nav__brand), .legal-footer a { color: var(--legal-muted); }
.legal-nav a[aria-current="page"] { color: var(--legal-gold); }
.legal-card { padding: clamp(24px, 5vw, 52px); border: 1px solid var(--legal-line); border-radius: 24px; background: rgba(10, 18, 43, 0.9); box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28); }
.legal-eyebrow { color: var(--legal-gold); font-size: 0.76rem; font-weight: 850; letter-spacing: 0.14em; text-transform: uppercase; }
.legal-card h1 { margin: 8px 0 8px; font-size: clamp(2rem, 6vw, 3.6rem); line-height: 1.05; }
.legal-updated { margin: 0 0 30px; color: var(--legal-muted); }
.legal-summary { padding: 18px 20px; border-left: 4px solid var(--legal-gold); border-radius: 10px; background: rgba(216, 179, 75, 0.08); }
.legal-card h2 { margin: 34px 0 10px; font-size: 1.35rem; }
.legal-card h3 { margin: 24px 0 8px; font-size: 1.05rem; }
.legal-card p, .legal-card li { color: var(--legal-muted); }
.legal-card strong { color: var(--legal-text); }
.legal-card a { color: #f4cf66; }
.legal-card ul { padding-left: 22px; }
.legal-contact { display: grid; gap: 12px; margin: 22px 0; }
.legal-contact a { display: block; padding: 16px 18px; border: 1px solid var(--legal-line); border-radius: 12px; background: rgba(255,255,255,.035); text-decoration: none; }
.legal-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 22px; padding: 28px 8px 0; color: var(--legal-muted); font-size: .9rem; }
.legal-note { font-size: .9rem; }

@media (max-width: 560px) {
  .legal-shell { width: min(100% - 20px, 880px); padding-top: 18px; }
  .legal-nav__brand { width: 100%; }
  .legal-card { border-radius: 18px; }
}
