html{background:#fff}button,a{-webkit-tap-highlight-color:transparent}::selection{color:#fff;background:#06c}:root{--blue:#06c;--blue-focus:#0071e3;--blue-dark:#2997ff;--ink:#1d1d1f;--muted:#7a7a7a;--white:#fff;--parchment:#f5f5f7;--dark:#272729;--dark-2:#2a2a2c;--hairline:#e0e0e0;color:var(--ink);background:var(--white);font-synthesis:none;text-rendering:optimizelegibility;font-family:SF Pro Text,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--white);margin:0}a{color:inherit}.global-nav{color:#fff;background:#000;height:44px}.nav-inner,.sub-nav-inner{justify-content:space-between;align-items:center;max-width:980px;height:100%;margin:auto;padding:0 22px;display:flex}.wordmark{letter-spacing:-.4px;font-size:17px;font-weight:600;text-decoration:none}.nav-links{align-items:center;gap:34px;height:100%;display:flex}.nav-links a{letter-spacing:-.12px;color:#ccc;font-size:12px;font-weight:400;text-decoration:none;transition:color .2s}.nav-links a:hover{color:#fff}.nav-mark{color:#ccc;font-size:19px}.sub-nav{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(20px);background:#f5f5f7d1;border-bottom:1px solid #00000014;height:52px;position:sticky;top:0}.sub-title{letter-spacing:.231px;font-family:SF Pro Display,system-ui,-apple-system,sans-serif;font-size:21px;font-weight:600;line-height:1.19;text-decoration:none}.download{background:var(--blue);color:#fff;letter-spacing:-.224px;border-radius:9999px;align-items:center;gap:7px;min-height:36px;padding:8px 16px;font-size:14px;line-height:1.29;text-decoration:none;transition:background .2s,transform .15s;display:flex}.download:hover{background:var(--blue-focus)}.download:active{transform:scale(.95)}.download:focus-visible{outline:2px solid var(--blue-focus);outline-offset:2px}.download svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:14px}main{width:100%}.hero{text-align:center;background:var(--white);flex-direction:column;justify-content:center;align-items:center;padding:64px max(24px,50vw - 490px) 56px;display:flex}.eyebrow{color:var(--muted);letter-spacing:-.374px;margin:0 0 16px;font-size:17px;line-height:1.47}.eyebrow:before{display:none}h1{letter-spacing:-.025em;margin:0;font-family:SF Pro Display,system-ui,-apple-system,sans-serif;font-size:clamp(56px,8vw,92px);font-weight:600;line-height:1.02}h1 br{display:none}h1 span{color:inherit;margin:0;font-style:normal}.intro-row{flex-direction:column;align-items:center;gap:28px;margin-top:32px;display:flex}.intro{letter-spacing:.196px;max-width:720px;margin:0;font-family:SF Pro Display,system-ui,-apple-system,sans-serif;font-size:28px;font-weight:400;line-height:1.14}.contact{flex-wrap:wrap;justify-content:center;gap:8px 24px;display:flex}.contact a{color:var(--blue);letter-spacing:-.374px;font-size:17px;line-height:1.47;text-decoration:none}.contact a:after{content:" ↗";font-size:.75em}.contact a:hover{text-decoration:underline}.section{background:var(--parchment);color:var(--ink);grid-template-columns:190px minmax(0,1fr);gap:48px;padding:64px max(24px,50vw - 490px);display:grid}.section:nth-of-type(odd){background:var(--dark);color:#fff}.section-label{align-items:baseline;gap:10px;display:flex}.section-label span{color:var(--blue);font-size:12px}.section h2{letter-spacing:-.224px;text-transform:none;margin:0;font-size:14px;font-weight:600;line-height:1.29}.section-content{min-width:0}.entry{border-bottom:1px solid var(--hairline);margin-bottom:48px;padding-bottom:48px}.section:nth-of-type(odd) .entry{border-color:#424245}.entry:last-child{border:0;margin-bottom:0;padding-bottom:0}.entry-heading{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}h3{letter-spacing:-.374px;max-width:620px;margin:0;font-family:SF Pro Display,system-ui,-apple-system,sans-serif;font-size:34px;font-weight:600;line-height:1.12}time{color:var(--muted);letter-spacing:-.224px;white-space:nowrap;flex:none;padding-top:7px;font-size:14px;line-height:1.43}.section:nth-of-type(odd) time{color:#ccc}.subtitle{color:var(--muted);letter-spacing:-.224px;margin:12px 0 24px;font-size:14px;font-weight:400;line-height:1.43}.section:nth-of-type(odd) .subtitle{color:#ccc}ul{margin:0;padding:0 0 0 20px}li{letter-spacing:-.374px;margin:12px 0;padding-left:4px;font-size:17px;font-weight:400;line-height:1.47}li::marker{color:var(--blue)}.section:nth-of-type(odd) li::marker{color:var(--blue-dark)}.statement{letter-spacing:-.374px;max-width:760px;margin:0;font-family:SF Pro Text,system-ui,-apple-system,sans-serif;font-size:24px;font-weight:400;line-height:1.5}.publication>p:last-child{letter-spacing:-.374px;margin:24px 0 0;font-size:17px;line-height:1.47}.publication strong{font-weight:600}.skills{gap:32px;display:grid}.skills p{margin:0;font-size:24px;font-weight:300;line-height:1.5}.skills span{color:var(--muted);letter-spacing:-.224px;margin-bottom:8px;font-size:14px;font-weight:600;line-height:1.29;display:block}.section:last-of-type .skills span{color:#ccc}footer{background:var(--parchment);color:#333;letter-spacing:-.12px;justify-content:space-between;align-items:flex-end;gap:28px;min-height:160px;padding:64px max(24px,50vw - 490px);font-size:12px;line-height:1.3;display:flex}.privacy-note{text-align:center;max-width:560px;color:var(--muted)}@media (width<=833px){.nav-links{display:none}.section{grid-template-columns:1fr;gap:32px}.hero{padding-top:56px;padding-bottom:48px}.entry-heading{flex-direction:column;gap:8px}time{order:-1;padding:0}.statement{font-size:24px;line-height:1.5}}@media (width<=640px){html{scroll-padding-top:88px}.global-nav{height:40px}.sub-nav{height:48px}.nav-inner,.sub-nav-inner{padding:0 18px}.nav-mark{font-size:17px}.download{min-height:34px;padding:7px 13px;font-size:13px}.download svg{display:none}.hero{padding:56px 22px 48px}.eyebrow{font-size:14px}h1{font-size:40px;line-height:1.1}.intro{font-size:24px;line-height:1.3}.contact{flex-direction:column;gap:4px}.contact a{font-size:14px}.section{gap:40px;min-height:auto;padding:64px 22px}h3{font-size:28px}.statement{font-size:24px}.skills p{font-size:20px}footer{flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:48px 22px}}@media (width<=419px){h1{font-size:34px}.intro{font-size:21px}.section{padding-top:48px;padding-bottom:48px}h3{font-size:25px}}@media print{.global-nav,.sub-nav{position:static}.download{display:none}.hero,.section{min-height:auto}.section{break-inside:avoid}}.hero{isolation:isolate;color:#fff;background-image:url(/banner.JPG);background-position:50% 58%;background-size:cover;padding-top:48px;padding-bottom:48px;position:relative}.hero:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(2px);background:#08101861;position:absolute;inset:0}.hero-glass{-webkit-backdrop-filter:saturate(115%)blur(16px);background:#0c141c61;border:1px solid #ffffff38;border-radius:18px;width:min(100%,900px);padding:34px 42px}.hero .eyebrow{color:#ffffffc7}.hero-identity{justify-content:center;align-items:center;gap:36px;display:flex}.headshot{object-fit:cover;border:2px solid #ffffffb8;border-radius:50%;flex:none;width:154px;height:154px}.hero h1{text-shadow:0 1px 8px #0000002e;font-size:clamp(54px,7vw,82px)}.hero .intro{max-width:650px;font-size:20px;line-height:1.35}.hero .contact a{color:#fff;text-decoration-color:#fff9}.research-section .subtitle,.project-section .subtitle{font-style:italic;font-weight:600}.photo-credit{color:#ffffffc2;letter-spacing:-.08px;text-shadow:0 1px 3px #0000008c;font-size:10px;line-height:1.3;position:absolute;bottom:14px;right:18px}@media (width<=640px){.hero{background-position:42%;padding:32px 18px 48px}.hero-glass{padding:28px 20px}.hero-identity{gap:18px}.headshot{width:92px;height:92px}.hero h1{text-align:left;font-size:38px}.hero .intro{font-size:17px;line-height:1.4}.photo-credit{font-size:9px;bottom:12px;right:14px}}.language-toggle{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff61;border-radius:9999px;min-width:52px;height:30px;padding:0 13px;font:400 12px/1 SF Pro Text,system-ui,-apple-system,sans-serif;transition:background .2s,transform .15s}.language-toggle:hover{background:#ffffff24}.language-toggle:active{transform:scale(.95)}.language-toggle:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}
