@import url(https://fonts.googleapis.com/css2?family=Geist:wght@100..900&display=swap);*{scroll-behavior:smooth;scrollbar-width:none;box-sizing:border-box;--text-primary:#c9d4e3;--text-secondary:#7a91b1;--badge-bg:#0b1325;--project-bg:#0f223e;--bg:#090910}*,body{margin:0;padding:0}body{font-family:Geist,serif;font-weight:600;font-optical-sizing:auto;font-style:normal;font-size:16px;background:var(--bg);color:var(--text-primary)}.container{justify-self:center;width:80rem;display:flex;min-height:100vh;flex-direction:row}@media only screen and (max-width:992px){.job-header{display:none!important}.job-header-mobile{display:inline-block!important}.project-image-container-mobile{display:flex!important}.project-image-container{display:none!important}.project-content{flex-basis:100%!important}.info{width:80vw!important}.container{flex-direction:column!important}.left-column{width:100%!important;position:relative!important;height:auto!important}.right-column{padding-left:10%!important;padding-right:10%!important}.container,.project,.right-column{width:100%!important}.job-title div{width:100%}}.project-image-container-mobile{display:none}.left-column{width:50%;flex-shrink:0;overflow:hidden;position:sticky;top:0;left:0;height:100vh;padding-top:4rem;display:flex;flex-direction:column;align-items:center;animation:fade-in 1s}.right-column{padding-top:4rem;flex-grow:1}#me{height:14rem;aspect-ratio:1/1;border-radius:50%;margin-bottom:1rem;overflow:hidden;-o-object-fit:cover;object-fit:cover;background-color:var(--project-bg)}#name{font-size:3rem;font-weight:700;margin-bottom:.5rem;text-align:center}#job,#title{font-size:1.5rem;font-weight:500}#bio,#job,#title{margin-bottom:1rem;text-align:center}#bio{font-size:1rem;font-weight:400;margin-top:.5rem;width:60%;color:var(--text-secondary);line-height:1.5}#social{gap:1rem;margin-top:1rem}#social,.social-link{display:flex;justify-content:center}.social-link{height:3rem;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;align-items:center}.social-link svg{height:90%;width:90%;color:var(--text-primary);transition:color .3s}.social-link:hover svg{color:#fff;cursor:pointer}.project{display:flex;gap:1rem;margin-bottom:1rem;padding:1rem;border-radius:.5rem;transition:background .3s;animation:fade-in 1s;transition:opacity .3s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-half{0%{background-color:transparent}to{background-color:rgba(0,0,0,.5)}}@keyframes fade-out-half{0%{background-color:rgba(0,0,0,.5)}to{background-color:transparent}}.education{display:flex;gap:2rem;margin-bottom:4rem;padding:1rem;border-radius:.5rem;transition:background .3s}.education-major{font-size:1rem;font-weight:400;margin-top:.5rem;color:var(--text-secondary);white-space:pre-line}.job{display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem;padding:1rem;border-radius:.5rem;transition:background .3s;animation:fade-in 1s}.job-header{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-bottom:.5rem}.job-header-mobile{display:none}.job-header p{white-space:pre-line}.job-stack{display:flex;margin-top:1rem;gap:.5rem;flex-wrap:wrap}.job-title{margin-bottom:.5rem}.job-title,.project h2{font-size:1.5rem;font-weight:700}.project-image-container{flex-basis:33%;border-radius:.5rem}.project-content{flex-basis:66%}.project img{aspect-ratio:16/9;width:100%;-o-object-fit:stretch;object-fit:stretch;border-radius:.5rem}.education img{aspect-ratio:1/1;width:5rem;-o-object-fit:cover;object-fit:cover}.project-header{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem;transition:all .3s}.project:hover{cursor:pointer;background:var(--project-bg);opacity:.8!important}div:has(>.project:hover) .project{opacity:.5}.project-icon{transition:all .3s}.project:hover .project-icon{padding-left:.25rem;padding-bottom:.25rem}.more-link{animation:fade-in 1s}.more-link svg{transition:all .3s}.more-link:hover svg{padding-left:.25rem;padding-bottom:.25rem}.project-stack{display:flex;margin-top:1rem;gap:.5rem}.stack-item{padding:.5rem;border-radius:.5rem;background:var(--badge-bg);color:var(--text-secondary)}.job-description,.project-description{font-weight:400}.job-description,.more-link,.project-description{font-size:1rem;margin-top:1rem;color:var(--text-secondary)}.more-link{display:flex;margin-bottom:4rem;margin-left:1rem;gap:.5rem;align-items:center}.more-link:hover{cursor:pointer;color:var(--text-primary)}#tsparticles{z-index:-1}#loading,#tsparticles{position:fixed;top:0;left:0;width:100%;height:100%}#loading{background:var(--bg);display:flex;justify-content:center;align-items:center;z-index:100}.loader{width:48px;height:48px;display:block;margin:15px auto;position:relative;animation:rotation 1s linear infinite}.loader,.loader:after,.loader:before{border-radius:50%;box-sizing:border-box}.loader:after,.loader:before{content:"";position:absolute;left:0;top:0;background:#fff;width:16px;height:16px;transform:translate(-50%,50%)}.loader:before{left:auto;right:0;background:#fff;transform:translate(50%,100%)}.info{z-index:100;position:fixed;top:50%;left:50%;width:33vw;height:33vh;border-radius:.5rem;background-color:var(--project-bg);transform:translate(-50%,-50%);padding:1rem}.info.animate{animation:grow 1s forwards}.info.animate-out{animation:shrink 1s forwards}.tint.animate{animation:fade-in-half 1s forwards}.tint.animate-out{animation:fade-out-half 1s forwards}@keyframes grow{0%{clip-path:circle(0 at 50% 50%)}to{clip-path:circle(100% at 50% 50%)}}@keyframes shrink{0%{clip-path:circle(100% at 50% 50%)}to{clip-path:circle(0 at 50% 50%)}}.info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.info h2{font-size:1.5rem;font-weight:700}.info p{font-size:1rem;font-weight:400;margin-top:1rem;color:var(--text-secondary);line-height:1.5}.info-image-container{width:100%;aspect-ratio:16/9;border-radius:.5rem;overflow:hidden;margin-bottom:1rem;background-color:var(--project-bg)}.tint{position:fixed;top:0;left:0;width:100%;height:100%;background-color:transparent;z-index:99}.info-image-container img{width:100%;height:100%;-o-object-fit:stretch;object-fit:stretch}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#tsparticles{animation-delay:3s;animation:fade-in 3s}