@font-face{font-family:Geist;src:url(/fonts/Geist-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"Noto Emoji";src:url(/fonts/NotoColorEmoji.ttf) format("truetype");font-weight:300 700;font-style:normal;font-display:swap}.emoji{font-family:"Noto Emoji",sans-serif}:root{font-family:Geist,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}html.home-no-scroll,body.home-no-scroll{overflow:hidden;height:100%}a{color:#fff;text-decoration:none}h1{font-size:3.2em;line-height:1.1}p{font-family:Geist,system-ui,sans-serif;font-size:1rem;color:#fff;letter-spacing:-.2%;margin:0}.opacity{color:#ffffff40}code,pre,kbd{font-family:Geist Mono,ui-monospace,monospace}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.card{padding:2em}.container{width:100vw;display:flex;flex-direction:column;justify-content:center;align-items:center}.global-menu[data-v-f1c15cd8]{position:fixed;top:48px;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;box-sizing:border-box;height:3.5rem;pointer-events:none}@media(max-width:768px){.global-menu[data-v-f1c15cd8]{top:24px;padding-left:24px;padding-right:24px}}.global-menu[data-v-f1c15cd8]>*{pointer-events:auto}.global-menu__logo-link[data-v-f1c15cd8]{display:flex;flex-direction:column;gap:8px;line-height:105%;max-width:200px;font-family:Geist,system-ui,sans-serif;font-weight:400;font-size:.75rem;letter-spacing:.05em;color:#ffffffde;text-decoration:none;transition:opacity .2s ease}.global-menu__logo-link[data-v-f1c15cd8]:hover{opacity:.8}.global-menu__logo-image[data-v-f1c15cd8]{width:2rem;height:2rem}.global-menu__nav[data-v-f1c15cd8]{display:flex;flex-direction:column;align-items:flex-end}.global-menu__grid[data-v-f1c15cd8]{display:grid;grid-template-columns:1ch 4px 1fr 50px;grid-template-rows:1.25em 1.25em;row-gap:.25rem;column-gap:0;min-width:8rem;font-family:Geist Mono,ui-monospace,monospace;font-size:.85em;color:#ffffffde}.global-menu__bracket[data-v-f1c15cd8]{grid-row:1;align-self:center;pointer-events:none;transition:transform .35s ease-out}.global-menu__bracket--open[data-v-f1c15cd8]{grid-column:1;padding-right:4px}.global-menu__bracket--close[data-v-f1c15cd8]{grid-column:4;text-align:right;transition-delay:.06s}.global-menu__bracket--row-2[data-v-f1c15cd8]{transform:translateY(calc(1.25em + .25rem))}.global-menu__item[data-v-f1c15cd8]{grid-column:3;align-self:center;font-family:inherit;font-size:inherit;letter-spacing:.05em;color:inherit;text-decoration:none;text-align:left;transition:opacity .2s ease;opacity:.4}.global-menu__item[data-v-f1c15cd8]:first-of-type{grid-row:1}.global-menu__item[data-v-f1c15cd8]:last-of-type{grid-row:2}.global-menu__item[data-v-f1c15cd8]:hover{opacity:.8}.global-menu__item--active[data-v-f1c15cd8]{opacity:1}.about-menu[data-v-743c3343]{height:100vh;position:fixed;top:0}.about-menu--left[data-v-743c3343]{width:12vw;left:0;display:flex;align-items:center;padding-left:1rem;box-sizing:border-box}.about-menu--right[data-v-743c3343]{width:12vw;right:0;display:flex;align-items:center;justify-content:flex-end;padding-right:1rem;box-sizing:border-box}.about-menu--home[data-v-743c3343]{top:auto;bottom:24px;height:auto;width:12vw;font-family:Geist Mono,ui-monospace,monospace;font-size:.85em;letter-spacing:.05em;color:#fff9}.about-menu--home-left[data-v-743c3343]{left:0;padding-left:1rem}@media(max-width:768px){.about-menu--home[data-v-743c3343]{display:none}}@media(max-width:768px){.about-menu--left[data-v-743c3343],.about-menu--right[data-v-743c3343]{top:auto;bottom:24px;height:auto;width:auto}}.about-menu__mask[data-v-743c3343]{height:1.2em;display:flex;align-items:center;width:100%}.about-menu__counter[data-v-743c3343]{font-family:Geist Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.about-menu__counter--home .about-menu__counter-digit[data-v-743c3343]{min-width:2ch}.about-menu__counter[data-v-743c3343]{font-size:.85em;letter-spacing:.05em;color:#fff9;width:100%;display:flex;align-items:center;justify-content:flex-end;white-space:pre}.about-menu__counter-static[data-v-743c3343]{flex-shrink:0;white-space:pre}.about-menu__counter-digit-wrap[data-v-743c3343]{display:inline-flex;align-items:center}.about-menu__counter .about-menu__mask[data-v-743c3343]{width:1ch;min-width:1ch;display:inline-flex;justify-content:center}.about-menu__counter-digit[data-v-743c3343]{display:inline-flex;align-items:center;justify-content:center;min-width:1ch}.about-menu .menu-item[data-v-743c3343]{height:100vh;display:flex;justify-content:center;align-items:center}.about-menu .menu-item--current[data-v-743c3343]{height:auto;width:100%;justify-content:center}.menu-slide-leave-active[data-v-743c3343],.menu-slide-enter-active[data-v-743c3343]{transition:transform .35s ease-out,opacity .25s ease-out}.menu-slide-leave-to[data-v-743c3343]{transform:translateY(-75%);opacity:0}.menu-slide-enter-from[data-v-743c3343]{transform:translateY(75%);opacity:0}.menu-slide-enter-to[data-v-743c3343]{transform:translateY(0);opacity:1}.menu-slide-reverse-leave-active[data-v-743c3343],.menu-slide-reverse-enter-active[data-v-743c3343]{transition:transform .35s ease-out,opacity .25s ease-out}.menu-slide-reverse-leave-to[data-v-743c3343]{transform:translateY(100%);opacity:0}.menu-slide-reverse-enter-from[data-v-743c3343]{transform:translateY(-100%);opacity:0}.menu-slide-reverse-enter-to[data-v-743c3343]{transform:translateY(0);opacity:1}.shader-background[data-v-7c386c75]{position:fixed;inset:0;z-index:-1;overflow:hidden}.shader-background canvas[data-v-7c386c75]{display:block;width:100%;height:100%}.copy-feedback[data-v-34a420ab]{position:fixed;pointer-events:none;z-index:9999;font-family:Geist,system-ui,sans-serif;font-size:.8rem;color:#ffffffe6;white-space:nowrap}.copy-feedback-enter-active[data-v-34a420ab],.copy-feedback-leave-active[data-v-34a420ab]{transition:opacity .25s ease}.copy-feedback-enter-from[data-v-34a420ab],.copy-feedback-leave-to[data-v-34a420ab]{opacity:0}#app[data-v-16a8fa69]{position:relative;min-height:100vh;z-index:0}.app-nav[data-v-16a8fa69]{display:flex;gap:1.5rem;background:#1a1a1a;border-bottom:1px solid #333}.app-nav a[data-v-16a8fa69]{color:#eee;text-decoration:none}.app-nav a[data-v-16a8fa69]:hover,.app-nav a.router-link-active[data-v-16a8fa69]{color:#42b883}.scroll-preview[data-v-d01a9a38]{width:100%}.scroll-preview__track[data-v-d01a9a38]{position:relative;width:100%;min-height:120px;overflow:hidden;cursor:pointer;overflow:visible}.scroll-preview__thumbnails[data-v-d01a9a38]{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-left:9px;pointer-events:none}.scroll-preview__thumb[data-v-d01a9a38]{max-width:65px;width:auto;height:auto;flex-shrink:0;opacity:.85}.scroll-preview__viewport[data-v-d01a9a38]{position:absolute;box-sizing:border-box;border:1px solid rgba(0,0,0,.1254901961);border-radius:2px;pointer-events:none}.work-modale[data-v-f16109f5]{position:fixed;inset:0;z-index:1000}.work-modale__overlay[data-v-f16109f5]{position:absolute;inset:0;background:#00000040;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:opacity .15s ease-out;cursor:pointer}.work-modale__overlay--hidden[data-v-f16109f5]{opacity:0;pointer-events:none}.work-container[data-v-f16109f5]{position:fixed;z-index:10000;background-color:#fff;color:#000;width:70vw;height:100vh;right:0;top:0;padding:0;display:flex;flex-direction:column;overflow:hidden;transform:translate(100%);transition:transform .3s ease-in-out}@media(max-width:768px){.work-container[data-v-f16109f5]{width:90vw}}.work-container--opening[data-v-f16109f5]{transform:translate(0)}.work-container--closing[data-v-f16109f5]{transform:translate(100%)}.work-container .work-scroll[data-v-f16109f5]{flex:1;min-height:0;overflow-y:auto;scroll-behavior:smooth}.work-container .work-header[data-v-f16109f5]{position:sticky;top:0;z-index:2;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:2rem 2rem 0;mix-blend-mode:exclusion;color:#fff}.work-container .work-header__title[data-v-f16109f5]{font-size:2rem;font-weight:400}.work-container .work-header__close[data-v-f16109f5]{font-family:Geist Mono;font-size:.75rem;font-weight:500;padding:0;margin:0;background:none;border:none;cursor:pointer;color:inherit;white-space:pre}.work-container .work-content[data-v-f16109f5]{display:flex;flex-direction:row;justify-content:space-between;padding:0 2rem 2rem;gap:2rem}@media(max-width:768px){.work-container .work-content[data-v-f16109f5]{flex-direction:column;flex:1;min-height:0}}.work-container .work-left[data-v-f16109f5]{position:sticky;top:5rem;align-self:flex-start;display:flex;flex-direction:column;gap:10rem;padding-top:4rem}@media(max-width:768px){.work-container .work-left[data-v-f16109f5]{position:static;gap:0}}.work-container .work-left__preview[data-v-f16109f5]{width:10rem}@media(max-width:768px){.work-container .work-left__preview[data-v-f16109f5]{display:none}}.work-container .work-left__description[data-v-f16109f5]{display:flex;flex-direction:column;justify-content:space-between;width:10rem}@media(max-width:768px){.work-container .work-left__description[data-v-f16109f5]{width:100%}}.work-container .work-left__description span[data-v-f16109f5]{color:#00000040;max-width:10rem}.work-container .work-left__description a[data-v-f16109f5]{color:#00000040}.work-container .work-left__description a[data-v-f16109f5]:hover{text-decoration:underline}.work-container .work-right[data-v-f16109f5]{display:flex;flex-direction:column;gap:8rem;flex:1;min-width:0;padding-top:4rem}.work-container .work-right__description[data-v-f16109f5]{display:flex;flex-direction:row;justify-content:space-between}@media(max-width:768px){.work-container .work-right__description[data-v-f16109f5]{flex-direction:column;gap:1rem}}.work-container .work-right__description p[data-v-f16109f5]{max-width:20rem;color:#000}.work-container .work-right__description__live[data-v-f16109f5]{position:relative;overflow:hidden;height:fit-content;padding:8px;border-radius:0;background:#00000005;color:#000;cursor:pointer;border:none;text-decoration:none;display:flex;flex-direction:row;align-items:center;gap:.4rem}@media(max-width:768px){.work-container .work-right__description__live[data-v-f16109f5]{max-width:max-content}}.work-container .work-right__description__live[data-v-f16109f5]:before{content:"";position:absolute;left:0;top:0;height:100%;width:0;background:#00000006;transition:width .25s ease-out;z-index:0}.work-container .work-right__description__live[data-v-f16109f5]:hover:before{width:100%}.work-container .work-right__description__live img[data-v-f16109f5],.work-container .work-right__description__live span[data-v-f16109f5]{position:relative;z-index:1}.work-container .work-right__description__live .live-icon[data-v-f16109f5]{width:1rem;height:1rem;border-radius:100%}.work-container .work-right__content[data-v-f16109f5]{display:flex;flex-direction:column;gap:10px;padding-bottom:10rem}.work-container .work-right__content img[data-v-f16109f5]{max-width:55vw;width:-webkit-fill-available;border-radius:2px}@media(max-width:768px){.work-container .work-right__content img[data-v-f16109f5]{max-width:100%}}.home-container[data-v-932effe2]{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;overflow:hidden;z-index:1}.home-container .home__center[data-v-932effe2]{display:flex;flex-direction:column;align-items:center;justify-content:center}.home__squares[data-v-932effe2]{display:flex;flex-direction:column;align-items:center;gap:8px}.home__squares .home__square[data-v-932effe2]{width:105px;height:105px;border-radius:2px;background:transparent;box-shadow:inset 0 0 0 1px #ffffff40;transition:transform .6s ease-out,opacity .6s ease-out}.home__squares .home__square--ease-out[data-v-932effe2]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}.home__squares .home__square--ease-none[data-v-932effe2]{transition-timing-function:linear}.home__squares .home__square--ease-in[data-v-932effe2]{transition-timing-function:cubic-bezier(.895,.03,.685,.22)}.home__squares .home__square--animate[data-v-932effe2]{opacity:0}.home__squares--top .home__square--animate[data-v-932effe2]{transform:translateY(150px)}.home__squares--bottom .home__square--animate[data-v-932effe2]{transform:translateY(-150px)}.home__spacer[data-v-932effe2]{height:100px;flex-shrink:0}.home__text[data-v-932effe2]{display:flex;flex-direction:column;align-items:center;text-align:center;transition:opacity .5s ease-out}.home__text--hidden[data-v-932effe2]{opacity:0}.home__text .home__name[data-v-932effe2]{margin:0;font-family:Geist,system-ui,sans-serif;font-size:1rem;font-weight:400;color:#fffffff2;letter-spacing:.02em}.home__text .home__title[data-v-932effe2]{margin:.25rem 0 0;font-family:Geist,system-ui,sans-serif;font-size:1rem;font-weight:400;color:#fff9;letter-spacing:.02em}.home__projects[data-v-932effe2]{position:absolute;inset:0;display:flex;flex-wrap:nowrap;flex-direction:row;align-items:center;justify-content:center;gap:1.5rem;padding:2rem;box-sizing:border-box;pointer-events:auto}@media(max-width:768px){.home__projects[data-v-932effe2]{flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:flex-start;padding-top:5rem;overflow-y:auto}}.home__project[data-v-932effe2]{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;transition:opacity .5s ease-out,transform .5s ease-out}.home__project:hover .home__project-cover[data-v-932effe2]{opacity:.9}.home__project-cover[data-v-932effe2]{width:min(217px,(100vw - 4rem - 7.5rem) / 6);aspect-ratio:1;overflow:hidden;border-radius:2px;transition:opacity .2s ease}@media(max-width:768px){.home__project-cover[data-v-932effe2]{width:min(217px,100vw - 4rem)}}.home__project-image[data-v-932effe2]{width:100%;height:100%;object-fit:cover;display:block}.home__project-title[data-v-932effe2]{display:inline-flex;align-items:center;gap:.4rem;text-align:left;padding:.35rem .6rem;background:#ffffff15;border-radius:2px;font-family:Geist Mono,ui-monospace,monospace;font-size:.75rem;letter-spacing:.08em;color:#ffffffe6}.home__project-title .home__project-icon[data-v-932effe2]{width:1rem;height:1rem;border-radius:100%;flex-shrink:0}.projects-fade-enter-active[data-v-932effe2]{transition:opacity .5s ease-out}.projects-fade-enter-active .home__project[data-v-932effe2]{transition:opacity .5s ease-out,transform .5s ease-out}.projects-fade-enter-from[data-v-932effe2]{opacity:0}.projects-fade-enter-from .home__project[data-v-932effe2]{opacity:0;transform:translateY(40px)}.projects-fade-enter-to[data-v-932effe2]{opacity:1}.projects-fade-enter-to .home__project[data-v-932effe2]{opacity:1;transform:translateY(0)}.page-title[data-v-1a28bd16],.interest-num[data-v-1a28bd16]{height:105px;display:flex;align-items:center}.grid-container[data-v-1a28bd16]{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:1fr auto 1fr;gap:8px;width:70vw;padding-left:24px;padding-right:24px;height:-webkit-fill-available;min-height:0;overflow:auto}.grid-container .col[data-v-1a28bd16]{height:100%;min-height:0}@media(max-width:768px){.grid-container[data-v-1a28bd16]{display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:1.5rem;width:100%;max-width:100%;padding-left:0;padding-right:0;height:auto;min-height:0;max-height:calc(100dvh - 10rem);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.grid-container .col[data-v-1a28bd16]{display:none}}.interest-container[data-v-1a28bd16]{display:flex;flex-direction:column;width:100%;min-width:0}@media(max-width:768px){.interest-container[data-v-1a28bd16]{width:auto;max-width:100%;align-items:center;flex-shrink:0}}.interest-container .img-container[data-v-1a28bd16]{width:100%;aspect-ratio:1;flex-shrink:0;outline:rgba(255,255,255,.2509803922) 1px solid;overflow:hidden}@media(max-width:768px){.interest-container .img-container[data-v-1a28bd16]{width:160px;height:160px;aspect-ratio:unset}}.interest-container .img-container img[data-v-1a28bd16]{width:100%;height:100%;object-fit:cover;transition:opacity .15s ease}.interest-container span[data-v-1a28bd16]{display:block;width:100%;min-height:1.5em;margin-top:6px;opacity:0;transition:opacity .15s ease}.interest-container span.is-visible[data-v-1a28bd16]{opacity:1}@media(max-width:768px){.interest-container span[data-v-1a28bd16]{opacity:1;width:100%;max-width:160px;text-align:left}}.experiences-container[data-v-4a387ac8]{display:flex;flex-direction:column;gap:2rem}.experience-row[data-v-4a387ac8]{display:flex;justify-content:space-between;align-items:flex-start;gap:6rem}@media(max-width:768px){.experience-row[data-v-4a387ac8]{flex-direction:column;gap:0}}.experience-left[data-v-4a387ac8]{display:flex;flex-direction:column}.experience-left__title[data-v-4a387ac8]{font-family:Geist;font-size:1.35rem;font-weight:400}.experience-left__company[data-v-4a387ac8]{font-family:Geist Mono;font-size:.88rem;text-transform:uppercase}.experience-dates[data-v-4a387ac8]{display:flex;flex-direction:column;text-align:right;font-family:Geist;font-size:.88rem}@media(max-width:768px){.experience-dates[data-v-4a387ac8]{text-align:left;align-self:flex-start}}.experience-dates__bracket[data-v-4a387ac8]{margin-right:1rem}.experience-dates__bracket[data-v-4a387ac8]:last-child{margin:0 .2rem}.experience-dates__start[data-v-4a387ac8]{width:fit-content}.experience-dates__end[data-v-4a387ac8]{width:fit-content;padding-left:1.2rem}@media(max-width:768px){.experience-dates__end[data-v-4a387ac8]{padding-left:0}}.contact[data-v-d97df6ed]{display:flex;flex-direction:column;gap:3rem}.contact__statement[data-v-d97df6ed]{font-family:Geist;font-size:1.35rem;font-weight:400;line-height:1.4;margin:0}.contact__details[data-v-d97df6ed]{display:flex;flex-direction:column;gap:1rem;font-family:Geist;font-size:.88rem}.contact__details-mail[data-v-d97df6ed]{display:flex;flex-direction:row;gap:2rem}.contact__details-mail .bracket-close[data-v-d97df6ed]{margin-left:2rem}.contact__details-social[data-v-d97df6ed]{display:flex;flex-direction:row;gap:2rem;white-space:pre}.contact__details-social .socials[data-v-d97df6ed]{display:flex;flex-direction:column}.contact__details-social .socials a[data-v-d97df6ed]{text-decoration:none}.hover[data-v-d97df6ed]:hover{cursor:pointer;color:#fff;transition:color .2s ease}.about-scroll-container[data-v-d6e3a797]{height:100vh;overflow-y:scroll;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding-left:12vw;padding-right:12vw;box-sizing:border-box}.about-scroll-container[data-v-d6e3a797]::-webkit-scrollbar{display:none}.about-section[data-v-d6e3a797]{height:100vh;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;justify-content:center;align-items:center}.about-section p[data-v-d6e3a797]{max-width:16rem}
