/* Directional adaptation for the Arabic experience. */
html[dir="rtl"] body,
html[dir="rtl"] button,
html[dir="rtl"] input,
html[dir="rtl"] select,
html[dir="rtl"] textarea {
	direction: rtl;
	font-family: var(--sfm-font-sans);
}

html[dir="rtl"] body {
	line-height: 1.8;
}

html[dir="rtl"] body * {
	letter-spacing: normal;
}

html[dir="rtl"] :is(h1, h2, h3, h4, h5, h6) {
	line-height: 1.35;
}

html[dir="rtl"] {
	--sfm-font-sans: Tahoma, Arial, sans-serif;
}

html[dir="rtl"] body,
html[dir="rtl"] .site-main,
html[dir="rtl"] .page-body,
html[dir="rtl"] .career-page,
html[dir="rtl"] .news,
html[dir="rtl"] .contact-page,
html[dir="rtl"] .service-page,
html[dir="rtl"] .projects-page {
	text-align: start;
}

html[dir="rtl"] .hd,
html[dir="rtl"] .hd-wrap,
html[dir="rtl"] .hd-top,
html[dir="rtl"] .hd-actions,
html[dir="rtl"] .hd-nav,
html[dir="rtl"] .hd-drawer,
html[dir="rtl"] .hd-panels {
	direction: rtl;
}

html[dir="rtl"] .hd-language {
	direction: rtl;
}

html[dir="rtl"] .hd-language__menu {
	text-align: right;
}

html[dir="rtl"] .hd-mega a {
	padding-left: 26px;
	padding-right: 26px;
	border-left: 0;
	border-right: 1px solid rgba(255, 255, 255, 0.14);
}

html[dir="rtl"] .hd-mega a:first-child {
	padding-left: 26px;
	padding-right: 0;
	border-right: 0;
}

html[dir="rtl"] .hd-nav,
html[dir="rtl"] .hd-actions,
html[dir="rtl"] .hd-search-row,
html[dir="rtl"] .news-toolbar,
html[dir="rtl"] .news-card__meta,
html[dir="rtl"] .career-job__meta,
html[dir="rtl"] .footer-social,
html[dir="rtl"] .footer-bottom {
	direction: rtl;
}

html[dir="rtl"] .hd-nav a,
html[dir="rtl"] .hd-drawer a,
html[dir="rtl"] .footer,
html[dir="rtl"] .footer a,
html[dir="rtl"] .news-card__body,
html[dir="rtl"] .career-job__content,
html[dir="rtl"] .career-application,
html[dir="rtl"] .career-intro,
html[dir="rtl"] .career-explore,
html[dir="rtl"] .career-positions,
html[dir="rtl"] .contact-form,
html[dir="rtl"] .contact-details {
	text-align: start;
}

html[dir="rtl"] .career-form__grid,
html[dir="rtl"] .contact-form__grid,
html[dir="rtl"] .news-grid,
html[dir="rtl"] .sfm-service-tabs,
html[dir="rtl"] .service-cards,
html[dir="rtl"] .project-filters,
html[dir="rtl"] .project-grid {
	direction: rtl;
}

html[dir="rtl"] .career-field input,
html[dir="rtl"] .career-field select,
html[dir="rtl"] .career-field textarea,
html[dir="rtl"] .contact-form input,
html[dir="rtl"] .contact-form select,
html[dir="rtl"] .contact-form textarea,
html[dir="rtl"] .news-search__input {
	text-align: start;
}

html[dir="rtl"] .career-consent,
html[dir="rtl"] .contact-form__consent,
html[dir="rtl"] .sfm-checkbox-label {
	direction: rtl;
}

html[dir="rtl"] .career-form__submit svg,
html[dir="rtl"] .news-card__more svg,
html[dir="rtl"] .button-arrow,
html[dir="rtl"] .sfm-arrow-forward {
	transform: scaleX(-1);
}

html[dir="rtl"] .page-hero__content,
html[dir="rtl"] .hero-content,
html[dir="rtl"] .section-heading,
html[dir="rtl"] .section-intro,
html[dir="rtl"] .about-content,
html[dir="rtl"] .service-content,
html[dir="rtl"] .contact-content {
	text-align: start;
}

html[dir="rtl"] .page-hero__scrim {
	background:
		linear-gradient(270deg, rgba(10, 20, 70, 0.40) 0%, rgba(10, 20, 70, 0.10) 60%, rgba(10, 20, 70, 0.24) 100%),
		rgb(22 44 130 / 0.32);
}

html[dir="rtl"] .news-pagination ul,
html[dir="rtl"] .project-pagination ul {
	direction: rtl;
}

html[dir="rtl"] .sfm-footer {
	direction: rtl;
	text-align: start;
}

html[dir="rtl"] .sfm-footer__col:first-child {
	padding-inline-start: 0;
	padding-inline-end: 24px;
}

html[dir="rtl"] .sfm-footer__col:last-child {
	padding-inline-start: 24px;
	padding-inline-end: 0;
}

html[dir="rtl"] .sfm-footer__col + .sfm-footer__col::before {
	left: auto;
	right: auto;
	inset-inline-start: 0;
}

html[dir="rtl"] .sfm-footer__toggle,
html[dir="rtl"] .news-sort__menu button,
html[dir="rtl"] .partners-why .partners-copy,
html[dir="rtl"] .filter-trigger,
html[dir="rtl"] .svc-copy,
html[dir="rtl"] .svc-extras {
	text-align: right;
}

html[dir="rtl"] .svc-copy,
html[dir="rtl"] .svc-extras {
	align-items: flex-start;
}

/* Mirror directional details while keeping centered brand and media intact. */
html[dir="rtl"] .contact-page .contact-form__notice,
html[dir="rtl"] .contact-page .contact-form__error,
html[dir="rtl"] .contact-page .contact-form__success {
	border-inline-start: 4px solid var(--sfm-green, #00a651);
	border-inline-end: 0;
	padding-inline-start: 18px;
	padding-inline-end: 0;
}

html[dir="rtl"] .career-job__content,
html[dir="rtl"] .career-job-card__content {
	text-align: start;
}

html[dir="rtl"] .career-job__meta,
html[dir="rtl"] .career-job-card__meta {
	justify-content: center;
}

html[dir="rtl"] .career-field input[type="file"]::file-selector-button {
	margin-left: 12px;
	margin-right: 0;
}

html[dir="rtl"] .contact-form__btn:hover span {
	transform: translateX(-3px);
}

html[dir="rtl"] .sfm-language-service-category > summary {
	direction: rtl;
}

/* Page-specific LTR offsets and alignments that need to follow Arabic reading order. */
html[dir="rtl"] .news-search__ico {
	margin-left: 0;
	margin-right: 18px;
}

html[dir="rtl"] .news-search__input {
	padding: 15px 12px 15px 18px;
}

html[dir="rtl"] .news-sort__menu button,
html[dir="rtl"] .partners-copy,
html[dir="rtl"] .partners-product-copy,
html[dir="rtl"] .partners-video-trigger,
html[dir="rtl"] .sfm-services-approach__copy {
	text-align: right;
}

html[dir="rtl"] .partners-split--overview .partners-product-copy {
	padding-left: 0;
	padding-right: clamp(36px, 6vw, 96px);
}

html[dir="rtl"] .partners-split--intro .partners-product-copy {
	padding-right: 0;
	padding-left: clamp(32px, 6vw, 92px);
}

html[dir="rtl"] .partners-benefits li::before {
	margin-left: 8px;
	margin-right: 0;
}

html[dir="rtl"] .partners-video-play::after {
	margin-left: 0;
	margin-right: 4px;
	border-left: 0;
	border-right: 14px solid #fff;
}

html[dir="rtl"] .career-notice ul {
	padding-left: 0;
	padding-right: 20px;
}

html[dir="rtl"] .career-job__meta span + span {
	padding-left: 0;
	padding-right: 12px;
	border-left: 0;
	border-right: 1px solid rgba(0, 19, 87, 0.12);
}

html[dir="rtl"] .career-job h3::before {
	left: auto;
	right: calc(-1 * clamp(19px, 2.5vw, 26px));
	border-radius: 3px 0 0 3px;
}

html[dir="rtl"] .art-copy blockquote {
	border-left: 0;
	border-right: 4px solid #168cff;
}

html[dir="rtl"] .art-toc {
	border-left: 0;
	border-right: 1px solid #e3e8f1;
	padding-left: 0;
	padding-right: 32px;
}

html[dir="rtl"] .hd-drawer a,
html[dir="rtl"] .hd-acc {
	text-align: right;
}

html[dir="rtl"] .hd-acc-body {
	padding-left: 0;
	padding-right: 14px;
}

html[dir="rtl"] .hs-content {
	left: auto;
	right: 0;
	text-align: right;
}

html[dir="rtl"] .hs-desc {
	margin-inline-start: 0;
}

html[dir="rtl"] .hs-scroll {
	right: auto;
	left: calc((100% - min(var(--hs-container), 100% - 48px)) / 2);
}

html[dir="rtl"] .hs-tab::before,
html[dir="rtl"] .hs-steer__seg::before {
	transform-origin: right;
}

html[dir="rtl"] .hs-btn svg,
html[dir="rtl"] .hs-steer__prev svg,
html[dir="rtl"] .hs-steer__next svg,
html[dir="rtl"] .prj-arrow svg,
html[dir="rtl"] .why__arr svg,
html[dir="rtl"] .awards__arrow svg,
html[dir="rtl"] .sfm-lightbox__nav svg {
	transform: scaleX(-1);
}

html[dir="rtl"] .hs-btn:hover svg {
	transform: translateX(-4px) scaleX(-1);
}

html[dir="rtl"] .hd-sub a svg,
html[dir="rtl"] .hd-projcard__arrow svg,
html[dir="rtl"] .sfm-service-card__link svg,
html[dir="rtl"] .svc-card-cta svg,
html[dir="rtl"] .news-card__more svg,
html[dir="rtl"] .career-form__submit svg {
	transform: scaleX(-1);
}

html[dir="rtl"] .hd-sub a:hover svg,
html[dir="rtl"] .hd-projcard:hover .hd-projcard__arrow svg,
html[dir="rtl"] .sfm-service-card:hover .sfm-service-card__link svg,
html[dir="rtl"] .svc-panel:hover .svc-card-cta svg,
html[dir="rtl"] .svc-panel:focus-visible .svc-card-cta svg,
html[dir="rtl"] .svc-panel.is-open .svc-card-cta svg,
html[dir="rtl"] .news-card__more:hover svg,
html[dir="rtl"] .career-form__submit:hover svg {
	transform: translateX(-3px) scaleX(-1);
}

html[dir="rtl"] .sfm-lightbox__nav--prev {
	left: auto;
	right: 8px;
}

html[dir="rtl"] .sfm-lightbox__nav--next {
	right: auto;
	left: 8px;
}

html[dir="rtl"] .awards__arrow--prev {
	--ax: var(--ao);
}

html[dir="rtl"] .awards__arrow--next {
	--ax: calc(var(--ao) * -1);
}

html[dir="rtl"] .why__tab::after,
html[dir="rtl"] .why__tab::before {
	transform-origin: right;
}

html[dir="rtl"] .hs-tabs {
	direction: rtl;
}

html[dir="rtl"] .why__track {
	left: auto;
	right: 0;
}

html[dir="rtl"] .why__texts {
	left: auto;
	right: var(--x0);
}

html[dir="rtl"] .why__arrows {
	direction: rtl;
}

html[dir="rtl"] .sfm-service-inquiry__submit:hover span,
html[dir="rtl"] .hd-mega a:hover svg {
	transform: translateX(-3px);
}

html[dir="rtl"] .hd-mega a:hover svg {
	transform: scaleX(-1) translateX(-3px);
}

html[dir="rtl"] .hd-service-group__cards,
html[dir="rtl"] .hd-project-drawer__cards {
	direction: rtl;
}

html[dir="rtl"] .clients__track {
	/* Keep the duplicated marquee's coordinate system stable for its seamless loop. */
	direction: ltr;
}

/* Mirror the homepage project rail and keep translated cards geometrically even. */
@media (min-width: 1181px) and (pointer: fine) {
	html[dir="rtl"] .prj-rail {
		left: auto;
		right: calc((100% - 1200px) / 2 + 40px);
		text-align: right;
	}

	html[dir="rtl"] .prj-intro {
		text-align: right;
	}
}

html[dir="rtl"] .prj-card {
	display: flex;
	height: auto;
	flex-direction: column;
	text-align: right;
	padding-bottom: 14px;
}

html[dir="rtl"] .prj-media {
	flex: 0 0 232px;
}

html[dir="rtl"] .prj-card-title,
html[dir="rtl"] .prj-card-desc {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

html[dir="rtl"] .prj-card-title {
	-webkit-line-clamp: 2;
	margin-top: 15px;
	font-size: 20px;
	line-height: 1.3;
}

html[dir="rtl"] .prj-card-desc {
	-webkit-line-clamp: 3;
	margin-top: 8px;
	line-height: 1.5;
}

@media (max-width: 1180px), (pointer: coarse) {
	html[dir="rtl"] .prj-card {
		padding-bottom: 12px;
	}

	html[dir="rtl"] .prj-media {
		flex-basis: 170px;
	}

	html[dir="rtl"] .prj-card-title {
		font-size: 18px;
	}
}

/* The About intro and its Why carousel need opposite outer gutters in RTL. */
@media (min-width: 1101px) {
	html[dir="rtl"] .about {
		padding-left: 0;
		padding-right: var(--gutter);
	}
}

@media (min-width: 801px) {
	html[dir="rtl"] .why {
		--h: clamp(420px, 30vw, 560px);
		min-height: 0;
	}

	html[dir="rtl"] .why__texts {
		left: auto;
		right: var(--x0);
		width: min(480px, calc(100vw - var(--x0) - var(--x0) - var(--card-w) - 48px));
	}

	html[dir="rtl"] .why__track {
		left: 0;
		right: auto;
	}

	html[dir="rtl"] .why__arrows {
		left: auto;
		right: var(--x0);
	}

	html[dir="rtl"] .why__text h3,
	html[dir="rtl"] .why__text h3 b {
		font-weight: var(--sfm-weight-bold);
		line-height: 1.25;
	}

	html[dir="rtl"] .why__text p {
		line-height: 1.7;
	}
}

@media (max-width: 800px) {
	html[dir="rtl"] .why__texts {
		height: clamp(280px, 78vw, 360px);
	}
}

@media (max-width: 800px) {
	html[dir="rtl"] .why__tabs {
		padding-left: 0;
		padding-right: var(--x0);
	}

	html[dir="rtl"] .why__texts {
		left: 0;
		right: 0;
		width: 100%;
	}

	html[dir="rtl"] .why__track,
	html[dir="rtl"] .why__arrows {
		left: auto;
		right: var(--x0);
	}
}

html[dir="rtl"] .hd-service-group__body,
html[dir="rtl"] .hd-project-drawer {
	padding-left: 0;
	padding-right: 10px;
}

html[dir="rtl"] .contact-info__intro {
	padding-left: 0;
	padding-right: 18px;
}

html[dir="rtl"] .contact-info__intro::before {
	left: auto;
	right: 0;
}

html[dir="rtl"] .about li {
	padding-left: 0;
	padding-right: calc(var(--u) * 33);
}

html[dir="rtl"] .about li::before {
	left: auto;
	right: 0;
}

html[dir="rtl"] .about li::after {
	left: auto;
	right: calc(var(--u) * 5);
}

html[dir="rtl"] .about h2::after {
	margin-left: 0;
	margin-right: calc(var(--u) * 3);
}

html[dir="rtl"] .why__tabs {
	padding-left: 0;
	padding-right: var(--x0);
}

html[dir="rtl"] .ceo-msg__quote {
	padding-left: 0;
	padding-right: clamp(28px, calc(var(--u) * 36), 40px);
}

html[dir="rtl"] .ceo-q--open {
	left: auto;
	right: 0;
}

html[dir="rtl"] .ceo-q--close {
	margin-left: 0;
	margin-right: 10px;
}

html[dir="rtl"] .ceo-msg {
	background-position: left center;
}

html[dir="rtl"] .ceo-msg::before {
	background: linear-gradient(260deg,
		rgba(3, 16, 60, .98) 0%,
		rgba(3, 16, 60, .93) 45%,
		rgba(0, 13, 55, .7) 72%,
		rgba(0, 13, 55, .35) 100%);
}

html[dir="rtl"] .project-filters {
	left: 0;
	right: 0;
}

html[dir="rtl"] .filter-btn {
	text-align: right;
}

html[dir="rtl"] .sfm-footer__toggle {
	text-align: right;
}


@media (max-width: 767px) {
	html[dir="rtl"] .hd-top,
	html[dir="rtl"] .hd.is-scrolled .hd-top {
	direction: rtl;
	}
	html[dir="rtl"] .hd-logo {
		margin-inline: auto;
	}
}

@media (max-width: 1100px) {
	html[dir="rtl"] .sfm-footer__col:first-child,
	html[dir="rtl"] .sfm-footer__col:last-child {
		padding-right: 0;
		padding-left: 0;
	}
	html[dir="rtl"] .sfm-footer__cols {
		padding-left: 0;
	}
}

@media (max-width: 1000px) {
	html[dir="rtl"] .hd-top {
		direction: ltr;
	}

	html[dir="rtl"] .hd-language {
		direction: rtl;
		justify-self: start;
	}

	html[dir="rtl"] .hd-actions {
		direction: ltr;
		justify-self: end;
		gap: clamp(10px, 2.7vw, 12px);
	}
}
@media (max-width: 380px) {
	html[dir="rtl"] .hd-actions {
		gap: 10px;
	}
}

@media (max-width: 340px) {
	html[dir="rtl"] .hd-actions {
		gap: 8px;
	}
}