@font-face{font-family:baskerville;src:url(/baskerville.ttf)}:root{--foreground-rgb:#2b2b2b;--background-rgb:#f2f2f2}*{box-sizing:border-box;padding:0;margin:0}body,html{scroll-snap-type:y mandatory;max-width:100vw;font-size:16px;font-family:baskerville,serif}body{color:var(--foreground-rgb);background:var(--background-rgb)}#root{min-height:100vh;width:100%;position:relative}#root,.fullscreen-intro{display:flex;flex-direction:column;align-items:center}.fullscreen-intro{z-index:9999;color:var(--foreground-rgb);background:var(--background-rgb);justify-content:center;overflow:hidden;position:absolute;font-size:3rem;top:0;left:0;right:0;height:100vh}.credits{font-size:.75rem;font-weight:400;padding-top:2rem;color:rgba(43,43,43,.55)}.container{display:grid;width:100%;scroll-behavior:smooth;scroll-snap-type:both mandatory;align-items:start}a{color:inherit;text-decoration:none}nav a{display:block;padding-bottom:.25rem;font-size:.75rem;color:rgba(43,43,43,.55);transition:all .6s}nav .mobile-links a{font-size:1rem;padding:.5rem}a.active,nav a:hover{color:#2b2b2b}.detail-button img{transition:all .3s}.detail-button.open img{transform:rotate(45deg)}.detail-drawer{position:fixed;top:0;left:0;right:0;height:100vh;z-index:1000;background:var(--background-rgb);text-align:center;animation:append-animate .5s ease-in-out;display:flex;flex-direction:column}.detail-drawer-title{padding:3rem}.detail-drawer-info{text-align:center;padding:3rem;font-size:.75rem;flex-grow:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.detail-drawer-credits{font-size:.75rem;font-weight:400;color:rgba(43,43,43,.55);padding:3rem}.close-button{opacity:0;transition:all .3s;cursor:pointer}.close-button img{width:1.25rem;transform:rotate(45deg);transition:all .5s}.navigation header{height:5rem;display:flex;background:var(--background-rgb);flex-direction:row;align-items:center;justify-content:space-between}.container aside,.container nav{position:-webkit-sticky;position:sticky;align-self:start;background-color:var(--background-rgb)}.container nav{z-index:9999}.image{position:relative;width:100%;aspect-ratio:3/2;background-color:rgba(43,43,43,.1);background-size:cover;background-position:50%;display:flex;justify-content:stretch;align-items:stretch;flex-direction:row;background-repeat:no-repeat;filter:grayscale(65%);transition:all 1s}.top-container{cursor:url(/up.png),auto;top:0}.bottom-container,.top-container{width:100%;position:absolute;left:0;right:0;height:50dvh}.bottom-container{cursor:url(/down.png),auto;bottom:0}.image-loaded{background-size:cover;background-position:50%;width:100%;background-repeat:no-repeat;animation:append-animate .5s ease-in-out;position:relative}.image:hover{filter:grayscale(0)}.project-thumb .image-wrapper{position:relative;width:100%;aspect-ratio:3/2}.container aside{padding-top:5rem}.home-content{width:100%}main#info{padding-top:5rem}.carrousel-image{width:100%;background-position:top;background-size:contain;background-repeat:no-repeat}.mobile-nav-button{cursor:pointer}main#projects{display:grid}.info-box{position:absolute;bottom:3rem;width:100%}.info-box button{color:rgba(43,43,43,.55);transition:all .3s;cursor:pointer;border:0;background:none}.info-box button:hover{color:#2b2b2b}.mobile-nav-header{display:flex;align-items:center;justify-content:center}.description-info{opacity:0;text-align:justify;font-size:.75rem;transition:all .6s;position:absolute;bottom:0}.description-info.visible{opacity:1}.overview-image-caption{position:absolute}.sub-links{padding-left:1rem}.headshot-wrapper{background-image:url(/info.jpeg);background-size:contain;background-repeat:no-repeat;background-position:100% 0}.contact-section{margin-bottom:1rem;font-size:.75rem}.contact-title{text-transform:uppercase}aside .description{text-align:justify;font-size:.75rem}aside.project-aside{box-sizing:border-box;transition:all .3s}figcaption{padding-top:1rem;font-size:.75rem}main#home{padding-top:5rem}.project-name{font-size:.75rem;text-transform:uppercase}figcaption .location{font-weight:400;color:rgba(43,43,43,.55);text-transform:none}.contact{text-align:right}.image-container-mobile{min-height:50vh;padding-top:5rem;position:relative;flex-grow:0;width:calc(100% - 2px);background-size:contain;scroll-snap-align:center;background-repeat:no-repeat;background-position:50%}#detail-image-container{width:100%;padding-top:5rem;position:relative}.image-container{height:calc(100vh - 5rem - 4rem);position:relative;flex-grow:0;background-size:contain;background-repeat:no-repeat;background-position:top}.image-container-loading-image{background-color:rgba(43,43,43,.1)}@keyframes append-animate{0%{opacity:0}to{opacity:1}}.image-container-loaded-image{top:0;bottom:0;width:100%;background-size:contain;background-position:top;animation:append-animate .5s ease-in-out}@media screen and (min-width:240px){.container{padding:2rem;grid-template-columns:1fr}.headshot-wrapper{max-height:50dvh;background-position:top}aside#contact{padding-top:2rem}.container nav,.mobile-links{top:0;background-color:var(--background-rgb)}.mobile-links{position:fixed;left:0;right:0;bottom:0;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}.links{display:none}.carrousel-image,.headshot-wrapper,.home-content{height:calc(100vh - 4rem - 5rem)}.image-container{height:calc(80vh - 5rem - 4rem)}main#projects{grid-template-columns:1fr;gap:6rem;padding-top:3rem}.mobile-nav-button img{width:1.25rem}.counter{font-size:.75rem;font-weight:400;color:rgba(43,43,43,.55);position:fixed;bottom:0;height:3rem;left:0;right:0;z-index:4000}.bb1,.counter{display:flex;align-items:center;justify-content:center}.bb1{width:32px;height:32px;padding:.5rem;border-radius:calc(10px + .25rem);background-color:var(--background-rgb)}.detail-button{position:fixed;z-index:2000;bottom:2.75rem;display:flex;align-items:center;justify-content:center;right:0;left:0}.container aside,.container nav{top:0}.overview-image-caption{bottom:-3rem}}@media screen and (min-width:768px){.container{padding:4rem;gap:4rem}main#projects{display:grid;grid-gap:6rem;gap:6rem}.image-container{height:calc(85vh - 5rem - 8rem)}.carrousel-image,.headshot-wrapper,.home-content{height:calc(100vh - 8rem - 5rem)}#detail-image-container{padding-bottom:0}.container nav{top:0}.overview-image-caption{bottom:-3.75rem}}.picture-nav{position:absolute;top:0;left:0;padding-top:5rem;right:0;display:flex;flex-direction:row}.counter.mobile{font-size:1rem}.left,.right{flex-grow:1;display:flex;align-items:center;justify-content:center}.image-c-left,.image-c-right{font-size:1.5rem;cursor:pointer;transition:all .3s}.image-c-left.dis,.image-c-right.dis{opacity:.2;cursor:auto}.image-c-left:hover,.image-c-right:hover{color:#2b2b2b}.image-c-left{padding-right:1rem}.image-c-right{padding-left:1rem}.left{justify-content:flex-start;background-position:0;cursor:w-resize}.right{justify-content:flex-end;cursor:e-resize}@media screen and (min-width:1024px){.container{padding:5rem;gap:5rem;grid-template-columns:175px auto 175px}.image-container{height:calc(100vh - 5rem - 10rem)}.mobile-nav-button{display:none}.links,.navigation header{display:block}.carrousel-image,.headshot-wrapper,.home-content{height:calc(100vh - 10rem - 5rem)}main#projects{grid-template-columns:1fr 1fr;gap:5rem;padding-top:5rem}.container aside,.container nav{top:5rem}.overview-image-caption{bottom:-2.5rem}}@media screen and (min-width:1280px){.image-container{height:calc(100vh - 5rem - 10rem)}.container{padding:5rem;gap:5rem;grid-template-columns:175px auto 175px}.carrousel-image,.headshot-wrapper,.home-content{height:calc(100vh - 10rem - 5rem)}main#projects{grid-template-columns:1fr 1fr;gap:5rem;padding-top:5rem}.container aside,.container nav{top:5rem}.overview-image-caption{bottom:-2.5rem}}@media screen and (min-width:1440px){.container{padding:8rem;gap:8rem;grid-template-columns:175px auto 175px}.image-container{height:calc(100vh - 5rem - 16rem)}.carrousel-image,.headshot-wrapper,.home-content{height:calc(100vh - 16rem - 5rem)}main#projects{grid-template-columns:1fr 1fr;gap:8rem;padding-top:5rem}.container aside,.container nav{top:8rem}.overview-image-caption{bottom:-4rem}}@media screen and (min-width:1920px){.container{padding:9rem;gap:9rem}.image-container{height:calc(100vh - 5rem - 18rem)}.carrousel-image,.headshot-wrapper,.home-content{height:calc(100vh - 18rem - 5rem)}main#projects{gap:9rem}.overview-image-caption{bottom:-4.5rem}.container aside,.container nav{top:9rem}}