@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@400;500;600;700&display=swap');
/* SHAPE V01 — scoped corrections. Do not modify the approved cube or logo. */
:root{--body-font:"Helvetica Neue",Helvetica,Arial,sans-serif}
.editorial-detail p,.teaser-bottom p,.inner-copy p,.disciplines-intro,.people-intro,.thinking-section>p,.about-origin p,.philosophy-lead p,.profile-about p,.discipline-panel-inner p,.discipline-panel li{font-weight:300!important;letter-spacing:normal!important}
.mobile-menu .shape-menu-link{color:#929292!important;transition:color .28s ease!important}
.mobile-menu .shape-menu-link:hover,.mobile-menu .shape-menu-link:focus-visible,.mobile-menu .shape-menu-link[aria-current="page"]{color:#f5f2eb!important}
.mobile-menu .shape-menu-link:last-of-type{color:#f5a400!important}
.mobile-menu .shape-triangle{transition:transform .38s cubic-bezier(.2,.7,.2,1),background-color .28s ease!important}
.shape-ar :is(h1,h2,h3,h4,h5,h6,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *,p,main,main *,nav.mobile-menu,nav.mobile-menu *,footer,footer *,button,button *, .contact-headline,.contact-headline *){font-family:"Alexandria",Arial,sans-serif!important}
.shape-ar :is(p,.editorial-detail p,.teaser-bottom p,.inner-copy p,.philosophy-lead p,.thinking-section>p,.discipline-panel-inner p,.discipline-panel li){font-weight:300!important;letter-spacing:normal!important}
.shape-ar :is(h1,h2,h3,h4,h5,h6,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *){letter-spacing:normal!important}
.shape-ar .mobile-menu .shape-menu-link{color:#929292!important}
.shape-ar .mobile-menu .shape-menu-link[aria-current="page"],.shape-ar .mobile-menu .shape-menu-link:hover,.shape-ar .mobile-menu .shape-menu-link:focus-visible{color:#f5f2eb!important}
.shape-ar .mobile-menu .shape-menu-link:last-of-type{color:#f5a400!important}
.shape-ar .nav .shape-language-switch{font-family:Figtree,Arial,sans-serif!important}
@media(prefers-reduced-motion:reduce){.mobile-menu .shape-triangle{transition:none!important}}

/* V01.1 screenshot fixes: typography, header geometry and menu scrolling */
html[lang="ar"] body.shape-ar{font-family:"Alexandria",sans-serif}
html[lang="ar"] body.shape-ar :is(.intro-story .intro-phrase,.intro-resolution .resolution-prefix){font-family:"Alexandria",sans-serif!important;font-weight:700!important;letter-spacing:normal!important}
html[lang="ar"] body.shape-ar :is(.discipline-toggle,.discipline-toggle strong,.discipline-panel,.discipline-panel *, .thread-caption,.thread-caption *, .thread-scroll-hint,.thread-instruction,.mobile-menu-foot){font-family:"Alexandria",sans-serif!important;letter-spacing:normal!important}
html[lang="ar"] body.shape-ar :is(.intro-phrase,.intro-resolution,.thinking-section h2,.thinking-section h2 span){letter-spacing:normal!important}
.nav .shape-language-switch{width:32px!important;min-width:32px!important;flex:0 0 32px!important;display:inline-flex!important;justify-content:center!important;align-items:center!important;margin-left:auto!important;margin-right:14px!important}
.nav .mobile-menu-toggle{min-width:91px!important;width:91px!important;flex:0 0 91px!important;justify-content:flex-end!important}
.nav .shape-menu-label{min-width:0;text-align:right}
body.mobile-menu-open,html:has(body.mobile-menu-open){overflow:hidden!important;overscroll-behavior:none!important}
.mobile-menu .shape-menu-link .shape-triangle{transition:transform .35s cubic-bezier(.2,.7,.2,1),color .25s ease!important}
.mobile-menu .shape-menu-link:hover .shape-triangle,.mobile-menu .shape-menu-link:focus-visible .shape-triangle{transform:rotate(0deg)!important}
.shape-ar .mobile-menu .shape-menu-link:hover .shape-triangle,.shape-ar .mobile-menu .shape-menu-link:focus-visible .shape-triangle{transform:rotate(180deg)!important}
@media(max-width:750px){.nav .mobile-menu-toggle{width:78px!important;min-width:78px!important;flex-basis:78px!important}.nav .shape-language-switch{margin-right:12px!important}}

/* V01.2: approved Arabic display face is IBM Plex Sans Arabic; Alexandria only for copy. */

html[lang="ar"] body.shape-ar :is(h1,h2,h3,h4,h5,h6,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *,.intro-story .intro-phrase,.intro-resolution .resolution-prefix,.contact-headline,.contact-headline *,.dive-fixed-heading,.dive-fixed-heading *,.scale-statement,.scale-statement *,.identity-motion-copy h2,.mobile-menu .shape-menu-link>span:first-child){font-family:"IBM Plex Sans Arabic",sans-serif!important;letter-spacing:normal!important}
html[lang="ar"] body.shape-ar .intro-story .intro-phrase{font-weight:700!important;line-height:1.4!important}
html[lang="ar"] body.shape-ar :is(.editorial-detail p,.discipline-panel p,.thread-caption p,.philosophy-lead p){font-family:"Alexandria",sans-serif!important;font-weight:300!important;letter-spacing:normal!important}


/* V17.1 typography restoration — original desktop values, no cube/motion changes. */
html:not([lang="ar"]) body :is(.editorial-intro h1,.editorial-intro h1 em,.disciplines h2,.people-teaser h2){font-family:Figtree,sans-serif!important;font-size:clamp(58px,7.8vw,128px)!important;font-weight:800!important;letter-spacing:-.085em!important;line-height:.93!important}
html:not([lang="ar"]) body .editorial-intro h1{line-height:.99!important;max-width:1300px!important}
html:not([lang="ar"]) body :is(.intro-story .intro-phrase,.intro-story .intro-phrase.phrase-one,.intro-story .intro-phrase.phrase-two,.intro-story .intro-phrase.phrase-three){font-family:Figtree,sans-serif!important;font-weight:800!important;letter-spacing:-.075em!important;line-height:1.05!important}
html:not([lang="ar"]) body :is(.contact-headline,.contact-headline *){font-family:Figtree,sans-serif!important;font-weight:800!important;letter-spacing:-.09em!important}
html:not([lang="ar"]) body :is(.editorial-detail p,.teaser-bottom p,.inner-copy p,.disciplines-intro,.people-intro,.thinking-section>p,.about-origin p,.philosophy-lead p,.profile-about p,.discipline-panel-inner p,.discipline-panel li){font-family:"Helvetica Neue",Helvetica,sans-serif!important;font-weight:300!important}
html[lang="ar"] body.shape-ar :is(.editorial-detail p,.teaser-bottom p,.inner-copy p,.disciplines-intro,.people-intro,.thinking-section>p,.about-origin p,.philosophy-lead p,.profile-about p,.discipline-panel-inner p,.discipline-panel li){font-family:Alexandria,sans-serif!important;font-weight:300!important;letter-spacing:normal!important}
html[lang="ar"] body.shape-ar :is(.discipline-toggle strong,.discipline-panel h3,.discipline-panel h4,.person-role,.thread-caption h3,.teaser-bottom h3){font-family:Alexandria,sans-serif!important;font-weight:700!important}
html[lang="ar"] body.shape-ar :is(.editorial-intro h1,.editorial-intro h1 *,.intro-story .intro-phrase,.intro-resolution .resolution-prefix,.scale-statement,.contact-headline,.dive-fixed-heading){font-family:"IBM Plex Sans Arabic",sans-serif!important;font-weight:700!important;letter-spacing:-.045em!important}
@media(min-width:751px){
 html:not([lang="ar"]) body :is(.intro-story .intro-phrase,.intro-story .intro-phrase.phrase-one,.intro-story .intro-phrase.phrase-two,.intro-story .intro-phrase.phrase-three){font-size:clamp(44px,7.1vw,128px)!important;white-space:nowrap!important;max-width:none!important;width:max-content!important}
 html[lang="ar"] body.shape-ar :is(.intro-story .intro-phrase,.intro-story .intro-phrase.phrase-one,.intro-story .intro-phrase.phrase-two,.intro-story .intro-phrase.phrase-three){font-size:clamp(44px,6vw,108px)!important;line-height:1.15!important;white-space:nowrap!important;max-width:none!important;width:max-content!important}
 html[lang="ar"] body.shape-ar .editorial-intro h1{font-size:clamp(58px,7.8vw,128px)!important;line-height:1.08!important}
}


/* Home contact social icons, adjacent to contact info, no country tagline. */
#home .contact-foot{display:flex;align-items:center;justify-content:space-between;gap:20px}
#home .shape-home-social{display:inline-flex;align-items:center;gap:17px}
#home .shape-home-social a{display:inline-flex;align-items:center;justify-content:center;color:#f5f2eb}
#home .shape-home-social svg{width:22px;height:22px;display:block}
#home .shape-home-social a:hover{color:#f5a400}
@media(min-width:751px){
/* Keep the three Arabic opening lines within matching left and right gutters. */
html[lang="ar"] body.shape-ar #home .intro-story{padding-inline:4.5vw!important;box-sizing:border-box!important;width:100%!important}
html[lang="ar"] body.shape-ar #home .intro-story .intro-phrase{box-sizing:border-box!important;max-width:91vw!important;width:fit-content!important;white-space:normal!important;text-wrap:wrap!important;overflow-wrap:normal!important;font-size:clamp(38px,5.25vw,92px)!important;line-height:1.2!important;text-align:right!important;align-self:flex-start!important}
html[lang="ar"] body.shape-ar #home .intro-story .phrase-three{font-size:clamp(36px,4.9vw,86px)!important}
html[lang="ar"] body.shape-ar #home .intro-resolution{direction:rtl!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.22em!important}
html[lang="ar"] body.shape-ar #home .shape-ar-resolution-word{font-family:"IBM Plex Sans Arabic",sans-serif!important;font-weight:700!important;color:#f5a400!important}
html[lang="ar"] body.shape-ar #home .contact-headline{position:relative!important;padding-left:clamp(65px,9vw,150px)!important;box-sizing:border-box!important}
html[lang="ar"] body.shape-ar #home .contact-headline>b{position:absolute!important;left:4.5vw!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important}
html[lang="ar"] body.shape-ar #home .contact-headline .shape-inline-triangle{position:absolute!important;left:4.5vw!important;right:auto!important;top:50%!important;transform:translateY(-50%) rotate(0deg)!important}
html[lang="ar"] body.shape-ar #home .desktop-cube-slogan,
html[lang="ar"] body.shape-ar #home .desktop-cube-scroll{font-family:Alexandria,sans-serif!important;font-weight:700!important;letter-spacing:normal!important}
}

/* Desktop home final visual corrections. Mobile remains unchanged. */
@media(min-width:751px){
/* English three-line sequence: long second line must fit the viewport. */
html:not([lang="ar"]) body #home .intro-story{box-sizing:border-box!important;width:100%!important;padding-inline:4.5vw!important}
html:not([lang="ar"]) body #home .intro-story .intro-phrase{max-width:91vw!important;width:max-content!important;white-space:nowrap!important;font-size:clamp(36px,5.9vw,100px)!important;letter-spacing:-.085em!important}
html:not([lang="ar"]) body #home .intro-story .phrase-two{font-size:clamp(34px,5.65vw,96px)!important}
html:not([lang="ar"]) body #home .intro-story .phrase-three{font-size:clamp(36px,6vw,102px)!important}
/* Arabic cube caption uses Alexandria, readable and aligned to home gutters. */
html[lang="ar"] body.shape-ar #desktopCubeCopy .desktop-cube-slogan{font-family:Alexandria,sans-serif!important;font-size:clamp(13px,1.05vw,18px)!important;font-weight:700!important;letter-spacing:normal!important;text-align:right!important;right:4.5vw!important;left:auto!important}
html[lang="ar"] body.shape-ar #desktopCubeCopy .desktop-cube-scroll{font-family:Alexandria,sans-serif!important;font-size:clamp(12px,.95vw,16px)!important;font-weight:700!important;letter-spacing:normal!important}
/* End of Arabic intro: keep both words at the same visual scale. */
html[lang="ar"] body.shape-ar #home .intro-resolution .resolution-prefix,
html[lang="ar"] body.shape-ar #home .intro-resolution .shape-ar-resolution-word{font-family:"IBM Plex Sans Arabic",sans-serif!important;font-size:clamp(56px,6.6vw,112px)!important;font-weight:700!important;line-height:1.15!important;letter-spacing:-.045em!important;white-space:nowrap!important}
/* One divider and one footer grid in both languages. */
body #home .contact-foot{border:0!important}
body > footer{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;align-items:center!important;gap:18px!important;position:relative!important;padding:32px 4.5vw 45px!important;border-top:1px solid #333!important;direction:ltr!important}
body > footer .footer-wordmark{grid-column:1!important;grid-row:1!important;justify-self:start!important}
body > footer > span{grid-column:2!important;grid-row:1!important;justify-self:center!important}
body > footer > a{grid-column:3!important;grid-row:1!important;justify-self:end!important}
body > footer .shape-home-social{grid-column:1!important;grid-row:2!important;justify-self:start!important;margin-top:16px!important}
html[lang="ar"] body.shape-ar #home .contact-headline>b{left:4.5vw!important;right:auto!important;transform:translateY(-50%) rotate(-90deg)!important}
html[lang="ar"] body.shape-ar #home .contact-headline .shape-inline-triangle{left:4.5vw!important;right:auto!important;transform:translateY(-50%) rotate(-90deg)!important}
}

/* Home desktop footer: wordmark fixed left, socials directly before email. */
@media(min-width:751px){
body #home .contact-foot{justify-content:flex-end!important;gap:22px!important;direction:ltr!important}
body #home .contact-foot .shape-home-social{order:0!important;display:inline-flex!important;gap:15px!important}
body #home .contact-foot>a[href^="mailto:"]{order:1!important}
body #home .contact-foot .shape-home-social a,
body #home .contact-foot>a[href^="mailto:"]{color:#8f8f8f!important;transition:color .2s ease!important}
body #home .contact-foot .shape-home-social a:hover,
body #home .contact-foot .shape-home-social a:focus-visible,
body #home .contact-foot>a[href^="mailto:"]:hover,
body #home .contact-foot>a[href^="mailto:"]:focus-visible{color:#f5a400!important}
html[lang="ar"] body.shape-ar #home .contact-headline .shape-inline-triangle{transform:translateY(-50%) rotate(0deg)!important;clip-path:polygon(0 0,100% 0,0 100%)!important}
html[lang="ar"] body.shape-ar #home .contact-headline>b{transform:translateY(-50%)!important}
}

/* Home laptop: left anchored cube captions and left contact controls. */
@media(min-width:751px){
html[lang="ar"] body.shape-ar #home .desktop-cube-slogan,
html[lang="ar"] body.shape-ar #home .cube-slogan{left:4.5vw!important;right:auto!important;text-align:left!important;direction:rtl!important;unicode-bidi:plaintext!important}
html[lang="ar"] body.shape-ar #home .desktop-cube-slogan::after,
html[lang="ar"] body.shape-ar #home .cube-slogan::after{content:none!important}
html[lang="ar"] body.shape-ar #home .desktop-cube-scroll,
html[lang="ar"] body.shape-ar #home .cube-scroll{left:4.5vw!important;right:auto!important;text-align:left!important;direction:rtl!important}
body #home .contact-foot{justify-content:flex-start!important;direction:ltr!important}
body #home .contact-foot .shape-home-social{order:0!important}
body #home .contact-foot>a[href^="mailto:"]{order:1!important}
}

/* Correct actual DOM: #desktopCubeCopy is a direct body child, not inside #home. */
@media(min-width:751px){
html[lang="ar"] body.shape-ar #desktopCubeCopy .desktop-cube-slogan{left:4.5vw!important;right:auto!important;direction:rtl!important;text-align:left!important;unicode-bidi:plaintext!important;font-family:Alexandria,sans-serif!important;font-weight:700!important}
html[lang="ar"] body.shape-ar #desktopCubeCopy .desktop-cube-scroll{left:4.5vw!important;right:auto!important;text-align:left!important;direction:rtl!important;font-family:Alexandria,sans-serif!important}
body #home .contact-foot{justify-content:flex-start!important;direction:ltr!important;width:100%!important}
body #home .contact-foot .shape-home-social{order:0!important}
body #home .contact-foot>a[href^="mailto:"]{order:1!important}
}

/* Arabic cube scroll hint stays on the right; slogan remains on the left. */
@media(min-width:751px){html[lang="ar"] body.shape-ar #desktopCubeCopy .desktop-cube-scroll{right:4.5vw!important;left:auto!important;text-align:right!important;direction:rtl!important}}

/* Approved laptop untouched: mobile home only (<=750px). */
@media(max-width:750px){
/* Menu/language move together toward right, retain their fixed relationship when opened. */
body #home~*{box-sizing:border-box}
header.nav{padding-right:3.5vw!important}
header.nav .shape-language-switch{margin-left:auto!important;margin-right:10px!important}
header.nav .mobile-menu-toggle{margin-right:0!important}
/* Arabic slogan at square: no English fallback and correct terminal punctuation. */
html[lang="ar"] body.shape-ar #home .mobile-cube-hero-top{font-family:Alexandria,sans-serif!important;direction:rtl!important;text-align:left!important;font-weight:500!important;color:#b4b4b4!important}
html[lang="ar"] body.shape-ar #home .mobile-cube-hero-top::before,
html[lang="ar"] body.shape-ar #home .mobile-cube-hero-top::after{content:none!important}
/* Larger intro statements while keeping them within mobile safe gutters. */
body #home .intro-story{padding-inline:6vw!important;box-sizing:border-box!important}
body #home .intro-story .intro-phrase{font-size:clamp(42px,11.2vw,68px)!important;line-height:1.14!important;max-width:88vw!important;white-space:normal!important;overflow-wrap:normal!important;letter-spacing:-.075em!important}
html[lang="ar"] body.shape-ar #home .intro-story .intro-phrase{font-family:"IBM Plex Sans Arabic",sans-serif!important;font-size:clamp(43px,11.7vw,70px)!important;line-height:1.23!important;letter-spacing:-.035em!important;max-width:88vw!important}
/* Arabic resolution: equal bold scale, amber shape word. */
html[lang="ar"] body.shape-ar #home .intro-resolution{flex-direction:column!important;gap:0!important;align-items:center!important;justify-content:center!important;text-align:center!important}
html[lang="ar"] body.shape-ar #home .intro-resolution .resolution-prefix,
html[lang="ar"] body.shape-ar #home .intro-resolution .shape-ar-resolution-word{font-family:"IBM Plex Sans Arabic",sans-serif!important;font-size:clamp(56px,14vw,86px)!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.04em!important;white-space:nowrap!important}
html[lang="ar"] body.shape-ar #home .intro-resolution .shape-ar-resolution-word{color:#f5a400!important}
/* Contact arrow tracks the orange line, on its outside edge. */
body #home .contact-headline{position:relative!important}
body #home .contact-headline .shape-inline-triangle{top:auto!important;bottom:clamp(85px,14vw,135px)!important;transform:none!important}
html[lang="ar"] body.shape-ar #home .contact-headline .shape-inline-triangle{right:6vw!important;left:auto!important;clip-path:polygon(0 0,100% 0,0 100%)!important}
html:not([lang="ar"]) body #home .contact-headline .shape-inline-triangle{right:6vw!important;left:auto!important}
/* Shared LTR footer geometry: logo always left, back-to-top right. */
body > footer{direction:ltr!important;display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;flex-wrap:nowrap!important;gap:10px!important;padding:30px 6vw 45px!important}
body > footer .footer-wordmark{order:0!important;margin:0!important;width:clamp(112px,32vw,155px)!important}
body > footer > span{display:none!important}
body > footer > a{order:1!important;margin:0!important;white-space:nowrap!important;text-align:right!important}
body #home .contact-foot{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:15px!important}
body #home .contact-foot .shape-home-social{display:inline-flex!important;gap:22px!important}
body #home .contact-foot .shape-home-social a,
body #home .contact-foot>a[href^="mailto:"]{color:#8f8f8f!important}
body #home .contact-foot .shape-home-social a:hover,
body #home .contact-foot>a[href^="mailto:"]:hover{color:#f5a400!important}
}

/* Mobile repair: target actual cube caption and nav flex items. Desktop remains approved. */
@media(max-width:750px){
 header.nav{column-gap:0!important;padding-right:3.5vw!important}
 header.nav .logo{margin-right:auto!important}
 header.nav .shape-language-switch{margin-left:0!important;margin-right:8px!important;order:1!important;flex:0 0 auto!important}
 header.nav .mobile-menu-toggle{margin-left:0!important;margin-right:0!important;order:2!important;flex:0 0 auto!important}
 body.mobile-menu-open header.nav .shape-language-switch{margin-left:0!important;margin-right:8px!important}
 html[lang="ar"] body.shape-ar #desktopCubeCopy .desktop-cube-slogan{font-family:Alexandria,sans-serif!important;direction:rtl!important;unicode-bidi:plaintext!important;letter-spacing:normal!important}
 /* Third Arabic statement: fit two lines at the largest safe scale. */
 html[lang="ar"] body.shape-ar #home .intro-story .intro-phrase.phrase-three{font-size:clamp(34px,9.1vw,53px)!important;line-height:1.32!important;max-width:88vw!important;text-wrap:balance!important}
}
