/* Shared styles for Squid ID legal/trust pages (term, privacy, security,
   subprocessors, dpa, opt-out). Matches the index.html theme: cream/ink,
   Inter + JetBrains Mono. */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  background: #f7f1e3;
  color: #1a1612;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
  overflow-x: hidden;
}
body { padding-top: 72px; }

/* ---------- nav (mirrors index.html) ---------- */
nav {
  position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 1000;
  background: rgba(247, 241, 227, 0.96);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid #e3d8be;
  box-shadow: 0 1px 0 rgba(26, 22, 18, 0.04), 0 8px 24px -16px rgba(26, 22, 18, 0.08);
}
.nav-inner {
  max-width: 1080px; margin: 0 auto; height: 72px;
  padding: 0 32px; display: flex; align-items: center; justify-content: space-between;
}
.nav-inner .logo img { height: 38px; display: block; }
.nav-links { display: flex; align-items: center; gap: 22px; }
.nav-links a {
  font-family: 'JetBrains Mono', monospace; font-size: 15px; font-weight: 700;
  color: #1a1612; text-decoration: none; letter-spacing: 0.04em;
}
.nav-sep { width: 1px; height: 20px; background: #1a1612; opacity: 0.22; }
.nav-cta {
  background: #1a1612; color: #f7f1e3 !important; padding: 9px 16px;
  border-radius: 8px; letter-spacing: 0.02em !important;
}

/* ---------- legal content ---------- */
.legal { max-width: 800px; margin: 0 auto; padding: 56px 32px 80px; }
.legal .eyebrow {
  font-family: 'JetBrains Mono', monospace; font-size: 12px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; color: #6b5e4a;
}
.legal h1 { font-size: 40px; font-weight: 800; letter-spacing: -0.02em; margin: 10px 0 8px; }
.legal .updated {
  font-family: 'JetBrains Mono', monospace; font-size: 13px; color: #6b5e4a;
  padding-bottom: 24px; margin-bottom: 8px; border-bottom: 1px solid #e3d8be;
}
.legal .lede { font-size: 17px; color: #4a4039; margin: 24px 0; }
.legal h2 {
  font-size: 21px; font-weight: 700; letter-spacing: -0.01em;
  margin: 40px 0 12px; padding-top: 8px;
}
.legal h3 {
  font-size: 15px; font-weight: 700; color: #1a1612;
  margin: 22px 0 8px;
}
.legal p { margin: 12px 0; color: #2a2420; }
.legal ul { margin: 12px 0 12px 4px; padding-left: 22px; }
.legal li { margin: 7px 0; color: #2a2420; }
.legal a { color: #6d28d9; text-decoration: underline; text-underline-offset: 2px; }
.legal a:hover { color: #1a1612; }
.legal strong { font-weight: 700; }
.legal .example { color: #4a4039; }
.legal hr { border: 0; border-top: 1px solid #e3d8be; margin: 40px 0 0; }
.legal .copyright {
  font-family: 'JetBrains Mono', monospace; font-size: 12.5px; color: #6b5e4a;
  margin-top: 24px;
}
/* Sub-processor group divider */
.legal .group-label {
  font-family: 'JetBrains Mono', monospace; font-size: 12px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; color: #1a1612;
  margin: 40px 0 4px; padding: 14px 0 6px; border-top: 2px solid #1a1612;
}
/* Sub-processor cards */
.subs { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 18px 0; }
.sub {
  background: #fbf6ea; border: 1px solid #e3d8be; border-radius: 10px; padding: 14px 16px;
}
.sub .name { font-weight: 700; font-size: 15px; }
.sub .row { font-size: 13px; color: #4a4039; margin-top: 5px; }
.sub .row b { font-weight: 600; color: #6b5e4a; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; }

/* ---------- footer (shared, with legal links) ---------- */
footer.site {
  background: #f1e9d6; padding: 40px 32px; text-align: center;
  font-family: 'JetBrains Mono', monospace; font-size: 13px; color: #6b5e4a;
}
footer.site .legal-links { margin-bottom: 16px; display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: center; }
footer.site .legal-links a { color: #4a4039; text-decoration: none; letter-spacing: 0.02em; }
footer.site .legal-links a:hover { color: #1a1612; text-decoration: underline; }

@media (max-width: 768px) {
  .legal { padding: 40px 22px 64px; }
  .legal h1 { font-size: 32px; }
  .nav-inner { padding: 0 18px; }
  .nav-links { gap: 14px; }
  .nav-cta { display: none; }
  .subs { grid-template-columns: 1fr; }
}
