/* ============================================================
   IMPECCABLE — Legal/policy pages premium typographic treatment
   Linked AFTER each page's inline <style> so it elevates without
   touching per-page markup. Editorial, restrained, readable.
   Brand: gold #c9a961 / #d4b876 on midnight navy #0c0c22.
   ============================================================ */

.legal-content {
  max-width: 760px !important;
  padding-top: clamp(7rem, 14vh, 9rem) !important;
  padding-bottom: clamp(4rem, 9vh, 7rem) !important;
  line-height: 1.75 !important;
  color: rgba(255, 255, 255, 0.74) !important;
  font-size: clamp(1rem, 1.05vw, 1.06rem);
}

/* Editorial back-link */
.legal-content .back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 2.5rem !important;
  opacity: 0.85;
  transition: gap 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}
.legal-content .back-link:hover { gap: 0.85rem; opacity: 1; text-decoration: none !important; }

/* Commanding display H1 */
.legal-content h1 {
  font-family: var(--font-display, 'Playfair Display', Georgia, serif) !important;
  font-size: clamp(2.4rem, 5vw, 3.6rem) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.01em;
  margin-bottom: 1rem !important;
  text-wrap: balance;
}

/* "Last updated" line right under H1 reads as a quiet caption */
.legal-content h1 + p {
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(201, 169, 97, 0.7);
  margin-bottom: 2.5rem !important;
}
.legal-content h1 + p strong { color: var(--gold, #c9a961); font-weight: 500; }

/* Section headings: hairline-led, confident */
.legal-content h2 {
  font-family: var(--font-heading, 'Outfit', sans-serif) !important;
  font-size: clamp(1.25rem, 1.8vw, 1.55rem) !important;
  font-weight: 600 !important;
  color: #fff !important;
  letter-spacing: -0.005em;
  margin: 3.25rem 0 1.1rem !important;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(201, 169, 97, 0.14);
}
.legal-content h3 {
  font-family: var(--font-heading, 'Outfit', sans-serif) !important;
  font-size: 1.05rem !important;
  color: var(--gold-light, #d4b876) !important;
  margin: 1.75rem 0 0.6rem !important;
}

.legal-content p { margin-bottom: 1.25rem !important; }
.legal-content ul, .legal-content ol { margin-bottom: 1.4rem !important; padding-left: 1.4rem !important; }
.legal-content li { margin-bottom: 0.6rem !important; }
.legal-content li::marker { color: rgba(201, 169, 97, 0.6); }
.legal-content strong { color: rgba(255, 255, 255, 0.95); font-weight: 600; }

/* Animated gold underline on inline links */
.legal-content a:not(.back-link):not(.btn) {
  color: var(--gold, #c9a961) !important;
  text-decoration: none !important;
  background-image: linear-gradient(var(--gold, #c9a961), var(--gold, #c9a961));
  background-size: 0% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.legal-content a:not(.back-link):not(.btn):hover { background-size: 100% 1px; }

/* Tables (e.g. CCPA categories / retention) get editorial hairlines */
.legal-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0 !important;
  font-size: 0.9rem;
}
.legal-content th {
  text-align: left;
  color: var(--gold, #c9a961) !important;
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.7rem 0.75rem !important;
  border-bottom: 1px solid rgba(201, 169, 97, 0.3);
}
.legal-content td {
  padding: 0.7rem 0.75rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  vertical-align: top;
}

/* Callout / summary blocks (inline-styled boxes) sit on a calm tint */
.legal-content > p[style*="border-left"],
.legal-content > p[style*="background"] {
  border-radius: 6px;
}

/* Cross-link footer row at the bottom of each policy */
.legal-content > p:last-child a { letter-spacing: 0.02em; }

@media (max-width: 600px) {
  .legal-content h2 { font-size: 1.2rem !important; }
}
