/* ── Legal pages (privacy + terms) ───────────────────────────────────────── */

/* hero */
.legal-hero{padding:56px 0 40px;border-bottom:1px solid var(--line)}
.legal-hero .eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.legal-hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:62px;
  letter-spacing:-0.03em;line-height:.98;margin:14px 0 0}
.legal-hero h1 em{font-style:italic;color:var(--ink-3)}
.legal-hero .lede{font-size:17px;line-height:1.6;color:var(--ink-2);max-width:620px;margin:22px 0 0}

/* body layout */
.legal-body{display:grid;grid-template-columns:260px 1fr;gap:64px;padding:48px 0 80px;align-items:start}

/* TOC */
.toc{position:sticky;top:88px}
.toc-lbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:toc;display:flex;flex-direction:column;gap:2px}
.toc li{counter-increment:toc}
.toc a{display:flex;gap:10px;padding:8px 12px;border-radius:9px;font-size:13.5px;line-height:1.35;
  color:var(--ink-2);font-weight:500;border:1px solid transparent;text-decoration:none}
.toc a::before{content:counter(toc,decimal-leading-zero);font-family:'JetBrains Mono',monospace;
  font-size:11px;color:var(--ink-3);padding-top:2px;flex-shrink:0}
.toc a:hover{background:var(--bg-elev)}
.toc a.active{background:var(--bg-card,#fff);border-color:var(--line);color:var(--ink);font-weight:600}

/* prose */
.prose{max-width:720px;counter-reset:sec}
.prose .sec{padding:0 0 38px;margin:0 0 38px;border-bottom:1px solid var(--line-2);counter-increment:sec}
.prose .sec:last-child{border-bottom:0;margin-bottom:0}
.prose h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:30px;
  letter-spacing:-0.02em;line-height:1.08;margin:0 0 18px;display:flex;gap:16px;align-items:baseline}
.prose h2::before{content:counter(sec,decimal-leading-zero);font-family:'Space Grotesk',sans-serif;
  font-size:16px;font-weight:500;color:var(--ink-3);letter-spacing:-0.02em}
.prose p{font-size:15.5px;line-height:1.68;color:var(--ink-2);margin:0 0 14px}
.prose p:last-child{margin-bottom:0}
.prose strong,.prose b{color:var(--ink);font-weight:600}
.prose ul{margin:6px 0 16px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.prose ul li{position:relative;padding-left:24px;font-size:15.5px;line-height:1.6;color:var(--ink-2)}
.prose ul li::before{content:"";position:absolute;left:4px;top:10px;width:6px;height:6px;
  border-radius:2px;background:var(--amber,#C8921A);transform:rotate(45deg)}
.prose .callout{background:var(--bg-elev);border:1px solid var(--line);border-radius:14px;
  padding:20px 22px;margin:4px 0 16px;font-size:14.5px;line-height:1.6;color:var(--ink-2)}
.prose .callout b{color:var(--ink)}
.prose .lead-in{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}

/* responsive */
@media(max-width:920px){
  .legal-body{grid-template-columns:1fr;gap:30px}
  .toc{display:none}
  .legal-hero h1{font-size:46px}
}
@media(max-width:560px){
  .legal-hero{padding:36px 0 28px}
  .legal-hero h1{font-size:36px}
}
