@import"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300&display=swap";@import"https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap";:root{--color-switch:white;--color-pink:#8aff92;--color-pink02:#ff8ad2;--color-green:#8aff92;--color-grey:rgb(181,181,181);--color-background:grey;--padding-global:1rem;--mainColor:#8aff92;--secondColor:grey;--pinkColor:#ff87c3}::selection{background:var(--pinkColor);color:var(--color-grey)}::-moz-selection{background:var(--pinkColor);color:var(--color-grey)}*{margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;text-rendering:optimizeLegibility;-ms-overflow-style:none;scrollbar-width:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}::-webkit-scrollbar{display:none}@font-face{font-family:Inter-Regular;src:url(/_next/static/media/Inter-Regular.34ba43c9.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Inter-Light;src:url(/_next/static/media/Inter-Light.8e9094d3.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Inter-SemiBold;src:url(/_next/static/media/Inter-SemiBold.95439fb4.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Jetbrain-Regular;src:url(/_next/static/media/JetBrainsMono-Regular.b8c97eba.woff2) format("woff2");font-weight:400;font-style:normal}body,html{background-color:var(--color-background)}@media(max-width:768px){body,html{height:100%;overflow:hidden;overscroll-behavior:none}}body,html{font-family:sans-serif;font-family:Inter,sans-serif;font-family:Inter-Light,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.project-list-img-info-row{display:flex;flex-direction:row;align-items:flex-end;width:100%;max-width:min(75vw,650px);margin-bottom:0}@media(max-width:768px){.project-list-img-info-row{max-width:100vw}}.project-list-info-outside{margin-left:1.5rem;margin-bottom:.2rem;padding:.5rem 1rem;min-width:0;box-sizing:border-box;align-self:flex-end}.project-list-info-overlay{position:fixed;top:85%;right:0;transform:translateY(-50%);color:var(--secondColor);color:var(--pinkColor);padding:1rem;font-size:.8rem;text-align:end;white-space:normal;display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;z-index:1000;pointer-events:none}.project-list-info-overlay p{display:block;margin:0;padding:0}@media(max-width:768px){.project-list-info-overlay{display:none}}.project-list-img-wrapper{flex:0 0 auto;width:60%;min-width:180px}@media(max-width:768px){.project-list-img-wrapper{flex:0 0 100vw;width:100vw;min-width:0}}.project-list-title-sticky{grid-area:1/1;align-self:start;position:-webkit-sticky;position:sticky;top:0;display:block;font-size:1.3rem;line-height:1;z-index:10;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--pinkColor)}.project-list-title-sticky.is-hovered{white-space:normal;text-overflow:unset;overflow:visible}.project-list-title-sticky .project-list-title-text{display:block;overflow:hidden;text-overflow:ellipsis}.project-list-title-sticky.is-hovered .project-list-title-text{overflow:visible;text-overflow:unset}.project-list-title-sticky .project-list-title-year{display:none;font-size:.85rem;line-height:1.1;margin-top:.2em;font-weight:500}@media(min-width:769px){.project-list-title-sticky.is-hovered .project-list-title-year{display:block}}.project-list-title-sticky{pointer-events:none;padding:.5rem;text-align:right}@media(max-width:768px){.project-list-title-sticky{font-size:1rem}}.project-list-year-bottom-right{position:absolute;bottom:35%;right:10%;font-size:1rem;z-index:3;white-space:nowrap;color:var(--pinkColor);display:none}.project-list-info{flex:1 1;padding:.5rem 1rem;max-width:40%;min-width:0;box-sizing:border-box}.project-list-info-title{margin-bottom:.2rem}.project-list-info-year{margin-left:.7rem}.project-list-info-tags{margin-bottom:.4rem}.project-list-info-desc{margin-top:.2rem}.scrollable-homepage{min-height:100vh;height:100vh;min-height:100dvh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}.project-list-vertical{max-width:100vw;margin:0;gap:0;flex:1 1;min-height:0;overflow:hidden;width:100%}.project-list-item,.project-list-vertical{display:flex;flex-direction:column;align-items:flex-start}.project-list-item{width:min(75vw,650px);max-width:min(75vw,650px);margin-left:0;margin-bottom:0}@media(max-width:768px){.project-list-item{max-width:100vw}}.project-list-img-wrapper{position:relative;width:100%;max-width:min(75vw,650px);height:auto;display:grid}@media(max-width:768px){.project-list-img-wrapper{max-width:100vw}}.project-list-img-link{grid-area:1/1;display:block;width:100%}a.project-list-img-link .project-list-img{cursor:pointer}.project-list-img{width:100%;max-width:min(75vw,650px);height:auto;object-fit:cover;filter:grayscale(100%);transition:filter .3s;border-radius:0;box-shadow:none;cursor:default;display:block;-webkit-user-drag:none}@media(max-width:768px){.project-list-img{width:100vw;max-width:100vw}}.loading-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--pinkColor);font-size:.8rem;z-index:200;pointer-events:none}.project-list-vertical{opacity:0;transition:opacity .8s ease-in-out}.images-loaded .project-list-vertical{opacity:1}.project-list-img-wrapper+.project-list-img-wrapper{margin-top:0}.project-list-img-wrapper{margin-bottom:0}.project-list-img-wrapper:hover .project-list-img,.project-list-img:focus{filter:grayscale(0)}.project-list-title-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,.45);font-size:.7rem;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s;text-align:center;z-index:2}.project-list-img-wrapper:hover .project-list-title-overlay{opacity:1;pointer-events:auto}.project-list-mobile-desc{display:none}@media(max-width:768px){.project-list-mobile-desc{display:block;position:absolute;bottom:.6rem;left:.6rem;color:var(--pinkColor);font-size:.6rem;text-align:left;pointer-events:none;z-index:5}.project-list-mobile-desc p{display:inline;margin:0;padding:0}}.about-tag-btn.selected{background:#e05fa7;color:#fff;border:2px solid #fff}.tag-project-list{margin-top:1.5rem;padding-left:0;list-style:none}.tag-project-list .tag-project-title{font-size:1.1rem;color:#222;margin-bottom:.5rem;font-weight:500}.homepage{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden;background-color:var(--color-background)}.homepage .project-description{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 1rem 1rem 4rem}@media(max-width:768px){.homepage .project-description{padding-bottom:2rem;padding-top:2rem}}.homepage .project-description p{color:var(--mainColor);color:var(--secondColor);color:#bbb;font-size:1rem;letter-spacing:-.02em}.homepage .project-description p a{color:var(--pinkColor);text-decoration:none}.homepage .project-description p a:hover{text-decoration:underline}.homepage .about-tags{margin-top:2rem;margin-bottom:2rem;display:flex;gap:1rem;justify-content:flex-start;align-items:center;flex-wrap:wrap;display:none}.homepage .about-tags .about-tag-btn{color:#fff;border:none;font-size:1.2rem;cursor:pointer;transition:background .2s,color .2s}.homepage .about-tags .about-tag-btn:hover{background:#e05fa7}.homepage .project-hover-year{color:var(--pinkColor);font-weight:500;font-size:.7rem}@media(max-width:768px){.homepage .project-hover-year{font-size:.6rem}}@media(any-pointer:coarse){.project-list-vertical{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}}@media(max-width:768px){.homepage.scrollable-homepage{height:auto;min-height:100vh;min-height:100dvh;overflow-y:visible;overflow-x:hidden;display:block}.project-list-vertical{overflow:visible;max-height:none;max-width:100vw}}.project-page{--portfolio-name-width:max(9rem,22vw);--portfolio-name-top:1rem;--portfolio-name-left:1rem;--portfolio-about-gap:clamp(1rem,3vw,2.5rem);--portfolio-copy-left:calc(var(--portfolio-name-left) + var(--portfolio-name-width) + var(--portfolio-about-gap));--portfolio-picture-right:2rem;--portfolio-picture-bottom:6rem;--portfolio-entrance-peek:clamp(7.5rem,32vh,20rem);--portfolio-rail-width:min(850px,calc(100vw - var(--portfolio-copy-left) - var(--portfolio-picture-right)));position:relative;width:100vw;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;background-color:var(--color-background);overflow:hidden;overscroll-behavior:none;touch-action:pan-y}@media(max-width:768px){.project-page{--portfolio-name-width:max(7rem,38vw);--portfolio-name-top:0.75rem;--portfolio-name-left:0.5rem;--portfolio-about-gap:0.75rem;position:fixed;inset:0;width:100%;height:100%;min-height:0;touch-action:none}}.project-page-title{position:absolute;top:1rem;left:1rem;z-index:3;color:var(--pinkColor);font-size:1.3rem;font-weight:400;line-height:1.1;max-width:70%;margin:0}@media(max-width:768px){.project-page-title{font-size:1rem;max-width:80%}}.project-page-title-link{color:var(--pinkColor);text-decoration:none}.project-page-title-link .project-page-title-name,.project-page-title-link .project-page-title-url{display:block;overflow-wrap:anywhere}.project-page-title-link .project-page-title-url{display:none}.project-page-title-link:focus-visible .project-page-title-name,.project-page-title-link:hover .project-page-title-name{display:none}.project-page-title-link:focus-visible .project-page-title-url,.project-page-title-link:hover .project-page-title-url{display:block;text-decoration:underline;text-underline-offset:.12em}.project-page-year{display:inline;font-size:.85em;white-space:nowrap}.project-page-picture{position:absolute;inset:0;overflow:hidden;z-index:1}.project-page-picture-slide{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;padding-left:var(--portfolio-copy-left);padding-right:var(--portfolio-picture-right);padding-bottom:var(--portfolio-picture-bottom);box-sizing:border-box}@media(min-width:769px){.project-page-picture-slide{justify-content:flex-end;padding-left:0}}@media(max-width:768px){.project-page-picture-slide{align-items:center;justify-content:center;padding:0 1rem}}@media(min-width:769px){.project-page-picture-slide.is-single{display:none!important}}.project-page-picture-slide.is-desktop-rail{display:none;padding:0;z-index:1;pointer-events:none}@media(min-width:769px){.project-page-picture-slide.is-desktop-rail{display:block}}@media(max-width:768px){.project-page-picture-slide.is-entrance .project-page-picture-rail{left:50%;width:calc(100vw - 2rem)}}.project-page-picture-rail{position:absolute;top:0;left:max(50%,var(--portfolio-copy-left) + var(--portfolio-rail-width)/2);display:flex;flex-direction:column;align-items:stretch;width:var(--portfolio-rail-width);margin:0;padding:0;gap:0;line-height:0;transform:translate3d(-50%,0,0)}.project-page-rail-item{display:block;flex:0 0 auto;width:100%;max-width:100%;margin:0;padding:0;line-height:0;pointer-events:none}.project-page-rail-item.is-current{pointer-events:auto}.project-page-rail-item .project-page-img{filter:grayscale(1);transition:filter .25s}.project-page-rail-item.is-current:hover .project-page-img{filter:none}.project-page-picture-rail .project-page-img-link{display:block;width:100%;max-width:100%;max-height:none;margin:0;line-height:0}.project-page-picture-rail .project-page-img{width:100%;height:auto;max-width:100%;max-height:none;margin:0;object-fit:fill;object-position:center}.project-page-img-link{display:block;flex-shrink:0;max-height:100%;text-decoration:none;cursor:pointer}@media(min-width:769px){.project-page-img-link{max-width:850px}}@media(max-width:768px){.project-page-img-link{max-width:calc(100vw - 2rem)}}.project-page-img{display:block;width:100%;max-width:100%;max-height:100%;height:auto;object-fit:contain;object-position:bottom left;-webkit-user-drag:none}@media(min-width:769px){.project-page-img{width:auto;max-width:850px;object-position:bottom right}}@media(max-width:768px){.project-page-img{width:calc(100vw - 2rem);max-width:calc(100vw - 2rem);margin-inline:auto;object-position:center}}.portfolio-about,.portfolio-project-layer{position:absolute;inset:0;width:100%;height:100%;background-color:var(--color-background)}.portfolio-project-layer{touch-action:none}.portfolio-about{display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;overflow:hidden}.portfolio-about-scroll{flex:1 1 auto;min-height:0;width:100%;height:100%;display:grid;grid-template-columns:var(--portfolio-name-width) minmax(0,1fr);align-items:start;grid-gap:var(--portfolio-about-gap);gap:var(--portfolio-about-gap);padding:var(--portfolio-name-top) var(--portfolio-name-left) 4.5rem;box-sizing:border-box;overflow:hidden}.portfolio-about-scroll.has-names .portfolio-about-copy{grid-column:2}.portfolio-name-column{position:absolute;top:var(--portfolio-name-top);left:var(--portfolio-name-left);z-index:4;width:var(--portfolio-name-width);max-height:calc(100dvh - 5.5rem);padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;overflow-y:auto;overscroll-behavior:contain;pointer-events:none;font-size:clamp(.95rem,2.1vh,1.4rem);font-weight:400;line-height:1.2}@media(min-width:769px){.portfolio-name-column{font-size:clamp(.88rem,1.9vh,1.22rem)}}.portfolio-name-column>*{width:100%}.portfolio-name-heading{margin:0;max-width:100%;font:inherit;font-weight:400;line-height:inherit}.portfolio-about-copy{justify-self:stretch;width:100%;max-width:min(64rem,100%);max-height:calc(100dvh - 5.5rem);margin-left:0;margin-right:clamp(.5rem,2vw,1.5rem);overflow-y:auto;overscroll-behavior:contain;padding:0;cursor:auto}@media(min-width:769px){.portfolio-about-copy{padding:0 0 calc(var(--portfolio-entrance-peek) + 1rem)}}.portfolio-about-copy p{color:#bbb;font-size:1rem;letter-spacing:-.02em}.portfolio-about-copy .rich-text-link,.portfolio-about-copy a{color:var(--pinkColor);text-decoration:none}.portfolio-about-copy .rich-text-link:hover,.portfolio-about-copy a:hover{text-decoration:underline;text-underline-offset:.12em}@media(max-width:768px){.portfolio-about-copy{width:100%;max-width:none;margin-right:0;padding-right:.25rem}}.portfolio-name-column.is-flow{display:none}@media(max-width:768px){.portfolio-about-scroll{display:flex;flex-direction:column;align-items:stretch;gap:1.75rem;overflow-x:hidden;overflow-y:auto;padding-right:.75rem;padding-left:.75rem;touch-action:pan-y}.portfolio-about-scroll.has-names .portfolio-about-copy{grid-column:auto}.portfolio-about-copy{max-height:none;overflow:visible;width:100%;max-width:none;margin-right:0;padding-right:0}.portfolio-name-column.is-overlay.is-home{display:none}.portfolio-name-column.is-overlay{position:fixed;width:-webkit-max-content;width:max-content;max-width:none;bottom:auto;max-height:none;overflow:hidden;touch-action:none}.portfolio-name-column.is-overlay .portfolio-name-heading,.portfolio-name-column.is-overlay .portfolio-name-link,.portfolio-name-column.is-overlay>*{width:auto;max-width:none}.portfolio-name-column.is-overlay .portfolio-name-link{white-space:nowrap}.portfolio-name-column.is-flow{display:flex;position:static;top:auto;left:auto;width:100%;max-width:100%;max-height:none;overflow:visible;z-index:auto}.portfolio-name-column.is-flow .portfolio-name-link{white-space:normal}}.portfolio-name-column.is-home .portfolio-name-link,.portfolio-name-link{color:var(--color-grey)}.portfolio-name-link{display:block;max-width:100%;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:left;text-decoration:none;overflow-wrap:anywhere;padding:.02rem .35rem;pointer-events:auto;transition:color .35s ease}.portfolio-name-link:hover{text-decoration:underline}.portfolio-name-link.is-selected{color:var(--pinkColor)}.portfolio-name-link.is-muted{color:#bbb}.portfolio-name-link.has-url .project-page-title-name,.portfolio-name-link.has-url .project-page-title-url{display:block;overflow-wrap:anywhere}.portfolio-name-link.has-url .project-page-title-url{display:none}.portfolio-name-link.has-url:focus-visible,.portfolio-name-link.has-url:hover{text-decoration:none}.portfolio-name-link.has-url:focus-visible .project-page-title-name,.portfolio-name-link.has-url:hover .project-page-title-name{display:none}.portfolio-name-link.has-url:focus-visible .project-page-title-url,.portfolio-name-link.has-url:hover .project-page-title-url{display:block;text-decoration:underline;text-underline-offset:.12em}.portfolio-about-button{position:fixed;left:calc(var(--portfolio-name-left) + .35rem);bottom:1rem;z-index:1004;color:var(--color-grey);font-size:.85rem;font-weight:400;line-height:1.2;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none}.portfolio-about-button:hover{color:var(--pinkColor);text-decoration:underline;text-underline-offset:.12em}@media(max-width:768px){.portfolio-about-button{left:auto;right:1rem;top:var(--portfolio-name-top);bottom:auto}}.project-page-sentence{position:absolute;right:1rem;bottom:1rem;left:auto;z-index:3;width:-webkit-max-content;width:max-content;max-width:calc(100vw - 2rem);color:var(--pinkColor);font-size:.8rem;text-align:right;line-height:1.35;white-space:nowrap}.project-page-sentence p{display:inline;margin:0;white-space:nowrap}.project-page-sentence .rich-text-link,.project-page-sentence a{color:inherit;text-decoration:none}.project-page-sentence .rich-text-link:hover,.project-page-sentence a:hover{text-decoration:underline;text-underline-offset:.12em}@media(max-width:768px){.project-page-sentence{position:fixed;font-size:.7rem;left:1rem;width:auto;white-space:normal}.project-page-sentence p{white-space:normal}}.gradient-logo-container{position:fixed;transform:translateY(-50%);z-index:1001;pointer-events:auto;cursor:pointer;text-decoration:none}.gradient-logo-container img{width:50px;height:50px;display:block}@media(max-width:768px){.gradient-logo-container img{width:32px;height:32px}}.language-toggle{display:none;position:fixed;left:calc(var(--portfolio-name-left) + .35rem);bottom:1rem;z-index:1004;color:var(--color-grey);font-size:.75rem;line-height:1;letter-spacing:.04em;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none}.language-toggle:hover{color:var(--pinkColor)}@media(max-width:768px){.language-toggle{left:auto;right:1rem}}#boot-grain,.noise-glitch,.noise-shader{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1002;pointer-events:none;display:block}.noise-glitch-defs{position:absolute;width:0;height:0;pointer-events:none}.noise-shader.is-dismissable{cursor:none}.noise-close-cursor{position:fixed;top:0;left:0;width:16px;height:16px;z-index:1005;pointer-events:none;opacity:0}#boot-grain{z-index:1003}#boot-grain svg{width:100%;height:100%;display:block}