:root{color-scheme:light;--background: #f7f5ef;--text: #253834;--muted: #63736c;--link: #265e57;--line: #d8ded5;--deep: #152b29;--accent: #e6c6a5;--paper: #fffdf7;font-family:Segoe UI,Arial,Helvetica,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;color:var(--text);background:var(--background);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:5px;transition:color .2s}a:hover{color:#113e37}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#e6c6a5;color:#142b28}h1,h2,h3,p,figure,dl{margin:0}h1,h2,h3{line-height:1.15}h1,h2{font-weight:550;letter-spacing:-.045em}h1{font-size:clamp(52px,6.6vw,90px);line-height:1.08}h2{font-size:clamp(32px,3.5vw,46px);line-height:1.17}h3{font-size:24px;font-weight:550;letter-spacing:-.025em}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.page-width{width:min(1180px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;padding:10px 16px;background:#fff;color:var(--deep);z-index:30}.skip-link:focus{top:10px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:#476a60;margin-bottom:20px}.site-header{position:absolute;top:0;left:0;width:100%;z-index:5;color:#fff}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px;border-bottom:1px solid #ffffff30}.site-name{display:flex;align-items:center;gap:17px;color:#fffef8;font-size:14px;font-weight:550;text-decoration:none}.site-name:hover{color:#fff}.name-mark{font-size:31px;letter-spacing:-.07em;font-weight:600;color:var(--accent)}.navigation{display:flex;gap:34px;font-size:13px}.navigation a{position:relative;color:#e3e9e3;padding-block:10px;text-decoration:none}.navigation a:after{content:"";position:absolute;bottom:3px;height:1px;left:0;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}.navigation a:hover{color:#fff}.navigation a:hover:after{transform:scaleX(1)}.menu-toggle{display:none;padding:8px 14px;background:#142b2866;color:#fff;border:1px solid #ced8d37a;cursor:pointer}.hero-band{position:relative;overflow:hidden;isolation:isolate;background:var(--deep);color:#f9faf4}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.hero-photo{object-fit:cover;object-position:60% 58%;transform:scale(1.035)}.hero-shade{background:linear-gradient(90deg,#0c1d1bf2,#0f1e1bde 34%,#101f1a85 66%,#0f1b196e),linear-gradient(0deg,rgba(11,28,25,.64),transparent 40%)}.introduction{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 220px;column-gap:110px;padding-top:180px;min-height:790px}.intro-copy{max-width:720px;padding-bottom:76px}.role{color:#d4ddcc;font-size:12px;letter-spacing:.075em;font-weight:500;margin-bottom:25px;text-transform:uppercase}h1>span{color:var(--accent)}.intro-lead{max-width:610px;margin-top:28px;font-size:24px;line-height:1.5;letter-spacing:-.015em}.intro-description{max-width:585px;margin-top:22px;color:#ced8ce;font-size:16px;line-height:1.85}.intro-links{display:flex;align-items:center;flex-wrap:wrap;gap:29px;font-size:14px;margin-top:33px}.intro-links a{color:#f2f5ed}.intro-links .primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:12px 21px;background:var(--accent);color:#1b302b;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}.primary-link:hover{background:#f0d9bf;transform:translateY(-2px)}.intro-links .primary-link:focus-visible{outline-color:#fff}.profile{align-self:center;padding-bottom:95px}.portrait-mat{width:170px;height:170px;border-radius:50%;overflow:hidden;outline:1px solid #f7f5eb80;outline-offset:9px;box-shadow:0 12px 36px #06161366;margin-left:9px}.profile img{display:block;width:100%;height:100%;object-fit:cover}.profile figcaption{display:grid;gap:4px;margin-top:30px;font-size:12px;color:#cfdacb;text-shadow:0 1px 4px #142622}.profile figcaption strong{color:#f7f7ed;font-weight:600;font-size:16px}.profile figcaption a{color:#e3dccb;font-size:12px;text-decoration-color:#e3dccb88}.hero-foot{grid-column:1 / -1;align-self:end;padding:22px 0 24px;border-top:1px solid #ffffff35;display:flex;align-items:center;justify-content:space-between;gap:30px}.hero-foot>p{font-size:12px;color:#cfd9ca}.motion-control{display:inline-flex;align-items:center;gap:10px;background:transparent;border:0;color:#e1e7db;padding:5px 0 5px 10px;font-size:11px;cursor:pointer;white-space:nowrap}.motion-symbol{display:flex;align-items:center;gap:3px;height:15px}.motion-symbol i{width:2px;height:7px;background:var(--accent)}.motion-symbol i:nth-child(2){height:13px}.motion-symbol i:nth-child(3){height:9px}.update-band{background:#e7eddf;border-bottom:1px solid #d7dfce}.recent-update{display:flex;align-items:center;gap:25px;padding-block:24px;font-size:13px}.update-label{display:inline-flex;align-items:center;gap:9px;color:#55705c;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.update-dot{width:5px;height:5px;background:#597957;border-radius:50%}.recent-update p{margin-left:auto}.recent-update strong{font-weight:650}.recent-update p>a{color:#254331;text-decoration:none;font-weight:550}.recent-update p>a:hover{text-decoration:underline}.update-action{font-size:11px;margin-left:auto;white-space:nowrap}.about-section{display:grid;grid-template-columns:1fr 1.05fr;gap:110px;padding-block:100px}.personal-links{display:flex;align-items:center;gap:28px;margin-top:30px;font-size:13px}.file-type{font-size:10px;opacity:.7}.prose{color:#5a6961;font-size:16px}.prose p+p{margin-top:20px}.prose p:first-child{color:#34483e}.research-band{background:#eaf0ec;border-block:1px solid #d5dfd8}.research-section{padding-block:85px}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:end;margin-bottom:52px}.section-intro>p{max-width:440px;color:#5f7167;font-size:16px;padding-bottom:4px}.featured-publication{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding-block:42px;border-block:1px solid #bdcec1}.publication-venue{display:grid;gap:4px;font-size:11px;margin-bottom:23px}.publication-venue strong{font-weight:650;color:#325e46;font-size:12px}.publication-venue>span{color:#5a6b60}.featured-publication h3{font-size:35px;letter-spacing:-.04em}.publication h3 a,.featured-publication h3 a{color:#203c30;text-decoration:none}.publication h3 a:hover,.featured-publication h3 a:hover{text-decoration:underline}.authors{margin-top:9px;color:#5a6b60;font-size:13px}.publication-description{margin-top:22px;color:#4e6355;font-size:15px}.inline-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:23px;font-size:13px;font-weight:550}.research-visual{align-self:center;min-width:0}.research-process svg{width:100%;display:block;overflow:visible}.process-boxes{color:#628578}.process-links{color:#849e91}.process-flow{color:#aa7649;stroke-dasharray:8 80;stroke-dashoffset:70}.process-ink{color:#335e50}.process-labels{fill:#476456;font:12px Segoe UI,Arial,sans-serif}.process-numbers{fill:#5a6b60;font:10px Segoe UI,Arial,sans-serif}.research-process figcaption{text-align:center;font-size:10px;color:#5a6b60;margin-top:6px}.study-scale{display:flex;justify-content:space-between;gap:22px;border-top:1px solid #ccd8ce;padding-top:23px;margin-top:30px}.study-scale dt{font-size:28px;color:#315040;letter-spacing:-.04em;font-weight:500;line-height:1.3}.study-scale dd{margin:7px 0 0;color:#5a6b60;font-size:10px}.research-notes{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:33px}.publication>p:not(.research-status){margin-top:15px;font-size:14px;color:#5a7161}.publication>a{display:inline-block;margin-top:18px;font-size:12px}.research-status{margin-bottom:12px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#5a6b60}.work-section{padding-block:95px}.work-list{border-top:1px solid var(--line)}.work-entry{display:grid;grid-template-columns:45px .9fr 1.2fr;gap:30px;padding-block:36px;border-bottom:1px solid var(--line)}.work-index{color:#5a6b60;font-size:12px;padding-top:5px}.work-entry h3{max-width:300px;font-size:23px}.work-subtitle{margin-top:9px;color:#455e50;font-size:14px;line-height:1.5}.work-technology{margin-top:18px;color:#5a6b60;font-size:11px}.work-copy>p{color:#5c7164;font-size:15px}.work-copy>.work-detail{margin-top:15px;color:#455e50;font-size:14px}.work-copy>a{display:inline-block;font-size:12px;margin-top:18px}.demo-button{display:inline-flex;align-items:center;gap:20px;background:var(--deep);color:#f2f5eb;border:1px solid var(--deep);font-size:12px;font-weight:550;padding:10px 17px;margin:22px 20px 0 0;cursor:pointer;transition:background .2s}.demo-button:hover{background:#315646}.demo-button:focus-visible{outline-color:var(--deep)}.demo{grid-column:2 / -1}.demo>p{font-size:12px;color:#5a6b60;margin-bottom:13px}.demo iframe{display:block;width:100%;height:690px;border:1px solid #25443e;background:#0a0c10}.contact-band{background:#dfe7dd;border-block:1px solid #cbd7cc}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:75px}.contact-section h2{font-size:clamp(31px,3.4vw,45px)}.contact-copy{align-self:end}.contact-copy>p{color:#526b59;font-size:15px}.email-link{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:20px;font-weight:550;text-decoration:none;letter-spacing:-.02em;border-bottom:1px solid #97af9a;padding-block:22px 13px;overflow-wrap:anywhere}.email-link>span{flex-shrink:0}.contact-copy .business-note{font-size:12px;margin-top:19px}.site-footer{display:flex;align-items:center;gap:30px;padding-block:26px 30px;font-size:11px;color:#5a6b60}.site-footer>div{margin-right:auto}.site-footer a{color:#5a6b60}.photo-credit{font-size:9px;margin-top:5px}[data-motion=on] .hero-photo{animation:workspace-drift 26s ease-in-out infinite alternate;animation-play-state:paused}[data-motion=on][data-page-visible=true] .hero-photo{animation-play-state:running}[data-motion=on] .hero-enter{animation:arrive .85s cubic-bezier(.2,.65,.3,1) both}[data-motion=on] .profile.hero-enter{animation-delay:.16s}[data-motion=on] .process-flow{animation:process-travel 4s linear infinite;animation-play-state:paused}[data-motion=on][data-page-visible=true] .process-flow{animation-play-state:running}[data-motion=on][data-page-visible=true] .motion-symbol.is-running i{animation:motion-meter 1.4s ease-in-out infinite alternate}.motion-symbol i:nth-child(2){animation-delay:-.4s!important}.motion-symbol i:nth-child(3){animation-delay:-.8s!important}[data-reveal-ready=true] [data-reveal]{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1)}[data-reveal-ready=true] [data-reveal]:not(.is-visible){opacity:0;transform:translateY(22px)}@keyframes workspace-drift{0%{transform:scale(1.035) translate(-.5%)}to{transform:scale(1.09) translate(.5%)}}@keyframes arrive{0%{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}@keyframes process-travel{to{stroke-dashoffset:-18}}@keyframes motion-meter{to{transform:scaleY(.5)}}@media(max-width:1080px){.page-width{width:calc(100% - 64px)}.introduction{column-gap:60px;grid-template-columns:minmax(0,1fr) 190px;padding-top:155px;min-height:750px}.portrait-mat{width:145px;height:145px}.intro-lead{font-size:22px}.about-section,.section-intro,.contact-section{gap:60px}.featured-publication,.research-notes{gap:45px}.recent-update{flex-wrap:wrap;gap:10px 20px}.recent-update p{margin-left:auto}.update-action{display:none}.work-entry{grid-template-columns:30px .8fr 1.2fr;gap:22px}}@media(max-width:780px){.page-width{width:calc(100% - 44px)}.header-inner{min-height:82px}.site-name{font-size:12px;gap:11px}.name-mark{font-size:26px}.navigation{gap:20px;font-size:12px}.introduction{grid-template-columns:minmax(0,1fr) 145px;gap:0 30px;padding-top:135px;min-height:730px}h1{font-size:57px}.intro-lead{font-size:21px}.intro-description{font-size:14px}.portrait-mat{width:116px;height:116px;outline-offset:6px;margin-left:6px}.profile figcaption{font-size:10px;margin-top:24px}.profile figcaption strong{font-size:13px}.profile figcaption a{font-size:10px}.intro-copy{padding-bottom:45px}.profile{padding-bottom:40px}.about-section{padding-block:65px;grid-template-columns:1fr;gap:35px}.section-intro{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.section-intro>p{max-width:580px}.featured-publication{grid-template-columns:1fr;gap:35px;padding-block:30px}.research-visual{max-width:600px;width:100%}.research-notes{gap:35px}.research-section,.work-section{padding-block:65px}.work-entry{grid-template-columns:27px 1fr;gap:14px 18px}.work-copy{grid-column:2}.demo{grid-column:1 / -1}.contact-section{grid-template-columns:1fr;gap:32px;padding-block:60px}.contact-copy{max-width:560px}.site-footer{gap:22px}}@media(max-width:560px){.header-inner{min-height:78px;flex-wrap:wrap;gap:0}.site-name{font-size:13px}.menu-toggle{display:block;font-size:11px}.navigation{display:none;width:100%;background:#152b29;padding:12px 17px 17px;gap:15px 25px;margin-bottom:15px}.navigation.is-open{display:flex;flex-wrap:wrap}.navigation a{padding-block:5px}.introduction{display:flex;flex-wrap:wrap;padding-top:130px;min-height:0}.hero-photo{top:-22%;height:122%;object-position:70% center}.hero-shade{background:linear-gradient(90deg,#0b1c18e8,#0c1d19b3),linear-gradient(0deg,rgba(11,28,25,.8),transparent 45%)}.role{font-size:9px;margin-bottom:22px}h1{font-size:clamp(43px,11.5vw,63px);letter-spacing:-.045em}h1>span{display:block}.intro-lead{font-size:21px;line-height:1.55;margin-top:25px}.intro-description{font-size:14px;line-height:1.8;margin-top:19px}.intro-links{font-size:12px;gap:24px;margin-top:26px}.intro-links .primary-link{gap:22px;padding:11px 16px}.intro-copy{padding-bottom:34px}.profile{display:flex;align-items:center;gap:20px;padding-bottom:31px;width:100%}.portrait-mat{width:70px;height:70px;outline-offset:4px;margin-left:4px;flex-shrink:0}.profile figcaption{margin:0;font-size:11px}.profile figcaption strong{font-size:14px}.profile figcaption a{font-size:11px}.hero-foot{width:100%;padding-block:17px;gap:15px}.hero-foot>p{font-size:10px;max-width:185px}.motion-control{font-size:10px;gap:7px}.recent-update{display:grid;grid-template-columns:1fr;padding-block:21px;gap:7px;font-size:12px}.update-label{font-size:9px}.recent-update p{margin:0}.update-action{display:inline-block;margin-left:0;font-size:10px}.about-section{padding-block:58px}h2{font-size:33px}.eyebrow{font-size:10px;margin-bottom:17px}.prose{font-size:15px}.personal-links{margin-top:24px}.section-intro>p{font-size:15px}.featured-publication h3{font-size:31px}.publication-venue{margin-bottom:20px}.authors{font-size:12px}.publication-description{font-size:14px}.inline-links{font-size:12px;gap:22px}.research-notes{grid-template-columns:1fr;gap:30px}.research-notes>article+article{padding-top:28px;border-top:1px solid #d0dacf}.study-scale{gap:18px;padding-top:20px;margin-top:22px}.study-scale dt{font-size:26px}.study-scale dd{font-size:9px}.process-labels{font-size:13px}.work-entry h3{font-size:23px}.work-copy>p{font-size:14px}.demo iframe{height:590px}.email-link{font-size:16px}.site-footer{flex-wrap:wrap;gap:17px 25px;padding-block:23px 27px}.site-footer>div{flex-basis:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}[data-reveal]{opacity:1!important;transform:none!important}}
