/* =============================================
   PRIVACY POLICY — candidate BFF, page-specific styles.
   Self-contained: depends only on shared base.css tokens
   (no .gradient-orb / .section-badge / .footer dependencies
   from landing.css — those are admin-only).
   All rules scoped under .privacy-page.
   ============================================= */

.privacy-page {
  max-width: 100%;
  /* Top padding clears the sticky nav: candidate nav is ~96px tall (80px
     logo + 2× var(--space-sm) padding). 100px is the safe approximation. */
  padding: calc(100px + var(--space-3xl)) 0 var(--space-4xl);

  /* Hero — title, version, effective date */
  .privacy-hero {
    max-width: 760px;
    margin: 0 auto var(--space-3xl);
    padding: 0 var(--section-pad);
    text-align: center;

    h1 {
      font-family: var(--font-heading);
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight: var(--fw-bold);
      letter-spacing: -0.02em;
      margin: var(--space-md) 0;
      color: var(--text-primary);
    }
  }

  .privacy-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.85rem;
    background: oklch(from var(--accent-primary) l c h / 0.08);
    border: 1px solid oklch(from var(--accent-primary) l c h / 0.25);
    border-radius: 999px;
    color: var(--accent-primary);
    font-size: 0.78rem;
    font-weight: var(--fw-semibold);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: var(--space-lg);
  }

  .privacy-meta {
    color: var(--text-tertiary);
    font-size: 0.92rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;

    strong {
      color: var(--text-secondary);
      font-weight: var(--fw-semibold);
    }
  }

  .privacy-meta-divider {
    color: var(--text-tertiary);
    opacity: 0.5;
  }

  /* Content column */
  .privacy-content {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 var(--section-pad);
  }

  .privacy-section {
    background: var(--surface-strong);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-lg);
    padding: var(--space-2xl);
    margin-bottom: var(--space-lg);

    h2 {
      font-family: var(--font-heading);
      font-size: 1.25rem;
      font-weight: var(--fw-semibold);
      color: var(--text-primary);
      letter-spacing: -0.01em;
      margin: 0 0 var(--space-md);
      padding-bottom: var(--space-sm);
      border-bottom: 1px solid var(--border-subtle);
    }

    h3 {
      font-family: var(--font-heading);
      font-size: 1rem;
      font-weight: var(--fw-semibold);
      color: var(--text-primary);
      letter-spacing: -0.005em;
      margin: var(--space-lg) 0 var(--space-sm);
    }

    p {
      color: var(--text-secondary);
      font-size: 0.97rem;
      line-height: 1.65;
      margin: 0 0 var(--space-md);

      &:last-child {
        margin-bottom: 0;
      }
    }

    ul {
      color: var(--text-secondary);
      font-size: 0.97rem;
      line-height: 1.6;
      margin: 0 0 var(--space-md);
      padding-left: var(--space-lg);
    }

    li {
      margin-bottom: 0.45rem;

      &:last-child {
        margin-bottom: 0;
      }
    }

    strong {
      color: var(--text-primary);
      font-weight: var(--fw-semibold);
    }

    em {
      color: var(--text-tertiary);
      font-style: italic;
    }

    a {
      color: var(--accent-primary);
      text-decoration: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 2px;
      transition: color 0.15s ease;

      &:hover {
        color: oklch(from var(--accent-primary) calc(l + 0.08) c h);
      }
    }
  }

  .privacy-contact {
    font-size: 0.97rem;
    line-height: 1.9;
    color: var(--text-primary);

    strong {
      font-family: var(--font-heading);
      font-size: 1.05rem;
    }
  }

  /* Responsive */
  @media (max-width: 640px) {
    .privacy-section {
      padding: var(--space-xl) var(--space-lg);
    }

    .privacy-meta {
      flex-direction: column;
      gap: 0.2rem;
    }

    .privacy-meta-divider {
      display: none;
    }
  }
}
