[dir="rtl"] body { direction: rtl; }

/* Reverse horizontal spacing utilities used in the site */
[dir="rtl"] .space-x-3 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 1; }
[dir="rtl"] .space-x-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 1; }
[dir="rtl"] .space-x-8 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 1; }

/* Swap common margin-left/right used in this site */
[dir="rtl"] .ml-1 { margin-left: 0 !important; margin-right: 0.25rem !important; }
[dir="rtl"] .ml-2 { margin-left: 0 !important; margin-right: 0.5rem !important; }
[dir="rtl"] .ml-4 { margin-left: 0 !important; margin-right: 1rem !important; }
[dir="rtl"] .mr-1 { margin-right: 0 !important; margin-left: 0.25rem !important; }
[dir="rtl"] .mr-2 { margin-right: 0 !important; margin-left: 0.5rem !important; }
[dir="rtl"] .mr-4 { margin-right: 0 !important; margin-left: 1rem !important; }

/* Swap text alignment helpers when explicitly used */
[dir="rtl"] .text-left { text-align: right !important; }
[dir="rtl"] .text-right { text-align: left !important; }

/* Services dropdown alignment in RTL */
[dir="rtl"] nav .group > div.absolute { left: auto !important; right: 0 !important; }

/* Timeline spacing fixes in RTL
   Items that are on the right side in LTR use pr-*; in RTL they should use pl-* to keep
   spacing around the center line visually balanced. Likewise, left-side items swap pl-* to pr-*.
*/
[dir="rtl"] .text-right.pr-8 { padding-right: 0 !important; padding-left: 2rem !important; }
@media (min-width: 768px) { [dir="rtl"] .text-right.md\:pr-12 { padding-right: 0 !important; padding-left: 3rem !important; } }

[dir="rtl"] .text-left.pl-8 { padding-left: 0 !important; padding-right: 2rem !important; }
@media (min-width: 768px) { [dir="rtl"] .text-left.md\:pl-12 { padding-left: 0 !important; padding-right: 3rem !important; } }


