body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-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}:root{--ink:#202724;--muted:#65716b;--accent:#286459;--line:#e2e8e4;--surface:#f4f7f5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:#fff;color:#202724;color:var(--ink)}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}a{color:#286459;color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:#173e36}a,button{transition:color .15s ease,background-color .15s ease}:focus-visible{outline:2px solid #286459;outline:2px solid var(--accent);outline-offset:5px}a svg,button svg{flex-shrink:0}figure,h1,h2,h3,p{margin:0}button{letter-spacing:0}.skip-link{background:#fff;left:12px;padding:12px;position:fixed;top:12px;transform:translateY(-200%);z-index:50}.skip-link:focus{transform:none}.site-header{background:#fffffff7;border-bottom:1px solid #e2e8e4;border-bottom:1px solid var(--line);border-top:3px solid #286459;border-top:3px solid var(--accent);position:-webkit-sticky;position:sticky;top:0;z-index:20}.header-inner{align-items:center;display:flex;gap:32px;justify-content:space-between;margin:0 auto;min-height:72px;width:min(1000px,calc(100% - 80px))}.brand-mark{color:#202724;color:var(--ink);flex-shrink:0;font-family:Georgia,Times New Roman,serif;font-size:20px;text-decoration:none}.site-nav{align-items:center;display:flex;gap:28px}.site-nav a{color:#65716b;color:var(--muted);font-size:13px;padding:8px 0;text-decoration:none}.site-nav a:hover{color:#286459;color:var(--accent);text-decoration:underline}.site-footer,main{margin:0 auto;width:min(1000px,calc(100% - 80px))}.intro-section{padding:74px 0 0}.intro-grid{grid-gap:80px;align-items:start;display:grid;gap:80px;grid-template-columns:minmax(0,1fr) 224px}.intro-copy{min-width:0}.eyebrow{color:#286459;color:var(--accent);font-size:12px;font-weight:600;line-height:1.6;text-transform:uppercase}h1{font-family:Georgia,Times New Roman,serif;font-size:54px;font-weight:400;line-height:1.16}.intro-role{color:#65716b;color:var(--muted);font-size:14px;line-height:1.6;margin-top:15px}.intro-role span{color:#abb5af;margin:0 10px}.intro-lede{font-size:19px;line-height:1.7;margin-top:28px}.intro-bio{color:#65716b;color:var(--muted);font-size:15px;line-height:1.8;margin-top:17px}.intro-bio a{text-decoration:none}.intro-bio a:hover{text-decoration:underline}.intro-links{align-items:center;display:flex;flex-wrap:wrap;gap:24px;margin-top:25px}.email-button,.intro-links a{align-items:center;display:inline-flex;font-size:13px;font-weight:500;gap:6px;text-decoration:none}.intro-links a:hover{text-decoration:underline}.portrait{margin-top:9px}.portrait img{border-radius:3px;display:block;height:auto;width:100%}.portrait figcaption{color:#65716b;color:var(--muted);font-size:11px;margin-top:12px;text-align:right}.section-block{padding-top:58px}.section-heading{align-items:baseline;border-bottom:1px solid #e2e8e4;border-bottom:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;padding-bottom:22px}.contact-section h2,.section-heading h2{font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:400;line-height:1.3}.section-aside{color:#65716b;color:var(--muted);font-size:12px}.publication{grid-gap:32px;align-items:start;border-bottom:1px solid #e2e8e4;border-bottom:1px solid var(--line);display:grid;gap:32px;grid-template-columns:184px minmax(0,1fr);padding:30px 0}.publication-image{aspect-ratio:1.45;background:#fff;border:1px solid #e2e8e4;border:1px solid var(--line);border-radius:3px;display:grid;margin-top:8px;padding:8px;place-items:center}.publication-image img{display:block;height:100%;object-fit:contain;width:100%}.publication-topline{align-items:baseline;display:flex;gap:15px;justify-content:space-between}.publication-venue{color:#286459;color:var(--accent);font-size:11px;font-weight:600;line-height:1.6}.publication-year{color:#65716b;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.publication h3{font-size:17px;font-weight:600;line-height:1.5;margin-top:9px}.publication h3 a{color:#202724;color:var(--ink);text-decoration:none}.publication h3 a:hover{color:#286459;color:var(--accent);text-decoration:underline}.publication-authors{color:#65716b;color:var(--muted);font-size:12px;line-height:1.8;margin-top:8px}.publication-authors strong{color:#202724;color:var(--ink);font-weight:600}.publication-description{color:#65716b;color:var(--muted);font-size:13px;line-height:1.75;margin-top:10px}.publication-links{display:flex;flex-wrap:wrap;gap:20px}.paper-link{align-items:center;display:inline-flex;font-size:12px;gap:6px;margin-top:12px;text-decoration:none}.paper-link:hover{text-decoration:underline}.experience-row{grid-gap:32px;border-bottom:1px solid #e2e8e4;border-bottom:1px solid var(--line);display:grid;gap:32px;grid-template-columns:184px minmax(0,1fr);padding:25px 0}.experience-date{color:#65716b;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.7;padding-top:4px}.experience-main h3{font-size:15px;font-weight:600;line-height:1.5}.experience-current .experience-date{color:#286459;color:var(--accent);font-weight:600}.experience-current .experience-main{border-left:2px solid #286459;border-left:2px solid var(--accent);padding-left:16px}.experience-role{font-size:13px;line-height:1.7;margin-top:4px}.experience-advisor{color:#65716b;color:var(--muted);font-weight:400}.experience-description{color:#65716b;color:var(--muted);font-size:13px;line-height:1.75;margin-top:7px}.project-row{grid-gap:32px;align-items:center;border-bottom:1px solid #e2e8e4;border-bottom:1px solid var(--line);display:grid;gap:32px;grid-template-columns:184px minmax(0,1fr);padding:24px 0}.project-image-wrap{background:#f4f7f5;background:var(--surface);border:1px solid #e2e8e4;border:1px solid var(--line);border-radius:3px;height:108px;padding:6px}.project-image{display:block;height:100%;object-fit:contain;width:100%}.project-body h3{font-size:15px;font-weight:600;line-height:1.5}.project-body h3 a{align-items:center;color:#202724;color:var(--ink);display:inline-flex;gap:8px;text-decoration:none}.project-body h3 a:hover{color:#286459;color:var(--accent);text-decoration:underline}.project-description{color:#65716b;color:var(--muted);font-size:13px;line-height:1.75;margin-top:8px}.project-tools{font-size:11px;line-height:1.6;margin-top:10px}.project-toggle,.project-tools{color:#286459;color:var(--accent)}.project-toggle{align-items:center;background:#0000;border:0;display:flex;font-size:12px;gap:7px;margin-top:18px;padding:7px 0}.project-toggle:hover{color:#173e36;text-decoration:underline;text-underline-offset:4px}.contact-section{align-items:center;border-bottom:1px solid #e2e8e4;border-bottom:1px solid var(--line);border-top:1px solid #e2e8e4;border-top:1px solid var(--line);display:flex;gap:40px;justify-content:space-between;margin-top:60px;padding:36px 0}.contact-section h2{font-size:25px;margin-top:9px}.contact-section p:last-child{color:#65716b;color:var(--muted);font-size:13px;line-height:1.8;margin-top:12px;max-width:550px}.email-copy{display:inline-flex;position:relative}.email-button{background:#0000;border:0;color:#286459;color:var(--accent);padding:6px 0;white-space:nowrap}.email-button:hover{color:#173e36;text-decoration:underline;text-underline-offset:4px}.email-button.contact-button{border:1px solid #286459;border:1px solid var(--accent);border-radius:3px;gap:10px;padding:12px 18px}.email-button.contact-button:hover{background:#286459;background:var(--accent);color:#fff;text-decoration:none}.popup{color:#65716b;color:var(--muted);font-size:11px;left:0;line-height:1.5;pointer-events:none;position:absolute;top:calc(100% + 6px);width:-webkit-max-content;width:max-content;z-index:30}.contact-section .popup{left:auto;right:0}.site-footer{padding:28px 0 40px}.footer-main{align-items:center;display:flex;gap:24px;justify-content:space-between}.footer-main>p{font-family:Georgia,Times New Roman,serif;font-size:16px}.footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:22px}.footer-links a{align-items:center;color:#65716b;color:var(--muted);display:inline-flex;font-size:11px;gap:4px;text-decoration:none}.footer-links a:hover{color:#286459;color:var(--accent)}.agent-mode-trigger{background:#0000;border:0;color:#65716b;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:10px;padding:6px 0}.agent-mode-trigger:hover{color:#286459;color:var(--accent)}.agent-mode-dialog.MuiPaper-root{border-radius:4px;color:#202724;color:var(--ink);max-width:520px}.agent-mode-dialog .MuiDialogTitle-root{align-items:center;display:flex;font-family:Georgia,Times New Roman,serif;font-size:27px;justify-content:space-between;padding:28px 28px 12px}.agent-mode-dialog .MuiDialogContent-root{padding:0 28px 30px}.agent-mode-close{background:#0000;border:0;border-radius:3px;color:#65716b;color:var(--muted);display:grid;height:32px;padding:0;place-items:center;width:32px}.agent-mode-close:hover{background:#f4f7f5;background:var(--surface);color:#202724;color:var(--ink)}.agent-intro{font-size:14px;line-height:1.8}.agent-mode-facts{margin:24px 0}.agent-mode-facts>div{border-top:1px solid #e2e8e4;border-top:1px solid var(--line);padding:14px 0}.agent-mode-facts dt{color:#65716b;color:var(--muted);font-size:11px;font-weight:600}.agent-mode-facts dd{font-size:13px;line-height:1.7;margin:6px 0 0}.agent-mode-links{display:flex;flex-wrap:wrap;font-size:12px;gap:24px}@media (max-width:900px){.intro-grid{gap:40px;grid-template-columns:minmax(0,1fr) 190px}.site-nav{gap:20px}h1{font-size:46px}}@media (max-width:700px){.header-inner,.site-footer,main{width:calc(100% - 48px)}html{scroll-padding-top:130px}.header-inner{align-items:flex-start;flex-direction:column;gap:12px;padding:17px 0 12px}.site-nav{gap:12px;justify-content:space-between;width:100%}.site-nav a{font-size:12px;padding:5px 0}.intro-section{padding-top:42px}.intro-grid{gap:26px;grid-template-columns:minmax(0,1fr) 150px}h1{font-size:40px}.intro-role{font-size:12px}.intro-lede{font-size:17px}.intro-bio{font-size:14px}.experience-row,.project-row,.publication{gap:22px;grid-template-columns:140px minmax(0,1fr)}.publication{padding:25px 0}.publication h3{font-size:16px}.publication-topline{gap:10px}.contact-section{align-items:flex-start;flex-direction:column;gap:22px;margin-top:44px}.contact-section .popup{left:0;right:auto}.footer-main{align-items:flex-start;flex-direction:column;gap:16px}}@media (max-width:520px){.site-nav{gap:8px}.site-nav a{font-size:11px}.intro-grid{column-gap:20px;grid-template-columns:minmax(0,1fr) 96px;row-gap:0}.intro-copy{display:contents}.intro-copy h1{align-self:center;grid-column:1;grid-row:1}.intro-bio,.intro-lede,.intro-links,.intro-role{grid-column:1/-1}.portrait{grid-column:2;grid-row:1;margin:0;width:96px}.portrait figcaption{display:none}h1{font-size:36px}.intro-role{font-size:12px;margin-top:11px}.intro-role span{margin:0 5px}.intro-lede{margin-top:20px}.intro-links{gap:20px}.section-block{padding-top:42px}.section-heading{padding-bottom:18px}.section-heading h2{font-size:26px}.section-aside{font-size:10px;text-align:right}.publication{gap:18px;grid-template-columns:minmax(0,1fr)}.publication-image{aspect-ratio:1.6;margin:0;width:168px}.publication-venue{font-size:10px}.experience-row{gap:10px;grid-template-columns:minmax(0,1fr);padding:23px 0}.experience-date{padding:0}.project-row{align-items:start;gap:18px;grid-template-columns:88px minmax(0,1fr)}.project-image-wrap{height:80px}.project-body h3{font-size:14px}.project-description{font-size:12px}.contact-section{padding-top:28px}.contact-section h2{font-size:23px}.footer-links{gap:18px}.agent-mode-dialog.MuiPaper-root{margin:20px;width:calc(100% - 40px)}.agent-mode-dialog .MuiDialogTitle-root{font-size:24px;padding:22px 20px 12px}.agent-mode-dialog .MuiDialogContent-root{padding:0 20px 24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important}}
/*# sourceMappingURL=main.29bd9d59.css.map*/