*,*:before,*:after{box-sizing:border-box}:root{--main-padding: 2vw;--background-color: rgb(20, 20, 20);--nav-height: 100px;--logo-width: 160px;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)}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}footer{background-color:#1e1e1ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px calc(var(--main-padding) / 2) 12px calc(var(--main-padding) / 2);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);display:flex;justify-content:space-between;z-index:1;font-family:Space Mono;font-size:.8rem;color:#fff;opacity:.6;border-radius:12px 12px 0 0}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}header,button,canvas,.no-select{user-select:none;-webkit-user-select:none}.app-canvas{position:fixed!important;inset:0;pointer-events:none;z-index:0;width:100vw;height:100svh}.backdrop{background-color:var(--background-color);opacity:.4;position:fixed;inset:0;z-index:14;pointer-events:auto;transition:opacity .25s ease}.backdrop.closed{opacity:0;pointer-events:none}.starry-sky__scene{position:fixed;width:100vw;height:100svh;inset:0;z-index:0}@media(max-width:700px){:root{--main-padding: 4vw}}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:4px;transition:background-color .2s ease,color .2s ease,opacity .4s ease}button:hover,a:hover{background-color:#ffffff1a}button:disabled{opacity:0;pointer-events:none}a{text-decoration:none}.button--pill{border:1px solid rgb(158,158,158);border-radius:8px;padding:6px 14px;font-size:.9rem;font-family:Space Mono;text-transform:uppercase}.button--pill>svg{width:16px;height:16px;margin-right:2px}.button--pill.active{background-color:#e2e2e2;border-color:#e2e2e2;color:#505050;font-weight:600}.button--glass{background-color:#1e1e1ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;font-family:Space Mono,monospace;font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;gap:10px;padding:6px 12px 7px}.button--glass:hover{background-color:#1e1e1e80}.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}.toggle{position:fixed;z-index:11;opacity:.9;width:50px;height:50px}.toggle svg{width:70%;aspect-ratio:1}.toggle-right-btm{bottom:40px;right:40px}.toggle-right-top{top:40px;right:40px}.toggle-left-btm{bottom:40px;left:40px}.nav-toggle{z-index:20}.nav-toggle svg.closeIcon{width:50%}.filters-toggle{z-index:11}.filters-toggle svg{width:60%}.project-close{position:absolute;top:0;left:var(--main-padding);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;z-index:20}@media(max-width:700px){.toggle:hover{background-color:var(--background-color);color:#fff;scale:1}.toggle:active{scale:.9}.toggle.toggle-right{bottom:20px;right:20px}.toggle.toggle-left{bottom:20px;left:20px}.toggle-right-btm{bottom:20px;right:20px}.toggle-left-btm{bottom:20px;left:20px}.toggle-right-top{top:20px;right:20px}.button:hover{background-color:var(--background-color);color:#fff;scale:1}.project-close{position:fixed;inset:auto 20px 20px auto;width:50px;height:50px;z-index:100;opacity:.9;transform:translateY(0);transition:transform .2s ease}.project-close.open{transform:translateY(100px)}}.window{background-color:#1e1e1ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;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 rgb(100,100,100);color:#ddd;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}header{position:fixed;top:0;width:100%;padding:24px;display:flex;justify-content:space-between;align-items:center;z-index:120;pointer-events:none}header>*{pointer-events:auto}#logo{width:var(--logo-width);height:auto;display:flex;align-items:center;justify-content:center;filter:drop-shadow(1px 1px 4px var(--background-color));transition:scale .2s ease}#logo svg{height:auto;width:100%}#logo:hover{background:none;scale:1.05}header nav{background-color:#1e1e1ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;position:relative;display:flex;flex-direction:row;align-items:center;padding:4px 5px;margin-right:14px;transition:opacity .3s ease}header nav.ui-hidden{opacity:0;pointer-events:none}header nav>a{font-weight:500;margin-left:8px;color:#fff;pointer-events:auto;padding:4px 12px 3.5px;border-radius:8px;z-index:4;letter-spacing:.3px;user-select:none;-webkit-user-select:none;-ms-user-select:none;transition:.3s ease}header nav>a:hover{color:#fff;background:none}header nav>a.active{background-color:#ffffffe6;color:var(--background-color);font-weight:800}header nav>a:first-child{margin-left:0}.nav__indicator{position:absolute;border:1px solid rgba(255,255,255,.9);border-radius:9px;pointer-events:none;z-index:3}@media(max-width:700px){.nav{position:fixed;width:150px;top:85px;right:20px;margin:0;padding:25px 15px;background:var(--background-color);border:1px solid white;border-radius:25px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;opacity:0;transform:translateY(10px);transition:.25s ease;pointer-events:none}.nav a{margin:0;pointer-events:none}.nav.open{opacity:1;transform:translateY(0);pointer-events:auto}.nav.open a{pointer-events:auto}}.loading-screen{background-color:var(--background-color);position:fixed;inset:0;width:100vw;height:100vh;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-screen .button--pill{width:100px;font-size:1.1rem}.loading-screen{padding-bottom:60px}.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:#ffffff06}.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;color:#fff;margin-bottom:30px}.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-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:#1e1e1ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;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:1.5px 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:1.5px 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 video{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:#1e1e1ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;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:2px;background:#646464}.video-controls__progress{position:absolute;left:0;right:0;border-radius:2px;top:calc(50% - 2px);height:4px;background:#fff;transform:scaleX(0);transform-origin:left}.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:#1e1e1ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;font-family:Space Mono,monospace;font-size:.8rem;font-weight:400;font-variant-numeric:tabular-nums;padding:6px 12px 7px}.media-label__counter{font-weight:600}.media-label__title{font-weight:300}.project-viewer{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 .4s ease-in-out;--media-strip-height: 70px}.project-viewer.open{transform:translateY(0)}.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:24px;margin-bottom:auto;text-transform:uppercase}.project-viewer__return svg{margin-top:2px}.project-viewer__heading{background-color:#1e1e1ecc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;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}.project-info__window{width:500px;max-width:45%}.project-info__tags{display:flex;gap:10px;margin-bottom:8px}.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__actions{display:flex;justify-content:space-between}.project-info__actions>div{display:flex;gap:8px}.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{display:flex;flex-direction:column}.project-team__member{padding:12px 0 15px;border-bottom:1px solid rgb(80,80,80)}.project-team__member:first-child{padding-top:0}.project-team__member:last-child{border-bottom:none;padding-bottom:0}.project-team__member .project-team__name{margin-bottom:3px;font-weight:600;font-size:.95rem}.project-team__member .project-team__roles{font-family:Space Mono,monospace;font-size:.8rem;font-weight:200;line-height:1.3;color:#c8c8c8}.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}.homepage{display:flex;flex-direction:column;gap:calc(var(--main-padding) * 2);padding-bottom:calc(var(--main-padding) * 2)}#hero{position:relative;height:100svh}.hero__scene{position:absolute;inset:0;z-index:0}.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{width:fit-content;margin:var(--main-padding) auto}.about-me__window .window__content{display:flex;flex-direction:row;gap:20px}.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{display:flex;flex-direction:column}.about-me__greeting{font-size:2.5rem;font-weight:600}.about-me__roles{font-family:Space Mono;text-transform:uppercase;display:flex;gap:8px;color:#c8c8c8}.about-me__description{margin:20px 0;max-width:600px}.about-me p{margin:0 0 15px}@media(max-width:700px){.selected-project__scroll-indicator{display:none}}.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;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{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{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:2px 8px;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%)}.projects-grid__page{width:100vw;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{flex-direction:column;margin-left:3vw;margin-right:3vw}.projects-grid__filters{bottom:80px;right:20px}.projects-grid__filters-container div:hover{border:1px solid transparent}.projects-grid__filters-buttons div:first-child:hover{background-color:transparent}.projects-grid__filters-buttons div:first-child:active{background-color:#970f0f7e}}.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}.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;gap:2px;margin-bottom:30px}.contact-page__email-section>span{font-family:Space Mono;color:#c8c8c8;font-size:.9rem;font-weight:400}.contact-page__email{position:relative;display:flex;align-items:center;gap:8px}.contact-page__email>span{font-weight:500;font-size:2rem;cursor:text;letter-spacing:1px}.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}
