/* ============================================================
   ALIFY — legal.css · shared template for all 5 legal pages
   ============================================================ */

.legal-hero { padding-top: calc(var(--header-h) + clamp(3rem, 8vw, 6rem)); border-bottom: 1px solid var(--line); }
.legal-hero__inner { max-width: 880px; }
.legal-hero__meta { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }

.legal-layout { display: grid; gap: 3rem; }
@media (min-width: 1024px) {
  .legal-layout { grid-template-columns: repeat(12, 1fr); }
  .legal-toc { grid-column: 1 / 4; }
  .legal-body { grid-column: 5 / 12; }
}

.legal-toc__box { position: sticky; top: calc(var(--header-h) + 2rem); display: grid; gap: 1rem; align-content: start; }
.legal-toc__head { font-family: var(--ff-mono); font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: var(--sage-2); }
.legal-toc__nav { display: grid; gap: .2rem; border-left: 1px solid var(--line); }
.legal-toc__nav a {
  display: block;
  padding: .5rem 0 .5rem 1.25rem;
  margin-left: -1px;
  border-left: 2px solid transparent;
  font-family: var(--ff-mono); font-size: .8rem;
  color: var(--muted); text-decoration: none;
  transition: color .3s, border-color .3s;
}
.legal-toc__nav a:hover { color: var(--off); }
.legal-toc__nav a.is-active { color: var(--green); border-left-color: var(--green); }
@media (max-width: 1023px) { .legal-toc { display: none; } }

.legal-body .prose { max-width: none; }
.legal-body h2 { scroll-margin-top: calc(var(--header-h) + 2rem); }
.legal-updated {
  display: inline-flex; align-items: center; gap: .6rem;
  font-family: var(--ff-mono); font-size: .74rem; letter-spacing: .12em; text-transform: uppercase;
  color: #17170E;
  background: var(--sand);
  border-radius: 99px;
  padding: .5em 1.2em;
}
