*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable}html,body{overscroll-behavior-y:none}:root{--main-padding: 2vw;--background-color: rgb(20, 20, 20);--nav-height: 88px;--logo-width: 150px;--menu-button-size: 44px;--menu-button-nudge: 3px;--menu-button-nudge-mobile: 6px}:root{font-family:Space Grotesk,sans-serif;font-optical-sizing:auto;line-height:1.2;font-weight:400;color:#fff;background-color:var(--background-color);scroll-behavior:smooth;scroll-padding-top:var(--nav-height);color-scheme:dark;scrollbar-color:rgba(255,255,255,.25) transparent}body{margin:0;min-width:320px;min-height:100svh;overflow-x:clip}body:before{background-color:#141414;content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;transform:translateZ(0)}#root{display:flex;flex-direction:column;min-height:100svh}main{display:flex;flex:1;flex-direction:column;z-index:1}main:focus{outline:none}header,main,footer{transition:opacity 1s ease}body:not(.revealed) header,body:not(.revealed) main,body:not(.revealed) footer,body:not(.revealed) .hero__scene{opacity:0}header,button,canvas,.no-select{user-select:none;-webkit-user-select:none}.app-canvas{position:fixed!important;top:0;left:0;width:100%!important;height:var(--canvas-height, 100lvh)!important;pointer-events:none;z-index:0}.starry-sky__scene{position:fixed;top:0;left:0;width:100%;height:var(--canvas-height, 120lvh);z-index:0}.reveal{position:relative;z-index:1;opacity:0;transform:scale(.95);transition:opacity .6s ease,transform .6s ease}.reveal--visible{opacity:1;transform:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app-content{display:contents}.page{display:flex;flex:1;flex-direction:column}.page-leaving .page :is(.window,footer){opacity:0;transition:opacity .15s ease}.page-leaving .page{pointer-events:none}@keyframes page-in{0%{opacity:0}}.page :is(.window,footer){animation:page-in .35s ease}.page-pop .page :is(.window,footer){animation:none}@media(max-width:700px){:root{--main-padding: 3vw;--nav-height: 72px;--logo-width: 140px}footer{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;opacity:.5;flex-direction:column;align-items:center;gap:6px;padding:24px var(--main-padding) calc(24px + env(safe-area-inset-bottom));text-align:center}}@media(prefers-reduced-motion:reduce){.reveal{transform:none;transition:opacity .3s ease}}button,a{width:fit-content;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:transparent;color:#fff;border:none;border-radius:8px;transition:background-color .2s ease,color .2s ease,opacity .4s ease,scale .2s ease}@media(hover:hover){button:hover,a:hover{background-color:#ffffff1a}}button:active,a:active{background-color:#ffffff26;scale:.98}button:focus-visible,a:focus-visible{outline:2px solid white;outline-offset:2px}button,a{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-drag:none}button:disabled,button[aria-disabled=true]{opacity:.4;cursor:not-allowed}a{text-decoration:none}.button--pill{border:1px solid rgba(255,255,255,.5);border-radius:12px;padding:8px 14px;font-size:.9rem;text-transform:uppercase}.button--pill>svg{width:16px;height:16px;margin-right:2px}.button--pill.active{background-color:#e2e2e2;border-color:#e2e2e2;color:#1e1e1e;font-weight:500}.button--glass{background-color:#1e1e1eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;border:1px solid rgba(255,255,255,.1);font-family:Space Mono,monospace;font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;gap:10px;padding:6px 12px 7px}@media(hover:hover){.button--glass:hover{background-color:#323232b8}}.button--glass:active{background-color:#323232b8;scale:.98}.button--icon{display:flex;justify-content:center;align-items:center;color:#fff;width:34px;height:auto;padding:6px;border-radius:8px}.button--icon svg{width:100%;height:100%}.button--action-text{display:flex;padding:10px 8px 10px 16px;transform:translate(10px);background-color:#ffffff06;border:1px solid rgba(255,255,255,.08)}.button--action-text span{padding-bottom:1px}.button--action-text svg{width:18px;height:auto}.button--action-icon{aspect-ratio:1;width:30px;height:auto;padding:6px;transform:translate(10px);background-color:#ffffff06;border:1px solid rgba(255,255,255,.08)}.button--action-icon svg{width:100%;height:auto}@media(max-width:700px){.button--action-icon{width:40px}}.window{background-color:#1e1e1eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;justify-content:flex-end;min-width:200px;overflow:hidden}.window__header{font-family:Space Mono,monospace;font-size:.8rem;font-weight:400;font-variant-numeric:tabular-nums;min-height:50px;letter-spacing:.6px;position:relative;display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid rgba(255,255,255,.3);color:#dcdcdc;font-size:.85rem;text-transform:uppercase}.window__header span{margin-right:8px}.window__header-left{margin-right:20px}.window__content{padding:20px;flex-grow:1;display:flex;flex-direction:column}.window-header__icon{display:flex;align-items:center;margin-right:-5px;width:20px;height:auto;color:#c8c8c8}header{position:fixed;top:0;height:var(--nav-height);width:100%;padding:0 var(--main-padding);display:flex;justify-content:space-between;align-items:center;z-index:3;pointer-events:none}header>*{pointer-events:auto}#logo{width:var(--logo-width);height:auto;display:flex;z-index:15;filter:drop-shadow(1px 1px 4px rgba(0,0,0,.4));transition:scale .2s ease}#logo svg{display:block;width:100%;height:auto}#logo:hover{background:none;scale:1.05}.menu-button{height:var(--menu-button-size);padding-left:18px;gap:13px;translate:0 var(--menu-button-nudge)}.menu-button span{text-transform:uppercase;font-size:.94rem;font-weight:100;letter-spacing:.5px;font-family:Space Grotesk}.menu-button svg{width:16px;height:16px;pointer-events:none;margin-right:1px}.menu-button.hide{color:transparent;background-color:#1e1e1e00;border-color:transparent}.menu__window{position:absolute;right:var(--main-padding);top:calc((var(--nav-height) - var(--menu-button-size)) / 2);width:400px;z-index:15;opacity:0;transition:.25s ease;pointer-events:none}.menu__window--open{opacity:1;pointer-events:auto}.menu__window .window__content{padding:0;width:100%}.menu__nav{padding:10px 10px 12px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid rgba(255,255,255,.3)}.menu__page{width:100%;border-radius:8px;padding:12px;color:#dcdcdc;display:flex;align-items:center;justify-content:flex-start;gap:10px;transition:color .3s ease,background-color .3s ease}.menu__page-index{font-family:Space Mono;font-size:.9rem;color:#868686;font-weight:400}.menu__page-label{font-size:1.5rem;letter-spacing:.3px;font-weight:500}.menu__page-icon{margin-left:auto;height:20px;width:20px;display:flex;align-items:center;justify-content:center}.menu__page-icon svg{height:100%;width:auto}.menu__page.active{background-color:#dcdcdc;color:var(--background-color)}.menu__page.active>.menu__page-icon svg{height:50%;color:transparent;background-color:var(--background-color);border-radius:50%}.menu__footer{margin:18px 16px 16px;display:flex;flex-direction:column;gap:10px}.menu__email{margin-left:2px;-webkit-user-select:text;user-select:text;font-size:1.1rem}.menu__status{--status-color: rgb(140, 214, 140);margin-left:2px;display:flex;flex-direction:row;align-items:center;gap:8px;font-family:Space Mono;font-size:.7rem;font-weight:100;text-transform:uppercase;color:var(--status-color)}.menu__status-dot{position:relative;width:15px;height:15px;background-color:color-mix(in srgb,var(--status-color) 35%,transparent);border-radius:50%}.menu__status-dot:after{content:" ";background-color:var(--status-color);aspect-ratio:1;width:50%;height:auto;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.menu__links{display:flex;gap:8px;justify-items:stretch;margin-top:6px}.menu__links>a{font-family:Space Grotesk;flex-grow:1;gap:6px;padding:15px 0;text-transform:capitalize}.backdrop{background-color:#1e1e1ecc;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:fixed;top:0;left:0;width:100%;height:120lvh;overflow-y:visible;pointer-events:auto;transition:opacity .25s ease}.backdrop.closed{opacity:0;pointer-events:none}html:has(.menu__window--open),html:has(.menu__window--open) body{overflow:hidden}@media(max-width:700px){.menu__window{top:var(--nav-height);left:var(--main-padding);right:var(--main-padding);width:auto}.menu-button{translate:0 var(--menu-button-nudge-mobile)}}.loading-screen{background-color:transparent;position:fixed;top:0;left:0;width:100%;height:100lvh;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity var(--fade-out) ease calc(var(--button-exit))}.loading-screen--exiting{opacity:0;pointer-events:none}.loading-screen__start{transition:transform var(--button-exit) ease-out,opacity var(--button-exit) ease-out,background-color .2s ease}.loading-screen--exiting .loading-screen__start{transform:scale(1.2);opacity:0}.loading-screen .button--pill{background-color:transparent;width:auto;font-size:1.1rem;letter-spacing:1px;padding-inline:20px}.loading-screen .button--pill:hover{background-color:#ffffff1a}.loading-screen__logo-stack{display:grid;width:300px;margin-bottom:16px}.loading-screen__logo-stack>*{grid-area:1/1}.loading-screen__logo-stack .loading-screen__logo{display:block;width:100%;height:auto;margin:0}.loading-screen__logo-fill{clip-path:inset(0 100% 0 0);transition:clip-path 1s ease}.loading-screen__logo--empty{color:var(--background-color)}.loading-screen__logo--empty path{stroke:#ffffff4d;stroke-width:1px;vector-effect:non-scaling-stroke}.loading-screen__logo--full{color:#fff}.loading-screen__logo-label{font-family:Space Mono;font-size:18px;letter-spacing:5px;text-transform:uppercase;color:#fff;margin-bottom:30px}html:has(.loading-screen:not(.loading-screen--exiting)),html:has(.loading-screen:not(.loading-screen--exiting)) body{overflow:hidden}.project-viewer{--page-slide-duration: .4s;position:fixed;inset:0;width:100vw;width:100dvw;height:100vh;height:100dvh;z-index:13;background:#191919;display:flex;flex-direction:row;align-items:flex-start;align-content:flex-start;overflow:hidden;transform:translateY(100vh);transition:transform var(--page-slide-duration) ease-in-out;--media-strip-height: 70px}.project-viewer.open{transform:translateY(0)}html:has(.project-viewer.open),html:has(.project-viewer.open) body{overflow:hidden}.project-viewer__overlay{height:100%;width:100%;padding:100px var(--main-padding) var(--main-padding) var(--main-padding);z-index:1;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none}.project-viewer__overlay .window,.project-viewer__overlay .project-viewer__heading{pointer-events:auto}.project-viewer__windows{display:flex;flex-direction:row;gap:10px;align-items:flex-end;margin-bottom:calc(var(--media-strip-height) + 20px);transition:opacity .3s ease}.project-viewer__return{position:absolute;top:var(--nav-height);left:var(--main-padding);margin-bottom:auto;padding-right:10px;padding-left:14px}.project-viewer__return span{text-transform:uppercase;font-size:.94rem;font-weight:100;letter-spacing:.5px;font-family:Space Grotesk}.project-viewer__return svg{width:18px;height:auto;pointer-events:none;margin-right:1px}.project-viewer__heading{background-color:#1e1e1eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;border:1px solid rgba(255,255,255,.1);margin-bottom:calc(var(--media-strip-height) + 20px);display:flex;justify-content:flex-start;align-items:center;width:fit-content;padding:11px 15px 12px;transition:opacity .3s ease}.project-viewer__heading-title{font-size:1.5rem;font-weight:700;font-family:Space Grotesk,sans-serif;margin-right:18px}.project-viewer__heading-subtitle{font-size:1rem;color:#c8c8c8;font-family:Space Mono,monospace;font-weight:400;margin-right:10px;text-transform:uppercase}.project-viewer__heading svg{width:24px;height:24px}.project-viewer__heading:hover{background-color:#1e1e1e80}.hide-interface__button{font-family:Space Mono,monospace;font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;position:absolute;left:50%;top:calc(var(--nav-height) / 2);transform:translate(-50%,-50%);filter:drop-shadow(0 0 1px rgb(0,0,0)) drop-shadow(0 0 3px rgba(0,0,0,.6));z-index:2;gap:12px;padding:4px 10px 6px;border-radius:8px}.project-viewer.ui-hidden .project-viewer__windows,.project-viewer.ui-hidden .project-viewer__heading{opacity:0;pointer-events:none}.project-viewer.ui-hidden .media-strip{height:48px}.project-viewer.ui-hidden .media-strip:hover{opacity:1}.project-viewer.ui-hidden .media-strip__scroller{max-width:0;opacity:0;pointer-events:none}html:has(.project-viewer.open) body.revealed :is(.page main>:not(.project-viewer),.hero__scene,.app-canvas){visibility:hidden;transition:visibility 0s linear var(--page-slide-duration)}@media(max-width:700px){html:has(.project-viewer.open) .menu-button{opacity:0;pointer-events:none}.project-viewer__return{position:absolute;height:var(--menu-button-size);top:calc((var(--nav-height) - var(--menu-button-size)) / 2);right:var(--main-padding);left:auto;translate:0 var(--menu-button-nudge-mobile)}}.media-viewer{position:absolute;inset:0}.media-viewer:fullscreen{background:#000}.media-viewer:fullscreen .media-strip{height:48px;transition:none}.media-viewer:fullscreen .media-strip__scroller{transition:none;max-width:0;opacity:0;pointer-events:none}.media-stage{position:absolute;inset:0;z-index:0;overflow:hidden}.media-slide{background-color:var(--background-color);position:absolute;inset:0;opacity:0;overflow:hidden;pointer-events:none;z-index:0;transition:opacity 0s linear .5s}.media-slide.active{opacity:1;pointer-events:auto;z-index:1;transition:opacity .5s ease}.media-slide__content{width:100%;height:100%;display:flex;gap:12px}.media-viewer:fullscreen .media-slide__content{padding:0}.media-viewer:fullscreen .media-slide{background:#000}.media-slide__content--single>.media-item{flex:1}.media-slide__content--row{flex-direction:row}.media-slide__content--row>.media-item{flex:1 1 0}.media-slide__content--column{flex-direction:column}.media-slide__content--column>.media-item{flex:1 1 0}.media-slide--contain .media-slide__content,.media-viewer:fullscreen .media-slide .media-slide__content{padding:0;gap:calc(var(--main-padding) / 2)}.media-slide--contain .media,.media-viewer:fullscreen .media-slide .media{object-fit:contain}.media-slide--contain .media-item,.media-viewer:fullscreen .media-slide .media-item{background:none}.media-slide--contain .media-slide__content--row,.media-slide--contain .media-slide__content--column,.media-viewer:fullscreen .media-slide .media-slide__content--row,.media-viewer:fullscreen .media-slide .media-slide__content--column{justify-content:center;padding:calc(var(--main-padding) / 2) calc(var(--main-padding) / 2)}.media-slide--contain .media-slide__content--row>.media-item,.media-viewer:fullscreen .media-slide .media-slide__content--row>.media-item{flex:0 1 auto;height:100%;aspect-ratio:var(--ratio, 1)}.media-slide--contain .media-slide__content--column>.media-item,.media-viewer:fullscreen .media-slide .media-slide__content--column>.media-item{flex:0 1 auto;width:100%;aspect-ratio:var(--ratio, 1)}.media-carousel{position:absolute;inset:0;background-color:var(--background-color);display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.media-carousel::-webkit-scrollbar{display:none}.media-carousel__slide{flex:0 0 100%;min-width:0;height:100%;padding-bottom:var(--peek-height);scroll-snap-align:center;scroll-snap-stop:always}.media-item{position:relative;min-width:0;min-height:0;overflow:hidden;background:#232323}.media{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover}video.media:fullscreen{object-fit:contain;background:#000}.media-dock{width:100%;position:absolute;bottom:0;left:0;padding:0 var(--main-padding) var(--main-padding) var(--main-padding);display:flex;justify-content:space-between;align-items:flex-end}.media-dock__panel{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.media-strip{background-color:#1e1e1eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;border:1px solid rgba(255,255,255,.1);height:var(--media-strip-height);max-width:40%;display:flex;align-items:center;padding:8px;transition:opacity .3s ease,height .4s ease}.media-strip__arrow{height:100%;font-size:1.3rem}.media-strip__arrow:first-child{padding-right:5px;margin-right:4px}.media-strip__arrow:last-child{padding-left:5px;margin-left:4px}.media-strip__scroller{--fade: 6px;scroll-padding-inline:var(--fade);flex:0 1 auto;min-width:0;max-width:600px;height:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.media-strip__scroller::-webkit-scrollbar{display:none}.media-strip__scroller{transition:max-width .3s ease,opacity .3s ease;-webkit-mask-image:linear-gradient(to right,transparent,black var(--fade),black calc(100% - var(--fade)),transparent);mask-image:linear-gradient(to right,transparent,black var(--fade),black calc(100% - var(--fade)),transparent)}.media-strip__track{height:100%;display:flex;flex-wrap:nowrap;gap:6px;width:max-content;padding:0 var(--fade)}.media-strip__slide{flex:0 0 auto;display:flex;gap:2px;height:100%;padding:2px;border:1px solid transparent;border-radius:9.5px;background:none;opacity:.55;cursor:pointer;transition:opacity .2s,border-color .2s}.media-strip__slide:hover{opacity:.85;background:none}.media-strip__slide.active{opacity:1;border-color:#fff;background:none}.media-strip__slide:hover:not(.active){border:1px solid rgba(255,255,255,.336);background:none}.media-strip__slide--column{flex-direction:column}.media-strip__slide--column .media-thumbnail{height:calc((var(--media-strip-height) - 23px - 2px * (var(--count) - 1)) / var(--count));width:100%;object-fit:cover}.media-thumbnail{height:calc(var(--media-strip-height) - 23px);width:auto;position:relative;display:block;flex-shrink:0;border-radius:6.5px;object-fit:cover;overflow:hidden;pointer-events:none}.media-thumbnail--video{aspect-ratio:16/9}.media-thumbnail--video :is(video,img){position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.media-thumbnail__play{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;color:#fff;fill:#fff;background-color:#1e1e1e4d;border:1px solid rgba(255,255,255,.301);border-radius:20px;width:26px;height:26px}.media-thumbnail__play svg{transform:translate(.5px);width:16px;height:auto}.media-controls{background-color:#1e1e1eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;border:1px solid rgba(255,255,255,.1);height:42px;padding:4px 6px;margin-left:auto;z-index:2;display:flex;align-items:center}.media-controls:has(.video-controls__progress-bar){width:400px}.media-controls__button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:#fff;font-size:16px;cursor:pointer}.media-controls__button:hover{background:#ffffff1a}.video-controls__progress-bar{position:relative;flex:1;height:16px;cursor:pointer;margin-left:6px;touch-action:none}.video-controls__progress-bar:before{content:" ";position:absolute;left:0;right:0;top:calc(50% - 2px);height:4px;border-radius:20px;background:#646464}.video-controls__progress{position:absolute;left:0;right:0;top:calc(50% - 2px);height:4px;border-radius:10px;background:#fff;clip-path:inset(0 100% 0 0 round 10px)}.video-controls__time{font-family:Space Mono,monospace;font-size:.8rem;font-weight:400;flex-shrink:0;white-space:nowrap;color:#c8c8c8;font-variant-numeric:tabular-nums;margin:0 8px 0 14px}.video__play-button{position:absolute;left:50%;top:50%;width:80px;height:80px;border-radius:50%;z-index:1;background-color:#1e1e1e80;border:1px solid rgba(200,200,200,.3);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transform:translate(-50%,-50%) scale(1.3);pointer-events:none;transition:opacity .35s ease,transform .35s ease,background-color .2s ease}.video__play-button.visible{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto;transition:opacity .2s ease,transform .2s ease,background-color .2s ease}.video__play-button.visible:hover{background-color:#1e1e1e40;transform:translate(-50%,-50%) scale(1.05)}.video__play-button svg{width:40px;height:auto;transform:translate(1px)}.media-label{background-color:#1e1e1eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;border:1px solid rgba(255,255,255,.1);font-family:Space Mono,monospace;font-size:.8rem;font-weight:400;font-variant-numeric:tabular-nums;display:flex;flex-direction:row;align-items:center;gap:6px;padding:6px 12px 7px}.media-label__counter{font-weight:600;font-size:.9rem}.media-label__title{font-weight:300;font-family:Space Grotesk}@media(max-width:700px){.media-slide{padding-bottom:var(--peek-height)}.media-dock{bottom:var(--peek-height);flex-direction:column-reverse;gap:8px}.media-dock .media-strip{max-width:100%;width:100%}.media-dock .media-dock__panel{width:100%}.media-dock .media-controls{max-width:100%}.media-label{position:fixed;flex-direction:row-reverse;left:var(--main-padding);top:calc(var(--nav-height) + 4px);border-radius:10px}.video__play-button{translate:0 calc(-1 * var(--peek-height) / 2)}.video__play-button,.video__play-button.visible{pointer-events:none}}.project-info__window{width:500px;max-width:45%}.project-info__tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px;color:var(--background-color)}.project-info__tags div{display:flex;align-items:center;justify-content:center;border-radius:8px;padding:3px 10px;font-size:.75rem;font-weight:700;letter-spacing:.1px;font-family:Inter,sans-serif}.project-info__title{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:2.2rem;margin:0 0 2px}.project-info__subtitle{font-family:Space Mono,monospace;font-weight:400;font-size:1rem;color:#c8c8c8;margin:0;text-transform:uppercase}.project-info__description{margin:18px 0 24px}.project-info__description-paragraph{font-size:1rem;line-height:1.3;margin:0 0 14px;font-weight:400}.project-info__description-paragraph:last-child{margin-bottom:0}.project-info__actions{display:flex;justify-content:space-between}.project-info__actions>div{display:flex;gap:8px}.list-separator{background-color:#fff3;margin:0;width:100%;height:1px;border-radius:1px}.project-tools{display:flex;flex-direction:column;word-break:break-all;gap:4px}.project-tools__tool{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgb(80,80,80)}.project-tools__tool img{height:20px}.project-tools__tool span{padding-bottom:2px;font-weight:600;font-size:.9;margin-right:16px}.project-tools__tool:first-child{padding-top:0}.project-tools__tool:last-child{border-bottom:none;padding-bottom:0}.project-team__window{max-width:340px}.project-team__window .window__content{padding:12px}.project-team{display:flex;flex-direction:column}.team-member{width:100%;padding:9px 10px 11px 14px;display:flex;justify-content:space-between;margin-top:8px;margin-bottom:8px}.team-member:first-child{margin-top:0}.team-member:last-child{margin-bottom:0}.team-member__info .team-member__name{margin-bottom:4px;font-weight:600;font-size:1rem}.team-member__info .team-member__roles{font-family:Space Mono,monospace;font-size:.8rem;font-weight:200;line-height:1.3;color:#c8c8c8}.team-member__link{margin:0 8px 0 12px;flex-shrink:0}.team-member__link svg{width:25px;height:auto}.project-drawer{--drawer-padding: calc(var(--main-padding) * 1.5);--drawer-top: calc(var(--nav-height) + 4px);background-color:#1e1e1eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);border-bottom:0;border-radius:24px 24px 0 0;position:absolute;left:0;right:0;bottom:0;height:calc(100dvh - var(--drawer-top));z-index:16;display:flex;flex-direction:column;transform:translateY(calc(100% - var(--peek-height, 100px)));transition:transform .8s cubic-bezier(.32,.72,0,1),opacity .3s ease}.project-drawer--expanded{transform:translateY(0)}.project-drawer--dragging{transition:none}.project-drawer__handle{position:relative;width:100%;height:30px}.project-drawer__handle:before{content:" ";width:25%;height:4px;background-color:#c8c8c8;border-radius:25px}.project-drawer__handle:hover,.project-drawer__handle:active{background:transparent;scale:none}.project-drawer__handle:active{scale:1.1}.project-drawer__header{padding:0 var(--drawer-padding) var(--drawer-padding) var(--drawer-padding)}.project-drawer__header .project-info__tags{margin-top:4px;margin-left:-2px;margin-bottom:8px}.project-drawer__header .project-info__tags>div{font-weight:600}.project-drawer__header{border-bottom:1px solid rgba(255,255,255,.1)}.project-drawer__meta{font-family:Space Mono,monospace;font-size:.8rem;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.6px;text-transform:uppercase;color:#c8c8c8;margin-bottom:15px}.project-drawer__meta span{margin-right:8px}.project-drawer__heading{display:flex;flex-direction:row;align-items:flex-end;gap:8px}.project-drawer__title-group{flex:1;display:flex;flex-direction:column;min-width:0}.project-drawer__title{margin:0 0 8px;font-size:2rem;font-weight:700;line-height:1}.project-drawer__subtitle{font-family:Space Mono,monospace;font-size:1rem;text-transform:uppercase;color:#c8c8c8}.project-drawer__links{display:flex;flex-direction:row;gap:4px}.project-drawer__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-inline:var(--drawer-padding);padding-bottom:calc(var(--drawer-padding) * 1);gap:calc(var(--drawer-padding) * 1.5);display:flex;flex-direction:column;align-items:flex-start}.project-drawer__body .project-info__description{margin-top:var(--drawer-padding);margin-bottom:0}.project-drawer .project-tools__window{flex-shrink:0;min-width:65%;margin-bottom:8px}.project-drawer .project-team__window{flex-shrink:0;max-width:100%}footer{background-color:#1e1e1eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);border-radius:0;margin:0 -1px;padding:8px calc(var(--main-padding) / 2) 12px calc(var(--main-padding) / 2);display:flex;justify-content:space-between;z-index:1;font-family:Space Mono;font-size:.8rem;color:#fff;opacity:.6}footer div{display:flex;align-items:center;gap:8px}footer .button--icon{box-sizing:content-box;width:1rem;height:auto;transform:translateY(-1px);margin-left:-4px;margin-right:-4px}@media(max-width:700px){footer{padding-top:var(--main-padding)}}.hero__scene{-webkit-mask-image:linear-gradient(to bottom,black 85%,rgba(0,0,0,.95) 87.5%,rgba(0,0,0,.83) 89.5%,rgba(0,0,0,.65) 91.5%,rgba(0,0,0,.45) 93.3%,rgba(0,0,0,.26) 95%,rgba(0,0,0,.1) 97%,rgba(0,0,0,.02) 98.7%,transparent 100%);mask-image:linear-gradient(to bottom,black 85%,rgba(0,0,0,.95) 87.5%,rgba(0,0,0,.83) 89.5%,rgba(0,0,0,.65) 91.5%,rgba(0,0,0,.45) 93.3%,rgba(0,0,0,.26) 95%,rgba(0,0,0,.1) 97%,rgba(0,0,0,.02) 98.7%,transparent 100%);position:absolute;top:0;left:0;right:0;height:calc(var(--hero-height, 100svh) + var(--main-padding));z-index:0;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s}.hero__scene--visible{opacity:1;visibility:visible;transition:opacity .5s ease}.hero__scene--parked{position:fixed}.page-leaving .hero__scene{opacity:0;transition:opacity .25s ease}.homepage{--section-gap: calc(var(--main-padding) * 2);display:flex;flex-direction:column;gap:var(--section-gap);padding-bottom:var(--section-gap)}#hero{position:relative;height:var(--hero-height, 100svh)}.hero__window{position:absolute;left:var(--main-padding);bottom:var(--main-padding);max-width:400px}.hero__window .at-icon svg{transform:translateY(1px)}.hero__window .window__content{padding:16px 20px 24px}.hero__window .hero__greeting{display:block;font-size:1.8rem;margin-bottom:6px;font-weight:700}.hero__window .hero__description{display:block;color:#c8c8c8}.hero__scroll-cue{position:absolute;bottom:calc(var(--main-padding) / 2);padding:8px 12px 6px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;color:#c8c8c8;opacity:1;transition:opacity .4s ease;pointer-events:auto}.hero__scroll-cue svg{height:auto;width:20px}.hero__scroll-cue>span{font-family:Space Mono,monospace;font-size:.8rem;font-weight:400;font-variant-numeric:tabular-nums;font-weight:700;-webkit-user-select:none;user-select:none;text-transform:uppercase}.hero__scroll-cue--hidden{opacity:0;pointer-events:none}.selected-projects__window{margin-inline:var(--main-padding)}.selected-projects__window .window__content{padding:0}.selected-projects__scroller{--fade: 10px;margin:4px 10px 5px;padding:15px;height:300px;overflow-x:auto;scrollbar-width:none}.selected-projects__scroller::-webkit-scrollbar{display:none}.selected-projects__scroller{-webkit-mask-image:linear-gradient(to right,transparent,black var(--fade),black calc(100% - var(--fade)),transparent);mask-image:linear-gradient(to right,transparent,black var(--fade),black calc(100% - var(--fade)),transparent)}.selected-projects__track{display:flex;height:100%;flex-wrap:nowrap;gap:20px;width:max-content}.selected-projects__scroll-indicator{width:100%;padding:0 18px 16px}.selected-projects__scroll-indicator-track{background-color:#c8c8c81a;width:100%;height:6px;border-radius:4px;position:relative}.selected-projects__scroll-indicator-thumb{height:100%;background-color:#c8c8c87c;border-radius:4px}.about-me__window{margin:0 auto var(--main-padding) auto;width:fit-content}.about-me__window .window__content{display:flex;flex-direction:row;gap:20px}.about-me{display:flex;flex-direction:column;gap:10px}.about-me__photo{aspect-ratio:3/4;width:300px;background-color:#7fffd438;border-radius:8px;overflow:hidden;display:flex}.about-me__photo img{width:100%;object-fit:cover}.about-me__greeting{font-size:2.5rem;font-weight:600;line-height:1}.about-me__roles{display:flex;flex-wrap:wrap;gap:8px;font-family:Space Mono;text-transform:uppercase;color:#c8c8c8}.about-me__roles span{white-space:nowrap;line-height:1}.about-me__description{margin:20px 0;max-width:600px}.about-me p{margin:0 0 15px}@media(max-width:700px){.hero__window{left:auto;bottom:var(--main-padding);margin-inline:var(--main-padding)}.hero__scroll-cue{display:none}.selected-projects__scroller{height:200px}.about-me__window{margin:var(--main-padding) var(--main-padding);min-width:none}.about-me__window .window__content{flex-direction:column}.about-me__photo{width:70%}}.project-card{display:block;position:relative;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;background-color:#ffffff06;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px}.project-card.project-card--thumbnail{height:100%;aspect-ratio:16/10;min-width:0;padding:0;background:none;border:none;overflow:visible;isolation:isolate}.project-card.project-card--thumbnail:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:16px;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.08);opacity:0;transition:inset .2s ease,opacity .2s ease}.project-card.project-card--thumbnail:hover:before,.project-card.project-card--thumbnail:focus-visible:before{inset:-8px;opacity:1}.project-card.project-card--thumbnail .project-card__image{position:absolute;inset:0;aspect-ratio:auto;height:100%;border-radius:10px}.project-card__text{display:flex;flex-direction:column;gap:2px;margin:8px 0 10px}.project-card__text .project-card__title{font-family:Space Grotesk;font-size:1.3rem;margin:0}.project-card__text .project-card__subtitle{color:#c8c8c8;font-family:Space Mono,monospace;font-weight:400;font-size:.9rem;text-transform:uppercase;margin:0}.project-card__image{position:relative;aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:#282828}.project-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease;pointer-events:none}.project-card__tags{display:flex;flex-wrap:nowrap;gap:6px;min-width:0}.project-card__tag{flex-shrink:0;border-radius:8px;padding:4px 10px;font-family:Inter,sans-serif;font-size:.7rem;line-height:1rem;font-weight:700;text-transform:uppercase;display:flex;align-items:center;opacity:1;transition:opacity .18s ease}.project-card__tag--more{position:relative;background-color:#ffffff1f;color:#e9e6df}.project-card__tag--more:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(-100% - 6px);transform:translate(-50%,4px);width:max-content;max-width:220px;padding:2px 8px;border-radius:6px;background:#1e1e1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);font-family:Space Mono,monospace;font-size:.65rem;font-weight:400;color:#fff;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.project-card__tag--more:hover:after{opacity:1;transform:translate(-50%)}.project-card__year{background-color:#1e1e1eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);font-family:Space Mono,monospace;font-size:.8rem;font-weight:400;font-variant-numeric:tabular-nums;padding:4px 8px;position:absolute;top:8px;right:8px;border-radius:8px}@media(hover:none){.project-card.project-card--thumbnail:before{inset:-8px;opacity:1}}@media(max-width:700px){.project-card__text{margin:8px 0 2px 6px;gap:2px}.project-card{padding:10px}.project-card__tags{position:absolute;left:8px;bottom:8px}.project-card__tags .project-card__tag{background-color:#1e1e1eb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);border:none;opacity:.9;color:#000;border-radius:8px}.project-card__tag--more{background-color:#424242}}.projects-grid__page{width:100%;height:100svh;padding:calc(var(--nav-height) + 5px) var(--main-padding) var(--main-padding);display:flex;gap:20px}.projects-grid__window{flex:1;min-width:0;display:flex;flex-direction:column}.projects-grid__window .window__content{flex:1;min-height:0;overflow-y:auto;--fade: 12px;padding:var(--fade);overflow-y:scroll;overflow-x:visible;-webkit-mask-image:linear-gradient(to bottom,transparent,black var(--fade),black calc(100% - var(--fade)),transparent);mask-image:linear-gradient(to bottom,transparent,black var(--fade),black calc(100% - var(--fade)),transparent)}.projects-grid{padding:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.filters__window{flex-grow:0;min-width:260px;align-self:flex-start}.filters__window .window__content{padding:8px 10px 12px;display:flex;flex-direction:column}.filter-section{display:flex;flex-direction:column;gap:6px;align-items:center;margin-top:4px}.filter-section__title{width:100%;margin-top:6px;margin-left:20px;text-transform:uppercase;font-size:.8rem;color:#c8c8c8}.filter{padding:8px 10px;border-radius:8px;width:100%;display:flex;align-items:center;justify-content:space-between;font-family:Space Mono,monospace;font-size:.85rem;text-align:left}.filter .filter__label{display:flex;gap:8px;align-items:center;margin-right:20px;text-transform:uppercase;white-space:nowrap}.filter .filter__label svg{height:20px;width:auto}.filter .filter__count{margin-right:2px;color:#c8c8c8}.filters__apply-button{margin:14px 0 5px;align-self:center;width:50%}@media(max-width:700px){.projects-grid__window .window__content{padding:0}.projects-grid{padding:10px;gap:10px;overflow-x:hidden}}.contacts-page{width:100%;inset:0;flex-grow:1;display:flex;align-items:center;justify-content:center;-webkit-user-select:text;user-select:text}.contacts-page__windows{display:flex;flex-direction:row;align-items:stretch;justify-content:center;gap:16px;padding-inline:var(--main-padding)}.contacts__window{max-width:550px}.contacts__window .window__content{padding-bottom:12px}.contact-page__column{display:flex;flex-direction:column;gap:16px;flex-grow:1}.contact-page__text-container{display:flex;flex-direction:column;justify-content:flex-start;gap:15px;-webkit-user-select:none;user-select:none}.contact-page__text-container h1{font-size:2.5rem;line-height:1;margin:0}.contact-page__text-container p{font-size:1.3rem;color:#dcdcdc;margin:0}.contact-page__text-container{margin-bottom:42px}.contact-page__email-section{display:flex;flex-direction:column;margin-bottom:30px}.contact-page__email-section>span{font-family:Space Mono;color:#c8c8c8;font-size:.8rem;letter-spacing:1px;font-weight:100}.contact-page__email{position:relative;display:flex;align-items:center;gap:8px}.contact-page__email>span{font-weight:400;font-size:1.6rem;cursor:text}.copy-msg{position:absolute;left:130%;-webkit-user-select:none;user-select:none;opacity:0;pointer-events:none;white-space:nowrap;font-size:.7rem!important;transition:opacity .2s ease;color:#fa75af}.copy-msg.show{opacity:1}.contact-page__links{position:relative;display:flex;gap:8px;flex-direction:column;margin-inline:-8px}.contact-page__links a{position:relative;width:100%;padding:14px 12px;font-size:1.1rem;line-height:1;font-weight:400;text-decoration:none;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.contact-page__links a:after{content:"";position:absolute;left:8px;right:8px;bottom:-4.5px;border-bottom:1px solid rgba(200,200,200,.4)}.contact-page__links a:last-child:after{display:none}.contact-page__links a svg{height:24px;width:auto}.contact-page__links .link__label{display:flex;align-items:center;gap:20px}time{display:flex;flex-direction:column;gap:8px}.time__clock{font-size:2.8rem;line-height:1;font-weight:700}.time__date{text-transform:uppercase;color:#c8c8c8}.time__date span{padding-right:6px}.location__window{flex-grow:1;min-width:270px}.location{height:100%;display:flex;justify-content:space-between;flex-direction:column;gap:6px}.location span:last-child{font-family:Space Mono;font-size:.9rem;text-transform:uppercase;color:#c8c8c8}.location__place{font-size:1.6rem;line-height:1;font-weight:700}.location__coordinates{color:#c8c8c8;font-family:Space Mono;line-height:2}.location__coordinates span{padding-right:6px}.location__map{padding:0 0 14px 4px}@media(max-width:700px){.contacts-page{align-items:flex-start;padding:calc(var(--nav-height) + 8px) var(--main-padding) var(--main-padding);justify-content:center}.contacts-page__windows{flex-direction:column;align-items:stretch;width:100%;padding:0;margin-bottom:var(--main-padding)}.contacts__window{max-width:none}.location__window{min-width:0}.contact-page__text-container{margin-bottom:28px}.contact-page__text-container h1{font-size:2rem}.contact-page__email{flex-wrap:wrap}.contact-page__email>span{font-size:1.3rem;letter-spacing:0;overflow-wrap:anywhere}.copy-msg{left:0;top:calc(100% + 6px)}}
