/* Approved visual system — local review */
:root{--night:#160d26;--ink:#50356c;--purple:#5f4183;--plum:#a44e9d;--yellow:#f4eb43}
header,.is-home header,body:not(.is-home) header{height:86px;margin:0;padding:0 4%;gap:25px;direction:ltr;border-bottom:1px solid #5f41831c;display:flex;justify-content:space-between;align-items:center;background:#fff;position:relative;z-index:30}
.is-home header{background:#160d268c;backdrop-filter:blur(18px);border-color:#ffffff14}
.brand-logo{width:128px;height:62px;border-radius:0}.brand-logo img{width:150px;height:150px;left:-13px;top:-43px}
header nav,body:not(.is-home) header nav{display:flex;position:static;gap:30px;background:none;border:0;padding:0;font-size:13px;font-weight:600}
header nav a{padding:10px 0;position:relative}header nav a[aria-current=page]{color:var(--plum)}header nav a:after{content:'';position:absolute;bottom:4px;left:0;width:0;height:2px;background:var(--plum);transition:width .3s}.is-home header nav a:after{background:var(--yellow)}header nav a:hover:after{width:100%}
header .nav-end,body:not(.is-home) header .nav-end{position:static;display:flex;gap:18px}.language{font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-weight:700;border:1px solid #5f418335;padding:10px 12px;min-width:46px}.is-home .language{border-color:#ffffff35}.menu-toggle{display:none}
.is-home{height:100dvh;grid-template-rows:86px minmax(0,1fr)}.is-home .home-screen{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:12px;padding:0 4% 18px;background:var(--night)}
.galaxy-stage{position:relative;min-height:0;width:100%;isolation:isolate;direction:ltr}.wordmark{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:0;margin:0;font-family:'IBM Plex Sans',Arial,sans-serif;font-weight:800;font-size:clamp(85px,19.5vw,330px);letter-spacing:-.065em;line-height:1;color:#fff;z-index:2;pointer-events:none}.letter{display:inline-block;will-change:transform;transform-origin:center 65%;padding-right:.02em}.wordmark .letter:last-child{padding-right:.05em}.orbital-canvas{position:absolute;inset:0;pointer-events:none;z-index:3;perspective:1100px}.float-item{left:0!important;top:0!important;animation:none!important;pointer-events:auto;will-change:transform}.cube-link{touch-action:manipulation}.cube-label{font-size:clamp(12px,1.3vw,18px);letter-spacing:-.5px}.cube-face{border:1px solid #f4eb4355;box-shadow:inset 0 0 18px #f4eb4310,0 0 12px #f4eb4315}.cube-face.front{background:linear-gradient(135deg,#a44e9d,#75418e)}.cube-link:hover .cube-face,.cube-link:focus-visible .cube-face{background:var(--yellow)}.cube-caption{display:none}
.is-home .home-copy,html[lang=ar] .is-home .home-copy{pointer-events:auto;text-align:center;direction:inherit;padding:0;max-width:980px;margin:auto;z-index:5}.home-copy h2{font-size:clamp(21px,2.5vw,38px);font-weight:600;line-height:1.25;letter-spacing:-1px;margin:0 0 10px}.home-copy h2 span{color:var(--yellow)}.is-home .home-copy p{font-size:14px;line-height:1.6;max-width:750px;margin:0 auto;color:#c9bdd5}.is-home .home-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-top:14px;margin-top:9px;min-height:68px;border-color:#ffffff20}.social-location{display:flex;gap:24px;align-items:center}.social-links{gap:8px;flex-wrap:nowrap}.social-links a,.is-home .social-links a{position:relative;display:grid;place-items:center;width:36px;height:36px;padding:8px;border:0;color:inherit}.social-links svg{width:21px;height:21px}.social-links a:hover{color:var(--plum)}.social-links a:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,5px);background:var(--ink);color:white;padding:5px 9px;font:12px 'IBM Plex Sans';opacity:0;pointer-events:none;transition:.2s;white-space:nowrap}.social-links a:hover:after,.social-links a:focus-visible:after{opacity:1;transform:translate(-50%,0)}.location{font-size:12px;line-height:1.5;margin:0}.is-home .motion{font-size:11px;padding:8px 10px;white-space:nowrap}.is-home .home-bottom>a{font-size:13px;white-space:nowrap}
.wrap{padding-inline:6%;max-width:1550px}.page-hero{padding-top:75px;padding-bottom:65px;position:relative}.back-link{position:fixed;top:100px;inset-inline-end:4%;font-size:11px;padding:9px 13px;background:var(--yellow);border:0;z-index:25}.page-hero .sector-title,html[lang=ar] .page-hero .sector-title{font:800 clamp(64px,10.5vw,170px)/.95 'IBM Plex Sans',Arial,sans-serif;letter-spacing:-.075em;text-align:start;margin:20px 0 32px;color:var(--ink)}.page-tagline{font-size:clamp(28px,3.8vw,55px);line-height:1.14;letter-spacing:-1.7px;font-weight:600;margin:0 0 24px}.page-hero p{font-size:19px;line-height:1.8;max-width:900px;color:#766680}.section{padding-block:70px}.sector-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:42px}.service-rows{border-top:1px solid #5f41832b}.service-row{border-bottom:1px solid #5f41832b;scroll-margin-top:170px}.service-row summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:clamp(25px,3.6vw,56px);font-weight:700;line-height:1.15;letter-spacing:-1.7px;padding:32px 0;cursor:pointer;transition:color .25s,padding .25s}.service-row summary::-webkit-details-marker{display:none}.service-row summary:hover,.service-row[open] summary{color:var(--plum);padding-inline-start:12px}.service-row summary:focus-visible{outline:2px solid var(--plum);outline-offset:5px}.row-toggle{width:15px;height:15px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex-shrink:0;margin-inline-end:8px;transition:transform .3s}.service-row[open] .row-toggle{transform:rotate(225deg)}.row-content{padding:0 8% 32px 0;max-width:850px;animation:rowReveal .35s ease}.row-content p{font-size:18px;line-height:1.8;margin-top:0;color:#766680}.row-content .cta{margin-top:12px}@keyframes rowReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.about-grid,.division-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 65px}.about-grid article,.division-grid>a{background:#f5f1f7;padding:45px}.about-grid article:nth-child(2){background:var(--yellow)}.about-grid h2,.division-grid h2{font-size:clamp(28px,3vw,44px);line-height:1.15;letter-spacing:-1px;margin:0 0 22px}.about-grid p,.division-grid p{font-size:18px;line-height:1.8;margin:0}.division-grid a{border-bottom:3px solid transparent;transition:.3s}.division-grid a:hover{border-color:var(--plum);background:#ede4f2}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:32px 0}.process span{font-size:clamp(22px,3vw,42px);font-weight:600;border-top:2px solid var(--plum);padding-top:20px}.approach-copy{font-size:20px;line-height:1.8;max-width:900px}
.contact{padding-block:70px}.contact>.eyebrow{display:none}.contact-title{font-size:clamp(38px,6vw,88px);line-height:1.08;letter-spacing:-3px;max-width:1000px;margin:0 0 50px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}.contact-copy p{font-size:19px;line-height:1.8}.contact-copy .location{font-size:14px}.contact-copy .social-links{margin-top:25px;gap:14px}.email-link{font-size:clamp(22px,2.8vw,40px)}.field input,.field textarea,.field select{border:0;border-bottom:1px solid #5f418350;background:transparent;border-radius:0;padding:12px 0}.field label{font-size:14px}.form-note{font-size:13px}.cta{font-size:14px}.footer{border-top:1px solid #5f418322;padding:30px 6%;font-size:12px}.page-hero:has(.sector-title)+.contact{border:0}.page-hero:has(.sector-title)+.contact .contact-title{display:none}
html[lang=ar] .page-tagline{letter-spacing:0;line-height:1.5}html[lang=ar] .service-row summary{letter-spacing:0;line-height:1.4}html[lang=ar] .contact-title{letter-spacing:0;line-height:1.4}html[lang=ar] .row-content{padding:0 0 32px 8%}
@media(max-width:1000px){header nav,body:not(.is-home) header nav{gap:18px}.social-location{gap:12px}.is-home .home-bottom{gap:12px}.is-home .home-bottom .location{max-width:150px}.page-hero .sector-title{font-size:11vw}}
@media(max-width:760px){header,.is-home header,body:not(.is-home) header{height:72px;padding:0 5%}.brand-logo{width:112px;height:54px}.brand-logo img{width:132px;height:132px;left:-11px;top:-38px}.is-home{grid-template-rows:72px minmax(0,1fr)}.is-home .home-screen{padding:0 5% 10px;gap:10px}.is-home .home-copy h2{font-size:23px;letter-spacing:-.7px;margin-bottom:8px}.is-home .home-copy h2 span{display:block}.is-home .home-copy p{font-size:12px;line-height:1.5;max-width:500px}.wordmark{font-size:19.3vw}.cube-label{font-size:12px}.is-home .home-bottom{display:grid;grid-template-columns:1fr auto;gap:6px;padding-top:8px;margin:0}.social-location{display:flex;grid-column:1;grid-row:1;flex-direction:column;gap:0;align-items:flex-start}.is-home .home-bottom .social-links{gap:5px}.is-home .home-bottom .location{max-width:none;font-size:10px}.is-home .home-bottom>a{display:block;grid-row:2;grid-column:1/-1;text-align:start;font-size:11px}.is-home .home-bottom #motion{grid-column:2;grid-row:1}.social-links a{width:32px;height:32px;padding:6px}.is-home .home-bottom .social-links a{width:32px;height:32px}.is-home .motion{font-size:10px}header nav,body:not(.is-home) header nav{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;padding:25px 6%;border-bottom:1px solid var(--line);gap:10px}.is-home header nav{background:var(--night)}header nav.open,body:not(.is-home) header nav.open{display:flex}header .menu-toggle,body:not(.is-home) header .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:35px;height:40px;padding:5px}.menu-toggle span{height:2px;width:23px;background:currentColor}.language{padding:8px 10px;font-size:12px}.back-link{top:83px;font-size:10px;padding:8px 10px}.page-hero{padding-top:65px;padding-bottom:35px}.page-hero .sector-title,html[lang=ar] .page-hero .sector-title{font-size:12vw;letter-spacing:-.07em;margin:15px 0 24px}.page-tagline{font-size:30px;letter-spacing:-1px}.page-hero p{font-size:16px;line-height:1.7}.section{padding-block:38px}.service-row summary{font-size:26px;padding:25px 0;letter-spacing:-.9px}.row-content p{font-size:16px}.about-grid,.division-grid{grid-template-columns:1fr;gap:15px;margin-bottom:35px}.about-grid article,.division-grid>a{padding:28px}.about-grid p,.division-grid p{font-size:16px}.process{grid-template-columns:1fr}.process span{font-size:28px;padding-top:12px}.approach-copy{font-size:17px}.contact{padding-block:40px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-title{font-size:40px;letter-spacing:-1px;margin-bottom:30px}.contact-copy p{font-size:16px}.contact-copy .social-links{gap:15px}.footer{gap:15px}.form-grid{grid-template-columns:1fr}.sector-links{margin-top:28px}.wordmark .letter{will-change:auto}}
@media(max-height:620px) and (min-width:761px){.is-home{grid-template-rows:65px minmax(0,1fr)}.is-home header{height:65px}.is-home .home-copy h2{font-size:24px;margin-bottom:5px}.is-home .home-copy p{font-size:12px}.is-home .home-bottom{min-height:45px;padding-top:7px}.wordmark{font-size:min(18vw,32vh)}}
@media(prefers-reduced-motion:reduce){.letter{transform:none!important}.row-content{animation:none}.cube-link:hover .cuboid{transform:none}}
/* Full-screen centered navigation */
header>.brand{position:absolute;left:50%;transform:translateX(-50%)}.overlay-menu-trigger,.overlay-menu-close{display:flex;align-items:center;gap:14px;background:none;border:0;color:inherit;font:600 12px 'IBM Plex Sans',sans-serif;letter-spacing:1px;padding:15px 0;cursor:pointer}.menu-stroke{display:block;width:28px;height:1px;background:currentColor}.navigation-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:radial-gradient(ellipse at 50% 40%,#392046 0%,#160d26 72%);color:#fff;overflow:auto}.navigation-dialog::backdrop{background:#160d26}.navigation-dialog[open]{display:flex;flex-direction:column;justify-content:center;align-items:center;animation:menuReveal .45s cubic-bezier(.2,.7,.2,1)}.navigation-dialog .overlay-menu-close{position:absolute;top:22px;left:4%;z-index:2}.menu-wordmark{position:absolute;top:28px;left:50%;transform:translateX(-50%);font:800 23px 'IBM Plex Sans';letter-spacing:-1px}.navigation-dialog #nav,.is-home .navigation-dialog #nav,body:not(.is-home) header .navigation-dialog #nav{position:static;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;padding:90px 20px 105px;background:none;border:0;flex:1;direction:inherit}.navigation-dialog #nav>a{font:700 clamp(30px,5.8vh,66px)/1.15 'IBM Plex Sans','IBM Plex Sans Arabic',sans-serif;letter-spacing:-1.6px;padding:5px 20px;color:white;text-transform:uppercase;text-align:center;animation:menuEntry .6s both;animation-delay:calc(var(--entry)*.045s)}.navigation-dialog #nav>a:after{display:none}.navigation-dialog #nav>a:hover,.navigation-dialog #nav>a[aria-current=page]{color:var(--yellow)}.navigation-dialog #nav>a:hover{transform:translateX(5px)}.navigation-dialog #nav>a{transition:transform .25s,color .25s}.menu-bottom{position:absolute;bottom:24px;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff20;padding-top:15px;font-size:13px}.navigation-dialog .social-links a:hover{color:var(--yellow)}.menu-is-open{overflow:hidden!important}.navigation-dialog :focus-visible{outline:2px solid var(--yellow);outline-offset:5px}html[lang=ar] .navigation-dialog #nav>a{font-family:'IBM Plex Sans Arabic',sans-serif;letter-spacing:0}@keyframes menuReveal{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}@keyframes menuEntry{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@media(max-width:760px){.overlay-menu-trigger{font-size:11px;gap:9px}.menu-stroke{width:21px}.navigation-dialog .overlay-menu-close{left:5%;top:15px}.menu-wordmark{top:26px;font-size:19px}.navigation-dialog #nav>a{font-size:clamp(28px,5vh,45px)}.menu-bottom{bottom:20px;left:5%;right:5%;font-size:12px}.menu-bottom .social-links{gap:3px}.menu-bottom .social-links a{width:30px;height:30px}.navigation-dialog #nav{padding-bottom:100px}}
/* Brand family and responsive interaction */
.brand-art{display:block;width:100%;height:auto;overflow:hidden}
header>.brand{width:152px;height:70px;display:flex;align-items:center}
header>.brand .brand-art{max-height:66px}
.footer>a{display:block;width:145px}.footer .brand-art{height:65px}
.portal-brand{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;z-index:2;pointer-events:none}
.portal-brand-drift{display:block;width:min(58%,730px);will-change:transform}
.portal-brand .brand-art{max-height:34vh;animation:brandFloat 9s ease-in-out infinite;filter:drop-shadow(0 12px 30px #a44e9d22)}
.motion-paused .portal-brand .brand-art{animation-play-state:paused}
.page-hero .sector-title:has(.brand-art){margin:0 0 38px;max-width:780px}
.page-hero .sector-title>.brand-art{width:min(100%,650px);max-height:260px;object-position:left center}
.page-hero .sector-title>.brand-art[aria-label^="Fusion"]{max-width:700px}
.brand-journey{position:relative;width:min(100%,720px);height:clamp(210px,28vw,330px);perspective:1000px;margin-bottom:30px}
.journey-frame{position:absolute;inset:0 0 40px;display:flex;align-items:center;opacity:0;animation:brandFlow 20s cubic-bezier(.22,.7,.2,1) infinite;animation-delay:calc(var(--brand-step)*5s);transform-origin:40% 55%}
.journey-frame .brand-art{width:100%;max-height:100%}
.journey-pause{position:absolute;bottom:0;inset-inline-start:0;font:500 12px 'IBM Plex Sans','IBM Plex Sans Arabic',sans-serif;letter-spacing:0;color:var(--ink);border:1px solid #5f418333;padding:9px 14px;background:white;cursor:pointer;z-index:2}
.brand-journey.is-paused .journey-frame{animation-play-state:paused}
.division-grid{perspective:1200px;gap:32px}
.division-grid>a{position:relative;min-height:310px;display:flex;flex-direction:column;justify-content:center;border:1px solid #5f418320;border-radius:3px;overflow:hidden;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .3s ease-out,background .4s,box-shadow .4s;background:#faf8fb}
.division-grid>a:nth-child(2){background:#f7f5fa}
.division-grid>a:hover,.division-grid>a:focus-visible{background:#fffce0;box-shadow:0 24px 55px #5f41831c;border-color:var(--plum)}
.division-grid .division-brand{width:100%;margin:0 0 24px;transform:translateZ(25px)}
.division-brand .brand-art{height:auto;max-height:190px;animation:brandFloat 7s ease-in-out infinite}
.division-grid>a:nth-child(2) .brand-art{animation-delay:-3.5s}
.division-grid>a:hover .brand-art{animation-play-state:paused;scale:1.06;transition:scale .5s}
.division-grid p{position:relative;z-index:1;font-size:17px}
.form-submit{display:flex!important;justify-content:center;margin:28px auto 0!important;min-width:230px;max-width:100%;text-align:center}
@keyframes brandFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@keyframes brandFlow{0%{opacity:0;transform:translateY(16px) rotateX(12deg) scale(.96);filter:blur(8px)}5%,20%{opacity:1;transform:translateY(0) rotateX(0) scale(1);filter:blur(0)}25%,100%{opacity:0;transform:translateY(-14px) rotateX(-10deg) scale(1.03);filter:blur(8px)}}
@media(max-width:760px){header>.brand{width:126px;height:56px}.portal-brand-drift{width:68%}.portal-brand .brand-art{max-height:24vh}.page-hero .sector-title>.brand-art{max-height:200px}.brand-journey{height:230px}.division-grid{gap:20px}.division-grid>a{min-height:260px}.division-brand .brand-art{max-height:160px}}
@media(prefers-reduced-motion:reduce){.portal-brand .brand-art,.division-brand .brand-art{animation:none}.division-grid>a{transform:none!important}.journey-frame{animation:none;position:relative;opacity:1;inset:auto;transform:none;filter:none}.brand-journey{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}.journey-pause{display:none}.portal-brand-drift{transform:none!important}}
.brand-art{mix-blend-mode:multiply}.portal-brand .brand-art{mix-blend-mode:normal}.portal-brand image{filter:url(#brand-paper)}.brand-art[aria-label^="Fusion"] image{filter:url(#brand-paper)}
.division-grid>a,.division-grid>a:nth-child(2),.division-grid>a:hover,.division-grid>a:focus-visible{background:#fff}
.restored-wordmark{font-size:clamp(65px,17vw,285px);color:#fff;gap:0;letter-spacing:-.07em}.restored-wordmark .cube-initial{width:1.15em;height:1.4em;flex-shrink:0;padding:0;margin-right:-.24em;position:relative;z-index:1}.cube-initial svg{display:block;width:100%;height:100%;overflow:visible}.restored-wordmark .letter{transform-origin:center center}.restored-wordmark .letter:last-child{padding-right:0}
@media(max-width:760px){.restored-wordmark{font-size:16.7vw}}
/* Sharp cube surfaces and a single explode/rebuild cycle */
.cube-face{border:0;outline:1px solid #b16aae;outline-offset:-1px;box-shadow:inset 0 0 0 1px #f4eb431c;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.cuboid{will-change:transform;transform-style:preserve-3d}.cube-link:hover .cube-face,.cube-link:focus-visible .cube-face{outline-color:var(--yellow);box-shadow:inset 0 0 0 1px var(--yellow)}
.initial-face{transform-box:fill-box;transform-origin:center}.reassembling .initial-top{animation:initialTop 1.65s cubic-bezier(.45,0,.2,1)}.reassembling .initial-left{animation:initialLeft 1.65s cubic-bezier(.45,0,.2,1)}.reassembling .initial-right{animation:initialRight 1.65s cubic-bezier(.45,0,.2,1)}
@keyframes initialTop{0%,100%{transform:translate(0,0) rotate(0)}40%,55%{transform:translate(0,-105px) rotate(-9deg)}}
@keyframes initialLeft{0%,100%{transform:translate(0,0) rotate(0)}40%,55%{transform:translate(-95px,30px) rotate(9deg)}}
@keyframes initialRight{0%,100%{transform:translate(0,0) rotate(0)}40%,55%{transform:translate(95px,65px) rotate(-12deg)}}
.motion-paused .initial-face{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.initial-face{animation:none!important}}
/* Match the supplied mark: C overlays the meeting point of all three faces. */
.restored-wordmark .cube-initial{width:auto;height:auto;flex-shrink:0;margin-right:0;padding-right:.02em;line-height:1;z-index:1}
.cube-initial .initial-glyph{position:relative;display:block;color:#fff;font:inherit;letter-spacing:inherit;z-index:1}
.cube-initial svg{position:absolute;width:2.06em;height:2.48em;max-width:none;left:-.80em;top:50%;transform:translateY(-54%);overflow:visible;pointer-events:none}
.restored-wordmark{padding-left:.65em;font-size:clamp(65px,16vw,270px)}
@media(max-width:760px){.restored-wordmark{font-size:15.5vw}}
/* Home-only brand colours and independent axial rotation */
.is-home .float-item{--face-main:#A44E9D;--face-top:#bc69b5;--face-side:#5f4183;--face-text:#fff}
.is-home .float-item:nth-child(3n+1){--face-main:#f4eb43;--face-top:#fff677;--face-side:#b7af2f;--face-text:#281638}
.is-home .float-item:nth-child(3n){--face-main:#5f4183;--face-top:#8060a0;--face-side:#30213e;--face-text:#fff}
.is-home .float-item .cube-face{background:var(--face-main);color:var(--face-text);outline-color:color-mix(in srgb,var(--face-main),white 12%);box-shadow:inset 0 0 0 1px #ffffff0c}
.is-home .float-item .cube-face.top{background:var(--face-top)}
.is-home .float-item .cube-face.left,.is-home .float-item .cube-face.right{background:var(--face-side)}
.is-home .float-item .cube-face.bottom{background:#100b16}
.is-home .float-item .cuboid{transform:rotateX(calc(var(--rx) + var(--spin-x,0deg))) rotateY(calc(var(--ry) + var(--spin-y,0deg))) rotateZ(var(--rz));transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.is-home .float-item .cube-link:hover .cuboid,.is-home .float-item .cube-link:focus-visible .cuboid{transform:rotateX(0) rotateY(0) rotateZ(0)}
.is-home .float-item .cube-link:hover .cube-face,.is-home .float-item .cube-link:focus-visible .cube-face{background:var(--yellow);color:var(--ink);outline-color:var(--yellow)}
@media(prefers-reduced-motion:reduce){.is-home .float-item .cuboid{transition:none}}
/* Every orbiting cube carries the complete three-colour palette. */
.is-home .float-item .cube-face.front,.is-home .float-item .cube-face.back{background:#A44E9D;color:#fff;outline-color:#A44E9D}
.is-home .float-item .cube-face.left,.is-home .float-item .cube-face.right{background:#5F4183;color:#fff;outline-color:#5F4183}
.is-home .float-item .cube-face.top,.is-home .float-item .cube-face.bottom{background:#F4EB43;color:#281638;outline-color:#F4EB43}
.is-home .float-item .cube-link:hover .cube-face,.is-home .float-item .cube-link:focus-visible .cube-face{background:#F4EB43;color:#281638;outline-color:#F4EB43}
.restored-wordmark{padding-left:0;font-size:clamp(65px,19.3vw,330px)}
@media(max-width:760px){.restored-wordmark{font-size:19.3vw}}
/* Share a stacking context with the wordmark so the rear orbit is occluded. */
.is-home .orbital-canvas{display:contents;perspective:none}
.is-home .galaxy-stage>.wordmark{z-index:2}
.is-home .float-item:has(.cube-link:focus-visible){z-index:5!important}
/* Three-brand About sequence and minimal header controls */
header .language,.is-home header .language{border:0;background:transparent;box-shadow:none}
.overlay-menu-trigger .menu-stroke{position:relative;transform:translateY(-3px)}
.overlay-menu-trigger .menu-stroke:after{content:'';position:absolute;inset:6px 0 auto;height:1px;background:currentColor;transition:transform .25s,opacity .25s}
.overlay-menu-trigger[aria-expanded=true] .menu-stroke{transform:none}
.overlay-menu-trigger[aria-expanded=true] .menu-stroke:after{opacity:0;transform:translateY(-6px)}
.brand-journey .journey-frame{inset:0;animation-name:brandFlowThree;animation-duration:15s}
@keyframes brandFlowThree{0%{opacity:0;transform:translateY(16px) rotateX(12deg) scale(.96);filter:blur(8px)}6%,27%{opacity:1;transform:none;filter:blur(0)}33.333%,100%{opacity:0;transform:translateY(-14px) rotateX(-10deg) scale(1.03);filter:blur(8px)}}
@media(prefers-reduced-motion:reduce){.brand-journey .journey-frame{animation:none;opacity:1;transform:none;filter:none}}
html[lang=ar] .cube-label{font-family:'IBM Plex Sans Arabic',sans-serif;letter-spacing:0;font-size:18px}
html[lang=ar] .page-hero .sector-title:not(:has(.brand-art)){font-family:'IBM Plex Sans Arabic',sans-serif;font-size:clamp(42px,8vw,110px);letter-spacing:0;line-height:1.4}
html[lang=ar] .overlay-menu-trigger,html[lang=ar] .overlay-menu-close{font-family:'IBM Plex Sans Arabic',sans-serif;letter-spacing:0}
@media(max-width:760px){html[lang=ar] .cube-label{font-size:13px}}
.service-heading{display:block;min-width:0}.service-subtitle{display:block;font-size:16px;font-weight:500;line-height:1.6;letter-spacing:0;color:var(--muted);margin-top:12px}
/* Remove the raster paper backing from the Contact page logo. */
body[data-page="contact"] .brand-art image{filter:url(#brand-paper)}
body[data-page="contact"] .brand-art,body[data-page="contact"] .brand{background:transparent}

/* IBM body typography, with the existing homepage wordmark and spacing preserved. */
html[lang=en] body{font-family:'IBM Plex Sans',Arial,sans-serif}
html[lang=ar] body{font-family:'IBM Plex Sans Arabic',Arial,sans-serif}
.is-home .wordmark,.is-home .restored-wordmark{font-family:Manrope,Arial,sans-serif;font-weight:800}
html[lang=en] .sector-title,html[lang=en] .cube-label,html[lang=en] .menu-wordmark{font-weight:700}
/* Language-aware layout without changing spacing or the orbital scene. */
html[dir] header,html[dir] .is-home header,html[dir] body:not(.is-home) header{direction:inherit}
.page-hero,.section,.contact,.footer{direction:inherit;text-align:start}
.contact-grid,.form-grid,.division-grid,.about-grid,.process,.sector-links,.home-bottom,.social-location,.social-links,.menu-bottom{direction:inherit}
.field input:not([type=email]),.field textarea,.field select{direction:inherit;text-align:start}
a[href^="mailto:"],a[href^="tel:"],input[type=email],input[type=tel]{direction:ltr;unicode-bidi:isolate}
.brand-art,.brand,.menu-wordmark{direction:ltr;unicode-bidi:isolate}
.navigation-dialog .overlay-menu-close{left:auto;right:auto;inset-inline-start:4%}
html[dir=rtl] .navigation-dialog #nav>a:hover{transform:translateX(-5px)}
html[dir] .row-content{padding-inline-start:0;padding-inline-end:8%}
html[dir] .is-home .home-copy{direction:inherit;text-align:center}
@media(max-width:760px){.navigation-dialog .overlay-menu-close{left:auto;right:auto;inset-inline-start:5%}}

/* Keep Arabic hero logos on the physical left, preserving RTL copy. */
html[lang=ar] body:is([data-page=events],[data-page=tech],[data-page=about]) .page-hero .sector-title{margin-left:0;margin-right:auto;text-align:left;direction:ltr}
