/* ==========================================================================
   STEP — RTL specifics. Layout already uses logical properties; this file
   only flips what logical properties cannot express (transforms, origins).
   ========================================================================== */

body.is-rtl {
	--origin-start: right;
	--origin-end: left;
	--nudge: -.5rem;
	--oc-from: -100%;
}

/* Arrows point the reading direction */
.is-rtl .i-arrow { transform: scaleX(-1); }
.is-rtl .btn:hover .i-arrow { transform: scaleX(-1) translateX(4px); }
.is-rtl .svc-nav-list .i-arrow { transform: scaleX(-1) translateX(-6px); }
.is-rtl .svc-nav-list a:hover .i-arrow { transform: scaleX(-1); }

/* Arabic never uses letter-spacing / uppercase */
.is-rtl .sec-title,
.is-rtl .hero-title,
.is-rtl .page-title,
.is-rtl .cta-title,
.is-rtl .tl-title,
.is-rtl .small-label,
.is-rtl .footer-title { letter-spacing: 0; text-transform: none; }

/* Numbers and Latin labels stay LTR inside RTL text */
.is-rtl .sec-num,
.is-rtl .svc-num,
.is-rtl .why-num,
.is-rtl .ind-num,
.is-rtl .tl-num,
.is-rtl .svc-row-num { direction: ltr; unicode-bidi: isolate; }

/* Offcanvas opens from the left edge in RTL (inset-inline-end) */
.is-rtl .offcanvas { transform: translateX(-100%); }
.is-rtl .offcanvas.is-open { transform: none; }

/* Hero frame offset mirrors */
.is-rtl .hero-media::before { inset-inline-start: -1.5rem; }

/* Arabic body copy reads better slightly larger */
.is-rtl .prose-lg,
.is-rtl .svc-body,
.is-rtl .sec-lead { line-height: 1.95; }
