@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono/regular.woff2) format("woff2");font-weight:100 800;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/InstrumentSans/regular.woff2) format("woff2");font-weight:100 800;font-display:swap}@font-face{font-family:Palanquin Dark;src:url(/fonts/PalanquinDark/regular.woff2) format("woff2");font-weight:100 800;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/PlayfairDisplay/italic.woff2) format("woff2");font-weight:100 800;font-display:swap}@font-face{font-family:Computer Modern Italic;src:url(/fonts/ComputerModern/italic.woff2) format("woff2");font-display:swap}@font-face{font-family:Orbitron;src:url(/fonts/Orbitron/regular.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--color-background: #0c0c0c;--color-background-transparent: #0808087c;--color-background-darker: #050505;--color-background-01: #111;--color-background-02: #1a1a1a;--color-background-03: #363636;--color-border: #2e2e2e;--color-border-darker: #1d1d1d;--color-border-01: #3f3f3f;--color-border-02: #505050;--color-border-03: #646464;--color-border-accent: #fd8661;--color-primary: #f3f3f3;--color-secondary: #a0a0a0;--color-text-dark: #1b1b1b;--color-accent: #e6582d;--color-accent-01: #f7673b}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}*::selection{background:var(--color-accent);color:var(--color-text-dark)}*::-webkit-selection{background:var(--color-accent);color:var(--color-text-dark)}html{height:100dvh;background-color:var(--color-background);scrollbar-width:none;clip-path:inset(0)}body{height:100dvh;background-color:var(--color-background-02);color:var(--color-primary);font-family:Instrument Sans,sans-serif;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar{display:none}#root{height:100dvh}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}@keyframes fade{0%{opacity:1;scale:1}to{opacity:var(--min-opacity);scale:.95}}@keyframes fade-reduced{0%{opacity:1}to{opacity:var(--min-opacity)}}.loader{position:fixed;z-index:1000;gap:5rem;width:100vw;height:100svh;background:radial-gradient(circle at center bottom,var(--color-background-01),var(--color-background) 80%);inset:0;overflow:hidden;touch-action:none;transform:translateZ(0);display:flex;flex-direction:column;justify-content:center;align-items:center}.loader__icon{width:20cqw;min-width:80px;max-width:100px;--min-opacity: .5;will-change:transform;animation:fade 1s ease-in-out infinite alternate}@media(prefers-reduced-motion:reduce){.loader__icon{animation:fade-reduced 1s ease infinite alternate}}.loader-progress{width:300px;max-width:calc(100% - 4rem);height:3px;border-radius:1rem;background-color:var(--color-background-02);overflow:hidden}.loader-progress__indicator{height:100%;background-color:#f3f3f3;transition:width .5s ease-out}@media(prefers-reduced-motion:reduce){.loader-progress__indicator{transition-duration:0s}}.waypoint-marker{--marker-size: 15px;position:fixed;width:var(--marker-size);height:var(--marker-size);will-change:transform;contain:layout;pointer-events:none;touch-action:none}.waypoint-marker.hidden{display:none}.waypoint-marker.component-hidden>.waypoint-component{display:none}.waypoint-marker__circle{position:relative;width:var(--marker-size);height:var(--marker-size);opacity:calc(1 - var(--proximity-opacity));transform:translate(-50%,-50%)}.waypoint-marker__circle:after{display:block;position:absolute;z-index:-1;width:var(--marker-size);height:var(--marker-size);border-radius:50%;background-color:#fff;content:"";animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%{opacity:0;scale:1}50%{opacity:.5}to{opacity:0;scale:2}}@media(prefers-reduced-motion:reduce){.waypoint-marker__circle:after{animation:none}}.waypoint-marker__circle:before{display:block;position:absolute;z-index:10;width:calc(var(--marker-size) - 4px);height:calc(var(--marker-size) - 4px);border:2px solid white;border-radius:50%;background-color:#f3f3f3;transition:scale .2s ease,background-color .2s ease;will-change:transform;filter:drop-shadow(0 0 5px black);content:"";cursor:pointer;pointer-events:inherit}.waypoint-marker__circle:active:before{scale:.95}.waypoint-marker__circle.selected:before{background-color:var(--color-accent);scale:1.2}.waypoint-marker__body{gap:.4rem;width:300px;padding:.8rem;border:1px solid #272727;border-radius:1rem;background-color:#0c0c0ce0;box-shadow:0 0 5px #00000073;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transform:translate(-50%);display:flex;flex-direction:column;justify-content:left;align-items:left}.waypoint-marker:has(.waypoint-marker__circle.selected)>.waypoint-marker__body{pointer-events:all}.waypoint-marker__label{font-weight:600}.waypoint-marker__description{color:var(--color-secondary);font-size:80%}.waypoint-marker__cta{display:flex;flex-direction:row;justify-content:center;align-items:flex-end;gap:.8rem;flex-grow:1;margin-top:1rem}.waypoint-marker__cta>button{height:35px;border:1px solid var(--color-border);border-radius:10px;background-color:var(--color-background-02);color:#fff;box-shadow:0 2px 5px #00000073;font-family:Instrument Sans,sans-serif;font-size:14px;transition:scale .2s ease,background-color .2s ease;flex-grow:1;flex-basis:0;cursor:pointer}.waypoint-marker__cta>button:active{scale:.98}.waypoint-marker__cta>button:hover{background-color:#1f1f1f}.waypoint-marker__cta>button.prominent{background-color:var(--color-accent);color:#fff;border-color:var(--color-border-accent)}.waypoint-marker__cta>button.prominent:hover{background-color:var(--color-accent-01)}@media screen and (max-width:768px){.waypoint-marker{--marker-size: 20px}}.waypoint-component{position:fixed;top:0;left:0;z-index:-1;width:100vw;height:calc(100svh + 1px);background:radial-gradient(circle at right bottom,#200802f5,#0c0c0cf5 50%);opacity:var(--proximity-opacity);will-change:transform,opacity;overflow:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;transform:translate(-50%,-50%) scale(var(--proximity-scale));contain:paint layout;display:flex;flex-direction:row;justify-content:center;align-items:flex-start}@media screen and (max-width:768px){.waypoint-component{height:calc(100svh - 73px)}}.waypoint-component main{width:1000px;max-width:calc(100% - 2rem);font-size:20px;line-height:1.5;overflow-y:auto;padding-top:4.25rem;padding-bottom:2rem;scrollbar-width:none}@media screen and (max-width:768px){.waypoint-component main{max-width:100%;padding:1rem;font-size:18px}}.waypoint-component__top{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end}.waypoint-component__header{gap:.5rem;width:100%;margin-top:1rem;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.waypoint-component__title{display:inline-flex;align-items:center;height:1em;font-family:Palanquin Dark,serif;font-size:clamp(50px,5cqw,80px)}.waypoint-component__subtext{color:var(--color-secondary)}.waypoint-component__back{gap:.5rem;width:100px;padding:.5rem .8rem;border:none;background-color:#ffffff07;color:var(--color-primary);font-family:Instrument Sans,sans-serif;font-size:18px;transition:scale .2s ease,background-color .2s ease;font-weight:500;cursor:pointer;display:flex;flex-direction:row;justify-content:center;align-items:center}.waypoint-component__back:hover{background-color:#ffffff10}.waypoint-component__back:active{scale:.98}.waypoint-component__back svg{width:20px;height:20px}.waypoint-component .divider{width:100%;height:1px;background-color:#fff;opacity:.3;margin-block:1rem}.waypoint-component .divider.vertical{width:1px;height:auto;margin:0}#home>.waypoint-component{background:url(/images/scatter.png);background-repeat:repeat;background-size:30px 100%}.waypoint-info{width:200px;height:125px;background-color:var(--color-background-01)}.waypoint-overlay{position:absolute;bottom:2rem;left:2rem;z-index:10;font-family:Orbitron,sans-serif;font-size:clamp(40px,15vw,250px);pointer-events:none;font-weight:900;line-height:clamp(40px,15vw,250px);font-kerning:none;text-rendering:optimizespeed}.waypoint-overlay__container>div{padding-inline:.2em;margin-inline:-.2em}@media screen and (max-width:768px){.waypoint-overlay{line-height:clamp(40px,10vw,250px)}}.navbar-wrapper{display:flex;flex-direction:row;justify-content:center;align-items:center;position:fixed;top:.5rem;left:0;z-index:999;width:100%}.navbar{display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:999;width:100%;max-width:min(1000px,100% - 2rem);height:3.25rem;padding:.5rem;background-color:#0c0c0c9c;box-shadow:0 0 5px #00000020;will-change:height;border-bottom:1px solid rgba(255,255,255,.2509803922);backface-visibility:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.navbar__body{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:2.2rem}.navbar__brand{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:.5rem;height:100%;font-family:JetBrains Mono,monospace;transition:transform .2s ease,background-color .2s ease;will-change:scale;aspect-ratio:1;cursor:pointer;flex-shrink:0}.navbar__brand svg{width:25px;height:25px;pointer-events:none}.navbar__brand:hover{background:var(--color-accent-01)}.navbar__brand:active{transform:scale(.98)}.navbar__items{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:.5rem}@media(max-width:768px){.navbar__items{display:none}}.navbar__opener{display:none;z-index:1000;flex-direction:column;justify-content:center;gap:5px;width:20px;height:32px;padding:0;border:none;background:transparent}@media(max-width:768px){.navbar__opener{display:flex}}.navbar__opener .line{width:100%;height:2px;background-color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none;backface-visibility:hidden;transform-origin:center center}.navbar__opener.active .line:first-child{transform:translateY(3px) rotate(45deg)}.navbar__opener.active .line:last-child{transform:translateY(-4px) rotate(-45deg)}.navbar__item{position:relative;height:2.2rem;padding:.5rem 1rem;border:none;background-color:inherit;color:#ffffffb3;font-family:inherit;font-size:.9375rem;transition:color .2s ease,background-color .2s ease,transform .2s ease;will-change:scale;cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none;overflow:hidden}.navbar__item:hover{background:#ffffff0d;color:#fff}.navbar__item:active{transform:scale(.98)}.navbar__item.prominent{border:1px solid #4197d1;background:#107bc2;color:#fff}.navbar__item.prominent:hover{background:#1787d1}.navbar-mobile-wrapper{display:flex;flex-direction:row;justify-content:center;align-items:center;position:fixed;bottom:-1px;left:0;z-index:999;width:calc(100% + 1px);background-color:var(--color-background-02);box-shadow:0 0 5px #00000020}.navbar-mobile{z-index:999;width:100%;height:75px;padding:.5rem;backface-visibility:hidden;overflow:hidden}.navbar-mobile__items{display:flex;flex-direction:row;justify-content:center;align-items:center;position:relative;gap:.5rem;max-width:100%}.navbar-mobile__item{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;gap:.1rem;width:80px;min-width:0;padding:.5rem 1rem;border:none;background-color:inherit;color:var(--color-secondary);font-family:inherit;font-size:12px;transition:color .2s ease,background-color .2s ease,transform .2s ease;will-change:scale,transform;white-space:nowrap;cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none}.navbar-mobile__item:after{position:absolute;top:0;left:50%;width:clamp(15px,5cqw,25px);height:2px;background-color:var(--color-accent);box-shadow:0 0 20px 2px var(--color-accent);opacity:0;transition:opacity .2s ease;transform:translate(-50%);content:""}.navbar-mobile__item svg{width:25px;height:25px;flex-shrink:0}.navbar-mobile__item.active{color:#fff;transform:translateY(.25rem)}.navbar-mobile__item.active:after{opacity:1}.button-recenter{display:flex;flex-direction:row;justify-content:center;align-items:center;z-index:99;gap:.25rem;margin:.5rem;padding:.5rem;border:1px solid var(--color-border-accent);background:linear-gradient(to bottom,var(--color-accent));color:var(--color-primary);opacity:0;font-family:Instrument Sans,sans-serif;font-size:14px;transition:scale .2s ease;will-change:transform;pointer-events:all;font-weight:500;cursor:pointer;scale:1}.button-recenter:active{scale:.98}.button-recenter svg{width:20px;height:20px;flex-shrink:0}@media screen and (max-width:768px){.button-recenter{bottom:calc(75px + .5rem)}}.bottom-cta{display:flex;flex-direction:column;justify-content:stretch;align-items:flex-end;position:fixed;right:0;bottom:0;z-index:99;pointer-events:none}.bottom-cta .waypoint-marker__body.mobile{width:calc(100% + 1px);padding:0;border:none;border-radius:0;transition:none;pointer-events:all;transform:none}.bottom-cta .waypoint-marker__body.mobile>*{padding-inline:1rem}.bottom-cta .waypoint-marker__label{font-size:20px;padding-top:1rem}.bottom-cta .waypoint-marker__description{font-size:inherit}.bottom-cta .waypoint-marker__cta{padding-bottom:1rem}.bottom-cta .waypoint-marker__cta>button{height:40px;border-radius:0;font-size:inherit;font-weight:500}.bottom-cta .clip-wrapper{overflow:hidden}.bottom-cta .clip-wrapper.fill{width:100%}@media screen and (max-width:768px){.bottom-cta{right:0;bottom:73px;left:0}}.help-overlay{display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;z-index:10;gap:3rem;width:100%;height:100%;padding:1rem;background-color:#0c0c0cdb;font-size:20px;text-shadow:0 0 5px black;pointer-events:none;text-align:center}@media screen and (max-width:768px){.help-overlay{height:calc(100% - 74px);font-size:16px}}.help-overlay__illustration{display:flex;flex-direction:row;justify-content:center;align-items:center}@keyframes interaction{0%{transform:translate(0) scale(.9)}10%{transform:translate(0) scale(1)}30%{transform:translate(0) scale(1)}40%{transform:translate(0) scale(.9)}50%{transform:translate(0) scale(.9)}60%{transform:translate(-20px) scale(.9)}70%{transform:translate(-20px) scale(.9)}80%{transform:translate(20px) scale(.9)}90%{transform:translate(20px) scale(.9)}to{transform:translate(0) scale(.9)}}.help-overlay__illustration svg{width:40px;height:40px;will-change:transform;animation:interaction 5s ease 0s infinite}.help-overlay__text{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;color:var(--color-secondary)}.help-overlay .prominent{color:var(--color-primary)}.hero{position:relative;gap:1rem;width:100%!important;max-width:1300px!important;height:100%;scrollbar-width:0;container-type:inline-size;display:flex;flex-direction:column;justify-content:center;align-items:flex-end}@media screen and (max-width:768px){.hero{justify-content:flex-start}}.hero__content{display:flex;flex-direction:column;justify-content:center;align-items:stretch;width:100%;margin-top:4.5rem;flex-grow:1}.hero__wrapper{position:relative}.hero__title{font-family:Orbitron,sans-serif;font-size:clamp(80px,15.5cqw,201px);text-align:center;font-weight:400;line-height:clamp(80px,15.5cqw,201px)}.hero__accent-line{position:absolute;bottom:0;left:0;z-index:-1;width:100%;height:22%;background-color:var(--color-accent)!important}.hero__details{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;position:relative;gap:.5rem;padding:2rem}.hero__detail{display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:var(--color-secondary);font-size:clamp(20px,2cqw,30px)}.hero__detail--main{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;font-family:Orbitron,sans-serif;font-size:clamp(40px,4cqw,52px);line-height:clamp(40px,4cqw,52px)}.hero__cta{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:2rem;height:50px;margin-bottom:4rem;padding-inline:2rem}.hero__mail{gap:.75rem;height:100%;padding:.75rem 1.5rem;border:1px solid var(--color-border);background-color:var(--color-background-01);color:var(--color-primary);box-shadow:0 0 5px #00000073;font-family:Instrument Sans,sans-serif;font-size:18px;transition:scale .2s ease,background-color .2s ease,color .2s ease;will-change:transform;text-decoration:none;font-weight:500;cursor:pointer;display:flex;flex-direction:row;justify-content:center;align-items:center}.hero__mail span{flex-shrink:0}.hero__mail svg{width:15px;height:15px;flex-shrink:0}.hero__button{width:50px;height:50px;border:1px solid var(--color-border);background-color:var(--color-background-01);color:var(--color-primary);box-shadow:0 0 5px #00000073;font-family:Instrument Sans,sans-serif;font-size:18px;transition:scale .2s ease,background-color .2s ease,color .2s ease;will-change:transform;text-decoration:none;font-weight:500;cursor:pointer;display:flex;flex-direction:row;justify-content:center;align-items:center}.hero__button svg{width:25px;height:25px}.hero__button:hover{background-color:#141414}.hero__start{padding:.75rem 2rem;border:1px solid var(--color-border-accent);background-color:var(--color-accent);color:var(--color-primary);box-shadow:0 0 5px #00000073;font-family:Instrument Sans,sans-serif;font-size:18px;transition:scale .2s ease,background-color .2s ease;will-change:transform;white-space:nowrap;font-weight:500;cursor:pointer}.hero__start:hover{background-color:var(--color-accent-01)}.hero__mail:hover{background-color:#141414;color:var(--color-primary)}.hero__start:active,.hero__mail:active,.hero__button:active{scale:.98}.hero .highlight{color:var(--color-primary)}@media screen and (max-width:768px){.hero__content{margin:0}.hero__wrapper{width:max-content;max-width:100%}.hero__title{text-align:left}.hero__accent-line{height:15%}.hero__details{padding-inline:0}.hero__detail,.hero__detail--main{flex-direction:column;align-items:flex-start}.hero__cta{left:1rem;flex-direction:column;align-items:flex-start;width:100%;height:fit-content;margin:0;padding:0}}@media screen and (max-width:480px){.hero__wrapper{width:min-content;max-width:100%}.hero__details{margin-top:0}.hero__accent-line{height:10%}.hero__cta{flex-direction:column;gap:1rem}}.cta__socials{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:2rem}@media screen and (max-width:480px){.cta__socials{gap:1rem}}.cta__main{display:flex;flex-direction:row;justify-content:center;align-items:stretch;gap:2rem}@media screen and (max-width:768px){.cta__main{width:100%}.cta__main>*{flex-grow:1}}@media screen and (max-width:480px){.cta__main{flex-direction:column;align-items:stretch;gap:1rem;width:100%}}.skills{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4rem}.skills__category{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1rem;width:100%}.skill-category__header{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end;gap:.5rem}.skill-category__index{opacity:.2;font-family:JetBrains Mono,monospace;font-size:clamp(40px,12cqw,50px);line-height:clamp(40px,12cqw,50px)}.skill-category__label{line-height:1.2em;font-weight:500}.skill-category__items{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:1rem;width:100%;flex-wrap:wrap}.skill{position:relative;min-width:max-content;height:50px;border:1px solid var(--color-border);background:linear-gradient(-90deg,color-mix(in srgb,var(--skill-accent) 20%,var(--color-background-01) 80%),var(--color-background-01) 80%);color:color-mix(in srgb,white 60%,var(--skill-accent) 40%);padding-left:calc(38px + 1rem);padding-right:1.5rem;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center}.skill__icon{position:absolute;left:0;width:50px;height:50px;fill:var(--skill-accent);transform:translate(calc(-50% + 10px));flex-shrink:0}.skill__label{white-space:nowrap}.intro{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:1rem;margin-top:4rem}.intro__header{font-size:32px;flex-basis:0;flex-grow:1}.intro__name{padding:.2rem .5rem;background-color:var(--color-accent);text-shadow:none}.intro__content{gap:1rem;color:var(--color-secondary);flex-basis:0;flex-grow:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}@media screen and (max-width:768px){.intro{flex-direction:column}}.fancy{color:var(--color-primary);font-family:Playfair Display,serif;padding-inline:.25rem;font-style:normal}.story{margin-top:4rem}.story__header{margin-bottom:1rem}.story__content{gap:1rem;color:var(--color-secondary);display:flex;flex-direction:column;justify-content:center;align-items:center}.essentials{padding:2rem;background:radial-gradient(ellipse at 50% 200%,#201d1c,var(--color-background-01) 70%);margin-top:4rem}.essentials__header{display:flex;flex-direction:row;justify-content:flex-start;align-items:flex-end;gap:2rem;margin-bottom:2rem}@media screen and (max-width:768px){.essentials__header{flex-direction:column;align-items:center;gap:0}}.essentials__description{color:var(--color-secondary);margin-bottom:3px}.essentials__content{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}@media screen and (max-width:768px){.essentials__content{flex-direction:column;gap:2rem}}.essentials__divider{width:1px;height:35px;background-color:#af6048;flex-shrink:0}@media screen and (max-width:768px){.essentials__divider{width:55px;height:1px}}.essentials__item{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:200px}.essentials__item.center{align-items:center;width:250px;margin-inline:1rem}.essentials__item.right{align-items:flex-end}.essentials__item__subtext{font-family:Playfair Display,serif}.essentials__item__main{font-size:32px}@media screen and (max-width:768px){.essentials__item{align-items:center!important}}.artwork-gallery{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:2rem}.artwork-category__description{color:var(--color-secondary)}.artwork-masonry{gap:.5rem;-webkit-user-select:none;user-select:none;margin-top:1rem;display:flex;flex-direction:row;justify-content:flex-start;align-items:stretch}.artwork-masonry .artwork-masonry__item{position:relative;list-style-type:none;flex-grow:1;flex-basis:content;overflow:hidden;clip-path:inset(0);transform:translateZ(0)}.artwork-masonry .artwork-masonry__item:hover .artwork-details{transform:translateY(0)}.artwork-masonry img{display:block;width:100%;height:100%;box-shadow:0 0 10px #00000073;transition:filter .5s ease,opacity .5s ease;object-fit:cover}.artwork-masonry__column{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;flex:1;gap:.5rem}.artwork-details{position:absolute;bottom:0;left:0;z-index:3;width:100%;padding:.25rem .5rem;background-color:var(--color-accent);transition:transform .2s ease;transform:translateY(101%);display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end}.artwork-details__year{font-size:16px;margin-bottom:2px}@media(pointer:coarse){.artwork-details{transform:translateY(0)!important}.artwork-details__title{font-size:16px}.artwork-details__year{font-size:14px;margin-bottom:0}}@media(prefers-reduced-motion:reduce){.artwork-details{transform:translateY(0)!important}}footer{padding:2rem;color:var(--color-secondary);font-size:14px;text-align:center}.project-categories{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4rem}.project-category{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:1rem}.project-category__description{color:var(--color-secondary)}.project-category__list{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:2rem}.project-category__list.other{display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);list-style-type:none}@media screen and not (min-width:768px){.project-category__list.other{grid-template-columns:1fr}}.project{display:flex;flex-direction:row;justify-content:center;align-items:flex-start;align-items:stretch;min-height:fit-content;border:1px solid var(--color-border);background-color:var(--color-background-02);box-shadow:0 0 10px #00000023;overflow:hidden;list-style-type:none}.project[data-image-placement=right]{flex-direction:row-reverse}.project__image{flex:1;min-width:0;max-height:none;flex-basis:50%;object-fit:cover;object-position:center center}.project__body{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:1rem;max-width:50%;padding:1.5rem;flex-basis:50%;flex-grow:1}.project__description{line-height:1.6}.project__header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:.5rem}.project__title{padding:.25rem .5rem;background-color:var(--color-accent);font-size:1.5rem;line-height:1.2}@media screen and (max-width:768px){.project__title{padding:0;background-color:inherit}}.project__tags{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;justify-content:flex-end;gap:.375rem;flex-wrap:wrap;list-style-type:none}.project__tag{padding:.2rem .55rem;border:1px solid var(--color-border);background-color:var(--color-background-03);font-family:JetBrains Mono,monospace;font-size:.6875rem;transition:background-color .15s ease,border-color .15s ease;text-transform:uppercase;letter-spacing:.04em}.project__details-wrapper{overflow:visible}.project__details{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.75rem;color:var(--color-secondary);font-size:16px;line-height:1.65;padding-bottom:.25rem}.project__expand{display:none}.project__expand-icon{font-size:.75rem;transition:rotate .2s ease;line-height:1}.project__expand-icon.expanded{rotate:180deg}.project__bottom{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.project__link{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:.25rem;width:fit-content;padding:.35rem .75rem;border:1px solid var(--color-border);background:transparent;color:var(--color-secondary);font-size:.8125rem;transition:color .15s ease,border-color .15s ease,background-color .15s ease;text-decoration:none}.project__link:hover{background-color:var(--color-background-02);color:var(--color-primary);border-color:var(--color-border-01)}.project__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.project__link span{pointer-events:none}.project__link svg{width:10px;height:100%;pointer-events:none;flex-shrink:0}.project__link--static{color:var(--color-secondary);font-size:14px}@media screen and (min-width:768px){.project__details-wrapper{height:auto!important}}@media screen and not (min-width:768px){.project{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0}.project[data-image-placement=right]{flex-direction:column}.project__image{flex:1;min-width:0;max-height:300px;flex-basis:auto;object-position:center left}.project__body{max-width:none;flex-basis:auto;flex-grow:0}.project__header{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}.project__tags{justify-content:flex-start}.project__details-wrapper{height:auto;overflow:hidden}.project__expand{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:.3rem;padding:.35rem .75rem;border:1px solid var(--color-border-accent);background-color:var(--color-accent);color:var(--color-primary);font-family:Instrument Sans,sans-serif;font-size:.8125rem;transition:color .15s ease,border-color .15s ease,background-color .15s ease,transform .3s ease;will-change:scale;text-shadow:none;text-decoration:none;white-space:nowrap;cursor:pointer;font-weight:500}.project__expand:hover{background-color:var(--color-accent-01)}.project__expand:active{transform:scale(.98)}.project__expand span{pointer-events:none}}.project-small{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:11px;height:100%;padding:1rem;border:1px solid var(--color-border);background-color:var(--color-background-02);list-style-type:none}.project-small__header{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.375rem}.project-small__title{font-size:20px;line-height:1.3}.project-small__tags{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:.3rem;flex-wrap:wrap;list-style-type:none}.project-small__tag{padding:.15rem .45rem;border:1px solid var(--color-border);background-color:var(--color-background-03);font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.project-small__description{color:var(--color-secondary);font-size:16px;line-height:1.55;flex-grow:1}main{width:100%;height:100%}.viewer{position:fixed!important;width:100vw!important;height:calc(100svh - 1px)!important;inset:0;overflow:hidden;touch-action:none;image-rendering:auto}@media screen and (max-width:768px){.viewer{height:calc(100svh - 74px)!important}}canvas{touch-action:none}.responsive-image{overflow:hidden}
