.language-picker{position:relative;display:inline-flex;align-items:center;gap:7px;border:1px solid #f2f0eb30;border-radius:30px;padding:8px 10px;color:#f2f0eb;flex:none;background:#08090bc4;direction:ltr}
.language-picker>svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.25;pointer-events:none}
.language-picker select{appearance:none;background:transparent;border:0;border-radius:0;color:inherit;font:500 12px 'DM Sans',sans-serif;width:32px;padding:1px 0;cursor:pointer;outline-offset:5px}
.language-picker option{background:#11131d;color:#f2f0eb}
.language-picker .language-chevron{width:10px;height:10px}
.language-picker:focus-within,.language-picker:hover{border-color:#ff744d}
.header nav{align-items:center}
html[lang=fr] .cx-editorial-content h1{font-size:clamp(38px,4.8vw,86px)}
html[lang=fr] .header nav{gap:clamp(12px,2vw,30px)}
html[dir=rtl] body{font-family:Tahoma,Arial,sans-serif}
html[dir=rtl] :is(h1,h2,h3,h4,p,a,button,span,strong,small,em,label,select,input,textarea){letter-spacing:normal!important}
html[dir=rtl] :is(h1,h2,h3,h4,em,.software-name,.cap-tab-main strong){font-family:Tahoma,Arial,sans-serif!important;font-style:normal;line-height:1.4}
html[dir=rtl] :is(p,li,label,input,textarea){line-height:1.8}
html[dir=rtl] .cx-editorial-content{ text-align:right }
html[dir=rtl] .cx-editorial-content h1{font-size:clamp(34px,4.2vw,76px);line-height:1.4;letter-spacing:0}
html[dir=rtl] .wordmark,html[dir=rtl] .software-mark,html[dir=rtl] input[type=email],html[dir=rtl] input[type=tel]{direction:ltr}
html[dir=rtl] .capability-tab{text-align:right;padding-inline:0 20px}
html[dir=rtl] .capability-copy,html[dir=rtl] .software-footnote{text-align:right}
html[dir=rtl] .capability-copy h3{font-size:clamp(28px,2.8vw,44px)}
html[dir=rtl] .cap-tab-main strong{font-size:clamp(16px,1.4vw,22px)}
html[dir=rtl] .expertise-studies h2{font-size:clamp(38px,4.6vw,72px)}
html[dir=rtl] .capability-tab:before{left:auto;right:0;width:0;transition:width .35s}
html[dir=rtl] .capability-tab[aria-selected=true]:before{width:100%}
/* Retain physical media coordinates used by the drag and infinite-loop engines. */
html[dir=rtl] :is(.project-grid,.cx-service-marquee,.cx-service-rail,.mc-v5-editor,.leaflet-container){direction:ltr}
html[dir=rtl] :is(.project-meta,.project-description,.cx-service-rail a){direction:rtl;text-align:right}
html[dir=rtl] .project-art{direction:rtl}
html[dir=rtl] .project-meta h3{font-size:clamp(24px,2.8vw,46px)}
html[dir=rtl] :is(.sports-case,.web2-case,.seo-case,.pc-case,.mc-case){text-align:right}
html[dir=rtl] #project-dialog :is(h2,h3){line-height:1.35;letter-spacing:0}
html[dir=rtl] #project-dialog h2{font-size:clamp(42px,5vw,76px)}
html[dir=rtl] .web2-hero-copy h2 em{font-size:inherit}
html[dir=rtl] .cx-editorial-content h1>span:first-child{direction:ltr;unicode-bidi:isolate;display:block}
html[dir=rtl] .cx-contact-art{border-right:0;border-left:1px solid #ffffff24}
html[dir=rtl] .cx-fields input,html[dir=rtl] .cx-fields textarea,html[dir=rtl] .cx-fields select{text-align:right}
html[dir=rtl] .cx-select-wrap>span{right:auto;left:4px}
html[dir=rtl] .cx-select-wrap select{padding-right:0;padding-left:25px}
html[dir=rtl] .timeline article{text-align:right}
html[dir=rtl] .desk-composition{direction:ltr}
html[dir=rtl] .desk-composition :is(strong,small,span){font-size:clamp(7px,.9vw,15px)}
@media(max-width:1000px){.header{gap:14px}.header nav{gap:14px!important}.header-contact{font-size:11px;padding:10px 12px}.header .wordmark{font-size:24px}}
@media(max-width:760px){.header.cx-header{display:flex;flex-wrap:wrap;gap:12px;padding:18px 5%}.header.cx-header nav{display:flex!important;order:3;width:100%;justify-content:space-between;gap:8px!important;font-size:11px}.language-picker{padding:6px 8px}.header-contact{margin-inline-start:auto}.cx-photo-hero .cx-editorial-content{top:160px;transform:none}html[lang=fr] .cx-editorial-content h1,html[dir=rtl] .cx-editorial-content h1{font-size:clamp(30px,7vw,48px)}html[dir=rtl] .capability-tab{padding-inline:0}html[dir=rtl] .cap-tab-main strong{font-size:16px}}

@media(max-width:760px){body .header.cx-header nav{position:static;inset:auto;margin:0;min-width:0;width:100%}body .header.cx-header .header-contact{margin:0;margin-inline-start:auto}.cx-photo-hero .cx-editorial-content{top:auto}}
html[dir=rtl] .cx-fields input[type=email],html[dir=rtl] .cx-fields input[type=tel]{text-align:left}

html[lang=fr] .web2-hero-showcase:before{content:"DEUX UNIVERS NUMÉRIQUES"}html[lang=ar] .web2-hero-showcase:before{content:"عالمان رقميان";letter-spacing:0}
/* Floating language control: one focus ring, full-size targets, no native select overlay. */
.language-picker{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:10000;display:block;padding:0!important;border:0;background:none;direction:ltr}
.language-trigger{display:flex;align-items:center;justify-content:center;gap:9px;min-width:78px;height:48px;padding:0 15px;border:1px solid #f2f0eb40;border-radius:28px;background:#11131df2;color:#f2f0eb;box-shadow:0 6px 25px #0005;cursor:pointer;font:600 12px 'DM Sans',sans-serif}
.language-trigger svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.3}
.language-trigger:hover,.language-trigger[aria-expanded=true]{border-color:#ff744d}
.language-picker button:focus-visible{outline:2px solid #ff744d;outline-offset:4px}
.language-options{position:absolute;bottom:60px;right:0;width:184px;padding:6px;background:#11131dfa;border:1px solid #f2f0eb25;border-radius:14px;box-shadow:0 12px 40px #0008}
.language-options[hidden]{display:none}
.language-options button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;border:0;border-radius:8px;padding:10px 13px;background:transparent;color:#f2f0eb;font:14px 'DM Sans',Tahoma,sans-serif;cursor:pointer;text-align:left}
.language-options button:hover,.language-options button[aria-pressed=true]{background:#ff744d16;color:#ff744d}
.language-options small{font-size:10px;opacity:.65}
/* Content determines height; photo and type keep independent responsive proportions. */
.cx-photo-hero{height:auto;min-height:max(760px,100svh);padding:160px 5.5% 150px;display:flex;align-items:center}
.cx-photo-hero .cx-editorial-content{position:relative;left:auto;top:auto;transform:none;width:46%;max-width:900px}
.cx-photo-hero .cx-editorial-content h1{font-size:clamp(34px,3.5vw,88px)}
.cx-photo-hero .cx-editorial-content h1>span,.cx-photo-hero .cx-editorial-content h1 em{white-space:normal;overflow-wrap:normal}
.cx-photo-hero .cx-photo-focus{flex-wrap:wrap;gap:16px}
.cx-photo-hero .cx-photo-focus ul{flex-wrap:wrap;row-gap:6px}
.cx-photo-hero .cx-photo-focus li{white-space:normal}
.cx-photo-hero .cx-photo-footer{align-items:flex-start}
html[lang=fr] .cx-photo-hero .cx-editorial-content h1{font-size:clamp(32px,3.1vw,78px)}
html[lang=ar] .cx-photo-hero .cx-editorial-content h1{font-size:clamp(32px,3.2vw,76px)}
@media(min-width:2200px){.cx-photo-hero{padding-inline:max(5.5%,calc((100vw - 2600px)/2))}.cx-photo-hero .cx-editorial-summary{max-width:680px}}
@media(max-width:1100px){
 .cx-photo-hero{display:block;min-height:100svh;padding:clamp(360px,51vw,540px) 6% 30px}
 .cx-photo-hero .cx-editorial-content{width:100%;max-width:760px}
 .cx-photo-hero .cx-photo-media{inset:88px 0 auto;height:clamp(350px,52vw,570px);transform:none}
 .cx-photo-hero .cx-photo-media>img{object-position:88% 40%}
 .cx-photo-hero .cx-photo-shade{background:linear-gradient(180deg,#07080c 65px,transparent 155px,transparent 30%,#07080c 590px)}
 .cx-photo-hero .cx-editorial-content h1,html[lang=fr] .cx-photo-hero .cx-editorial-content h1,html[lang=ar] .cx-photo-hero .cx-editorial-content h1{font-size:clamp(32px,5.3vw,58px)}
 .cx-photo-hero .cx-editorial-summary{width:100%;max-width:650px;font-size:16px}
 .cx-photo-hero .cx-photo-signature{top:145px;left:6%;bottom:auto;max-width:140px}
 .cx-photo-hero .cx-photo-footer{position:relative;inset:auto;margin-top:36px;display:block;padding-top:22px}
 .cx-photo-hero .cx-photo-footer .cx-availability{margin:20px 0 0;white-space:normal}
}
@media(max-width:600px){
 .cx-photo-hero{padding-top:375px;padding-bottom:40px}
 .cx-photo-hero .cx-photo-media{top:100px;height:345px}
 .cx-photo-hero .cx-photo-shade{background:linear-gradient(180deg,#07080c 80px,transparent 165px,transparent 275px,#07080c 435px)}
 .cx-photo-hero .cx-editorial-content h1,html[lang=fr] .cx-photo-hero .cx-editorial-content h1,html[lang=ar] .cx-photo-hero .cx-editorial-content h1{font-size:clamp(27px,6.7vw,40px)}
 .cx-photo-hero .cx-editorial-summary{font-size:14px;margin-top:20px!important}
 .cx-photo-hero .cx-editorial-kicker{margin-bottom:18px!important}
 .cx-photo-hero .cx-editorial-action{flex-wrap:wrap;gap:16px;margin-top:24px}
 .cx-photo-hero .cx-photo-focus li{font-size:11px;padding:0 12px 0 0}
 .cx-photo-hero .cx-photo-signature{font-size:11px;max-width:105px}
 .language-picker{right:14px;bottom:14px}
}

.cx-photo-hero{direction:ltr}html[dir=rtl] .cx-photo-hero .cx-editorial-content,html[dir=rtl] .cx-photo-footer{direction:rtl}html[dir=rtl] .cx-photo-hero .cx-editorial-action>p{padding-left:0;padding-right:16px;border-left:0;border-right:1px solid #f2f0eb30}
