:root {
  --legal-ink: #17283a;
  --legal-muted: #5d6c7c;
  --legal-accent: #1769c2;
  --legal-border: #dfe7ef;
  --legal-soft: #f6f9fc;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--legal-ink); font-family: "Inter", Arial, sans-serif; line-height: 1.72; }
a { color: var(--legal-accent); }
a:focus-visible { outline: 3px solid #93c5fd; outline-offset: 3px; border-radius: 3px; }
.legal-skip { position: fixed; top: -100px; left: 16px; z-index: 200; padding: 10px 16px; background: #fff; color: var(--legal-ink); }
.legal-skip:focus { top: 10px; }
.legal-hero { background: linear-gradient(135deg, #f7faff 0%, #edf5fc 100%); border-bottom: 1px solid var(--legal-border); }
.legal-hero-inner { width: min(100% - 40px, 1120px); margin: auto; padding: 44px 0 46px; }
.legal-breadcrumbs { margin-bottom: 20px; color: #758497; font-size: 13px; }
.legal-breadcrumbs a { text-decoration: none; }
.legal-eyebrow { display: inline-block; margin-bottom: 11px; color: var(--legal-accent); font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; }
.legal-hero h1 { margin: 0 0 13px; color: #102033; font-family: "Space Grotesk", "Inter", sans-serif; font-size: clamp(34px, 5vw, 50px); line-height: 1.12; letter-spacing: -.8px; }
.legal-meta { display: flex; gap: 10px 22px; flex-wrap: wrap; color: var(--legal-muted); font-size: 14px; }
.legal-shell { width: min(100% - 40px, 1120px); margin: auto; padding: 46px 0 72px; display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 54px; align-items: start; }
.legal-toc { position: sticky; top: 96px; padding: 19px; border: 1px solid var(--legal-border); border-radius: 12px; background: var(--legal-soft); }
.legal-toc strong { display: block; margin-bottom: 10px; color: #26394d; font-size: 13px; letter-spacing: .5px; text-transform: uppercase; }
.legal-toc a { display: block; padding: 6px 0; color: #536579; font-size: 13px; line-height: 1.4; text-decoration: none; }
.legal-toc a:hover { color: var(--legal-accent); text-decoration: underline; }
.legal-document { min-width: 0; }
.legal-intro { margin: 0 0 18px; color: #3e5063; font-size: 17px; }
.legal-document section { scroll-margin-top: 94px; }
.legal-document h2 { margin: 38px 0 14px; padding-top: 34px; border-top: 1px solid var(--legal-border); color: #14263a; font-family: "Space Grotesk", "Inter", sans-serif; font-size: 25px; line-height: 1.3; }
.legal-document section:first-of-type h2 { margin-top: 28px; }
.legal-document h3 { margin: 24px 0 10px; color: #20364d; font-size: 18px; }
.legal-document p { margin: 0 0 15px; color: #536275; font-size: 15px; }
.legal-document ul { margin: 0 0 18px 21px; padding: 0; }
.legal-document li { margin: 0 0 8px; padding-left: 4px; color: #536275; font-size: 15px; }
.legal-document strong { color: #25384c; }
.legal-table-wrap { margin: 20px 0 24px; overflow-x: auto; border: 1px solid var(--legal-border); border-radius: 10px; }
.legal-table { width: 100%; border-collapse: collapse; background: #fff; font-size: 14px; }
.legal-table th, .legal-table td { padding: 13px 15px; border-bottom: 1px solid var(--legal-border); text-align: left; vertical-align: top; }
.legal-table th { background: #edf4fb; color: #24394f; font-weight: 700; }
.legal-table tr:last-child td { border-bottom: 0; }
.legal-note { margin-top: 20px; color: #68778a; font-size: 13px; }
.legal-footer { border-top: 1px solid var(--legal-border); background: #f8fafc; }
.legal-footer-inner { width: min(100% - 40px, 1120px); margin: auto; padding: 28px 0; display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; color: #607084; font-size: 13px; }
.legal-footer-links { display: flex; gap: 18px; flex-wrap: wrap; }
.legal-footer a { color: #4d6177; }

@media (max-width: 840px) {
  .legal-shell { grid-template-columns: 1fr; gap: 28px; padding-top: 30px; }
  .legal-toc { position: static; }
  .legal-toc-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; }
}

@media (max-width: 520px) {
  .legal-hero-inner, .legal-shell, .legal-footer-inner { width: min(100% - 30px, 1120px); }
  .legal-hero-inner { padding: 32px 0 34px; }
  .legal-shell { padding-bottom: 48px; }
  .legal-toc-links { grid-template-columns: 1fr; }
  .legal-document h2 { font-size: 22px; }
  .legal-table th, .legal-table td { padding: 11px 12px; }
}
