/* Privacy and Contact (word for word from the previous site, in the new design) */
.ip-hero--legal { padding-bottom: 36px; }
.legal-head { max-width: 860px; }
.legal { padding: 20px 0 110px; }
.legal__body { max-width: 860px; font-size: 17px; line-height: 1.65; color: var(--body, #2a3b36); }
.legal__body h2 { margin: 56px 0 14px; font: 900 32px/1.15 var(--serif); letter-spacing: -0.01em; color: var(--heading, #02211c); }
.legal__body h3 { margin: 32px 0 10px; font: 700 18px/1.3 var(--font); color: var(--heading, #02211c); }
.legal__body p, .legal__body li { margin: 0 0 14px; }
.legal__body ul, .legal__body ol { margin: 0 0 18px; padding-inline-start: 22px; }
/* Contact's ordered lists already carry their own explicit 01/02 labels. */
.legal__body ol:has(> li > h3), .legal__body ol:has(> li > p) { list-style: none; padding-inline-start: 0; }
.legal__body a { color: var(--teal-ink, #0b6e63); text-decoration: underline; text-underline-offset: 3px; }
.legal__body dl { display: grid; grid-template-columns: minmax(150px, 230px) 1fr; gap: 0; margin: 18px 0 26px; border-top: 1px solid rgb(0 0 0 / .1); }
.legal__body dt, .legal__body dd { margin: 0; padding: 12px 0; border-bottom: 1px solid rgb(0 0 0 / .1); }
.legal__body dt { font-weight: 600; color: var(--muted, #52625d); padding-inline-end: 16px; }
.legal__body [lang="ar"] { font-family: "IBM Plex Sans Arabic", var(--font); }
.legal__body table { width: 100%; margin: 18px 0 26px; border-collapse: collapse; font-size: 15px; }
.legal__body th, .legal__body td { padding: 10px 12px; text-align: start; vertical-align: top; border-bottom: 1px solid rgb(0 0 0 / .1); }
@media (max-width: 640px) {
  .legal { padding-bottom: 80px; }
  .legal__body { font-size: 16px; }
  .legal__body h2 { margin-top: 42px; font-size: 26px; }
  .legal__body dl { grid-template-columns: 1fr; }
  .legal__body dt { padding-bottom: 0; border-bottom: 0; }
}

.legal__body .contact-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 8px 0 28px; }
.legal__body .contact-card { padding: 22px 24px 8px; border-radius: 20px; background: var(--soft, #f3f6f5); }
.legal__body .contact-card small { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted, #52625d); }
.legal__body .contact-card h3, .legal__body .contact-card h2 { margin: 0 0 6px; font: 600 26px/1.15 var(--serif); letter-spacing: normal; }
.legal__body .contact-card__v { margin: 0 0 10px; font-weight: 600; font-size: 19px; }
@media (max-width: 640px) { .legal__body .contact-cards { grid-template-columns: 1fr; } }
