@import"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap";:root{--color: rgba(255, 255, 255, .87);color-scheme:light dark;color:var(--color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{font-family:Montserrat,sans-serif;line-height:1.5;scrollbar-width:none}html{margin:0;padding:0}body{margin:0;padding:0;display:flex;flex-direction:column;overflow-x:hidden;min-height:100vh;width:100vw}a{text-decoration:none}a:visited{color:inherit}h2{text-transform:uppercase;font-size:clamp(1.5rem,5vh,2.25rem);font-weight:600;margin-bottom:0;margin-top:2rem}p{font-size:1rem;font-weight:300}p strong{font-weight:600}p.description{margin-top:0;font-size:clamp(1rem,2.5vh,1.25rem);font-weight:400}.title{position:fixed;left:2rem;top:1rem;cursor:pointer}.title h1{margin:0;font-size:clamp(1.5rem,8vw,2rem);font-weight:200;letter-spacing:clamp(-.075rem,1vw,-.1rem);width:max-content}.title p{margin:-.5em 0 0;padding-left:.15em;font-size:clamp(.75rem,4vw,1.25rem);font-weight:400;text-transform:uppercase;width:max-content}.frame{position:fixed;top:0;height:100dvh;width:100dvw;background-color:#0003}dots-renderer{position:fixed;top:0;width:100vw;background:linear-gradient(160deg,#121212,#363636)}dots-renderer:hover{cursor:grab}dots-renderer:hover:active{cursor:grabbing}.nav{position:absolute;bottom:32px;right:0;display:flex;gap:clamp(1ch,1vw,4ch);padding:0 4ch;height:2rem;z-index:100}.nav a{text-transform:uppercase;font-size:clamp(.75rem,4vw,1.5rem);text-decoration:none;font-weight:300;opacity:.8;transition-duration:.2s;display:inline-block;width:clamp(4rem,25vw,8rem);text-align:center}.nav a:hover{font-weight:400;opacity:1}.nav a.active{font-weight:500;opacity:1}main{z-index:20;width:100vw;display:flex;flex-direction:column;height:400vh;pointer-events:none}.section{pointer-events:auto;position:fixed;top:100vh;z-index:100;height:calc(100vh - 96px)}#projects{margin-left:auto;margin-right:4rem;display:flex;flex-direction:column;align-items:middle;width:100vw}@media (min-width: 90ch){#projects{align-items:end}}.project{width:min(60ch,45vw);height:calc(100vh - 32px);flex:0 0 100vh;overflow:hidden;margin-right:2rem;margin-left:2rem;transition:ease-in-out .3s;display:flex;flex-direction:column;align-items:start}@media screen and (max-width: 600px){.project{margin-right:1ch;width:80vw}}.project h2{transition-duration:.3s;cursor:pointer;margin-top:0}.project .content{overflow:hidden;opacity:1;transition-duration:.3s;margin-top:1rem;display:flex;flex-direction:column;align-items:start;flex-grow:1;padding-bottom:2rem}@media screen and (max-height: 600px){.project .details{display:none}}.project .filler{flex-basis:1.5rem}.project .links{display:flex;flex-direction:column;align-items:start;gap:1rem}.project a{font-size:1rem;font-weight:300;display:inline-block;padding-bottom:.25rem;color:inherit;position:relative}.project a svg{display:inline-block;margin-bottom:-.2rem}.project a:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-bottom:1px solid currentColor;transition-duration:.5s;transition-timing-function:ease-in-out;right:calc(100% + 3rem)}.project a:hover:before{right:1.75rem}.project a:after{content:"";position:absolute;top:0;right:0;bottom:0;border-bottom:1px solid currentColor;transition-duration:.5s;transition-timing-function:ease-in-out;left:0}.project a:hover:after{left:calc(100% + 3rem)}.project a:visited{color:inherit}.project.collapsed h2{opacity:.7;font-weight:300}.project.collapsed .content{opacity:0}#about{margin-top:5vh;margin-left:max(3rem,(50vw - 60ch) / 2);margin-right:3rem;max-width:60ch;transition-duration:.3s}#about.hidden{filter:blur(.5rem);opacity:0;pointer-events:none}#contact{margin:2.5vh;align-self:center;max-width:60ch;transition-duration:.3s;pointer-events:none}#contact.hidden{filter:blur(.5rem);opacity:0}#contact h2{margin-top:0;text-align:center;font-weight:500;text-wrap:pretty}#contact h2 strong{font-weight:800}#contact footer{position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}#contact .socials{display:flex;align-items:center;justify-content:center;gap:1.5rem;min-width:24rem;pointer-events:none}#contact .socials .label{text-transform:uppercase;font-size:1.5rem;margin-right:1rem;font-weight:600}#contact .socials a{line-height:normal;height:2rem;pointer-events:all}#contact svg{width:2rem;height:2rem}#contact svg *{fill:var(--color)}#contact .contact-alternate{margin-top:1rem;text-align:center;font-size:1rem;opacity:.8;min-width:24rem}#contact .mail{font-weight:500;position:relative;cursor:pointer;overflow:hidden;pointer-events:all}#contact .mail:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-bottom:1px solid currentColor;transition-duration:.5s;transition-timing-function:ease-in-out;right:calc(100% + 3rem)}#contact .mail:hover:before{right:0}#contact .mail:after{content:"";position:absolute;top:0;right:0;bottom:0;border-bottom:1px solid currentColor;transition-duration:.5s;transition-timing-function:ease-in-out;left:0}#contact .mail:hover:after{left:calc(100% + 3rem)}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);transition-duration:.15s;color:#121212;background:var(--color);padding:.5rem 1.5rem;border-radius:.25rem}.toast.hidden{bottom:-2rem}.toast.dissolved{transition-duration:.5s;filter:blur(1rem);opacity:0}
