:root{--ds-style-heading-1--font-size:1.875rem;--ds-style-heading-2--font-size:1.5rem;--ds-style-heading-3--font-size:1.375rem;--ds-style-heading-4--font-size:1.125rem;--ds-style-heading-5--font-size:1.125rem;--ds-style-heading-6--font-size:1rem;--ds-style-body-0--font-size:1rem;--ds-style-label-0--font-size:0.75rem}@media only screen and (min-width:768px){:root{--ds-style-heading-1--font-size:2.5rem;--ds-style-heading-2--font-size:1.875rem;--ds-style-heading-3--font-size:1.5rem;--ds-style-heading-4--font-size:1.375rem;--ds-style-heading-5--font-size:1.25rem;--ds-style-heading-6--font-size:1.125rem;--ds-style-body-0--font-size:1rem;--ds-style-label-0--font-size:0.75rem}}@media only screen and (min-width:1024px){:root{--ds-style-heading-1--font-size:3rem;--ds-style-heading-2--font-size:2.1875rem;--ds-style-heading-3--font-size:1.875rem;--ds-style-heading-4--font-size:1.5rem;--ds-style-heading-5--font-size:1.25rem;--ds-style-heading-6--font-size:1.125rem;--ds-style-body-0--font-size:1rem;--ds-style-label-0--font-size:0.75rem}}.GkpShowcase-sectionTitle{font-size:var(--ds-style-heading-1--font-size);font-family:"Plus Jakarta Sans","Plus Jakarta Sans Fallback",sans-serif;line-height:1.1}.GkpShowcase-teaser{font-size:var(--ds-style-heading-3--font-size);font-family:"Plus Jakarta Sans","Plus Jakarta Sans Fallback",sans-serif;line-height:1.1}.GkpShowcase-card{background-color:var(--ds-color-white);color:var(--ds-color-secondary);--bg-theme-color:var(--ds-color-white);--text-theme-color:var(--ds-color-secondary);--btn-primary-bg:var(--ds-color-primary);--btn-primary-text:var(--ds-color-white);--btn-primary-hover-bg:var(--ds-color-secondary);--btn-primary-hover-text:var(--ds-color-white);--btn-secondary-bg:var(--ds-color-secondary);--btn-secondary-text:var(--ds-color-white);--btn-secondary-hover-bg:var(--ds-color-primary);--btn-secondary-hover-text:var(--ds-color-white);--btn-simpleLink-text:var(--ds-color-secondary);--btn-simpleLink-hover:var(--ds-color-primary);--btn-arrow-bg:transparent;--btn-arrow-text:var(--ds-color-white);--btn-arrow-border-color:var(--ds-color-white);--btn-arrow-hover-bg:transparent;--btn-arrow-hover-text:var(--ds-color-white);--btn-download-bg:var(--ds-color-secondary);--btn-download-text:var(--ds-color-white);--btn-download-hover-bg:var(--ds-color-primary);--btn-download-hover-text:var(--ds-color-white);--btn-layeredPrimary-bg:var(--ds-color-secondary);--btn-layeredPrimary-text:var(--ds-color-tertiary);--btn-layeredPrimary-filler:var(--ds-color-secondary);--btn-layeredPrimary-arrow:var(--ds-color-white);--btn-layeredPrimary-hover-text:var(--ds-color-white);--btn-layeredPrimary-border-color:var(--ds-color-secondary);--btn-layeredPrimary-hover-border-color:var(--ds-color-white);--btn-layeredSecondary-bg:var(--ds-color-secondary);--btn-layeredSecondary-text:var(--ds-color-primary);--btn-layeredSecondary-filler:var(--ds-color-tertiary);--btn-layeredSecondary-arrow:var(--ds-color-secondary);--btn-layeredSecondary-hover-text:var(--ds-color-secondary);--btn-layeredSecondary-border-color:var(--ds-color-white);--btn-layeredSecondary-hover-border-color:var(--ds-color-primary);--sn-icon-color:var(--ds-color-secondary);--sn-icon-hover-color:var(--ds-color-primary)}.ProjectBack{--bg-color-button:var(--ds-color-white);--text-color-button:var(--ds-color-secondary);--border-radius-button:0.25rem;--icon-size-button:10px;--border-before-height-button:1px;position:relative;display:flex;align-items:center;flex-flow:row wrap;max-width:max-content;background-color:var(--bg-color-button);color:var(--text-color-button);font-weight:400;font-size:1rem;border-radius:var(--border-radius-button);text-decoration:none;padding:var(--ds-spacings--standard) var(--ds-spacings--x-large);border:0;transition:all ease-in .3s;line-height:1.25rem;cursor:pointer}.GkpShowcase-button{--bg-color-button:var(--ds-color-white);--text-color-button:var(--ds-color-secondary);--border-radius-button:0.25rem;--icon-size-button:10px;--border-before-height-button:1px;position:relative;display:flex;align-items:center;flex-flow:row wrap;max-width:max-content;background-color:var(--bg-color-button);color:var(--text-color-button);font-weight:400;font-size:1rem;border-radius:var(--border-radius-button);text-decoration:none;padding:var(--ds-spacings--standard) var(--ds-spacings--x-large);border:0;transition:all ease-in .3s;line-height:1.25rem;cursor:pointer;--filler-color-button:var(--btn-layered-filler, var(--ds-color-primary));--arrow-color-button:var(--btn-layered-arrow, var(--ds-color-white));--text-hover-color-button:var( --btn-layered-hover-text, var(--ds-color-white) );--filler-size-button:1.75rem;--filler-scale-button:30;--label-line-height-button:1.4;--focus-color-button:var(--btn-layered-focus, var(--filler-color-button));--ease-button:cubic-bezier(0.65, 0, 0.35, 1);--duration-button:0.45s;--border-size-button:0px;--border-color-button:var(--btn-layered-border, var(--ds-color-white));--border-hover-color-button:var( --btn-layered-hover-border, var(--border-color-button) );overflow:hidden;isolation:isolate;padding-left:calc(var(--filler-size-button) + var(--ds-spacings--standard)*1.5);box-shadow:0 0 0 var(--border-size-button) var(--border-color-button);transition:color var(--duration-button) var(--ease-button),box-shadow var(--duration-button) var(--ease-button)}.GkpShowcase-button::before{position:absolute;z-index:-1;content:"";left:var(--ds-spacings--small);top:50%;width:var(--filler-size-button);aspect-ratio:1;border-radius:50%;background-color:var(--filler-color-button);transform:translateY(-50%) scale(1);transition:transform var(--duration-button) var(--ease-button)}.GkpShowcase-button::after{content:"";display:inline-block;width:1em;height:1em;background-color:currentColor;mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-image:var(--gk-icon-arrow-right);position:absolute;left:calc(var(--ds-spacings--small) + var(--filler-size-button)/2);top:50%;color:var(--arrow-color-button);font-size:.875rem;transform:translate(-50%,-50%) rotate(-45deg);transition:transform var(--duration-button) var(--ease-button)}.GkpShowcase-button .Button-label{display:grid;overflow:hidden}.GkpShowcase-button .Button-labelText{grid-area:1/1;line-height:var(--label-line-height-button);transform:translateY(0);transition:transform var(--duration-button) var(--ease-button)}.GkpShowcase-button .Button-labelText[aria-hidden=true]{color:var(--text-hover-color-button);transform:translateY(100%);user-select:none}@media (hover:hover){.GkpShowcase-button:hover{color:var(--text-hover-color-button);--border-color-button:var(--border-hover-color-button)}.GkpShowcase-button:hover::before{transform:translateY(-50%) scale(var(--filler-scale-button))}.GkpShowcase-button:hover::after{transform:translate(-50%,-50%) rotate(0deg)}.GkpShowcase-button:hover .Button-labelText{transform:translateY(-100%)}.GkpShowcase-button:hover .Button-labelText[aria-hidden=true]{transform:translateY(0)}}.GkpShowcase-button:focus-visible{color:var(--text-hover-color-button);--border-color-button:var(--border-hover-color-button)}.GkpShowcase-button:focus-visible::before{transform:translateY(-50%) scale(var(--filler-scale-button))}.GkpShowcase-button:focus-visible::after{transform:translate(-50%,-50%) rotate(0deg)}.GkpShowcase-button:focus-visible .Button-labelText{transform:translateY(-100%)}.GkpShowcase-button:focus-visible .Button-labelText[aria-hidden=true]{transform:translateY(0)}.GkpShowcase-button:focus-visible{outline:2px solid var(--focus-color-button);outline-offset:2px}@media (prefers-reduced-motion:reduce){.GkpShowcase-button::before,.GkpShowcase-button::after,.GkpShowcase-button .Button-labelText{transition-duration:.01ms}}.GkpShowcase-button{--bg-color-button:var( --btn-layeredSecondary-bg, var(--ds-color-secondary) );--text-color-button:var( --btn-layeredSecondary-text, var(--ds-color-white) );--filler-color-button:var( --btn-layeredSecondary-filler, var(--ds-color-primary) );--arrow-color-button:var( --btn-layeredSecondary-arrow, var(--ds-color-secondary) );--text-hover-color-button:var( --btn-layeredSecondary-hover-text, var(--ds-color-secondary) );--border-color-button:var( --btn-layeredSecondary-border-color, var(--ds-color-white) );--border-hover-color-button:var( --btn-layeredSecondary-hover-border-color, var(--ds-color-white) )}.PageReferences,.SingleReference-content{margin-inline:auto;width:min(100%,1920px)}.PageReferences-inner,.SingleReference-inner{margin-inline:auto;width:min(100% - 2*var(--page-inner-padding-inline),1280px)}.PageInner .PageReferences-inner,.Page-content .PageReferences-inner{width:100%}@property --gkp-inset-max{syntax:"<length>";inherits:true;initial-value:0}.GkpShowcase{--gkp-peek:14svh;--gkp-radius:24px;--gkp-inset-max:clamp(12px, 3vw, 96px);--gkp-ink:var(--ds-color-secondary);--gkp-muted:rgb(0 0 0 / 0.45);--gkp-line:rgb(0 0 0 / 0.14);position:relative;width:100%;overflow-x:clip}.GkpShowcase{--gkp-gutter:max(2rem, 9.5vw);--gkp-wrap-max:1352px}@media only screen and (min-width:1024px){.GkpShowcase{--gkp-gutter:12.5vw}}.GkpShowcase-wrap{width:min(100% - 2*var(--gkp-gutter),var(--gkp-wrap-max));margin-inline:auto}.GkpShowcase-project{position:relative}.GkpShowcase-project+.GkpShowcase-project{margin-top:calc(var(--gkp-radius)*-1)}.GkpShowcase-project.-stacked{margin-top:calc(var(--gkp-stack, 0px)*-1)}.GkpShowcase-project.-stacked>.GkpShowcase-card{margin-top:calc(var(--gkp-stack, 0px) - var(--gkp-peek))}.GkpShowcase-project.-stacked>.GkpShowcase-stage:not(.-pinned){visibility:hidden}.GkpShowcase-stage{position:sticky;top:0;z-index:0;display:block;height:100svh;min-height:32rem;overflow:clip;background-color:var(--gkp-color, #111);color:#fff;text-decoration:none}.GkpShowcase-stageMedia{position:absolute;inset:0;display:block;overflow:clip}.GkpShowcase-stageMedia::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.4),transparent 30%),linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,.25) 45%,transparent 70%),rgba(0,0,0,.12);pointer-events:none}.GkpShowcase-stageImg{display:block;width:100%;height:100%;object-fit:cover;transform-origin:50% 50%}.GkpShowcase-stageInner{position:absolute;inset-inline:0;bottom:calc(var(--gkp-peek) + var(--ds-spacings--medium));display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--ds-spacings--standard) var(--ds-spacings--large)}.GkpShowcase-stageLabel{flex-basis:100%;font-size:var(--ds-font-size-400);opacity:.8}.GkpShowcase .GkpShowcase-stageTitle{display:block;max-width:14ch;margin:0;color:#fff;font-size:clamp(3rem,9vw,9rem);font-weight:500;line-height:.9;letter-spacing:-.04em;text-wrap:balance}.GkpShowcase-heading{--gkp-heading-shift:calc(var(--gkp-peek) * -1);position:relative;top:var(--gkp-heading-shift);z-index:2;height:0;color:#fff}.GkpShowcase-project.-stacked>.GkpShowcase-heading{--gkp-heading-shift:calc(var(--gkp-stack, 0px) - var(--gkp-peek))}.GkpShowcase-heading .GkpShowcase-stageInner{bottom:var(--ds-spacings--medium)}a.GkpShowcase-stageTitle{text-decoration:none}.GkpShowcase-card{--gkp-inset:var(--gkp-inset-max);position:relative;z-index:1;margin-top:calc(var(--gkp-peek)*-1);padding-block:clamp(3rem,8vw,6rem) 0;color:var(--gkp-ink);clip-path:inset(0 var(--gkp-inset) round var(--gkp-radius))}.GkpShowcase-cardBody{display:grid;grid-template-columns:1fr;gap:var(--ds-spacings--x-large)}.GkpShowcase-cardAside{display:flex;flex-direction:column;justify-content:space-between;gap:var(--ds-spacings--x-large)}.GkpShowcase-cardBottom{display:flex;flex-direction:column;gap:var(--ds-spacings--medium)}.GkpShowcase-cardMedia{display:block;overflow:clip;border-radius:16px;aspect-ratio:4/3;background:var(--gkp-color, #eee)}.GkpShowcase-cardMediaInner{display:block;width:100%;height:100%}.GkpShowcase-cardMedia img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}a.GkpShowcase-cardMedia:hover img{transform:scale(1.04)}.GkpShowcase-cardFoot{display:flex;justify-content:space-between;gap:1rem;margin-top:var(--ds-spacings--large);padding-block:var(--ds-spacings--standard) clamp(2.5rem,6vw,4.5rem);border-top:1px solid var(--gkp-line);color:var(--gkp-muted);font-size:var(--ds-font-size-300)}.GkpShowcase-cardFoot a{color:inherit}.GkpShowcase-meta{margin:0}.GkpShowcase-metaRow{display:flex;justify-content:space-between;gap:1.5rem;padding-block:.6rem;border-bottom:1px dashed var(--gkp-line);font-size:var(--ds-font-size-300)}.GkpShowcase-metaRow dt{color:var(--gkp-muted)}.GkpShowcase-metaRow dd{margin:0;font-weight:600;text-align:right}.GkpShowcase-teaser{font-weight:700;margin:0;line-height:1.15;letter-spacing:-.02em}.gkp-js .GkpShowcase-word{opacity:.2}.GkpShowcase-buttonIcon.-external{transform:rotate(-45deg)}.GkpShowcase-button:hover .GkpShowcase-buttonIcon:not(.-external){transform:translateX(4px)}.gkp-js .GkpShowcase-stageTitle,.gkp-js .GkpShowcase-stageLabel{opacity:0}@media only screen and (min-width:1024px){.GkpShowcase-cardBody{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(2.5rem,4vw,4rem)}.GkpShowcase-cardAside{min-height:100%}}@media only screen and (max-width:767px){.GkpShowcase{--gkp-peek:10svh;--gkp-radius:16px}}@media (prefers-reduced-motion:reduce){.gkp-js .GkpShowcase-word,.gkp-js .GkpShowcase-stageTitle,.gkp-js .GkpShowcase-stageLabel{opacity:1}}body.single-reference .SiteHeader{position:absolute}html::view-transition{background:#000}html::view-transition-old(root),html::view-transition-old(gk-site-header){animation:gkp-vt-out .35s cubic-bezier(.4,0,1,1) both}html::view-transition-new(root),html::view-transition-new(gk-site-header){animation:gkp-vt-in .7s cubic-bezier(.16,1,.3,1) .3s both}html::view-transition-group(gk-site-header){animation:none}@keyframes gkp-vt-out{to{opacity:0}}@keyframes gkp-vt-in{0%{opacity:0;transform:scale(.98)}}.GkpShowcase-project--hero>.GkpShowcase-stage{background-color:#000}.gkp-js .GkpShowcase-project--hero:not(.-introDone)>.GkpShowcase-stage .GkpShowcase-stageMedia{opacity:0}.gkp-js .GkpShowcase-project--hero:not(.-introDone)>.GkpShowcase-stage .GkpShowcase-stageImg{transform:scale(1.2)}.gkp-js .GkpShowcase-project--hero:not(.-introDone)>.GkpShowcase-heading,.gkp-js .GkpShowcase-project--hero:not(.-introDone)>.GkpShowcase-card{opacity:0;transform:translateY(120px)}.gkp-js .GkpShowcase-project--hero>.GkpShowcase-heading .GkpShowcase-stageTitle,.gkp-js .GkpShowcase-project--hero>.GkpShowcase-heading .GkpShowcase-stageLabel{opacity:1}@media (prefers-reduced-motion:reduce){html::view-transition-old(root),html::view-transition-new(root){animation:none}.gkp-js .GkpShowcase-project--hero:not(.-introDone)>.GkpShowcase-stage .GkpShowcase-stageMedia,.gkp-js .GkpShowcase-project--hero:not(.-introDone)>.GkpShowcase-stage .GkpShowcase-stageImg,.gkp-js .GkpShowcase-project--hero:not(.-introDone)>.GkpShowcase-heading,.gkp-js .GkpShowcase-project--hero:not(.-introDone)>.GkpShowcase-card{opacity:1;transform:none}}.GkpShowcase-stageNav{display:flex;gap:.5rem}.GkpShowcase-arrow{display:flex;justify-content:center;align-items:center;width:3rem;height:3rem;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;transition:background-color .3s ease;text-decoration:none}.GkpShowcase-arrow::before{content:"";display:inline-block;width:1em;height:1em;background-color:currentColor;mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-image:var(--gk-icon-angle-right)}.GkpShowcase-arrow.-prev::before{transform:rotate(180deg)}.GkpShowcase-arrow:hover{background:rgba(255,255,255,.32)}.GkpShowcase-section{margin-top:clamp(4rem,10vw,8rem);padding-top:clamp(3rem,8vw,6rem);border-top:1px solid var(--gkp-line)}.GkpShowcase-sectionInner{display:grid;grid-template-columns:1fr;gap:var(--ds-spacings--large)}.GkpShowcase-sectionTitle{margin:0;line-height:1;letter-spacing:-.04em}.GkpShowcase-sectionText{max-width:60ch;font-size:var(--ds-font-size-500);line-height:1.6}.GkpShowcase-sectionText>:first-child{margin-top:0}.GkpShowcase-sectionText>p:first-child{font-size:clamp(1.25rem,1.8vw,1.75rem);line-height:1.35;letter-spacing:-.01em}.GkpShowcase-mediasInner{display:grid;grid-template-columns:1fr;gap:clamp(2.5rem,6vw,5rem) var(--ds-spacings--large)}.GkpShowcase-media{margin:0}.GkpShowcase-mediaFrame{display:block;overflow:clip;border-radius:16px}.GkpShowcase-mediaFrame img{display:block;width:100%;height:auto}.GkpShowcase-media figcaption{display:flex;flex-direction:column;gap:.35rem;margin-top:var(--ds-spacings--standard);font-size:var(--ds-font-size-400)}.GkpShowcase-media figcaption span{color:var(--gkp-muted)}.GkpShowcase-nextWrap{position:relative;z-index:0;height:200svh;margin-top:-100svh}.GkpShowcase-next{position:sticky;top:0;display:block;height:100svh;min-height:28rem;overflow:clip;background-color:#111;color:#fff;text-decoration:none}.GkpShowcase-next .GkpShowcase-stageInner{bottom:var(--ds-spacings--x-large)}.GkpShowcase-next .GkpShowcase-stageImg{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.GkpShowcase-next:hover .GkpShowcase-stageImg{transform:scale(1.04)}.ProjectBack{position:fixed;top:var(--ds-spacings--medium);left:var(--ds-spacings--medium);z-index:40;display:inline-flex;align-items:center;gap:var(--ds-spacings--semi);background:rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ds-color-secondary);text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(-12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}.ProjectBack-icon{position:relative}.ProjectBack-icon::before{font-size:var(--ds-font-size-200);content:"";display:inline-block;width:1em;height:1em;background-color:currentColor;mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-image:var(--gk-icon-chevron-left)}@media only screen and (max-width:767px){.ProjectBack{top:var(--ds-spacings--standard);left:var(--ds-spacings--standard)}}body.has-floating-project-back .ProjectBack{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}@media only screen and (min-width:768px){.ProjectBack{top:var(--ds-spacings--medium);left:var(--ds-spacings--medium)}.GkpShowcase-mediasInner{grid-template-columns:repeat(2,minmax(0,1fr))}.GkpShowcase-media.-full{grid-column:1/-1}}@media only screen and (min-width:1024px){.GkpShowcase-sectionInner{grid-template-columns:minmax(0,2fr) minmax(0,2fr);gap:clamp(2.5rem,4vw,4rem)}.GkpShowcase-sectionTitle{position:sticky;top:var(--ds-spacings--x-large);align-self:start}}