/* ============================================================
   ICZ legal + 404 page layer (privacy, cookies, terms, 404).
   Scoped under .page-legal. Inherits all tokens from styles.css.
   Reads on the pale-blue band; readable prose column, no new colors.
   ============================================================ */

.page-legal main { padding-top: 6.5rem; } /* clear the floating pill nav */

.legal-hero { padding-block: clamp(1.5rem, 1rem + 3vw, 3.5rem) clamp(1.25rem, 1rem + 2vw, 2.5rem); }
.legal-hero .eyebrow { margin-bottom: .75rem; }
.legal-hero h1 {
  font-size: clamp(2.4rem, 1.5rem + 4vw, 4rem);
  max-width: 16ch;
  margin-bottom: 1rem;
}
.legal-hero__lead {
  font-size: var(--fs-lead);
  color: var(--ink-soft);
  max-width: 60ch;
  line-height: 1.5;
}
.legal-hero__date {
  margin-top: 1.25rem;
  font-size: var(--fs-small);
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--ink-soft);
}

.legal-body { padding-block: clamp(1.5rem, 1rem + 2vw, 3rem) clamp(3rem, 2rem + 4vw, 5rem); }

.legal-prose { max-width: 70ch; }
.legal-prose h2 {
  font-size: clamp(1.3rem, 1.05rem + 1vw, 1.7rem);
  margin-top: 2.25rem;
  margin-bottom: .6rem;
}
.legal-prose h2:first-child { margin-top: 0; }
.legal-prose p,
.legal-prose li {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--ink);
}
.legal-prose p { margin-bottom: 1rem; }
.legal-prose ul {
  list-style: disc;
  padding-left: 1.4rem;
  margin-bottom: 1rem;
}
.legal-prose li { margin-bottom: .5rem; }
.legal-prose a {
  color: var(--canvas-royal); /* deep ICZ blue: 5.8:1 on the pale band, clears WCAG AA */
  text-decoration: underline;
  text-underline-offset: 2px;
}
.legal-prose a:hover { color: var(--canvas-royal-2); }
.legal-prose strong { font-weight: 600; }

.legal-disclaimer {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
  font-size: .95rem !important;
  font-style: italic;
  color: var(--ink-soft) !important;
}

/* ---------- 404 ---------- */
.legal-hero.notfound { padding-block: clamp(3rem, 2rem + 6vw, 7rem) clamp(3rem, 2rem + 5vw, 6rem); text-align: left; }
.notfound__cta { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.notfound__links {
  display: flex; flex-wrap: wrap; gap: 1.25rem;
  margin-top: 2.25rem; padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}
.notfound__links a {
  font-weight: 600;
  color: var(--canvas-royal); /* deep ICZ blue: 5.8:1 on the pale band, clears WCAG AA */
  text-decoration: underline;
  text-underline-offset: 3px;
}
.notfound__links a:hover { color: var(--canvas-royal-2); }
