/* ============================
   RipCo · Legal page styles
   ============================ */
.legal-hero{padding:48px 0 60px;text-align:center;border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.legal-hero::before{
  content:"";position:absolute;left:50%;top:-200px;transform:translateX(-50%);
  width:1100px;height:600px;background:radial-gradient(ellipse,rgba(10,132,255,.10),transparent 60%);
  filter:blur(80px);pointer-events:none;
}
.legal-hero h1{font-size:clamp(40px,5.5vw,72px);font-weight:700;letter-spacing:-.032em;line-height:1;margin-bottom:18px}
.legal-hero p.lede{font-size:16px;color:var(--text-dim);max-width:640px;margin:0 auto;line-height:1.6}
.legal-hero .meta{margin-top:30px;display:flex;justify-content:center;gap:24px;flex-wrap:wrap;font:500 11px/1 'JetBrains Mono',monospace;color:var(--text-faint);letter-spacing:.16em;text-transform:uppercase}
.legal-hero .meta span{display:flex;align-items:center;gap:8px}
.legal-hero .meta span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--teal);opacity:.7}

.legal-layout{display:grid;grid-template-columns:240px 1fr;gap:80px;max-width:1100px;margin:0 auto;padding:80px 32px 120px;position:relative}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr;gap:32px;padding:48px 32px 80px}}

.legal-toc{position:sticky;top:96px;align-self:start;border-left:1px solid var(--border);padding-left:18px}
@media(max-width:900px){.legal-toc{position:static;border-left:0;border-top:1px solid var(--border);padding:24px 0 0}}
.legal-toc .lab{font:600 10px/1 'JetBrains Mono',monospace;letter-spacing:.22em;color:var(--text-faint);text-transform:uppercase;margin-bottom:14px}
.legal-toc ol{list-style:none;padding:0;margin:0;counter-reset:l}
.legal-toc li{counter-increment:l;font-size:13px;line-height:1.6;margin-bottom:10px}
.legal-toc li a{color:var(--text-mute);transition:color .15s,padding .15s;display:block;padding:2px 0;letter-spacing:-.005em}
.legal-toc li a::before{content:counter(l,decimal-leading-zero) " · ";color:var(--text-faint);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em}
.legal-toc li a:hover,.legal-toc li a.active{color:var(--text);padding-left:6px}
.legal-toc li a.active::before{color:var(--teal)}

.legal-prose{max-width:780px;font-family:'Inter Tight','Inter',sans-serif;font-size:15.5px;line-height:1.75;color:var(--text-dim);letter-spacing:-.005em}
.legal-prose h2{font-size:30px;font-weight:700;letter-spacing:-.022em;color:var(--text);margin:64px 0 12px;line-height:1.15;scroll-margin-top:96px}
.legal-prose h2:first-child{margin-top:0}
.legal-prose h2 .num{display:block;font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.22em;color:var(--teal);text-transform:uppercase;margin-bottom:12px}
.legal-prose h3{font-size:18px;font-weight:600;letter-spacing:-.012em;color:var(--text);margin:32px 0 10px}
.legal-prose p{margin:0 0 16px}
.legal-prose ul,.legal-prose ol{margin:12px 0 22px;padding-left:22px}
.legal-prose li{margin-bottom:9px}
.legal-prose li::marker{color:var(--teal)}
.legal-prose a{color:var(--teal);border-bottom:1px solid rgba(48,213,200,.3);transition:border-color .2s}
.legal-prose a:hover{border-bottom-color:var(--teal)}
.legal-prose strong{color:var(--text);font-weight:600}
.legal-prose code{font-family:'JetBrains Mono',monospace;font-size:13px;background:rgba(48,213,200,.08);color:var(--teal);padding:1px 6px;border-radius:4px;border:1px solid rgba(48,213,200,.15)}
.legal-prose blockquote{margin:22px 0;padding:18px 22px;border-left:3px solid var(--teal);background:rgba(48,213,200,.04);border-radius:0 12px 12px 0;color:var(--text-dim);font-size:14.5px;font-style:italic}
.legal-prose .callout{margin:22px 0;padding:22px;border-radius:14px;border:1px solid var(--border);background:var(--surface);position:relative}
.legal-prose .callout .lab{font:600 10px/1 'JetBrains Mono',monospace;letter-spacing:.22em;color:var(--teal);text-transform:uppercase;margin-bottom:10px}
.legal-prose .callout.warn{border-color:rgba(245,181,68,.3);background:rgba(245,181,68,.04)}
.legal-prose .callout.warn .lab{color:var(--amber)}
.legal-prose .callout.danger{border-color:rgba(255,90,95,.3);background:rgba(255,90,95,.04)}
.legal-prose .callout.danger .lab{color:var(--red)}
.legal-prose .callout p:last-child{margin-bottom:0}
.legal-prose hr{border:0;border-top:1px solid var(--border);margin:48px 0}
.legal-prose table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px}
.legal-prose table th,.legal-prose table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border)}
.legal-prose table th{font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}
.legal-prose table td{color:var(--text-dim)}

.legal-foot-cta{margin:64px 0 0;padding:28px 32px;border-radius:16px;background:linear-gradient(140deg,rgba(10,132,255,.08),rgba(48,213,200,.05));border:1px solid rgba(48,213,200,.2);text-align:center}
.legal-foot-cta h3{font-size:18px;font-weight:600;letter-spacing:-.012em;color:var(--text);margin-bottom:6px}
.legal-foot-cta p{font-size:13.5px;color:var(--text-mute);margin-bottom:14px}
.legal-foot-cta a{display:inline-block;padding:9px 18px;background:var(--grad);color:#fff;border-radius:99px;font-size:13px;font-weight:600;letter-spacing:-.005em;border:0}
