/* legal.css — shared by /privacy and /terms.
   Kept apart from home-v2.css: these pages are read, not scanned, so they want
   a narrow measure and a plain hierarchy rather than the marketing layout. */

:root {
  --lg-blue:var(--gf-blue); --lg-blue-dim:var(--gf-blue-dim); --lg-blue-line:#BFDCFB;
  --lg-ink:#0F172A; --lg-ink-2:#475569; --lg-ink-3:#94A3B8;
  --lg-bg:#FFFFFF; --lg-surface:#F8FAFC; --lg-line:#E2E8F0;
}

*, *::before, *::after { box-sizing:border-box; }
body {
  margin:0; background:var(--lg-bg); color:var(--lg-ink);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased;
}
a { color:var(--lg-blue); }

.lg-hdr { border-bottom:1px solid var(--lg-line); background:var(--lg-bg); position:sticky; top:0; z-index:10; }
.lg-in { max-width:760px; margin:0 auto; padding:14px 22px; display:flex; align-items:center; gap:18px; }
.lg-logo { display:flex; align-items:center; gap:9px; font-weight:700; font-size:17px; color:var(--lg-ink); text-decoration:none; letter-spacing:-.3px; }
.lg-logo img { width:26px; height:26px; object-fit:contain; }
.lg-nav { margin-left:auto; display:flex; gap:18px; font-size:14px; }
.lg-nav a { color:var(--lg-ink-2); text-decoration:none; }
.lg-nav a:hover, .lg-nav a[aria-current="page"] { color:var(--lg-blue); }

.lg-wrap { max-width:760px; margin:0 auto; padding:calc(var(--gf-nav-h,68px) + var(--gf-hero-air,80px)) 22px 90px; }
.lg-eyebrow { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--lg-ink-3); margin:0 0 10px; }

h1 { font-size:clamp(28px,5vw,38px); font-weight:700; letter-spacing:-.7px; line-height:1.15; margin:0 0 14px; text-wrap:balance; }
h2 { font-size:21px; font-weight:700; letter-spacing:-.3px; margin:42px 0 12px; padding-top:20px; border-top:1px solid var(--lg-line); text-wrap:balance; }
h3 { font-size:16px; font-weight:600; margin:26px 0 8px; }
p  { margin:0 0 14px; }

.lg-lede { font-size:18px; color:var(--lg-ink-2); line-height:1.65; }
.lg-meta { font-size:13px; color:var(--lg-ink-3); margin-bottom:0; }

ul { margin:0 0 14px; padding-left:22px; }
li { margin-bottom:7px; }

.lg-note {
  background:var(--lg-surface); border-left:3px solid var(--lg-blue);
  padding:11px 15px; border-radius:0 8px 8px 0; font-size:14.5px; color:var(--lg-ink-2);
}

.lg-table { width:100%; border-collapse:collapse; margin:0 0 16px; font-size:14.5px; display:block; overflow-x:auto; }
.lg-table th, .lg-table td { text-align:left; padding:10px 13px; border-bottom:1px solid var(--lg-line); vertical-align:top; }
.lg-table th { font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--lg-ink-3); background:var(--lg-surface); white-space:nowrap; }
.lg-table td:first-child { font-weight:500; }

.lg-box {
  margin-top:44px; background:var(--lg-blue-dim); border:1px solid var(--lg-blue-line);
  border-radius:10px; padding:16px 18px; font-size:14.5px; color:#1E3A5F; line-height:1.65;
}

.lg-foot { border-top:1px solid var(--lg-line); background:var(--lg-surface); }
.lg-foot .lg-in { font-size:13.5px; color:var(--lg-ink-3); padding:20px 22px; }
.lg-foot nav { margin-left:auto; display:flex; gap:18px; }
.lg-foot a { color:var(--lg-ink-2); text-decoration:none; }
.lg-foot a:hover { color:var(--lg-blue); }

@media (prefers-color-scheme: dark) {
  :root {
    --lg-blue:#4EA6FF; --lg-blue-dim:#12233A; --lg-blue-line:#1E4A78;
    --lg-ink:#E7EDF5; --lg-ink-2:#A8B6C7; --lg-ink-3:#74849A;
    --lg-bg:#0B121B; --lg-surface:#131C28; --lg-line:#24313F;
  }
  .lg-box { color:#BFDCFB; }
}
