/* Frankel Fitness legal/static page cleanup */
.legal-page, body:has(.ff-policy-card) { overflow-x: hidden; }
body:has(.ff-policy-card) main,
.legal-page main { width: min(1040px, 94vw) !important; margin-inline: auto !important; }
body:has(.ff-policy-card) h1,
.legal-page h1 { font-size: clamp(2rem, 9vw, 4rem) !important; line-height: 1.05 !important; }
body:has(.ff-policy-card) p,
body:has(.ff-policy-card) li,
.legal-page p,
.legal-page li { font-size: clamp(.95rem, 3.9vw, 1.02rem) !important; }
body:has(.ff-policy-card) .ff-table-wrap,
.legal-page .ff-table-wrap { max-width: 100%; overflow-x: auto; }
body:has(.ff-policy-card) table,
.legal-page table { max-width: 100%; }
@media (max-width: 700px) {  body:has(.ff-policy-card) .ff-policy-card,
  .legal-page .ff-policy-card { border-radius: 14px; }
  body:has(.ff-policy-card) .ff-policy-content,
  .legal-page .ff-policy-content { padding: 18px !important; }
}


/* Global legal page rhythm repair */
body.legal-page main {
  width: min(1040px, 94vw) !important;
  margin-inline: auto !important;
  padding: clamp(72px, 8vw, 120px) 0 clamp(64px, 8vw, 110px) !important;
}

body.legal-page h1 {
  max-width: 920px !important;
  margin-top: 0 !important;
}

body.legal-page h2,
body.legal-page h3,
body.legal-page p,
body.legal-page li {
  max-width: 920px !important;
}

body.policy-page.legal-page main {
  min-height: 65vh !important;
}

body.policy-page.legal-page h1 {
  font-size: clamp(3rem, 7vw, 5.25rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.04em !important;
}

body.policy-page.legal-page h2 {
  margin-top: 32px !important;
}

body.policy-page.legal-page p {
  font-size: clamp(1rem, 1.6vw, 1.08rem) !important;
  line-height: 1.72 !important;
}
