.Layout_layout__153oA{display:flex;flex-direction:column;min-height:100vh}.Layout_pageContent__DTzwn{position:relative}.Button_button__hiIbD{--key-color:hsl(var(--primary-hsl));--py:var(--space);--px:calc(var(--space) * 2);--expand:calc(var(--space) * 0.3);position:relative;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--py) var(--px);line-height:2.4rem;text-align:center;border-radius:var(--radius-button);font-weight:var(--fontWeightBold);text-decoration:none;cursor:pointer;color:#fff;transition:all .2s ease-in-out;background:var(--key-color);border:1px solid hsl(from var(--key-color) h s calc(l * .8));box-shadow:0 2px 0 0 hsl(var(--primary-hsl)/.1)}.Button_button__hiIbD:hover{--pyHover:calc(var(--py) + var(--expand));--pxHover:calc(var(--px) + var(--expand));padding:var(--pyHover) var(--pxHover);margin:calc(var(--expand) * -1);border-color:hsl(from var(--key-color) h s calc(l * .4));box-shadow:0 4px 2px 0 hsl(var(--primary-hsl)/.05)}.Button_button__hiIbD.Button_secondary__kof5W{--key-color:hsl(from hsl(var(--primary-hsl)) h s calc(l + 20))}.Button_button__hiIbD:active{opacity:.8}.Button_button__hiIbD.Button_outline__ZlT8w{color:var(--key-color);background:hsl(var(--primary-hsl)/.05);border:1px solid var(--key-color)}.Button_button__hiIbD.Button_outline__ZlT8w:hover{background:hsl(var(--primary-hsl)/.08)}.Button_button__hiIbD.Button_textOnly__piNAE,.Button_button__hiIbD.Button_textOnly__piNAE:hover{color:var(--key-color);border:none;box-shadow:none;background:none;padding:0;margin:0}.Button_button__hiIbD.Button_textOnly__piNAE:hover{color:hsl(from var(--key-color) h s calc(l * .4))}.Nav_nav__bi_vB{--duration:1s;--vertical-padding:var(--space-2);--drawer-bg-top:hsl(from hsl(var(--primary-hsl)) h s calc(l - 5));position:-webkit-sticky;position:sticky;top:0;z-index:var(--zElevateStrong)}.Nav_inner__dMrfu{margin:0 auto;padding:var(--space-standard) var(--card-padding);width:var(--wrapper-width);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .5s ease;background:rgba(var(--back-rgb),.9);border-bottom-left-radius:var(--radius-card);border-bottom-right-radius:var(--radius-card);padding-top:var(--vertical-padding);padding-bottom:var(--vertical-padding);max-width:100vw}.Nav_nav__bi_vB:hover .Nav_inner__dMrfu{background:rgba(var(--back-rgb),1)}.Nav_nav__bi_vB.Nav_isSticky__OGlk1 .Nav_inner__dMrfu{--vertical-padding:var(--space-1);box-shadow:0 0 10px 0 rgba(0,0,0,.1)}.Nav_name__JlPvn{color:inherit;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;line-height:1.2;border:none}.Nav_name__JlPvn:hover{opacity:.6}.Nav_downloadTextDesktop__u7c2x{display:none}@media screen and (min-width:660px){.Nav_downloadTextDesktop__u7c2x{display:block}.Nav_downloadTextMobile__vUMrt{display:none}}.Nav_status__6shVr{color:var(--green)}.Nav_statusBeacon__VApwI{--size:10px;--beaconTime:2s;position:relative;display:inline-block;margin-right:.5rem;width:var(--size);height:var(--size);border-radius:var(--size);background-color:currentColor;animation:Nav_ping__sTBmr var(--beaconTime) ease infinite}@keyframes Nav_ping__sTBmr{50%{transform:scale(1)}80%{transform:scale(.8)}to{transform:scale(1)}}.Nav_statusBeacon__VApwI:after{--sizePing:40px;content:"";position:absolute;display:block;left:50%;top:50%;opacity:0;transform:translate3d(-50%,-50%,0);width:var(--size);height:var(--size);border-radius:var(--sizePing);background-color:currentColor;animation:Nav_pingBeacon__JhhyU var(--beaconTime) ease 1.5s infinite}@keyframes Nav_pingBeacon__JhhyU{0%{opacity:0}20%{opacity:.3;width:var(--size);height:var(--size)}80%{width:var(--sizePing);height:var(--sizePing)}to{opacity:0}}@media screen and (max-width:420px){.Nav_status__6shVr{display:none}}.Nav_drawer__Q5lH4{color:#fff;background:linear-gradient(0deg,hsl(var(--primary-hsl)),var(--drawer-bg-top));overflow:hidden;max-height:0;animation:Nav_closeDrawer__OEZxx calc(var(--duration)/2) ease forwards}.Nav_drawer__Q5lH4 a{color:currentColor}.Nav_drawer__Q5lH4 a:hover{color:currentColor;opacity:.8}.Nav_drawer__Q5lH4.Nav_drawerOpen__YZf9z{animation:Nav_openDrawer__E6zx4 1s ease calc(var(--duration)/2) forwards}@keyframes Nav_closeDrawer__OEZxx{0%{max-height:100px}to{max-height:0}}@keyframes Nav_openDrawer__E6zx4{0%{max-height:0}to{max-height:100px}}.Nav_contactText__PoePp{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;opacity:0}@media screen and (min-width:520px){.Nav_contactText__PoePp{flex-direction:row;gap:var(--space-1);align-items:center;justify-content:center}}.Nav_drawer__Q5lH4.Nav_drawerOpen__YZf9z .Nav_contactText__PoePp{animation:Nav_fadeInText__PXXOX calc(var(--duration)/2) ease calc(var(--duration) * .8) forwards}@keyframes Nav_fadeInText__PXXOX{0%{opacity:0}to{opacity:1}}.Nav_buttonBox__1xrGV{position:relative}.Nav_buttonBox__1xrGV:after{--buttonMoveOnActive:0px;--buffer:5%;content:"";display:block;position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% - var(--buttonMoveOnActive));width:1px;height:calc(var(--vertical-padding) + var(--buttonMoveOnActive) + var(--buffer));background:linear-gradient(0deg,hsl(var(--primary-hsl)) 20%,transparent 40%);background-position:0 0;background-size:100% 400%;z-index:-1}.Nav_inner__dMrfu.Nav_contactOpen__Q688Q .Nav_buttonBox__1xrGV:after{animation:Nav_fillLine__ll0Uj var(--duration) ease forwards}@keyframes Nav_fillLine__ll0Uj{0%{background-position:0 0}to{background-position:0 100%}}.Nav_iconX__yDt85{background-color:red}.Nav_inner__dMrfu.Nav_contactOpen__Q688Q .Nav_iconX__yDt85{animation:Nav_spin__qsote var(--duration) ease}@keyframes Nav_spin__qsote{0%{transform:rotate(0deg)}to{transform:rotate(180deg)}}.Section_content__FMJME,.Section_section__oGKuG{display:flex;flex-direction:column}.Section_content__FMJME{gap:var(--space-3);padding-bottom:calc(var(--space-standard) * 2)}.Section_header__LCYvT .Section_content__FMJME{padding:var(--space-standard) 0 0}.Section_longform__rtTxF h2,.Section_longform__rtTxF h3,.Section_longform__rtTxF ol,.Section_longform__rtTxF p,.Section_longform__rtTxF ul{margin-left:auto;margin-right:auto;width:100%;max-width:var(--content-width)}.Section_longform__rtTxF h2{padding-top:.6em;border-top:1px solid #e6e6e6}.Section_heading__4vp7k{display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-1);margin-top:calc(var(--space-standard) * 1)}.Section_line___Nxgp{display:block;height:1px;flex-basis:1px;min-width:3em;flex-grow:1;background:currentColor;opacity:.1}.Section_title__sNRiz{position:relative;display:flex;gap:.5em;align-items:center;white-space:nowrap;flex-grow:1}.Section_description__eicYz,.Section_title__sNRiz{padding-bottom:.1em}.Section_description__eicYz{opacity:.7;margin:0;text-wrap:pretty}.Section_dark__kdDE0{background:#000;color:#777;--grid-line-color:#141414}@media screen and (min-width:850px){.Section_heading__4vp7k{flex-direction:row;align-items:center}.Section_heading__4vp7k,.Section_title__sNRiz{gap:var(--space-2)}}.Avatar_avatar__hEQSU{border-radius:200px;border:5px solid #0d0d0d;overflow:hidden}.Avatar_inner__94Ky4{border-radius:200px;background:linear-gradient(30deg,#6b6b6b,#fff 80%);border:2px solid #000;box-shadow:inset 0 -3px 5px 5px #fff}.EmailTextCopy_email__QxTpv{cursor:default}.EmailTextCopy_copy__Nra0Q{cursor:pointer;transition:all .2s ease}.EmailTextCopy_copy__Nra0Q:hover{opacity:.8}.EmailTextCopy_copied__OL4u5,.EmailTextCopy_copy__Nra0Q{display:flex;align-items:center;gap:calc(var(--space-1) / 2)}.EmailTextCopy_copy__Nra0Q span{opacity:0;transition:all .2s ease}.EmailTextCopy_copy__Nra0Q:hover span{opacity:1}.CardAbout_about__mIyRl{scroll-margin-top:var(--scroll-margin-top);gap:var(--space-2);color:#e6e6e6;overflow:hidden;padding:var(--card-padding);margin:0 calc(var(--card-padding) * -.5);border-radius:var(--radius-card);background:radial-gradient(#000,#1a1a1a 90%);background-position:top;background-repeat:no-repeat;background-size:100% 200%;box-shadow:0 0 0 4px #ebebeb}.CardAbout_about__mIyRl,.CardAbout_content__UHOZw{display:flex;justify-content:center;align-items:flex-start;flex-direction:column}.CardAbout_content__UHOZw{padding-top:.4em;font-size:1.8rem;z-index:1}.CardAbout_content__UHOZw p{opacity:.8;max-width:62ch}.CardAbout_content__UHOZw p:first-child{opacity:1;max-width:unset;font-size:1.2em;font-family:var(--font-display)}.CardAbout_photo__lcJ9a{line-height:0;max-width:80px;position:relative}@media screen and (min-width:1000px){.CardAbout_about__mIyRl{flex-direction:row;margin:0 calc(var(--card-padding) * -1);gap:var(--space-4)}.CardAbout_photo__lcJ9a{max-width:unset;flex-shrink:0;transform:none;position:relative}}.Footer_footer__ky9uN .wrapper{padding-bottom:0}.Footer_footer__ky9uN{display:flex;flex-direction:column;flex-grow:1}.Footer_signatureContainer__saX9b{grid-area:signature;display:flex;gap:.5em;align-items:center;align-self:center}.Footer_signatureContainer__saX9b>svg{flex-shrink:0}.Footer_copyright__f0MGB{grid-area:copyright;display:flex;align-items:center;justify-content:flex-end;align-self:center;opacity:.8}.Footer_icons__vb_4S{grid-area:icons;display:grid;justify-content:space-between;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-3);gap:var(--space-3);padding-bottom:var(--space-10)}.Footer_icons__vb_4S a{position:relative;display:inline-block;line-height:0;transition:all .2s ease-in-out;background:linear-gradient(0deg,hsl(from hsl(var(--primary-hsl)) h s 98%),#fff);border:1px solid hsl(from hsl(var(--primary-hsl)) h s 80%);box-shadow:0 0 0 4px #f5f5f5;padding:.6em;border-radius:12px}.Footer_icons__vb_4S svg{width:100%}.Footer_iconLabel__0fe_h{position:absolute;left:50%;transform:translateX(-50%);line-height:1.2;bottom:-2.2rem;font-size:12px;color:#4d4d4d;white-space:nowrap}.Footer_inner__Tbo9F{display:grid;justify-content:space-between;grid-gap:var(--space-2);gap:var(--space-2);padding-top:var(--space-6);grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto;grid-template-areas:"icons icons icons" "signature signature copyright"}.Footer_signatureContainer__saX9b{color:#333}@media screen and (min-width:680px){.Footer_inner__Tbo9F{align-items:flex-end;flex-direction:row;justify-content:space-between;grid-template-columns:1fr 1fr auto;grid-template-areas:"signature copyright icons"}.Footer_icons__vb_4S{gap:0;padding-bottom:0}.Footer_icons__vb_4S a{border:none;box-shadow:none;border-radius:none;background:none;padding:calc(var(--space-1) / 2) var(--space-1)}.Footer_icons__vb_4S a:hover{transform:scale(1.2)}.Footer_iconLabel__0fe_h{bottom:auto;top:-1.2rem;padding:.2em .6em;border:1px solid #fff;color:#fff;background:#0d0d0d;border-radius:100px;transition:all .2s ease;opacity:0}.Footer_icons__vb_4S a:hover .Footer_iconLabel__0fe_h{top:-2rem;opacity:1}}.DesignBuild_text__R0TPO{display:flex;align-items:center;text-transform:uppercase;font-size:.9em;text-align:right;font-family:var(--font-display)}.DesignBuild_text__R0TPO span:first-child,.DesignBuild_text__R0TPO span:last-child{opacity:.7;width:8ch}.DesignBuild_text__R0TPO span:last-child{text-align:left}.DesignBuild_x__rgk1d{position:relative;display:block;width:1.5em;height:1.5em;animation:DesignBuild_spin__u9l4e 5s ease-in-out infinite}.DesignBuild_x__rgk1d:after,.DesignBuild_x__rgk1d:before{content:"";display:block;position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%) rotate(-45deg);height:50%;width:1px;background-color:hsl(var(--primary-hsl))}.DesignBuild_x__rgk1d:before{transform:translateX(-50%) translateY(-50%) rotate(45deg)}@keyframes DesignBuild_spin__u9l4e{0%,50%{transform:scale(1) rotate(0deg)}70%,80%{transform:scale(.8) rotate(135deg)}to{transform:scale(1) rotate(1turn)}}.Caption_caption__VH1GN{margin:.2rem auto 2rem;max-width:var(--content-width);padding:0 3rem;flex-shrink:0;font-size:1.5rem;text-align:left;text-wrap:pretty;line-height:1.5;color:#666}.modal .Caption_caption__VH1GN{color:#fff;font-size:1.6rem;text-align:center;margin:0;padding:var(--space-2) var(--space-3);border-radius:100px;background-color:rgba(0,0,0,.8)}.Modal_modalContainer__cvQwh{z-index:var(--zModal);left:-200vw;opacity:0;padding-left:var(--space-1);padding-right:var(--space-1);transition:opacity .3s ease-in-out}.Modal_modalContainer__cvQwh.Modal_visible__tANlj{left:0;opacity:1}.Modal_modalContainer__cvQwh.Modal_fading__T3LVk{left:0;opacity:0}.Modal_modalContainer__cvQwh,.Modal_overlay__y1m8v{position:fixed;top:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.Modal_overlay__y1m8v{cursor:pointer;transition:all .2s ease-in-out;background:hsla(0,0%,100%,.9)}.Modal_modalContainer__cvQwh.Modal_blur__BwIse .Modal_overlay__y1m8v{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.Modal_modalContainer__cvQwh.Modal_blur__BwIse .Modal_overlay__y1m8v:hover{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.Modal_overlay__y1m8v:hover{background:hsla(0,0%,100%,.8)}.Modal_modal__V06ks{position:relative;border-radius:var(--radius-lg);transition:transform .3s ease-in-out;overflow-y:auto;max-height:100%}.Modal_modalContainer__cvQwh.Modal_visible__tANlj.Modal_fading__T3LVk .Modal_modal__V06ks,.Modal_modal__V06ks{transform:translateY(var(--space-3))}.Modal_modalContainer__cvQwh.Modal_visible__tANlj .Modal_modal__V06ks{transform:translateY(0)}.Modal_content__eQP31{display:flex;flex-direction:column;align-items:center;padding:var(--space-1);gap:var(--space-3);text-align:center}.Modal_close__DoyCi{position:absolute;top:calc(var(--space-1)/2);right:calc(var(--space-1)/2);cursor:pointer;line-height:var(--space-1);padding:var(--space-1);transition:all .3s ease-in-out;opacity:.6}.Modal_close__DoyCi:hover{opacity:1}.Modal_close__DoyCi:active{transform:scale(.95)}@media screen and (min-width:1000px){.Modal_modalContainer__cvQwh{padding-left:var(--space-8);padding-right:var(--space-8)}}.Image_imageWrapper__FgcOi{--image-radius:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1)}.Image_imageWrapper__FgcOi.Image_rounded__lAT9K{--image-radius:var(--radius-card)}.imagewell .Image_imageWrapper__FgcOi.Image_rounded__lAT9K{--image-radius:var(--radius-lg)}.Image_imageBox__i493I{position:relative;line-height:0}.Image_imageWrapper__FgcOi.Image_rounded__lAT9K .Image_imageBox__i493I,.Image_imageWrapper__FgcOi.Image_rounded__lAT9K .Image_imageBox__i493I:before{border-radius:var(--image-radius);overflow:hidden}.Image_imageWrapper__FgcOi.Image_rounded__lAT9K .Image_imageBox__i493I:before{position:absolute;inset:0;content:"";box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.imagewell .Image_imageWrapper__FgcOi.Image_rounded__lAT9K .Image_imageBox__i493I:before{display:none}.Image_image__zrobv{max-width:100%}.Image_zoomIndicator___xYoR{position:absolute;width:var(--space-5);height:var(--space-5);top:var(--space-2);right:var(--space-2);padding:var(--space-1);cursor:pointer;border-radius:100px;line-height:1;color:hsla(0,0%,5%,.9);border:1px solid rgba(51,51,51,.2);opacity:.5}@media screen and (min-width:1200px){.Image_imageWrapper__FgcOi:has(.Image_zoomIndicator___xYoR):hover .Image_imageBox__i493I{cursor:zoom-in}.Image_zoomIndicator___xYoR{display:block;z-index:1}}.Image_zoomIndicator___xYoR,.Image_zoomIndicator___xYoR *{transition:all .2s ease}.Image_zoomIndicator___xYoR svg{line-height:1;mix-blend-mode:difference}.Image_imageWrapper__FgcOi:hover .Image_zoomIndicator___xYoR{opacity:1;background-color:hsla(0,0%,100%,.6)}.Image_imageWrapper__FgcOi:hover .Image_zoomIndicator___xYoR:hover{border-color:rgba(51,51,51,.6);background-color:hsla(0,0%,100%,.9)}.Image_imageWrapper__FgcOi:hover .Image_zoomIndicator___xYoR svg{color:#000;mix-blend-mode:normal}.Image_zoomIndicator___xYoR:hover svg{transform:scale(1.1)}.Image_lightboxImage__ABss5{border-radius:var(--radius-lg)}.ImageWell_imageWellWrapper__Uw_rE{position:relative}.ImageWell_imageWell__rJ1qw{display:flex;overflow:hidden;gap:var(--space-standard);flex-direction:column;padding:var(--space-standard);border-radius:var(--radius-card);background:#eee}.ImageWell_imageWell__rJ1qw:before{border-radius:var(--radius-card);position:absolute;inset:0;content:"";box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.ImageWell_imageWell__rJ1qw.ImageWell_center__VmJc9{align-items:center}.ImageWell_imageWell__rJ1qw.ImageWell_grayscale__VE0GJ{filter:saturate(0)}.ImageWell_custom__o2ZkL{background:var(--bgCustom)}.ImageWell_gridPaper__xOTiz{background:url(/images/grid-pattern-light.svg) 50% #eee;background-size:8px}.ImageWell_kalimbaDark__atoOw{background:radial-gradient(#151515,#050505);box-shadow:inset 0 0 80px 10px #000}.ImageWell_bridgeGradient__BtsJI{background:linear-gradient(240deg,#0038ff,#a07fff)}.ImageWell_elevateGradient__ECRoX{background:linear-gradient(160deg,hsl(from #F4F2FD h s l/1),hsl(from #5E1ECC h s l/.2))}.ImageWell_white__xLqOq{background:#fff;border-color:rgba(var(--front-rgb),.05)}.Tags_tags__YBq49{flex-wrap:wrap;max-width:340px}.Tags_tag__x0aU9{display:flex;gap:.1em;font-size:1.2rem;line-height:1.2;color:hsl(from hsl(var(--text-hsl)) h s 30%)}.Tags_hash__6bFCa{opacity:.5}.ProjectHeader_description__IPx5Z{max-width:60ch}.ProjectHeader_backLink__UARVb{align-self:flex-start}.ProjectFooter_footer__9Oxud{border-bottom:1px solid #e6e6e6}