/* Legal document pages (/privacy, /terms), ported from the pclbuilder.com
   parent site's legal.css.

   Loaded AFTER landing.css, never instead of it: the tokens, header, footer,
   buttons and cookie banner are already there and are identical across both
   sites, so this file carries only the rules the marketing page has no use
   for — the legal prose body plus the skip link.  If the parent site's
   legal.css changes one of these rules, mirror it here. */

/* Skip link - keyboard users land here first and can jump past the nav. */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 200;
  background: var(--navy);
  color: var(--cream);
  padding: 0.85rem 1.25rem;
  border-radius: var(--radius);
  font-size: 0.9375rem;
  font-weight: 600;
}
.skip-link:focus {
  left: 1rem;
  top: 1rem;
}

/* ---- Legal document body ---- */
.legal {
  padding: 3rem 0 4rem;
}
@media (min-width: 768px) { .legal { padding: 4rem 0 5rem; } }

.legal-head {
  border-bottom: 1px solid var(--border-strong);
  padding-bottom: 2rem;
  margin-bottom: 2.5rem;
}
.legal-updated {
  font-size: 0.875rem;
  color: var(--text-muted);
  margin-top: 1.25rem;
}
.legal-intro {
  font-size: 1.0625rem;
  color: var(--text-secondary);
  line-height: 1.7;
  margin-top: 1.5rem;
}

.legal-body { font-size: 1rem; color: var(--text-secondary); }
.legal-body h2 {
  font-size: 1.375rem;
  color: var(--navy);
  margin: 2.75rem 0 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border);
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.legal-body h2:first-child { margin-top: 0; padding-top: 0; border-top: none; }
.legal-body p { margin: 0 0 1.15rem; line-height: 1.7; }
.legal-body p:last-child { margin-bottom: 0; }
.legal-body ul { margin: 0 0 1.15rem; padding-left: 1.25rem; }
.legal-body li { margin-bottom: 0.75rem; line-height: 1.7; }
/* Prose links only. Buttons must be excluded, or they inherit the gold underline
   treatment and render gold-on-gold at unreadable contrast. */
.legal-body a:not(.btn) { color: var(--gold-deep); text-decoration: underline; text-underline-offset: 3px; }
.legal-body a:not(.btn):hover { color: var(--navy); }
.legal-body .btn { text-decoration: none; }
.legal-body .btn-primary { color: var(--navy); }
.legal-body .btn-primary:hover,
.legal-body .btn-primary:focus { color: var(--navy-900); }
.legal-body strong { color: var(--navy); font-weight: 700; }

/* Clause numbers (2.1, 12.3, ...) sit in gold so the structure scans quickly. */
.clause-num {
  color: var(--gold-deep);
  font-weight: 700;
  margin-right: 0.4rem;
}

/* Statutory all-caps blocks (disclaimers, limitation of liability). Kept in caps because
   they are legally conspicuous text; tracking is opened up slightly to aid readability. */
.legal-caps {
  letter-spacing: 0.02em;
  line-height: 1.75;
}

.legal-contact {
  background: var(--white);
  border: 1px solid #E2E6EB;
  border-radius: var(--radius);
  padding: 1.5rem;
  margin-top: 1.5rem;
}
.legal-contact p { margin-bottom: 0.5rem; }
.legal-contact p:last-child { margin-bottom: 0; }

.legal-back {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border);
}
