/* Shared styles for the legal pages (privacy, terms). Tokens match index.html. */
:root{
  --paper:#F6F7F4;
  --ink:#18233A;
  --ink-2:#47536B;
  --green:#1D6B50;
  --rule:#D5DAE0;
  --max:1160px;
  --gutter:clamp(16px,4vw,40px);
  --f:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.6;font-variation-settings:'wdth' 100;-webkit-font-smoothing:antialiased}
a{color:var(--green)}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.nav{position:sticky;top:0;z-index:20;background:rgba(246,247,244,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;text-decoration:none;color:var(--ink);font-variation-settings:'wdth' 90}
.brand-mark{width:37px;height:28px;display:block}
.brand-name{letter-spacing:-0.02em}.brand-e,.brand-ai{color:#1D6B50}.brand-ai{font-weight:600}
.back{font-size:15px;color:var(--ink-2)}
.legal{max-width:780px;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(48px,7vw,88px)}
.legal h1{font-size:clamp(36px,5vw,52px);line-height:1.08;letter-spacing:-.015em;font-weight:800;font-variation-settings:'wdth' 85;margin:0}
.legal .updated{color:var(--ink-2);font-size:15px;margin:10px 0 32px}
.legal h2{font-size:23px;line-height:1.2;margin:44px 0 12px;padding-top:20px;border-top:1px solid var(--rule);scroll-margin-top:80px}
.legal h3{font-size:18px;margin:24px 0 8px}
.legal p,.legal li{color:#2B3750}
.legal ul{padding-left:22px}
.legal li{margin-bottom:6px}
.toc{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;background:#fff;border:1px solid var(--rule);border-radius:14px;padding:20px 24px;font-size:15.5px}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline}
@media (max-width:560px){.toc{grid-template-columns:1fr}}
footer{padding:32px 0 48px;font-size:14px;color:var(--ink-2);border-top:1px solid var(--rule)}
footer .wrap{display:flex;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}
footer nav{display:flex;gap:20px}
footer a{color:var(--ink-2)}
