/* ============================================================
   TYPOGRAPHY — Persian (فارسی)
   Scoped to html[data-lang="fa"]. Vazirmatn-tuned: generous
   leading, zero Latin tracking, no uppercase, wider measures.
   Independent control per element and per breakpoint.
   ============================================================ */

html[data-lang="fa"] body{
  font-family: var(--font-fa);
  font-weight: 400;
  line-height: 1.9;
  font-size: 16px;
  letter-spacing: 0;
  word-spacing: .01em;
  font-feature-settings: normal;
}

/* No Latin tracking / uppercase anywhere in Persian */
html[data-lang="fa"] *{ letter-spacing: 0 !important; text-transform: none !important; }

/* ----- Label / index elements (Vazirmatn, not mono) ----- */
html[data-lang="fa"] .caption{ font-family: var(--font-fa); font-size: 12px; font-weight: 500; color: var(--mute); }
html[data-lang="fa"] .eyebrow{ font-size: 13px; font-weight: 600; }
html[data-lang="fa"] .nav__brand{ font-size: 15px; font-weight: 600; }
html[data-lang="fa"] .nav__mark{ font-family: var(--font-fa); font-size: 13px; font-weight: 700; }
html[data-lang="fa"] .nav__menu{ font-size: 14.5px; font-weight: 500; }
html[data-lang="fa"] .lang-toggle{ font-family: var(--font-mono); font-size: 11px; }
html[data-lang="fa"] .nav__cta{ font-size: 14px; font-weight: 500; }
html[data-lang="fa"] .btn{ font-size: 14.5px; font-weight: 500; }
html[data-lang="fa"] .tags li{ font-family: var(--font-fa); font-size: 13px; font-weight: 500; }
html[data-lang="fa"] .service__num{ font-family: var(--font-fa); font-size: 15px; font-weight: 600; }
html[data-lang="fa"] .steps__num{ font-family: var(--font-fa); font-size: 14px; font-weight: 600; }
html[data-lang="fa"] .defs dt{ font-family: var(--font-fa); font-size: 13px; font-weight: 600; color: var(--mute); }
html[data-lang="fa"] .field label{ font-family: var(--font-fa); font-size: 13px; font-weight: 500; color: var(--mute); }

/* ----- Display & headings ----- */
html[data-lang="fa"] .display{ font-size: clamp(40px, 7.4vw, 110px); line-height: 1.18; font-weight: 600; }
html[data-lang="fa"] .h2{ font-size: clamp(24px, 3.6vw, 46px); line-height: 1.45; font-weight: 600; max-width: 28ch; }
html[data-lang="fa"] .h3{ font-size: clamp(19px, 1.9vw, 25px); line-height: 1.55; font-weight: 600; }
html[data-lang="fa"] .h4{ font-size: 17px; line-height: 1.6; font-weight: 600; }

/* ----- Body copy (generous leading) ----- */
html[data-lang="fa"] .subtitle{ font-size: clamp(16px, 1.5vw, 20px); line-height: 1.8; max-width: 56ch; }
html[data-lang="fa"] .lede{ font-size: clamp(17px, 1.6vw, 22px); line-height: 1.85; max-width: 58ch; }
html[data-lang="fa"] .prose p{ font-size: 16px; line-height: 2; max-width: 58ch; }
html[data-lang="fa"] .hero__body p{ font-size: clamp(16px, 1.35vw, 18px); line-height: 2; }
html[data-lang="fa"] .pullquote{ font-size: clamp(20px, 2.3vw, 28px); line-height: 1.85; max-width: 40ch; font-weight: 500; }
html[data-lang="fa"] .service__body p{ font-size: 15.5px; line-height: 1.95; }
html[data-lang="fa"] .service__body ul li{ font-size: 14.5px; line-height: 1.9; }
html[data-lang="fa"] .trio__label{ font-size: 21px; font-weight: 600; }
html[data-lang="fa"] .trio p{ font-size: 15px; line-height: 1.95; }
html[data-lang="fa"] .steps li p{ font-size: 15px; line-height: 1.95; }
html[data-lang="fa"] .defs dd{ font-size: 15.5px; line-height: 1.85; }
html[data-lang="fa"] .saghar__grid p{ font-size: 15px; line-height: 1.95; }
html[data-lang="fa"] .priorities li span{ font-size: 18px; font-weight: 600; line-height: 1.7; }
html[data-lang="fa"] .priorities li p{ font-size: 15px; line-height: 1.95; }
html[data-lang="fa"] .actions p{ font-size: 14.5px; line-height: 1.9; }
html[data-lang="fa"] .fit ul li{ font-size: 15px; line-height: 1.85; }
html[data-lang="fa"] .vision li p{ font-size: 15px; line-height: 1.95; }
html[data-lang="fa"] .banner__c{ font-size: clamp(15px, 1.3vw, 17px); line-height: 1.95; max-width: 58ch; }
html[data-lang="fa"] .banner__h{ max-width: 28ch; }
html[data-lang="fa"] .contact__info dd{ font-size: 15px; line-height: 1.85; }
html[data-lang="fa"] .form__note{ font-size: 12.5px; line-height: 1.9; }
html[data-lang="fa"] .form__success{ font-size: 13.5px; line-height: 1.8; }
html[data-lang="fa"] .footer__name{ font-size: 15.5px; font-weight: 600; }
html[data-lang="fa"] .footer__mark{ font-family: var(--font-fa); font-size: 15px; font-weight: 700; }
html[data-lang="fa"] .footer__tag{ font-size: 13.5px; line-height: 1.85; }
html[data-lang="fa"] .footer__nav{ font-size: 13.5px; line-height: 1.9; }
html[data-lang="fa"] .footer__meta{ font-size: 13.5px; line-height: 1.9; }
html[data-lang="fa"] .footer__legal{ font-size: 12.5px; }
html[data-lang="fa"] .loader__mark{ font-size: clamp(22px, 3vw, 30px); font-weight: 600; }
html[data-lang="fa"] .loader__code{ font-family: var(--font-fa); font-size: 12px; font-weight: 500; }
html[data-lang="fa"] .loader__pct{ font-family: var(--font-mono); font-size: 11px; }
html[data-lang="fa"] .loader__meta{ color: var(--mute); }

/* Latin fragments inside Persian (B2B, emails) keep Latin font */
html[data-lang="fa"] .contact__info a,
html[data-lang="fa"] .footer__meta p:first-child{ font-family: var(--font-sans); }

@media (max-width: 720px){
  html[data-lang="fa"] body{ font-size: 15px; line-height: 1.95; }
  html[data-lang="fa"] .display{ font-size: clamp(32px, 9.5vw, 50px); line-height: 1.25; }
  html[data-lang="fa"] .h2{ font-size: clamp(21px, 6vw, 30px); line-height: 1.55; max-width: 24ch; }
  html[data-lang="fa"] .h3{ font-size: 19px; }
  html[data-lang="fa"] .h4{ font-size: 16px; }
  html[data-lang="fa"] .subtitle{ font-size: 15.5px; line-height: 1.85; }
  html[data-lang="fa"] .lede{ font-size: 16px; line-height: 1.9; }
  html[data-lang="fa"] .pullquote{ font-size: 19px; line-height: 1.9; }
  html[data-lang="fa"] .prose p, html[data-lang="fa"] .hero__body p{ line-height: 2.05; }
  html[data-lang="fa"] .nav.is-open .nav__menu{ font-size: 17px; }
  html[data-lang="fa"] .tags li{ font-size: 12.5px; }
}
