:root {
  --navy:    #0F1724;
  --blue:    #2563EB;
  --blue-dk: #1d4ed8;
  --teal:    #0EA5A0;
  --white:   #FFFFFF;
  --surface: #F7F8FA;
  --border:  #E2E6ED;
  --muted:   #64748B;
  --text:    #0F1724;
  --green:   #16A34A;
  --font-display: 'Sora', sans-serif;
  --font-body:    'Inter', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: var(--text); background: var(--white); line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; }

.legal-page { padding: 64px 24px 88px; }
.legal-inner { max-width: 760px; margin: 0 auto; }
.legal-breadcrumb { font-size: 0.8125rem; color: var(--muted); margin-bottom: 20px; }
.legal-breadcrumb a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.legal-eyebrow { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--blue); margin-bottom: 12px; display: block; }
.legal-title { font-family: var(--font-display); font-weight: 800; font-size: clamp(2rem, 4vw, 2.75rem); letter-spacing: -0.03em; color: var(--navy); line-height: 1.1; margin-bottom: 14px; }
.legal-lede { font-size: 1.0625rem; color: var(--muted); line-height: 1.7; margin-bottom: 12px; }
.legal-updated { font-size: 0.8125rem; color: var(--muted); font-family: var(--font-mono); margin-bottom: 24px; }

.legal-callout { background: var(--surface); border: 1.5px solid var(--border); border-left: 3px solid var(--teal); border-radius: 10px; padding: 16px 20px; margin-bottom: 40px; }
.legal-callout p { font-size: 0.875rem; color: var(--muted); line-height: 1.65; margin: 0; }

.legal-body h2 { font-family: var(--font-display); font-weight: 700; font-size: 1.375rem; color: var(--navy); letter-spacing: -0.01em; margin: 40px 0 12px; }
.legal-body h2:first-of-type { margin-top: 0; }
.legal-body h3 { font-family: var(--font-display); font-weight: 700; font-size: 1.125rem; color: var(--navy); letter-spacing: -0.01em; margin: 28px 0 10px; }
.legal-body p { font-size: 1rem; color: var(--text); line-height: 1.75; margin-bottom: 16px; }
.legal-body ul { margin: 0 0 16px; padding-left: 22px; }
.legal-body li { font-size: 1rem; color: var(--text); line-height: 1.7; margin-bottom: 8px; }
.legal-body a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.legal-body strong { color: var(--navy); font-weight: 600; }
.legal-related { margin-top: 8px; }

.legal-contact-block { margin-top: 40px; padding: 24px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; }
.legal-contact-block p { margin: 0 0 0.4rem; font-size: 0.9375rem; line-height: 1.65; }
.legal-contact-block a { color: var(--blue); }

footer { background: var(--navy); border-top: 1px solid rgba(255,255,255,0.06); padding: 40px 24px; }
.footer-inner { max-width: 1200px; margin: 0 auto; }
.footer-logo { font-family: var(--font-display); font-weight: 700; font-size: 1rem; color: rgba(255,255,255,0.8); }
.footer-links { display: flex; gap: 28px; flex-wrap: wrap; }
.footer-links a { font-size: 0.875rem; color: rgba(255,255,255,0.4); transition: color 0.15s; }
.footer-links a:hover { color: rgba(255,255,255,0.8); }
.footer-copy { font-size: 0.8125rem; color: rgba(255,255,255,0.25); }

@media (max-width: 600px) {
  .legal-page { padding: 40px 20px 64px; }
}
