/* ===== Privacy Policy (adds to /style.css) ===== */

/* Hero band with the page title */
.legal-hero {
  position: relative;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  min-height: 220px;
  padding: 48px 16px;
  background: #f4f4f1;
  text-align: center;
}
.legal-hero::before, .legal-hero::after {
  content: ""; position: absolute; border-radius: 50%; pointer-events: none;
}
.legal-hero::before { width: 340px; height: 340px; right: -120px; top: -90px; background: var(--accent); }
.legal-hero::after  { width: 160px; height: 160px; left: -60px; bottom: -70px; border: 18px solid var(--ink); opacity: .08; }
.legal-hero h1 { position: relative; z-index: 1; font-size: 2.6rem; line-height: 1.05; }

/* Document body: plain legal typography, Inter throughout */
.legal {
  max-width: 940px; margin: 0 auto; padding: 48px 16px 80px;
  font-size: 1rem; line-height: 1.65;
}
.legal .legal-title, .legal h3, .legal h4 {
  font-family: "Inter", system-ui, sans-serif; letter-spacing: -0.01em; color: var(--ink);
}
.legal .legal-title { font-size: 1.75rem; font-weight: 700; line-height: 1.2; }
.legal-updated { font-style: italic; color: var(--muted); margin: 6px 0 24px !important; }
.legal h3 { font-size: 1.35rem; font-weight: 700; line-height: 1.3; margin: 44px 0 12px; scroll-margin-top: 16px; }
.legal h4 { font-size: 1.08rem; font-weight: 600; margin: 24px 0 8px; }
.legal section { scroll-margin-top: 16px; }

.legal p { margin: 0 0 16px; }
.legal b { font-weight: 600; }
.legal a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.legal a:hover { text-decoration-color: var(--ink); }
.legal a:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }

.legal-list { margin: 0 0 16px; padding-left: 1.25rem; }
.legal-list > li { margin-bottom: 10px; padding-left: 4px; }
.legal-list ul { margin: 10px 0 0; padding-left: 1.25rem; list-style: circle; }
.legal-list ul li { margin-bottom: 6px; }

.legal-rule { border: 0; border-top: 1px solid #d9d9d6; margin: 64px 0 40px; }

/* Cookie table */
.legal-table { width: 100%; border-collapse: collapse; margin: 8px 0 16px; font-size: .95rem; }
.legal-table th, .legal-table td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid #d9d9d6; }
.legal-table thead th { background: #f4f4f1; font-weight: 600; font-size: .85rem; }
/* Phones: each row becomes a stacked block instead of a squashed table. */
@media (max-width: 640px) {
  .legal-table thead { position: absolute; left: -10000px; }
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table td { display: block; width: 100%; }
  .legal-table tr { border-bottom: 1px solid #d9d9d6; padding: 10px 0; }
  .legal-table td { border: 0; padding: 2px 0; }
  .legal-table td:first-child { font-weight: 600; }
  .legal-table td:nth-child(2)::before { content: "Purpose: "; color: var(--muted); }
  .legal-table td:nth-child(3)::before { content: "Lasts: "; color: var(--muted); }
}

@media (min-width: 768px) {
  .legal-hero { min-height: 300px; }
  .legal-hero h1 { font-size: 3.6rem; }
  .legal { padding: 64px 24px 96px; font-size: 1.0625rem; }
  .legal .legal-title { font-size: 2rem; }
  .legal h3 { font-size: 1.5rem; }
}
