/* ============================================================
   ITQAN — English edition overrides (institutional-en.html)
   Sits on top of site.css / site-v2.css / site-institutional.css.
   Two jobs:
   1. Typography: the Plex superfamily the brand already speaks —
      IBM Plex Serif for display (as Amiri is for Arabic),
      IBM Plex Sans for body (as IBM Plex Sans Arabic is).
      Latin needs tighter leading and a smaller optical size.
   2. Direction: the institutional stylesheet is written in
      logical properties and flips on its own; only the handful of
      hard-coded arrows and animation origins are flipped here.
   ============================================================ */

/* ——— Type families ——— */
body {
  font-family: 'IBM Plex Sans', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  font-size: 16.5px;
  line-height: 1.65;
}
h1, h2, h3 {
  font-family: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  line-height: 1.22;
  letter-spacing: -0.012em;
}
.inst-h {
  line-height: 1.22;
  letter-spacing: -0.012em;
}
.brand-phrase {
  font-family: 'IBM Plex Serif', Georgia, serif;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -0.008em;
}
/* فيلم الهيرو: سطرا الترجمة فوق الفيلم */
.film-line {
  font-family: 'IBM Plex Serif', Georgia, serif;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.footer-derivation {
  font-family: 'IBM Plex Serif', Georgia, serif;
  line-height: 1.6;
  max-width: 26rem;
}
/* سطر الاشتقاق العربي في تذييل النسخة الإنجليزية: يبقى بأحرف عربية
   (dir=rtl لترتيب الحروف) لكنه يحاذي عمود علامته على اليسار */
.footer-derivation[dir="rtl"] { text-align: left; }
.latin-lockup { font-family: 'IBM Plex Mono', ui-monospace, monospace; }

/* ——— Latin optical sizes: smaller, tighter, calmer ——— */
.eyebrow { letter-spacing: .045em; font-size: 12.5px; }
.inst-point-title { font-size: 17.5px; line-height: 1.45; }
.inst-point-body > p { line-height: 1.68; font-size: 15.5px; }
.inst-proof { font-size: 13.5px; line-height: 1.6; }
.inst-value-lead { font-size: 16px; line-height: 1.72; }
.footer-tagline { line-height: 1.6; }
.ig-title { letter-spacing: -0.005em; }

/* أرقام الجدول والبطاقات: أرقام لاتينية متساوية العرض حيث تتراص */
.inum dt, .iliv-tr, .ib-result-num { font-variant-numeric: tabular-nums; }

/* ——— Direction flips: الأسهم ونقاط انطلاق الحركة ——— */
/* شريط التقدّم يمتلئ من اليسار في النسخة الإنجليزية */
.inst-bar { transform-origin: left; }
.ib-branches-lines i { transform-origin: left; }

/* سهم «يعمل به الآن» يتجه يمينًا وينزلق من اليسار */
.ig-owner-now { transform: translateX(-14px); }
.ig-owner-now::before { content: "→"; }

/* بطاقات وشرائح تنزلق من جهة البداية المعكوسة */
.igrid-copy { transform: translateX(-24px); }
.iliv-owner { transform: translateX(-12px); }
.iliv-v.is-new { transform: translateX(-16px); }
.iloc-chip { transition: transform 600ms var(--ease-settle), opacity 400ms ease; }

/* السهم الهارب من حدود البنية يخرج يمينًا */
@keyframes ipriv-escape {
  0% { opacity: .8; transform: translateX(0); }
  100% { opacity: 0; transform: translateX(14px); }
}

/* رفّ الكتاب ينطوي حول حرفته اليسرى */
.ipriv-book-cover { transform-origin: left center; }

/* حرف الصورة الرمزية في بطاقة الدليل */
.ig-avatar::after { content: "K"; }

/* ——— استجابة: إعادة الأحجام المضبوطة على الجوال ——— */
@media (max-width: 880px) {
  .inst-h { font-size: clamp(25px, 6.6vw, 32px); }
}

/* ——— v2 blocks (hero copy · how it works · numbers · part dividers · closing) ——— */
.hero-tagline, .inum dt, .inst-part, .iclose-sign {
  font-family: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
}
.hero-tagline { font-size: clamp(17px, 1.6vw, 21px); font-weight: 600; letter-spacing: -0.005em; }
.hero-copy .hero-heading { font-size: clamp(34px, 4vw, 54px); max-width: 17em; line-height: 1.14; }
.hero-copy .hero-lead { font-size: 17.5px; line-height: 1.65; max-width: 41rem; }
.hero-trust { font-size: 13px; }
.ihow-verb { font-size: 22px; line-height: 1.3; }
.ihow-step p { font-size: 15.5px; line-height: 1.68; }
.ihow-play svg { margin-inline-start: 3px; }
.ihow-cap { line-height: 1.6; }
.inum dt { font-size: clamp(40px, 4.4vw, 58px); font-weight: 600; letter-spacing: -0.02em; }
.inum dt small { font-family: 'IBM Plex Sans', sans-serif; letter-spacing: 0; }
.inum dd { font-size: 15px; line-height: 1.62; }
.inst-part { font-size: clamp(18px, 1.8vw, 22px); font-weight: 600; }
.iclose .inst-h { font-size: clamp(28px, 3.6vw, 44px); }
.iclose-lead { font-size: 16.5px; line-height: 1.7; }
.iclose-sign { font-size: clamp(16px, 1.6vw, 19px); font-weight: 600; }
.iplat-item b { font-size: 14px; }
.inst-part { font-size: clamp(18px, 1.8vw, 22px); }
@media (max-width: 880px) { .inst-point-title { font-size: 16.5px; } }
.pv-doc-title { font-family: 'IBM Plex Serif', Georgia, serif; font-weight: 600; letter-spacing: -0.01em; }
.it-head .inst-h { max-width: 22em; }

/* >>> v4-pains */
/* ——— Challenge cards + challenges-en.html: Latin display sizes ——— */
.ipain-q, .chal-frame h1, .chal-h, .chal-fig, .chal-fix-h, .chal-loss {
  font-family: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
  letter-spacing: -0.012em;
}
.ipain-q { font-size: clamp(22px, 2.2vw, 27px); font-weight: 600; line-height: 1.3; }
.ipain-name { font-size: 15.5px; line-height: 1.35; }
.ipain-line { font-size: 13px; line-height: 1.5; }
.ipain-t { gap: 7px; }
.chal-frame h1 { font-size: clamp(18px, 1.9vw, 22px); font-weight: 600; line-height: 1.35; }
.chal-fig small { font-family: 'IBM Plex Sans', sans-serif; letter-spacing: 0; }
.chal-kicker, .chal-part, .chal-tabs a, .chal-back { letter-spacing: .01em; }
.chal-h { font-size: clamp(30px, 4.1vw, 52px); line-height: 1.14; font-weight: 600; max-width: 19em; }
.chal-lead { font-size: 18px; line-height: 1.65; }
.chal-fig { font-size: clamp(34px, 3.6vw, 48px); font-weight: 600; font-variant-numeric: tabular-nums; }
.chal-fig.is-word { font-size: clamp(25px, 2.6vw, 34px); line-height: 1.2; }
.chal-points p { line-height: 1.62; font-size: 15px; }
.chal-fix-h { font-size: clamp(25px, 2.8vw, 35px); line-height: 1.22; font-weight: 600; }
.chal-fix-list p { line-height: 1.62; }
.chal-fix-list b { font-size: 17px; line-height: 1.45; }
.chal-loss { font-size: clamp(21px, 2.3vw, 29px); line-height: 1.32; font-weight: 600; }
.chal-next-t b { font-size: 16.5px; line-height: 1.45; }
.chal-tabs a { padding: 8px 11px; font-size: 13px; gap: 7px; }
.chal-rail-in { gap: 16px; }
.chal-back { padding-inline-end: 16px; }
/* <<< v4-pains */
