@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/fonts/dm-sans-latin-v1.woff2) format("woff2")}:root{font-optical-sizing:none;font-family:DM Sans,Arial,Helvetica,sans-serif;color:#080808;background:#fff;font-synthesis:none;font-weight:500;--text-duration:.28s;--text-ease:cubic-bezier(.2,.8,.2,1);--line:#d0d0d0;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}::selection{background:#080808;color:#fff}h1,h2,h3,p{margin:0}button{padding:0}ul{padding:0;margin:0;list-style:none}li+li{margin-top:16px}li{line-height:1.65}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#000;color:#fff;padding:15px}.skip-link:focus{top:15px}.scroll-progress{position:fixed;inset:0 0 auto;height:3px;background:#777;mix-blend-mode:difference;transform:scaleX(0);transform-origin:left;z-index:99;pointer-events:none}.header{display:flex;align-items:center;gap:30px;padding:23px 32px;font-size:13px;line-height:1.2}.wordmark{font-size:34px;font-weight:950;letter-spacing:-4px;position:relative;padding-right:14px}.wordmark span{font-size:12px;position:absolute;top:2px;right:0;letter-spacing:0}.header-descriptor{margin-left:45px;font-size:12px}.desktop-nav{display:flex;gap:20px;margin-left:auto;font-weight:750}.local-time{display:flex;gap:10px;margin-left:55px;font-size:12px}.local-time time{font-variant-numeric:tabular-nums}.rolling-link{overflow:hidden;display:inline-block}.rolling-link span{display:block;position:relative;transition:transform .4s var(--ease)}.rolling-link span:after{content:attr(data-text);position:absolute;top:110%;left:0}.rolling-link:hover span{transform:translateY(-110%)}.menu-button,.mobile-nav{display:none}.hero{padding:0 24px;min-height:calc(100svh - 85px);display:flex;flex-direction:column}.hero-name-wrap{position:relative;padding-top:28px}.hero-name{font-size:17.8vw;letter-spacing:-.085em;line-height:1.04;font-weight:950;display:flex;white-space:nowrap;padding-bottom:.05em}.name-space{width:.23em;flex-shrink:0}.letter{display:inline-block;animation:none;animation-delay:calc(var(--i)*45ms);transition:color .3s,transform .55s var(--ease);transform-origin:bottom center}.letter:hover{color:#fff;-webkit-text-stroke:2px #080808;transform:translateY(-.055em) rotate(-5deg)}.name-mark{position:absolute;right:1px;top:32px;font-size:clamp(22px,3.5vw,60px);font-weight:700;line-height:1}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:30px 8px 62px;flex:1}.hero-left{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:50px;padding-top:15px}.rotating-star{display:inline-block;animation:rotate 28s linear infinite;line-height:1}.hero-left .rotating-star{font-size:100px}.mini-label{font-size:12px;line-height:1.5;text-transform:uppercase;letter-spacing:.05em}.hero-intro{padding-left:8%;padding-top:12px}.intro-heading{font-size:clamp(24px,2.65vw,43px);line-height:1.07;letter-spacing:-.055em;font-weight:750;max-width:590px}.intro-name{margin-right:.55em}.underlined{position:relative;display:inline-block}.underlined:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:currentColor;transform-origin:left;transform:scaleX(0);animation:line-in 1s 1.3s var(--ease) forwards}.hero-facts{display:grid;grid-template-columns:100px 1fr;gap:12px 20px;margin-top:30px;max-width:420px;font-size:13px;line-height:1.4}.hero-facts>span{font-size:12px;color:#626262}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:8px;vertical-align:middle;animation:pulse 3s infinite}.hero-socials{display:flex;gap:28px;padding-left:120px;margin-top:25px;font-size:13px}.out-link{display:inline-flex;align-items:center;gap:12px}.arrow{display:inline-block;transition:transform .45s var(--ease)}.out-link:hover .arrow{transform:translate(4px,-4px)}.hero-foot{display:flex;justify-content:space-between;align-items:center;padding:22px 8px;font-size:12px}.hero-foot a{display:flex;gap:45px;align-items:center}.scroll-arrow{font-size:25px;animation:nudge 2.5s infinite}.section-pad{padding:70px 32px 90px;scroll-margin-top:0}.section-label{display:grid;grid-template-columns:1fr 3fr auto;font-size:13px;padding-bottom:20px}.section-label>span:last-child{font-size:24px;line-height:.7}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:55px 0 65px;gap:40px}.section-heading h2{font-size:clamp(64px,8.3vw,140px);font-weight:750;line-height:.91;letter-spacing:-.075em}.section-heading>p{font-size:16px;line-height:1.5;width:26%;padding-bottom:5px}.outline-type{color:transparent;-webkit-text-stroke:1.3px currentColor;-webkit-text-stroke-color:#080808}.project summary{display:grid;grid-template-columns:60px 1fr 55px;gap:20px;align-items:start;padding:38px 0;transition:padding .45s var(--ease),background .4s,color .4s}.row-number{font-size:13px;margin-top:9px}.project-title h3{font-size:clamp(32px,4.1vw,70px);letter-spacing:-.055em;line-height:1.03;font-weight:650;max-width:1000px}.project-stack{display:block;margin-top:18px;font-size:12px;color:#646464;transition:color .3s}.expand-icon{font-size:40px;line-height:1;font-weight:400;justify-self:end;transition:transform .5s var(--ease)}details[open]>summary .expand-icon{transform:rotate(45deg)}.project summary:hover,.project summary:focus-visible{background:#080808;color:#fff;padding-left:20px;padding-right:20px}.project summary:hover .project-stack,.project summary:focus-visible .project-stack{color:#bbb}.project-body{display:grid;grid-template-columns:1fr 3fr;gap:20px;padding:32px 80px 48px 0}.project-body ul{max-width:760px;color:#444}.project-body .out-link{margin-top:26px;padding-bottom:6px;font-size:14px}details[open]>.project-body,details[open]>ul{animation:details-in .22s var(--text-ease)}.section-end{display:flex;justify-content:space-between;font-size:13px;margin-top:25px}.experience{padding-top:50px}.heading-symbol{font-size:clamp(100px,14vw,220px);line-height:.8}.experience-row{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:30px 0}.experience-date{display:flex;gap:35px;font-size:13px;line-height:1.7}.muted{color:#707070}.experience-row summary{display:flex;justify-content:space-between;gap:20px}.experience-row h3{font-size:clamp(24px,2.3vw,39px);line-height:1.1;letter-spacing:-.035em;margin-top:8px;font-weight:600}.organization{font-size:14px}.experience-row ul{margin:28px 65px 10px 0;color:#535353;font-size:16px}.research{background:#080808;color:#fff;--line:#454545;padding-bottom:50px}.research ::selection{color:#080808;background:#fff}.research .outline-type{-webkit-text-stroke-color:#fff}.research .section-heading{margin-bottom:100px}.paper{display:grid;grid-template-columns:1fr 2fr;gap:22px 40px;padding:38px 0 52px}.paper-meta{display:flex;flex-direction:column;gap:14px;font-size:13px}.paper-meta span+span{color:#aaa}.paper-title{align-items:flex-start;justify-content:space-between;gap:25px}.paper-title h3{font-size:clamp(28px,3.4vw,57px);font-weight:500;letter-spacing:-.045em;line-height:1.12}.paper-title .arrow{font-size:45px;line-height:1}.paper-summary{grid-column:2;color:#aaa;line-height:1.6;max-width:720px}.paper-read{grid-column:2;justify-self:start;font-size:13px;padding-bottom:5px}.research-signoff{font-size:clamp(75px,12vw,190px);line-height:1;letter-spacing:-.07em;margin-top:30px}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:30px}.school h3{font-size:clamp(34px,4vw,64px);font-weight:650;line-height:1.02;letter-spacing:-.055em;margin:40px 0 26px;max-width:520px}.school>p{line-height:1.6;max-width:500px;font-size:16px}.school .degree{font-weight:700;margin-bottom:12px}.school>p:last-child{color:#666}.honors{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-top:80px}.honor{position:relative;padding:22px 35px 22px 0}.honor h3{font-size:18px;font-weight:600;letter-spacing:-.02em}.honor p{font-size:14px;color:#666;margin-top:7px;line-height:1.5}.honor>span{position:absolute;right:0;top:22px}.contact{background:#080808;color:#fff;--line:#444;padding-bottom:45px}.contact-top{display:flex;justify-content:space-between;gap:30px;margin:38px 0 70px;font-size:16px;line-height:1.5}.availability{font-size:13px}.contact-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:27px}.email-link{font-size:clamp(16px,2vw,32px);letter-spacing:-.035em}.contact-bottom>div{display:flex;gap:32px;font-size:14px}footer{background:#080808;color:#aaa;padding:24px 32px;display:flex;justify-content:space-between;font-size:12px}footer button span{color:#fff}footer a{color:#fff}.reveal{animation:reveal-in linear both;animation-timeline:view();animation-range:entry 0% entry 20%}@supports not (animation-timeline:view()){.reveal{opacity:0;transform:translateY(6px);transition:opacity var(--text-duration) var(--text-ease),transform var(--text-duration) var(--text-ease)}.reveal.is-visible{opacity:1;transform:none}}@keyframes letter-in{0%{transform:translateY(70%) rotate(8deg);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.25}}@keyframes nudge{50%{transform:translateY(5px)}}@keyframes line-in{to{transform:scaleX(1)}}@keyframes details-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1700px){.hero-intro{padding-top:40px}.hero-bottom{padding-bottom:90px}}@media(max-width:1100px){.header-descriptor{display:none}.local-time{margin-left:20px}.desktop-nav{gap:16px}.hero-intro{padding-left:0}.hero-bottom{padding-top:30px}.hero-name{font-size:17.6vw}.hero-facts{margin-top:24px}.section-heading>p{width:30%}.project-title h3{font-size:4.5vw}.hero-left .rotating-star{font-size:85px}}@media(max-width:760px){.header{padding:18px 20px;gap:20px}.wordmark{font-size:30px}.desktop-nav{display:none}.local-time{margin-left:auto;font-size:12px}.menu-button{display:block;font-size:13px;font-weight:700;min-height:44px}.mobile-nav{display:flex;flex-direction:column;position:absolute;top:80px;left:0;right:0;background:#080808;color:#fff;z-index:20;padding:25px 20px 40px;visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .25s,transform .3s,visibility .3s}.mobile-nav.open{visibility:visible;opacity:1;transform:none}.mobile-nav a{display:flex;align-items:center;gap:25px;padding:15px 0;font-size:36px;letter-spacing:-.04em}.mobile-nav small{font-size:12px}.mobile-nav .arrow{margin-left:auto}.hero{padding:0 16px;min-height:calc(90svh - 80px)}.hero-name-wrap{padding-top:25px}.hero-name{font-size:17.4vw;letter-spacing:-.09em;line-height:1.15}.name-mark{font-size:19px;top:15px;right:0}.hero-bottom{grid-template-columns:1fr 2fr;gap:16px;padding:46px 4px 55px}.hero-left{padding-top:0;gap:30px}.hero-left .rotating-star{font-size:60px}.hero-left .mini-label{font-size:10px;max-width:90px}.hero-intro{padding:0}.intro-heading{font-size:clamp(23px,4.3vw,34px);letter-spacing:-.05em}.intro-name{margin-right:.2em}.desktop-break{display:none}.hero-facts{grid-template-columns:66px 1fr;gap:12px 10px;font-size:12px}.hero-facts>span{font-size:11px}.hero-socials{padding-left:0;gap:24px;margin-top:25px}.hero-foot{padding:18px 4px;font-size:11px;gap:20px}.hero-foot>span{max-width:170px}.hero-foot a{gap:15px;white-space:nowrap}.section-pad{padding:50px 20px 65px}.section-label{grid-template-columns:50px 1fr auto;font-size:12px;padding-bottom:18px}.section-heading{margin:38px 0 45px;gap:20px;align-items:flex-start}.section-heading h2{font-size:clamp(52px,10.2vw,78px)}.section-heading>p{width:34%;font-size:12px;line-height:1.6;align-self:flex-end}.project summary{grid-template-columns:25px 1fr 30px;gap:10px;padding:27px 0}.row-number{font-size:11px;margin-top:4px}.project-title h3{font-size:clamp(26px,5.8vw,42px)}.project-stack{font-size:11px;line-height:1.6;margin-top:12px}.expand-icon{font-size:30px}.project summary:hover,.project summary:focus-visible{padding-left:10px;padding-right:10px}.project-body{grid-template-columns:1fr;padding:8px 0 30px 35px;gap:14px;font-size:16px}.project-body>.mini-label{display:none}.section-end{font-size:11px;gap:30px;line-height:1.6}.section-end>span{max-width:160px}.section-end .out-link{white-space:nowrap}.heading-symbol{font-size:95px}.experience-row{grid-template-columns:1fr;gap:18px;padding:26px 0}.experience-date{gap:20px;font-size:12px}.experience-date p br{display:none}.experience-date .muted{margin-left:15px}.experience-row h3{font-size:25px}.experience-row ul{margin-right:0}.experience-row .organization{font-size:12px}.research .section-heading{margin-bottom:50px}.research .section-heading{display:block}.research .section-heading>p{margin-top:25px;width:auto}.research .section-heading h2{font-size:11.1vw}.paper{grid-template-columns:1fr;gap:22px;padding:25px 0 40px}.paper-meta{flex-direction:row;justify-content:space-between;font-size:11px;gap:15px}.paper-title h3{font-size:30px}.paper-title .arrow{font-size:35px}.paper-summary,.paper-read{grid-column:1}.paper-summary{font-size:16px}.research-signoff{font-size:90px;margin-top:0}.education .heading-symbol{font-size:65px}.education-grid{grid-template-columns:1fr;gap:45px}.school h3{margin:22px 0;font-size:40px}.honors{grid-template-columns:1fr;gap:20px;margin-top:55px}.honor h3{font-size:17px}.contact-top{flex-direction:column;margin-bottom:50px;font-size:16px;gap:20px}.contact-bottom{flex-direction:column;gap:25px;padding-top:22px}.email-link{font-size:22px}.contact-bottom>div{font-size:13px}footer{padding:22px 20px;font-size:10px;gap:15px}}html[data-motion=reduced]{scroll-behavior:auto}html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion=reduced] .reveal{opacity:1;transform:none}html[data-motion=reduced] .underlined:after{transform:scaleX(1)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.section-title{font-family:inherit;font-weight:800;font-kerning:normal}.section-heading .section-title{font-weight:950;letter-spacing:-.065em;line-height:1.08;font-size:clamp(58px,8.5vw,150px)}.project-title .section-title{font-weight:700;font-size:clamp(30px,3.65vw,64px);letter-spacing:-.045em}.paper-title .section-title{font-weight:600;letter-spacing:-.035em}.section-end{justify-content:flex-end}@media(max-width:760px){.section-heading .section-title,.research .section-heading .section-title{font-size:10.2vw;letter-spacing:-.065em}.project-title .section-title{font-size:clamp(25px,5.3vw,40px)}.paper-title .section-title{font-size:27px}.section-heading{margin:32px 0 40px}}.section-heading{margin-top:0}.hero-bottom{padding-bottom:70px}.project summary{grid-template-columns:minmax(0,1fr) 45px}.project-body{grid-template-columns:minmax(0,1fr);padding:8px 65px 40px 0}.project-body>div{max-width:800px;margin-left:auto}.paper-meta>span{color:#aaa}.school h3{margin-top:0}.contact .section-heading{margin-bottom:30px}.contact-top{margin:0 0 40px}.contact-top p{max-width:36rem}.contact-bottom{flex-wrap:wrap;align-items:center}.contact-bottom>div{flex-wrap:wrap}.email-link{min-width:0;overflow-wrap:anywhere}footer{flex-wrap:wrap}@media(max-width:760px){.project summary{grid-template-columns:minmax(0,1fr) 30px}.project-body{padding:8px 0 30px}.contact-bottom{align-items:flex-start}.email-link{font-size:clamp(16px,5vw,22px)}.contact .section-heading{margin-top:0}.hero-bottom{padding-bottom:50px}}.education-grid{grid-template-columns:1fr}.school{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;row-gap:12px}.school h3{grid-row:1 / 5;margin:0}.school .degree{margin:0}.school .coursework{color:#666}@media(max-width:760px){.school{grid-template-columns:1fr}.school h3{grid-row:auto;margin-bottom:12px}}.more-projects>summary{display:flex;align-items:center;justify-content:space-between;padding:24px 0;font-size:15px}.more-projects>summary .expand-icon{font-size:26px}.more-projects .less-label{display:none}.more-projects[open]>summary .more-label{display:none}.more-projects[open]>summary .less-label{display:inline}.more-projects>summary:hover{color:#666}.more-projects[open]>.project-list{animation:details-in .22s var(--text-ease)}.skills-row{display:grid;grid-template-columns:1fr 3fr;gap:40px;padding:30px 0}.skills-row h3{font-size:14px;font-weight:500;line-height:1.5;padding-top:5px;color:#666}.skills-row ul{display:flex;flex-wrap:wrap;gap:12px 26px;perspective:700px}.skills-row li+li{margin:0}.skill-item{font-size:clamp(19px,2.1vw,32px);font-weight:600;letter-spacing:-.04em;line-height:1.3;transform-origin:50% 100%;transition:color .3s}@media(max-width:1100px)and (min-width:761px){.header .local-time{display:none}.desktop-nav{gap:18px}}@media(max-width:760px){.skills-row{grid-template-columns:1fr;gap:18px;padding:24px 0}.skills-row h3{padding:0;font-size:13px}.skills-row ul{gap:10px 20px}.skill-item{font-size:22px}.more-projects>summary{padding:20px 0}}html{scrollbar-gutter:stable}.name-intro{position:fixed;inset:0;width:100%;height:100%;z-index:200;background:#faf7f0;color:#080808;overflow:hidden;cursor:pointer;isolation:isolate;animation:story-fade .48s 5.28s both}.name-intro:focus-visible{outline:none}.name-intro:focus-visible .intro-skip{outline:2px solid;outline-offset:8px}.intro-skip{position:absolute;z-index:5;right:32px;bottom:26px;font-size:12px;font-weight:500;color:#080808}.intro-scene{position:absolute;inset:0;pointer-events:none}.letter-box{position:fixed;left:50%;top:50%;width:29vmin;height:26.58vmin;overflow:visible;pointer-events:none;transform-origin:50% 65%;animation:box-pressure 5.76s linear both}.box-back{z-index:1}.box-front{z-index:202}.box-panel{transform-box:fill-box;transform-origin:center;animation:panel-left 5.76s cubic-bezier(.2,.8,.2,1) both}.box-panel-right{animation-name:panel-right}.box-impact{position:absolute;left:50%;top:50%;width:180vmax;height:180vmax;border-radius:50%;background:#080808;animation:box-impact 5.76s cubic-bezier(.2,.8,.2,1) both;transform:translate(-50%,-50%) scale(0)}.burst-ring{position:absolute;left:50%;top:59%;width:20vmin;height:20vmin;border:2px solid #faf7f0;border-radius:50%;animation:burst-ring 5.76s ease-out both}.box-splinter{position:absolute;left:50%;top:59%;width:6vmin;height:3px;background:#faf7f0;animation:box-splinter 5.76s cubic-bezier(.1,.7,.2,1) both}.intro-active .hero-name-wrap{z-index:201;pointer-events:none}.intro-active .hero-name{animation:none}.intro-active .letter,.intro-active .letter.intro-bouncer{transform-origin:center;animation:story-letter 5.76s cubic-bezier(.22,.8,.24,1) both;will-change:transform;animation-delay:0s}.intro-active .name-mark{animation:story-mark 5.76s both}@keyframes story-letter{0%{opacity:1;color:#080808;transform:translate(calc(var(--seed-x) + var(--pop-x)),calc(var(--seed-y) - 18vmin)) scale(0)}8%{transform:translate(calc(var(--seed-x) + var(--pop-x)),calc(var(--seed-y) - 23vmin)) scale(calc(var(--story-scale)*var(--first-pop)*1.5)) rotate(-12deg)}14%{transform:translate(calc(var(--seed-x) + var(--pop-x)),calc(var(--seed-y) - 18vmin)) scale(calc(var(--story-scale)*var(--second-pop)*1.2)) rotate(8deg)}20%{transform:translate(calc(var(--seed-x) + var(--pop-x)),calc(var(--seed-y) - 18vmin)) scale(calc(var(--story-scale)*var(--second-pop))) rotate(0)}28%{transform:translate(calc(var(--seed-x) + var(--gather-x)),calc(var(--seed-y) + var(--gather-y)/var(--hero-stretch))) scale(calc(var(--story-scale)*.82)) rotate(var(--recoil))}34%{transform:translate(calc(var(--seed-x) + var(--gather-x)),calc(var(--seed-y) + var(--gather-y)/var(--hero-stretch))) scale(calc(var(--story-scale)*.72)) rotate(0)}46%{opacity:1;color:#080808;transform:translate(calc(var(--seed-x) + var(--gather-x)*.08),calc(var(--seed-y) + 12vmin/var(--hero-stretch))) scale(calc(var(--story-scale)*.38)) rotate(var(--launch-turn))}52%,64%{opacity:0;color:#faf7f0;transform:translate(var(--seed-x),calc(var(--seed-y) + 12vmin/var(--hero-stretch))) scale(.01) rotate(var(--launch-turn))}70%{opacity:1;color:#080808;transform:translate(calc(var(--seed-x) + var(--orbit-x)*1.8),calc(var(--seed-y) + var(--orbit-y)*1.8/var(--hero-stretch))) scale(calc(var(--story-scale)*1.4)) rotate(var(--launch-turn))}78%{opacity:1;color:#080808;transform:translate(calc(var(--seed-x)*.3 + var(--orbit-x)*.25),calc(var(--seed-y)*.3)) scale(.8,1.2) rotate(var(--recoil))}90%{opacity:1;color:#080808;transform:translateY(-.025em) scale(1.035,.97) rotate(0)}96%,to{opacity:1;color:#080808;transform:translate(0) scale(1) rotate(0)}}@keyframes box-pressure{0%,15%{opacity:0;transform:translate(-50%,-5%) scale(.2)}24%,38%{opacity:1;transform:translate(-50%,-5%) scale(1)}46%{transform:translate(-50%,-5%) scale(1.08,.88)}50%{transform:translate(-50%,-5%) scale(.94,1.08) rotate(-3deg)}54%{transform:translate(-50%,-5%) scale(1.12,.92) rotate(4deg)}57%{transform:translate(-50%,-5%) scale(1.04,1.12) rotate(-5deg)}60%{transform:translate(-50%,-5%) scale(1.2,.96) rotate(5deg)}63%{transform:translate(-50%,-5%) scale(1.2,1.15) rotate(-3deg)}66%{opacity:1;transform:translate(-50%,-5%) scale(1.35)}76%,to{opacity:0;transform:translate(-50%,-5%) scale(1.5)}}@keyframes panel-left{0%,64%{transform:none}76%,to{transform:translate(-55vmin,24vmin) rotate(-130deg)}}@keyframes panel-right{0%,64%{transform:none}76%,to{transform:translate(55vmin,20vmin) rotate(140deg)}}@keyframes box-impact{0%,63%{transform:translate(-50%,-50%) scale(0)}67%,to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes burst-ring{0%,64%{opacity:0;transform:translate(-50%,-50%) scale(.1)}66%{opacity:1}75%,to{opacity:0;transform:translate(-50%,-50%) scale(6)}}@keyframes box-splinter{0%,64%{opacity:0;transform:rotate(var(--shard-angle)) translate(0) scaleX(0)}66%{opacity:1}76%,to{opacity:0;transform:rotate(var(--shard-angle)) translate(var(--shard-distance)) scaleX(1.5)}}@keyframes story-fade{to{opacity:0}}@keyframes story-mark{0%,80%{opacity:0;transform:scale(2) rotate(-45deg)}93%,to{opacity:1;transform:none}}@media(max-width:760px){.intro-skip{right:20px;bottom:22px}}.heading-segment{display:inline-block;vertical-align:top;max-width:100%;overflow:visible}.heading-word{display:inline-block;max-width:100%;overflow-wrap:anywhere;transform-origin:0 100%}.skills-visible .skill-item,.heading-entered .heading-word{animation:text-enter var(--text-duration) var(--text-ease) backwards;animation-delay:var(--text-delay,0ms)}@keyframes text-enter{0%{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:translateZ(0)}}.skill-text{display:inline-block;transition:transform .18s var(--text-ease)}@media(hover:hover){.skill-item:hover .skill-text{transform:translateY(-2px)}}.hero-socials{padding-left:0;margin-top:20px}.menu-button{margin-left:auto}.paper-title .arrow{flex-shrink:0}.paper-title .section-title{min-width:0}:root{--header-height:88px}.header{min-height:var(--header-height)}.hero{min-height:calc(100svh - var(--header-height));justify-content:center;gap:clamp(28px,4svh,56px);padding-block:32px}.hero-name-wrap{padding-top:0}.hero-bottom{flex:0 0 auto;align-items:center;padding:0 8px}.hero-left{padding-top:0;justify-content:center}.hero-intro{padding-top:0}.intro-active .hero-name{transform-origin:center center}@media(max-width:760px){:root{--header-height:80px}.hero{min-height:calc(100svh - var(--header-height));padding-block:28px;gap:32px}.hero-name-wrap{padding-top:0}.hero-bottom{padding:0 4px}.hero-left,.hero-intro{padding-top:0}}.section-title,.project-title,.paper-title,.section-heading{min-width:0;max-width:100%}.section-title{padding-inline-end:.06em}.paper{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.paper-title .section-title{flex:1 1 0}@media(max-width:760px){.paper{grid-template-columns:minmax(0,1fr)}}.hero{padding-inline:8px}.hero-name-wrap{padding-block:2vw}.hero-name-stretch{width:100%;transform:scaleY(1.22);transform-origin:center}.hero-name{width:max-content;max-width:none;font-weight:1000;line-height:1.02;padding:0 .085em 0 0;letter-spacing:-.085em}.hero-bottom{padding-inline:24px}.name-mark{top:-.7vw;right:3px;font-size:clamp(22px,3.3vw,58px);font-weight:700;line-height:1}@media(max-width:760px){.hero{padding-inline:6px}.hero-name-wrap{padding-block:2.2vw}.hero-name-stretch{transform:scaleY(1.25)}.hero-bottom{padding-inline:14px}.name-mark{right:2px;top:-8px;font-size:21px}}.name-mark{font-size:clamp(48px,6.3vw,108px);top:-2.5vw;right:4px}@media(max-width:760px){.name-mark{font-size:clamp(40px,8vw,60px);top:-22px;right:2px}}.section-title{overflow-wrap:anywhere}.section-pad{transform-origin:center center}.letter{transition:none}.letter:hover{color:inherit;-webkit-text-stroke:0;transform:none}.reveal,details[open]>.project-body,details[open]>ul,.more-projects[open]>.project-list{animation:none;transition:none;opacity:1;transform:none}.hero-name{font-family:DM Sans,Arial,sans-serif;font-weight:1000}.section-heading .section-title,.research .section-heading .section-title{font-size:clamp(38px,4.6vw,72px);font-weight:800;line-height:1.08;letter-spacing:-.055em}.project-title .section-title,.paper-title .section-title{font-size:clamp(24px,2.5vw,38px);font-weight:650;line-height:1.16;letter-spacing:-.035em}.experience-row h3,.school h3{font-size:clamp(23px,2.2vw,34px);font-weight:650;line-height:1.16;letter-spacing:-.035em}.section-heading,.research .section-heading{margin-bottom:40px}.project summary{padding-block:28px}.paper-title .arrow{font-size:32px}.expand-icon{font-size:30px}.experience-row summary:hover h3{text-decoration:none}@media(max-width:760px){.section-heading .section-title,.research .section-heading .section-title{font-size:38px}.project-title .section-title,.paper-title .section-title{font-size:25px}.experience-row h3,.school h3{font-size:23px}.section-heading,.research .section-heading{margin-bottom:28px}.project summary{padding-block:22px}}.hero-name .letter{text-transform:lowercase}.intro-summary{margin-top:12px;max-width:30em;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.015em;color:#626262}.title-word{display:inline-block;white-space:nowrap;max-width:100%;perspective:650px}.title-glyph{display:inline-block;transform-origin:50% 85%;transition:translate .18s var(--ease)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.kinetic-title:hover .title-glyph,a:hover>.kinetic-title .title-glyph,summary:hover .kinetic-title .title-glyph,a:focus-visible .title-glyph,summary:focus-visible .title-glyph{animation:title-ripple .6s var(--ease) both;animation-delay:var(--hover-delay)}.kinetic-title .title-glyph:hover{translate:0 -.075em;-webkit-text-fill-color:transparent;-webkit-text-stroke:.8px currentColor}.portfolio-shell:not(.intro-active) .hero-name:hover .letter{animation:hero-ripple .64s var(--ease) both;animation-delay:var(--hover-delay)}.portfolio-shell:not(.intro-active) .hero-name .letter{transition:translate .18s var(--ease)}.portfolio-shell:not(.intro-active) .hero-name .letter:hover{translate:0 -.045em;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.5px currentColor}}@keyframes title-ripple{0%,to{transform:none}28%{transform:translateY(-.13em) rotateY(-32deg) skew(-12deg) scale(.9,1.24)}52%{transform:translateY(.025em) rotateY(12deg) skew(7deg) scale(1.1,.88)}76%{transform:translateY(-.025em) skew(-2deg) scale(.98,1.035)}}@keyframes hero-ripple{0%,to{transform:none}28%{transform:translateY(-.06em) skew(-9deg) scale(.88,1.17)}52%{transform:translateY(.012em) skew(5deg) scale(1.065,.91)}76%{transform:translateY(-.015em) skew(-2deg) scale(.985,1.025)}}.hero-name{position:relative}svg.rotating-star{width:1em;height:1em;flex-shrink:0}:root{--surface:#f5f5f7;--ink:#111;--secondary:#626267;--radius:28px;--content:1320px}main>.section-pad{background:var(--surface);color:var(--ink);padding:88px max(24px,calc((100% - var(--content))/2)) 24px}main>.experience{padding-top:104px;border-radius:40px 40px 0 0}.section-heading,.research .section-heading{margin:0 0 44px;display:block}.section-heading .section-title,.research .section-heading .section-title{font-size:clamp(52px,7.4vw,104px);font-weight:800;line-height:1.02;letter-spacing:-.065em}.experience-list,.project-list,.education-grid,.skills-list{display:grid;gap:20px;padding:0}.experience-row,.project,.school,.paper,.skills-row{background:#fff;border-radius:var(--radius);padding:40px;min-width:0}.experience-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:64px}.experience-overview .organization{font-size:14px;line-height:1.5;font-weight:650;color:var(--secondary);margin-bottom:14px}.experience-overview h3,.project-title .section-title,.school h3,.paper-title .section-title{font-size:clamp(26px,2.7vw,38px);font-weight:700;line-height:1.13;letter-spacing:-.04em;margin:0;text-wrap:balance}.experience-date{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:24px;font-size:12px;line-height:1.6;color:var(--secondary)}.experience-content{display:block}.experience-content ul,.project-body ul{list-style:disc;padding-left:18px;margin:0;max-width:65ch;color:var(--secondary);font-size:16px}.experience-content li,.project-body li{padding-left:4px;line-height:1.65}.experience-content li+li,.project-body li+li{margin-top:14px}.experience-content li::marker,.project-body li::marker{font-size:.7em;color:#111}.project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.project{display:flex;flex-direction:column;align-items:flex-start;gap:28px}.project-title{min-height:86px}.project-title .section-title{max-width:25ch}.project-body{display:block;padding:0;font-size:16px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}.project-tags li{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border-radius:100px;padding:7px 11px;font-size:11px;line-height:1.4;margin:0;color:#333}.project-tags .skill-mark{width:14px;height:14px}.project>.out-link{font-size:13px;font-weight:650;gap:16px}.skill-mark{object-fit:contain;flex-shrink:0;filter:grayscale(1) brightness(0);width:24px;height:24px}.more-projects>summary{display:flex;justify-content:center;gap:16px;width:fit-content;margin:28px auto;padding:14px 24px;background:#e9e9ec;border-radius:100px;font-size:13px}.more-projects>summary .expand-icon{font-size:20px}.section-end{margin-top:24px;font-size:12px;justify-content:center}.school{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:64px}.school h3{margin:0 0 20px;grid-row:auto}.school .degree{font-size:18px;font-weight:600;line-height:1.5;margin:0 0 8px}.school-date{font-size:13px;line-height:1.5;color:var(--secondary)}.school-details{display:grid;gap:28px}.school-details p{font-size:20px;line-height:1.5;letter-spacing:-.025em;color:#37373b;max-width:55ch}.school-details .detail-label{font-size:12px;font-weight:650;letter-spacing:0;color:var(--secondary);margin-bottom:10px}.paper{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:20px 64px;margin-bottom:20px}.paper-meta{grid-column:1;font-size:13px;line-height:1.5}.paper-meta>span{color:var(--secondary)}.paper-title{grid-column:1;grid-row:2;gap:20px}.paper-title .section-title{font-size:clamp(26px,2.7vw,38px)}.paper-title .arrow{font-size:28px}.paper-summary{grid-column:2;grid-row:2;color:var(--secondary);font-size:16px;line-height:1.65;max-width:65ch}.research ::selection{background:#111;color:#fff}.skills-list{grid-template-columns:repeat(3,minmax(0,1fr))}.skills-row{display:block;padding:32px}.skills-row h3{font-size:22px;line-height:1.2;letter-spacing:-.035em;font-weight:700;color:var(--ink);padding:0;margin-bottom:28px}.skills-row ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;perspective:none}.skills-row .skill-item{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:13px;font-weight:500;letter-spacing:-.015em;line-height:1.4;margin:0;overflow-wrap:anywhere;min-width:0}.skills-row .skill-mark{width:28px;height:28px}main>.contact{padding-top:100px;padding-bottom:64px}.contact-bottom{padding:36px 0 0;align-items:center;gap:32px}.email-link{font-size:clamp(20px,3.4vw,46px);font-weight:600;letter-spacing:-.045em}.contact-bottom>div{font-size:13px;gap:28px}footer{background:var(--surface);color:var(--secondary);padding:28px max(24px,calc((100% - var(--content))/2)) 36px}footer a,footer button span{color:var(--ink)}@media(hover:hover){.project,.experience-row,.paper{transition:box-shadow .25s ease}.project:hover,.experience-row:hover,.paper:hover{box-shadow:0 12px 40px #00000006}}@media(max-width:1000px){.experience-row,.school,.paper{gap:28px}.skills-row{padding:28px}.project,.experience-row,.school,.paper{padding:32px}.project-title{min-height:0}}@media(max-width:760px){main>.section-pad{padding:56px 20px 12px}main>.experience{padding-top:64px;border-radius:28px 28px 0 0}.section-heading,.research .section-heading{margin-bottom:28px}.section-heading .section-title,.research .section-heading .section-title{font-size:clamp(42px,9.5vw,68px)}.experience-list,.project-list,.education-grid,.skills-list{gap:14px}.experience-row,.project,.school,.paper,.skills-row{padding:26px;border-radius:22px}.experience-row,.school,.paper{grid-template-columns:1fr;gap:26px}.project-list,.skills-list{grid-template-columns:1fr}.experience-overview h3,.project-title .section-title,.school h3,.paper-title .section-title{font-size:28px}.experience-date{margin-top:18px}.experience-content ul,.project-body ul,.paper-summary{font-size:15px}.project{gap:24px}.project-tags{gap:6px}.project-tags li{font-size:10px;padding:7px 9px}.school-details p{font-size:18px}.school-details .detail-label{font-size:12px}.paper-meta,.paper-title,.paper-summary{grid-column:1;grid-row:auto}.paper{gap:18px;margin-bottom:14px}.skills-row h3{font-size:24px;margin-bottom:28px}.skills-row ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px}.skills-row .skill-item{font-size:12px}main>.contact{padding-top:64px;padding-bottom:40px}.contact-bottom{padding-top:8px;align-items:flex-start}.contact-bottom>div{font-size:13px}footer{padding:24px 20px 32px;font-size:11px}}:root{background:#faf7f0;--surface:#faf7f0;--ink:#111;--secondary:#625e56}body,.hero,.header,.name-intro{background:#faf7f0}.project-tags li,.more-projects>summary{background:#f0eadf;color:#111}.school-details p{color:#38342e}.intro-summary{color:#625e56}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.experience-row,.project,.school,.paper,.skills-row{transition:transform .3s var(--ease),box-shadow .3s var(--ease);transform:perspective(1200px) rotateX(0) rotateY(0);transform-origin:center}.experience-row:hover,.project:hover,.school:hover,.paper:hover,.skills-row:hover{transform:perspective(1200px) translateY(-4px) rotateX(1.5deg) rotateY(-1.5deg);box-shadow:8px 16px 32px #3024120d}.project:nth-child(2n):hover,.skills-row:nth-child(2n):hover{transform:perspective(1200px) translateY(-4px) rotateX(1.5deg) rotateY(1.5deg)}html[data-motion=reduced] .experience-row,html[data-motion=reduced] .project,html[data-motion=reduced] .school,html[data-motion=reduced] .paper,html[data-motion=reduced] .skills-row{transform:none}}.burst-ring{border-width:3px;animation-name:burst-wave}.burst-ring-echo{animation-delay:.09s;border-width:1px}@keyframes burst-wave{0%,64%{opacity:0;transform:translate(-50%,-50%) rotate(-18deg) scale(.1,.05)}66%{opacity:1}77%,to{opacity:0;transform:translate(-50%,-50%) rotate(-18deg) scale(7,4)}}.intro-scene{animation:clear-explosion 5.76s step-end both}.box-front{animation:box-pressure 5.76s linear both,clear-explosion 5.76s step-end both}@keyframes clear-explosion{0%{visibility:visible}70%,to{visibility:hidden}}.intro-active .hero-bottom{animation:hero-details-arrive 5.76s var(--ease) both}@keyframes hero-details-arrive{0%,88%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
