:root{--color-black:#2f2c3e;--color-white:#fdfdfd;--color-grey-1:#ededed;--color-grey-2:#726d6d;--color-grey-3:#454545}::selection{color:#000;background:#f6d8e7}::selection{color:#000;background:#f6d8e7}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}li{margin:0;padding:0}#cursor-pill{pointer-events:none;z-index:9999;letter-spacing:.08em;text-transform:uppercase;color:var(--color-white);background:var(--color-black);white-space:nowrap;opacity:0;transform-origin:0 0;will-change:transform;border-radius:999px;align-items:center;padding:.35em .75em;font-family:SF Pro Mono,monospace;font-size:.7rem;transition:opacity .15s ease-out,transform .15s cubic-bezier(.16,1,.3,1);display:inline-flex;position:fixed;top:0;left:0;transform:translate(14px,10px)scale(.6)}#cursor-pill.visible{opacity:1;transform:translate(14px,10px)scale(1)}body{background-color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:thin;scrollbar-color:gray transparent;width:100%;overflow-y:scroll}img{object-fit:cover;width:100%;display:block}@font-face{font-family:Tiempos Text;src:url(/assets/fonts/tiempos-text-web-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Tiempos Text;src:url(/assets/fonts/tiempos-text-web-regular-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Tiempos Text;src:url(/assets/fonts/tiempos-text-web-semibold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Tiempos Text;src:url(/assets/fonts/tiempos-text-web-semibold-italic.woff2)format("woff2");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Tiempos Text;src:url(/assets/fonts/tiempos-text-web-bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Tiempos Text;src:url(/assets/fonts/tiempos-text-web-bold-italic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:SF Pro;src:url(/assets/fonts/sf-pro-text-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Pro;src:url(/assets/fonts/sf-pro-text-regularitalic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:SF Pro;src:url(/assets/fonts/sf-pro-text-semibold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:SF Pro;src:url(/assets/fonts/sf-pro-text-semibolditalic.woff2)format("woff2");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:SF Pro;src:url(/assets/fonts/sf-pro-text-bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:SF Pro;src:url(/assets/fonts/sf-pro-text-bolditalic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:SF Pro Mono;src:url(/assets/fonts/sfmono-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}h1{letter-spacing:-.02em;color:var(--color-black);text-wrap:balance;font-family:Tiempos Text,Source Serif Pro,serif;font-size:clamp(1.4rem,2.5vw,2.25rem);font-weight:400;line-height:1.2}h2{letter-spacing:-.02em;color:var(--color-black);text-wrap:balance;font-family:Tiempos Text,Source Serif Pro,serif;font-size:clamp(1.125rem,2vw,1.875rem);font-weight:400;line-height:1.2}h3{letter-spacing:-.02em;color:var(--color-black);text-wrap:balance;font-family:Tiempos Text,Source Serif Pro,serif;font-size:clamp(1.25rem,1.6vw,1.5rem);font-weight:400;line-height:1.2}h4{text-transform:uppercase;letter-spacing:normal;color:var(--color-grey-2);font-family:SF Pro Mono,Geist,sans-serif;font-size:clamp(.75rem,1.4vw,1rem);font-weight:400;line-height:1.5}p{letter-spacing:normal;color:var(--color-grey-3);text-wrap:pretty;font-family:SF Pro,Geist,sans-serif;font-size:1rem;font-weight:400;line-height:1.5}.body{letter-spacing:normal;color:var(--color-grey-3);text-wrap:pretty;margin-left:1rem;font-family:SF Pro,Geist,sans-serif;font-size:1rem;font-weight:400;line-height:1.5}.copyright-text{color:var(--color-grey-3)}.grey{color:var(--color-grey-2)}.callout{letter-spacing:-.02em;color:var(--color-grey-3);border-left:2px solid var(--color-grey-3);padding:.75rem 1.25rem;font-family:Tiempos Text,Source Serif Pro,serif;font-style:italic;font-weight:400;line-height:1.2}.appendix{text-transform:none;font-family:Tiempos Text,Source Serif Pro,serif;font-weight:400}.bio-link{background-image:url("data:image/svg+xml,%3Csvg width='16' height='4' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='2' x2='9' y2='2' stroke='%23726d6d' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-position:0 100%;background-repeat:repeat-x;background-size:16px 4px;padding-bottom:4px;text-decoration:none;transition:background-image .4s;display:inline;position:relative}.bio-link:hover{background-image:url("data:image/svg+xml,%3Csvg width='16' height='4' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='2' x2='9' y2='2' stroke='%232f2c3e' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.bullet-list{list-style-type:circle}button{background:0 0;border:none}.nav-button{color:var(--color-black);opacity:.35;z-index:1;border-radius:999px;flex-direction:column;align-items:center;padding:.5rem .65rem;font:400 1rem/1.5 SF Pro,Geist,sans-serif;transition:opacity .2s;display:flex;position:relative}.nav-button:after{content:attr(data-text);visibility:hidden;pointer-events:none;height:0;font-weight:600;display:block;overflow:hidden}.nav-resume{flex-direction:row;align-items:center;gap:.25rem}.nav-resume:after{display:none}.external-icon{opacity:0;flex-shrink:0;width:0;transition:width .2s,opacity .2s;display:block;overflow:hidden}.nav-resume:hover .external-icon{opacity:1;width:11px}.nav-button:hover{opacity:.85}.nav-button[aria-current=page]{opacity:1}.nav-button:focus-visible{outline:2px solid var(--color-black);outline-offset:3px;border-radius:4px}.logo:focus-visible,.hamburger:focus-visible{outline:2px solid var(--color-black);outline-offset:4px;border-radius:4px}.aside-nav-button{letter-spacing:normal;color:var(--color-grey-2);text-align:left;font-family:SF Pro,Geist,sans-serif;font-size:clamp(.875rem,1vw,1rem);font-weight:400;line-height:1.5;transition:color .2s}.aside-nav-button:hover,.aside-nav-button.active{color:var(--color-black)}#backToTop{letter-spacing:normal;color:var(--color-grey-2);cursor:pointer;opacity:0;pointer-events:none;z-index:1000;background:0 0;border:none;border-radius:0;align-items:center;gap:.3rem;padding:0;font-family:SF Pro,Geist,sans-serif;font-size:clamp(.875rem,1vw,1rem);font-weight:400;line-height:1.5;transition:opacity .3s,color .2s;display:inline-flex;position:fixed;bottom:1.5rem;right:clamp(1.5rem,4vw,3rem)}.back-to-top-icon{flex-shrink:0}#backToTop:hover{color:var(--color-black)}#backToTop.show{opacity:1;pointer-events:auto}.vancouver-clock{z-index:1000;letter-spacing:normal;color:var(--color-grey-2);text-align:right;pointer-events:none;white-space:nowrap;font-family:SF Pro,Geist,sans-serif;font-size:clamp(.875rem,1vw,1rem);font-weight:400;line-height:1.5;position:fixed;top:1.25rem;right:clamp(1.5rem,4vw,3rem)}.spotify-player{z-index:1000;position:fixed;bottom:1.25rem;left:clamp(1.25rem,4vw,2.5rem)}.spotify-player-inner{-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);cursor:pointer;background:#ffffff8c;border:1px solid #ffffffb3;border-radius:999px;flex-direction:row;justify-content:flex-start;align-items:center;width:56px;height:56px;padding-left:13px;transition:width .28s cubic-bezier(.23,1,.32,1),border-radius .28s cubic-bezier(.23,1,.32,1);display:flex;overflow:hidden;box-shadow:0 2px 16px #00000014}.spotify-player.expanded .spotify-player-inner{gap:10px;width:min(176px,20vw);padding-right:12px}.spotify-album{background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:50%;flex-shrink:0;width:28px;min-width:28px;height:28px;position:relative;-webkit-mask-image:radial-gradient(circle,#0000 18%,#000 19%);mask-image:radial-gradient(circle,#0000 18%,#000 19%)}.spotify-expanded-content{flex-direction:row;flex:1;align-items:center;gap:8px;min-width:0;animation:.16s cubic-bezier(.23,1,.32,1) both spotify-fade-in;display:flex}@keyframes spotify-fade-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.spotify-track-info{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.spotify-track-name{color:var(--color-black);white-space:nowrap;text-overflow:ellipsis;font:400 .8rem/1.3 SF Pro,Geist,sans-serif;overflow:hidden}.spotify-artist-name{color:var(--color-grey-2);white-space:nowrap;text-overflow:ellipsis;opacity:.7;font:400 .72rem/1.4 SF Pro,Geist,sans-serif;overflow:hidden}.spotify-play-btn{cursor:pointer;color:var(--color-black);opacity:.4;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:opacity .12s,transform .1s ease-out;display:flex}@media (hover:hover) and (pointer:fine){.spotify-play-btn:hover:not(:disabled){opacity:.85}}.spotify-play-btn:active:not(:disabled){opacity:1;transform:scale(.92)}.spotify-play-btn:disabled{opacity:.2;cursor:default}.spotify-hover-label{pointer-events:none;opacity:0;flex-direction:column;align-items:flex-start;gap:.1rem;width:140px;transition:opacity .25s ease-out,transform .25s ease-out;display:flex;position:absolute;bottom:calc(100% + .75rem);left:0;transform:translateY(4px)}.spotify-player.expanded .spotify-hover-label{transition:none}.spotify-hover-label.visible{opacity:1;transform:translateY(0)}@media (max-width:800px){.spotify-player{display:none}}header{z-index:1000;opacity:0;position:fixed;top:1.25rem;left:50%;transform:translate(-50%)}header[data-phase=exiting]{opacity:0!important;pointer-events:none!important;transition:opacity .22s!important}header[data-phase=loading],header[data-phase=initialLoad]{opacity:0;pointer-events:none;transition:none}header[data-phase=revealed]{opacity:1;transition:opacity .4s .2s}.nav-inner{position:relative}.nav-inner:before{content:"";-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);z-index:-1;pointer-events:none;background:#ffffff8c;border:1px solid #ffffffb3;border-radius:999px;position:absolute;inset:0;box-shadow:0 2px 16px #00000014}.navbar{white-space:nowrap;flex-direction:row;align-items:center;gap:1.5rem;padding:.5rem .75rem;display:flex;position:relative}.navbar-small{justify-content:center;align-items:center;width:auto;display:flex}.hamburger{cursor:pointer;background:0 0;border:none;padding:0;display:none}.hamburger .icon-open{display:block}.hamburger .icon-close,header.open .hamburger .icon-open{display:none}header.open .hamburger .icon-close{display:block}.navbar-items{justify-content:center;align-items:center;gap:.25rem;width:auto;margin:0;padding:0;list-style:none;display:flex;position:relative}#nav-highlight{pointer-events:none;opacity:0;z-index:0;background:#0000000a;border-radius:999px;transition:left .2s,opacity .15s;position:absolute;top:50%;transform:translateY(-50%)}.logo{flex-direction:row;align-items:center;gap:0;display:flex}.logo-gif{width:auto;height:28px}footer{flex-direction:column;gap:1.25rem;padding:2.5rem 3.75rem;display:flex}.footer-text{flex-flow:wrap;justify-content:space-between;align-items:center;gap:1.25rem;display:flex}.footer-nav{flex-flow:wrap;display:flex}.footer-nav-col{flex-direction:column;gap:.5rem;display:flex}.footer-nav-col .nav-button{align-items:flex-start;padding-left:0;padding-right:0}.copy-email:hover{cursor:pointer}.copy-email{-webkit-touch-callout:none;text-decoration:none!important}.flex{display:flex}.flex-col{flex-direction:column}.flex-row,.flex-row-desktop,.flex-row-desktop-only{flex-direction:row;display:flex}.about-text{flex:0 auto;min-width:50vw;max-width:55vw}.space-between{justify-content:space-between}.width-100{width:100%}.gap-xs{gap:.25rem}.gap-s{gap:.75rem}.gap-m{gap:1.25rem}.gap-l{gap:2rem}.gap-xl{gap:6.25rem}.gap-xl-m{gap:clamp(1.25rem,5.5vw,6.25rem)}.gap-clamp{gap:clamp(.75rem,4vw,1.25rem)}.none-desktop{display:none}.right-align{align-items:flex-end}.media-wrapper{width:100%;height:100%;display:block;position:relative}.media-loading:before{content:"";background:linear-gradient(90deg, var(--color-grey-1) 20%, #efefef 45%, #fafafa 50%, #efefef 55%, var(--color-grey-1) 80%);z-index:1;border-radius:inherit;background-size:300% 100%;animation:2.2s cubic-bezier(.4,0,.6,1) infinite skeleton-shimmer;position:absolute;inset:0}.media-loading.has-poster:before{background:linear-gradient(90deg,#fff6 20%,#ffffff26 45%,#fff9 50%,#ffffff26 55%,#fff6 80%) 0 0/300% 100%}.media-loading img,.media-loading video{opacity:0}.media-wrapper img,.media-wrapper video{transition:opacity .25s cubic-bezier(.23,1,.32,1)}.media-wrapper.loaded:before{display:none}.media-wrapper.loaded img,.media-wrapper.loaded video{opacity:1}@keyframes skeleton-shimmer{0%{background-position:250% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.media-loading:before{animation:none}}#page-blur{z-index:9998;pointer-events:all;background:radial-gradient(90% 55% at 50% 105%,#f5c89a 0%,#f9d0b0 25%,#f5cdd0 50%,#f0dae8 65%,#f8eef4 78%,#fdfdfd 92%);position:fixed;inset:0;transform:translateY(0)}#page-blur[data-phase=exiting]{pointer-events:all;animation:.38s cubic-bezier(.16,1,.3,1) 80ms both overlayEnter}#page-blur[data-phase=initialLoad]{pointer-events:all;animation:.6s cubic-bezier(.16,1,.3,1) both overlayEnter}#page-blur[data-phase=revealed]{pointer-events:none;animation:.7s cubic-bezier(.4,0,.8,.2) both overlayFadeOut}@keyframes overlayEnter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}#page-loading-text{color:var(--color-grey-2);pointer-events:none;opacity:0;z-index:9999;justify-content:center;align-items:center;font-family:SF Pro,Geist,sans-serif;font-size:1rem;font-weight:400;transition:opacity .4s cubic-bezier(.23,1,.32,1),transform .4s cubic-bezier(.23,1,.32,1);display:flex;position:absolute;inset:0;transform:translateY(8px)}#page-loading-text.is-visible{opacity:1;transform:translateY(0)}#page-content-inner>*{opacity:0}@media (prefers-reduced-motion:reduce){#page-blur,#page-blur[data-phase=exiting],#page-blur[data-phase=revealed]{opacity:1;transition:none!important;animation:none!important;transform:none!important}#page-blur[data-phase=revealed]{opacity:0!important}#page-loading-text{transition:none!important}header[data-phase=exiting],header[data-phase=loading],header[data-phase=initialLoad],header[data-phase=revealed]{opacity:1!important;pointer-events:auto!important;transition:none!important}#page-content-inner>*,#page-content-inner[data-phase=revealed]>*,#page-content-inner[data-phase=exiting]>*{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}.bg-gradient{background:linear-gradient(#f9d4ff 0%,#fff 20% 90%,#ffa976 100%)}.homepage-split{box-sizing:border-box;flex-direction:column;gap:0;width:100%;padding-left:clamp(2.5rem,6vw,6.25rem);padding-right:clamp(2.5rem,6vw,6.25rem);display:flex;position:relative}.home-page footer:not(#site-footer),.fun-page footer:not(#site-footer){display:none}.featured-tagline{text-align:right;column-span:all;width:100%;padding-top:.5rem;display:block}.hero{padding:clamp(5rem,8vw,6.5rem) clamp(1.25rem,4vw,3.75rem) clamp(2rem,10vw,3rem)}.homepage-split>.hero{width:100%;padding:0}.fun-page .homepage-split>.hero{padding:0}.fun-page .homepage-split>.hero h2{margin-top:0}.fun-hero-heading{text-align:center;max-width:50vw}.hero-video-wrap{width:240px;margin:0 auto;position:relative}.hero-video{width:100%;height:auto;display:block}.hero-video-vignette{pointer-events:none;background:linear-gradient(#fdfdfd 0%,#0000 24%),linear-gradient(#0000 84%,#fdfdfd 100%),linear-gradient(90deg,#fdfdfd 0%,#0000 24%),linear-gradient(270deg,#fdfdfd 0%,#0000 16%);position:absolute;inset:0}.hero-video-outer{flex-direction:column;display:flex;position:relative}.hero-video-hover-label{pointer-events:none;opacity:0;flex-direction:column;align-items:flex-start;gap:.1rem;transition:opacity .25s ease-out,transform .25s ease-out;display:flex;position:absolute;top:-3.5rem;left:calc(50% + 60px);transform:translateY(4px)}.hero-video-wrap:hover~.hero-video-hover-label,.hero-video-hover-label:hover{opacity:1;transform:translateY(0)}.hero-video-play-icon{color:var(--color-black);opacity:.5;pointer-events:none;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute;inset:0}.hero-inner{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;height:auto;min-height:60vh;padding:clamp(6rem,12vw,9rem) 0 clamp(1rem,3vw,1.5rem);display:flex;position:relative}.featured{flex-direction:column;align-items:center;width:100%;padding:clamp(4rem,8vw,6rem) 0 clamp(4rem,7.5vw,6rem);display:flex}.featured-fade,.home-page .featured-fade,.fun-page .featured-fade,.about-page .featured-fade{pointer-events:none;z-index:10;width:100%;height:80px;position:fixed;top:0;left:0}.featured-fade-bottom,.home-page .featured-fade-bottom,.fun-page .featured-fade-bottom,.about-page .featured-fade-bottom{height:80px;top:auto;bottom:0}.home-page .featured-fade-bottom,.fun-page .featured-fade-bottom,.about-page .featured-fade-bottom,.case-study-page .featured-fade-bottom{position:sticky}.featured-fade-bottom{display:none}.home-page .featured-fade-bottom,.fun-page .featured-fade-bottom,.about-page .featured-fade-bottom,.case-study-page .featured-fade-bottom{display:block}.featured-fade-top>.blur-layer,.featured-fade-bottom>.blur-layer{position:absolute;inset:0}.featured-fade-bottom>.bl-1{-webkit-backdrop-filter:blur(48px);backdrop-filter:blur(48px);-webkit-mask:linear-gradient(#0000 75%,#000 87.5% 100%);mask:linear-gradient(#0000 75%,#000 87.5% 100%)}.featured-fade-bottom>.bl-2{-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);-webkit-mask:linear-gradient(#0000 62.5%,#000 75% 87.5%,#0000 100%);mask:linear-gradient(#0000 62.5%,#000 75% 87.5%,#0000 100%)}.featured-fade-bottom>.bl-3{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-mask:linear-gradient(#0000 50%,#000 62.5% 75%,#0000 87.5%);mask:linear-gradient(#0000 50%,#000 62.5% 75%,#0000 87.5%)}.featured-fade-bottom>.bl-4{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-mask:linear-gradient(#0000 37.5%,#000 50% 62.5%,#0000 75%);mask:linear-gradient(#0000 37.5%,#000 50% 62.5%,#0000 75%)}.featured-fade-bottom>.bl-5{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-mask:linear-gradient(#0000 25%,#000 37.5% 50%,#0000 62.5%);mask:linear-gradient(#0000 25%,#000 37.5% 50%,#0000 62.5%)}.featured-fade-bottom>.bl-6{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);-webkit-mask:linear-gradient(#0000 12.5%,#000 25% 37.5%,#0000 50%);mask:linear-gradient(#0000 12.5%,#000 25% 37.5%,#0000 50%)}.featured-fade-bottom>.bl-7{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);-webkit-mask:linear-gradient(#0000 0%,#000 12.5% 25%,#0000 37.5%);mask:linear-gradient(#0000 0%,#000 12.5% 25%,#0000 37.5%)}.featured-fade-top>.blur-layer:first-child{-webkit-backdrop-filter:blur(48px);backdrop-filter:blur(48px);-webkit-mask:linear-gradient(#000 0% 12.5%,#0000 25%);mask:linear-gradient(#000 0% 12.5%,#0000 25%)}.featured-fade-top>.blur-layer:nth-child(2){-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);-webkit-mask:linear-gradient(#0000 0%,#000 12.5% 25%,#0000 37.5%);mask:linear-gradient(#0000 0%,#000 12.5% 25%,#0000 37.5%)}.featured-fade-top>.blur-layer:nth-child(3){-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-mask:linear-gradient(#0000 12.5%,#000 25% 37.5%,#0000 50%);mask:linear-gradient(#0000 12.5%,#000 25% 37.5%,#0000 50%)}.featured-fade-top>.blur-layer:nth-child(4){-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-mask:linear-gradient(#0000 25%,#000 37.5% 50%,#0000 62.5%);mask:linear-gradient(#0000 25%,#000 37.5% 50%,#0000 62.5%)}.featured-fade-top>.blur-layer:nth-child(5){-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-mask:linear-gradient(#0000 37.5%,#000 50% 62.5%,#0000 75%);mask:linear-gradient(#0000 37.5%,#000 50% 62.5%,#0000 75%)}.featured-fade-top>.blur-layer:nth-child(6){-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);-webkit-mask:linear-gradient(#0000 50%,#000 62.5% 75%,#0000 87.5%);mask:linear-gradient(#0000 50%,#000 62.5% 75%,#0000 87.5%)}.featured-fade-top>.blur-layer:nth-child(7){-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);-webkit-mask:linear-gradient(#0000 62.5%,#000 75% 87.5%,#0000 100%);mask:linear-gradient(#0000 62.5%,#000 75% 87.5%,#0000 100%)}.featured-fade-top>.blur-tint{background:linear-gradient(#fdfdfd8c 0%,#fdfdfd40 50%,#fdfdfd00 100%);position:absolute;inset:0}.top-contact-links{pointer-events:all;gap:.5rem;display:flex;position:absolute;top:1.25rem;left:clamp(1.25rem,4vw,2.5rem)}.featured-fade-bottom>.blur-tint{background:linear-gradient(#fdfdfd00 0%,#fdfdfd40 50%,#fdfdfd8c 100%);position:absolute;inset:0}.featured-work-wrapper{flex-direction:column;gap:.75rem;width:min(78%,1200px);scroll-margin-top:5rem;display:flex}.body-heading{text-align:left;width:100%}.featured-work{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.video-wrapper{aspect-ratio:16/9;width:100%;max-width:1200px;margin:0 auto}.video-wrapper iframe{border:0;width:100%;height:100%}.case-study-hero{grid-template-columns:minmax(16%,20%) 1fr minmax(16%,20%);width:100%;padding:clamp(6rem,10vw,8rem) clamp(1.25rem,4vw,2.5rem) clamp(2.5rem,6vw,5rem);display:grid}.case-study-hero>*{grid-column:2}.case-study-hero>img,.case-study-hero>video{grid-column:1/-1}.hero-item{grid-column:2}.case-study-details-left{width:auto}.case-study-content{grid-template-columns:minmax(16%,20%) 1fr minmax(16%,20%);padding:clamp(1.25rem,4vw,2.5rem);display:grid;overflow:visible}.content-nav{align-self:start;height:0;position:sticky;top:7.5rem;overflow:visible}.case-study-body{gap:clamp(.75rem,4vw,1.255rem)}.case-study-content-frame{border:2px solid var(--color-grey-1);margin-top:clamp(1rem,3vw,2rem);margin-bottom:clamp(1rem,3vw,2rem)}.case-study-hero h1,.case-study-content h1{font-size:clamp(1.375rem,2vw,1.75rem);line-height:1.25}.case-study-hero h2,.case-study-content h2{letter-spacing:-.01em;font-size:clamp(1.25rem,1.8vw,1.625rem);line-height:1.3}.case-study-hero h3,.case-study-content .case-study-body h3{font-size:clamp(1.0625rem,1.3vw,1.1875rem)}.case-study-hero h4,.case-study-content h4{font-size:clamp(.75rem,.9vw,.8125rem)}.case-study-content p{max-width:68ch;line-height:1.7}.none-mobile{display:flex}.pt-l{padding-top:clamp(1.25rem,2.22vw,2rem)}.pt-xl{padding-top:3rem}.mt-m{margin-top:1.25rem}.mt-xxl{margin-top:3.5rem}.mt-l{margin-top:clamp(1.25rem,2.22vw,2rem)}.card-media{width:100%;line-height:0;display:block;position:relative}.card-media img,.card-media video{width:100%;height:auto;display:block}.card-media:after{content:"";pointer-events:none;z-index:1;background:#fff0;transition:background .25s;position:absolute;inset:0}.card-media:hover:after{background:#ffffff59}.card-media{cursor:pointer}.case-study-card-2:after{content:none}.border-svg{pointer-events:none;opacity:0;transition:opacity .25s;position:absolute;inset:0}.case-study-card-2:hover .border-svg{opacity:0}.about-page .case-study-card-2:hover{background-color:#0000}.about-page .case-study-card-2:hover .border-svg{opacity:0}.border-svg svg{width:100%;height:100%;position:absolute;inset:0}.border-rect{x:1px;y:1px;fill:none;width:calc(100% - 2px);height:calc(100% - 2px);stroke:var(--color-grey-1);stroke-width:2px;stroke-dasharray:8 8;stroke-linecap:round}.pfp{object-fit:cover;flex-shrink:1;min-width:25%;max-width:65%;height:auto}.about-pfp>.media-wrapper{flex-shrink:1;width:auto;min-width:25%;max-width:65%;height:auto}.about-pfp>.media-wrapper .pfp{max-width:100%;min-width:unset;width:100%}.case-study-card-text{flex-direction:column;flex:auto;width:auto;min-width:60%;display:flex}.case-study-card-info{flex-direction:column;justify-content:center;gap:.25rem;height:100%;display:flex}.mobile-prototype{aspect-ratio:9/16}.presentation{aspect-ratio:13.6/9}.read-more{grid-column:2;padding-top:clamp(2rem,6vw,4rem)}.more-work{max-width:480px;display:flex}.case-study-card-2{break-inside:avoid;will-change:transform;flex-direction:column;gap:1.25rem;width:100%;max-width:1000px;padding:.75rem 0;transition:transform .2s;display:flex;position:relative;overflow:hidden;transform:translate(0,0)}.horizontal-viz{aspect-ratio:16/9}.max-width-desktop{max-width:55vw}.about-contents{column-count:3;column-gap:0}.homepage-split .about-contents{column-count:2;column-gap:1.5rem}.about-pfp{justify-content:center;align-self:center;align-items:center;width:100%;padding-left:clamp(1rem,3vw,2.5rem);padding-right:clamp(1rem,3vw,2.5rem);position:relative}.pfp-wrap{flex-shrink:1;min-width:25%;max-width:65%;display:inline-flex;position:relative}.pfp-wrap .pfp{max-width:100%;min-width:unset;width:100%}.pfp-wrap:after{content:"";pointer-events:none;background:linear-gradient(90deg,#fdfdfd 0%,#0000 25%),linear-gradient(270deg,#fdfdfd 0%,#0000 25%),linear-gradient(#fdfdfd 0%,#0000 25%),linear-gradient(#0000 75%,#fdfdfd 100%);position:absolute;inset:0}.about-bio{color:var(--color-grey-3);font-size:clamp(1.75rem,3vw,2rem);line-height:1.6}.appendix-wrapper{grid-template-rows:repeat(3,auto);grid-template-columns:1fr 1fr;grid-auto-flow:column;gap:1rem;display:grid}.photo-timeline-scroll-container{width:100%;position:relative}.photo-timeline-sticky{width:100%}.photo-timeline-section{flex-direction:column;align-items:center;width:100%;padding-top:clamp(1.5rem,3vw,2.5rem);padding-bottom:clamp(2rem,3.75vw,3rem);display:flex;position:relative;overflow:hidden}.photo-timeline-title{text-align:center;margin-bottom:clamp(1.5rem,3vw,2.5rem)}.photo-timeline-track{will-change:transform;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;align-items:center;display:flex}.photo-timeline-track.is-dragging{cursor:grabbing}.photo-timeline-item{will-change:transform, opacity;transform-origin:50%;cursor:pointer;flex:0 0 min(420px,90vw);justify-content:center;align-items:center;width:min(420px,90vw);display:flex}.photo-timeline-img-slot{justify-content:center;align-items:center;width:min(420px,90vw);display:flex}.photo-timeline-img-wrap{display:inline-flex;position:relative}.photo-timeline-img-wrap img{pointer-events:none;width:auto;max-width:min(420px,80vw);height:auto;max-height:400px;display:block}.photo-timeline-vignette{pointer-events:none;background:linear-gradient(#fdfdfd 0%,#0000 24%),linear-gradient(#0000 84%,#fdfdfd 100%),linear-gradient(90deg,#fdfdfd 0%,#0000 24%),linear-gradient(270deg,#fdfdfd 0%,#0000 16%);position:absolute;inset:0}.photo-timeline-caption-area{text-align:center;height:1.5rem;margin-top:1.5rem;position:relative}.photo-timeline-caption{text-transform:uppercase;color:var(--color-grey-2);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;font-family:SF Pro Mono,Geist,sans-serif;font-size:clamp(.75rem,1.4vw,1rem);font-weight:400;line-height:1.5;transition:opacity .35s cubic-bezier(.25,1,.5,1),transform .35s cubic-bezier(.25,1,.5,1),visibility 0s linear .35s;position:absolute;left:50%;transform:translate(-50%)}.photo-timeline-caption.enter-from-right{opacity:0;visibility:visible;transition:opacity .35s cubic-bezier(.25,1,.5,1),transform .35s cubic-bezier(.25,1,.5,1),visibility linear;transform:translate(calc(24px - 50%))}.photo-timeline-caption.enter-from-left{opacity:0;visibility:visible;transition:opacity .35s cubic-bezier(.25,1,.5,1),transform .35s cubic-bezier(.25,1,.5,1),visibility linear;transform:translate(calc(-50% - 24px))}.photo-timeline-caption.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s cubic-bezier(.25,1,.5,1),transform .35s cubic-bezier(.25,1,.5,1),visibility linear;transform:translate(-50%)}.photo-timeline-caption.exit-to-left{opacity:0;transform:translate(calc(-50% - 24px))}.photo-timeline-caption.exit-to-right{opacity:0;transform:translate(calc(24px - 50%))}.photo-timeline-indicators-wrap{width:100%;height:2rem;margin-top:1.25rem;position:relative;overflow:hidden}.photo-timeline-indicators{will-change:transform;align-items:flex-end;height:2rem;display:flex;position:absolute}.photo-timeline-indicator-hit{cursor:pointer;align-items:flex-end;height:2rem;padding:0 8px;display:flex}.photo-timeline-indicator{background:var(--color-grey-1);flex-shrink:0;width:2px;height:.75rem}.inline-viz{vertical-align:middle;width:auto;height:3rem;margin:0 2px;display:inline}@media (max-width:1300px){.flex-row-desktop-only{flex-direction:column}.about-text{max-width:100vw}}@media (max-width:1024px){.featured-work{grid-template-columns:1fr}.homepage-split>.hero h2{font-size:clamp(1.25rem,3.2vw,1.75rem)}.homepage-split>.hero .hero-contact-link,.homepage-split>.hero .hero-contact-divider{font-size:.875rem}.case-study-hero{grid-template-columns:1fr}.case-study-hero>*,.hero-item{grid-column:1}.case-study-content{grid-template-columns:minmax(16%,20%) 1fr}}@media (max-width:800px){.back-to-top-label{display:none}#backToTop{color:var(--color-black);isolation:isolate;border-radius:999px;padding:.5rem}#backToTop:before{content:"";-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);z-index:-1;pointer-events:none;background:#ffffff8c;border:1px solid #ffffffb3;border-radius:999px;position:absolute;inset:0;box-shadow:0 2px 16px #00000014}#backToTop:hover{color:var(--color-black)}.back-to-top-icon{width:16px;height:16px}.fun-hero-heading{max-width:100%;padding-left:16px;padding-right:16px}.vancouver-clock{display:none}#page-blur{background:radial-gradient(140% 28% at 50% 105%,#f5c89a 0%,#f9d0b0 25%,#f5cdd0 50%,#f0dae8 65%,#f8eef4 78%,#fdfdfd 92%)}.homepage-split{padding-left:0;padding-right:0}.top-contact-links{display:none}header{width:auto;left:50%;transform:translate(-50%)}header:before{border-radius:999px}.hamburger{display:none}.navbar-items{-webkit-backdrop-filter:none;box-shadow:none;background:0 0;border:none;flex-direction:row;align-items:center;width:auto;padding:0;display:flex;position:static}.nav-button{padding:.3rem .5rem;font-size:.875rem}.navbar{padding:.4rem .6rem}.homepage-split>.hero{width:100%}#hero-section{min-height:40vh!important}.home-page .hero-inner{justify-content:center;min-height:60vh;padding-top:8rem}.fun-hero-inner{padding-top:clamp(6rem,12vw,9rem)}.fun-page .homepage-split>.hero{padding:0}.homepage-split>.featured{width:100%;min-width:0;padding-bottom:clamp(4rem,7.5vw,6rem)}.home-page footer:not(#site-footer){margin-top:0;display:flex}.fun-page footer:not(#site-footer),.home-page .footer-nav{display:flex}.featured-tagline,.fun-page .featured-tagline,.home-page #contact-links,.fun-page #contact-links{display:none}.homepage-split>.hero h2,.fun-hero-heading{font-size:1.25rem}.featured{padding-top:clamp(2rem,4vw,3rem);padding-left:1rem;padding-right:1rem}.featured-work-wrapper{width:100%}.featured-work{grid-template-columns:1fr;gap:0}.video-wrapper{max-width:100%}.case-study-details-all{order:unset}.hero-details-wrapper{order:1}.case-study-hero{grid-template-columns:1fr}.hero-item{grid-column:1}.case-study-content{grid-template-columns:1fr}.read-more{grid-column:1}.content-nav{display:none}.flex-row-desktop{flex-direction:column}.none-mobile{display:none}.none-desktop{display:flex}.about-contents,.homepage-split .about-contents{column-count:1}.appendix-wrapper{grid-template-rows:none;grid-template-columns:1fr;grid-auto-flow:row}footer{padding:2rem}.footer-text{gap:.75rem}.case-study-card-text{flex-shrink:1;gap:.5rem}.pfp{width:100%;max-width:none;height:auto;min-width:none;flex-shrink:1;padding:0}.about-pfp{padding:1rem}.pfp-wrap{max-width:75vw;min-width:unset}.flex-row-desktop-only{flex-direction:column}.about-text{max-width:100vw}.about-bio{font-size:clamp(1.1rem,4.5vw,1.4rem)}.inline-viz{height:1.6rem;margin:0 4px}.case-study-content p{max-width:100%}}.hero-label{text-transform:uppercase;letter-spacing:normal;color:var(--color-grey-2);font-family:SF Pro Mono,Geist,sans-serif;font-size:clamp(.875rem,2vw,1rem);font-weight:400;line-height:1.5}#contact-links{box-sizing:border-box;flex-wrap:wrap;justify-content:center;gap:.5rem;width:100%;display:flex}.hero-contact-link{color:var(--color-grey-2);opacity:1;cursor:pointer;font-family:SF Pro,Geist,sans-serif;font-size:clamp(.875rem,1vw,1rem);text-decoration:none;transition:color .2s}.hero-contact-link:hover{color:var(--color-black)}.hero-email{align-items:center;gap:.3rem;display:inline-flex}.copy-icon{opacity:0;flex-shrink:0;width:0;transition:width .2s,opacity .2s;overflow:hidden}.hero-email:hover .copy-icon{opacity:1;width:13px}.hero-contact-divider{color:var(--color-grey-2);-webkit-user-select:none;user-select:none;font-family:SF Pro,Geist,sans-serif;font-size:clamp(.875rem,2vw,1rem)}#hero-section{min-height:0}body.home-page header{opacity:0;pointer-events:none;transition:opacity .5s}body.home-page.nav-revealed header{opacity:1;pointer-events:auto}#site-footer{display:none}@media (max-width:800px){.home-page .featured-fade-bottom,.fun-page .featured-fade-bottom,.about-page .featured-fade-bottom,.case-study-page .featured-fade-bottom{display:none}body.home-page #site-footer,body.fun-page #site-footer,body.about-page #site-footer,body.case-study-page #site-footer{background:var(--color-white);white-space:nowrap;flex-flow:row;justify-content:center;align-items:center;gap:.5rem;padding:2rem 1.5rem;display:flex;overflow:hidden}#site-footer .hero-contact-link,#site-footer .hero-contact-divider{font-size:1rem}}.footer-email{background:0 0;border:none;padding:0}
