:root{--colour-black: rgba(0, 0, 0, 1);--colour-espresso-bark: rgba(43, 23, 3, 1);--colour-grey: rgba(169, 167, 165, 1);--colour-white: #ffffff;--colour-text-primary: var(--colour-espresso-bark);--colour-text-secondary: var(--colour-grey);--colour-text-inverted: var(--colour-white);--colour-text-active: var(--colour-text-secondary);--colour-background: var(--colour-white)}:root{--text-h1: clamp(1.125rem, .9083rem + .9245vw, 1.5rem);--text-h2: clamp(1.125rem, 1.0889rem + .1541vw, 1.1875rem);--text-p1: clamp(.875rem, .6667rem + .6944vw, 1rem);--text-p2: clamp(.625rem, .4461rem + .7634vw, .8125rem);--text-menu: .9375rem;--font-body: "Union", system-ui, sans-serif;--font-heading: var(--font-body);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-tight: 1.125;--line-height-normal: 1.275;--line-height-relaxed: 1.6;--letter-spacing-tight: -2%;--letter-spacing-wide: .5%;--text-indent: var(--space-3xl)}@media(min-width:768px){:root{--text-indent: var(--space-2xl) }}@media(min-width:1024px){:root{--text-indent: var(--space-lg) }}@media(min-width:1280px){:root{--text-indent: var(--span-1);--letter-spacing-caps: .04em }}@media(min-width:1536px){:root{--text-indent: var(--space-3xl) }}@media(min-width:768px){:root{--text-p1: clamp(1rem, .625rem + .7813vw, 1.125rem);--text-p2: clamp(.8125rem, .4375rem + .7813vw, .9375rem)}}@media(min-width:1024px){:root{--text-h1: clamp(1.5rem, .5rem + 1.5625vw, 1.75rem);--text-h2: clamp(1.1875rem, .9375rem + .3906vw, 1.25rem);--text-p1: clamp(.9375rem, .4375rem + .7813vw, 1.0625rem);--text-p2: clamp(.9375rem, .6875rem + .3906vw, 1.0625rem)}}@media(min-width:1280px){:root{--text-h1: clamp(1.75rem, -.4375rem + 2.7344vw, 2.1875rem);--text-h2: clamp(1.25rem, 1rem + .3125vw, 1.5rem);--text-p1: clamp(1.0625rem, .875rem + .2344vw, 1.25rem);--text-menu: clamp(.9375rem, .625rem + .3906vw, 1rem)}}@media(min-width:1536px){:root{--text-h1: clamp(2.0625rem, 1.2188rem + .8789vw, 2.625rem);--text-p2: clamp(1.0625rem, .9688rem + .0977vw, 1.125rem);--text-menu: 1rem}}:root{--space-3xs: clamp(.25rem, .2rem + .15vw + .1vh, .375rem);--space-2xs: clamp(.5rem, .4rem + .3vw + .2vh, .75rem);--space-xs: clamp(.75rem, .6rem + .45vw + .3vh, 1.125rem);--space-sm: clamp(1rem, .8rem + .6vw + .4vh, 1.5rem);--space-md: clamp(1.5rem, 1.2rem + .9vw + .6vh, 2.25rem);--space-lg: clamp(2rem, 1.6rem + 1.2vw + .8vh, 3rem);--space-xl: clamp(1.6rem, 1rem + 1.56vw + 1.04vh, 3.9rem);--space-2xl: clamp(2rem, 1.2rem + 2.03vw + 1.35vh, 5.07rem);--space-3xl: clamp(2.5rem, 1.5rem + 2.64vw + 1.76vh, 6.591rem);--space-4xl: clamp(3.2rem, 1.8rem + 3.43vw + 2.28vh, 8.568rem);--space-5xl: clamp(4rem, 2.2rem + 4.46vw + 2.97vh, 11.139rem);--space-6xl: clamp(5rem, 2.7rem + 5.79vw + 3.86vh, 14.48rem);--space-7xl: clamp(6.5rem, 3.4rem + 7.53vw + 5.02vh, 18.824rem);--space-8xl: clamp(8rem, 4.2rem + 9.79vw + 6.52vh, 24.471rem);--col-gap: .65rem;--body-padding: clamp(1.125rem, .45rem + 3.375vw, calc(var(--col-gap) * 2.25))}@media(min-width:480px){:root{--body-padding: clamp(calc(var(--col-gap) * 2.5), 0rem + 1.88vw, calc(var(--col-gap) * 3)) }}:root{--col-right: var(--span-7);--grid-outer-gap: var(--body-padding);--container-padding: var(--space-md);--section-padding: var(--space-xl);--section-gap: var(--space-5xl);--viewport-offset-1: var(--space-5xl);--viewport-offset-2: calc(var(--space-7xl));--viewport-offset-3: var(--space-8xl);--viewport-offset-footer: var(--space-6xl)}@media(min-width:768px){:root{--section-gap: var(--space-6xl) }}@media(min-width:1024px){:root{--viewport-offset-1: var(--space-4xl);--viewport-offset-2: calc(var(--space-6xl));--viewport-offset-3: var(--space-7xl);--viewport-offset-footer: var(--space-5xl) }}@media(min-width:1280px){:root{--col-gap: .75rem;--col-right: calc(var(--span-9) - (var(--col-gap)*1.5));--grid-outer-gap: var(--col-gap);--viewport-offset-1: var(--space-4xl);--viewport-offset-2: calc(var(--space-6xl) - 1rem);--viewport-offset-3: var(--space-7xl);--viewport-offset-footer: var(--space-6xl) }}@media(min-width:1536px){:root{--col-left: calc(var(--span-9) - (var(--col-gap) * 1.5));--col-right: calc(var(--span-9) - (var(--col-gap) * 1.5));--viewport-offset-footer: var(--space-7xl) }}:root{--duration-100: .1s;--duration-200: .2s;--duration-300: .3s;--duration-400: .4s;--duration-500: .5s;--duration-700: .7s;--duration-micro: var(--duration-100);--duration-subtle: var(--duration-200);--duration-standard: var(--duration-300);--duration-enter: var(--duration-400);--duration-emphasis: var(--duration-500);--ease-out: ease-out;--ease-in: ease-in;--ease-out-cubic: cubic-bezier(.33, 1, .68, 1);--ease-in-out-cubic: cubic-bezier(.65, 0, .35, 1);--transition-exit-shift: 5px}@media(min-width:1024px){:root{--transition-exit-shift: 10px }}:root{--grid-cols: 2;--total-grid-cols-gap: calc(1 * var(--col-gap));--total-outer-gap: calc(var(--grid-outer-gap) * 2);--min-column-width: calc((0px - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 2);--max-column-width: calc((767px - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 2);--col-width: clamp(var(--min-column-width), calc((100vw - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 2), var(--max-column-width));--row-gap: var(--col-gap);--span-1: var(--col-width);--span-2: calc((var(--col-width) * 2) + (var(--col-gap) * 1));--span-3: calc((var(--col-width) * 3) + (var(--col-gap) * 2));--span-4: calc((var(--col-width) * 4) + (var(--col-gap) * 3));--span-5: calc((var(--col-width) * 5) + (var(--col-gap) * 4));--span-6: calc((var(--col-width) * 6) + (var(--col-gap) * 5));--span-7: calc((var(--col-width) * 7) + (var(--col-gap) * 6));--span-8: calc((var(--col-width) * 8) + (var(--col-gap) * 7));--span-9: calc((var(--col-width) * 9) + (var(--col-gap) * 8));--span-10: calc((var(--col-width) * 10) + (var(--col-gap) * 9));--span-11: calc((var(--col-width) * 11) + (var(--col-gap) * 10));--span-12: calc((var(--col-width) * 12) + (var(--col-gap) * 11));--span-13: calc((var(--col-width) * 13) + (var(--col-gap) * 12));--span-14: calc((var(--col-width) * 14) + (var(--col-gap) * 13));--span-15: calc((var(--col-width) * 15) + (var(--col-gap) * 14));--span-16: calc((var(--col-width) * 16) + (var(--col-gap) * 15));--span-17: calc((var(--col-width) * 17) + (var(--col-gap) * 16));--push-1: calc((var(--col-width) + var(--col-gap)) * 1);--push-2: calc((var(--col-width) + var(--col-gap)) * 2);--push-3: calc((var(--col-width) + var(--col-gap)) * 3);--push-4: calc((var(--col-width) + var(--col-gap)) * 4);--push-5: calc((var(--col-width) + var(--col-gap)) * 5);--push-6: calc((var(--col-width) + var(--col-gap)) * 6);--push-7: calc((var(--col-width) + var(--col-gap)) * 7);--push-8: calc((var(--col-width) + var(--col-gap)) * 8);--push-9: calc((var(--col-width) + var(--col-gap)) * 9);--push-10: calc((var(--col-width) + var(--col-gap)) * 10);--push-11: calc((var(--col-width) + var(--col-gap)) * 11);--push-12: calc((var(--col-width) + var(--col-gap)) * 12);--push-13: calc((var(--col-width) + var(--col-gap)) * 13);--push-14: calc((var(--col-width) + var(--col-gap)) * 14);--push-15: calc((var(--col-width) + var(--col-gap)) * 15);--push-16: calc((var(--col-width) + var(--col-gap)) * 16);--push-17: calc((var(--col-width) + var(--col-gap)) * 17);--push-full-1: var(--col-width);--push-full-2: calc((var(--col-width) * 2) + (var(--col-gap) * 3));--push-full-3: calc((var(--col-width) * 3) + (var(--col-gap) * 4));--push-full-4: calc((var(--col-width) * 4) + (var(--col-gap) * 5));--push-full-5: calc((var(--col-width) * 5) + (var(--col-gap) * 6));--push-full-6: calc((var(--col-width) * 6) + (var(--col-gap) * 7));--push-full-7: calc((var(--col-width) * 7) + (var(--col-gap) * 8));--push-full-8: calc((var(--col-width) * 8) + (var(--col-gap) * 9));--push-full-9: calc((var(--col-width) * 9) + (var(--col-gap) * 10));--push-full-10: calc((var(--col-width) * 10) + (var(--col-gap) * 11));--push-full-11: calc((var(--col-width) * 11) + (var(--col-gap) * 12));--push-full-12: calc((var(--col-width) * 12) + (var(--col-gap) * 13));--push-full-13: calc((var(--col-width) * 13) + (var(--col-gap) * 14));--push-full-14: calc((var(--col-width) * 14) + (var(--col-gap) * 15));--push-full-15: calc((var(--col-width) * 15) + (var(--col-gap) * 16));--push-full-16: calc((var(--col-width) * 16) + (var(--col-gap) * 17));--push-full-17: calc((var(--col-width) * 17) + (var(--col-gap) * 18))}@media(min-width:768px){:root{--grid-cols: 7;--total-grid-cols-gap: calc(6 * var(--col-gap));--total-outer-gap: calc(var(--grid-outer-gap) * 2);--min-column-width: calc((768px - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 7);--max-column-width: calc((1023px - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 7);--col-width: clamp(var(--min-column-width), calc((100vw - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 7), var(--max-column-width))}}@media(min-width:1024px){:root{--grid-cols: 12;--total-grid-cols-gap: calc(11 * var(--col-gap));--total-outer-gap: calc(var(--grid-outer-gap) * 2);--min-column-width: calc((1024px - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 12);--max-column-width: calc((1279px - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 12);--col-width: clamp(var(--min-column-width), calc((100vw - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 12), var(--max-column-width))}}@media(min-width:1280px){:root{--grid-cols: 15;--total-grid-cols-gap: calc(14 * var(--col-gap));--total-outer-gap: calc(var(--grid-outer-gap) * 2);--min-column-width: calc((1280px - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 15);--max-column-width: calc((1535px - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 15);--col-width: clamp(var(--min-column-width), calc((100vw - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 15), var(--max-column-width))}}@media(min-width:1536px){:root{--grid-cols: 18;--total-grid-cols-gap: calc(17 * var(--col-gap));--total-outer-gap: calc(var(--grid-outer-gap) * 2);--min-column-width: calc((1536px - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 18);--col-width: max(var(--min-column-width), calc((100vw - var(--total-outer-gap) - var(--total-grid-cols-gap)) / 18))}}:root{--active-breakpoint: "base"}@media(min-width:480px){:root{--active-breakpoint: "sm"}}@media(min-width:768px){:root{--active-breakpoint: "md"}}@media(min-width:1024px){:root{--active-breakpoint: "lg"}}@media(min-width:1280px){:root{--active-breakpoint: "xl"}}@media(min-width:1536px){:root{--active-breakpoint: "2xl"}}@media(min-width:2560px){:root{--active-breakpoint: "3xl"}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:antialiased;font-style:normal}body{line-height:inherit;overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;text-wrap:balance}p,li,figcaption{text-wrap:pretty}address,cite,dfn,em,i,var{font-style:normal}b,strong{font-weight:bolder}code,kbd,samp,pre{font-size:1em}small{font-size:80%}sub,sup{line-height:0;vertical-align:baseline}sub{position:relative;bottom:-.25em}sup{position:relative;top:-.5em;font-size:.6em}ul,ol,menu{list-style:none}a{color:inherit;-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}img,picture,video,canvas,svg,audio,iframe,embed,object{display:block;max-width:100%}img,video{height:auto}svg{overflow:hidden}input,button,textarea,select,optgroup{font:inherit;font-size:100%;line-height:inherit;letter-spacing:inherit;color:inherit}button,[role=button],label[for],select{cursor:pointer}:disabled{cursor:default}button{background:none;border:none;text-align:inherit}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:currentColor}input::placeholder,textarea::placeholder{opacity:1;color:currentColor}::-moz-focus-inner{border-style:none;padding:0}table{border-collapse:collapse;border-spacing:0;font:inherit;text-indent:0;border-color:inherit}summary{display:list-item}hr{border:none;border-top:1px solid currentColor;height:0;color:inherit}[hidden]:where(:not([hidden=until-found])){display:none}fieldset{border:none}legend{padding:0}dialog{padding:0}*{overflow-anchor:auto}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{font-family:var(--font-body);font-style:normal;font-weight:700;font-stretch:normal;font-size:100%;line-height:var(--line-height-normal);color:var(--colour-text-primary);background-color:var(--colour-background)}body{min-height:100svh;display:flex;flex-direction:column;font-size:var(--text-p1)}main{display:flex;flex-direction:column;flex:1}a{color:inherit;text-decoration:none}a:hover,a:focus{text-decoration:none}img{max-width:100%;height:auto;vertical-align:middle}.o-wrapper{padding:var(--body-padding);display:flex;flex-direction:column;flex:1}.o-flow>*+*{margin-block-start:var(--flow-space, 1em)}.o-stack{display:flex;flex-direction:column;gap:var(--stack-space, var(--col-gap))}.o-cluster{display:flex;flex-wrap:wrap;gap:var(--cluster-space, var(--col-gap));align-items:var(--cluster-align, center);justify-content:var(--cluster-justify, flex-start)}.o-sidebar{display:flex;flex-wrap:wrap;gap:var(--sidebar-space, var(--col-gap))}.o-sidebar>:first-child{flex-basis:var(--sidebar-width, 20rem);flex-grow:1}.o-sidebar>:last-child{flex-basis:0;flex-grow:999;min-inline-size:50%}.o-switcher{display:flex;flex-wrap:wrap;gap:var(--switcher-space, var(--col-gap))}.o-switcher>*{flex-grow:1;flex-basis:calc((var(--switcher-threshold, 30rem) - 100%) * 999)}.o-grid{display:grid;gap:var(--grid-space, var(--col-gap))}.o-grid--auto-fit{grid-template-columns:repeat(auto-fit,minmax(var(--grid-min-width, 250px),1fr))}.o-grid--auto-fill{grid-template-columns:repeat(auto-fill,minmax(var(--grid-min-width, 250px),1fr))}:root{--header-height: calc(var(--text-p1) * var(--line-height-normal) + var(--body-padding))}.c-header{position:fixed;left:var(--body-padding);right:var(--body-padding);z-index:1;display:block;padding-bottom:var(--body-padding);pointer-events:auto}@media(min-width:1024px){.c-header{position:relative;left:0}}.c-footer{position:relative;gap:calc(var(--col-gap) * .75);font-size:var(--text-p2)}@media(min-width:1024px){.c-footer{font-size:var(--text-p1)}}.c-footer a{transition:color .2s var(--ease-out-cubic),opacity .2s var(--ease-out-cubic)}.c-footer a:hover{color:var(--colour-text-active)}.c-footer .c-footer__mobile{display:flex;flex-direction:column;justify-content:center}@media(min-width:1024px){.c-footer .c-footer__mobile{display:none}}.c-footer .c-footer__mobile .c-footer__mobile-case-study{display:flex;flex-direction:row;justify-content:space-between;font-size:var(--text-p1);margin-top:calc(var(--body-padding) + var(--col-gap))}.c-footer .c-footer__mobile .c-footer__mobile-case-study>*{cursor:pointer}.c-footer .c-footer__mobile .c-footer__mobile-case-study>*:hover{color:var(--colour-text-active)}.c-footer .c-footer__mobile .c-footer__mobile-top{display:flex;flex-direction:row;justify-content:center;width:calc(100% - (var(--body-padding) *4));font-size:var(--text-p1);margin:calc(var(--viewport-offset-footer) - var(--body-padding)) auto var(--viewport-offset-footer)}.c-footer .c-footer__mobile .c-footer__mobile-top a{margin:0 auto}.c-footer .c-footer__mobile .c-footer__mobile-bottom{display:flex;flex-direction:row;justify-content:space-between;gap:calc(var(--col-gap) * 1);font-size:var(--text-p2);letter-spacing:var(--letter-spacing-tight)}.c-footer .c-footer__desktop{display:none}@media(min-width:1024px){.c-footer .c-footer__desktop{display:flex}}.c-footer .c-footer__credit{display:inline-grid;text-decoration:none;color:inherit}.c-footer .c-footer__credit .c-footer__credit-text,.c-footer .c-footer__credit .c-footer__credit-logo{grid-area:1 / 1}.c-footer .c-footer__credit .c-footer__credit-text{display:inline}.c-footer .c-footer__credit .c-footer__credit-logo{display:none;align-items:center;justify-content:flex-end;gap:calc(var(--col-gap) / 2);visibility:hidden}.c-footer .c-footer__credit .c-footer__credit-logo .c-footer__credit-mark{height:.75em;width:auto;filter:brightness(0)}.c-footer .c-footer__credit .c-footer__credit-logo .c-footer__credit-arrow{font-style:normal}@media(min-width:1024px){.c-footer .c-footer__credit:hover .c-footer__credit-text{visibility:hidden}.c-footer .c-footer__credit:hover .c-footer__credit-logo{display:flex;visibility:visible}}[data-return-to-top],[data-return-page]{transition:color .2s var(--ease-out-cubic),opacity .2s var(--ease-out-cubic)}[data-return-to-top]:hover,[data-return-page]:hover{color:var(--colour-text-active)}.c-projects-footer .c-footer__mobile-top [data-return-to-top]{max-width:0;overflow:hidden;white-space:nowrap;margin-left:0;transition:max-width var(--duration-standard) var(--ease-out),margin-left var(--duration-standard) var(--ease-out),color .2s var(--ease-out-cubic),opacity .2s var(--ease-out-cubic)}.c-accordion-toggle{width:.9rem;height:.9rem;background-color:var(--colour-text-primary);background-image:linear-gradient(currentColor,currentColor);background-size:.5em 1px;background-position:50%;background-repeat:no-repeat;color:var(--colour-background);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;transform:translateY(.15em)}.c-accordion-toggle:before{content:"";position:absolute;inset:-.75em}.c-accordion-toggle:after{content:"";position:absolute;background:currentColor;width:1px;height:.5em;transition:rotate var(--duration-micro) var(--ease-out-cubic),opacity var(--duration-micro) var(--ease-out-cubic)}.c-accordion-toggle[aria-expanded=true]:after{rotate:90deg;opacity:0}.c-navigation{width:100%;pointer-events:auto}.c-navigation__content{display:flex;flex-direction:column-reverse;justify-content:space-between;align-items:flex-start;gap:var(--col-gap);position:relative}@media(min-width:1024px){.c-navigation__content{flex-direction:row}}.c-navigation__headline{flex-wrap:wrap;gap:var(--col-gap);width:100%;padding-top:calc(25svh - var(--body-padding));font-size:var(--text-h2);line-height:var(--line-height-tight);margin:0;color:var(--colour-text-primary)}@media(min-width:1024px){.c-navigation__headline{display:flex;padding:0;max-width:var(--span-5)}}@media(min-width:1536px){.c-navigation__headline{max-width:calc(var(--span-9) - var(--body-padding))}}.c-navigation__headline{transition:opacity .3s var(--ease-out-cubic)}.c-navigation__wordmark{display:none;align-items:center;font-size:var(--text-h2);transition:opacity .3s var(--ease-out-cubic);width:var(--col-left)}@media(min-width:1024px){.c-navigation__wordmark{display:flex;position:absolute;left:0;top:0}}.c-navigation__wordmark-link{display:inline-block;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.c-navigation__wordmark-image{height:min(3rem,3.75vw);width:auto;display:block}.c-navigation__menu{display:flex;justify-content:space-between;gap:calc(var(--col-gap) * 2);list-style:none;padding:0;width:100%}@media(min-width:1024px){.c-navigation__menu{justify-content:flex-start;gap:calc(var(--col-gap) * 3);width:var(--col-right);margin-left:auto}}.c-navigation__menu li{margin:0;transition:color .2s var(--ease-out-cubic),opacity .2s var(--ease-out-cubic)}.c-navigation__menu a{font-size:var(--text-p1);letter-spacing:1%;color:var(--colour-text-secondary);text-decoration:none;transition:color .2s var(--ease-out-cubic)}.c-navigation__menu a.c-navigation__link--active{color:var(--colour-text-primary)}.c-navigation__menu a sup{display:none}@media(min-width:1024px){.c-navigation__menu a sup{display:inline}}.c-navigation__menu a:hover,.c-navigation__menu a:focus{color:var(--colour-text-primary);text-decoration:none}@media(min-width:1024px){:root{--logo-size: var(--push-2) }}@media(min-width:1280px){:root{--logo-size: calc(var(--push-3) - (var(--body-padding) + var(--body-padding))) }}.c-logo{position:relative;display:flex;align-items:baseline;gap:var(--col-gap);width:50vw;max-height:calc(50svh - var(--col-gap) - var(--body-padding));pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(min-width:768px){.c-logo{width:auto}}@media(min-width:1024px){.c-logo.c-logo--home{width:var(--logo-size)}}@media(min-width:1024px){.c-logo.c-logo--inner{flex-shrink:0;max-height:none;width:auto;align-items:flex-start}}@media(min-width:1024px){.c-logo--inner .c-logo__colon{height:calc(var(--logo-size) * var(--logo-h) / var(--logo-w));max-height:calc(50svh - var(--col-gap) - var(--body-padding));width:auto}}@media(min-width:1280px){.c-logo--inner .c-logo__colon{height:calc(var(--logo-size) * var(--logo-h) / var(--logo-w))}}.c-logo__image,.c-logo__colon{width:auto;height:auto;max-height:inherit}[data-page=home] .c-logo__image{display:block}[data-page=home] .c-logo__colon{display:none}body:not([data-page=home]) .c-logo__image{display:none}body:not([data-page=home]) .c-logo__colon{display:none}@media(min-width:1024px){body:not([data-page=home]) .c-logo__colon{display:block}}[data-page=home] .o-wrapper{min-height:100svh;display:flex;flex-direction:column}[data-page=home] #swup{flex:1;display:flex;flex-direction:column;pointer-events:none}.c-home{position:relative;flex:1;display:flex;flex-direction:column;gap:var(--body-padding)}@media(min-width:1024px){.c-home{justify-content:flex-end}}.c-home__image{flex:1 1 auto;min-height:0;overflow:hidden;min-height:12rem;max-height:calc((100vw - 2 * var(--body-padding)) * var(--img-h) / var(--img-w));pointer-events:none}@media(min-width:1024px){.c-home__image{max-height:none}}.c-home__featured-image{display:none;position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}@media(min-width:1024px){.c-home__featured-image{display:block;position:static;inset:auto;height:auto}}.c-logo--home{margin-top:auto}.c-preloader{position:absolute;inset:0;z-index:1;background:var(--colour-background);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s var(--ease-out-cubic),visibility 0s linear .5s}.c-preloader.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .5s var(--ease-out-cubic),visibility 0s linear 0s}.c-preloader.is-hidden{display:none}.c-home__image{display:flex;position:relative;top:0;max-height:calc(50svh - (var(--body-padding) * 3))}@media(min-width:1024px){.c-home__image{position:absolute;top:initial;right:0;bottom:0;width:var(--col-right);max-width:var(--col-right);max-height:100%;aspect-ratio:var(--img-w) / var(--img-h);-o-object-fit:cover;object-fit:cover}}.c-preloader__image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}html.preloader-pending .c-preloader{opacity:1;visibility:visible;pointer-events:auto;transition:none}html.preloader-pending .c-header{opacity:0;pointer-events:none}.c-header.is-preloader-hiding .c-navigation__headline,.c-header.is-preloader-hiding .c-navigation__menu li{opacity:0;transform:translateY(5px);transition:none}.c-header.is-preloader-animating .c-navigation__headline{opacity:0;transform:translateY(5px);transition:opacity .7s var(--ease-out-cubic),transform .7s var(--ease-out-cubic)}.c-header.is-preloader-animating .c-navigation__menu li{opacity:0;transform:translateY(4px);transition:opacity .5s var(--ease-out-cubic),transform .5s var(--ease-out-cubic)}.c-header.is-preloader-animating .c-navigation__headline.is-preloader-revealed,.c-header.is-preloader-animating .c-navigation__menu li.is-preloader-revealed{opacity:1;transform:translateY(0)}.c-preloader__image{visibility:hidden}.c-studio{display:flex;flex-direction:column;justify-content:stretch;flex:1;padding-top:var(--viewport-offset-2)}.c-studio__layout{display:flex;flex-direction:column;flex:1}@media(min-width:768px){.c-studio__layout{flex-direction:row}}@media(min-width:768px){.c-studio__aside{position:sticky;bottom:var(--body-padding);align-self:end}}.c-studio__main{display:flex;flex-direction:column}@media(min-width:768px){.c-studio__main{width:var(--col-right);margin-left:auto}}.c-studio-section{margin-bottom:var(--section-gap)}.c-studio-section:last-of-type{margin-bottom:0}.c-studio-section__header{display:flex;flex-direction:column;gap:var(--space-3xl);margin-bottom:var(--space-3xl)}@media(min-width:768px){.c-studio-section__header{display:grid;gap:var(--col-gap);grid-template-columns:var(--span-3) 1fr;margin-bottom:var(--space-xl)}}@media(min-width:1280px){.c-studio-section__header{grid-template-columns:var(--span-4) 1fr}}@media(min-width:768px){.c-studio-section__header+*{margin-top:var(--space-4xl)}}@media(min-width:768px){.c-studio-section__header+.c-studio-section__image{margin-top:var(--space-3xl)}}.c-studio-section__row{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-3xl)}@media(min-width:768px){.c-studio-section__row{display:grid;gap:var(--col-gap);grid-template-columns:var(--span-3) 1fr;margin-bottom:var(--space-2xl)}}@media(min-width:1280px){.c-studio-section__row{grid-template-columns:var(--span-4) 1fr;margin-bottom:var(--space-4xl)}}.c-studio-section__row:last-of-type{margin-bottom:0}.c-studio-section__row .c-studio-section__row-content{text-indent:var(--text-indent)}.c-studio-section__image{width:100%}.c-studio-section__img{width:100%;height:auto;display:block;filter:grayscale(100%)}.c-leadership-profiles{display:flex;flex-direction:column}@media(min-width:768px){.c-studio-footer .c-footer__desktop{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;margin-top:var(--viewport-offset-footer)}}.c-studio-footer>*{margin-top:var(--body-padding)}@media(min-width:768px){.c-studio-footer>*{width:var(--push-2)}}@media(min-width:1536px){.c-studio-footer>*{width:var(--push-3)}}.c-studio-footer .c-studio-footer__credit{width:auto;margin-left:auto}.c-studio-footer__top{cursor:pointer}.c-team-grid{display:grid;gap:var(--space-3xl)}@media(min-width:768px){.c-team-grid{grid-template-columns:var(--span-3) 1fr;gap:var(--space-lg) var(--col-gap)}}@media(min-width:1024px){.c-team-grid{grid-template-columns:var(--span-3) 1fr}}@media(min-width:1280px){.c-team-grid{grid-template-columns:var(--span-4) 1fr}}.c-team-card{display:flex;flex-direction:column;text-align:left}.c-team-card__image{width:100%;margin-bottom:var(--space-sm)}@media(min-width:1536px){.c-team-card__image{margin-bottom:var(--space-md)}}.c-team-card__img,.c-team-card__content{width:100%;height:auto}@media(min-width:768px){.c-team-card__img,.c-team-card__content{width:var(--span-2)}}@media(min-width:1024px){.c-team-card__img,.c-team-card__content{width:calc(var(--span-3) - (var(--col-width)*.75));flex-shrink:0}}@media(min-width:1280px){.c-team-card__img,.c-team-card__content{width:var(--span-3)}}.c-team-card__content{flex:1}@media(min-width:768px){.c-team-card__content{min-height:4em}}@media(min-width:2560px){.c-team-card__content{font-size:var(--text-h2)}}.c-team-card__name{line-height:var(--line-height-tight);position:relative;padding-left:var(--text-indent)}@media(min-width:1280px){.c-team-card__name{padding-left:var(--text-indent)}}.c-team-card__name:before{content:"";position:absolute;left:0;top:.1em;width:.9em;height:.9em;background-color:var(--colour-text-primary);display:block}@media(min-width:1280px){.c-team-card__name:before{content:""}}.c-team-card__position{color:var(--colour-text-secondary);padding-left:var(--text-indent)}@media(min-width:1280px){.c-team-card__position{padding-left:var(--text-indent)}}.c-team-profiles{margin-top:var(--space-3xl)}@media(min-width:768px){.c-team-profiles{margin-top:var(--space-4xl)}}.c-team-profile{display:flex;flex-direction:column-reverse;gap:var(--space-xl);margin-bottom:var(--space-3xl)}@media(min-width:768px){.c-team-profile{flex-direction:row;margin-bottom:var(--space-4xl)}}@media(min-width:1280px){.c-team-profile{gap:calc(var(--col-gap) + var(--push-1))}}.c-team-profile:last-of-type{margin-bottom:0}.c-team-profile:last-of-type .c-team-profile__image{margin-bottom:0}.c-team-profile .c-team-profile__image{margin-bottom:var(--space-sm)}@media(min-width:768px){.c-team-profile .c-team-profile__image{width:var(--span-2);margin-bottom:var(--space-md)}}@media(min-width:1024px){.c-team-profile .c-team-profile__image{width:calc(var(--span-3) - (var(--col-width)*.75));flex-shrink:0;margin-bottom:0}}@media(min-width:1280px){.c-team-profile .c-team-profile__image{width:var(--span-3)}}.c-team-profile .c-team-profile__content{margin-left:auto}@media(min-width:768px){.c-team-profile .c-team-profile__content{width:var(--span-4)}}@media(min-width:1280px){.c-team-profile .c-team-profile__content{width:var(--span-5)}}@media(min-width:1536px){.c-team-profile .c-team-profile__content{width:calc(var(--push-6) - var(--body-padding))}}.c-team-profile .c-team-profile__name{line-height:var(--line-height-normal);margin-bottom:var(--space-md);position:relative;padding-left:var(--text-indent)}@media(min-width:768px){.c-team-profile .c-team-profile__name{font-size:var(--text-h2)}}.c-team-profile .c-team-profile__name:before{content:"";position:absolute;left:0;top:.1em;width:.9em;height:.9em;background-color:var(--colour-text-primary);display:block}.c-team-profile .c-team-profile__bio{margin-top:var(--space-md)}.c-contact{display:flex;flex-direction:column;justify-content:stretch;flex:1;padding-top:var(--viewport-offset-2)}.c-contact__layout{display:flex;flex-direction:column;flex:1}@media(min-width:1024px){.c-contact__layout{flex-direction:row}}.c-contact__aside{display:none}@media(min-width:1024px){.c-contact__aside{display:block;position:sticky;bottom:var(--body-padding);align-self:end}}.c-contact__feature{pointer-events:none}@media(min-width:1024px){.c-contact__feature{position:absolute;left:0;top:0;bottom:0;aspect-ratio:1 / 1;margin-bottom:.165em;margin-bottom:clamp(.145em,calc(.145em + .005em*tan(atan2(100vw - 1024px,256px))),.15em)}}@media(min-width:1280px){.c-contact__feature{margin-bottom:clamp(.15em,calc(.15em + .025em*tan(atan2(100vw - 1280px,256px))),.175em)}}@media(min-width:1536px){.c-contact__feature{margin-bottom:clamp(.15em,calc(.15em + .07em*tan(atan2(100vw - 1536px,1024px))),.22em)}}@media(min-width:2560px){.c-contact__feature{margin-bottom:max(.22em,.3vh)}}.c-contact__feature-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;opacity:1}.c-contact__main{display:flex;flex-direction:column;flex:1}@media(min-width:1024px){.c-contact__main{flex:none;width:var(--col-right);margin-left:auto}}.c-contact__content{display:flex;flex-direction:column;flex:1;gap:var(--col-gap)}@media(min-width:768px){.c-contact__content{margin-left:var(--push-3)}}@media(min-width:1024px){.c-contact__content{margin:0}}.c-contact-block{margin-bottom:var(--space-2xl);font-size:var(--text-p1);letter-spacing:var(--letter-spacing-wide)}@media(min-width:1024px){.c-contact-block{margin-bottom:var(--space-xl);font-size:var(--text-h2)}}.c-contact-block.c-contact-block--logo{flex:1;display:flex;align-items:center}@media(min-width:1024px){.c-contact-block.c-contact-block--logo{display:none}}.c-contact-block.c-contact-block--logo img{margin:var(--space-xl) 0}.c-contact-block__label{line-height:var(--line-height-tight);margin-bottom:var(--space-sm);position:relative;padding-left:var(--text-indent)}.c-contact-block__label:before{content:"";position:absolute;left:0;top:.1em;width:.9em;height:.9em;background-color:var(--colour-text-primary);display:block}.c-contact-block__label-link{color:var(--colour-text-secondary);text-decoration:none}.c-contact-block__label-link:hover{text-decoration:underline}.c-contact-block__content{line-height:var(--line-height-tight)}.c-contact-block__phone{font-weight:var(--font-weight-bold);color:var(--colour-text-primary);margin-bottom:var(--space-3xs)}.c-contact-block__email a,.c-contact-block__social a{text-decoration:none}.c-contact-block__email a:hover,.c-contact-block__social a:hover{text-decoration:underline}.c-contact-block__text{color:var(--colour-text-primary);margin-bottom:var(--space-sm)}.c-contact-block__content p{color:var(--colour-text-primary);margin:0 0 var(--space-xs) 0;text-wrap:balance}.c-contact-block__content a{color:var(--colour-text-secondary);text-decoration:none}.c-contact-block__content a:hover{text-decoration:underline}.c-contact-block__text,.c-contact-block__email,.c-contact-block__social{margin:0 0 var(--space-xs) 0}.c-contact-block__text:last-child,.c-contact-block__email:last-child,.c-contact-block__social:last-child{margin-bottom:0}.c-contact-footer{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;flex-wrap:wrap;margin-top:auto}.c-contact-footer p{display:inline}@media(min-width:1024px){.c-contact-footer__copyright{min-width:var(--span-4)}}@media(min-width:1024px){.c-contact-footer__privacy{min-width:var(--span-1)}}.c-contact-footer__credit{text-align:right}@media(min-width:1024px){.c-contact-footer__credit{min-width:var(--span-1);margin-left:auto}}.c-error{padding-top:var(--viewport-offset-2);width:var(--col-right);margin-left:auto}.c-case-study{--case-study-offset: var(--viewport-offset-2);display:flex;flex-direction:column;flex:1;gap:calc(var(--col-gap) * 2.5);padding-top:var(--case-study-offset)}@media(min-width:1024px){.c-case-study{--case-study-offset: calc(var(--viewport-offset-1) + (var(--viewport-offset-3) - var(--viewport-offset-1)) + var(--body-padding));--logo-colon-height: min( calc(var(--logo-size) * var(--logo-h) / var(--logo-w)), calc(50svh - var(--col-gap) - var(--body-padding)) );flex-direction:row}}.c-case-study__aside{display:none}@media(min-width:1024px){.c-case-study__aside{display:flex;flex-direction:column}}@media(min-width:1024px){.c-case-study__aside .c-logo{margin-top:auto;position:sticky;bottom:var(--body-padding)}}.c-case-study__body{display:flex;flex-direction:column;gap:var(--body-padding);flex:1}@media(min-width:1024px){.c-case-study__body{display:grid;grid-template-columns:minmax(0,1fr) var(--col-right);-moz-column-gap:var(--push-1);column-gap:var(--push-1);row-gap:var(--col-gap)}}@media(min-width:1024px){.c-case-study__row{display:contents}}@media(min-width:1024px){.c-case-study__left-cell{align-self:stretch;display:flex;flex-direction:column}}@media(min-width:1024px){.c-case-study__left-cell--header{padding-top:max(0px,calc(100vh - 2 * var(--body-padding) - var(--logo-colon-height) - var(--case-study-offset) - var(--header-height)))}}.c-case-study__right-cell{position:relative;display:flex;flex-direction:column;gap:var(--body-padding)}@media(min-width:1024px){.c-case-study__right-cell{gap:var(--col-gap);align-self:start}}@media(min-width:1024px){.c-case-study__footer-cell{grid-column:2}}.c-case-study__header{max-width:37em;margin-bottom:var(--space-3xl)}@media(min-width:768px){.c-case-study__header{margin-bottom:var(--space-4xl)}}@media(min-width:1024px){.c-case-study__header{position:sticky;bottom:var(--body-padding);margin-top:auto}}@media(min-width:1536px){.c-case-study__header{margin-bottom:var(--space-3xl)}}.c-case-study__title{font-size:var(--text-h1);font-weight:var(--font-weight-bold);line-height:1;position:relative;margin-bottom:var(--space-2xl)}@media(min-width:768px){.c-case-study__title{margin-bottom:var(--space-3xl)}}@media(min-width:1024px){.c-case-study__title{margin-bottom:var(--space-lg)}}@media(min-width:1280px){.c-case-study__title{margin-top:clamp(-.1em,calc(-.1em + .05em*tan(atan2(100vw - 1280px,256px))),-.05em)}}@media(min-width:1536px){.c-case-study__title{margin-top:clamp(-.15em,calc(-.15em + .15em*tan(atan2(100vw - 1536px,1024px))),0em)}}.c-case-study__subtitle{display:flex;gap:var(--col-gap) calc(var(--col-gap) * 3);flex-wrap:wrap;font-size:var(--text-p2);letter-spacing:var(--letter-spacing-tight);color:var(--colour-text-secondary);margin-bottom:var(--space-2xl)}@media(min-width:768px){.c-case-study__subtitle{margin-bottom:var(--space-3xl)}}@media(min-width:1024px){.c-case-study__subtitle{margin-bottom:var(--space-lg)}}.c-case-study__details{display:grid;grid-template-columns:auto 1fr;gap:0 calc(var(--col-gap) * 3);font-size:var(--text-p1);margin-bottom:var(--space-3xl)}@media(min-width:768px){.c-case-study__details{margin-bottom:var(--space-4xl)}}@media(min-width:1024px){.c-case-study__details{font-size:var(--text-p2);margin-bottom:var(--space-xl)}}.c-case-study__detail-row{display:contents}@media(min-width:768px){.c-case-study__detail-label{min-width:calc(var(--push-2) - calc(var(--col-gap) * 3))}}.c-case-study__intro{font-size:var(--text-p1);max-width:36em}@media(min-width:1024px){.c-case-study__intro{font-size:var(--text-p2)}}.c-case-study__caption{font-size:var(--text-p1);max-width:36em;margin-bottom:var(--space-3xl)}@media(min-width:768px){.c-case-study__caption{margin-bottom:var(--space-4xl)}}@media(min-width:1024px){.c-case-study__caption{position:sticky;bottom:var(--body-padding);margin-top:auto;margin-bottom:0;min-height:var(--logo-colon-height);padding-bottom:var(--space-xl);font-size:var(--text-p2)}}@media(min-width:1536px){.c-case-study__caption{padding-bottom:var(--space-3xl)}}.c-case-study__image{margin:0;width:100%;overflow:hidden}.c-case-study__img{width:100%;height:auto;display:block;opacity:0;transition:opacity var(--duration-enter) var(--ease-out)}.c-case-study__img.is-loaded{opacity:1}@media(prefers-reduced-motion:reduce){.c-case-study__img{opacity:1;transition:none}}.c-case-study__return{position:absolute;bottom:0;transform:translateY(100%);display:none}@media(min-width:1024px){.c-case-study__return{display:flex;justify-content:flex-start;padding-top:var(--space-sm)}}.c-case-study__return-link{text-decoration:none;cursor:pointer}.c-case-study__return-link:hover{color:var(--colour-text-active)}@media(min-width:1024px){.c-case-study-footer .c-footer__desktop{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;margin-top:var(--viewport-offset-footer)}}.c-case-study-footer .c-footer__desktop>*{width:var(--push-2);padding-top:var(--body-padding)}@media(min-width:1536px){.c-case-study-footer .c-footer__desktop>*{width:var(--push-3)}}.c-case-study-footer .c-case-study-footer__credit{width:auto}@media(min-width:1024px){.c-case-study-footer .c-case-study-footer__credit{margin-left:auto}}.c-projects{display:flex;flex-direction:column;justify-content:stretch;flex:1;padding-top:var(--viewport-offset-2)}@media(min-width:1024px){.c-projects{padding-top:var(--viewport-offset-1)}}.c-projects.c-projects--archive{padding-top:var(--viewport-offset-2)}@media(min-width:1024px){.c-projects.c-projects--archive .c-project-list__cell{cursor:default}}.c-projects-nav{display:flex;justify-content:flex-end;gap:var(--col-gap);margin-bottom:var(--space-xl);padding:var(--space-md) 0}.c-project-filters{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3xl)}@media(min-width:1024px){.c-project-filters{gap:var(--space-sm) calc(var(--col-gap) * 4);flex-direction:row-reverse;width:var(--col-right);margin-left:auto;margin-bottom:var(--body-padding);min-height:calc(var(--viewport-offset-3) - var(--viewport-offset-1))}}.c-project-filters__toggles{display:flex;justify-content:space-between;align-items:baseline;flex:1;width:100%;margin-bottom:calc(var(--col-gap) * 3)}@media(min-width:1024px){.c-project-filters__toggles{justify-content:flex-end;margin-bottom:0}}.c-project-filters:has(.c-project-filters__categories[hidden]) .c-project-filters__toggles{margin-bottom:0}.c-project-filters__filter-toggle{display:flex;align-items:baseline;gap:var(--col-gap)}@media(min-width:1024px){.c-project-filters__filter-toggle{display:none}}.c-project-filters__categories{overflow:hidden;display:none}@media(min-width:1024px){.c-project-filters__categories{display:block}}.c-project-filters__categories-inner{display:flex;gap:var(--col-gap) calc(var(--col-gap) * 3);align-items:flex-start;flex-wrap:wrap}.c-project-filters__filter{width:100%;color:var(--colour-text-secondary);text-decoration:none}@media(min-width:1024px){.c-project-filters__filter{width:auto}}.c-project-filters__filter--active{color:var(--colour-text-primary);font-weight:var(--font-weight-bold)}.c-project-filters__filter sup{font-weight:var(--font-weight-bold);padding-left:.1em}.c-project-filters__view-toggle{display:flex;gap:calc(var(--col-gap) * 3)}@media(min-width:1024px){.c-project-filters__view-toggle{gap:var(--col-gap)}}.c-project-filters__toggle{background:none;border:none;color:var(--colour-text-secondary);cursor:pointer}.c-project-filters__toggle--active{color:var(--colour-text-primary);font-weight:var(--font-weight-bold)}.c-projects-content{display:flex;flex-direction:column;flex:1}.c-projects-view{width:100%;flex:1}@media(min-width:1024px){.c-projects-footer .c-footer__desktop{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;margin-top:var(--viewport-offset-footer)}}.c-projects-footer .c-footer__desktop>*{width:var(--push-2);padding-top:var(--body-padding)}@media(min-width:1536px){.c-projects-footer .c-footer__desktop>*{width:var(--push-3)}}.c-projects-footer .c-projects-footer__credit{width:auto}@media(min-width:1024px){.c-projects-footer .c-projects-footer__credit{margin-left:auto}}.c-projects:not(.c-projects--archive) .c-projects-view--images{display:flex;flex-direction:column}.c-projects:not(.c-projects--archive) .c-projects-view--list{display:none;flex-direction:column}.c-projects--archive .c-projects-view--list{display:flex;flex-direction:column}.c-project-images{display:grid;width:100%;gap:var(--col-gap);flex:1;grid-template-columns:1fr;grid-template-rows:1fr}@media(min-width:1024px){.c-project-images{grid-template-columns:minmax(0,1fr) var(--col-right);grid-template-rows:none}}.c-project-images__titles{grid-row:1;grid-column:1;align-self:start;position:sticky;top:calc(50svh - var(--body-padding));z-index:1;display:flex;flex-direction:column;gap:calc(var(--col-gap) * 2.5);mix-blend-mode:difference}@media(min-width:1024px){.c-project-images__titles{grid-row:auto;grid-column:auto;align-self:end;z-index:auto;top:initial;bottom:var(--body-padding);flex-direction:row;justify-content:flex-start;align-items:flex-start;mix-blend-mode:initial}}.c-project-images__title-link{display:none;font-size:var(--text-h1);font-weight:var(--font-weight-bold);color:var(--colour-text-inverted);text-decoration:none;position:relative;text-wrap:balance;line-height:1}@media(min-width:1024px){.c-project-images__title-link{color:var(--colour-text-primary)}}@media(min-width:1280px){.c-project-images__title-link{margin-top:clamp(-.1em,calc(-.1em + .05em*tan(atan2(100vw - 1280px,256px))),-.05em)}}@media(min-width:1536px){.c-project-images__title-link{margin-top:clamp(-.15em,calc(-.15em + .15em*tan(atan2(100vw - 1536px,1024px))),0em)}}.c-project-images__title-link--active{display:block}.c-project-images__titles:not(:has(.c-project-images__title-link--active))>.c-project-images__title-link:first-of-type{display:block}.c-project-images__gallery{grid-row:1;grid-column:1;display:flex;flex-direction:column;gap:var(--body-padding)}.c-project-images__gallery>.c-projects-footer{margin-top:auto}@media(min-width:1024px){.c-project-images__gallery{grid-row:auto;grid-column:auto;gap:var(--col-gap)}}.c-project-images__image-link{display:block;overflow:hidden}@media(min-width:1024px){.c-project-images--has-focus .c-project-images__image-link .c-project-images__img{opacity:.7}.c-project-images--has-focus .c-project-images__image-link--focused .c-project-images__img{opacity:1}}.c-project-images__img{width:100%;height:auto;display:block;opacity:0;transition:opacity var(--duration-enter) var(--ease-out)}.c-project-images__img.is-loaded{opacity:1}@media(prefers-reduced-motion:reduce){.c-project-images__img{opacity:1;transition:none}}.c-project-list{position:relative;display:flex;flex-direction:row;flex:1}.c-project-list__logo-area{display:none}@media(min-width:1024px){.c-project-list__logo-area{display:block;position:sticky;bottom:var(--body-padding);align-self:end}}.c-project-list__image-preview{pointer-events:none}@media(min-width:1024px){.c-project-list__image-preview{position:absolute;left:0;top:0;bottom:0;aspect-ratio:1 / 1;margin-bottom:.165em;margin-bottom:clamp(.145em,calc(.145em + .005em*tan(atan2(100vw - 1024px,256px))),.15em)}}@media(min-width:1280px){.c-project-list__image-preview{margin-bottom:clamp(.15em,calc(.15em + .025em*tan(atan2(100vw - 1280px,256px))),.175em)}}@media(min-width:1536px){.c-project-list__image-preview{margin-bottom:clamp(.15em,calc(.15em + .07em*tan(atan2(100vw - 1536px,1024px))),.22em)}}@media(min-width:2560px){.c-project-list__image-preview{margin-bottom:max(.22em,.3vh)}}.c-project-list__preview-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity var(--duration-subtle) var(--ease-out)}.c-project-list__wrapper{display:flex;flex-direction:column;justify-content:space-between;width:100%;flex:1}@media(min-width:1024px){.c-project-list__wrapper{flex:none;width:var(--col-right);margin-left:auto}}.c-project-list__table{display:block;width:100%;margin-bottom:var(--space-lg);font-size:var(--text-h1)}@media(min-width:1024px){.c-project-list__table{font-size:var(--text-h2)}}.c-project-list__table tbody{display:grid;grid-template-columns:1fr min-content;-moz-column-gap:var(--col-gap);column-gap:var(--col-gap);width:100%}@media(min-width:1024px){.c-project-list__table tbody{grid-template-columns:minmax(min-content,1fr) minmax(min-content,1fr) min-content}}@media(min-width:1536px){.c-project-list__table tbody{grid-template-columns:minmax(min-content,1fr) minmax(min-content,1fr) minmax(min-content,1fr) min-content}}.c-project-list__header{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);border:0}.c-project-list__header-cell{text-align:left;padding:0}.c-project-list__header-cell+.c-project-list__header-cell{padding-left:var(--col-gap)}.c-project-list__row{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;align-items:baseline;color:var(--colour-text-primary);transition:color var(--duration-micro) var(--ease-out-cubic)}.c-project-list__row:hover{color:var(--colour-text-active)}@media(min-width:1024px){.c-project-list__row{color:var(--colour-text-active);transition:color var(--duration-micro) var(--ease-out-cubic)}.c-project-list__row:hover{color:var(--colour-text-primary)}}.c-project-list__cell{padding-bottom:var(--col-gap);cursor:pointer;text-decoration:none}.c-project-list__cell a{color:inherit;text-decoration:none;pointer-events:none}.c-project-list__cell.c-project-list__cell--location{display:none}@media(min-width:1536px){.c-project-list__cell.c-project-list__cell--location{display:block}}.c-project-list__cell.c-project-list__cell--type{display:none}@media(min-width:1024px){.c-project-list__cell.c-project-list__cell--type{display:block}}.c-project-list__cell.c-project-list__cell--year{display:none;text-align:right;white-space:nowrap}@media(min-width:1024px){.c-project-list__cell.c-project-list__cell--year{display:block}}.c-project-list__cell.c-project-list__cell--toggle{display:flex;align-items:center;padding-bottom:var(--col-gap)}@media(min-width:1024px){.c-project-list__cell.c-project-list__cell--toggle{display:none}}.c-project-list__cell.c-project-list__cell--image{grid-column:1 / -1;padding:0;display:grid;grid-template-rows:1fr;overflow:hidden;transition:grid-template-rows var(--duration-standard) var(--ease-out-cubic)}.c-project-list__cell.c-project-list__cell--image[hidden]{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-standard) var(--ease-out-cubic)}.c-project-list__cell.c-project-list__cell--image[hidden] .c-project-list__image-inner{opacity:0;transition:opacity var(--duration-standard) var(--ease-out-cubic)}.c-project-list__cell.c-project-list__cell--image .c-project-list__img{margin-bottom:calc(var(--body-padding) + var(--col-gap))}.c-project-list__cell.c-project-list__cell--image img{width:100%;height:auto;display:block}@media(min-width:1024px){.c-project-list__cell.c-project-list__cell--image{display:none}}.c-project-list__image-inner{min-height:0;overflow:hidden}.c-projects--archive .c-project-list__row{cursor:default}.c-projects-footer__top{display:inline;opacity:0;pointer-events:none;cursor:pointer;transition:all var(--duration-standard) var(--ease-out)}.c-project-list--scrollable .c-projects-footer__top{opacity:1;pointer-events:auto}.c-project-list--scrollable .c-footer__mobile-top .c-projects-footer__top{max-width:200px;margin-left:calc(var(--col-gap) * 5)}.dev-grid-overlay{position:fixed;inset:0;z-index:99999;pointer-events:none;opacity:0;overflow:hidden;transition:opacity .15s ease}.dev-grid-overlay.is-visible{opacity:1}.dev-grid-overlay__inner{width:100%;height:100%;padding-inline:var(--grid-outer-gap);display:grid;grid-template-columns:repeat(var(--grid-cols),var(--col-width));grid-template-rows:1fr;grid-auto-rows:0;-moz-column-gap:var(--col-gap);column-gap:var(--col-gap);row-gap:0;justify-content:center;overflow:hidden}.dev-grid-overlay__col{min-height:0;height:100%;background:var(--colour-spacing-grid, #ec5d2c);opacity:.1}.dev-grid-overlay__breakpoint{position:fixed;bottom:.75rem;right:.75rem;z-index:99999;padding:.25rem .5rem;background:var(--colour-spacing-grid, #ec5d2c);color:#fff;font-family:monospace;font-size:.6875rem;line-height:1;letter-spacing:.05em;text-transform:uppercase;border-radius:2px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dev-grid-overlay__breakpoint:after{content:var(--active-breakpoint, "base")}::view-transition-old(main-content){animation:page-exit var(--duration-standard) var(--ease-out) both}::view-transition-new(main-content){animation:fade-in var(--duration-enter) var(--ease-out) var(--duration-micro) both}::view-transition-group(main-content){animation:none}[data-transition-wordmark]{view-transition-name:brand-wordmark}[data-transition-headline]{view-transition-name:brand-headline}.c-navigation__menu{view-transition-name:navigation-menu}[data-filter-nav] .c-project-filters{view-transition-name:project-filters}::view-transition-group(brand-headline),::view-transition-group(brand-wordmark){animation:none}[data-transition=home-to-internal]::view-transition-group(brand-headline){width:var(--brand-text-vt-width);height:var(--brand-text-vt-height);transform:translate(var(--brand-text-vt-left),var(--brand-text-vt-top))}[data-transition=home-to-internal]::view-transition-old(brand-headline){animation:fade-out var(--duration-standard) var(--ease-out-cubic) forwards}[data-transition=home-to-internal]::view-transition-new(brand-wordmark){animation:fade-in var(--duration-enter) var(--ease-out-cubic) .15s both;opacity:0}[data-transition=internal-to-home]::view-transition-group(brand-wordmark){width:var(--brand-text-vt-width);height:var(--brand-text-vt-height);transform:translate(var(--brand-text-vt-left),var(--brand-text-vt-top))}[data-transition=internal-to-home]::view-transition-old(brand-wordmark){animation:fade-out var(--duration-standard) var(--ease-out-cubic) forwards}[data-transition=internal-to-home]::view-transition-new(brand-headline){animation:fade-in var(--duration-enter) var(--ease-out-cubic) .15s both;opacity:0}[data-transition=internal-to-internal]::view-transition-old(brand-wordmark),[data-transition=internal-to-internal]::view-transition-new(brand-wordmark){animation:none;opacity:1}::view-transition-group(navigation-menu){animation:none}::view-transition-old(navigation-menu),::view-transition-new(navigation-menu){animation:none;opacity:1}::view-transition-group(logo){animation:none}[data-transition=home-to-internal]::view-transition-group(logo),[data-transition=internal-to-home]::view-transition-group(logo){width:var(--logo-vt-width);height:var(--logo-vt-height);transform:translate(var(--logo-vt-left),var(--logo-vt-top))}[data-transition=home-to-internal]::view-transition-old(logo),[data-transition=internal-to-home]::view-transition-old(logo){animation:fade-out var(--duration-enter) var(--ease-out-cubic) forwards;width:auto;height:100%}[data-transition=home-to-internal]::view-transition-new(logo),[data-transition=internal-to-home]::view-transition-new(logo){animation:none;opacity:1;width:auto;height:100%}[data-transition=internal-to-internal]::view-transition-old(logo),[data-transition=internal-to-internal]::view-transition-new(logo){animation:none;opacity:1}::view-transition-group(project-filters){animation:none}[data-filter-nav]::view-transition-old(project-filters),[data-filter-nav]::view-transition-new(project-filters){animation:none;opacity:1}[data-transition=internal-to-internal]::view-transition-old(projects-footer),[data-transition=internal-to-internal]::view-transition-new(projects-footer){animation:none;opacity:1}::view-transition-group(project-titles){animation:none}::view-transition-old(project-titles){animation:none;opacity:0}@media(max-width:1023px){[data-filter-nav]::view-transition-new(project-titles){mix-blend-mode:difference;animation:none}:not([data-filter-nav])::view-transition-new(project-titles){mix-blend-mode:difference;animation:fade-in var(--duration-standard) var(--ease-out-cubic) both}}[data-transition=internal-to-internal]::view-transition-old(root){animation:simple-fade-out var(--duration-standard) var(--ease-out-cubic) both}[data-transition=internal-to-internal]::view-transition-new(root){animation:simple-fade-in var(--duration-standard) var(--ease-out-cubic) both}[data-transition=internal-to-internal]::view-transition-old(main-content){animation:page-exit var(--duration-standard) var(--ease-out-cubic) both}[data-filter-nav]::view-transition-new(main-content){animation:none;opacity:1}[data-transition=internal-to-internal]:not([data-filter-nav]):not([data-project-nav])::view-transition-new(main-content){animation:simple-fade-in var(--duration-standard) var(--ease-out-cubic) both}[data-transition=internal-to-internal][data-project-nav]::view-transition-old(root),[data-transition=internal-to-internal][data-project-nav]::view-transition-new(root){animation:none;opacity:1}[data-transition=internal-to-internal][data-project-nav]::view-transition-old(main-content){animation:project-exit var(--duration-standard) var(--ease-in-out-cubic) both}[data-transition=internal-to-internal][data-project-nav]::view-transition-new(main-content){animation:project-enter var(--duration-enter) var(--ease-out-cubic) var(--duration-micro) both}@keyframes project-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(1.5rem)}}@keyframes project-enter{0%{opacity:0}to{opacity:1}}@keyframes page-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(var(--transition-exit-shift, 5px))}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes simple-fade-out{0%{opacity:1}to{opacity:0}}@keyframes simple-fade-in{0%{opacity:0}to{opacity:1}}@keyframes logo-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0}}@keyframes logo-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.01ms!important;animation-delay:0ms!important}}@supports not (view-transition-name: none){[style*=view-transition-name]{view-transition-name:none!important}}.s-prose p{line-height:var(--line-height-tight);margin-bottom:var(--space-xs);max-width:60rem}@media(min-width:1024px){.s-prose p{line-height:var(--line-height-normal);margin-bottom:var(--space-sm)}}.s-prose p:last-child{margin-bottom:0}.s-prose p+p{text-indent:var(--text-indent)}.u-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(min-width:480px){.u-show-from-sm{display:initial!important}.u-hide-from-sm{display:none!important}}@media(min-width:768px){.u-show-from-md{display:initial!important}.u-hide-from-md{display:none!important}}@media(min-width:1024px){.u-show-from-lg{display:initial!important}.u-hide-from-lg{display:none!important}}.u-hide{display:none!important}.u-show{display:initial!important}
