/* ──────────────────────────────────────────────────────────────
   Shared styles for legal landing pages — privacy.html, terms.html.
   Extracted from inline <style> blocks (blocked by cavekeep.com
   CSP `style-src 'self'`). Pair with landing-base.css.
   ────────────────────────────────────────────────────────────── */

main { flex: 1; min-width: 0; padding: 24px 40px 48px; }

.breadcrumb {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; color: var(--text-4); margin-bottom: 20px;
}
.breadcrumb a:hover { color: var(--text-3); }
.breadcrumb .sep { color: var(--text-4); }

.page-kicker {
  font-family: "JetBrains Mono", monospace; font-size: 10px;
  letter-spacing: .12em; text-transform: uppercase; color: var(--accent-2);
  margin-bottom: 10px; display: flex; align-items: center; gap: 6px;
}
.page-kicker .dot { width: 5px; height: 5px; background: var(--accent); border-radius: 50%; }

h1 {
  font-family: "Manrope", system-ui, sans-serif; font-weight: 500;
  font-size: clamp(22px, 3vw, 30px); line-height: 1.1;
  letter-spacing: -.02em; color: #fff; margin-bottom: 12px;
}
h1 span { font-weight: 400; color: var(--accent-2); }

.page-deck {
  font-size: 14.5px; color: var(--text-2); line-height: 1.7;
  max-width: 60ch; margin-bottom: 28px;
}

.prose { max-width: 72ch; }
.prose h2 {
  font-size: 15px; font-weight: 600; color: var(--text);
  margin-bottom: 9px; margin-top: 26px; padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}
.prose h2:first-child { margin-top: 0; }
.prose p { font-size: 13.5px; color: var(--text-3); line-height: 1.75; margin-bottom: 12px; }
.prose a { color: var(--accent-2); }
.prose a:hover { color: #93c5fd; }

.legal-layout {
  display: grid; grid-template-columns: minmax(0, 72ch) 260px;
  gap: 48px; align-items: start; justify-content: start;
}
.legal-side {
  position: sticky; top: 24px;
  display: flex; flex-direction: column; gap: 16px;
}
.legal-toc { border: 1px solid var(--border); background: var(--bg-card); padding: 14px 16px; }
.legal-toc-title {
  font-family: "JetBrains Mono", monospace; font-size: 10px;
  letter-spacing: .12em; text-transform: uppercase; color: var(--text-4);
  margin-bottom: 10px;
}
.legal-toc a {
  display: block; padding: 5px 0; font-size: 12.5px;
  color: var(--text-3); border-bottom: 1px dotted var(--border);
}
.legal-toc a:last-child { border-bottom: none; }
.legal-toc a:hover { color: var(--text); }

.legal-glance { border: 1px solid var(--border); background: var(--bg-card); padding: 14px 16px; }
.legal-glance-title {
  font-family: "JetBrains Mono", monospace; font-size: 10px;
  letter-spacing: .12em; text-transform: uppercase; color: var(--text-4);
  margin-bottom: 10px;
}
.legal-glance li {
  list-style: none; padding: 6px 0;
  font-size: 12.5px; color: var(--text-2); line-height: 1.5;
  border-bottom: 1px dotted var(--border);
  display: flex; gap: 8px;
}
.legal-glance li:last-child { border-bottom: none; }
.legal-glance li::before {
  content: "\2192"; color: var(--accent-2);
  font-family: "JetBrains Mono", monospace;
}

@media(max-width: 1100px) {
  .legal-layout { grid-template-columns: 1fr; }
  .legal-side { position: static; }
}
