body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:left}.App *{box-sizing:border-box}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-black-primary)}::-webkit-scrollbar-thumb{border-radius:4px;-webkit-transition:all .3s ease;transition:all .3s ease}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:var(--color-grey)}::selection{background:#fe44001a;color:var(--color-orange)}:focus{border-radius:6px;outline-offset:4px}:root{--color-orange:#fe4400;--font-family:"Inter",sans-serif;--font-size-base:15px;--font-size-medium:14px;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:600;--line-height:1.6;--color-white:#1a1a1a;--color-grey:#616977;--color-black-surface:#f9f9fa;--color-black-sheet:#fff;--color-black-primary:#f7f6f8;--color-dark-border:#eee;--color-light-surface:#f9f9fa;--color-light-sheet:#fff;--color-light-primary:#f7f6f8;--color-light-border:#eee;--color-text-primary:var(--color-white);--color-text-secondary:var(--color-grey);--color-bg-primary:var(--color-black-primary);--color-bg-surface:var(--color-black-surface);--color-bg-sheet:var(--color-black-sheet)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7f6f8;background-color:var(--color-black-primary);color:#1a1a1a;color:var(--color-white);font-family:Inter,sans-serif;font-family:var(--font-family);font-size:15px;font-size:var(--font-size-base);font-weight:400;font-weight:var(--font-weight-regular);line-height:1.6;line-height:var(--line-height);overflow-x:hidden;text-rendering:optimizeLegibility}.portfolio-main>[id]{scroll-margin-top:80px}.portfolio-container{background:#f7f6f8;background:var(--color-black-primary);display:flex;justify-content:center;min-height:100vh;padding:104px 80px;position:relative}.portfolio-main{border:1px solid #eee;border:1px solid var(--color-dark-border);border-radius:6px;box-shadow:0 8px 16px #00000005;display:flex;flex:1 1;flex-direction:column;gap:128px;margin:0 auto;max-width:1148px;padding:80px 104px;position:relative}.heading{color:#1a1a1a;color:var(--color-white);font-weight:600;font-weight:var(--font-weight-bold)}.body-text,.heading{font-size:15px;font-size:var(--font-size-base)}.body-text{color:#616977;color:var(--color-grey);font-weight:400;font-weight:var(--font-weight-regular);letter-spacing:.12px}.white-text{color:#1a1a1a;color:var(--color-white)}.orange-text{color:#fe4400;color:var(--color-orange)}.portfolio-link{color:#616977;color:var(--color-grey);display:inline;font-size:15px;font-size:var(--font-size-base);letter-spacing:.12px;text-decoration:none;transition:color .2s ease}.portfolio-link:hover{color:#fe4400;color:var(--color-orange)}.portfolio-link .link-text{display:inline}.portfolio-link .link-arrow{background-image:url(/static/media/arrow-up-right.87c8b782f2641c84ed50.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;display:inline-block;height:20px;margin-bottom:4px;margin-left:2px;vertical-align:middle;width:20px}.btn-primary{align-items:center;background:#f9f9fa;border:none;border-radius:6px;cursor:pointer;display:inline-flex;overflow:hidden;text-decoration:none}.btn-primary:hover .btn-text{color:#1a1a1a}.btn-text{color:#616977;color:var(--color-grey);font-family:Inter,sans-serif;font-family:var(--font-family);font-size:15px;padding:8px 12px}.btn-arrow{background:#fe4400;background:var(--color-orange);border:1px solid #fe4400;border:1px solid var(--color-orange);color:#1a1a1a;color:var(--color-white);font-weight:700;height:38px;margin:4px;width:38px}.btn-arrow img{filter:brightness(0) saturate(100%) invert(1);height:20px;width:20px}.btn-primary:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn-primary:disabled .btn-text{color:#616977;color:var(--color-grey)}.btn-primary:disabled .btn-arrow{background:#616977;background:var(--color-grey);border-color:#616977;border-color:var(--color-grey)}@media (max-width:768px){.portfolio-container{padding:60px 20px}.portfolio-main{gap:128px;padding:40px 60px}}@media (max-width:480px){.portfolio-container{padding:60px 8px 16px}.portfolio-main{border:none;padding:20px}}@media (max-height:600px){.portfolio-container{padding:40px 37px}.portfolio-main{gap:60px;padding:40px 60px}}@media (max-height:400px){.portfolio-container{padding:20px 37px}.portfolio-main{gap:40px;padding:20px 40px}}.about-section{display:flex;flex-direction:column;gap:128px;width:100%}.about-content,.approach-content,.services-content{display:flex;flex-direction:column;gap:64px;width:100%}.section-heading{color:var(--color-white);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:var(--line-height);margin:0}.about-text{max-width:690px}.about-text p,.approach-text{line-height:var(--line-height);margin:0}.approach-text,.services-list{max-width:690px}.services-list{display:flex;flex-direction:column;gap:0}.services-list p{line-height:var(--line-height);margin:0}.emphasized-word{background-image:linear-gradient(#fe44001a,#fe44001a);background-position:0 100%;background-repeat:no-repeat;background-size:100% 100%;color:var(--color-orange);cursor:pointer;position:relative;transition:color .2s ease,background-size .35s ease}.emphasized-word.load-highlight{animation:emphasizedWordReveal .7s ease forwards,emphasizedWordColor .7s ease forwards;animation-delay:0s;animation-delay:var(--highlight-delay,0s);background-size:0 100%;color:var(--color-grey)}.emphasized-word:focus-visible,.emphasized-word:hover{background-size:100% 100%}.hover-image-overlay{--animate-blur:4px;animation:fadeInScale .3s cubic-bezier(.4,0,.2,1);pointer-events:none;position:fixed;transition:filter .3s cubic-bezier(.4,0,.2,1);z-index:1000}.hover-image{border:1px solid var(--color-dark-border);border-radius:6px;box-shadow:0 8px 16px #0003;height:110px;object-fit:cover;width:200px}.hover-image,.hover-image-caption{background:var(--color-black-surface)}.hover-image-caption{border:1px solid var(--color-dark-border);border-radius:4px;color:var(--color-white);font-size:14px;font-weight:500;margin-top:8px;padding:8px 12px;text-align:center;white-space:nowrap}@keyframes fadeInScale{0%{filter:blur(var(--animate-blur));opacity:0;transform:scale(.9)}to{filter:blur(0);opacity:1;transform:scale(1)}}@keyframes emphasizedWordReveal{0%{background-size:0 100%}to{background-size:100% 100%}}@keyframes emphasizedWordColor{0%{color:var(--color-grey)}to{color:var(--color-orange)}}@media (max-width:480px){.about-text,.approach-text,.services-list{max-width:100%}.hover-image-overlay{display:none}}.resume-section{display:flex;flex-direction:column;gap:64px;margin:0 auto;width:100%}.resume-header{justify-content:space-between;width:100%}.download-btn,.resume-header{align-items:center;display:flex}.education-section,.experience-section{display:flex;flex-direction:column;gap:64px;width:100%}.subsection-heading{color:var(--color-white);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:var(--line-height);margin:0}.education-list,.experience-list{display:flex;flex-direction:column;gap:32px;width:100%}.education-item,.experience-item{align-items:flex-start;display:flex;gap:48px;width:100%}.date-range{flex-shrink:0;min-width:150px;width:15%}.date-range .body-text{line-height:var(--line-height)}.position-company-group,.program-institution-group{align-items:flex-start;display:flex;flex:1 1;gap:32px;justify-content:space-between}.degree-info{flex-shrink:0;min-width:60px;width:10%}.degree-info,.position-info,.program-info{align-items:flex-start;display:flex;flex-direction:column;gap:8px;text-align:left}.position-info,.program-info{flex:1 1}.position-title,.program-title{color:var(--color-white)}.degree-title,.position-title,.program-title{text-align:left}.degree-title,.institution-name,.position-title,.program-title{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height);margin:0}.institution-name{color:var(--color-grey)}.company-info,.institution-info{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:8px;text-align:right}.company-link{align-self:flex-end}.location{line-height:var(--line-height);margin:0}.degree{letter-spacing:.12px;line-height:1.5}.faculty,.program{line-height:1.5}.achievement,.faculty,.program,.responsibility{color:var(--color-grey);letter-spacing:.12px;margin:0}.achievement,.responsibility{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height)}.achievements,.thesis-info{display:flex;flex-direction:column;gap:8px}.thesis-info{max-width:320px}.thesis-links{display:flex;flex-direction:column;gap:8px}.thesis-link{flex:1 1;min-width:0}.thesis-type{line-height:var(--line-height);margin:0}@media (max-width:1400px){.position-info,.program-info{flex:1 1;min-width:150px}.company-info,.institution-info{flex:1 1;min-width:200px}.position-company-group,.program-institution-group{flex:1 1;gap:24px}}@media (max-width:768px){.resume-section{width:100%}.education-section,.experience-section{gap:80px}.education-list,.experience-list{gap:32px}.education-item,.experience-item{align-items:stretch;flex-direction:column;gap:16px}.date-range{order:-1;padding-bottom:4px;width:100%}.date-range .body-text{color:var(--color-grey);font-size:var(--font-size-small);font-weight:var(--font-weight-medium)}.position-company-group,.program-institution-group{align-items:flex-start;flex-direction:row;gap:16px;justify-content:space-between;margin-bottom:0;width:100%}.position-info,.program-info{align-items:flex-start;flex:1 1;flex-direction:column;min-width:0;text-align:left}.company-info,.institution-info{align-items:flex-end;flex:1 1;flex-direction:column;min-width:0;text-align:right}.degree-info{align-items:flex-start;flex-direction:row;text-align:left;width:100%}.thesis-info{margin-top:8px;max-width:100%}}@media (max-width:480px){.resume-header{align-items:flex-start;flex-direction:column;gap:24px;justify-content:flex-start}.education-list,.experience-list{gap:32px}.education-item,.experience-item{gap:12px}}.header{height:103px;justify-content:space-between;width:100%}.header,.profile-section{align-items:center;display:flex}.profile-section{flex:1 1}.profile-container{align-items:center;display:flex;gap:24px}.profile-image{height:94px;width:94px}.profile-image,.profile-photo{border-radius:6px;position:relative}.profile-photo{height:100%;object-fit:cover;outline:1px solid #fff3;outline-offset:-1px;width:100%;z-index:2}.profile-text{display:flex;flex:1 1;flex-direction:column;gap:16px}.profile-info{display:flex;flex-direction:column;gap:4px}.profile-name{color:var(--color-white);font-size:18px;font-weight:var(--font-weight-bold);letter-spacing:.18px;line-height:normal;margin:0}.profile-title{color:var(--color-grey);font-size:var(--font-size-base);letter-spacing:.12px;margin:0}.linkedin-link{align-self:flex-start}.navigation{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.nav-item{background:none;border:none;color:var(--color-grey);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-base);height:29px;letter-spacing:.18px;line-height:var(--line-height);line-height:normal;margin:0;padding:0;text-align:right;transition:color .2s ease;width:100px}.nav-item .btn-text{align-items:center;display:flex;gap:16px;justify-content:flex-end;width:100%}.nav-item .btn-text:before{background:var(--color-orange);border-radius:1px;content:"";filter:blur(4px);flex-shrink:0;height:4px;transform:scale(0);transition:transform .3s ease,filter .3s ease;width:4px}.nav-item:hover .btn-text,.navigation .btn-nav.nav-item:hover .btn-text{color:var(--color-white)}.nav-item:hover .btn-text:before{filter:blur(0);transform:scale(1)}@media (max-width:600px){.header{align-items:flex-start;flex-direction:column;gap:32px;height:auto}.navigation{align-self:stretch;flex-direction:row;gap:24px;justify-content:space-between}.nav-item{text-align:left;width:fit-content}.nav-item .btn-text{justify-content:flex-start}}@media (max-width:480px){.profile-image{height:70px;width:70px}.profile-text{gap:0}.profile-name{font-size:18px}.navigation{gap:16px}.nav-item{font-size:16px}}.animate-on-scroll{--animate-blur:4px;transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94),filter .6s cubic-bezier(.25,.46,.45,.94);will-change:opacity,transform,filter}.animate-on-scroll.animate-hidden{filter:blur(var(--animate-blur));opacity:0}.animate-on-scroll.animate-visible{filter:blur(0);opacity:1}.animate-on-scroll.fadeInUp.animate-hidden{filter:blur(var(--animate-blur));opacity:0;transform:translateY(40px)}.animate-on-scroll.fadeInUp.animate-visible{filter:blur(0);opacity:1;transform:translateY(0)}.animate-on-scroll.fadeInDown.animate-hidden{filter:blur(var(--animate-blur));opacity:0;transform:translateY(-40px)}.animate-on-scroll.fadeInDown.animate-visible{filter:blur(0);opacity:1;transform:translateY(0)}.animate-on-scroll.fadeInLeft.animate-hidden{filter:blur(var(--animate-blur));opacity:0;transform:translateX(-40px)}.animate-on-scroll.fadeInLeft.animate-visible{filter:blur(0);opacity:1;transform:translateX(0)}.animate-on-scroll.fadeInRight.animate-hidden{filter:blur(var(--animate-blur));opacity:0;transform:translateX(40px)}.animate-on-scroll.fadeInRight.animate-visible{filter:blur(0);opacity:1;transform:translateX(0)}.animate-on-scroll.scaleUp.animate-hidden{filter:blur(var(--animate-blur));opacity:0;transform:scale(.8)}.animate-on-scroll.scaleUp.animate-visible{filter:blur(0);opacity:1;transform:scale(1)}.animate-on-scroll.popUp.animate-hidden{filter:blur(var(--animate-blur));opacity:0;transform:scale(.8) translateY(20px)}.animate-on-scroll.popUp.animate-visible{filter:blur(0);opacity:1;transform:scale(1) translateY(0);transition:opacity .6s cubic-bezier(.175,.885,.32,1.275),transform .6s cubic-bezier(.175,.885,.32,1.275),filter .6s cubic-bezier(.175,.885,.32,1.275)}.animate-on-scroll.slideInUp.animate-hidden{filter:blur(var(--animate-blur));opacity:0;transform:translateY(60px)}.animate-on-scroll.slideInUp.animate-visible{filter:blur(0);opacity:1;transform:translateY(0)}.animate-on-scroll.fadeIn.animate-hidden{filter:blur(var(--animate-blur));opacity:0}.animate-on-scroll.fadeIn.animate-visible{filter:blur(0);opacity:1}.animate-on-scroll.stagger-1{transition-delay:.1s}.animate-on-scroll.stagger-2{transition-delay:.2s}.animate-on-scroll.stagger-3{transition-delay:.3s}.animate-on-scroll.stagger-4{transition-delay:.4s}.animate-on-scroll.stagger-5{transition-delay:.5s}@media (max-width:768px){.animate-on-scroll{transition-duration:.6s}.animate-on-scroll.fadeInUp.animate-hidden,.animate-on-scroll.slideInUp.animate-hidden{transform:translateY(25px)}.animate-on-scroll.fadeInDown.animate-hidden{transform:translateY(-25px)}.animate-on-scroll.fadeInLeft.animate-hidden,.animate-on-scroll.fadeInRight.animate-hidden{transform:translateX(25px)}}@media (prefers-reduced-motion:reduce){.animate-on-scroll{transform:none!important;transition-duration:.2s}.animate-on-scroll.animate-hidden{filter:blur(0)!important;opacity:.3;transform:none!important}.animate-on-scroll.animate-visible{filter:blur(0)!important;opacity:1;transform:none!important}}.btn{align-items:center;border:1px solid var(--color-dark-border);border-radius:6px;cursor:pointer;display:inline-flex;font-family:var(--font-family);overflow:hidden;position:relative;text-decoration:none}.btn,.btn-text{transition:all .2s ease}.btn-text{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);letter-spacing:.12px}.btn-arrow{align-items:center;border-radius:5px;display:flex;justify-content:center}.btn-arrow,.btn-arrow img{transition:all .2s ease}.btn-primary{background:var(--color-black-surface)}.btn-primary .btn-text{color:var(--color-grey);padding:8px 12px}.btn-primary:hover{box-shadow:0 4px 16px #00000005}.btn-primary:hover .btn-text{color:var(--color-white)}.btn-primary .btn-arrow{background:var(--color-orange);border:1px solid var(--color-orange);height:32px;margin:4px;transition:background-color,transform .2s ease;width:32px}.btn-primary:hover .btn-arrow{background:#fe3300}.btn-primary:active .btn-arrow{transform:scale(.95)}.btn-primary .btn-arrow img{filter:brightness(0) saturate(100%) invert(1);height:18px;width:18px}.btn-contact{background:var(--color-black-sheet);border:1px solid var(--color-dark-border)}.btn-contact:hover{border-color:var(--color-orange)}.btn-contact .btn-text{color:var(--color-grey);font-size:14px;padding:8px 12px}.btn-contact:hover .btn-text{color:var(--color-white)}.btn-contact .btn-arrow{background:var(--color-orange);height:32px;width:32px}.btn-contact .btn-arrow img{filter:brightness(0) saturate(100%) invert(100%);height:12px;width:12px}.btn-nav{background:#0000;border:none;border-radius:0;justify-content:flex-end;padding:0}.btn-nav .btn-text{color:var(--color-grey);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);letter-spacing:.12px;padding:12px 0;position:relative;transition:color .3s ease}.btn-nav:hover .btn-text{color:var(--color-orange)}.btn-nav .btn-text:after{background-color:var(--color-orange);bottom:0;content:"";height:1px;left:0;position:absolute;transition:width .3s ease;width:0}.btn-nav:hover .btn-text:after{width:100%}.btn-nav.active .btn-text{color:var(--color-white)}.btn-nav.active .btn-text:after{width:100%}.btn-sticky-nav{background:#0000;color:var(--color-grey);cursor:pointer;font-family:var(--font-family);font-size:14px;font-weight:var(--font-weight-medium);letter-spacing:.12px;padding:8px 0;transition:color .2s ease}.btn-sticky-nav.active,.btn-sticky-nav:hover{color:var(--color-white)}.btn-small{font-size:12px}.btn-small .btn-text{font-size:12px;padding:6px 8px}.btn-small .btn-arrow{height:28px;width:28px}.btn-small .btn-arrow img{height:10px;width:10px}.btn-large .btn-text{font-size:16px;padding:12px 16px}.btn-large .btn-arrow{height:42px;margin:6px;width:42px}.btn-large .btn-arrow img{height:24px;width:24px}.btn-disabled,.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn-disabled .btn-text,.btn:disabled .btn-text{color:var(--color-grey)}.btn-loading{cursor:wait}@media (max-width:768px){.btn-contact .btn-text{font-size:12px;padding:6px 8px}.btn-contact .btn-arrow{height:28px;width:28px}.btn-contact .btn-arrow img{height:10px;width:10px}.btn-sticky-nav{font-size:14px}}@media (max-width:480px){.btn-contact .btn-text{display:none}}.case-study-cursor{--animate-blur:4px;align-items:center;background:var(--color-black-surface);border:1px solid var(--color-dark-border);border-radius:6px;color:var(--color-text-primary);display:flex;filter:blur(var(--animate-blur));font-size:14px;gap:8px;justify-content:center;left:0;opacity:0;overflow:hidden;padding:4px 8px 4px 4px;pointer-events:none;position:fixed;top:0;transform:translate(-50%,-50%) scale(.7);transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),filter .3s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.33,1,.68,1);visibility:hidden;z-index:9999}.case-study-cursor.visible{filter:blur(0);opacity:1;transform:translate(-50%,-50%) scale(1);visibility:visible}.case-study-cursor .cursor-icon{background:var(--color-orange);border-radius:4px;color:#ededed;flex-shrink:0;height:24px;padding:4px;transition:opacity .15s ease,transform .15s ease,filter .15s ease;transition-delay:0ms;width:24px}.case-study-cursor .cursor-text{font-family:var(--font-family);transition:opacity .15s ease,transform .15s ease,filter .15s ease;transition-delay:50ms;white-space:nowrap}.case-study-cursor.content-out .cursor-icon{filter:blur(4px);opacity:0;transform:scale(.75);transition-delay:50ms}.case-study-cursor.content-out .cursor-text{filter:blur(4px);opacity:0;transform:scale(.75);transition-delay:0ms}.email-display,.project-card,.project-card *{cursor:none}@media (max-width:768px){.email-display,.project-card,.project-card *{cursor:default!important}}
/*# sourceMappingURL=main.036fac40.css.map*/