/* Legal pages: Privacy Policy + Terms of Use (prefix: legal-) */

/* ---------- Hero ---------- */
.legal-hero {
  background: #faf9f4;
  padding-block: clamp(48px, 4.8vw, 68px) clamp(56px, 8.4vw, 120px);
}
.legal-hero__eyebrow { font-size: 16px; color: var(--gold-500); letter-spacing: 0.02em; margin-bottom: clamp(14px, 1.7vw, 24px); }
.legal-hero__title {
  font-size: clamp(38px, 3.75vw, 54px);
  line-height: 1.2;
  font-weight: 700;
  color: var(--navy-950);
  letter-spacing: -0.01em;
}
.legal-hero__intro {
  max-width: 700px;
  margin-top: clamp(16px, 1.8vw, 26px);
  font-size: clamp(17px, 1.32vw, 19px);
  line-height: 1.63;
  color: #4d4d47;
}
.legal-hero__updated {
  margin-top: 16px;
  font-size: 15px;
  font-weight: 600;
  color: var(--gold-500);
}

.legal-hero--dark { background: var(--navy-950); padding-bottom: clamp(48px, 3.6vw, 52px); }
.legal-hero--dark .legal-hero__eyebrow { color: #c9a451; }
.legal-hero--dark .legal-hero__title { color: var(--white); }
.legal-hero--dark .legal-hero__intro { color: #d6dbde; }

/* ---------- Body rows ---------- */
.legal-body { padding-block: clamp(32px, 2.5vw, 36px) clamp(56px, 6vw, 88px); }
.legal-body__inner { max-width: calc(1080px + 2 * var(--gutter)); }

.legal-item {
  display: grid;
  grid-template-columns: minmax(0, 400px) minmax(0, 1fr);
  align-items: start;
  padding-block: clamp(36px, 5.2vw, 75px);
  border-bottom: 1px solid #dbdbd4;
}
.legal-item:last-child { border-bottom: 0; }
.legal-item__title {
  padding-right: 24px;
  font-size: clamp(20px, 1.67vw, 24px);
  line-height: 1.25;
  font-weight: 700;
  color: var(--navy-950);
}
.legal-item__copy {
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.72;
  color: #4d4d47;
}
.legal-item__copy a { color: var(--navy-950); text-decoration: underline; text-decoration-color: var(--gold-500); text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-item__copy a:hover { color: var(--gold-500); }

/* Terms variant: slightly tighter rhythm */
.legal-body--terms .legal-item { grid-template-columns: minmax(0, 390px) minmax(0, 1fr); padding-block: clamp(32px, 4.9vw, 70px) clamp(32px, 3.9vw, 56px); }
.legal-body--terms .legal-item__title { font-size: clamp(19px, 1.53vw, 22px); }
.legal-body--terms .legal-item__copy { line-height: 1.67; }

@media (max-width: 1180px) {
  .legal-item,
  .legal-body--terms .legal-item { grid-template-columns: minmax(0, 280px) minmax(0, 1fr); }
}

@media (max-width: 720px) {
  .legal-item,
  .legal-body--terms .legal-item { grid-template-columns: 1fr; gap: 12px; }
  .legal-item__title { padding-right: 0; }
}

/* =========================================================
   Compact (v3.2) — tighter hero and row rhythm
   ========================================================= */
.legal-hero { padding-block: clamp(40px, 4vw, 56px) clamp(48px, 5vw, 72px); }
.legal-hero--dark { padding-bottom: clamp(40px, 3.6vw, 52px); }
.legal-hero__title { font-size: clamp(36px, 3.5vw, 50px); }
.legal-body { padding-block: 24px clamp(48px, 5vw, 72px); }
.legal-item { padding-block: clamp(28px, 3vw, 40px); }
.legal-body--terms .legal-item { padding-block: clamp(28px, 3vw, 40px); }
