.loader{position:fixed;width:100vw;height:calc(var(--vh, 1vh)*100);background-color:#000;z-index:100;--progress:0}.loader__button,.loader__percent{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:unbounded;color:#fff;font-size:50px;transition:opacity .5s .5s,transform .5s 0s}.loader__button.hide,.loader__percent.hide{opacity:0;transition-delay:0s;pointer-events:none}.loader__button span,.loader__percent span{font-size:20px}.loader__button{--clipPath:1;background-color:transparent;border:none;font-size:30px;padding:60px 20px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;clip-path:circle(calc(50%*var(--clipPath)) at 50% 50%)}.loader__button:hover{transform:translate(-50%,-50%) scale(.95)}.loader__button:hover+svg circle{stroke-width:5px}.loader svg{top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);position:absolute;width:200px;pointer-events:none}.loader svg circle{stroke:#fff;stroke-dasharray:calc(255px*var(--progress)) 250px;fill:none;transition:stroke-width .5s,stroke-dasharray .5s}.loader svg .circle_inner{fill:#000;stroke:none}@font-face{font-family:unbounded;src:url(/fonts/Unbounded-VariableFont_wght.6cdfea9a.woff2) format("woff2 supports variations"),url(/fonts/Unbounded-VariableFont_wght.6cdfea9a.woff2) format("woff2-variations");font-weight:200 1000}#gl,#texture{position:fixed;top:0;left:0;pointer-events:none;touch-action:none}nav{position:fixed;top:20px;left:20px;z-index:1000}nav a{font-family:unbounded;text-decoration:none;color:#fff;font-weight:bolder;position:absolute;left:50%;top:50%;width:70px;height:70px;transform:translate(-50%,calc(-50% - 2px));display:flex;justify-content:center;align-items:center}nav svg{width:70px;pointer-events:none}nav svg path{stroke:#fff;fill:none;stroke-width:2;stroke-dasharray:0 70;transition:stroke-dasharray .5s,transform .5s ease;transform-origin:50% 50%;transform:rotateY(0)}nav svg circle{stroke:#fff;stroke-width:2;stroke-dasharray:0 250px;fill:none;transform:rotate(180deg);transform-origin:50% 50%;transition:stroke-width .5s,stroke-dasharray .5s,transform .5s}nav svg.show{pointer-events:auto}nav svg.show circle{stroke-dasharray:255px 250px;transform:rotate(1turn)}nav svg.show path{stroke-dasharray:70 70;transition-delay:.2s}@media (hover:hover){nav:hover svg.show circle{transition:stroke-width .5s,stroke-dasharray 0s,transform 0s;stroke-width:3;animation:circleHover .5s ease-out 0s forwards}nav:hover svg.show path{transform:scale(.8)}}#texture{opacity:0}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;z-index:100}body{height:calc(var(--vh, 1vh)*100);overflow:hidden}.scroll-container{scroll-behavior:auto!important;height:100vh;height:calc(var(--vh, 1vh)*100)!important;overflow:hidden;position:relative;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:none;z-index:10}.canvas-container{position:fixed;width:100vw;height:100vh;top:0;left:0;pointer-events:none;z-index:-1}.canvas-container canvas{position:absolute;top:0;left:0;width:100%!important;height:100%!important}.fade-enter-active,.fade-leave-active{transition:opacity .5s}.fade-enter,.fade-leave-to{opacity:0}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}.home .intro{height:100vh;width:100vw;font-family:unbounded}.home .intro__text{position:fixed;top:65vh;color:#fff;left:50%;transform:translateX(-50%);font-size:20px;width:90vw;line-height:1.5}.home .intro__text .line{overflow:hidden}.home .intro__text .line .link,.home .intro__text .line .word{transform:translateY(100%);transition:transform .7s cubic-bezier(.39,.575,.565,1)}.home .intro__text.show .link,.home .intro__text.show .word{transform:translateY(0)}@media screen and (max-width:400px){.home .intro__text{top:55vh;font-size:14px}}.home .projects .video_preload{display:none}.home .contact{height:100vh}.home .contact__content{display:flex;position:fixed;flex-direction:column;align-items:center;justify-content:center;top:0;left:0;width:100vw;height:100vh;opacity:0;pointer-events:none;transition:opacity .5s;color:#fff;width:-moz-max-content;width:max-content;left:50%;transform:translateX(-50%)}.home .contact__content hr{border:1px solid #fff;width:100%;margin:0;transform:scaleX(0)}.home .contact__content h2{font-family:unbounded;font-size:60px;padding-bottom:10px;overflow:hidden}.home .contact__content h2 .chars{transform:translateY(110%)}@media screen and (max-width:400px){.home .contact__content h2{font-size:40px}}.home .contact__content.show{opacity:1;pointer-events:auto}.home .contact__content.animateIn hr{transform:scaleX(1);transition:transform 1s cubic-bezier(.39,.575,.565,1)}.home .contact__content.animateIn h2 .chars{transform:translateY(0);transition:transform .6s cubic-bezier(.39,.575,.565,1)}.home .contact__content.animateIn .contact__links li{transform:translateY(0);transition:transform 1s}.home .contact__links{display:flex;width:90vw;max-width:500px;font-family:unbounded;justify-content:space-between;padding-top:30px;overflow:hidden}.home .contact__links li{transform:translateY(calc(-100% - 50px))}.home .contact__links a{color:#fff}.project__item{height:100vh;position:relative;margin-bottom:25vh;pointer-events:none}.project__item .content{position:fixed;bottom:20px;left:20px;text-align:left;font-family:unbounded;color:#fff;will-change:transform}.project__item .content a{text-decoration:none;color:#fff}.project__item .content h2{font-size:60px;max-width:min(60vw,650px);margin-bottom:10px}@media screen and (max-width:400px){.project__item .content h2{max-width:300px;margin-bottom:10px;font-size:40px}}.project__item .content h4{font-size:16px}.project__item .content .char{--wght:900;opacity:0}.project__item .content .line .word{word-wrap:no-wrap;white-space:nowrap}.button{display:inline-block;margin-top:20px;padding:15px 15px;position:relative;overflow:hidden;color:#fff;text-decoration:none}.button-border{--radius:50;z-index:-1;left:0;position:absolute;top:0;width:calc(var(--radius)*1px);height:calc(var(--radius)*1px);transform:scale(0)}.button-border-left{left:0;border-radius:calc(var(--radius)*1px) 0 0 calc(var(--radius)*1px)}.button-border-left,.button-border-right{position:absolute;width:calc(var(--radius)*.5px);height:calc(var(--radius)*1px);top:0;background-color:#000}.button-border-right{left:calc(var(--radius)*.5px);border-radius:0 calc(var(--radius)*1px) calc(var(--radius)*1px) 0;transform:translateX(calc(var(--contentWidth)*1px - var(--radius)*.5px))}.button-border-center{width:1px;transform:scaleX(calc(var(--contentWidth) - var(--radius)*.5));background-color:#000;position:absolute;top:-.75px;left:0;height:calc(var(--radius)*1px + 1px);border-radius:100px;transform-origin:0 50%;left:calc(var(--radius)*.5px)}.button-container{display:inline-flex;align-items:center;width:-moz-max-content;width:max-content;opacity:0}.button .link-logo{width:20px;padding-right:10px}.button .link-logo svg{fill:#fff}.counter{display:flex;font-family:unbounded;color:#fff;position:fixed;top:40px;right:40px;transition:opacity .5s}.counter.hide{opacity:0}.counter .current{font-size:40px;margin-top:-40px;position:absolute;left:0;transform:translateX(-80%) translateY(-20px)}.counter .current__item{margin:40px;position:absolute;top:100%;top:0;left:0;transform:translateY(100%);opacity:0;font-weight:0}.counter .current__item:first-child{position:relative}.counter .total{font-size:20px}.link{line-height:1.5;text-decoration:none;color:#fff;position:relative;overflow:hidden;display:inline-block;overflow-y:hidden;vertical-align:top}.link,.link .char{font-family:unbounded}.link:before{content:"";position:absolute;width:100%;height:100%;background-color:#fff;left:0;transform:scaleX(0);transition:transform .3s cubic-bezier(.455,.03,.515,.955);transform-origin:50% 0;height:2px;bottom:0}.link.show:before{transform:scaleX(1)}.link:hover:before{transform:scaleX(0)}.link:hover:after{transform:translateX(0);transition-delay:.1s}.scroll-cta{position:fixed;right:10px;bottom:10px;transform:rotate(-90deg);display:flex;align-items:center;transform-origin:50% 50%;flex-direction:row-reverse;background-color:transparent;border:none;font-family:unbounded;color:#fff;cursor:pointer;z-index:100}.scroll-cta .text-content{overflow:hidden;position:absolute;left:100%;width:-moz-max-content;width:max-content;top:50%;transform:translateY(-50%);opacity:1;transition:opacity .5s ease}.scroll-cta .text-content span{display:block;transform:translateX(-100%);text-align:left;text-transform:uppercase;letter-spacing:3px;padding-left:10px;line-height:1.2;transition:transform .5s;font-size:12px}@media screen and (max-width:400px){.scroll-cta .text-content span{top:55vh;font-size:10px;padding-left:0}}.scroll-cta .text-content.show span{transform:translateX(0)}@media screen and (max-width:400px){.scroll-cta.mobileHidden .text-content{opacity:0}}.scroll-cta svg{width:50px;pointer-events:none;transition:transform .5s cubic-bezier(.3,.67,.55,1.13)}.scroll-cta svg.reverse{transform:rotate(180deg)}.scroll-cta svg path{stroke:#fff;fill:none;stroke-width:3;stroke-dasharray:0 70;transition:stroke-dasharray .5s,transform .5s ease;transform-origin:50% 50%;transform:rotateY(0)}.scroll-cta svg circle{stroke:#fff;stroke-width:3;stroke-dasharray:0 250px;fill:none;transform:rotate(180deg);transform-origin:50% 50%;transition:stroke-width .5s,stroke-dasharray .5s,transform .5s}.scroll-cta svg.show circle{stroke-dasharray:255px 250px;transform:rotate(1turn)}.scroll-cta svg.show path{stroke-dasharray:70 70;transition-delay:.2s}@media (hover:hover){.scroll-cta:hover svg circle{transition:stroke-width .5s,stroke-dasharray 0s,transform 0s;stroke-width:5;animation:circleHover .5s ease-out 0s forwards}.scroll-cta:hover svg path{transform:scale(.8)}}@keyframes circleHover{0%{transform:rotateX(180deg);stroke-dasharray:255px 250px}49%{transform:rotateX(180deg);stroke-dasharray:0px 250px}50%{transform:rotateX(0deg);stroke-dasharray:0px 250px}to{transform:rotateX(0deg);stroke-dasharray:255px 250px}}.scroll-cta .fade-enter-active,.scroll-cta .fade-leave-active{transition:opacity .5s ease}.scroll-cta .fade-enter-from,.scroll-cta .fade-leave-to{opacity:0}.scroll-cta .slide-enter-from{transform:translateX(-100%)!important}.scroll-cta .slide-leave-to{transform:translateX(100%)!important}.scroll-cta .slide-enter-active,.scroll-cta .slide-leave-active{transform:translateX(0);transition:transform .5s ease}.scroll-cta.isContact svg path{transform:rotateY(180deg)}.lab_page .lab_intro{height:100vh}.lab_page .exp{margin-bottom:10vh}.lab_page .exp div{height:100vh}