/* privacy.html — styles the privacy page with the same design system
   as the site: navy header bar, Source Serif headings, Inter body,
   JetBrains Mono only for registration numbers. Every font is set
   with explicit longhand properties (a font shorthand with var()
   components previously failed to parse and dropped the page into
   the browser's serif fallback). Self-origin stylesheet, CSP-clean. */

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background-color: var(--bg);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: var(--weight-normal);
  line-height: 1.65;
  font-feature-settings: "ss01", "cv11";
  -webkit-font-smoothing: antialiased;
}

/* Top bar — same navy register as the site's dark surfaces */
.pv-top {
  background-color: var(--brand-950);
  color: var(--ink-on-dark);
  padding: var(--space-5) 0;
}
.pv-top__inner {
  max-width: 1040px;
  margin: 0 auto;
  padding-inline: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
}
.pv-top__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: white;
  text-decoration: none;
  font-family: var(--font-serif);
  font-size: 17px;
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-tight);
}
.pv-top__brand { background: var(--bg); padding-inline: 8px; border-radius: 4px; }
.pv-top__brand .pv-top__logo { display: block; width: 205px; height: auto; }
.pv-top__brand em {
  font-style: normal;
  font-weight: var(--weight-medium);
  color: var(--ink-on-dark-muted);
}
.pv-top__back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ink-on-dark-muted);
  text-decoration: none;
  font-size: var(--text-sm);
  padding: var(--space-2) var(--space-3);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius);
  transition: color var(--motion), border-color var(--motion);
}
.pv-top__back:hover { color: white; border-color: rgba(255, 255, 255, 0.4); }

/* Main column */
.pv-main {
  max-width: 860px;
  margin: 0 auto;
  padding: var(--space-12) 28px var(--space-16);
}
.pv-eyebrow {
  font-size: 10px;
  font-weight: var(--weight-semibold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-deep);
  margin: 0 0 var(--space-3);
}
.pv-main h1 {
  font-family: var(--font-serif);
  font-size: clamp(30px, 4vw, 42px);
  font-weight: var(--weight-semibold);
  letter-spacing: -0.02em;
  line-height: 1.08;
  margin: 0 0 var(--space-4);
  color: var(--ink);
}
.pv-updated {
  color: var(--ink-muted);
  font-size: var(--text-sm);
  margin: 0 0 var(--space-10);
}
.pv-main h2 {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: var(--weight-semibold);
  letter-spacing: -0.01em;
  margin: var(--space-10) 0 var(--space-3);
  padding-block-start: var(--space-6);
  border-block-start: 1px solid var(--border);
  color: var(--ink);
}
.pv-main p, .pv-main li {
  color: var(--ink-muted);
  max-width: 72ch;
  margin-block: var(--space-3);
}
.pv-main ul { padding-inline-start: 20px; }
.pv-main li { margin-block: var(--space-2); }
.pv-main a { color: var(--brand); text-decoration: underline; text-underline-offset: 2px; }
.pv-main a:hover { color: var(--brand-hover); }
.pv-strong { color: var(--ink); font-weight: var(--weight-semibold); }
.pv-mono {
  font-family: var(--font-mono);
  font-size: 0.9em;
  font-feature-settings: "calt" 0, "liga" 0;
  color: var(--ink);
}

/* Highlighted contact block */
.pv-contact {
  margin-block-start: var(--space-10);
  padding: var(--space-5) var(--space-6);
  background-color: var(--surface);
  border: 1px solid var(--border);
  border-inline-start: 2px solid var(--brand);
  border-radius: var(--radius);
  font-size: var(--text-sm);
}

/* Footer bar — bookends the page with the same navy as the header */
footer.pv-foot {
  background-color: var(--brand-950);
  color: var(--ink-on-dark-faint);
  padding: var(--space-6) 28px var(--space-8);
  text-align: center;
  font-size: var(--text-xs);
}
footer.pv-foot a { color: var(--ink-on-dark-muted); text-decoration: none; }
footer.pv-foot a:hover { color: var(--accent); }
footer.pv-foot .pv-foot-sep { margin-inline: var(--space-2); color: rgba(255, 255, 255, 0.25); }

@media (max-width: 640px) {
  .pv-top__brand .pv-top__logo { width: 160px; }
  .pv-main { padding: var(--space-10) 20px var(--space-12); }
}
