/* byJOOM: site-wide editorial layer for every page family (loaded after site.css and magazine.css).
   Shared tokens, fonts, header and Contents live in magazine.css. This file gives the project pages, articles, archives,
   institutional pages, forms and footer the same typographic identity: Geom for names and capitals, Newsreader for reading,
   Plex Mono for kickers. Palette: paper, ink, sand, graphite only (decision 0008). */

/* ---- ground ---- */
body.mg:not(.hz){padding-top:var(--head)}
body.mg{background:var(--paper)}
body.mg ::selection{background:var(--ink);color:var(--paper)}
html[lang="ar"] body.mg{font-family:var(--read-ar)}
.mg .more-link{font:700 11.5px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:3px}
html[lang="ar"] .mg .more-link{font:700 15px/1 var(--display-ar);letter-spacing:0;text-transform:none}
.mg .btn{border-radius:0;background:var(--ink);color:var(--paper);font:700 11.5px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;min-height:48px;padding:0 26px}
.mg .btn:hover{background:#000;box-shadow:none;outline:2px solid var(--ink);outline-offset:3px}

/* ---- footer: black, quiet, complete ---- */
.mg .foot{background:#0B0B0A;color:#F4F2EC;border-top:0;padding:clamp(56px,7vw,112px) var(--m) 28px}
.mg .foot h2{margin:3px 0 16px;font:700 11px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(244,242,236,.55)}
html[lang="ar"] .mg .foot h2{font:700 14px/1.3 var(--display-ar);letter-spacing:0;text-transform:none}
.mg .foot li a{color:#E9E6DD;font:400 14.5px/1.4 var(--tech);padding:5px 0}
.mg .foot li a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.mg .foot li a.all{color:rgba(244,242,236,.7)}
.mg .foot .brandcol img{height:30px}
.mg .foot-legal,.mg .foot-bar{border-top-color:rgba(244,242,236,.18)}
.mg .foot-legal li a{color:rgba(244,242,236,.78);font-size:13px}
.mg .foot-bar p{color:rgba(244,242,236,.6)}
.mg .foot :focus-visible{outline-color:#F4F2EC}

/* ---- hero zone shared by project pages and institutional pages ---- */
.pz{position:relative;overflow:clip;background:#0B0B0A}
.pz[data-tone="dark"]::before{content:"";position:absolute;inset-inline:0;top:0;height:min(200px,26vh);background:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,0));pointer-events:none;z-index:1}
.phero{position:relative}
.phero img{width:100%;height:clamp(420px,76svh,860px);object-fit:cover}
.phero::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(to top,rgba(0,0,0,.45),rgba(0,0,0,0));pointer-events:none}

/* ---- project page ---- */
.pj-hero{display:flex;min-height:max(560px,92svh);color:#fff}
.pj-ph{position:absolute;inset:0;margin:0}.pj-ph img{width:100%;height:100%;object-fit:cover;display:block}
.pj-hero::after{content:"";position:absolute;inset-inline:0;bottom:0;height:70%;background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,.26) 55%,rgba(0,0,0,0));pointer-events:none}
.pj-hero[data-scrim="strong"]::after{background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.5) 55%,rgba(0,0,0,.08))}
.pj-in{position:relative;z-index:2;align-self:flex-end;width:100%;box-sizing:border-box;padding:0 var(--m) clamp(44px,6vw,100px)}
.pj-k{margin:0;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.pj-h{margin:.12em 0 0;max-width:12em;font:800 clamp(44px,9.2vw,172px)/.86 var(--display);letter-spacing:-.045em;text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere}
.pj-h.lg{font-size:clamp(40px,7.4vw,140px)}.pj-h.xl{font-size:clamp(34px,6vw,112px)}
html[lang="ar"] .pj-h,html[lang="ar"] .pj-h a{font-family:var(--display)!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:-.03em!important;line-height:.95!important}
.pj-intro{padding-top:clamp(56px,8vw,128px)}
.pj-facts{grid-column:1/4;margin:0}
.pj-facts div{padding:0 0 18px}
.pj-facts dt{font:400 11.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.pj-facts dd{margin:4px 0 0;font:400 clamp(16px,1.2vw,19px)/1.35 var(--read)}
.pj-facts dd a{text-decoration:none;border-bottom:1px solid var(--ink);margin-inline-end:.6em}
html[lang="ar"] .pj-facts dt{font-family:var(--tech);letter-spacing:0;text-transform:none;font-size:13px}
html[lang="ar"] .pj-facts dd{font-family:var(--read-ar)}
.pj-sum{grid-column:5/13;margin:0;font:italic 300 clamp(26px,3.3vw,56px)/1.12 var(--read);letter-spacing:-.02em;text-wrap:balance}
html[lang="ar"] .pj-sum{font:400 clamp(24px,2.8vw,46px)/1.55 var(--read-ar);letter-spacing:0}
.pj-txt{padding-top:clamp(56px,8vw,128px)}
.pj-cols{grid-column:3/13;display:grid;grid-template-columns:1fr 1fr;gap:var(--gut) clamp(28px,3.4vw,56px)}
.pj-cols3{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gut) clamp(28px,3.4vw,56px);padding-top:clamp(20px,2.4vw,32px);border-top:1px solid var(--ink)}
.pj-txt h2,.pj-side h2{margin:0 0 .7em;font:700 11.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}
html[lang="ar"] .pj-txt h2,html[lang="ar"] .pj-side h2{font:700 16px/1.4 var(--display-ar);letter-spacing:0;text-transform:none}
.pj-txt p,.pj-side p{margin:0 0 1.1em;font:400 clamp(16px,1.2vw,19px)/1.62 var(--read);text-align:justify;text-justify:inter-word;hyphens:auto;overflow-wrap:break-word}
html[lang="ar"] .pj-txt p,html[lang="ar"] .pj-side p{font-family:var(--read-ar);line-height:1.95;hyphens:manual;text-justify:inter-character}
.pj-txt .pj-em{font:italic 300 clamp(20px,1.8vw,30px)/1.3 var(--read);text-align:start;hyphens:manual}
html[lang="ar"] .pj-txt .pj-em{font:400 clamp(19px,1.7vw,28px)/1.7 var(--read-ar)}
.pj-wide{grid-column:1/-1;margin:clamp(48px,7vw,112px) 0 0}.pj-wide img{width:100%;aspect-ratio:21/9;object-fit:cover;display:block}
.pj-q{padding-top:clamp(64px,9vw,150px)}
.pj-q blockquote{grid-column:2/12;margin:0}
.pj-q blockquote p{margin:0;font:italic 300 clamp(28px,4.2vw,72px)/1.08 var(--read);letter-spacing:-.02em;text-wrap:balance}
html[lang="ar"] .pj-q blockquote p{font:400 clamp(26px,3.6vw,60px)/1.5 var(--read-ar);letter-spacing:0}
.pj-q footer{margin-top:clamp(18px,2vw,30px)}
.pj-q.alt blockquote{grid-column:1/8}.pj-q.alt .pq-img{grid-column:9/13;margin:0}.pj-q.alt .pq-img img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.pj-pair{padding-top:clamp(56px,8vw,128px)}
.pj-pair .pa{grid-column:1/8;margin:0}.pj-pair .pa img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.pj-pair .pb2{grid-column:9/13;margin:clamp(40px,8vw,140px) 0 0}.pj-pair .pb2 img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.pj-pair .pa:only-child{grid-column:3/11}
.pj-pair.v2 .pa{grid-column:1/6}.pj-pair.v2 .pa img{aspect-ratio:4/5}
.pj-pair.v2 .pb2{grid-column:7/13;margin-top:clamp(56px,10vw,180px)}.pj-pair.v2 .pb2 img{aspect-ratio:3/2}
.pj-bleed{margin:clamp(48px,7vw,112px) 0 0}.pj-bleed img{width:100%;height:clamp(360px,80svh,860px);object-fit:cover;display:block}
.pj-side{padding-top:clamp(56px,8vw,128px);align-items:start}
.pj-side .ps-a{grid-column:1/6}.pj-side .ps-b{grid-column:7/13;margin:0}.pj-side .ps-b img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.pj-more{padding-top:clamp(40px,6vw,96px)}
.pj-more .xa{margin:0}.pj-more .xb{margin:0}
.pj-more img{width:100%;object-fit:cover;display:block}
.pj-more.x0 .xa{grid-column:1/8}.pj-more.x0 .xa img{aspect-ratio:3/2}.pj-more.x0 .xb{grid-column:9/13;margin-top:clamp(40px,8vw,120px)}.pj-more.x0 .xb img{aspect-ratio:4/5}
.pj-more.x1 .xa{grid-column:1/5;margin-top:clamp(40px,8vw,120px)}.pj-more.x1 .xa img{aspect-ratio:4/5}.pj-more.x1 .xb{grid-column:6/13}.pj-more.x1 .xb img{aspect-ratio:3/2}
.pj-more .xa:only-child{grid-column:3/11;margin-top:0}.pj-more .xa:only-child img{aspect-ratio:21/9}
.pj-rel .rl1{grid-column:1/6}.pj-rel .rl2{grid-column:7/10;margin-top:clamp(40px,6vw,96px)}.pj-rel .rl3{grid-column:10/13}
.pj-rel .sq{width:100%;margin:0}.pj-rel .sq img.ph{aspect-ratio:4/3;height:auto}.pj-rel .rl1 .sq img.ph{aspect-ratio:5/4}
.pj-rel .sq-s,.pj-rel .cap{display:none}
.pj-rel .ed-name{font-size:clamp(20px,2vw,32px)}
.pj-next{display:block;padding:clamp(56px,8vw,128px) var(--m) clamp(56px,8vw,112px);text-decoration:none;border-top:1px solid var(--ink);margin-top:clamp(56px,8vw,128px);color:var(--ink)}
.pj-next small{display:block;font:400 11.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.pj-next b{display:block;font:800 clamp(36px,7vw,128px)/.9 var(--display);letter-spacing:-.045em;text-transform:uppercase}
.pj-next span{display:block;margin-top:14px;font:400 11.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
html[lang="ar"] .pj-next b{font-family:var(--display)!important;text-transform:uppercase!important;letter-spacing:-.03em!important}
html[lang="ar"] .pj-next small,html[lang="ar"] .pj-next span{font-family:var(--tech);letter-spacing:0;text-transform:none;font-size:13px}
.pj-next:hover b,.pj-next:focus-visible b{text-decoration:underline;text-decoration-thickness:.05em;text-underline-offset:.1em}

/* ---- journal article ---- */
.ar{padding-top:0}
.ar-hero{margin:0;position:relative}.ar-hero img{width:100%;height:clamp(420px,72svh,800px);object-fit:cover;display:block}
.ar-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(to top,rgba(0,0,0,.35),rgba(0,0,0,0));pointer-events:none}
.ar-h{padding-top:clamp(40px,6vw,96px)!important}
.ar-h{padding:0 var(--m);max-width:1280px}
.ar-h .tech a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
.ar-t{margin:.28em 0 .3em;max-width:16em;font:500 clamp(36px,5.8vw,108px)/.98 var(--read);letter-spacing:-.03em;text-wrap:balance}
html[lang="ar"] .ar-t{font:800 clamp(32px,4.6vw,84px)/1.35 var(--read-ar);letter-spacing:0}
.ar-stand{margin:0;max-width:40ch;font:italic 300 clamp(20px,2.1vw,34px)/1.3 var(--read);text-wrap:pretty}
html[lang="ar"] .ar-stand{font:400 clamp(19px,1.9vw,30px)/1.75 var(--read-ar)}
.ar-lead{margin:clamp(32px,5vw,80px) 0 0;padding:0 var(--m)}
.ar-lead img{width:100%;aspect-ratio:21/9;object-fit:cover;display:block}
.ar-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut);padding:clamp(40px,6vw,96px) var(--m) 0}
.ar-toc{grid-column:1/3;position:sticky;top:calc(var(--head) + 24px);align-self:start;padding-inline-end:12px}
.ar-toc p{margin:0 0 12px}
.ar-toc ol{margin:0;padding:0;list-style:none;counter-reset:t}
.ar-toc li{counter-increment:t;margin:0 0 8px;font:400 13.5px/1.35 var(--tech)}
.ar-toc li a{color:var(--ink);text-decoration:none;opacity:.78}.ar-toc li a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.ar-toc li a::before{content:counter(t,decimal-leading-zero) "  ";font:400 11px var(--mono);color:var(--mute)}
.ar-text{grid-column:4/11;font:400 clamp(17px,1.25vw,19.5px)/1.68 var(--read)}
.ar-body:not(:has(.ar-toc)) .ar-text{grid-column:3/11}
.cols2 .ar-text{grid-column:3/13;columns:2;column-gap:clamp(32px,4vw,64px);column-rule:1px solid var(--rule)}
.cols2:not(:has(.ar-toc)) .ar-text{grid-column:1/13}
html[lang="ar"] .ar-text{font-family:var(--read-ar);line-height:1.95}
.ar-text p,.ar-text li{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;color:var(--ink)}
html[lang="ar"] .ar-text p,html[lang="ar"] .ar-text li{hyphens:manual;text-justify:inter-character}
.ar-text p{margin:0 0 1em}
.ar-text h2{margin:1.7em 0 .5em;font:600 clamp(24px,2.1vw,34px)/1.12 var(--read);letter-spacing:-.015em;text-align:start;break-after:avoid;column-span:none}
.ar-text h2:first-child{margin-top:0}
html[lang="ar"] .ar-text h2{font:800 clamp(22px,1.9vw,30px)/1.5 var(--read-ar);letter-spacing:0}
.ar-text h3{margin:1.4em 0 .4em;font:700 11.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;break-after:avoid}
html[lang="ar"] .ar-text h3{font:800 17px/1.5 var(--display-ar);letter-spacing:0;text-transform:none}
.ar-text ul,.ar-text ol{padding-inline-start:1.3em;margin:0 0 1.1em}
.ar-text li{margin:0 0 .45em}
.ar-text a{text-underline-offset:3px}
.ar-text>h2:first-child+p::first-letter{float:inline-start;margin:.04em .09em 0 0;font:700 4.4em/.8 var(--display)}
html[lang="ar"] .ar-text>h2:first-child+p::first-letter{float:none;margin:0;font:inherit}
.ar-text .pq{column-span:all;margin:clamp(28px,4vw,64px) 0;padding:clamp(24px,3.4vw,48px) 0;border-block:1px solid var(--ink);quotes:"\201C" "\201D"}
.ar-text .pq p{margin:0;font:italic 300 clamp(28px,3.8vw,64px)/1.1 var(--read);letter-spacing:-.02em;text-align:start;hyphens:manual;text-wrap:balance}
.ar-text .pq p::before{content:open-quote}.ar-text .pq p::after{content:close-quote}
html[lang="ar"] .ar-text .pq{quotes:"\00AB" "\00BB"}
html[lang="ar"] .ar-text .pq p{font:400 clamp(24px,3.2vw,52px)/1.5 var(--read-ar);letter-spacing:0}
.ar-text .pq footer{margin-top:14px}
.ar-text .tw,.ar-text table{column-span:all}
.ar-cta{padding:clamp(32px,4vw,56px) var(--m) 0;margin:0}
.ar-extra{padding:0 var(--m) clamp(48px,6vw,96px);max-width:1280px}
.ar-extra .disc{margin:clamp(32px,4vw,56px) 0 0;max-width:62ch}
.ar-extra .disc h2{font:700 11.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px}
.ar-extra .disc p{font:400 14px/1.6 var(--read);color:var(--mute);margin:0}
.ar-extra .cite h2{font:700 11.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.ar-extra .jnav{margin-top:clamp(40px,5vw,72px)}
.ar-extra .jn{background:none;border:0;border-top:1px solid var(--ink);padding:18px 0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
.ar-extra .jn b{font:500 clamp(20px,2vw,30px)/1.15 var(--read);white-space:normal;overflow:visible;text-overflow:clip}
.ar-extra .jn:hover{box-shadow:none;border-color:var(--ink)}
html[lang="ar"] .ar-extra .jn b{font:800 clamp(18px,1.8vw,26px)/1.5 var(--read-ar)}

/* ---- archives: a dominant photograph, then varied scales; filters stay exactly as they were ---- */
.mg .pjbar{background:rgba(244,242,236,.92);border-bottom:1px solid var(--ink);box-shadow:none}
.mg .pjtop h1{font:800 clamp(34px,5vw,84px)/.9 var(--display);letter-spacing:-.045em;text-transform:uppercase}
html[lang="ar"] .mg .pjtop h1{font:900 clamp(30px,4.4vw,70px)/1.15 var(--display-ar);letter-spacing:0;text-transform:none}
.pjgrid{grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:clamp(40px,5vw,88px) var(--gut)!important;padding:clamp(32px,4vw,64px) var(--m) clamp(64px,8vw,128px)!important;align-items:start}
.pjgrid>li{grid-column:span 4}
.pjgrid .card .im{aspect-ratio:3/2}
.pjgrid .card h3{margin-top:2px;font:800 clamp(18px,1.7vw,28px)/1 var(--display);letter-spacing:-.03em;text-transform:uppercase}
html[lang="ar"] .pjgrid .card h3{font-family:var(--display)!important;text-transform:uppercase!important;letter-spacing:-.02em!important}
.pjgrid .card p{margin-top:8px}
.pjgrid>li[data-k="0"]{grid-column:span 8}.pjgrid>li[data-k="0"] .im,.pjgrid>li[data-k="0"] .jc-im{aspect-ratio:3/2}
.pjgrid>li[data-k="0"] h3{font-size:clamp(28px,3.6vw,64px)}
.pjgrid>li[data-k="1"]{grid-column:span 4;margin-top:clamp(40px,7vw,120px)}.pjgrid>li[data-k="1"] .im{aspect-ratio:4/5}
.pjgrid>li[data-k="5"]{grid-column:1/-1}.pjgrid>li[data-k="5"] .im{aspect-ratio:21/9}.pjgrid>li[data-k="5"] h3{font-size:clamp(28px,4.4vw,80px)}
.pjgrid>li[data-k="6"]{grid-column:span 5}.pjgrid>li[data-k="6"] .im{aspect-ratio:4/5}
.pjgrid>li[data-k="7"]{grid-column:span 7;margin-top:clamp(40px,7vw,120px)}.pjgrid>li[data-k="7"] .im{aspect-ratio:3/2}
.pjgrid>li[data-k="3"] .im{aspect-ratio:4/5}.pjgrid>li[data-k="9"] .im{aspect-ratio:4/5}
.pjgrid>li[data-k="2"],.pjgrid>li[data-k="3"],.pjgrid>li[data-k="4"],.pjgrid>li[data-k="8"],.pjgrid>li[data-k="9"],.pjgrid>li[data-k="10"]{grid-column:span 4}
.pjgrid>li[data-k="3"]{margin-top:clamp(24px,4vw,64px)}
@media (max-width:1000px){.pjgrid>li,.pjgrid>li[data-k]{grid-column:span 6;margin-top:0}.pjgrid>li[data-k="0"],.pjgrid>li[data-k="5"]{grid-column:1/-1}.pjgrid>li[data-k="5"] .im,.pjgrid>li[data-k="0"] .im{aspect-ratio:16/9}.pjgrid>li[data-k] .im{aspect-ratio:3/2}}
@media (max-width:620px){.pjgrid>li,.pjgrid>li[data-k]{grid-column:1/-1}}
/* journal cards: photograph, title in serif, standfirst in italic */
.jg .jc{position:static;aspect-ratio:auto;overflow:visible;background:none}
.jg .jc a{position:static;display:block;padding:0;color:var(--ink)}
.jg .jc img{position:static;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;opacity:1;transform:none;margin-bottom:14px}
.jg .jc:hover img{opacity:1;transform:none}
.jg .jc .jt{display:block;padding:0;font:500 clamp(22px,2.2vw,36px)/1.08 var(--read);letter-spacing:-.02em;text-wrap:balance}
.jg .jc .jd{display:block;margin-top:10px;max-width:46ch;font:italic 400 clamp(15px,1.1vw,17.5px)/1.45 var(--read);color:var(--mute);-webkit-line-clamp:3}
.jg .jc a:hover .jt{text-decoration:underline;text-underline-offset:.12em}
html[lang="ar"] .jg .jc .jt{font:800 clamp(19px,1.9vw,30px)/1.45 var(--read-ar);letter-spacing:0}
html[lang="ar"] .jg .jc .jd{font:400 15px/1.8 var(--read-ar)}
.jg>li[data-k="0"] img{aspect-ratio:3/2}.jg>li[data-k="1"] img{aspect-ratio:4/5}.jg>li[data-k="5"] img{aspect-ratio:21/9}.jg>li[data-k="6"] img{aspect-ratio:4/5}.jg>li[data-k="3"] img,.jg>li[data-k="9"] img{aspect-ratio:4/5}
.jg>li[data-k="0"] .jt{font-size:clamp(30px,4vw,68px)}.jg>li[data-k="5"] .jt{font-size:clamp(30px,4.6vw,80px)}
@media (max-width:1000px){.jg>li[data-k] img{aspect-ratio:3/2}}

/* ---- institutional pages: studio, approach, expertise, sustainability, locations, careers, questions ---- */
.mg .page .lh h1,.mg .lh h1{font:500 clamp(40px,6.4vw,120px)/.96 var(--read);letter-spacing:-.03em;text-wrap:balance;max-width:14em}
html[lang="ar"] .mg .lh h1{font:800 clamp(34px,5vw,92px)/1.3 var(--read-ar);letter-spacing:0}
.mg .lh .eyebrow,.mg .lh .upd{font:400 11.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
html[lang="ar"] .mg .lh .eyebrow,html[lang="ar"] .mg .lh .upd{font-family:var(--tech);letter-spacing:0;text-transform:none;font-size:13px}
.mg .page .pg-lead{margin-top:.5em;max-width:40ch;font:italic 300 clamp(22px,2.4vw,40px)/1.28 var(--read);color:var(--ink)}
html[lang="ar"] .mg .page .pg-lead{font:400 clamp(20px,2.1vw,34px)/1.7 var(--read-ar)}
.mg .page{padding-top:clamp(40px,6vw,96px)}
.mg .ps{border-top:1px solid var(--ink);padding-block:clamp(28px,3.4vw,52px)}
.mg .ps h2{font:800 clamp(16px,1.4vw,22px)/1.2 var(--display);letter-spacing:.02em;text-transform:uppercase}
html[lang="ar"] .mg .ps h2{font:900 clamp(17px,1.5vw,24px)/1.4 var(--display-ar);letter-spacing:0;text-transform:none}
.mg .pb{max-width:none}
.mg .pb p,.mg .pb li,.mg .page .prose p,.mg .page .prose li{font:400 clamp(17px,1.25vw,19.5px)/1.66 var(--read);color:var(--ink)}
html[lang="ar"] .mg .pb p,html[lang="ar"] .mg .pb li,html[lang="ar"] .mg .page .prose p,html[lang="ar"] .mg .page .prose li{font-family:var(--read-ar);line-height:1.95}
.mg .pb{columns:2;column-gap:clamp(28px,3.4vw,56px)}
.mg .pb>*{break-inside:avoid-column}
.mg .pb p,.mg .pb li{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
html[lang="ar"] .mg .pb p,html[lang="ar"] .mg .pb li{hyphens:manual;text-justify:inter-character}
.mg .pb:has(>p:only-child){columns:1;max-width:62ch}
.mg .page .prose h2{font:600 clamp(22px,2vw,30px)/1.15 var(--read);letter-spacing:-.015em}
html[lang="ar"] .mg .page .prose h2{font:800 clamp(21px,1.9vw,28px)/1.5 var(--read-ar)}
.mg .text h1{font:400 11.5px/1.4 var(--mono)}
.mg .text .body p.big{font:300 clamp(34px,4.6vw,84px)/1.02 var(--read);letter-spacing:-.025em;max-width:15em}
html[lang="ar"] .mg .text .body p.big{font:800 clamp(30px,4vw,70px)/1.4 var(--read-ar);letter-spacing:0}
.mg .rows{max-width:none}
.mg .rows li{align-items:baseline;padding:clamp(16px,2vw,28px) 0;border-top-color:var(--ink);font:400 clamp(22px,2.4vw,40px)/1.15 var(--read)}
.mg .rows li a{text-decoration:none;border-bottom:1px solid var(--ink)}
.mg .lindex{max-width:none}
.mg .lindex li a{border-top-color:var(--ink);padding:clamp(16px,2vw,28px) 0}
.mg .lindex .t{font:500 clamp(24px,2.6vw,44px)/1.08 var(--read);letter-spacing:-.02em}
html[lang="ar"] .mg .lindex .t{font:800 clamp(20px,2.1vw,34px)/1.45 var(--read-ar)}
.mg .lindex .d{font:italic 400 clamp(15px,1.15vw,18px)/1.5 var(--read);color:var(--mute)}
html[lang="ar"] .mg .lindex .d{font:400 15px/1.8 var(--read-ar)}
.mg .lindex.num .n{font:400 11.5px var(--mono)}
.mg .bar{border-bottom:1px solid var(--ink);padding-inline:var(--m)}
.mg .bar h1,.mg .bar h2{font:800 clamp(18px,1.6vw,26px)/1.1 var(--display);letter-spacing:-.01em;text-transform:uppercase}
html[lang="ar"] .mg .bar h1,html[lang="ar"] .mg .bar h2{font-family:var(--display-ar);text-transform:none}
.mg .cards:not(.pjgrid){padding-inline:var(--m)}
.mg .card h3{font:800 clamp(16px,1.4vw,22px)/1.1 var(--display);letter-spacing:-.02em;text-transform:uppercase}
html[lang="ar"] .mg .card h3{font-family:var(--display)!important;text-transform:uppercase!important;letter-spacing:-.015em!important}
.mg .chips a,.mg .tags a{font-family:var(--mono)}
.mg .faq summary{font:500 clamp(18px,1.6vw,26px)/1.2 var(--read)}
.mg .faq .ans p{font:400 clamp(16px,1.15vw,18px)/1.65 var(--read)}
html[lang="ar"] .mg .faq summary,html[lang="ar"] .mg .faq .ans p{font-family:var(--read-ar)}
.mg .cr-intro h2,.mg .cr-why h2,.mg .cr-two h2,.mg .cr-apply h2,.mg .cr-three h2{font-family:var(--read);font-weight:500;letter-spacing:-.02em}
.mg .cr-cards h3,.mg .cr-steps b{font-family:var(--display);letter-spacing:-.01em}
.mg .cr-apply{background:#0B0B0A}
.mg .phero+.page,.mg .phero+article{padding-top:clamp(40px,6vw,96px)}
/* legal and plain reference pages stay in the sans for density */
.mg .legal:not(.jart):not(.page) .prose,.mg .legal:not(.jart):not(.page) .lcols{font-family:var(--tech)}
.mg .legal:not(.jart):not(.page) .lh h1{font:800 clamp(30px,3.6vw,56px)/1.05 var(--display);letter-spacing:-.03em;text-transform:uppercase}
html[lang="ar"] .mg .legal:not(.jart):not(.page) .lh h1{font:900 clamp(26px,3.2vw,48px)/1.35 var(--display-ar);letter-spacing:0;text-transform:none}

/* ---- tablet and phone ---- */
@media (max-width:1000px){
  .pj-facts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:0 40px;margin-bottom:24px}.pj-sum{grid-column:1/-1}
  .pj-cols{grid-column:1/-1}.pj-cols3{grid-template-columns:1fr 1fr}
  .pj-q blockquote,.pj-q.alt blockquote{grid-column:1/-1}.pj-q.alt .pq-img{grid-column:3/11;margin-top:28px}
  .pj-side .ps-a,.pj-side .ps-b{grid-column:1/-1}.pj-side .ps-b{margin-top:28px}
  .pj-rel .rl1{grid-column:1/8}.pj-rel .rl2{grid-column:8/13}.pj-rel .rl3{grid-column:1/7;margin-top:28px}
  .ar-toc{display:none}.ar-text,.ar-body:not(:has(.ar-toc)) .ar-text{grid-column:2/12}.cols2 .ar-text,.cols2:not(:has(.ar-toc)) .ar-text{grid-column:1/13;columns:2}
  .mg .pb{columns:1;max-width:66ch}
}
@media (max-width:700px){
  .pj-cols,.pj-cols3{grid-template-columns:1fr}
  .pj-txt p,.pj-side p,.ar-text p,.ar-text li,.mg .pb p,.mg .pb li{text-align:start;hyphens:manual;-webkit-hyphens:manual}
  .pj-pair .pa,.pj-pair .pb2,.pj-pair.v2 .pa,.pj-pair.v2 .pb2,.pj-pair .pa:only-child{grid-column:1/-1}.pj-pair .pb2{margin-top:28px}
  .pj-more.x0 .xa,.pj-more.x0 .xb,.pj-more.x1 .xa,.pj-more.x1 .xb,.pj-more .xa:only-child{grid-column:1/-1;margin-top:24px}
  .pj-rel .rl1,.pj-rel .rl2,.pj-rel .rl3{grid-column:1/-1;margin-top:32px}.pj-rel .rl1{margin-top:0}
  .pj-wide img{aspect-ratio:4/3}
  .ar-text,.ar-body:not(:has(.ar-toc)) .ar-text,.cols2 .ar-text,.cols2:not(:has(.ar-toc)) .ar-text{grid-column:1/-1;columns:1}
  .ar-lead img{aspect-ratio:4/3}
}
@media (prefers-reduced-motion:reduce){.pjgrid .card .im img{transition:none}}

.jg .jc,.jg .jc a,.jg .jc .jt,.jg .jc .jd{background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.mg .cr-hero .cap{inset:auto var(--m) clamp(32px,5vw,72px) var(--m)}
.mg .cr-hero .cap h1{font:800 clamp(44px,8vw,140px)/.88 var(--display);letter-spacing:-.045em;text-transform:uppercase}
.mg .cr-hero .cap p{font:italic 300 clamp(18px,2vw,30px)/1.3 var(--read);max-width:34ch;text-shadow:0 1px 14px rgba(0,0,0,.5)}
html[lang="ar"] .mg .cr-hero .cap h1{font:900 clamp(40px,7vw,120px)/1.2 var(--display-ar);letter-spacing:0;text-transform:none}
.pj-pair.v2 .pa:only-child{grid-column:3/11}.pj-pair.v2 .pa:only-child img{aspect-ratio:3/2}

/* project lists without filters (locations, sectors, services): the same rhythm by position */
.pjgrid.nk>li:nth-child(11n+1){grid-column:span 8}.pjgrid.nk>li:nth-child(11n+1) .im{aspect-ratio:3/2}.pjgrid.nk>li:nth-child(11n+1) h3{font-size:clamp(28px,3.6vw,64px)}
.pjgrid.nk>li:nth-child(11n+2){grid-column:span 4;margin-top:clamp(40px,7vw,120px)}.pjgrid.nk>li:nth-child(11n+2) .im{aspect-ratio:4/5}
.pjgrid.nk>li:nth-child(11n+4) .im,.pjgrid.nk>li:nth-child(11n+10) .im{aspect-ratio:4/5}.pjgrid.nk>li:nth-child(11n+4){margin-top:clamp(24px,4vw,64px)}
.pjgrid.nk>li:nth-child(11n+6){grid-column:1/-1}.pjgrid.nk>li:nth-child(11n+6) .im{aspect-ratio:21/9}.pjgrid.nk>li:nth-child(11n+6) h3{font-size:clamp(28px,4.4vw,80px)}
.pjgrid.nk>li:nth-child(11n+7){grid-column:span 5}.pjgrid.nk>li:nth-child(11n+7) .im{aspect-ratio:4/5}
.pjgrid.nk>li:nth-child(11n+8){grid-column:span 7;margin-top:clamp(40px,7vw,120px)}
@media (max-width:1000px){.pjgrid.nk>li,.pjgrid.nk>li:nth-child(n){grid-column:span 6;margin-top:0}.pjgrid.nk>li:nth-child(11n+1),.pjgrid.nk>li:nth-child(11n+6){grid-column:1/-1}.pjgrid.nk>li .im{aspect-ratio:3/2!important}}
@media (max-width:620px){.pjgrid.nk>li,.pjgrid.nk>li:nth-child(n){grid-column:1/-1}}

.phero.short img{height:clamp(240px,40svh,460px)}

.pj-art{grid-column:5/13;margin:clamp(20px,2.6vw,40px) 0 0}
@media (max-width:1000px){.pj-art{grid-column:1/-1}}

/* ---- project article: a magazine feature with justified columns and photographs between the passages ---- */
.pa-hero{display:flex;min-height:max(520px,86svh);color:#fff}
.pa-hero::after{content:"";position:absolute;inset-inline:0;bottom:0;height:72%;background:linear-gradient(to top,rgba(0,0,0,.74),rgba(0,0,0,.3) 55%,rgba(0,0,0,0));pointer-events:none}
.pa-h{margin:.15em 0 0;max-width:13em;font:500 clamp(40px,7.2vw,136px)/.94 var(--read);letter-spacing:-.03em;text-wrap:balance}
html[lang="ar"] .pa-h{font:800 clamp(34px,5.6vw,104px)/1.28 var(--read-ar);letter-spacing:0}
.pa-head{padding-top:clamp(48px,7vw,112px)}
.pa-stand{grid-column:1/11;margin:0 0 .5em;font:italic 300 clamp(24px,3vw,52px)/1.16 var(--read);letter-spacing:-.02em;text-wrap:balance}
html[lang="ar"] .pa-stand{font:400 clamp(22px,2.6vw,44px)/1.6 var(--read-ar);letter-spacing:0}
.pa-by{grid-column:1/-1;margin:clamp(14px,1.6vw,24px) 0 0}
.pa-by a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink)}
.pa-cols{padding-top:clamp(40px,6vw,96px)}
.pa-txt{grid-column:1/-1;columns:3;column-gap:clamp(28px,3.4vw,56px);column-rule:1px solid var(--rule);font:400 clamp(16px,1.15vw,18.5px)/1.64 var(--read)}
.pa-txt.few{columns:2}
html[lang="ar"] .pa-txt{font-family:var(--read-ar);line-height:1.98}
.pa-txt p{margin:0 0 .9em;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
html[lang="ar"] .pa-txt p{hyphens:manual;text-justify:inter-character}
.pa-txt h2{margin:1.3em 0 .45em;font:600 clamp(21px,1.8vw,29px)/1.12 var(--read);letter-spacing:-.012em;text-align:start;break-after:avoid}
.pa-txt h2:first-child{margin-top:0}
html[lang="ar"] .pa-txt h2{font:800 clamp(19px,1.6vw,26px)/1.5 var(--read-ar);letter-spacing:0}
.pa-txt.first p:first-of-type::first-letter{float:inline-start;margin:.04em .09em 0 0;font:700 4.3em/.8 var(--display)}
html[lang="ar"] .pa-txt.first p:first-of-type::first-letter{float:none;margin:0;font:inherit}
.pa-pq{column-span:all;margin:clamp(28px,4vw,64px) 0;padding:clamp(22px,3.2vw,46px) 0;border-block:1px solid var(--ink);quotes:"\201C" "\201D"}
.pa-pq p{margin:0;font:italic 300 clamp(28px,4vw,70px)/1.08 var(--read);letter-spacing:-.02em;text-align:start;hyphens:manual;text-wrap:balance}
.pa-pq p::before{content:open-quote}.pa-pq p::after{content:close-quote}
html[lang="ar"] .pa-pq{quotes:"\00AB" "\00BB"}
html[lang="ar"] .pa-pq p{font:400 clamp(24px,3.4vw,56px)/1.5 var(--read-ar);letter-spacing:0}
.pa-pq footer{margin-top:14px}
.pa-fig{padding-top:clamp(40px,6vw,96px)}
.pa-fig figure{margin:0}
.pa-fig img{width:100%;display:block;object-fit:cover}
.pa-wide{grid-column:1/-1}.pa-wide img{aspect-ratio:21/9}
.pa-a{grid-column:1/8}.pa-a img{aspect-ratio:3/2}
.pa-b{grid-column:9/13;margin-top:clamp(40px,8vw,140px)}.pa-b img{aspect-ratio:4/5}
.pa-a:only-child{grid-column:3/11}.pa-a:only-child img{aspect-ratio:21/9}
.pa-pair.later .pa-a{grid-column:2/6}.pa-pair.later .pa-a img{aspect-ratio:4/5}
.pa-pair.later .pa-b{grid-column:7/13;margin-top:clamp(40px,8vw,120px)}.pa-pair.later .pa-b img{aspect-ratio:3/2}
.pa-pair.later .pa-a:only-child{grid-column:3/11}.pa-pair.later .pa-a:only-child img{aspect-ratio:3/2}
.pa-note{margin:clamp(40px,5vw,72px) 0 0;max-width:62ch;font:italic 400 14px/1.6 var(--read);color:var(--mute)}
html[lang="ar"] .pa-note{font:400 14px/1.9 var(--read-ar)}
.pa-note a{color:var(--ink)}
.pa-end{display:flex;flex-wrap:wrap;align-items:center;gap:20px 36px;margin-top:clamp(32px,4vw,56px);padding-top:clamp(28px,3.4vw,48px);padding-bottom:clamp(56px,8vw,120px);border-top:1px solid var(--ink)}
.pa-end .btn{margin:0}
.pa-end .more-link{margin:0}
.pa-next{margin-inline-start:auto;text-decoration:none;color:var(--ink);text-align:end}
.pa-next small{display:block;font:400 11.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
html[lang="ar"] .pa-next small{font-family:var(--tech);letter-spacing:0;text-transform:none;font-size:13px}
.pa-next b{display:block;font:800 clamp(24px,3.2vw,54px)/.95 var(--display);letter-spacing:-.04em;text-transform:uppercase}
html[lang="ar"] .pa-next b{font-family:var(--display)!important;text-transform:uppercase!important;letter-spacing:-.03em!important}
.pa-next:hover b{text-decoration:underline;text-underline-offset:.1em}
@media (max-width:1000px){
  .pa-stand{grid-column:1/-1}
  .pa-txt{columns:2}.pa-txt.few{columns:2}
  .pa-a,.pa-pair.later .pa-a{grid-column:1/8}.pa-b,.pa-pair.later .pa-b{grid-column:8/13}
}
@media (max-width:700px){
  .pa-txt,.pa-txt.few{columns:1}
  .pa-txt p{text-align:start;hyphens:manual;-webkit-hyphens:manual}
  .pa-wide img{aspect-ratio:4/3}
  .pa-a,.pa-b,.pa-pair.later .pa-a,.pa-pair.later .pa-b,.pa-a:only-child{grid-column:1/-1}.pa-b,.pa-pair.later .pa-b{margin-top:24px}
  .pa-next{margin-inline-start:0;text-align:start;width:100%}
}

.pa-note{display:block!important;padding:0 var(--m);max-width:none;padding-inline-end:36%}
.pj-read{display:inline-flex;align-items:center;margin-top:clamp(18px,2vw,30px);padding:14px 22px;border:2px solid #fff;color:#fff;text-decoration:none;font:700 11.5px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;background:rgba(0,0,0,.18);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.pj-read:hover,.pj-read:focus-visible{background:#fff;color:#0E0E0D;outline:0}
html[lang="ar"] .pj-read{font:700 15px/1 var(--display-ar);letter-spacing:0;text-transform:none}
@media (max-width:700px){.pa-note{padding-inline-end:var(--m)}}
.pa-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gut);align-items:end}.pa-grid figure{margin:0}.pa-grid img{width:100%;display:block;object-fit:cover;aspect-ratio:3/2}.pa-grid figure.wide img{aspect-ratio:21/9}.pa-gal{padding-top:clamp(40px,6vw,96px)}@media (max-width:700px){.pa-grid figure{grid-column:1/-1!important}}
