@font-face{font-display:swap;font-family:Saans;font-style:normal;font-weight:600;src:url(/static/media/Saans-TRIAL-SemiBold.f18969fc7e741f3f4c46.ttf) format("truetype")}@font-face{font-display:swap;font-family:Saans;font-style:normal;font-weight:800;src:url(/static/media/Saans-TRIAL-Heavy.8947a06ee872b1554508.ttf) format("truetype")}@font-face{font-display:swap;font-family:Saans-TRIAL-Regular;font-style:normal;font-weight:400;src:url(/static/media/Saans-TRIAL-Regular.02f896b2889b6af2c16c.otf) format("opentype")}@font-face{font-display:swap;font-family:SpaceGrotesk;font-style:normal;font-weight:300;src:url(/static/media/SpaceGrotesk-Light.77fdecb3422fbe54ed88.ttf) format("truetype")}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow:hidden;padding:0}#root{height:100vh;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--water-sphere-size:clamp(380px,32vw,640px);--water-sphere-effective-size:min(var(--water-sphere-size),90vw,90vh);--left-panel-height:14rem;--water-sphere-center-top:calc((100vh - var(--left-panel-height))/2);--water-sphere-center-left:calc(6.5rem + 150px);--water-sphere-right-edge:calc(var(--water-sphere-center-left) + var(--water-sphere-effective-size)/2);--left-panel-width:min(var(--water-sphere-right-edge),100vw)}.App{background-color:#eceded;height:100vh;overflow:hidden;position:relative;width:100%}.grain-overlay{animation:grain-animation 8s steps(10) infinite;background-repeat:repeat;background-size:200px 200px;height:300%;left:-50%;opacity:.3;pointer-events:none;position:fixed;top:-110%;width:300%;z-index:1}@keyframes grain-animation{0%,to{transform:translate(0)}10%{transform:translate(-5%,-10%)}20%{transform:translate(-15%,5%)}30%{transform:translate(7%,-25%)}40%{transform:translate(-5%,25%)}50%{transform:translate(-15%,10%)}60%{transform:translate(15%)}70%{transform:translateY(15%)}80%{transform:translate(3%,35%)}90%{transform:translate(-10%,10%)}}.container{display:flex;height:100vh;position:relative;width:100%;z-index:2}.left-panel{bottom:0;gap:2rem;left:0;max-width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);max-width:var(--left-panel-width);min-width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);min-width:var(--left-panel-width);padding:2rem 0 2rem 2rem;position:fixed;width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);width:var(--left-panel-width);z-index:10}.left-panel,.name-section{box-sizing:border-box;display:flex;flex-direction:column}.name-section{align-self:stretch;gap:.5rem;min-width:100%;position:relative}.name-row,.name-section{max-width:100%;overflow:hidden;width:100%}.name-row{align-items:baseline;box-sizing:border-box;display:flex;flex-wrap:nowrap;gap:0;min-width:0}.name{flex-shrink:0;font-family:Saans,sans-serif;font-size:clamp(2.5rem,4.5vw,6rem);font-weight:600;letter-spacing:-.02em;line-height:1;margin:0}.name,.role{white-space:nowrap}.role{color:#666;font-family:SpaceGrotesk,sans-serif;font-size:clamp(.875rem,1vw,1.5rem);font-weight:300;text-transform:lowercase}.navigation{align-self:flex-start;box-sizing:border-box;display:flex;gap:clamp(1.5rem,4vw,6rem);justify-content:space-between;max-width:100%;min-width:100%;width:100%}.nav-link{color:#000;display:inline-block;font-family:SpaceGrotesk,sans-serif;font-size:clamp(1rem,1.5vw,2.25rem);font-weight:300;position:relative;text-decoration:none;text-transform:lowercase;transition:color .2s ease;white-space:nowrap}.nav-link:after{background-color:#000;bottom:-2px;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;width:100%}.nav-link:hover{color:#666}.nav-link:hover:after{transform:scaleX(1);transform-origin:left}.nav-link:not(:hover):after{transform-origin:right}.nav-link.active:after{transform:scaleX(1);transform-origin:left}.right-panel{align-items:flex-start;display:flex;flex:1 1;height:100vh;justify-content:flex-end;margin-left:auto;padding-right:2rem;perspective:1500px;position:relative}.scroll-container{-ms-overflow-style:none;height:100%;max-width:600px;overflow-x:hidden;overflow-y:auto;padding-bottom:0;position:relative;scroll-behavior:smooth;scrollbar-width:none;width:100%;z-index:1}.scroll-container::-webkit-scrollbar{display:none}.project-list{align-items:flex-end;display:flex;flex-direction:column;gap:156px;pointer-events:none}.carousel-list{perspective:1500px;transform-style:preserve-3d}.project-item{color:#000;cursor:pointer;font-family:Saans,sans-serif;font-size:6rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;pointer-events:auto;position:relative;text-align:right;text-transform:lowercase;transform-style:preserve-3d;transition:transform .3s ease-out,opacity .3s ease-out,all .3s ease;width:100%;will-change:transform,opacity}.project-item:after{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b4e1f0,#a2d0f2 50%,#0a0d50);-webkit-background-clip:text;background-clip:text;color:#0000;content:attr(data-text);inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s ease}.project-item:hover{color:#0a0d5026}.project-item:hover:after{opacity:1}@keyframes aboutFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.about-container{align-items:center;display:flex;height:100%;justify-content:flex-end;overflow:hidden;padding-right:3rem;width:100%}.about-content{animation:aboutFadeIn .8s ease-out .2s forwards;max-width:600px;opacity:0;pointer-events:auto;width:100%}.contact-container{align-items:center;display:flex;height:100%;justify-content:flex-end;overflow:hidden;padding-right:3rem;width:100%}.about-paragraph{text-wrap:pretty;color:#000;font-family:Saans-TRIAL-Regular,sans-serif;font-size:1.125rem;font-weight:400;line-height:1.8;margin:0 0 1.5rem;orphans:3;text-align:left;widows:3}.about-paragraph:last-child{margin-bottom:0}.contact-content{animation:aboutFadeIn .8s ease-out .2s forwards;display:flex;flex-direction:column;gap:2.5rem;max-width:600px;opacity:0;pointer-events:auto;width:100%}.contact-link{align-items:center;color:#000;display:flex;gap:1.5rem;opacity:0;text-decoration:none;transform:translateY(20px);transition:all .3s ease}.contact-link:first-child{animation:aboutFadeIn .6s ease-out .3s forwards}.contact-link:nth-child(2){animation:aboutFadeIn .6s ease-out .45s forwards}.contact-link:nth-child(3){animation:aboutFadeIn .6s ease-out .6s forwards}.contact-link:hover{opacity:.7;transform:translateX(10px)}.contact-icon{flex-shrink:0;height:48px;transition:transform .3s ease;width:48px}.contact-link:hover .contact-icon{transform:scale(1.1)}.contact-text{font-family:Saans-TRIAL-Regular,sans-serif;font-size:1.5rem;font-weight:400;line-height:1.4}.water-sphere-container{height:min(clamp(380px,32vw,640px),90vw,90vh);height:var(--water-sphere-effective-size);max-height:90vh;max-width:90vw;width:min(clamp(380px,32vw,640px),90vw,90vh);width:var(--water-sphere-effective-size);z-index:5}.project-details-container,.water-sphere-container{left:calc(6.5rem + 150px);left:var(--water-sphere-center-left);pointer-events:none;position:fixed;top:calc(50vh - 7rem);top:var(--water-sphere-center-top);transform:translate(-50%,-50%)}.project-details-container{align-items:center;animation:fadeIn .3s ease-out forwards;display:flex;justify-content:center;opacity:0;width:clamp(300px,25vw,500px);z-index:4}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.project-details-content{align-items:center;display:flex;flex-direction:column;gap:1.5rem;text-align:center}.project-tags{color:#000;font-family:SpaceGrotesk,sans-serif;font-size:.875rem;font-weight:300;letter-spacing:.1em;line-height:1.6;text-transform:uppercase}.project-media-placeholder{align-items:center;background:linear-gradient(135deg,#0000001a,#0000000d);border:1px dashed #0000004d;border-radius:8px;color:#666;display:flex;font-family:SpaceGrotesk,sans-serif;font-size:.75rem;height:clamp(180px,13.5vw,270px);justify-content:center;overflow:hidden;padding:1rem;text-align:center;width:clamp(320px,24vw,480px)}.project-media-placeholder:has(.project-preview-video){background:#0000;border:none;padding:0}.project-preview-video{border-radius:8px;height:100%;object-fit:cover;width:100%}@media (max-width:768px){.name{font-size:2rem}.project-item{font-size:2.5rem}.project-list{gap:80px}.left-panel{max-width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);max-width:var(--left-panel-width);min-width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);min-width:var(--left-panel-width);padding:1.5rem 0 1.5rem 1.5rem;width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);width:var(--left-panel-width)}.right-panel{padding-right:1.5rem}.project-details-container{width:clamp(280px,45vw,420px)}.project-media-placeholder{height:clamp(146px,21.4vw,202px);width:clamp(260px,38vw,360px)}.project-tags{font-size:.75rem}.about-container,.contact-container{padding-right:1.5rem}.about-paragraph{font-size:1rem}.contact-text{font-size:1.25rem}.contact-icon{height:40px;width:40px}}@media (max-width:480px){.left-panel{max-width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);max-width:var(--left-panel-width);min-width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);min-width:var(--left-panel-width);padding:1rem 0 1rem 1rem;width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);width:var(--left-panel-width)}.project-list{gap:60px}.project-item{font-size:2rem}.project-details-container{width:clamp(230px,65vw,380px)}.project-media-placeholder{font-size:.65rem;height:clamp(118px,31vw,180px);width:clamp(210px,55vw,320px)}.project-tags{font-size:.65rem}.about-container,.contact-container{padding-right:1rem}.about-paragraph{font-size:.9rem}.contact-text{font-size:1.1rem}.contact-icon{height:36px;width:36px}.contact-content{gap:2rem}}@media (min-width:1440px){.project-list{gap:156px}}@media (min-width:1920px){:root{--water-sphere-center-left:max(calc(6.5rem + 150px),340px);--water-sphere-right-edge:calc(var(--water-sphere-center-left) + var(--water-sphere-size)/2)}.project-details-container,.water-sphere-container{left:calc(6.5rem + 150px);left:var(--water-sphere-center-left);top:calc(50vh - 7rem);top:var(--water-sphere-center-top)}.left-panel{max-width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);max-width:var(--left-panel-width);min-width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);min-width:var(--left-panel-width);width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);width:var(--left-panel-width)}}@media (min-width:2560px){:root{--water-sphere-center-left:max(calc(6.5rem + 150px),360px);--water-sphere-right-edge:calc(var(--water-sphere-center-left) + var(--water-sphere-size)/2)}.project-details-container,.water-sphere-container{left:calc(6.5rem + 150px);left:var(--water-sphere-center-left);top:calc(50vh - 7rem);top:var(--water-sphere-center-top)}.left-panel{max-width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);max-width:var(--left-panel-width);min-width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);min-width:var(--left-panel-width);width:min(calc(6.5rem + 150px + min(clamp(380px, 32vw, 640px), 90vw, 90vh)/2),100vw);width:var(--left-panel-width)}}.project-overlay{align-items:center;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:100}.project-overlay-background{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#ecededbf;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.project-content-container{background-color:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;height:96vh;max-width:1600px;overflow:hidden;position:relative;width:98%;z-index:2}.project-grain-overlay{animation:grain-animation 8s steps(10) infinite;background-repeat:repeat;background-size:200px 200px;border-radius:8px;height:300%;left:-50%;opacity:.3;pointer-events:none;position:absolute;top:-110%;width:300%;z-index:10}.project-content-scroll{height:100%;overflow-x:hidden;overflow-y:auto;position:relative;scrollbar-color:#0000004d #0000;scrollbar-width:thin;width:100%;z-index:11}.project-content-scroll::-webkit-scrollbar{width:6px}.project-content-scroll::-webkit-scrollbar-track{background:#0000}.project-content-scroll::-webkit-scrollbar-thumb{background-color:#0000004d;border-radius:3px}.project-close-button{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;height:46px;justify-content:center;left:2rem;margin-bottom:-40px;margin-left:2rem;padding:0;position:-webkit-sticky;position:sticky;top:2rem;width:46px;z-index:12}.close-sphere{-webkit-clip-path:polygon(50% 0,80% 10%,100% 50%,80% 90%,50% 100%,20% 90%,0 50%,20% 10%);clip-path:polygon(50% 0,80% 10%,100% 50%,80% 90%,50% 100%,20% 90%,0 50%,20% 10%);height:46px;overflow:hidden;position:relative;transition:transform .4s cubic-bezier(.6,0,.3,1),-webkit-clip-path .45s cubic-bezier(.6,0,.3,1);transition:clip-path .45s cubic-bezier(.6,0,.3,1),transform .4s cubic-bezier(.6,0,.3,1);transition:clip-path .45s cubic-bezier(.6,0,.3,1),transform .4s cubic-bezier(.6,0,.3,1),-webkit-clip-path .45s cubic-bezier(.6,0,.3,1);width:46px}.close-sphere-water{inset:0;position:absolute}.close-sphere canvas{height:100%!important;pointer-events:none;width:100%!important}.project-close-button:hover .close-sphere{-webkit-clip-path:polygon(85% 0,85% 25%,100% 25%,100% 75%,85% 75%,85% 100%,0 50%,0 50%);clip-path:polygon(85% 0,85% 25%,100% 25%,100% 75%,85% 75%,85% 100%,0 50%,0 50%);transform:translateX(-4px)}.project-content-inner{margin:0 auto;max-width:1200px;padding:2rem 4rem 4rem;position:relative}.project-header{margin-bottom:1rem;margin-left:auto;margin-right:auto;max-width:902px}.project-header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.project-image-placeholder{color:#666;font-family:Saans-TRIAL-Regular,sans-serif;font-size:1.5rem}.project-title{font-family:Saans,sans-serif;font-size:4rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0;text-transform:lowercase}.project-content-image{align-items:center;background-color:#d9d9d9;border-radius:8px;display:flex;height:492px;justify-content:center;margin:0 auto 1.5rem;max-width:902px;overflow:hidden;position:relative;width:100%}.project-content-image:first-of-type{margin-bottom:1.5rem}.project-image{display:block;height:100%;object-fit:cover;width:100%}.project-video{object-fit:contain}.project-video-fill{object-fit:cover}.video-placeholder{animation:videoPulse 2.4s ease-in-out infinite;background:linear-gradient(120deg,#ffffff14,#0000001f);inset:0;pointer-events:none;position:absolute}@keyframes videoPulse{0%{opacity:.45}50%{opacity:.85}to{opacity:.45}}.project-carousel-slide .project-image{object-fit:contain}.project-carousel-shell{margin:0 auto 1.5rem;max-width:902px;position:relative;width:100%}.project-carousel-container{-webkit-overflow-scrolling:touch;background-color:#d9d9d9;border-radius:8px;cursor:grab;height:492px;outline:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-y pinch-zoom;width:100%}.project-carousel-container::-webkit-scrollbar{display:none}.project-carousel-container.is-dragging,.project-carousel-container:active{cursor:grabbing}.project-carousel-track{display:flex;gap:0;height:100%;-webkit-user-select:none;user-select:none;width:100%}.project-carousel-slide{flex:0 0 100%;height:100%;scroll-snap-align:center}.carousel-arrow,.project-carousel-slide{align-items:center;display:flex;justify-content:center}.carousel-arrow{background:#0000;border:none;cursor:pointer;height:auto;padding:.5rem;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:auto;z-index:10}.carousel-arrow:hover{transform:translateY(-50%) scale(1.15)}.carousel-arrow svg{color:#fff;filter:drop-shadow(0 0 4px rgba(0,0,0,.3));height:20px;width:20px}.carousel-arrow-left{left:1rem}.carousel-arrow-right{right:1rem}.carousel-counter{background:#ffffffe6;border-radius:4px;bottom:1rem;color:#000;font-family:SpaceGrotesk,sans-serif;font-size:.875rem;font-weight:300;min-width:3.5rem;padding:.375rem .75rem;position:absolute;right:1rem;text-align:center;z-index:10}.project-divider{background-color:#000;height:1px;margin:0 auto 1.5rem;max-width:902px;width:100%}.project-tools-skills{align-items:center;display:flex;flex-wrap:wrap;gap:1.875rem;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:902px}.project-tag{line-height:1}.project-separator,.project-tag{font-size:1.125rem}.project-date,.project-separator,.project-tag{color:#000;font-family:Saans-TRIAL-Regular,sans-serif}.project-date{font-size:1rem}.project-github-link{align-items:center;color:#000;display:flex;gap:.75rem;text-decoration:none;transition:opacity .2s ease}.project-github-link:hover{opacity:.6}.project-github-link .project-visit{color:#000;font-family:Saans-TRIAL-Regular,sans-serif;font-size:1rem;white-space:nowrap}.project-github-link svg{flex-shrink:0}.project-section-title{color:#545454;font-family:SpaceGrotesk,sans-serif;font-size:.875rem;font-weight:400;letter-spacing:.05em;margin:3rem auto 2rem;max-width:902px;text-transform:uppercase}.project-paragraph{color:#000;font-family:Saans-TRIAL-Regular,sans-serif;font-size:2rem;letter-spacing:-.01em;line-height:1.4;margin:0 auto 2rem;max-width:902px}@media (max-width:1024px){.project-content-inner{padding:3rem}.project-title{font-size:3rem}.project-paragraph{font-size:1.75rem}.project-carousel-container,.project-content-image{height:400px}}@media (max-width:768px){.project-content-container{height:94vh;width:96%}.project-content-inner{padding:2rem}.project-close-button{margin-left:1rem;top:1rem}.project-title{font-size:2.5rem}.project-carousel-container,.project-content-image{height:300px}.project-paragraph{font-size:1.5rem}.project-tools-skills{gap:1rem}.project-tag{font-size:1rem}.carousel-arrow svg{height:18px;width:18px}.carousel-counter{font-size:.75rem;min-width:3rem;padding:.25rem .5rem}}@media (max-width:480px){.project-content-inner{padding:1.5rem}.project-title{font-size:2rem}.project-carousel-container,.project-content-image{height:200px}.project-paragraph{font-size:1.25rem}.carousel-arrow svg{height:16px;width:16px}.carousel-arrow-left{left:.5rem}.carousel-arrow-right{right:.5rem}.carousel-counter{bottom:.5rem;font-size:.7rem;min-width:2.5rem;padding:.25rem .5rem;right:.5rem}}
/*# sourceMappingURL=main.8a9b35d2.css.map*/