.language-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;flex:none;width:132px;height:42px;padding:4px;border:1px solid rgba(239,232,222,.38);border-radius:99px;background:#191511;color:#efe8de;isolation:isolate;box-shadow:inset 0 1px 0 #ffffff0f}
.language-switch a{position:relative;z-index:1;display:grid;place-items:center;height:32px;border-radius:99px;font:600 12px/1.2 'Noto Sans Arabic',sans-serif;letter-spacing:0;text-decoration:none;cursor:pointer;transition:color .24s}
.language-switch a[aria-current=true]{color:#fff}.language-switch a:not([aria-current=true]){color:#c3b6aa}.language-switch a:hover{color:#fff}.language-switch a:focus-visible{outline:2px solid #efe8de;outline-offset:2px}
.language-switch__active{position:absolute;inset:4px auto 4px 4px;width:calc(50% - 4px);border-radius:99px;background:#d4683f;box-shadow:0 3px 14px #d4683f40;transition:transform .35s cubic-bezier(.16,1,.3,1)}
html[data-language=ar] .language-switch__active,.language-switch[data-next=ar] .language-switch__active{transform:translateX(100%)}.language-switch[data-next=en] .language-switch__active{transform:translateX(0)}
body{transition:opacity .24s ease}.language-leaving body{opacity:.08}
.nav{mix-blend-mode:normal;background:rgba(18,16,14,.9);backdrop-filter:blur(12px)}
html[lang=ar]{--f-display:'Noto Sans Arabic',sans-serif;--f-body:'Noto Sans Arabic',sans-serif;--f-serif:'Noto Sans Arabic',sans-serif}
html[lang=ar] body{line-height:1.85}html[lang=ar] .nav{gap:1.4rem}html[lang=ar] .nav__logo{font-size:1rem}html[lang=ar] .nav__links{gap:1.5rem}
html[lang=ar] .serif{font-style:normal;font-weight:500;letter-spacing:0}
html[lang=ar] :is(.h2,.hero__title,.contact__title,.manifesto__text,.srow__t,.tl__body h3,.card__meta h3,.client__name,.footer__big){letter-spacing:0;line-height:1.45}
html[lang=ar] :is(.kicker,.eyebrow,.filter,.tl__role,.gi__cap span,.lb__cat,.footer__row,.cursor__label){letter-spacing:0;text-transform:none}
html[lang=ar] .hero__title{font-size:clamp(4rem,12vw,13rem);line-height:1.28;padding-top:2vh}html[lang=ar] .hero__title .line{overflow:visible;padding-bottom:.08em}html[lang=ar] .line--indent{padding-left:0;padding-right:12vw}html[lang=ar] .hero__lede{max-width:39ch;line-height:1.9}html[lang=ar] .hero__star{font-size:.3em}html[lang=ar] .hero__top{gap:2rem}
html[lang=ar] .manifesto__text{font-size:clamp(1.5rem,1rem + 2vw,3rem);line-height:1.85}html[lang=ar] .about__photo figcaption{text-align:right;line-height:1.65}html[lang=ar] .stats{direction:rtl}html[lang=ar] .stat{padding-right:0;padding-left:1.5rem}html[lang=ar] .stat:nth-child(odd){border-right:0;border-left:1px solid var(--line)}html[lang=ar] .stat:nth-child(even){padding-left:0;padding-right:1.5rem}html[lang=ar] .stat__num{direction:ltr;display:inline-block;letter-spacing:0}
html[lang=ar] .card__meta p{text-align:left;letter-spacing:0}html[lang=ar] .card--end p{line-height:1.7}html[lang=ar] .link-arrow .ico{transform:scaleX(-1)}html[lang=ar] .srow{grid-template-columns:60px 1.1fr 1fr 40px}html[lang=ar] .srow__t{font-size:clamp(1.5rem,1rem + 2.3vw,3.6rem)}html[lang=ar] .srow__d{line-height:1.9}html[lang=ar] .srow:hover .srow__t{transform:translateX(-.6rem)}html[lang=ar] .srow__a .ico{transform:scaleX(-1)}
html[lang=ar] .statement__text{line-height:1.65;letter-spacing:0;font-size:clamp(1.8rem,1rem + 3.7vw,5rem)}html[lang=ar] .timeline{padding-left:0;padding-right:clamp(24px,4vw,60px)}html[lang=ar] .timeline__line{left:auto;right:0}html[lang=ar] .tl::before{left:auto;right:calc(-1 * clamp(24px,4vw,60px) - 6px)}html[lang=ar] .tl__date{text-align:right;unicode-bidi:isolate}html[lang=ar] .bar i{left:auto;right:0;transform-origin:right}html[lang=ar] .bar small{margin-left:0;margin-right:.4rem}
html[lang=ar] .contact__title{font-size:clamp(2.8rem,1rem + 6.6vw,8.5rem);line-height:1.45}html[lang=ar] .contact__title .line{overflow:visible}html[lang=ar] .footer__big{font-size:clamp(3rem,10vw,12rem);word-spacing:.1em}html[lang=ar] .lb{direction:ltr}html[lang=ar] .lb__fig figcaption{direction:rtl}html[lang=ar] .lb__close{right:auto;left:24px}html[lang=ar] .lb__idx{unicode-bidi:isolate}html[lang=ar] .gi__cap h3{font-size:1rem;line-height:1.7}html[lang=ar] .loader__name{font-size:clamp(4rem,14vw,12rem);line-height:1.6;letter-spacing:0}html[lang=ar] .loader__count{direction:ltr}html[lang=ar] .badge__ring{font-family:'Noto Sans Arabic',sans-serif;letter-spacing:0;font-size:12px}
.arabic-reveal{display:inline-block;animation:arabic-entrance .85s both cubic-bezier(.16,1,.3,1);animation-play-state:paused}.arabic-reveal.is-visible{animation-play-state:running}@keyframes arabic-entrance{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px) and (min-width:821px){.nav{gap:1rem}.nav__links{gap:1rem}.language-switch{width:118px}html[lang=ar] .nav__links{gap:.8rem}html[lang=ar] .nav__cta{padding:.5rem .8rem}}
@media(max-width:1024px){html[lang=ar] .srow{grid-template-columns:50px 1fr 30px}}
@media(max-width:820px){.language-switch{margin-inline-start:auto;width:120px;height:40px}.language-switch a{height:30px}.nav{gap:.75rem}html[lang=ar] .hero__top{gap:.4rem}html[lang=ar] .hero__title{font-size:clamp(4rem,17vw,8rem)}html[lang=ar] .srow__t{font-size:1.8rem}html[lang=ar] .nav{gap:.75rem}html[lang=ar] .hero__lede{font-size:1rem}html[lang=ar] .line--indent{padding-right:8vw}}
@media(max-width:560px){.nav__logo{gap:.4rem;font-size:.85rem}.nav__logo svg{width:30px;height:30px}.language-switch{width:108px;height:38px}.language-switch a{height:28px;font-size:11px}.nav{gap:.4rem}.nav__burger{width:36px;flex:none}html[lang=ar] .nav__logo{font-size:.85rem}html[lang=ar] .card__meta p{text-align:right}html[lang=ar] .stat:nth-child(even){padding-right:1rem}html[lang=ar] .hero__bottom{align-items:center}html[lang=ar] .hero__lede{max-width:25ch}html[lang=ar] .badge{width:78px}html[lang=ar] .gi__cap{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.arabic-reveal{animation:none;opacity:1;transform:none}.language-leaving body{opacity:1}.language-switch__active,body{transition:none}}

/* Arabic hero: scale for Arabic glyph proportions, without separating letters. */
html[lang=ar] .hero .hero__title{font-size:clamp(5rem,21vw,26rem);font-weight:700;line-height:1.05;letter-spacing:0;padding-top:2vh}
html[lang=ar] .hero .hero__title .line{line-height:1.05;padding-top:.04em;padding-bottom:.04em;overflow:visible}
html[lang=ar] .hero .hero__title .arabic-reveal{font-weight:700;line-height:1.05;letter-spacing:0;white-space:nowrap}
html[lang=ar] .hero .hero__title .line--indent{padding-right:10vw;padding-left:0;gap:.12em}
html[lang=ar] .hero .hero__star{font-size:.25em}
/* Curved SVG text breaks Arabic joining; keep the existing scroll arrow. */
html[lang=ar] .hero .badge__ring{display:none!important}
@media(max-width:820px){html[lang=ar] .hero .hero__title{font-size:clamp(4.5rem,26vw,13rem)}html[lang=ar] .hero .hero__title .line--indent{padding-right:6vw}}
@media(max-width:560px){html[lang=ar] .hero .hero__title{font-size:clamp(4rem,25vw,8.75rem)}}

/* Reserve a separate grid row for the complete Arabic introduction. */
html[lang=ar] .hero{height:100svh;min-height:600px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;row-gap:12px;padding-top:110px;padding-bottom:40px}
html[lang=ar] .hero .hero__title{font-size:clamp(4rem,min(19vw,calc((100svh - 380px)/3.1)),24rem);margin:0;padding-top:0;align-self:end}
html[lang=ar] .hero .hero__title .line{padding-top:0;padding-bottom:0}
html[lang=ar] .hero .hero__bottom{position:relative;flex-shrink:0;align-items:flex-end;gap:24px;margin-top:0;min-width:0}
html[lang=ar] .hero .hero__lede{flex:0 1 52ch;max-width:52ch;min-width:0;font-size:clamp(.9375rem,.8vw,1.125rem);line-height:1.55;margin:0;overflow:visible;white-space:normal}
@media(max-width:560px){html[lang=ar] .hero{padding-top:100px;padding-bottom:32px}html[lang=ar] .hero .hero__bottom{gap:16px}html[lang=ar] .hero .hero__lede{font-size:.9375rem}}

/* Arabic hero refinement: smaller name; English-style opposing top/bottom placement. */
html[lang=ar] .hero .hero__title{font-size:clamp(3.5rem,min(15vw,calc((100svh - 410px)/3.35)),20rem)}
html[lang=ar] .hero .hero__bottom{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;width:100%}
html[lang=ar] .hero .badge{position:static;margin-inline-start:auto;align-self:flex-end;transform:none}
@media(min-width:821px){html[lang=ar] .hero .hero__top{display:flex;justify-content:space-between;align-items:center;width:100%}html[lang=ar] .hero .eyebrow--right{display:block;margin-inline-start:auto;text-align:left}}
@media(max-width:820px){html[lang=ar] .hero .hero__title{font-size:clamp(3.5rem,19vw,10rem)}}
@media(max-width:560px){html[lang=ar] .hero .hero__title{font-size:clamp(3.25rem,20vw,6.75rem)}}

/* Root-cause fix: the grid column was shrinking to its widest row (inherited justify-content:space-between). */
html[lang=ar] .hero{justify-content:stretch;grid-template-columns:minmax(0,1fr)}

/* Mobile: company logos keep their automatic motion and can also be swiped by hand in both languages. */
@media(max-width:820px){
.clients__row{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x pan-y}
.clients__row::-webkit-scrollbar{display:none}
.clients:hover .clients__track{animation-play-state:running}
.clients__row:active .clients__track,.clients__row:focus-within .clients__track{animation-play-state:paused}
}

/* English only: Trusted-by logos move right to left (Arabic keeps its own direction). */
html:not([lang=ar]) .clients__track{animation-direction:normal}
