svg[data-astro-cid-ccg5yoga]{vertical-align:middle;width:var(--size,1em);height:var(--size,1em)}:root,:root.theme-dark{color-scheme:dark;--bg:#171919;--surface:#1e2121;--text:#f0eee8;--muted:#afb5b2;--accent:#b7d6c2;--line:#383d3b;--font-body:"Segoe UI",Arial,sans-serif;--font-brand:Georgia,"Times New Roman",serif;--gray-0:var(--text);--gray-50:var(--text);--gray-100:var(--text);--gray-200:#cbd0cc;--gray-300:var(--muted);--gray-400:var(--muted);--gray-500:#878f89;--gray-600:#606961;--gray-700:var(--line);--gray-800:var(--line);--gray-900:var(--surface);--gray-999:var(--bg);--gray-999_40:var(--surface);--accent-light:var(--accent);--accent-dark:var(--accent);--accent-regular:var(--accent);--accent-text-over:var(--bg);--link-color:var(--accent);--accent-subtle-overlay:#b7d6c210;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.625rem;--text-2xl:2.125rem;--text-3xl:2.625rem;--text-4xl:3.5rem;--text-5xl:4.5rem;--gradient-subtle:var(--surface);--shadow-sm:none;--shadow-md:none;--theme-transition:.18s ease}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.75}img{max-width:100%;height:auto;display:block}button,input{font:inherit}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{color:var(--accent)}button{color:inherit}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}main:focus{outline:none}::selection{background:var(--accent);color:var(--bg)}h1,h2,h3,h4,h5{font-family:var(--font-brand);color:var(--text);text-wrap:balance;font-weight:400;line-height:1.15}h1{font-size:clamp(3rem,6vw,5rem)}h2{font-size:clamp(2.25rem,4vw,3.4rem)}h3{font-size:1.7rem}p{text-wrap:pretty}.wrapper{width:min(1180px,100% - 96px);margin-inline:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:var(--bg);padding:10px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.stack{flex-direction:column;display:flex}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}.gap-15{gap:3.75rem}.gap-20{gap:5rem}.gap-30{gap:7.5rem}@media (width<=700px){.wrapper{width:calc(100% - 40px)}html{scroll-padding-top:88px}body{font-size:15px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.site-header{z-index:30;border-bottom:1px solid var(--line);background:#171919f5;position:sticky;top:0}.site-nav{align-items:center;gap:30px;min-height:82px;display:flex}.wordmark{font:23px var(--font-brand);white-space:nowrap;letter-spacing:-.6px;margin-right:auto;text-decoration:none}.wordmark span{color:var(--accent)}.nav-links{align-items:center;gap:26px;display:flex}.nav-links a{color:var(--muted);padding-block:18px;font-size:13px;text-decoration:none}.nav-links a:hover,.nav-links a[aria-current]{color:var(--accent)}.nav-cv{border:1px solid var(--line);padding:8px 14px;font-size:13px;text-decoration:none}.nav-cv span{color:var(--accent);margin-left:12px}.menu-toggle{cursor:pointer;background:0 0;border:0;min-height:44px;display:none}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-size:11px;font-weight:500}.eyebrow .dot{background:var(--accent);border-radius:50%;width:5px;height:5px;margin:0 12px 2px 0;display:inline-block}.intro{grid-template-columns:1fr 330px;align-items:center;gap:100px;padding:90px 0 74px;display:grid}.intro h1{letter-spacing:-5px;margin:24px 0;font-size:clamp(68px,7.2vw,102px);line-height:.99}.intro h1 em{font-weight:400}.accent{color:var(--accent)}.intro-role{letter-spacing:.3px;color:var(--accent);margin-bottom:18px;font-size:15px}.intro-description{color:#c2c8c3;max-width:52ch;font-size:17px;line-height:1.8}.social-links{flex-wrap:wrap;gap:12px 26px;margin-top:30px;display:flex}.social-links a{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:42px;font-size:13px;text-decoration:none;display:inline-flex}.social-links a:first-child{color:var(--accent)}.social-links svg{fill:none;stroke:currentColor;stroke-width:1.4px;width:16px;height:16px}.portrait{margin:0}.portrait-image{aspect-ratio:4/5;object-fit:cover;object-position:center 30%;width:100%}.portrait-fallback{aspect-ratio:4/5;background:#212823;border:1px solid #4b5750;flex-direction:column;justify-content:space-between;padding:26px;display:flex}.portrait-fallback .monogram{font:italic 135px/.9 var(--font-brand);letter-spacing:-14px;color:var(--accent);align-self:center;margin-left:-10px}.portrait-fallback .monogram-top{letter-spacing:1.7px;text-transform:uppercase;color:#b7c5bb;justify-content:space-between;font-size:10px;display:flex}.portrait-fallback .monogram-bottom{letter-spacing:1px;text-transform:uppercase;color:#c5d0c8;border-top:1px solid #49564c;padding-top:18px;font-size:11px}.portrait figcaption{color:var(--muted);letter-spacing:.2px;justify-content:space-between;margin-top:14px;font-size:11px;display:flex}.intro-bottom{border-top:1px solid var(--line);color:var(--muted);letter-spacing:1px;text-transform:uppercase;justify-content:space-between;align-items:center;padding:19px 0;font-size:11px;display:flex}.intro-bottom a{text-decoration:none}.intro-bottom a span{color:var(--accent);padding-left:16px}.section{border-top:1px solid var(--line);padding:76px 0;scroll-margin-top:0}.section-heading{align-items:baseline;gap:36px;margin-bottom:40px;display:flex}.section-heading .section-label{min-width:120px}.section-heading h2{letter-spacing:-1.5px}.about-grid{grid-template-columns:1.1fr 1fr;gap:90px;display:grid}.bio p{color:#c2c8c3;margin-bottom:18px}.bio .lead{font-family:var(--font-brand);color:var(--text);font-size:25px;line-height:1.5}.interest-line{border-top:1px solid var(--line);color:var(--muted);margin-top:28px;padding-top:20px;font-size:13px}.interest-line strong{color:var(--accent);margin-bottom:5px;font-weight:400;display:block}.education h3{font-family:var(--font-body);letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin:8px 0 16px;font-size:11px}.education-entry{border-bottom:1px solid var(--line);padding:18px 0}.education-entry:last-child{border-bottom:0}.education-meta{color:var(--muted);justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:5px;font-size:11px;display:flex}.education-meta span:first-child{color:#d0d7d1;font-size:12px}.education-meta time{white-space:nowrap}.education-entry h4{font-size:21px;line-height:1.3}.education-entry p{color:var(--muted);margin-top:5px;font-size:12px}.experience-row{border-top:1px solid var(--line);grid-template-columns:154px 240px 1fr;gap:32px;padding:28px 0;display:grid}.experience-row:first-child{border-top:0;padding-top:0}.experience-date{color:var(--muted);font-size:12px}.experience-place h3{font-family:var(--font-body);font-size:16px;font-weight:500;line-height:1.45}.experience-place p{color:var(--muted);margin-top:5px;font-size:12px}.experience-description h4{font-family:var(--font-body);color:var(--accent);margin-bottom:9px;font-size:14px;font-weight:500;line-height:1.5}.experience-description p{color:#bfc6c0;font-size:14px}.experience-description a{color:var(--accent);margin-top:12px;font-size:12px;text-decoration:none;display:inline-block}.research-intro{color:var(--muted);max-width:67ch;margin:-16px 0 30px 156px;font-size:14px}.research-list{padding:0;list-style:none}.research-item{border-top:1px solid var(--line);grid-template-columns:132px 1fr 80px;gap:24px;padding:27px 0;display:grid}.research-type{color:var(--muted);padding-top:3px;font-size:11px;line-height:1.7}.research-type strong{color:var(--accent);font-weight:400;display:block}.research-item h3{margin-bottom:9px;font-size:23px;line-height:1.35}.research-item p{color:var(--muted);font-size:12px}.research-item .author-self{color:var(--text)}.research-item .research-context{margin-top:8px;font-size:13px}.research-link{color:var(--accent);white-space:nowrap;place-self:start end;padding-block:4px;font-size:12px;text-decoration:none}.research-more{border-top:1px solid var(--line);margin-top:16px;margin-left:156px}details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}.research-more summary{color:var(--accent);justify-content:space-between;align-items:center;padding:20px 0;font-size:13px;display:flex}.research-more summary:after{content:"+";font-size:22px}.research-more[open] summary:after{content:"−"}.manuscripts{padding:0 0 6px 18px}.manuscripts li{padding:8px 0 14px;font-size:14px}.manuscripts span{color:var(--muted);margin-top:5px;font-size:12px;display:block}.teaching-grid{grid-template-columns:300px 1fr;gap:60px;display:grid}.teaching-note{background:var(--surface);border-top:2px solid var(--accent);align-self:start;padding:27px}.teaching-note h3{margin-bottom:16px;font-size:29px}.teaching-note p{color:var(--muted);font-size:14px}.teaching-note .teaching-tools{border-top:1px solid var(--line);letter-spacing:1px;color:var(--accent);margin-top:24px;padding-top:18px;font-size:11px}.teaching-summary{color:#c2c8c3;margin:0 0 22px;font-size:14px}.course{border-top:1px solid var(--line)}.course:last-child{border-bottom:1px solid var(--line)}.course summary{grid-template-columns:85px 1fr 20px;align-items:baseline;gap:10px;padding:17px 0;line-height:1.5;display:grid}.course-code{color:var(--muted);font-size:11px}.course-title{color:var(--text);font-size:14px}.course summary:after{content:"+";color:var(--accent);justify-self:end}.course[open] summary:after{content:"−"}.course p{color:var(--muted);padding:0 24px 20px 95px;font-size:13px}.additional-courses{color:var(--muted);margin-top:22px;font-size:12px}.projects-heading{justify-content:space-between}.projects-heading .heading-group{align-items:baseline;gap:36px;display:flex}.projects-heading>p{max-width:25ch;color:var(--muted);font-size:12px}.project-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.project-figure{background:#f5f4ee;justify-content:center;align-items:center;height:216px;padding:23px;display:flex}.project-figure img{object-fit:contain;width:100%;height:100%}.project-preview .project-credit{color:var(--muted);min-height:48px;padding-top:10px;font-size:10px;line-height:1.7}.project-preview .project-meta{letter-spacing:1.2px;color:var(--accent);text-transform:uppercase;margin-top:20px;font-size:10px}.project-preview h3{margin:9px 0 12px;font-size:29px}.project-preview h3 a{text-decoration:none}.project-preview>p{color:#bfc6c0;font-size:14px}.project-preview .project-action{border-top:1px solid var(--line);color:var(--accent);justify-content:space-between;align-items:center;margin-top:24px;padding-top:17px;font-size:12px;text-decoration:none;display:flex}.contact-section{grid-template-columns:156px 1fr;gap:0;display:grid}.contact-section .section-label{padding-top:9px}.contact-section h2{letter-spacing:-1.5px;max-width:22ch;font-size:clamp(36px,4.1vw,56px)}.contact-section p{color:var(--muted);max-width:59ch;margin-top:24px;font-size:14px}.contact-email{color:var(--accent);border-bottom:1px solid #617267;align-items:center;gap:24px;margin:25px 0 3px;padding-bottom:9px;font-size:clamp(17px,2.4vw,28px);text-decoration:none;display:inline-flex}.contact-section .social-links{margin-top:15px}.site-footer{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-block:27px;font-size:11px;display:flex}.site-footer div{gap:28px;display:flex}.site-footer a{text-decoration:none}.secondary-page{padding-block:65px}.secondary-page>header{max-width:780px;margin-bottom:45px}.secondary-page>header p{color:var(--muted);margin-top:22px}.secondary-page .back-link{color:var(--accent);margin-bottom:25px;font-size:13px;display:inline-block}@media (width>=1400px){.intro{gap:130px}}@media (width<=1050px){.site-nav{gap:22px}.nav-links{gap:17px}.intro{grid-template-columns:1fr 290px;gap:50px}.about-grid{gap:50px}.experience-row{grid-template-columns:130px 190px 1fr;gap:24px}.teaching-grid{grid-template-columns:260px 1fr;gap:35px}}@media (width<=850px){.site-nav{min-height:70px}.wordmark{font-size:21px}.menu-toggle{align-items:center;gap:12px;padding:0;font-size:12px;display:flex}.menu-symbol{font-size:24px;line-height:1}.menu-toggle[aria-expanded=true] .menu-symbol{transform:rotate(45deg)}.nav-links{background:var(--surface);border-bottom:1px solid var(--line);padding:20px 48px;display:none;position:absolute;top:70px;left:0;right:0;box-shadow:0 20px 30px #0004}.nav-links.is-open{grid-template-columns:1fr 1fr;gap:0 24px;display:grid}.nav-links a{padding:12px 0}.nav-cv{border:0;align-items:center;min-height:44px;padding:0;display:flex}.intro{grid-template-columns:1fr 230px;gap:35px;padding:65px 0}.intro h1{letter-spacing:-3.5px;font-size:76px}.intro-role{font-size:13px}.intro-description{font-size:15px}.social-links{gap:8px 18px}.portrait-fallback{padding:20px}.portrait-fallback .monogram{font-size:100px}.section-heading{gap:20px}.section-heading .section-label{min-width:95px}.section{padding:60px 0}.about-grid{grid-template-columns:1fr;gap:36px}.education{max-width:none}.experience-row{grid-template-columns:130px 1fr;gap:15px 30px}.experience-description{grid-column:2}.research-intro{margin-left:0}.research-item{grid-template-columns:105px 1fr;gap:16px}.research-link{grid-column:2;justify-self:start}.research-more{margin-left:121px}.teaching-grid{grid-template-columns:1fr;gap:30px}.teaching-note{grid-template-columns:1fr 1.3fr;gap:20px;display:grid}.teaching-note .teaching-tools{grid-column:1/-1;margin-top:0}.projects-heading .heading-group{gap:20px}.projects-heading>p{display:none}.project-grid{gap:25px}.project-figure{height:180px;padding:15px}.contact-section{grid-template-columns:121px 1fr}}@media (width<=600px){.site-nav{gap:20px}.nav-links{padding-inline:20px}.intro{grid-template-columns:1fr;gap:35px;padding:45px 0 35px}.intro h1{margin:23px 0;font-size:76px}.intro-role{max-width:32ch;line-height:1.8}.intro-description{max-width:none;font-size:16px}.social-links{gap:10px 22px;margin-top:22px}.portrait{max-width:none}.portrait-fallback{aspect-ratio:auto;min-height:210px;padding:22px}.portrait-fallback .monogram{letter-spacing:-9px;margin:12px 0;font-size:85px}.portrait-fallback .monogram-bottom{padding-top:12px;font-size:10px}.portrait figcaption{font-size:10px}.portrait-image{aspect-ratio:5/4;object-position:center 35%}.intro-bottom{gap:25px;font-size:9px}.intro-bottom>span{max-width:23ch}.section{padding-block:48px}.section-heading{margin-bottom:30px;display:block}.section-heading .section-label{margin-bottom:14px;display:block}.section-heading h2{letter-spacing:-1px;font-size:37px}.bio .lead{font-size:24px}.education-meta{gap:9px}.education-entry h4{font-size:21px}.experience-row{grid-template-columns:1fr;gap:12px;padding-block:24px}.experience-description{grid-column:auto}.experience-place h3{font-size:18px}.experience-date{font-size:11px}.experience-place p{margin-top:3px}.experience-description h4{margin-bottom:8px}.research-intro{margin-top:-8px}.research-item{grid-template-columns:1fr;gap:10px}.research-type{gap:12px;font-size:10px;display:flex}.research-item h3{font-size:23px}.research-link{grid-column:auto}.research-more{margin-left:0}.teaching-note{padding:24px;display:block}.teaching-note .teaching-tools{margin-top:20px}.course summary{grid-template-columns:70px 1fr 12px;gap:10px}.course-code{font-size:10px}.course p{padding-left:0}.course-title{font-size:13px}.projects-heading .heading-group{display:block}.project-grid{grid-template-columns:1fr;gap:40px}.project-figure{height:190px;padding:18px}.project-preview .project-credit{min-height:auto}.project-preview h3{font-size:29px}.contact-section{display:block}.contact-section .section-label{margin-bottom:20px}.contact-section h2{font-size:38px}.contact-email{overflow-wrap:anywhere;gap:12px;max-width:100%;font-size:16px}.site-footer{align-items:start;gap:12px;font-size:10px}.site-footer div{gap:17px}}.image-viewer{overflow:auto;height:fit-content!important}.nav-home-label{display:none}.wordmark .nav-person-name{color:inherit}:root,:root.theme-dark{--bg:#000;--surface:#101010;--text:#f5f5f5;--muted:#aaa;--accent:#e6e6e6;--line:#252525;--font-body:Arial,"Helvetica Neue",Helvetica,sans-serif;--font-brand:var(--font-body);--accent-light:#eee;--accent-dark:#bbb;--accent-regular:#ddd;--accent-subtle-overlay:#ffffff0a;--link-color:#eee}@font-face{font-family:Site Inter;src:url(/fonts/inter-latin-variable.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root,:root.theme-dark{--font-body:"Site Inter",Arial,sans-serif}body{font-family:var(--font-body);font-optical-sizing:auto}html{scrollbar-gutter:stable;scroll-padding-top:100px}.site-header{-webkit-backdrop-filter:blur(16px)}.site-nav a,.site-footer a,.social-links a{transition:color .18s,border-color .18s}.site-nav .nav-cv{align-items:center;min-height:44px;display:inline-flex}.menu-symbol{transition:transform .18s}.social-links a:hover,.social-links a:focus-visible{border-color:#aaa}.site-footer a:hover,.site-footer a:focus-visible{text-decoration:underline}summary:focus-visible{outline-offset:4px}@media (width<=700px){html{scroll-padding-top:90px}.site-footer{flex-wrap:wrap;row-gap:16px}.site-footer a{align-items:center;min-height:32px;display:inline-flex}}.wrapper{width:min(1100px,100% - 96px)}.site-header{background:#000000ed}.site-nav{min-height:76px}body:not(.personal-home) .wordmark{font-family:var(--font-body);letter-spacing:-.3px;font-size:16px;font-weight:600}body:not(.personal-home) .wordmark span{color:inherit}body:not(.personal-home) .nav-links a{font-size:12px;font-weight:500}.nav-cv{border:0}.site-footer{font-size:12px}.secondary-page>header h1{letter-spacing:-.5px;font-size:clamp(34px,4vw,48px);font-weight:500;line-height:1.2}.secondary-page>header p{color:#ccc;font-size:16px;line-height:1.8}.secondary-page .section-heading h2{letter-spacing:-.3px;font-size:24px;font-weight:600;line-height:1.4}.secondary-page .section-heading{margin-bottom:26px}.secondary-page .section{padding-block:52px}.secondary-page .bio .lead{color:#eee;font-size:20px;line-height:1.6}.secondary-page .bio p{color:#ccc;font-size:16px;line-height:1.8}.secondary-page .education-entry h4{font-size:20px;font-weight:500}.secondary-page .education-meta span:first-child{color:#ddd}.secondary-page .teaching-note{border-top:1px solid var(--line)}.secondary-page .teaching-note h3{font-size:23px;font-weight:500;line-height:1.4}.secondary-page .teaching-summary{color:#ccc;font-size:15px}.secondary-page .course-title{font-size:15px}.secondary-page .course p{font-size:14px;line-height:1.8}.secondary-page .research-item h3{font-size:20px;font-weight:500;line-height:1.5}.secondary-page .research-item p{font-size:14px}.secondary-page .research-projects h3{font-size:22px;font-weight:500}.secondary-page .contact-section h2{letter-spacing:-.3px;font-size:24px;font-weight:600}@media (width<=1000px){.site-nav{min-height:70px}.wordmark{margin-right:auto}.menu-toggle{align-items:center;gap:12px;padding:0;font-size:12px;display:flex}.menu-symbol{font-size:24px;line-height:1}.menu-toggle[aria-expanded=true] .menu-symbol{transform:rotate(45deg)}.nav-links{border-bottom:1px solid var(--line);background:#101010;padding:20px 48px;display:none;position:absolute;top:70px;left:0;right:0;box-shadow:0 20px 30px #0004}.nav-links.is-open{grid-template-columns:1fr 1fr;gap:0 24px;display:grid}.nav-links a{padding:12px 0}.nav-cv{border:0;align-items:center;min-height:44px;padding:0;display:flex}}@media (width<=700px){.wrapper{width:calc(100% - 40px)}.nav-links{padding-inline:20px}.secondary-page>header h1{font-size:34px}.secondary-page .section-heading h2{font-size:22px}.secondary-page .section{padding-block:40px}.site-footer{font-size:12px}}body{font-kerning:normal}.site-nav .nav-links a{color:#c1c1c1}.site-nav .nav-links a:hover,.site-nav .nav-links a[aria-current]{color:#fff}.secondary-page .research-item p,.secondary-page .course p{color:#bdbdbd}.secondary-page .research-type,.secondary-page .research-link{font-size:12px}.secondary-page .education-entry p{font-size:14px;line-height:1.75}.secondary-page .course-code{font-size:12px}.site-footer{color:#b3b3b3}img{image-rendering:auto}.inline-icon{vertical-align:-.125em;flex:none;display:inline-block}.secondary-page .back-link{align-items:center;gap:8px;min-height:44px;display:inline-flex}@media (width<=700px){.secondary-page .research-item h3{font-size:20px;line-height:1.5}.secondary-page .course summary{grid-template-columns:78px minmax(0,1fr) 16px}}.nav-links[data-astro-cid-wpvy4v7s]{order:1}.nav-cv[data-astro-cid-wpvy4v7s]{order:2}.menu-toggle[data-astro-cid-wpvy4v7s]{order:3}.menu-toggle[data-astro-cid-wpvy4v7s][hidden]{display:none!important}@media (width<=1000px){.nav-cv[data-astro-cid-wpvy4v7s]{order:1}.menu-toggle[data-astro-cid-wpvy4v7s]{order:2}.nav-links[data-astro-cid-wpvy4v7s]{order:3}.site-nav[data-astro-cid-wpvy4v7s]:not([data-enhanced]){flex-wrap:wrap;row-gap:8px;padding-block:14px}.site-nav[data-astro-cid-wpvy4v7s]:not([data-enhanced]) .nav-links[data-astro-cid-wpvy4v7s]{box-shadow:none;background:0 0;border:0;flex-basis:100%;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;display:grid;position:static}}
