/* ============================================================
   LEGAL / POLICY PAGES (terms, privacy, security)
   Shared shell (tokens, base, nav, buttons, cta, footer)
   lives in main.css — load that first.
   ============================================================ */

/* ============================================================
   PAGE HEAD
   ============================================================ */
.legal-hero{background:var(--navy-900);color:#fff;padding-block:64px 72px;}
.legal-hero .eyebrow{
  font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--blue-300);margin-bottom:20px;
}
.legal-hero h1{
  font-size:clamp(32px,3.6vw,46px);color:#fff;margin-bottom:22px;max-width:760px;
}
.legal-hero .lede{
  font-size:17px;line-height:1.7;color:#B9C4D6;max-width:640px;
}
.legal-meta{
  display:flex;gap:28px;flex-wrap:wrap;
  margin-top:32px;padding-top:24px;
  border-top:1px solid var(--line-navy);
}
.legal-meta div{min-width:0;}
.legal-meta dt{
  font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--text-lt);margin-bottom:6px;
}
.legal-meta dd{font-size:14.5px;font-weight:600;color:#DDE5F0;}

/* ============================================================
   BODY LAYOUT
   ============================================================ */
.legal-body{background:var(--cream);padding-block:var(--section-y);}
.legal-grid{
  display:grid;grid-template-columns:236px 1fr;gap:64px;align-items:start;
}

/* Sticky table of contents */
.legal-toc{position:sticky;top:100px;}
.legal-toc h2{
  font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--text-md);margin-bottom:16px;
}
.legal-toc li{margin-bottom:2px;}
.legal-toc a{
  display:block;padding:7px 0 7px 14px;
  border-left:2px solid var(--line-cream);
  font-size:14px;line-height:1.4;color:var(--text-md);text-decoration:none;
  transition:color .15s ease,border-color .15s ease;
}
.legal-toc a:hover{color:var(--text-dk);border-left-color:var(--amber);}

/* Prose column */
.legal-prose{max-width:720px;min-width:0;}
.legal-prose section + section{margin-top:52px;}
.legal-prose h2{
  font-size:clamp(24px,2.2vw,29px);line-height:1.25;
  margin-bottom:18px;scroll-margin-top:110px;
}
.legal-prose h3{
  font-family:var(--font-sans);font-size:16px;font-weight:700;
  color:var(--text-dk);margin:28px 0 10px;
}
.legal-prose p{
  font-size:15.5px;line-height:1.75;color:var(--text-md);margin-bottom:16px;
}
.legal-prose p:last-child,.legal-prose ul:last-child{margin-bottom:0;}
.legal-prose a:not(.btn){color:var(--blue-600);text-decoration:underline;text-underline-offset:2px;}
.legal-prose strong{color:var(--text-dk);font-weight:600;}
.legal-prose code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;
  background:var(--cream-2);border:1px solid var(--line-cream);border-radius:4px;
  padding:1px 5px;color:var(--text-dk);
}

/* Bulleted lists */
.legal-prose ul{margin:0 0 16px;}
.legal-prose ul li{
  position:relative;padding-left:22px;margin-bottom:11px;
  font-size:15.5px;line-height:1.7;color:var(--text-md);
}
.legal-prose ul li::before{
  content:"";position:absolute;left:2px;top:11px;
  width:6px;height:6px;border-radius:50%;background:var(--amber);
}
.legal-prose ul li:last-child{margin-bottom:0;}
.legal-prose ul li strong{color:var(--text-dk);}

/* Definition-style list (data table alternative) */
.legal-defs{
  border-top:1px solid var(--line-cream);margin-bottom:16px;
}
.legal-defs > div{
  display:grid;grid-template-columns:200px 1fr;gap:24px;
  padding:16px 0;border-bottom:1px solid var(--line-cream);
}
.legal-defs dt{
  font-size:14.5px;font-weight:700;color:var(--text-dk);line-height:1.5;
}
.legal-defs dd{font-size:14.5px;line-height:1.7;color:var(--text-md);}
@media (max-width:639px){
  .legal-defs > div{grid-template-columns:1fr;gap:6px;}
}

/* Callout box */
.legal-callout{
  background:var(--cream-2);border:1px solid var(--line-cream);
  border-left:3px solid var(--amber);
  border-radius:var(--radius-sm);
  padding:22px 24px;margin:24px 0;
}
.legal-callout p{margin-bottom:10px;font-size:14.5px;}
.legal-callout p:last-child{margin-bottom:0;}
.legal-callout strong{color:var(--text-dk);}

/* Dark emphasis box — for the "never send secrets" style warnings */
.legal-callout.strong{
  background:var(--navy-900);border-color:var(--navy-900);border-left-color:var(--amber);
}
.legal-callout.strong p{color:#B9C4D6;}
.legal-callout.strong strong{color:#fff;}

/* Two-column checklist (security page) */
.legal-checks{
  display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;margin-bottom:16px;
}
.legal-checks li{
  display:flex;gap:11px;align-items:flex-start;
  padding-left:0;margin-bottom:0;
  font-size:14.5px;line-height:1.6;color:var(--text-md);
}
.legal-checks li::before{display:none;}
.legal-checks li svg{flex:none;margin-top:2px;}
@media (max-width:639px){
  .legal-checks{grid-template-columns:1fr;}
}

@media (max-width:1023px){
  .legal-grid{grid-template-columns:1fr;gap:44px;}
  .legal-toc{
    position:static;
    background:var(--cream-2);border:1px solid var(--line-cream);
    border-radius:var(--radius-sm);padding:22px 24px;
  }
  .legal-toc ul{
    display:grid;grid-template-columns:1fr 1fr;gap:0 24px;
  }
}
@media (max-width:639px){
  .legal-hero{padding-block:44px 52px;}
  .legal-meta{gap:20px;}
  .legal-toc ul{grid-template-columns:1fr;}
  .legal-prose section + section{margin-top:42px;}
}
