/* ── Privacidade e 404 ───────────────────────────────────────
   Tokens e peças base em css/project.css. */

.lg-page { --pj-alt: #F0EFF5; }
[data-theme="dark"] .lg-page { --pj-alt: #262A33; --pj-card: #2D323C; }

/* ── Privacidade ── */
.lg-hero { padding: 4.5rem 0 4rem; }
.lg-hero .pj-hero-title { font-size: clamp(2.4rem, 5.5vw, 4rem); }
.lg-hero .pj-hero-lead { margin-bottom: 1.25rem; }
.lg-date { font-size: .9rem; font-weight: 600; color: var(--text-2); }

.lg-main { padding: 5rem 0 7rem; }
.lg-container { max-width: 820px; }

.lg-page .privacy-body { display: flex; flex-direction: column; gap: 0; border-top: 2px solid var(--text); }
.lg-page .privacy-section { padding: 2.5rem 0; border-bottom: 1px solid var(--pj-line); }
.lg-page .privacy-section h2 { font-size: 1.35rem; font-weight: 800; letter-spacing: -.01em; color: var(--text); margin-bottom: 1rem; }
.lg-page .privacy-section p,
.lg-page .privacy-section li { font-size: 1.04rem; line-height: 1.75; color: var(--text-2); }
.lg-page .privacy-section strong { color: var(--text); }
.lg-page .privacy-section a { color: var(--pj-accent); font-weight: 600; }
.lg-page .privacy-section ul { gap: .5rem; }

/* ── 404 ── */
.nf-wrap {
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - 72px - 1px);
  display: flex;
  align-items: center;
  background: var(--pj-alt);
  padding: 5rem 0;
}
.nf-orbit { position: absolute; border-radius: 50%; border: 1.5px solid var(--pj-line); pointer-events: none; }
.nf-orbit--a { width: 560px; height: 560px; right: -180px; top: -200px; }
.nf-orbit--b { width: 320px; height: 320px; right: -60px; top: -80px; }
.nf-inner { position: relative; }
.nf-code {
  font-size: clamp(6rem, 18vw, 12rem);
  font-weight: 800;
  line-height: .85;
  letter-spacing: -.05em;
  color: var(--pj-accent);
  opacity: .18;
  margin-bottom: 1.5rem;
}
.nf-title { font-size: clamp(2rem, 4.5vw, 3.2rem); font-weight: 800; line-height: 1.08; letter-spacing: -.025em; color: var(--text); max-width: 18ch; margin-bottom: 1.25rem; }
.nf-text { font-size: 1.1rem; line-height: 1.7; color: var(--text-2); max-width: 46ch; margin-bottom: 2.25rem; }
.nf-links { display: flex; flex-wrap: wrap; gap: .75rem; }

@media (max-width: 700px) {
  .lg-hero { padding: 2.5rem 0; }
  .lg-main { padding: 3rem 0 4.5rem; }
  .lg-page .privacy-section { padding: 2rem 0; }
  .nf-wrap { padding: 3.5rem 0; }
  .nf-orbit--a { width: 320px; height: 320px; right: -160px; top: -120px; }
  .nf-orbit--b { display: none; }
  .nf-links { flex-direction: column; align-items: stretch; }
  .nf-links .pj-btn { justify-content: center; }
}
