1import{d as M,c as C,e as h,o as a,i as b,j as l,N as L,t as T,am as Q,an as Z,X as P,aD as se,a5 as q,aE as le,aF as ae,aG as oe,a8 as ne,E as R,g as z,_ as D,w as $,h as g,aH as fe,F as U,l as F,a7 as N,q as I,r as B,ad as H,a1 as G,T as pe,I as ee,Q as re,b as S,f as V,m as k,C as Y,a0 as J,p as X,R as ie,a2 as me,al as he,aI as _e,$ as ge,O as ce,aJ as ve,u as be,B as xe,K as ke,k as te,L as we,n as $e,ac as ye}from"./DPhYjkrK.js";import{r as A,u as O}from"./D3G8g8Iw.js";import{u as Ce}from"./D5TAjZmM.js";const ze={class:"group relative flex items-baseline gap-1"},We=M({__name:"Label",props:{slide:{},active:{type:Boolean}},setup(v){const f=v,n=C(()=>f.slide?.carouselText||f.slide?.title);return(t,r)=>(a(),h("button",ze,[b("",!0),l(n)?(a(),h("span",{key:1,class:L(["text-button-medium whitespace-nowrap transition group-hover:text-white group-focus-visible:text-white",t.active?"text-white":"text-white/60"])},T(l(n)),3)):b("",!0)]))}}),Te={class:"absolute bottom-8 z-20 w-full"},Me={class:"mx-auto flex gap-6 overflow-hidden rounded-full bg-black/30 p-2 backdrop-blur-xl"},Pe={class:"relative flex h-full shrink-0 gap-6",ref:"trackEl"},Le={class:"flex items-center border-r border-white/20 pr-6 last:border-0"},Ie=M({__name:"Controls",props:Q({slides:{},elapsedTime:{},duration:{}},{active:{default:0},activeModifiers:{},isPlaying:{default:!1},isPlayingModifiers:{}}),emits:Q(["isPlaying","setActive"],["update:active","update:isPlaying"]),setup(v,{emit:f}){const n=Z(v,"active"),t=Z(v,"isPlaying"),r=oe(),p=P("wrapperEl"),o=P("trackEl");let i;const s=se({wrapperWidth:0,trackWidth:0,offset:0}),e=le(()=>{if(!p.value||!o.value)return;const c=p.value.offsetWidth,d=o.value.offsetWidth;if(s.wrapperWidth=c,s.trackWidth=d,s.offset=Math.min(-s.trackWidth+s.wrapperWidth,0),i){const x=s.trackWidth>s.wrapperWidth;i[x?"enable":"disable"](),i.refresh()}},150);q(()=>{if(!p.value||!o.value)return;e(),i=ae(o.value,{trigger:p.value,y:!1,container:()=>[0,0,0,s.offset]});const c=r.value==="reduce";t.value=!c;const d=new ResizeObserver(e);d.observe(p.value),d.observe(o.value),ne(()=>{i.revert(),d.disconnect()})});const w=c=>{if(!i||!i.enabled)return;const d=30,x=3,m=c.deltaX,_=c.deltaY;Math.atan2(Math.abs(_),Math.abs(m))*(180/Math.PI)<d&&Math.abs(m)>x&&(c.preventDefault(),N(i,{x:{to:`-=${m}`,modifier:W=>I.clamp(W,s.offset,0)},duration:0}))};return R(n,c=>{if(!i||!i.enabled)return;const d=o.value?.children?.[c];d&&N(i,{x:{to:-d.offsetLeft,modifier:x=>I.clamp(x,s.offset,0)},duration:300})}),(c,d)=>{const x=fe,m=We,_=D;return a(),h("div",Te,[z(_,{class:"flex"},{default:$(()=>[g("div",Me,[z(x,{"elapsed-time":c.elapsedTime,duration:c.duration,"is-playing":t.value,onTogglePlayback:d[0]||(d[0]=u=>t.value=!t.value)},null,8,["elapsed-time","duration","is-playing"]),g("div",{class:"mask-r flex overflow-hidden",role:"region","aria-label":"Carousel",ref:"wrapperEl",onWheel:w},[g("div",Pe,[(a(!0),h(U,null,F(c.slides,(u,y)=>(a(),h("div",Le,[z(m,{slide:u,active:n.value===y,onClick:W=>n.value=y},null,8,["slide","active","onClick"])]))),256))],512)],544)])]),_:1})])}}}),j=6e3,Ee="relative bg-black text-white w-full",de=M({__name:"Wrapper",props:{class:{},slides:{}},setup(v){const f=v,n=oe(),t=B(0),r=B(j),p=B(0),o=B(!1),i=C(()=>f.slides[t.value]),s=()=>{const u=I.wrap(t.value+1,0,f.slides.length);t.value=u};let e=null;R(i,()=>{e&&e.revert(),w()});const w=()=>{if(p.value=0,i.value?.image?.videoUrl){e=null;return}r.value=j;const u={value:0};e=N(u,{value:{from:0,to:j},ease:"linear",duration:j,autoplay:o.value,onUpdate:()=>p.value=u.value,onComplete:()=>s()})};R(o,u=>{if(i.value?.image?.videoUrl){e=null;return}e&&e[u?"play":"pause"]()}),q(()=>{w(),n.value!=="reduce"&&d(!0)});const c=u=>t.value=u,d=u=>o.value=u,x=u=>r.value=u,m=u=>p.value=u,_=C(()=>H(Ee,f.class));return(u,y)=>{const W=Ie;return l(i)?(a(),h("div",{key:0,class:L(l(_))},[z(pe,{name:"fade"},{default:$(()=>[G(u.$slots,"default",{key:l(i).title,activeSlide:l(i),isPlaying:l(o),nextActive:s,setDuration:x,setElapsedTime:m})]),_:3}),z(W,{active:l(t),"onUpdate:active":y[0]||(y[0]=E=>ee(t)?t.value=E:null),"is-playing":l(o),"onUpdate:isPlaying":y[1]||(y[1]=E=>ee(o)?o.value=E:null),slides:u.slides,duration:l(r),"elapsed-time":l(p),onIsPlaying:d,onSetActive:c},null,8,["active","is-playing","slides","duration","elapsed-time"])],2)):b("",!0)}}}),Be={ref:"el"},Ne={class:"absolute left-0 top-0 flex h-full w-full"},De={class:"relative z-10 flex w-full"},Oe={class:"mx-auto flex max-w-[658px] flex-col items-center justify-center gap-10 text-center text-white"},He={class:"flex flex-col gap-2"},Se={key:0,class:"text-h6"},je={class:"text-h4"},Wt=M({__name:"CarouselHighlight",props:{fields:{}},setup(v){const f=v,t=re(ie,{ssrWidth:1920}).smallerOrEqual("sm"),r=C(()=>S(f.fields?.items)?f.fields.items.filter(o=>A(o)).map(o=>({...o,link:S(o.link)?V({data:o.link[0],is:"button"}):null})):null),p=P("el");return O(p),(o,i)=>{const s=Y,e=J,w=de,c=D;return a(),h("section",Be,[l(r)?(a(),k(c,{key:0,class:"max-sm:portrait:px-0"},{default:$(()=>[l(r)?(a(),k(w,{key:0,class:"aspect-[5/8] max-h-svh overflow-hidden sm:rou
1nded-lg sm:portrait:aspect-[3/2] md:portrait:aspect-[2/1] landscape:aspect-[2/1] landscape:rounded-lg",slides:l(r)},{default:$(({activeSlide:d,isPlaying:x,nextActive:m,setDuration:_,setElapsedTime:u})=>[g("div",Ne,[l(t)&&d?.mobileImage?(a(),k(s,{key:0,class:"absolute left-0 top-0 h-full w-full",fields:d?.mobileImage,size:"portrait","image-class":"rounded-none opacity-80",width:1080,height:1920,"is-playing":x,loop:!1,"show-controls":!1,"full-width":"",onDuration:_,onTimeupdate:u,onEnded:m},null,8,["fields","is-playing","onDuration","onTimeupdate","onEnded"])):(a(),k(s,{key:1,class:"absolute left-0 top-0 h-full w-full",fields:d?.image,size:"full","image-class":"rounded-none opacity-80",width:1920,height:1080,"is-playing":x,loop:!1,"show-controls":!1,"full-width":"",onDuration:_,onTimeupdate:u,onEnded:m},null,8,["fields","is-playing","onDuration","onTimeupdate","onEnded"])),g("div",De,[g("div",Oe,[g("div",He,[d.label?(a(),h("span",Se,T(d.label),1)):b("",!0),g("h3",je,T(d.title),1)]),d.link?.title?(a(),k(e,{key:0,as:"a",href:d.link.href,external:d.link.external,target:d.link.target,color:"red"},{default:$(()=>[X(T(d.link.title),1)]),_:2},1032,["href","external","target"])):b("",!0)])])])]),_:1},8,["slides"])):b("",!0)]),_:1})):b("",!0)],512)}}}),Re={class:"flex flex-col gap-1 px-2 sm:flex-row sm:gap-6"},Ue={class:"flex w-full max-sm:items-baseline max-sm:gap-[6px] sm:max-w-[110px] sm:flex-col sm:pt-[5px]"},Fe={key:0,class:"text-label-sans font-bold text-red-500"},Xe={key:1,class:"text-label-serif"},Ae={class:"match-height flex max-w-[390px] flex-col gap-2"},Ve={class:"text-h6"},Ye={key:1,class:"text-excerpt"},qe="link-block flex w-full max-w-[880px] flex-col gap-6",Ge=M({__name:"Think",props:{slide:{},class:{}},setup(v){const f=v,n=C(()=>H(qe,f.class));return(t,r)=>{const p=Y,o=me;return a(),h("div",{class:L(l(n))},[t.slide?.featureImage?(a(),k(p,{key:0,fields:t.slide.featureImage,size:"landscape",width:880,height:545,link:{href:t.slide.href,external:t.slide.external,target:t.slide.target,ariaLabel:t.slide.title}},null,8,["fields","link"])):b("",!0),g("div",Re,[g("div",Ue,[t.slide?.label?(a(),h("span",Fe,T(t.slide.label),1)):b("",!0),t.slide.theme?(a(),h("span",Xe,T(t.slide.theme.title),1)):b("",!0)]),g("div",Ae,[t.slide?.title?(a(),k(o,{key:0,class:"inline-link",href:t.slide.href,external:t.slide.external,target:t.slide.target},{default:$(()=>[g("h3",Ve,T(t.slide.title),1)]),_:1},8,["href","external","target"])):b("",!0),t.slide?.excerpt?(a(),h("p",Ye,T(t.slide.excerpt),1)):b("",!0)])])],2)}}}),Je={class:"group-hover:bg-red-500 group-focus-visible:bg-red-500 absolute left-0 top-0 h-full w-full rounded-full bg-gray-200 transition-colors",ref:"background"},Ke={class:"relative z-10"},Qe=M({__name:"Symbol",emits:["click"],setup(v,{emit:f}){const n=f,t=P("background"),r=B(!1);R(r,o=>{t.value&&N(t.value,{scale:o?"0.8":"1",duration:150})});const p=he(()=>n("click"),300);return(o,i)=>(a(),h("button",{class:"group relative flex h-8 w-8 items-center justify-center text-black transition hover:text-white focus-visible:text-white",onClick:i[0]||(i[0]=(...s)=>l(p)&&l(p)(...s)),onMousedown:i[1]||(i[1]=s=>r.value=!0),onMouseup:i[2]||(i[2]=s=>r.value=!1)},[g("div",Je,null,512),g("span",Ke,[G(o.$slots,"default")])],32))}}),Ze={class:"flex gap-1",role:"group","aria-label":"Slide controls"},et=M({__name:"SliderControls",props:{container:{},barWidth:{},progress:{}},emits:["slidePrevious","slideNext"],setup(v,{emit:f}){const n=v,t=f,r=()=>t("slidePrevious"),p=()=>t("slideNext"),o=C(()=>(n.progress*(1-n.barWidth/100)).toFixed(2)),i=C(()=>I.clamp(n.barWidth/100,0,1)),s=ce("dark-mode",!1);return(e,w)=>{const c=_e,d=Qe,x=D;return a(),k(x,{class:"flex items-center gap-4",size:e.container},{default:$(()=>[g("div",Ze,[z(d,{"aria-label":"Previous Slide",onClick:r},{default:$(()=>[z(c,{class:"rotate-180"})]),_:1}),z(d,{"aria-label":"Next Slide",onClick:p},{default:$(()=>[z(c)]),_:1})]),g("div",{class:L(["relative h-px flex-1",l(s)?"bg-white/50":"bg-black/20"])},[g("div",{class:L(["absolute left-[--left] top-0 h-px w-full origin-left scale-x-[--scale-x]",l(s)?"bg-white":"bg-black"]),style:ge({"--left":`${l(o)}%`,"--scale-x":l(i)})},null,6)],2)]),_:1},8,["size"])}}}),tt={class:"relative z-10 flex flex-col gap-10",ref:"el"},st="flex shrink-0 px-[--px]",lt=M({__name:"Slider",props:{class:{},container:{default:"medium"}},setup(v){const f=v,n=ve(),t=P("wrapperEl"),r=P("trackEl"),p=P("controlsEl"),o=B(0),i=B(0);let s;
1const e=se({wrapperWidth:0,trackWidth:0,offset:0,left:0,moveBy:0}),w=le(()=>{if(!t.value||!r.value||!p.value)return;const _=p.value.$el,u=_.offsetLeft,y=parseInt(getComputedStyle(_).paddingLeft),W=t.value.offsetWidth,E=r.value.offsetWidth;if(e.left=u+y,e.wrapperWidth=W-e.left*2,e.trackWidth=E,e.offset=Math.min(-e.trackWidth+e.wrapperWidth+e.left,e.left),e.moveBy=e.wrapperWidth-e.left*2,i.value=e.wrapperWidth/e.trackWidth*100,s){const K=e.trackWidth>e.wrapperWidth;s[K?"enable":"disable"](),I.set(s,{x:e.left}),o.value=0,s.refresh()}},150);q(()=>{if(!t.value||!r.value)return;w(),s=ae(r.value,{trigger:t.value,y:!1,container:()=>[0,e.left,0,e.offset],onUpdate:u=>{n.value!==null&&(n.value=null),o.value=I.clamp(1-u.progressX,0,1)*100}});const _=new ResizeObserver(w);_.observe(t.value),_.observe(r.value),ne(()=>{s.revert(),_.disconnect()})});const c=_=>{!s||!s.enabled||N(s,{x:{to:_==="next"?`-=${e.moveBy}`:`+=${e.moveBy}`,modifier:u=>I.clamp(u,e.offset,e.left)},duration:1e3})},d=_=>{if(!s||!s.enabled)return;const u=30,y=3,W=_.deltaX,E=_.deltaY;Math.atan2(Math.abs(E),Math.abs(W))*(180/Math.PI)<u&&Math.abs(W)>y&&(_.preventDefault(),N(s,{x:{to:`-=${W}`,modifier:ue=>I.clamp(ue,e.offset,e.left)},duration:0}))},x=C(()=>H(st,f.class)),m=P("el");return O(m),(_,u)=>{const y=et;return a(),h("div",tt,[g("div",{class:"flex w-full shrink-0 overflow-hidden",role:"region","aria-label":"Carousel",ref:"wrapperEl",onWheel:d},[g("div",{class:L(l(x)),ref:"trackEl"},[G(_.$slots,"default")],2)],544),z(y,{ref:"controlsEl",container:_.container,"bar-width":l(i),progress:l(o),onSlidePrevious:u[0]||(u[0]=W=>c("previous")),onSlideNext:u[1]||(u[1]=W=>c("next"))},null,8,["container","bar-width","progress"])],512)}}}),at={ref:"el"},Tt=M({__name:"CarouselThink",props:{fields:{}},setup(v){const f=v,n=C(()=>S(f.fields?.links)?f.fields?.links.filter(r=>A(r)).map(r=>V({data:r,useSubLabel:!0})):null),t=P("el");return Ce(t),O(t),(r,p)=>{const o=Ge,i=lt;return a(),h("section",at,[z(i,{class:"items-end gap-4",container:"large"},{default:$(()=>[(a(!0),h(U,null,F(l(n),(s,e)=>(a(),k(o,{key:s.id,class:L(["shrink-0",e===0?"w-[calc(100vw-3rem)] max-w-[880px]":"w-[calc(80vw-3rem)] max-w-[587px]"]),slide:s},null,8,["slide","class"]))),128))]),_:1})],512)}}}),ot={ref:"el"},nt={class:"relative z-10 flex w-full"},rt={class:"flex max-w-[658px] flex-col justify-center gap-10 text-white"},it={class:"flex flex-col gap-2"},ct={class:"text-h4 flex flex-col"},dt={key:0},ut={key:1},ft={class:"flex flex-col gap-2 sm:flex-row"},Mt=M({__name:"CarouselDesign",props:{fields:{}},setup(v){const f=v,n=be(),t=xe(),r=ke(),p=s=>{const e=V({data:s,useSubLabel:!0});if(!e)return null;if(["sectors","expertise","studios"].some(c=>t.path.includes(`/${c}/`))){const c=n.DOC;c?.id&&c?.title&&c?.slug&&(e.href=`${e.href}?expertise=${c.id}`,e.sector={title:c.title,slug:c.slug})}else if(S(e?.sectors)){const c=e.sectors.filter(d=>A(d))?.[0];c&&(e.sector={title:c.title,slug:c.slug})}return e},o=C(()=>{if(!S(f.fields?.links))return null;const s=f.fields.links.filter(e=>e&&A(e));return s.length===0?null:s.map(e=>p(e)).filter(Boolean)}),i=P("el");return O(i),(s,e)=>{const w=Y,c=J,d=D,x=de;return a(),h("section",ot,[l(o)&&l(o).length>0?(a(),k(x,{key:0,class:"landscape:aspect-unset aspect-[5/8] max-h-svh w-full sm:portrait:aspect-[3/2] lg:portrait:aspect-[2/1] landscape:aspect-[2/1] landscape:h-svh",slides:l(o)},{default:$(({activeSlide:m,isPlaying:_,nextActive:u,setDuration:y,setElapsedTime:W})=>[(a(),h("div",{class:"absolute left-0 top-0 flex h-full w-full",key:m.title},[m?.image?(a(),k(w,{key:0,class:"absolute left-0 top-0 h-full w-full",fields:m.image,size:"full","image-class":"rounded-none opacity-80",width:1920,height:1080,"is-playing":_,loop:!1,"show-controls":!1,"full-width":"",onDuration:y,onTimeupdate:W,onEnded:u},null,8,["fields","is-playing","onDuration","onTimeupdate","onEnded"])):b("",!0),g("div",nt,[z(d,{class:"my-auto"},{default:$(()=>[g("div",rt,[g("div",it,[g("h3",ct,[m?.title?(a(),h("span",dt,T(m.title),1)):b("",!0),m?.location?(a(),h("span",ut,T(m.location),1)):b("",!0)])]),g("div",ft,[m?.href?(a(),k(c,{key:0,class:"self
1-start",color:"red",as:"a",href:m.href,target:m.target,external:m.external},{default:$(()=>[X(T(("getTranslatedLabel"in s?s.getTranslatedLabel:l(te))("view",m.label)),1)]),_:2},1032,["href","target","external"])):b("",!0),m?.sector?(a(),k(c,{key:1,class:"self-start",as:"a",color:"black",href:l(r)(`/projects?tab=projects&filters=${m.sector.slug}`)},{default:$(()=>[X(T(("getTranslatedLabel"in s?s.getTranslatedLabel:l(te))("seeAllProjects",m.sector.title)),1)]),_:2},1032,["href"])):b("",!0)])])]),_:2},1024)])]))]),_:1},8,["slides"])):b("",!0)],512)}}}),pt={ref:"el"},mt={class:"mx-auto flex max-w-[657px] flex-col gap-8 text-center"},ht={key:0},_t=M({__name:"IntroSmall",props:{fields:{}},setup(v){const f=P("el");return O(f),(n,t)=>{const r=we,p=D;return a(),h("section",pt,[z(p,{class:"flex",size:"medium"},{default:$(()=>[g("div",mt,[n.fields?.title?(a(),h("h3",ht,T(n.fields.title),1)):b("",!0),n.fields?.introduction?(a(),k(r,{key:1,class:"text-large",field:n.fields.introduction},null,8,["field"])):b("",!0)])]),_:1})],512)}}}),gt="w-full relative flex flex-col items-start link-card",vt="w-full relative",bt=M({__name:"Portrait",props:{fields:{},size:{default:"large"},subLabel:{type:Boolean}},setup(v){const f=v,n=C(()=>V({data:f.fields,is:"button",useSubLabel:f.subLabel})),t={large:{base:"h-full max-w-full items-center",imageClassName:"aspect-[345/216] sm:aspect-[320/512] img--lg"},small:{base:"aspect-[10/13]",imageClassName:"aspect-[10/13]"}},p=re(ie,{ssrWidth:1920}).smallerOrEqual("sm"),o=C(()=>H(gt,t[f.size].base)),i=C(()=>H(vt,t[f.size].imageClassName)),s=C(()=>f.size==="large"?J:$e),e=ce("dark-mode",!1);return(w,c)=>{const d=Y;return l(n)?(a(),h("div",{key:0,class:L(l(o))},[g("div",{class:L(l(i))},[z(d,{class:"absolute h-full w-full",fields:l(n).image,size:w.size==="large"&&l(p)?"landscape":"portrait","show-credit":!1,"full-width":""},null,8,["fields","size"])],2),l(n)?.title?(a(),k(ye(l(s)),{key:0,as:"a",class:L(w.size==="large"?"absolute bottom-5 z-20":"mt-3"),href:l(n)?.href,external:l(n)?.external,target:l(n)?.target,color:w.size==="large"||l(e)?"white":"dark"},{default:$(()=>[X(T(l(n).title),1)]),_:1},8,["class","href","external","target","color"])):b("",!0)],2)):b("",!0)}}}),xt={ref:"el"},kt={key:1,class:"collection-grid flex w-full flex-wrap justify-center gap-4 max-sm:flex-col"},wt={key:2,class:"grid grid-cols-2 gap-x-4 gap-y-12 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5"},Pt=M({__name:"CollectionGrid",props:{fields:{}},setup(v){const f=v,n=C(()=>f.fields?.size||"large"),t=P("el");return O(t),(r,p)=>{const o=_t,i=bt,s=D;return a(),h("section",xt,[z(s,{class:"flex flex-col gap-16",size:r.fields?.size==="large"?"medium":"small"},{default:$(()=>[r.fields.title||r.fields.introduction?(a(),k(o,{key:0,fields:r.fields},null,8,["fields"])):b("",!0),l(n)==="large"?(a(),h("div",kt,[(a(!0),h(U,null,F(r.fields?.links,e=>(a(),k(i,{class:"sm:w-[calc((100%-(16px*2))/3)] md:w-[calc((100%-(16px*3))/4)]",key:e.id,fields:e,size:l(n)},null,8,["fields","size"]))),128))])):(a(),h("div",wt,[(a(!0),h(U,null,F(r.fields?.links,e=>(a(),k(i,{fields:e,size:l(n)},null,8,["fields","size"]))),256))]))]),_:1},8,["size"])],512)}}});export{Pt as _,Wt as a,Tt as b,Mt as c,lt as d,_t as e};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.