/* =========================================================
   Legal pages
   ========================================================= */
.legal { padding: 150px 0 110px; background: linear-gradient(180deg, var(--night-0), var(--night-1) 40%); min-height: 70vh; }
.legal .display { font-size: clamp(2.2rem, 5vw, 3.4rem); margin-bottom: .5rem; }
.legal-updated { font-size: .85rem; color: var(--ink-faint); margin-bottom: 3rem; }
.legal-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 3rem; }
.legal-tabs a {
  font-size: .82rem; color: var(--ink-soft); text-decoration: none;
  padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line);
  transition: all .2s;
}
.legal-tabs a:hover { color: #fff; border-color: var(--line-strong); }
.legal-tabs a[aria-current="page"] { color: #fff; border-color: var(--periwinkle); background: rgba(75, 123, 255, .2); }
.legal-body { color: var(--ink-soft); font-size: 1rem; }
.legal-body h2 {
  font-family: var(--serif); font-weight: 400; font-size: 1.65rem; color: #fff;
  margin: 2.75rem 0 .9rem;
}
.legal-body p { margin-bottom: 1rem; }
.legal-body ul { padding-left: 1.2rem; margin: 0 0 1.25rem; display: grid; gap: .5rem; }
.legal-body li::marker { color: var(--periwinkle); }
.legal-body strong { color: #fff; font-weight: 500; }
.legal-body a { color: var(--periwinkle); text-decoration-color: rgba(169, 184, 255, .4); text-underline-offset: 3px; }
.legal-body a:hover { color: #fff; }
.contact-card {
  margin: 1.25rem 0 1.75rem; padding: 24px 28px; border-radius: var(--radius);
  background: rgba(18, 32, 77, .35); border: 1px solid var(--line-strong);
}
.contact-card p { margin: 0 0 .35rem; }
.contact-card p:last-child { margin: 0; }
