@keyframes scale-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes reveal-from-blur{0%{opacity:.5;filter:blur(50px)}to{opacity:1;filter:blur()}}@keyframes reveal-from-transparent{0%{opacity:0}to{opacity:1}}@keyframes reveal-from-right{0%{opacity:0;filter:blur(30px);transform:translate(25%)scale(.5)}to{opacity:1;filter:blur();transform:translate(0%)scale(1)}}@keyframes reveal-from-left{0%{opacity:0;filter:blur(30px);transform:translate(-25%)scale(.5)}to{opacity:1;filter:blur();transform:translate(0%)scale(1)}}@keyframes reveal-from-bottom{0%{opacity:0;filter:blur(30px);transform:translateY(25%)scale(.5)}to{opacity:1;filter:blur();transform:translateY(0%)scale(1)}}@keyframes reveal-from-top{0%{opacity:0;filter:blur(30px);transform:translateY(-25%)scale(.5)}to{opacity:1;filter:blur();transform:translateY(0%)scale(1)}}@keyframes reveal-from-bottom-right{0%{opacity:0;filter:blur(30px);transform:translate(25vmax,25vmax)scale(.5)}to{opacity:1;filter:blur();transform:translate(0%)scale(1)}}@keyframes reveal-from-bottom-left{0%{opacity:0;filter:blur(30px);transform:translate(-25vmax,25vmax)scale(.5)}to{opacity:1;filter:blur();transform:translate(0%)scale(1)}}@keyframes reveal-from-top-left{0%{opacity:0;filter:blur(30px);transform:translate(-25vmax,-25vmax)scale(.5)}to{opacity:1;filter:blur();transform:translate(0%)scale(1)}}@keyframes reveal-from-top-right{0%{opacity:0;filter:blur(30px);transform:translate(25vmax,-25vmax)scale(.5)}to{opacity:1;filter:blur();transform:translate(0%)scale(1)}}@keyframes reveal-text-from-top{0%{filter:blur(30px);transform:translateY(-400px)scale(.9)}to{filter:blur();transform:translateY(0)scale(1)}}@keyframes expand-horizontal{0%{transform:scaleX(0)}to{transform:scaleX(2)}}@keyframes expand-vertical{0%{transform:scaleY(0)}to{transform:scaleY(2)}}@font-face{font-family:Space;src:url(/fonts/space-grotesk.woff2)format("truetype");font-weight:100 900;font-display:swap}:root{--carbon:$carbon;--white:$white;--primary-color:$primary-color;--carbon-50:$carbon-50;--white-50:$white-50;--primary-color-50:$primary-color-50;--carbon-30:$carbon-30;--white-30:$white-30;--primary-color-30:$primary-color-30;--carbon-10:$carbon-10;--white-10:$white-10;--primary-color-10:$primary-color-10;--space-scale:$space-scale;--space-2:$space-2;--space-1:$space-1;--space-0:$space-0;--space-3:$space-3;--space-4:$space-4;--space-5:$space-5}html{overscroll-behavior-y:none;font-size:12px}@media (width<=330px){html{font-size:10px}}body{overscroll-behavior-y:none;color:#e5e5e5;background-color:#000;font-family:Space,system-ui,-apple-system,Roboto,Helvetica Neue,Ubuntu,Cantarell,Open Sans;overflow:hidden visible}body::selection{background:#bd4aff4d}*{scrollbar-width:thin;scrollbar-color:#e5e5e51a transparent;margin:0;padding:0;font-family:inherit;box-sizing:border-box!important}.font-regular,.text-md.font-regular,.text-xl.font-regular{font-weight:300}.dark-color{color:#222}.font-bold{font-weight:600}.translucid{opacity:.5}.nowrap{white-space:nowrap}body,h1,h2,h3,h4,h5,h6,p,a,.text-sm,.text-sm *{font-size:1rem;font-weight:300;line-height:1.1}.text-md,.text-md *{font-size:1.75rem;font-weight:600;line-height:1.1}.text-xl,.text-xl *{font-size:3.0625rem;font-weight:600;line-height:1.1}i{font-style:normal}h1,h2,h3,h4,h5,h6,p,span,a,a:after,cite,ul,li{text-box-trim:trim-both;text-box-edge:cap alphabetic;display:block;overflow:visible}button{all:unset;cursor:pointer;font:inherit;color:inherit}button:focus-visible{outline-offset:2px;outline:2px solid}li{all:unset;font:inherit;color:inherit}a{color:inherit;pointer-events:all;gap:.285714rem;text-decoration:none;display:inline-flex}a[data-colored=true]{color:#bd4aff}a[data-link=intern]:after{content:"→";transition:transform .3s cubic-bezier(.2,0,0,1)}a[data-link=extern]:after{content:"↗";transition:transform .3s cubic-bezier(.2,0,0,1)}a:active>span.label{text-decoration:underline}a:active[data-link=intern]:after{transform:translate(.228571rem)}a:active[data-link=extern]:after{transform:translate(.171429rem,-.171429rem)}@media (hover:hover) and (pointer:fine){a:hover>span.label{text-decoration:underline}a:hover[data-link=intern]:after{transform:translate(.228571rem)}a:hover[data-link=extern]:after{transform:translate(.171429rem,-.171429rem)}}img{object-fit:contain;object-position:center;width:100%;height:100%;position:relative;inset:0}.non-selectable{user-select:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.slide-section{scroll-snap-align:start;contain:paint;view-timeline-name:--slide;view-timeline-axis:block;width:100vw;height:100svh;min-height:500px}.on-corner{position:absolute}.on-corner.ne{top:1.75rem;right:1.75rem}.on-corner.nw{top:1.75rem;left:1.75rem}.on-corner.se{bottom:1.75rem;right:1.75rem}.on-corner.sw{bottom:1.75rem;left:1.75rem}@font-face{font-family:Space;src:url(/fonts/space-grotesk.woff2)format("truetype");font-weight:100 900;font-display:swap}.pictogram{aspect-ratio:1;fill:currentColor;vertical-align:-.125em;display:inline-block}@font-face{font-family:Space;src:url(/fonts/space-grotesk.woff2)format("truetype");font-weight:100 900;font-display:swap}.header{z-index:999;user-select:none;width:500px;max-width:100vw;padding:.571429rem;transition:transform 1.5s cubic-bezier(.2,0,0,1),opacity 1.5s cubic-bezier(.2,0,0,1),flex-basis 1.5s cubic-bezier(.2,0,0,1),filter 1.5s cubic-bezier(.2,0,0,1),background-color .8s cubic-bezier(.2,0,0,1);display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.header .glass-panel{-webkit-backdrop-filter:blur(10px)saturate(2);background-color:#22222280;border-radius:4rem;flex-direction:column;justify-content:center;gap:.326531rem;width:100%;height:100%;padding:0 0 0 1.75rem;display:flex;overflow:hidden;box-shadow:inset 0 -1px 10px #e5e5e51a,inset 0 0 1px .5px #e5e5e51a}.header__nav{width:100%;height:4rem;display:flex;position:relative}.header__nav .panel-main{z-index:1;transform-origin:100%;flex-shrink:0;flex-basis:100%;height:4rem;transition:transform 1.5s cubic-bezier(.2,0,0,1),opacity 1.5s cubic-bezier(.2,0,0,1),flex-basis 1.5s cubic-bezier(.2,0,0,1),filter 1.5s cubic-bezier(.2,0,0,1),background-color .8s cubic-bezier(.2,0,0,1);position:relative;overflow:hidden}.header__nav .panel-main .title,.header__nav .panel-main .subtitle,.header__nav .panel-main .back-button{transition:transform 1.5s cubic-bezier(.2,0,0,1),opacity 1.5s cubic-bezier(.2,0,0,1),flex-basis 1.5s cubic-bezier(.2,0,0,1),filter 1.5s cubic-bezier(.2,0,0,1),background-color .8s cubic-bezier(.2,0,0,1)}.header__nav .panel-main .back-button{aspect-ratio:1;opacity:0;border-radius:50%;justify-content:center;align-items:center;height:100%;display:flex;position:absolute;top:0;right:0}.header__nav .panel-main .back-button:active{background-color:#e5e5e51a}@media (hover:hover) and (pointer:fine){.header__nav .panel-main .back-button:hover{background-color:#e5e5e51a}}.header__nav .panel-inner-page{will-change:transform;z-index:0;flex-shrink:0;width:calc(100% - 4rem);padding-left:.571429rem;transition:transform 1.5s cubic-bezier(.2,0,0,1),opacity 1.5s cubic-bezier(.2,0,0,1),flex-basis 1.5s cubic-bezier(.2,0,0,1),filter 1.5s cubic-bezier(.2,0,0,1),background-color .8s cubic-bezier(.2,0,0,1);position:absolute;inset:0 0 0 auto;overflow:hidden;transform:scale(.01)}.header__nav .panel-inner-page>a[data-is-last-inner-page=false]{display:none}.header__nav[data-inner-page-is-open=true] .panel-main{aspect-ratio:1;flex-basis:4rem;transform:scale(1.03)}.header__nav[data-inner-page-is-open=true] .panel-main .title,.header__nav[data-inner-page-is-open=true] .panel-main .subtitle{opacity:0}.header__nav[data-inner-page-is-open=true] .panel-main .back-button{opacity:1}.header__nav[data-inner-page-is-open=true] .panel-inner-page{transform:scale(1)}.header__contacts-container{padding-left:.571429rem}.header__contacts-container .contacts{-webkit-backdrop-filter:blur(10px)saturate(2);background-color:#22222280;border-radius:4rem;height:4rem;padding:.326531rem;display:flex;overflow:hidden;box-shadow:inset 0 -1px 10px #e5e5e51a,inset 0 0 1px .5px #e5e5e51a}.header__contacts-container .contacts>:not(:first-child){margin-left:-.326531rem}.header__contacts-container .contact-link{aspect-ratio:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;height:100%;transition:background-color .8s cubic-bezier(.2,0,0,1);display:flex}.header__contacts-container .contact-link:active{background-color:#e5e5e51a}@media (hover:hover) and (pointer:fine){.header__contacts-container .contact-link:hover{background-color:#e5e5e51a}}@font-face{font-family:Space;src:url(/fonts/space-grotesk.woff2)format("truetype");font-weight:100 900;font-display:swap}.tags-container{display:inline}.tags-container .tag:not(:last-child):after{content:" • ";opacity:.5;padding:0 .571429rem;display:inline-block;transform:scale(1.5)translateY(-.05em)}.tags-container .tag .detail{font-style:italic}@font-face{font-family:Space;src:url(/fonts/space-grotesk.woff2)format("truetype");font-weight:100 900;font-display:swap}.project-card-container{width:100%;height:var(--height);background-color:var(--background-color);contain:paint;view-timeline-name:--slide;view-timeline-axis:block;justify-content:center;display:flex;overflow:hidden}.project-card-container[data-pattern=true]{position:relative}.project-card-container[data-pattern=true]:before{content:"";background-image:var(--pattern-link);background-size:var(--pattern-size) auto;opacity:var(--pattern-opacity);pointer-events:none;background-position:50%;background-repeat:repeat;position:absolute;inset:0}.project-card-container .project-card{width:100%;max-width:1500px;height:100%;position:relative}.project-card-container .project-card__preview{width:100%;min-width:min(100%,1000px);position:absolute;inset:0 auto 0 0}.project-card-container .project-card__data{background:radial-gradient(ellipse 100% 100% at top center, transparent 50%, var(--background-color) 100%);justify-content:space-between;align-items:flex-end;width:100%;height:26.7969rem;padding:1.75rem;display:flex;position:absolute;inset:auto 0 0}.project-card-container .project-card__data .title-and-cta{text-align:right;flex-direction:column;align-items:flex-end;gap:1.75rem;display:flex}.project-card-container .project-card__data .title-and-cta .title{flex-direction:column;gap:.571429rem;display:flex}@font-face{font-family:Space;src:url(/fonts/space-grotesk.woff2)format("truetype");font-weight:100 900;font-display:swap}.cta-primary{cursor:pointer;color:#222;opacity:.9;background-color:#e5e5e5;border-radius:3.0625rem;justify-content:center;align-items:center;gap:.571429rem;padding:.8rem;transition:transform .8s cubic-bezier(.2,0,0,1),opacity .8s cubic-bezier(.2,0,0,1);display:flex}.cta-primary:active{opacity:1}.cta-primary:active>.picto{transform:rotate(10deg)}.cta-primary:active>.label{text-decoration:none}@media (hover:hover) and (pointer:fine){.cta-primary:hover{opacity:1}.cta-primary:hover>.picto{transform:rotate(10deg)}.cta-primary:hover>.label{text-decoration:none}}.cta-primary>.picto{aspect-ratio:1;will-change:transform;justify-content:center;align-items:center;transition:transform .8s cubic-bezier(.2,0,0,1),opacity .8s cubic-bezier(.2,0,0,1);display:flex;transform:rotate(0)}.cta-primary>.label{padding-right:.285714rem}@font-face{font-family:Space;src:url(/fonts/space-grotesk.woff2)format("truetype");font-weight:100 900;font-display:swap}.quote-section{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.quote-section .quote-content{margin:1.75rem;padding:0 1.75rem}.quote-section .quote-content .quote{text-align:left;display:flex;position:relative}@media (width<=500px){.quote-section .quote-content .quote{display:block}}.quote-section .quote-content .quote{flex-direction:column;align-items:flex-start}.quote-section .quote-content .quote:before,.quote-section .quote-content .quote:after{content:""}.quote-section .quote-content .quote>span{text-box-trim:none;font-size:1.75rem;display:inline}.quote-section .quote-content .quote>span:first-child:before,.quote-section .quote-content .quote>span:last-child:after{opacity:.5}.quote-section .quote-content .quote>span:first-child:before{content:"«";position:absolute;left:-1em}.quote-section .quote-content .quote>span:last-child:after{content:" »"}.quote-section .quote-content .author{width:fit-content;padding-top:1rem;display:block}.layout[data-astro-cid-gdcb3e3g]{text-align:center;white-space:nowrap;justify-content:center;align-items:center;width:100%;height:100%;display:flex}@font-face{font-family:Space;src:url(/fonts/space-grotesk.woff2)format("truetype");font-weight:100 900;font-display:swap}.carousel-section{overscroll-behavior-x:none;background-color:#22222280;height:100%;position:relative;overflow:hidden}.carousel-section:before{content:"";opacity:.05;pointer-events:none;background-image:url(/medias/patterns/pattern.webp);background-position:50%;background-repeat:repeat;background-size:40px;position:absolute;inset:0}.carousel-section .carousel-inner{overscroll-behavior-x:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;align-data:stretch;height:100%;list-style:none;transition:transform .7s cubic-bezier(.2,0,0,1),opacity 1s cubic-bezier(.2,0,0,1),width .3s cubic-bezier(.6,0,.4,1),box-shadow 1s cubic-bezier(.2,0,0,1);display:flex;overflow-x:auto}.carousel-section .carousel-inner::-webkit-scrollbar{display:none}.carousel-section .carousel-inner .carousel-extremity{color:#0000;width:3.0625rem;height:100%}.carousel-section .carousel-inner .slide{scroll-snap-align:start;flex-direction:column;flex:0 0 100%;list-style:none;display:flex}.carousel-section .carousel-control-button{all:unset;cursor:pointer;color:#0000;opacity:0;z-index:1;width:1.75rem;height:100%;font-size:0;transition:transform .7s cubic-bezier(.2,0,0,1),opacity 1s cubic-bezier(.2,0,0,1),width .3s cubic-bezier(.6,0,.4,1),box-shadow 1s cubic-bezier(.2,0,0,1);display:none;position:absolute;top:0}.carousel-section .carousel-control-button.prev{background:url(/pictos/picto-arrow-carbon.svg) no-repeat center/15px 15px, linear-gradient(90deg, var(--background-color), transparent);left:0}.carousel-section .carousel-control-button.next{background:url(/pictos/picto-arrow-carbon.svg) no-repeat center/15px 15px, linear-gradient(90deg, var(--background-color), transparent);right:0;transform:rotate(180deg)}.carousel-section .carousel-dots{z-index:1;justify-content:center;display:flex;position:absolute;bottom:1.75rem;left:50%;transform:translate(-50%,5px)}.carousel-section .carousel-dots .dot-container{appearance:none;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:5px;transition:transform .7s cubic-bezier(.2,0,0,1),opacity 1s cubic-bezier(.2,0,0,1),width .3s cubic-bezier(.6,0,.4,1),box-shadow 1s cubic-bezier(.2,0,0,1);display:flex}.carousel-section .carousel-dots .dot-container .dot{backdrop-filter:blur(5px);border-radius:10px;width:8px;height:8px;transition:transform .7s cubic-bezier(.2,0,0,1),opacity 1s cubic-bezier(.2,0,0,1),width .3s cubic-bezier(.6,0,.4,1),box-shadow 1s cubic-bezier(.2,0,0,1);overflow:hidden}.carousel-section .carousel-dots .dot-container .dot .dot-progression{content:"";opacity:0;height:100%;transition:transform .7s cubic-bezier(.2,0,0,1),opacity 1s cubic-bezier(.2,0,0,1);display:block}.carousel-section .carousel-dots .dot-container .dot[data-color-mode=dark]{background-color:#2222224d}.carousel-section .carousel-dots .dot-container .dot[data-color-mode=dark] .dot-progression{background-color:#222}.carousel-section .carousel-dots .dot-container .dot[data-color-mode=light]{background-color:#e5e5e54d}.carousel-section .carousel-dots .dot-container .dot[data-color-mode=light] .dot-progression{background-color:#e5e5e5}.carousel-section .carousel-dots .dot-container.active .dot{width:40px}.carousel-section .carousel-dots .dot-container.active .dot .dot-progression{opacity:1}.carousel-section:active .carousel-control-button{opacity:.5}.carousel-section:active .carousel-control-button:active{opacity:1}@media (hover:hover) and (pointer:fine){.carousel-section:active .carousel-control-button:hover{opacity:1}.carousel-section:hover .carousel-control-button{opacity:.5}.carousel-section:hover .carousel-control-button:active{opacity:1}}@media (hover:hover) and (pointer:fine) and (hover:hover) and (pointer:fine){.carousel-section:hover .carousel-control-button:hover{opacity:1}}@font-face{font-family:Space;src:url(/fonts/space-grotesk.woff2)format("truetype");font-weight:100 900;font-display:swap}.footer{scroll-snap-align:end;background-color:#000;flex-direction:column;height:100lvh;min-height:500px;display:flex}.footer__dual-cards{width:100%;height:100%;display:flex}.footer__dual-cards>*{width:100%}@media (width<=900px){.footer__dual-cards>:last-child{display:none}}.footer__data{background-color:#22222280;flex-direction:column;flex-shrink:0;gap:1.75rem;padding:3.0625rem;display:flex;position:relative;overflow:hidden}.footer__data:after{content:" ";filter:blur(40px);will-transform:transform;height:40px;mix-blend-mode:linear-light;opacity:.6;background-color:#634aff;border-radius:100%;animation:8s ease-in-out infinite lightAnimation;position:absolute;inset:-40px 40% auto 15%}.footer__data:before{content:" ";filter:blur(40px);will-transform:transform;mix-blend-mode:hard-light;opacity:.6;background-color:#ff4ae7;border-radius:100%;height:40px;animation:15s ease-in-out infinite lightAnimation;position:absolute;inset:-40px 15% auto 40%}.footer__contacts{z-index:1;justify-content:center;gap:.571429rem;display:flex;position:relative}.footer__credits{flex-shrink:0;justify-content:space-between;display:flex}.footer__credits-info{gap:.326531rem;display:inline-flex}.footer .anonymous-form{justify-content:space-between;padding:0 1.75rem;display:flex}.footer .anonymous-form>input{appearance:none;box-shadow:none;color:#e5e5e580;background:0 0;border:none;border-radius:0;outline:none;margin:0;padding:1.75rem 0}.footer .anonymous-form__message{text-align:left;width:100%}.footer .anonymous-form__message::placeholder{color:inherit;opacity:.5}.footer .anonymous-form__submit-input{cursor:pointer;opacity:.5}.footer .anonymous-form__submit-input:active{text-decoration:underline}@media (hover:hover) and (pointer:fine){.footer .anonymous-form__submit-input:hover{text-decoration:underline}}@keyframes lightAnimation{0%{transform:scaleX(1)translateY(-30%)}20%{transform:scaleX(2)translateY(10%)}50%{transform:scaleX(1)translateY(-40%)}80%{transform:scaleX(2)translateY(20%)}to{transform:scaleX(1)translateY(-30%)}}
