:root{--bg:#0a0710;--bg-raised:#100c18;--card:#14101c;--ink:#e9e2d8;--muted:#9a94a6;--line:#231c2e;--line-strong:#3a3048;--surface-lavender:transparent;--surface-teal:transparent;--surface-rose:transparent;--accent:#c2410c;--accent-dark:#9a3412;--violet:#7e4a8f;--teal:#2f7a6b;--highlight:#b4472f;--amber:#a8641a;--gradient:linear-gradient(90deg,#c2410c,#f59e3b 60%,#ffe2a8);--accent-t:#f59e3b;--accent-dark-t:#ffe2a8;--violet-t:#d6a5c9;--teal-t:#8fc1b5;--highlight-t:#f2a07b;--amber-t:#f5c26b;--glow:0 0 0 1px rgba(245,158,59,.4),0 0 28px rgba(245,158,59,.16);--radius:4px;--maxw:1080px;--font:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--serif:"Newsreader",Georgia,"Times New Roman",serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color-scheme:dark}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0710;background-color:var(--bg);color:#e9e2d8;color:var(--ink);font-family:Hanken Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font);line-height:1.6;margin:0;transition:background-color .25s ease,color .25s ease}::selection{background:#c2410c;background:var(--accent);color:#fff}h1,h2,h3,h4{font-family:Newsreader,Georgia,Times New Roman,serif;font-family:var(--serif);font-weight:500;letter-spacing:-.015em;line-height:1.15}a{color:#f59e3b;color:var(--accent-t)}:focus-visible{border-radius:4px;outline:2px solid #f59e3b;outline:2px solid var(--accent-t);outline-offset:3px}button{font-family:inherit}code,kbd,samp{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--mono)}.App{font-family:var(--font);margin:0;overflow-x:hidden}.App,.main-div-home{text-align:left}.sections-home{padding:112px 0 24px;scroll-margin-top:60px}.sections-home>:not(.home-headers){box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--maxw)}.home-headers{box-sizing:border-box;color:var(--ink);font-size:clamp(2rem,4.5vw,3rem);font-weight:500;margin:0 auto 48px;max-width:var(--maxw);padding:0 32px}.awards-main,.projects-section,.publications-section,.skills-main{padding-bottom:24px}#home{align-items:center;background:var(--bg) url(/static/media/hero-poster.aaf8209c918daccbd81d.jpg) center /cover no-repeat;box-sizing:border-box;color:#e9e2d8;display:flex;height:100vh;height:100svh;justify-content:center;min-height:560px;overflow:hidden;padding:120px 32px 72px;position:relative}.hero-video{-webkit-filter:grayscale(.6) sepia(.4);filter:grayscale(.6) sepia(.4);height:100%;object-fit:cover;opacity:.35;width:100%;z-index:0}#home:after,.hero-video{inset:0;pointer-events:none;position:absolute}#home:after{background:linear-gradient(90deg,var(--bg) 0,rgba(10,7,16,.78) 45%,rgba(10,7,16,.35) 100%),linear-gradient(180deg,rgba(10,7,16,.4) 0,var(--bg) 100%);content:"";z-index:1}.hero-ring{aspect-ratio:1;background:conic-gradient(from 210deg,#2a0a05 0,#8a2c0a 18%,#e8741c 34%,#ffd9a0 46%,#f59e3b 56%,#b4470d 74%,#3a0f08 92%,#2a0a05 100%);-webkit-filter:blur(5px) saturate(1.1);filter:blur(5px) saturate(1.1);-webkit-mask-image:radial-gradient(circle,transparent 36%,#000 41%,#000 50%,transparent 68%);mask-image:radial-gradient(circle,transparent 36%,#000 41%,#000 50%,transparent 68%);opacity:.9;right:max(-6vw,-90px);top:50%;-webkit-transform:translateY(-50%) rotate(-18deg);transform:translateY(-50%) rotate(-18deg);width:min(54vw,640px);z-index:1}.hero-ring,.hero-ring:after{border-radius:50%;position:absolute}.hero-ring:after{background-image:radial-gradient(circle,#ffd9a0 1.5px,transparent 2.5px),radial-gradient(circle,rgba(255,217,160,.6) 1px,transparent 2px);background-position:10px 14px,0 0;background-size:71px 83px,43px 37px;content:"";inset:-12%;-webkit-mask-image:radial-gradient(circle,#000 55%,transparent 75%);mask-image:radial-gradient(circle,#000 55%,transparent 75%);opacity:.35}.hero{max-width:var(--maxw);position:relative;text-align:left;width:100%;z-index:2}@media (prefers-reduced-motion:reduce){.hero-video{display:none}}.hero h1{color:#f4ede2;font-size:clamp(3.4rem,11vw,7.5rem);font-weight:400;letter-spacing:-.035em;line-height:.95;margin:0;max-width:9ch}.hero .hero-pitch{color:#f5c26b;font-family:var(--serif);font-size:clamp(1.25rem,2.6vw,1.7rem);font-style:italic;line-height:1.35;margin:28px 0 20px;max-width:30ch}.hero-affiliation{color:#b4adbf;font-size:.95rem;line-height:1.7;max-width:52ch}.academic-hero{margin-top:20px!important}.academic-hero .academic-bar{justify-content:flex-start;margin-left:-10px}.academic-hero a{color:#e9e2d8!important}.hero-cv-button{background:var(--accent);border-radius:4px;color:#fff;display:inline-block;font-size:15px;font-weight:600;margin-top:26px;padding:13px 26px;text-decoration:none;transition:background-color .2s ease}.hero-cv-button:hover{background:#e8741c}.about{padding-bottom:32px}.about h3{color:var(--ink);font-size:1.4rem;margin:64px auto 20px;padding:0 32px}.intro-grid{grid-gap:64px;align-items:start;display:grid;gap:64px;grid-template-columns:minmax(180px,280px) minmax(0,1fr);padding:0 32px}.intro-image{aspect-ratio:4/5;border-radius:2px;display:block;-webkit-filter:grayscale(.25) contrast(1.02);filter:grayscale(.25) contrast(1.02);object-fit:cover;width:100%}.intro-text-container{max-width:66ch}.intro-text-container p{color:#cfc8c0;font-family:var(--serif);font-size:1.2rem;line-height:1.7;margin:0 0 1.2em}.intro-text-container p b{color:var(--ink);font-weight:600}.intro-toggle{background:none;border:none;border-bottom:1px solid var(--accent-t);border-radius:0;color:var(--accent-t);cursor:pointer;font-size:15px;font-weight:500;padding:2px 0}.intro-toggle:hover{border-color:var(--accent-dark-t);color:var(--accent-dark-t)}.research-card-section{display:flex;flex-wrap:wrap;gap:6px 0;padding:0 32px}.intro-text-codes{color:var(--accent-t);font-weight:700}.projects-main{padding:0 32px}@media (max-width:1080px){.sections-home{padding-top:80px}.about h3,.home-headers,.intro-grid,.projects-main,.research-card-section{padding-left:20px;padding-right:20px}#home{align-items:flex-end;padding:100px 20px 56px}#home:after{background:linear-gradient(180deg,rgba(10,7,16,.3) 0,rgba(10,7,16,.85) 55%,var(--bg) 100%)}.hero-ring{opacity:.65;right:-30vw;top:30%;width:90vw}.intro-grid{gap:32px;grid-template-columns:1fr}.intro-image{width:min(220px,60%)}}.hero-video::-webkit-media-controls,.hero-video::-webkit-media-controls-enclosure{display:none!important}.academic-bar{align-items:center;display:flex;flex-wrap:wrap;gap:2px}.academic-bar a{align-items:center;color:var(--ink);display:inline-flex;font-size:20px;height:42px;justify-content:center;text-decoration:none;transition:color .2s ease;width:42px}.academic-bar a:hover{color:var(--accent-t)}.kaggle{font-size:19px!important}.skills{padding:0 32px;text-align:left}.bubble-chart{container-type:inline-size;margin:0 auto;max-width:1040px;position:relative;width:100%}.bubble-rings{height:100%;inset:0;overflow:visible;position:absolute;width:100%}.bubble-ring{fill:color-mix(in srgb,var(--group-text) 5%,transparent);stroke:color-mix(in srgb,var(--group-text) 38%,transparent);stroke-width:1;stroke-dasharray:2 5}.bubble-ring-title{fill:var(--group-text);font-family:var(--serif);font-size:19px;letter-spacing:.01em}.bubble{align-items:center;background:radial-gradient(circle at 32% 28%,color-mix(in srgb,var(--group-text) 34%,transparent),transparent 62%),color-mix(in srgb,var(--group-color) 46%,var(--bg));border:1px solid color-mix(in srgb,var(--group-text) 55%,transparent);border-radius:50%;box-shadow:inset 0 -10px 22px -12px rgba(0,0,0,.55);box-sizing:border-box;color:var(--ink);cursor:default;display:flex;font-size:13px;font-size:var(--f,13px);justify-content:center;line-height:1.12;outline-offset:3px;padding:0;position:absolute;text-align:center;transition:box-shadow .25s ease,opacity .25s ease,border-color .25s ease,-webkit-transform .25s ease;transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease,border-color .25s ease;transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease,border-color .25s ease,-webkit-transform .25s ease}.bubble-name{font-weight:500;max-width:80%;overflow-wrap:break-word}.bubble-score{bottom:13%;color:var(--group-text);font-family:var(--mono);font-size:.78em;left:0;opacity:0;position:absolute;right:0;transition:opacity .2s ease}.bubble:focus-visible,.bubble:hover{border-color:var(--group-text);box-shadow:0 0 0 1px var(--group-text),0 0 32px color-mix(in srgb,var(--group-text) 35%,transparent);-webkit-transform:scale(1.07);transform:scale(1.07);z-index:2}.bubble:focus-visible .bubble-name,.bubble:hover .bubble-name{-webkit-transform:translateY(-.45em);transform:translateY(-.45em)}.bubble:focus-visible .bubble-score,.bubble:hover .bubble-score{opacity:1}.bubble-name{transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.bubble-chart:has(.bubble:focus-visible) .bubble:not(:focus-visible),.bubble-chart:has(.bubble:hover) .bubble:not(:hover){opacity:.4}@media (prefers-reduced-motion:no-preference){.bubble-chart:not(.is-seen) .bubble{opacity:0;-webkit-transform:scale(.6);transform:scale(.6)}.bubble-chart.is-seen .bubble{-webkit-animation:bubble-in .7s cubic-bezier(.2,.9,.3,1.2) backwards;animation:bubble-in .7s cubic-bezier(.2,.9,.3,1.2) backwards;-webkit-animation-delay:calc(var(--i)*28ms);animation-delay:calc(var(--i)*28ms)}@-webkit-keyframes bubble-in{0%{opacity:0;-webkit-transform:scale(.6);transform:scale(.6)}}@keyframes bubble-in{0%{opacity:0;-webkit-transform:scale(.6);transform:scale(.6)}}}.skills-group-phone+.skills-group-phone{margin-top:36px}.skills-group-phone h3{font-size:1.35rem;margin:0 0 8px}@media (max-width:760px){.skills{padding:0 20px}}.project-card{background:var(--card);border:1px solid var(--line);border-radius:6px;box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden;text-align:left;transition:border-color .25s ease,-webkit-transform .25s ease;transition:border-color .25s ease,transform .25s ease;transition:border-color .25s ease,transform .25s ease,-webkit-transform .25s ease}@media (hover:hover){.project-card:hover{border-color:var(--accent);-webkit-transform:translateY(-3px);transform:translateY(-3px)}}.project-card-image{aspect-ratio:16/10;-webkit-filter:saturate(.85);filter:saturate(.85);object-fit:cover;width:100%}.project-card-content-container{display:flex;flex:1 1;flex-direction:column;gap:16px;justify-content:space-between;padding:20px 22px 22px}.project-card h4{color:var(--ink);font-size:1.35rem;margin:0}.project-card p{color:var(--muted);font-size:.95rem;margin:10px 0 0}.project-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0}.project-card-tag{border:1px solid var(--line-strong);border-radius:999px;color:var(--accent-t);font-size:12px;padding:2px 9px}.project-card .project-card-result{color:var(--ink);font-family:var(--mono);font-size:.8rem}.project-card-button{align-self:flex-start;color:var(--accent-t);font-weight:500;text-decoration:underline;text-underline-offset:4px}.project-card-button:hover{color:var(--accent-dark-t)}.project-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}.view-buttons{padding-top:36px}.view-more-button{background:none;border:none;border-bottom:1px solid var(--accent-t);border-radius:0;color:var(--accent-t);cursor:pointer;font-size:15px;font-weight:500;padding:2px 0}.view-more-button:hover{border-color:var(--accent-dark-t);color:var(--accent-dark-t)}@media (min-width:700px) and (max-width:1080px){.project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:699px){.project-cards{grid-template-columns:1fr}}.journey{padding:0 32px;text-align:left}.journey-strip{border-bottom:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;list-style:none;margin:0 0 56px;padding:0 0 32px}.journey-stop{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;font-size:14px;line-height:1.45}.journey-stop img{background:#fff;border-radius:4px;box-sizing:border-box;height:48px;margin-bottom:12px;object-fit:contain;padding:4px;width:48px}.journey-stop strong{color:var(--ink);font-weight:600}.journey-stop span{color:var(--muted)}.journey-stop em{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";color:var(--accent-t);font-style:normal;font-variant-numeric:tabular-nums}.tl-legend{color:var(--muted);display:flex;font-size:14px;gap:22px;list-style:none;margin:0 0 32px;padding:0}.tl-dot{background:var(--track-color);border-radius:50%;display:inline-block;height:9px;margin-right:7px;width:9px}.tl-list{list-style:none;margin:0;padding:0;position:relative}.tl-list:before{background:var(--line-strong);bottom:8px;content:"";left:4px;position:absolute;top:8px;width:1px}.tl-item{padding:0 0 36px 40px;position:relative}.tl-item:before{background:var(--track-text);border-radius:50%;box-shadow:0 0 0 4px var(--bg);content:"";height:9px;left:0;position:absolute;top:9px;width:9px}.tl-logo{display:none}.tl-card{min-width:0}.tl-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.tl-badge{color:var(--track-text);font-size:13px;font-weight:600}.tl-title{color:var(--ink);font-size:1.45rem;margin:4px 0 2px}.tl-meta{color:var(--muted);font-size:14px;margin:0}.tl-more{max-width:66ch}.tl-subtitle{color:var(--ink);font-weight:600;margin:14px 0 4px}.tl-detail{color:var(--muted);margin:0}.tl-toggle{display:none}@media (max-width:1080px){.journey{padding:0 20px}.journey-strip{flex-wrap:wrap;gap:24px 16px}.journey-stop{flex-basis:calc(50% - 8px);flex-grow:0;flex-shrink:0}.tl-legend{flex-wrap:wrap;gap:8px 18px}.tl-item{padding-bottom:24px;padding-left:28px}.tl-toggle{align-items:center;background:transparent;border:1px solid var(--line-strong);border-radius:50%;color:var(--track-text);cursor:pointer;display:inline-flex;flex:none;font-size:18px;height:36px;justify-content:center;line-height:1;width:36px}.tl-more{display:none}.tl-item.open .tl-more{display:block}}.awards-div-main{padding:0 32px;text-align:left}.awards-grid{display:flex;flex-direction:column}.award-card{grid-gap:28px;border-top:1px solid var(--line);display:grid;gap:28px;grid-template-columns:160px minmax(0,1fr);padding:22px 0}.award-card:last-child{border-bottom:1px solid var(--line)}.award-icon{display:none}.award-body{display:contents}.award-date{color:var(--muted);font-size:14px;grid-column:1;grid-row:1;padding-top:6px}.award-title{color:var(--ink);font-size:1.35rem;grid-column:2;grid-row:1;margin:0}.award-text{color:var(--muted);grid-column:2;margin:6px 0 0;max-width:62ch}@media (max-width:1080px){.awards-div-main{padding:0 20px}.award-card{gap:4px;grid-template-columns:1fr}.award-date,.award-text,.award-title{grid-column:1}.award-date{grid-row:2;padding:0}.award-title{grid-row:1}.award-text{grid-row:3}}.publications{padding:0 32px;text-align:left}.publication{grid-gap:28px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;gap:28px;grid-template-columns:160px minmax(0,1fr);padding:24px 0}.publication-year{color:var(--accent-t);font-family:var(--serif);font-size:2rem;line-height:1}.publication-title{color:var(--ink);font-size:1.7rem;margin:0 0 10px;max-width:30ch}.publication p{margin:6px 0;max-width:66ch}.publication-authors,.publication-venue{color:var(--muted);font-size:.95rem}.publication-authors b,.publication-summary{color:var(--ink)}.publication-results{color:var(--accent-t);font-family:var(--mono);font-size:.82rem}.publication-tags{display:flex;flex-wrap:wrap;gap:2px 14px;margin:12px 0}.publication-tag{color:var(--muted);font-size:13px}.publication-links{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:14px}.publication-link{color:var(--accent-t);font-weight:500;text-decoration:underline;text-underline-offset:4px}.publication-link:hover{color:var(--accent-dark-t)}@media (max-width:1080px){.publications{padding:0 20px}.publication{gap:10px;grid-template-columns:1fr}}.research-card{align-items:center;display:inline-flex}.research-card:not(:last-child):after{background:var(--accent-t);border-radius:50%;content:"";height:4px;margin:0 16px;opacity:.7;width:4px}.research-text{color:var(--ink);font-family:var(--serif);font-size:1.15rem}@media (max-width:1080px){.research-card:not(:last-child):after{margin:0 10px}.research-text{font-size:1.05rem}}.contact-div-main{padding:0 32px 24px;text-align:left}.contact-grid{grid-gap:56px;align-items:start;display:grid;gap:56px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.contact-item{align-items:baseline;border-top:1px solid var(--line);display:flex;gap:16px;padding:14px 0}.contact-item:last-child{border-bottom:1px solid var(--line)}.contact-item svg{color:var(--accent-t);flex:none;width:20px}.contact-item p{font-family:var(--serif);font-size:1.25rem;margin:0}.contact-links{color:var(--ink);text-decoration:none}.contact-links:hover{color:var(--accent-t)}.contact-grid-2{display:flex}.map-contact{aspect-ratio:4/3;border:none;border-radius:2px;-webkit-filter:invert(92%) hue-rotate(180deg) saturate(.5) sepia(.3);filter:invert(92%) hue-rotate(180deg) saturate(.5) sepia(.3);height:auto;width:100%}@media (max-width:1080px){.contact-div-main{padding:0 20px 24px}.contact-grid{gap:28px;grid-template-columns:1fr}}.back-to-top-button{align-items:center;background:var(--bg);border:1px solid var(--line-strong);border-radius:50%;bottom:20px;color:var(--ink);cursor:pointer;display:none;height:44px;justify-content:center;padding:0;position:fixed;right:20px;transition:border-color .2s ease,color .2s ease;width:44px;z-index:9999}.back-to-top-button.visible{display:flex}.back-to-top-button:hover{border-color:var(--accent-t);color:var(--accent-t)}.arrow{font-size:15px}.header{align-items:center;background:transparent;border-bottom:1px solid transparent;box-sizing:border-box;display:flex;height:76px;justify-content:space-between;left:0;padding:0 32px;position:fixed;top:0;transition:height .3s ease,background-color .3s ease,border-color .3s ease;width:100%;z-index:999}.header.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--line);height:60px}.header-link{color:var(--ink);text-decoration:none}.header-link h2{font-size:1.35rem;font-weight:500;margin:0}.header-link:hover{color:var(--accent-t)}.nav{align-items:center;display:flex;gap:2px;margin-left:auto}.a,.scrolled-a{border-radius:4px;color:var(--muted);cursor:pointer;font-size:14px;font-weight:500;padding:8px 12px;text-decoration:none;transition:color .2s ease}.a{color:hsla(35,28%,88%,.78)}@media (hover:hover){.a:hover,.scrolled-a:hover{color:var(--accent-dark-t)}}.header-button,.header-button-scrolled{background:var(--accent);border-radius:4px;color:#fff;font-size:14px;font-weight:600;margin:0 8px 0 12px;padding:8px 18px;text-decoration:none;transition:background-color .2s ease}.header-button-scrolled:hover,.header-button:hover{background:var(--accent-dark)}.mobile-menu,.mobile-menu-button,.mobile-menu-close-button{display:none}.camera-div,.camera-div-mobile{align-items:center;display:flex;justify-content:center}.camera-icon,.scrolled-camera-icon{color:var(--ink)}@media screen and (max-width:1080px){.header{padding:0 20px}.nav{display:none}.mobile-menu-button,.mobile-menu-close-button.close-button-open{align-items:center;background:none;border:none;color:var(--ink);display:flex;font-size:22px;height:44px;justify-content:center;padding:0;position:fixed;right:14px;top:16px;width:44px;z-index:9999}.scrolled-mobile-menu-button{top:8px}.mobile-menu-close-button.close-button-open{top:16px}.mobile-menu-button.menu-button-open{display:none!important}.mobile-menu-close-button{display:none}.mobile-menu.open{background-color:var(--bg);height:100vh;height:100dvh;inset:0;justify-content:center;overflow-y:auto;padding:0 32px;position:fixed}.mobile-menu-nav,.mobile-menu.open{align-items:flex-start;display:flex;flex-direction:column}.mobile-menu-nav{gap:2px;padding:80px 0 40px}.mobile-menu-nav br{display:none}.mobile-menu-nav .scrolled-a{color:var(--ink);font-family:var(--serif);font-size:30px;font-weight:400;padding:6px 0}.mobile-menu-nav .header-button-scrolled{font-size:16px;margin:18px 0 8px}}.footer{border-top:1px solid var(--line);color:var(--ink);justify-content:center;margin-top:96px;padding:36px 0 28px}.footer,.footer-content{box-sizing:border-box;display:flex;width:100%}.footer-content{align-items:flex-start;flex-direction:column;gap:18px;max-width:var(--maxw);padding:0 32px}.footer-links{display:flex;flex-wrap:wrap;gap:4px 22px}.footer-links a{color:var(--muted);font-size:14px;text-decoration:none}.footer-links a:focus-visible,.footer-links a:hover{color:var(--accent-t)}.footer-contact{align-items:center;display:flex;flex-wrap:wrap;gap:10px 24px}.footer-contact .academic-bar{margin-left:-10px}.footer-credit{font-size:13px;margin:0}.footer-credit,.footer-credit a{color:var(--muted)}.footer-credit a:hover{color:var(--accent-t)}@media (max-width:1080px){.footer-content{padding:0 20px}.footer{margin-top:64px;padding-bottom:84px}}
/*# sourceMappingURL=main.22967b3f.css.map*/