/* Prose styles for the legal/policy pages (privacy, cookie, legal).
   Was inlined per static page; now one shared sheet loaded via the layout. */
.legal { padding:70px 0 90px; }
.legal .container { max-width:820px; }
.legal__updated { color:var(--muted); font-size:.95rem; margin:0 0 34px; }
.legal h2 {
  color:var(--ink); font-size:1.5rem; line-height:1.3;
  margin:42px 0 14px; font-weight:800;
  scroll-margin-top:100px;   /* clear the sticky header when jumping to an anchor */
}
.legal h2:first-of-type { margin-top:0; }

/* on-page table of contents */
.legal__toc {
  margin:0 0 44px; padding:24px 28px;
  background:var(--bg-soft); border-radius:var(--radius-lg);
}
.legal__toc-h {
  margin:0 0 12px; font-size:.8rem; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; color:var(--primary);
}
.legal__toc ol {
  margin:0; padding:0; list-style:none;
  columns:2; column-gap:36px;
}
.legal__toc li { margin:0 0 8px; break-inside:avoid; font-size:.98rem; line-height:1.5; }
.legal__toc a { color:var(--text-dark); text-decoration:none; }
.legal__toc a:hover { color:var(--primary); text-decoration:underline; }
@media (max-width:640px){ .legal__toc ol { columns:1; } }
.legal p { color:var(--text); line-height:1.75; margin:0 0 18px; font-size:1.05rem; }
.legal ul { color:var(--text); line-height:1.75; margin:0 0 18px; padding-left:1.3em; font-size:1.05rem; }
.legal li { margin:0 0 8px; }
.legal a { color:var(--primary); text-decoration:underline; }
.legal a:hover { color:var(--primary-d); }
.legal__contact {
  margin-top:44px; padding:28px 30px;
  background:var(--bg-soft); border-radius:var(--radius-lg);
}
.legal__contact h2 { margin-top:0; }
.legal__contact p:last-child { margin-bottom:0; }
@media (max-width:640px){
  .legal h2 { font-size:1.3rem; }
  .legal p, .legal ul { font-size:1rem; }
}

/* ---- policy pages (the /legal/{slug} governance pack) ---- */
.legal h3 {
  color:var(--ink); font-size:1.14rem; line-height:1.35;
  margin:26px 0 8px; font-weight:800; scroll-margin-top:100px;
}
/* the "Important / applies to" call-out at the top of each policy */
.policy-note {
  margin:0 0 34px; padding:18px 22px;
  background:var(--bg-soft); border-radius:var(--radius-lg);
  border-left:4px solid var(--primary);
}
.policy-note p { margin:0; color:var(--text); font-size:1rem; line-height:1.7; }
.policy-note p + p { margin-top:10px; }
/* an in-text quotation of permitted wording */
.legal blockquote {
  margin:0 0 22px; padding:16px 20px;
  background:var(--bg-soft); border-left:4px solid var(--primary);
  border-radius:var(--radius-lg); color:var(--text-dark);
}
.legal blockquote p { margin:0; font-style:italic; }
/* data tables (retention schedule, California notice) */
.legal .table-wrap { overflow-x:auto; margin:22px 0 30px; }
.legal table { width:100%; border-collapse:collapse; font-size:.95rem; }
.legal th, .legal td {
  border:1px solid var(--line, #e6e0f5); padding:11px 13px;
  text-align:left; vertical-align:top; line-height:1.55;
}
.legal th { background:var(--bg-soft); font-weight:800; color:var(--ink); }
.legal caption { caption-side:top; text-align:left; color:var(--muted); font-size:.9rem; margin-bottom:8px; }

/* ---- policy index block on /legal/ ---- */
.policy-index { margin:8px 0 44px; }
.policy-index__grid {
  display:grid; grid-template-columns:repeat(2, 1fr);
  gap:16px; margin-top:20px;
}
.legal a.policy-card {
  display:block; padding:20px 22px;
  background:var(--white, #fff); border:1px solid var(--line, #e6e0f5);
  border-radius:var(--radius-lg); text-decoration:none;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.legal a.policy-card:hover {
  border-color:var(--primary); box-shadow:0 8px 26px rgba(104,101,231,.12);
  transform:translateY(-2px); text-decoration:none;
}
.legal a.policy-card:hover .policy-card__title { text-decoration:underline; }
.policy-card__title {
  display:block; color:var(--ink); font-weight:800;
  font-size:1.05rem; line-height:1.35; margin-bottom:6px; text-decoration:none;
}
.policy-card__desc { display:block; color:var(--muted); font-size:.95rem; line-height:1.55; text-decoration:none; }
@media (max-width:640px){ .policy-index__grid { grid-template-columns:1fr; } }
