/* Privacy Policy page-specific styles */

.eyebrow {
  font-size: var(--fs-sm);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: var(--space-2);
}

.policy-hero {
  padding-block: clamp(48px, 6vw, 96px) clamp(28px, 4vw, 48px);
  border-bottom: 1px solid var(--gray-200);
  background: color-mix(in oklab, var(--gray-50) 70%, transparent);
}
.policy-hero .lede { max-width: 72ch; color: var(--color-muted); }
.policy-hero .meta { margin-top: var(--space-2); color: var(--gray-500); font-size: var(--fs-sm); }

.policy-content { display: grid; grid-template-columns: 280px 1fr; gap: var(--space-10); padding-block: clamp(24px, 4vw, 48px); }

@media (max-width: 960px) {
  .policy-content { grid-template-columns: 1fr; }
}

.toc {
  position: sticky; top: 96px;
  align-self: start;
}
.toc__title { font-size: var(--fs-md); margin-bottom: var(--space-3); color: var(--gray-600); }
.toc ol { list-style: decimal; padding-left: 1.25rem; display: grid; gap: .5rem; }
.toc a { color: var(--color-text); text-decoration: none; }
.toc a:hover { text-decoration: underline; color: var(--color-primary); }

.legal-content { display: grid; gap: var(--space-8); }
.legal-content h2 { scroll-margin-top: 96px; }
.legal-content h3 { margin-top: var(--space-2); }
.legal-content ul { margin-block: .5rem 1rem; }
.legal-content li { margin-bottom: .25rem; }

.contact-card { display: grid; gap: .5rem; }

/* Improve link visibility in content */
.legal-content a { color: var(--color-primary); }

/* Reduce banner overlap on small screens */
@media (max-width: 720px) {
  #cookie-consent { padding-bottom: env(safe-area-inset-bottom); }
}
