/* Shared RTL text baseline. Direction comes from <html>; photos and logos never flip.
   Physical exceptions retained by user choice: cookie buttons and contact shortcuts. */
@font-face {
  font-family: 'LI Noto Sans Arabic'; font-style: normal; font-weight: 400;
  font-display: swap; src: url('fonts/noto-sans-arabic-400.woff2') format('woff2');
  unicode-range: U+0600-08FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF;
}
@font-face {
  font-family: 'LI Noto Sans Arabic'; font-style: normal; font-weight: 600;
  font-display: swap; src: url('fonts/noto-sans-arabic-600.woff2') format('woff2');
  unicode-range: U+0600-08FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF;
}
@font-face {
  font-family: 'LI Noto Sans Arabic'; font-style: normal; font-weight: 700;
  font-display: swap; src: url('fonts/noto-sans-arabic-700.woff2') format('woff2');
  unicode-range: U+0600-08FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF;
}
@font-face {
  font-family: 'LI Vazirmatn'; font-style: normal; font-weight: 100 900;
  font-display: swap; src: url('fonts/vazirmatn-variable.woff2') format('woff2');
  unicode-range: U+0600-08FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF;
}
@font-face {
  font-family: 'LI Noto Naskh Arabic'; font-style: normal; font-weight: 400;
  font-display: swap; src: url('fonts/noto-naskh-arabic-400.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0600-08FF,U+2000-206F,U+FB50-FDFF,U+FE70-FEFF;
}
@font-face {
  font-family: 'LI Noto Naskh Arabic'; font-style: normal; font-weight: 500;
  font-display: swap; src: url('fonts/noto-naskh-arabic-500.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0600-08FF,U+2000-206F,U+FB50-FDFF,U+FE70-FEFF;
}
html[lang='ar'][dir='rtl'] { --li-rtl-font: 'LI Noto Sans Arabic'; }
html[lang='fa'][dir='rtl'] { --li-rtl-font: 'LI Vazirmatn'; }
html[dir='rtl'][lang] body,
html[dir='rtl'][lang] body :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,th,td,a,button,input,textarea,select,label,summary,blockquote,span,small,strong,em,bdi) {
  /* Display headings opt into a separate face; their spans inherit the same
     token, while body copy and controls retain their locale's reading face. */
  font-family: var(--li-rtl-type, var(--li-rtl-font)), 'Outfit', Tahoma, Arial, sans-serif !important;
}
html[dir='rtl'][lang] body :where(*) {
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-style: normal !important;
}
html[dir='rtl'][lang] body :is(em,i) { font-style: normal; }
html[dir='rtl'][lang] body :is(p,li,dt,dd,blockquote) { line-height: 1.8; }
html[dir='rtl'][lang] body :is(h1,h2,h3,h4,h5,h6) { line-height: 1.5; }
html[dir='rtl'][lang] #header[data-li-navigation],
html[dir='rtl'][lang] #header[data-li-navigation] :where(:not(svg,svg *)) {
  font-family: var(--li-rtl-font), 'Outfit', Tahoma, Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html[dir='rtl'] body.blog-hero-sidebar.entry-ban-guide-page.blog-v5-pilot .page-head h1,
html[dir='rtl'] .blog-v5-pilot .v5-author-card,
html[dir='rtl'] .blog-v5-pilot .article-main .v5-route-map td,
html[dir='rtl'] .blog-v5-pilot .article-main .v5-route-map tr::before,
html[dir='rtl'] .blog-v5-pilot .article-main .v5-faq-item {
  font-family: var(--li-rtl-type, var(--li-rtl-font)), 'Outfit', Tahoma, Arial, sans-serif !important;
}
/* Preserve the brand's display/reading hierarchy. Article H2/H3, FAQ questions,
   cards, author boxes, calculator steps and navigation stay in the reading face. */
html[dir='rtl'][lang] main h1,
html[dir='rtl'][lang] main :is(.section-heading,.cta-heading),
html[dir='rtl'][lang] :is(.li-home-about,[data-home-approach],.li-home-voices,[data-home-faq]) h2,
html[dir='rtl'][lang] main.li-about-rebuild :is(.la-intro,.la-process,.la-practice,.la-founder,.la-final) h2 {
  --li-rtl-type: 'LI Noto Naskh Arabic';
  font-weight: 500;
  line-height: 1.5;
}
html[dir='rtl'][lang] main h1 :is(span,em) { font-weight: inherit; }
html[dir='rtl'][lang] body.blog-hero-sidebar.entry-ban-guide-page.blog-v5-pilot.v5-desktop-split.v5-mobile-split .page-head h1 {
  line-height: 1.5 !important;
}
html[dir='rtl'] :is(input[type='email'],input[type='tel'],input[type='url'],[data-li-ltr-value]) {
  direction: ltr; unicode-bidi: isolate; text-align: start;
}
html[dir='rtl'] bdi[dir='ltr'] { unicode-bidi: isolate; }
/* The Persian label is almost 200px at 25/500. Keep breathing room in its
   existing desktop column and allow normal wrapping when text is enlarged. */
html[lang='fa'][dir='rtl'] .li-associations .li-associations-title {
  font-size: 23px;
  font-weight: 500;
  line-height: 1.6;
  overflow-wrap: normal;
  text-wrap: balance;
}
html[dir='rtl'] .li-home-voices__button svg { transform: scaleX(-1); }
html[dir='rtl'] .reveal-left { transform: translateX(44px); }
html[dir='rtl'] .reveal-right { transform: translateX(-44px); }
html[dir='rtl'] :is(.reveal-left,.reveal-right).visible { transform: none; }
@media (prefers-reduced-motion: reduce) {
  html[dir='rtl'] :is(.reveal-left,.reveal-right) { transform: none; }
}

/* LI RTL directional arrows 20261101. Mirror navigation, not every icon.
   Existing nav, hero/about, profile link, V5 related, about-us and visa flips
   are deliberately absent so parent/child transforms cannot double-mirror. */
html[dir='rtl'] :is(
  [data-home-approach] .home-approach-about,
  [data-home-approach] .home-approach-contact,
  [data-home-faq] .home-faq-actions a,
  [data-home-blog] .blog-all,
  .bcard-read,
  .cta-btn,
  .editorial-consult-button,
  .li-service-cards .li-service-open,
  [data-immigration-hub] .ih-button,
  [data-immigration-hub] .ih-text-link,
  [data-immigration-hub] .ih-service-arrow,
  [data-immigration-hub] .ih-final-cta-link,
  [data-property-hub] .ih-button,
  [data-property-hub] .ih-text-link,
  [data-property-hub] .ih-service-arrow,
  [data-business-hub] .ih-button,
  [data-business-hub] .ih-text-link,
  [data-business-hub] .ih-service-arrow,
  [data-private-hub] .ih-button,
  [data-private-hub] .ih-text-link,
  [data-private-hub] .ih-service-arrow,
  .li-investment-service .is-button,
  .li-investment-service .is-text-link,
  .li-investment-service .is-hero-link,
  .li-investment-service .is-reading-arrow
) > svg { transform: scaleX(-1) translate(var(--li-rtl-arrow-x,0px),var(--li-rtl-arrow-y,0px)) !important; }

/* A mirrored +x translation moves physically left, preserving the original
   animation's distance and its upward component for diagonal link arrows. */
html[dir='rtl'] [data-home-approach] .home-approach-about:is(:hover,:focus-visible) > svg {
  --li-rtl-arrow-x: 3px; --li-rtl-arrow-y: 0px;
}
html[dir='rtl'] [data-home-approach] .home-approach-contact:is(:hover,:focus-visible) > svg,
html[dir='rtl'] [data-home-blog] .bcard:is(:hover,:focus-visible) .bcard-read > svg,
html[dir='rtl'] :is([data-immigration-hub],[data-property-hub],[data-business-hub],[data-private-hub]) :is(.ih-button,.ih-text-link):is(:hover,:focus-visible) > svg,
html[dir='rtl'] [data-immigration-hub] .ih-final-cta-link:is(:hover,:focus-visible) > svg,
html[dir='rtl'] .li-investment-service :is(.is-button,.is-text-link,.is-hero-link):is(:hover,:focus-visible) > svg,
html[dir='rtl'] .li-investment-service .is-reading-item:is(:hover,:focus-visible) .is-reading-arrow > svg {
  --li-rtl-arrow-x: 2px; --li-rtl-arrow-y: -2px;
}
html[dir='rtl'] :is([data-immigration-hub],[data-property-hub],[data-business-hub],[data-private-hub]) .ih-service:is(:hover,:focus-visible) .ih-service-arrow > svg {
  --li-rtl-arrow-x: 1px; --li-rtl-arrow-y: -1px;
}

/* These Unicode arrows do not have Unicode bidi-mirroring, unlike ‹ / ›. */
html[dir='rtl'] body.li-guides-page .download-btn::after,
html[dir='rtl'] .case-studies-page .case-contact a::after {
  content: '↖'; direction: ltr; unicode-bidi: isolate;
}
html[dir='rtl'] .article-topic-cta.article-topic-cta--file-note .cta-actions a::after {
  content: '←'; direction: ltr; unicode-bidi: isolate; display: inline-block;
  margin-left: 0; margin-right: 10px;
}

/* Force physical glyph orientation before existing one-time CSS mirroring.
   Profile stores › then mirrors once; V5 explicitly stores ‹ with no CSS flip.
   This is separate from the missing-arrow list and must be visually tested. */
html[dir='rtl'] .li-lawyer-profile .lp-breadcrumb > span[aria-hidden],
html[dir='rtl'] .blog-v5-pilot .v5-breadcrumb li + li::before {
  direction: ltr; unicode-bidi: isolate; display: inline-block;
}

@media (prefers-reduced-motion: reduce) {
  /* Preserve the mirror while removing only translational motion. */
  html[dir='rtl'] :is(
    [data-home-approach] .home-approach-about,
    [data-home-approach] .home-approach-contact,
    [data-home-faq] .home-faq-actions a,
    [data-home-blog] .blog-all,
    .bcard-read,
    .cta-btn,
    .editorial-consult-button,
    .li-service-cards .li-service-open,
    [data-immigration-hub] .ih-button,
    [data-immigration-hub] .ih-text-link,
    [data-immigration-hub] .ih-service-arrow,
    [data-immigration-hub] .ih-final-cta-link,
    [data-property-hub] .ih-button,
    [data-property-hub] .ih-text-link,
    [data-property-hub] .ih-service-arrow,
    [data-business-hub] .ih-button,
    [data-business-hub] .ih-text-link,
    [data-business-hub] .ih-service-arrow,
    [data-private-hub] .ih-button,
    [data-private-hub] .ih-text-link,
    [data-private-hub] .ih-service-arrow,
    .li-investment-service .is-button,
    .li-investment-service .is-text-link,
    .li-investment-service .is-hero-link,
    .li-investment-service .is-reading-arrow
  ) > svg { --li-rtl-arrow-x: 0px !important; --li-rtl-arrow-y: 0px !important; }
}

/* External destination indicators in the contact office/scheduling links. */
html[dir='rtl'] :is(.contact-page-map-link,.contact-page-appointment a,.la-founder-profile .la-profile-cta) > span[aria-hidden='true'] {
  display: inline-block; direction: ltr; unicode-bidi: isolate; transform: scaleX(-1);
}
