:root{--text-dark: #1c1c1c;--text-body: #31332f;--text-grey-69: #696c66;--text-grey-9c: #9c9c9c;--text-headline: #3b403b;--text-muted: #8f8f8f;--color-white: #ffffff;--color-white-50: rgb(255 255 255 / 50%);--color-black-50: rgb(0 0 0 / 50%);--color-blue: #d3e8ff;--color-green: #e3eeb6;--color-yellow: #fce7a2;--color-mist: #f2f6f9;--color-bold-caron: #046cb6;--color-bold-gnome: var(--color-projects-gnome2);--color-bold-valobanners: #f94551;--color-bold-o3: #eb1000;--color-bold-psyche: #328bb2;--color-bold-cl: #629bf2;--color-callout: #ff7166;--stroke-default: #d6d6d6;--nav-surface: var(--color-blue);--color-projects-o3-2: #f1f0ec;--color-projects-o3-3: #ffeae8;--color-projects-valobanners: #fff1f1;--color-projects-psyche: #93cddb;--color-projects-peli-2: #328bb2;--color-projects-peli-3: #faf7f5;--color-projects-cl: #629bf2;--color-projects-cl2: #96cafc;--color-projects-fin: #c7d9bc;--color-projects-gnome: #f0e0c4;--color-projects-gnome2: #9c9fd7;--gradient-projects-caron-1: linear-gradient(180deg, #e6f0f8 0%, #f3f6f5 68.75%);--gradient-projects-caron-2: linear-gradient(180deg, #e6f0f8 19%, #f1dacc 100%);--spacing-xs: 8px;--spacing-sm: 16px;--spacing-m: 24px;--spacing-lg: 48px;--spacing-margin-sm: 64px;--spacing-margin-sm-mobile: 32px;--spacing-margin-lg: 128px;--font-heading: "Zilla Slab", serif;--font-body: "Satoshi", sans-serif;--text-h1-size: 48px;--text-h1-weight: 400;--text-h1-tracking: .012em;--text-h2-size: 36px;--text-h2-weight: 400;--text-h2-tracking: .012em;--text-h3-size: 24px;--text-h3-weight: 400;--text-h3-tracking: .012em;--text-body-big-size: 24px;--text-body-big-weight: 300;--text-body-big-tracking: .012em;--text-body-main-size: 16px;--text-body-main-weight: 400;--text-body-main-tracking: .02em;--text-body-caption-size: 16px;--text-body-caption-weight: 400;--text-body-caption-tracking: .02em;--text-eyebrow-size: 16px;--text-eyebrow-weight: 700;--text-eyebrow-tracking: .025em;--text-line-height: normal;--nav-item-size: 14px;--nav-contact-size: 12px;--nav-sidebar-width: 240px;--nav-sidebar-height: 790px;--nav-mobile-width: 390px;--nav-link-width: 176px;--nav-resume-width: 326px;--nav-brand-md: 64px;--nav-brand-sm: 32px;--case-study-width: 524px;--study-measure: 1072px;--study-inline-pad: max( var(--spacing-margin-sm), calc((100% - var(--study-measure)) / 2) );--case-study-image-height: 362px;--archive-card-width: 363px;--archive-tape-height: 53px;--archive-tape-overlap: 26px;--archive-hero-height: 1113px;--case-study-tag-mist: #f2f6f9;--case-study-tag-sand: #f1f0ec;--case-study-tag-blush: #ffebed;--case-study-tag-linen: #faf7f5;--case-study-tag-blue: var(--color-blue);--case-study-tag-fin: var(--color-projects-fin);--case-study-tag-gnome: var(--color-projects-gnome);--home-hero-height: 555px}html[data-accent=green]{--nav-surface: var(--color-green)}html[data-accent=yellow]{--nav-surface: var(--color-yellow)}html[data-accent=blue]{--nav-surface: var(--color-blue)}@media(max-width:1023px){:root{--spacing-margin-sm: var(--spacing-margin-sm-mobile)}}.text-h1{font-family:var(--font-heading);font-size:var(--text-h1-size);font-weight:var(--text-h1-weight);letter-spacing:var(--text-h1-tracking);line-height:var(--text-line-height)}.text-h2{font-family:var(--font-heading);font-size:var(--text-h2-size);font-weight:var(--text-h2-weight);letter-spacing:var(--text-h2-tracking);line-height:var(--text-line-height)}.text-h3{font-family:var(--font-heading);font-size:var(--text-h3-size);font-weight:var(--text-h3-weight);letter-spacing:var(--text-h3-tracking);line-height:var(--text-line-height)}.text-body-big{font-family:var(--font-body);font-size:var(--text-body-big-size);font-weight:var(--text-body-big-weight);letter-spacing:var(--text-body-big-tracking);line-height:var(--text-line-height)}.text-body-main{font-family:var(--font-body);font-size:var(--text-body-main-size);font-weight:var(--text-body-main-weight);letter-spacing:var(--text-body-main-tracking);line-height:var(--text-line-height);color:var(--text-grey-69)}.text-body-caption{font-family:var(--font-body);font-size:var(--text-body-caption-size);font-weight:var(--text-body-caption-weight);letter-spacing:var(--text-body-caption-tracking);line-height:var(--text-line-height)}.text-eyebrow{font-family:var(--font-body);font-size:var(--text-eyebrow-size);font-weight:var(--text-eyebrow-weight);letter-spacing:var(--text-eyebrow-tracking);line-height:var(--text-line-height);color:var(--text-grey-9c)}.text-bold{color:var(--study-bold, var(--color-bold-caron));font-weight:700}.text-bold-caron{color:var(--color-bold-caron);font-weight:700}.text-bold-gnome{color:var(--color-bold-gnome);font-weight:700}:root{font-family:var(--font-body);line-height:var(--text-line-height);font-weight:var(--text-body-main-weight);color:var(--text-body);background-color:var(--color-white);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-width:320px}a:focus-visible,button:focus-visible{outline:2px solid var(--text-dark);outline-offset:2px}.case-study-card{--case-study-tag-bg: var(--case-study-tag-mist);display:flex;flex-direction:column;align-items:flex-start;width:var(--case-study-width);max-width:100%;color:inherit;text-decoration:none}.case-study-card--mist{--case-study-tag-bg: var(--case-study-tag-mist)}.case-study-card--sand{--case-study-tag-bg: var(--case-study-tag-sand)}.case-study-card--blush{--case-study-tag-bg: var(--case-study-tag-blush)}.case-study-card--linen{--case-study-tag-bg: var(--case-study-tag-linen)}.case-study-card--blue{--case-study-tag-bg: var(--case-study-tag-blue)}.case-study-card--fin{--case-study-tag-bg: var(--case-study-tag-fin)}.case-study-card--gnome{--case-study-tag-bg: var(--case-study-tag-gnome)}.case-study-card__image{position:relative;width:100%;aspect-ratio:524 / 362;overflow:hidden;flex-shrink:0;transform:translateZ(0);-webkit-mask-image:linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0,#000 0)}.case-study-card__image img,.case-study-card__image video,.case-study-card__placeholder{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;background:transparent}.case-study-card__placeholder{background:var(--color-blue)}.case-study-card__veil{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-white-50);opacity:0;pointer-events:none}.case-study-card__still{z-index:0}.case-study-card__hover-video{z-index:1;opacity:0;visibility:hidden;transform:scale(1.03);transform-origin:center}.case-study-card.is-playing .case-study-card__hover-video{opacity:1;visibility:visible}.case-study-card:not(.case-study-card--hover-video):hover .case-study-card__veil,.case-study-card:not(.case-study-card--hover-video):focus-visible .case-study-card__veil,.case-study-card:not(.case-study-card--hover-video).is-hover .case-study-card__veil{opacity:1}@media(prefers-reduced-motion:reduce){.case-study-card__hover-video{display:none}}.case-study-card.is-static:hover .case-study-card__veil,.case-study-card.is-static:focus-visible .case-study-card__veil{opacity:0}.case-study-card.is-disabled{cursor:default}.case-study-card__text{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%;padding:var(--spacing-sm) 0}.case-study-card__title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);width:100%}.case-study-card__company{margin:0;flex-shrink:0;color:var(--text-dark)}.case-study-card__disciplines{display:flex;align-items:center;margin:0;padding:0 var(--spacing-sm);max-width:100%;background:var(--case-study-tag-bg);color:var(--text-grey-69);white-space:nowrap}.case-study-card__disciplines-mobile{display:none}@media(max-width:767px){.case-study-card__disciplines-desktop{display:none}.case-study-card__disciplines-mobile{display:inline}}.case-study-card__description{margin:0;width:100%;color:var(--text-grey-69)}.whiteboard{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;display:block;touch-action:pan-y;cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAATHSURBVFhHtZd7LJ9nFMePSbqEP/yjoktEJE00RqJxC6LJT9RtLiWlxCWus24YWUuwxU9HXZoNw5KVSlwioiwkEglaf6gIEYuwaKZkKJ0SUcEQepZz+mOvk1en2Cd5k9/7nt9zvud5nnPO+7wA548VAHwOAN8AgCcAGMg//F+YAkC9RqP5u7S0FB8+fIgpKSlobW39BwBkAICRHHCefAIAo5mZmbi/v49K+vv78dKlS3jx4sXfAeAzOfA8uHzhwoXx2traI8LEwMAAOjk5YW9vL05NTaGLiwsCQLJ0cBZsDQwM/uzo6JDa2NnZiVeuXMEnT54cPltfX0dvb28K4ivp6DS4GhkZ/UVCkra2NrSyssKhoSFpwq2tLTQxMaEgPKTDD8HX1NR0ra+vT/rHuro6tLGxwfHxcWliMjIy0NnZGY2NjX8DgI+l45MQbm5uvj0yMiJ9Y01NDV69epX3W43Y2FjUaDS4trbGv0+TlEmWlpb7ExMT0jeWl5ejo6Mjzs7OShMTGRmJgYGBvAVEU1MTBfC9FHgfdxwcHHBmZkb6xqqqKrSwsMCXL19KE5dlaGgohoSE4Nu3bw+fDw4Oop6eXoMUOY4cT09PXFlZOeKcaGhoQFtbW3z+/DnfK0V2d3cxKCgIY2JiFCPeMTw8TAE0SyE1tMHBwYdLp6S6uhrt7e1xenr68NlBANvb2xgQEMDdUI1Hjx7RFtyXYpJ74eHhPBPJwZ7Pz89LEwdL4mlpadLEbG5uIm0nADhLQSX3KXH29vbkeMzPz8dr167hq1evpIln7uPjg9nZ2dLEkLiXlxeJ/yoFlRTdunVLVTwnJwevX7+Ob968kSZ2HhYWhlqtVpoYSsgbN26Q+GMAMJaiBxTRnu/s7MjxmJ6ejn5+fiwkoYBu3ryJJSUl0sSQeFxcHIlXSEElpbTntIySpKQkLiW1fFhdXeUar6iokCaGVjIqKorEC6Wgkh+io6NVl50ij4iIOFJiBywtLaG/vz9XhBobGxvcB/4r479NTk6WYxkSprapxsLCAvr6+nIvUGN5eRk9PDxI/IEUVOJnaGjIyVVZWcmDCFoJipyWXg1quZTtLS0t0sRQheje/z9KQckdNzc3LCws5LouLi7mhKEOlpqaKv0yL168QOqM7e3t0sRQbyBfAPCzFFMjm+qaaG1tRcqD27dvH1tKk5OTXIZdXV3SxMzNzfEbEQB+AYCPpJgaWpo1QTMCAKQtocRLSEhA5Tt/bGyMxZ8+faqQ/Bdadl2H+wkA9KTQcWjLysrYweLiImdzY2Mjn2ry8vL4TEeMjo5yQj179kzIvuP169cHe/7eOlcjl16natDBgkqMROksp3YIIajU3N3dSbxIOj8J9+gkowYdqS0tLTE+Pp5XRw1qTLr2+p10fFIeNDc3S78MlSXlBHXAgoICrnsl1JiocwJApnT6IZRT4nR3dx9xTvT09PAWUDNydXVFOzu7I62YDhq6r54zoaVZ0kWfVMdBszUzM8P6+nq+p22hDiqdnQaaAQdAF836OOggSauQmJhI/82Vjk5LtjIA+pqhs/vdu3f5UJGbm8tXVlYWt2V9ff1d3aqdG5d1QWRRWwaArwHgSwD4QveZnQ4A8fQ9AAA+APCpdHAW/gGrMA3fjVSsZAAAAABJRU5ErkJggg==) 0 31,crosshair;color:var(--nav-surface)}.site-footer{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);width:100%;margin-top:auto;padding:var(--spacing-margin-lg) var(--spacing-margin-sm) var(--spacing-margin-sm);-webkit-user-select:none;user-select:none}.site-footer__heading,.site-footer__lede{position:relative;z-index:2;margin:0;width:100%;pointer-events:none}.site-footer__heading{color:var(--text-dark)}.site-footer__heading--mobile{display:none}.site-footer__lede{color:var(--text-grey-69)}@media(max-width:1023px){.site-footer__heading--desktop{display:none}.site-footer__heading--mobile{display:inline}}.hover-swap{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.hover-swap img{pointer-events:none}.hover-swap__default{display:block}.hover-swap__hover{display:none}:is(:hover,:focus-visible,.is-hover)>.hover-swap .hover-swap__default,.hover-swap.is-hover .hover-swap__default{display:none}:is(:hover,:focus-visible,.is-hover)>.hover-swap .hover-swap__hover,.hover-swap.is-hover .hover-swap__hover{display:block}.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--spacing-m);height:var(--spacing-m);flex-shrink:0}.nav-icon img{display:block;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none}.nav-icon.is-mirrored img{transform:scaleX(-1)}.nav-item{display:flex;align-items:center;width:var(--nav-link-width);box-sizing:border-box;color:var(--text-body);text-decoration:none;font-family:var(--font-body);line-height:var(--text-line-height)}.nav-item__start{display:flex;align-items:center}.nav-item__label{white-space:nowrap}.nav-item--row{gap:calc(var(--spacing-xs) / 2);padding:calc(var(--spacing-xs) / 2);font-size:var(--nav-item-size);font-weight:400;letter-spacing:.02em}.nav-item--row .nav-item__start{gap:calc(var(--spacing-xs) / 2)}.nav-item--row:hover,.nav-item--row.is-current,.nav-item--row:focus-visible{background:var(--color-white-50)}.nav-item.is-disabled{cursor:default;pointer-events:none}.nav-item--row.is-disabled:hover,.nav-item--row.is-disabled:focus-visible{background:transparent}.nav-item--contact{justify-content:space-between;font-size:var(--nav-contact-size);font-weight:400;letter-spacing:.01em}.nav-item--contact .nav-item__start{gap:6px}.nav-item--contact:hover,.nav-item--contact:focus-visible,.nav-item--contact.is-hover{font-weight:500}.nav-item--bar{justify-content:space-between;gap:var(--spacing-xs);padding:4px 8px;min-height:27px;font-size:var(--nav-item-size);font-weight:400;letter-spacing:.02em;color:var(--text-dark)}.nav-item--bar .nav-item__start{gap:var(--spacing-xs)}.nav-item--bar .nav-item__prefix{font-variant-numeric:tabular-nums}.nav-item--bar:hover,.nav-item--bar.is-current,.nav-item--bar:focus-visible{background:var(--color-white-50)}.nav-item--back{height:29px;padding:0;justify-content:flex-start;gap:var(--spacing-xs)}.nav-item--back .nav-icon img{transform:rotate(180deg)}.contact-link__arrow{width:var(--spacing-m);height:var(--spacing-m);transform:scaleY(-1) rotate(180deg)}.nav-section-label{display:flex;align-items:center;width:100%;height:29px;margin:0;padding:0;box-sizing:border-box;font-family:var(--font-body);font-size:var(--nav-item-size);font-weight:400;letter-spacing:.02em;line-height:var(--text-line-height);color:var(--text-body)}.sidebar{display:flex;flex-direction:column;box-sizing:border-box;width:var(--nav-sidebar-width);height:var(--nav-sidebar-height);padding:var(--spacing-margin-sm-mobile);background:var(--nav-surface)}.sidebar__top{position:relative;display:flex;flex-direction:column;gap:36px;width:100%;flex-shrink:0}.brand-mark{position:relative;display:block;width:var(--nav-brand-md);height:var(--nav-brand-md);flex-shrink:0}.brand-mark img{display:block;width:100%;height:100%;pointer-events:none}.brand-mark--sm{width:var(--nav-brand-sm);height:var(--nav-brand-sm)}.sidebar__groups{display:flex;flex-direction:column;gap:var(--spacing-m);width:100%}.sidebar__groups--short{display:none}.sidebar.is-compact .sidebar__groups--full{position:absolute;visibility:hidden;pointer-events:none}.sidebar.is-compact .sidebar__groups--short{display:flex}.sidebar__group{display:flex;flex-direction:column;align-items:flex-start;width:100%}.sidebar__footer{display:flex;flex-direction:column;justify-content:center;gap:var(--spacing-xs);width:100%;margin-top:auto;flex-shrink:0}.sidebar__contacts{display:flex;flex-direction:column;gap:calc(var(--spacing-xs) / 2);width:100%}.sidebar__copyright{margin:0;padding:6px 0;font-family:var(--font-body);font-size:var(--nav-contact-size);font-weight:400;letter-spacing:.01em;line-height:1.4;color:var(--text-body)}.mobile-nav{--spacing-margin-sm: var(--spacing-margin-sm-mobile);width:var(--nav-mobile-width);background:var(--nav-surface)}.study-sidebar__nav{display:flex;flex-direction:column;gap:var(--spacing-m);width:100%}.study-sidebar__progress{display:flex;flex-direction:column;width:100%}.study-sidebar__title{display:flex;align-items:center;width:100%;height:29px;margin:0;padding:0;box-sizing:border-box;font-family:var(--font-body);font-size:var(--nav-item-size);font-weight:400;letter-spacing:.02em;line-height:var(--text-line-height);color:var(--text-body)}.study-sidebar__sections{list-style:none;counter-reset:study-nav;margin:0;padding:0;width:100%}.study-sidebar__sections li{counter-increment:study-nav;width:100%;color:var(--text-body)}.study-sidebar__sections a{display:flex;align-items:center;width:100%;min-height:27px;padding:4px;box-sizing:border-box;font-family:var(--font-body);font-size:var(--nav-item-size);font-weight:400;letter-spacing:.02em;line-height:var(--text-line-height);color:inherit;text-decoration:none}.study-sidebar__sections a:before{content:counter(study-nav) ".";flex-shrink:0;min-width:21px}.study-sidebar__sections li:hover,.study-sidebar__sections li.is-current{background:#fff6}.study-sidebar__site{height:29px;padding:0 var(--spacing-xs);justify-content:space-between}.study-sidebar__site:hover,.study-sidebar__site:focus-visible,.study-sidebar__site.is-hover{background:transparent;font-weight:500}.sidebar--page{position:sticky;top:0;height:100vh}.mobile-nav--page{width:100%}.mobile-nav__bar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-margin-sm)}.mobile-nav__toggle{display:flex;align-items:center;justify-content:center;width:var(--spacing-m);height:var(--spacing-m);padding:0;border:0;background:transparent;cursor:pointer}.mobile-nav__panel{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-margin-sm) var(--spacing-sm)}.mobile-nav__links{display:flex;flex-direction:column;width:100%}.mobile-nav__links .nav-item{width:100%}.mobile-nav__resume,.mobile-nav__resume.nav-item--contact{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:36px;background:var(--color-white)}.paper-grid{background-color:var(--color-white);background-image:url(/assets/paper-grid-DSOvZw71.png);background-size:225px 345px;background-position:top left;background-repeat:repeat}.site{display:flex;align-items:stretch;min-height:100vh;min-height:100dvh;background:var(--color-white)}.site__sidebar{flex-shrink:0}.site__mobile{display:none}.site__main{flex:1;min-width:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}@media(max-width:1023px){.site{position:relative;flex-direction:column}.site__sidebar{display:none}.site__mobile{display:block;position:fixed;top:0;left:0;right:0;z-index:20}.site__main{width:100%;padding-top:calc(var(--nav-brand-sm) + var(--spacing-sm) * 2)}html{scroll-padding-top:calc(var(--nav-brand-sm) + var(--spacing-sm) * 2)}}.color-swatch-group,.color-swatch-group__colors{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs);width:36px}.color-swatch{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:36px;height:36px;padding:4px;margin:0;border:2px solid transparent;background:transparent;cursor:pointer}.color-swatch.is-selected{border-color:var(--text-grey-69)}.color-swatch__fill{width:24px;height:24px;background:var(--swatch-fill);pointer-events:none}.color-swatch--clear{padding:0;color:var(--text-grey-69)}.home-hero{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:var(--home-hero-height);padding:var(--spacing-margin-sm);-webkit-user-select:none;user-select:none}.home-hero__swatches{position:relative;z-index:3;align-self:flex-end}.home-hero__copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%;pointer-events:none}.home-hero__title{margin:0;max-width:var(--case-study-width);color:var(--text-headline)}.home-hero__title--desktop{max-width:none}.home-hero__title--mobile{display:none}.home-hero__lede{margin:0;color:var(--text-muted)}.home-studies{display:grid;grid-template-columns:repeat(2,minmax(0,var(--case-study-width)));column-gap:var(--spacing-m);row-gap:32px;justify-content:space-between;padding:var(--spacing-margin-sm) var(--study-inline-pad);background:var(--color-white)}.home-studies .case-study-card{width:100%}@keyframes home-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.home-hero__swatches,.home-hero__title,.home-hero__lede,.home-studies .case-study-card{animation:home-fade-up .7s cubic-bezier(.22,1,.36,1) both}.home-hero__title{animation-delay:.08s}.home-hero__lede{animation-delay:.16s}.home-studies .case-study-card:nth-child(1){animation-delay:.12s}.home-studies .case-study-card:nth-child(2){animation-delay:.18s}.home-studies .case-study-card:nth-child(3){animation-delay:.24s}.home-studies .case-study-card:nth-child(4){animation-delay:.3s}.home-studies .case-study-card:nth-child(5){animation-delay:.36s}.home-studies .case-study-card:nth-child(6){animation-delay:.42s}.home-studies .case-study-card:nth-child(7){animation-delay:.48s}@media(prefers-reduced-motion:reduce){.home-hero__swatches,.home-hero__title,.home-hero__lede,.home-studies .case-study-card{animation:none}}@media(max-width:1023px){.home-hero__title--desktop{display:none}.home-hero__title--mobile{display:block}}@media(max-width:767px){.home-studies{grid-template-columns:1fr;row-gap:var(--spacing-m)}}
