/* Official Dubai Font web package. See assets/dubai-font-SOURCE.txt. */
@font-face{font-family:TraverseArabic;src:url('/assets/dubai-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:TraverseArabic;src:url('/assets/dubai-medium.woff2') format('woff2');font-weight:500 600;font-display:swap}
@font-face{font-family:TraverseArabic;src:url('/assets/dubai-bold.woff2') format('woff2');font-weight:700 900;font-display:swap}
html[lang=ar] body{font-family:TraverseArabic,Tahoma,Arial,sans-serif;line-height:1.8}
html[lang=ar] :is(h1,h2,h3,h4,p,a,span,button,label,li,input,select,textarea){letter-spacing:normal;text-transform:none}
html[lang=ar] :is(input,button,textarea,select){font-family:inherit}
html[lang=ar] :is(h1,h2,h3,h4){line-height:1.35;font-weight:700}
html[lang=ar] :is(.lead,.body){line-height:1.8}
html[lang=ar] .header .nav{font-size:17px;gap:18px}
html[lang=ar] .brand,html[lang=ar] .footer-brand,html[lang=ar] .orbit-centre,html[lang=ar] .neoro-lockup,html[lang=ar] .footer-wordmark{direction:ltr}
html[lang=ar] .brand img{left:8px;right:auto}
/* Arabic reads RTL, but this composition stays on the dark left of the photo. */
html[lang=ar] .hero-main{direction:rtl;text-align:right;width:min(480px,42%);max-width:480px;margin:0 auto 0 var(--gutter);padding:66px 0 90px}
html[lang=ar] .hero h1{font-size:clamp(54px,5.8vw,84px);line-height:1.25;max-width:none;margin-top:20px}
html[lang=ar] .hero h1 em{font-size:inherit}
html[lang=ar] .hero-kicker{font-size:26px;line-height:1.6}
html[lang=ar] .hero-copy{max-width:none;line-height:1.85;font-size:22px;margin-top:26px}
html[lang=ar] .hero .actions{justify-content:flex-end;gap:24px;flex-wrap:wrap;margin-top:32px}
html[lang=ar] :is(.page-intro,.career-hero,.role-hero) h1{font-size:clamp(38px,4.5vw,66px);line-height:1.35}
html[lang=ar] .section h2{font-size:clamp(32px,3.4vw,50px)}
html[lang=ar] .service-hero h1{font-size:clamp(34px,4vw,60px);line-height:1.35}
html[lang=ar] .product-detail-hero h1,html[lang=ar] .resilience-hero h1{font-family:Manrope,Arial,sans-serif;direction:ltr;text-align:right;line-height:1.25}
html[lang=ar] .product h3{font-size:30px;line-height:1.4}
html[lang=ar] .product-category{font-size:15px}
html[lang=ar] .product-body>p{line-height:1.8}
html[lang=ar] .product-art{direction:ltr}
html[lang=ar] .arrow{scale:-1 1}
html[lang=ar] .mega-services>a{padding:12px 0 12px 28px}
html[lang=ar] .mega-services>a .arrow{left:0;right:auto}
html[lang=ar] .mega-intro h2{font-size:27px;line-height:1.6}
html[lang=ar] .mega-intro .text-link{white-space:normal}
html[lang=ar] .sector-jump a+a{border-left:0;border-right:1px solid var(--line)}
html[lang=ar] .sector-jump .arrow{margin-left:0;margin-right:auto}
html[lang=ar] :is(.check-list,.fit-list) li{padding-left:0;padding-right:28px}
html[lang=ar] :is(.check-list,.fit-list) li:before{left:auto;right:0}
html[lang=ar] :is(.capability-content ul,.prose ul){padding-left:0;padding-right:22px}
html[lang=ar] .editorial-note{border-left:0;border-right:3px solid var(--blue)}
html[lang=ar] .delivery-steps li{border-left:0;border-right:2px solid #5db8ff;padding-left:0;padding-right:22px}
html[lang=ar] .delivery-steps li:before{left:auto;right:-5px}
html[lang=ar] .purpose-grid>article+article{border-left:0;border-right:1px solid #42617f;padding-left:0;padding-right:70px}
html[lang=ar] .resilience-area:nth-child(even){border-left:0;border-right:1px solid #c7d7eb;padding-left:0;padding-right:40px}
html[lang=ar] .resilience-area:nth-child(odd){padding-left:40px;padding-right:0}
html[lang=ar] .orbit-label{font-size:15px;line-height:1.65;width:155px}
html[lang=ar] .orbit-node{direction:rtl}
html[lang=ar] :is(.application-steps,.job-filters,.form-grid,.review-details){text-align:right}
html[lang=ar] :is(#role-description,#role-summary,#role-title,.job-row h3){unicode-bidi:plaintext}
html[lang=ar] :is(a[href^="tel:"],a[href^="mailto:"],input[type=email],input[type=tel],#application-reference){unicode-bidi:isolate}
html[lang=ar] .footer-wordmark{font-family:Manrope,Arial,sans-serif;letter-spacing:-.075em;line-height:1.1}
html[lang=ar] .footer-bottom>div{flex-wrap:wrap}
html[lang=ar] .eyebrow{line-height:1.6;font-size:16px}
@media(max-width:1180px){html[lang=ar] .header .nav{font-size:17px}html[lang=ar] .hero-main{width:46%;max-width:480px}}
@media(max-width:800px){html[lang=ar] .hero-main{width:calc(100% - var(--gutter)*2);max-width:460px;margin-left:var(--gutter);margin-right:auto;padding-top:48px}html[lang=ar] .hero:after{background:linear-gradient(90deg,#04182ce8,#04182c9c)}html[lang=ar] .hero h1{font-size:clamp(42px,8vw,64px)}html[lang=ar] .hero-copy{font-size:20px}html[lang=ar] .purpose-grid>article+article{padding-right:0;border-right:0}html[lang=ar] .orbit-label{font-size:13px;width:125px}html[lang=ar] .section h2{font-size:34px}html[lang=ar] .sector-jump a+a{border-right:0}}
@media(max-width:650px){html[lang=ar] .resilience-area:nth-child(n){padding:28px 0;border-right:0}html[lang=ar] .hero h1{font-size:clamp(42px,11vw,60px)}html[lang=ar] .hero-kicker{font-size:22px}html[lang=ar] .hero-main{padding-bottom:60px}html[lang=ar] .footer-main nav{font-size:15px}html[lang=ar] .button{font-size:16px}html[lang=ar] .resilience-hero h1{font-size:37px}html[lang=ar] .page-intro h1{font-size:37px}html[lang=ar] .sector-story h2{font-size:32px}}
/* The unmirrored brand has LTR internals, so use physical margins here. */
html[lang=ar] .header .brand{margin-right:0;margin-left:auto}
/* Hide anti-spam fields without creating horizontal overflow in RTL. */
html[lang=ar] :is(.application-trap,.form-trap){position:fixed;left:0;right:auto;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ar-file-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 22px;background:#f0f5ff;border:1px solid #b8ccea;border-radius:4px;color:#1045a0;font-weight:600;cursor:pointer}
.ar-file-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ar-file-picker:focus-within{outline:3px solid #1767ff;outline-offset:3px}

/* Keep RTL copy and mixed-script contact details aligned without mirroring artwork. */
html[lang=ar] :is(.intro-grid,.split,.service-hero-grid,.practice-head,.product-detail-grid,.section-heading,.form-grid)>*{min-width:0}
html[lang=ar] :is(.lead,.body,.prose,.service-detail-copy,.sector-story,.resilience-area){text-align:start}
html[lang=ar] :is(a[href^="tel:"],a[href^="mailto:"],input[type=email],input[type=tel],#application-reference){direction:ltr}
html[lang=ar] :is(input[type=email],input[type=tel]){text-align:right}
html[lang=ar] :is(.field,.job-filters) select{padding-right:16px;padding-left:38px;background-position:left 15px center}
html[lang=ar] .form-grid label{line-height:1.6}
html[lang=ar] :is(.product-body,.service-overview-card,.career-values article) p{line-height:1.8}
html[lang=ar] :is(.product-detail-hero,.resilience-hero) .eyebrow{direction:rtl}
html[lang=ar] .breadcrumb{flex-wrap:wrap;line-height:1.7}
@media(min-width:1181px) and (max-width:1400px){html[lang=ar] .header .nav{font-size:16px;gap:13px}}
@media(max-width:540px){html[lang=ar] .hero .actions{gap:22px}html[lang=ar] .hero-main{padding-bottom:64px}html[lang=ar] .hero-copy{font-size:19px}html[lang=ar] .section h2{font-size:32px}html[lang=ar] .mega-services>a{padding-right:0;padding-left:28px}}
/* Service photographs were composed with their subjects on the right. */
html[lang=ar] .service-photo-hero .service-hero-grid>div:first-child{margin-right:auto;margin-left:0}
html[lang=ar] .service-photo-hero .breadcrumb{width:46%;max-width:540px;margin-right:auto;margin-left:0}
html[lang=ar] .service-photo-hero .lead{font-size:22px;line-height:1.8;color:#d4e1f1}
html[lang=ar] .service-photo-hero .button{font-size:18px}
html[lang=ar] .menu-toggle{margin:0;flex-shrink:0}
html[lang=ar] :is(.breadcrumb,.footer-bottom){font-size:15px}
html[lang=ar] :is(.field input,.field select,.field textarea){font-size:18px}
@media(max-width:750px){
 html[lang=ar] .service-photo-hero .breadcrumb{width:100%;max-width:none}
 html[lang=ar] .service-hero.service-photo-hero{min-height:0;padding-top:28px;padding-bottom:330px;background:#071e38}
 html[lang=ar] .service-photo-hero .service-photo{top:auto;height:330px}
 html[lang=ar] .service-photo-hero .service-photo:after{background:linear-gradient(180deg,#071e38,rgba(7,30,56,.2) 35%,transparent 70%)}
 html[lang=ar] .service-photo-hero .lead{font-size:20px}
 html[lang=ar] .hero.dubai-hero{min-height:0;background:#04182c}
 html[lang=ar] .hero-main{padding-bottom:340px}
 html[lang=ar] .dubai-scene{top:auto;height:330px}
 html[lang=ar] .hero:after{background:linear-gradient(180deg,transparent calc(100% - 330px),#04182c calc(100% - 330px),transparent calc(100% - 230px))}
}
/* Empty dir=auto fields otherwise place Arabic placeholders on the left. */
html[lang=ar] .field :is(input,textarea){text-align:right}
html[lang=ar] .detail-art-caption>span{text-align:start;font-size:15px}
html[lang=ar] .form-preview-note{border-left:0;border-right:2px solid #2460ef}
html[lang=ar] .capability-content{padding-right:34px;padding-left:30px}
html[lang=ar] .capability-content p{font-size:19px}
html[lang=ar] .capability-content ul{font-size:18px}
@media(max-width:650px){html[lang=ar] .capability-content{padding-right:18px;padding-left:18px}}
