/* legal.css — shared styles for the public legal pages (/privacy, /terms, /ai-disclaimer).
   Single source: all three pages link this + /nav.css. Matches the marketing design system
   (pale lavender ground, violet accents, navy ink) but prioritises legal readability. */
:root{
  --ink:#272250; --ink2:#565185; --muted:#8b87ad;
  --pp:#6f33fb; --ppd:#5a22e6; --ppl:#8b54ff; --cy:#1fbfe0; --grn:#19c089;
  --line:rgba(120,100,190,.16);
  --glass:rgba(255,255,255,.55);
  --gborder:1px solid rgba(255,255,255,.7);
  --gshadow:0 24px 70px rgba(86,70,160,.16),inset 0 1px 0 rgba(255,255,255,.85);
  --fd:'Plus Jakarta Sans',sans-serif; --fb:'Inter',sans-serif; --fm:'JetBrains Mono',monospace; --fl:'Dune Rise',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--fb);color:var(--ink);background:#e9e7f6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:
    radial-gradient(900px 500px at 10% 0%,rgba(111,51,251,.12),transparent 65%),
    radial-gradient(900px 520px at 95% 8%,rgba(31,191,224,.14),transparent 60%),
    radial-gradient(800px 600px at 50% 120%,rgba(139,84,255,.10),transparent 60%);
  background-attachment:fixed;
}
a{color:var(--pp);text-decoration:none}
a:hover{text-decoration:underline}

/* Layout: a glass card holding the document, with an optional sticky TOC on wide screens */
.legal-shell{max-width:1180px;margin:26px auto 0;padding:0 22px}
.legal-hero{max-width:820px;margin:8px auto 0;padding:6px 4px 0}
.legal-kicker{font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--pp);font-weight:600}
.legal-hero h1{font-family:var(--fd);font-weight:800;font-size:clamp(28px,5vw,42px);line-height:1.1;margin:.35em 0 .2em;letter-spacing:-.01em}
.legal-meta{font-size:13.5px;color:var(--ink2)}
.legal-meta b{color:var(--ink)}

.legal-grid{max-width:1180px;margin:22px auto 0;display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;align-items:start}
.legal-toc{position:sticky;top:96px;font-size:13.5px}
.legal-toc h2{font-family:var(--fm);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.legal-toc a{display:block;color:var(--ink2);padding:5px 0;line-height:1.35;border-left:2px solid transparent;padding-left:11px;margin-left:-2px}
.legal-toc a:hover{color:var(--pp);text-decoration:none;border-left-color:var(--pp)}

.legal-card{background:rgba(255,255,255,.62);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);
  border:var(--gborder);border-radius:22px;box-shadow:var(--gshadow);padding:clamp(22px,4vw,46px);}
.legal-card h2{font-family:var(--fd);font-weight:800;font-size:clamp(19px,2.6vw,24px);line-height:1.2;margin:34px 0 10px;scroll-margin-top:96px;letter-spacing:-.01em}
.legal-card h2:first-child{margin-top:0}
.legal-card h3{font-family:var(--fd);font-weight:700;font-size:16px;margin:20px 0 6px;color:var(--ink)}
.legal-card p{font-size:15.5px;line-height:1.72;color:#39355f;margin:10px 0}
.legal-card ul,.legal-card ol{font-size:15.5px;line-height:1.7;color:#39355f;margin:10px 0;padding-left:22px}
.legal-card li{margin:6px 0}
.legal-card li b,.legal-card p b{color:var(--ink)}
.legal-card strong{color:var(--ink)}
.legal-card hr{border:0;border-top:1px solid var(--line);margin:30px 0}
.legal-card table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}
.legal-card th,.legal-card td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.55}
.legal-card th{font-family:var(--fm);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.legal-card .lead{font-size:16.5px;line-height:1.7;color:var(--ink2)}
.legal-note{background:rgba(111,51,251,.06);border:1px solid rgba(111,51,251,.18);border-radius:14px;padding:14px 16px;margin:18px 0;font-size:14.5px;line-height:1.6;color:#3a3560}
.legal-note b{color:var(--pp)}
.legal-card a{font-weight:600}
.legal-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink2);margin-top:26px}

/* Cross-links between the legal pages */
.legal-siblings{max-width:1180px;margin:20px auto 0;display:flex;gap:10px;flex-wrap:wrap;font-size:13.5px}
.legal-siblings a{background:rgba(255,255,255,.55);border:var(--gborder);border-radius:999px;padding:8px 16px;color:var(--ink2);font-weight:600}
.legal-siblings a:hover{color:var(--pp);text-decoration:none}
.legal-siblings a[aria-current]{color:var(--pp);box-shadow:inset 0 0 0 1px var(--pp)}

@media (max-width:860px){
  .legal-grid{grid-template-columns:1fr;gap:0}
  .legal-toc{display:none}
}
