@font-face{font-family:Allura Wordmark;src:url(/fonts/allura-wordmark.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{color-scheme:light;color:var(--ink);background:var(--canvas);font-synthesis:none;--ink:#202326;--canvas:#d8dcdf;--paper:#fff;--nav-ink:#3e4247;--nav-bg:#eef3f8;--glint-core:#ffffffd9;--glint-edge:#e7eef75c;--link-rule:#2157a54d;--secondary:#4f555a;--soft-line:#edf0f2;--placeholder-bg:#f0f2f3;--placeholder-ink:#8b9691;--strong-line:#bfc4c8;--role-ink:#43494f;--emphasis:#343e47;--glass-end:#eff3f6b3;--glass-border:#a6b7c44d;--glass-fill:#ffffff12;--glass-shadow:#293b4f0a;--glass-inset:#dce3e969;--glass-hover-shadow:#293b4f0f;--glass-hover-inset:#b5c4d280;--indicator-bg:#ffffffbf;--indicator-line:#d2dce766;--body-copy:#535960;--timeline-line:#d8dcdf;--timeline-dot:#89939b;--timeline-link:#c5cbd0;--download-hover:#17427d;--download-bg:#2157a5;--download-ink:#fff;--page-shadow:#2023260a;--layer-middle:#f0f1f2;--layer-back:#e2e4e6;--layer-border:#c5c9cd80;--highlight:#edf7ff;--photo-blend:multiply;--photo-opacity:.27;--blue:#2157a5;--muted:#62666b;--line:#e1e3e5;--motion-ease:cubic-bezier(.22, 1, .36, 1);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}html{scroll-padding-top:112px}body{isolation:isolate;background:var(--canvas);margin:0;position:relative}main:focus{outline:none}body:before{content:"";z-index:-1;opacity:.16;pointer-events:none;background:url(/images/outer-grain.svg);position:fixed;inset:0}h1,h2,h3,h4,p,ul,figure{margin:0}a{color:var(--blue);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:5px}a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:var(--link-rule)}h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}.skip{background:var(--paper);z-index:10;padding:12px;position:fixed;top:-100px;left:16px}.skip:focus{top:8px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.demo-note{color:var(--muted);justify-content:space-between;padding:8px 28px;font-size:12px;display:flex}.page-stack{isolation:isolate;width:calc(100% - 64px);max-width:1208px;margin:0 auto 48px;position:relative}.sheet-layer{border:1px solid var(--layer-border);pointer-events:none;border-radius:18px;position:absolute}.sheet-middle{background:var(--layer-middle);z-index:0;inset:12px -7px -10px}.sheet-back{background:var(--layer-back);z-index:-1;inset:24px -13px -20px}.campus-backdrop{pointer-events:none;z-index:-1;position:fixed;inset:0;overflow:hidden}.campus-scene{--scene-half-height:900px;width:5600px;height:calc(2 * var(--scene-half-height));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.campus-photo{top:var(--photo-top);height:max(var(--photo-height), calc(50vh + var(--scene-half-height) - var(--photo-top)));filter:grayscale()contrast(.86);opacity:var(--photo-opacity);mix-blend-mode:var(--photo-blend);-webkit-mask-composite:source-in;background-position:top;background-repeat:no-repeat;background-size:cover;display:none;position:absolute;mask-image:linear-gradient(90deg,#0000,#000 96px calc(100% - 96px),#0000),linear-gradient(#0000,#000 96px);mask-composite:intersect}@media (width>=1100px){.campus-photo{display:block}.campus-clock{--photo-top:277px;--photo-height:1138px;background-image:var(--clock-photo);width:744px;left:1630px}.campus-library{--photo-top:200px;--photo-height:1067px;background-image:var(--library-photo);width:1600px;left:3050px}}.photo-credit{color:var(--muted);padding-bottom:24px;font-size:12px;line-height:1.8}.photo-credit a{color:inherit}.page{--page-inset:48px;width:100%;padding:0 var(--page-inset);background:var(--paper);box-shadow:0 14px 48px var(--page-shadow);z-index:1;border-radius:18px;margin:0;position:relative}.header-actions{align-items:center;gap:30px;display:flex}.profile-icon{vertical-align:-.15em;flex-shrink:0;display:inline-block}.intro-links a,.intro-copy-email,.contact-links a{align-items:center;gap:8px;display:inline-flex}.intro-links{row-gap:12px}.intro-links a,.intro-copy-email,.contact-links a{text-decoration:none}.pronouns{color:var(--muted);vertical-align:2px;white-space:nowrap;margin-left:12px;font-size:12px;display:inline-block}.person-link{text-decoration-color:var(--link-rule)}.theme-toggle{width:76px;height:44px;color:var(--nav-ink);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:22px;flex:0 0 76px;place-items:center;padding:4px 6px;display:grid}.theme-toggle[hidden]{display:none}.theme-track{border:1px solid var(--line);background:var(--nav-bg);border-radius:20px;justify-content:space-around;align-items:center;width:64px;height:34px;display:flex;position:relative}.theme-track>svg{z-index:1;position:relative}.theme-thumb{background:var(--paper);width:26px;height:26px;box-shadow:0 1px 4px var(--page-shadow);border-radius:50%;position:absolute;top:3px;left:3px}.theme-toggle[aria-pressed=true] .theme-thumb{transform:translate(30px)}.theme-toggle:hover .theme-track{border-color:var(--blue)}.theme-toggle:active .theme-track{scale:.96}.profile-header{border-bottom:1px solid var(--line);z-index:3;background:var(--paper);justify-content:space-between;align-items:center;gap:30px;padding:19px 0;display:flex;position:sticky;top:0}.wordmark{min-height:60px;color:inherit;letter-spacing:0;white-space:nowrap;align-items:center;font-family:Allura Wordmark,Georgia,serif;font-size:44px;font-style:normal;font-weight:400;line-height:1.25;text-decoration:none;display:inline-flex;position:relative}.wordmark-ink{display:block}.wordmark-flourish{pointer-events:none;stroke:currentColor;stroke-width:.8px;stroke-linecap:round;width:100%;height:13px;opacity:calc(var(--reveal,0) * .65);stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--reveal,0));position:absolute;bottom:1px;left:0}.wordmark:focus-visible .wordmark-flourish{opacity:.65;stroke-dashoffset:0}nav{gap:13px;display:flex}nav a{min-width:44px;min-height:44px;color:var(--nav-ink);justify-content:center;align-items:center;padding:11px 8px;font-size:16px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}nav a[aria-current=page]{color:var(--blue)}nav a:before{content:"";background:var(--nav-bg);opacity:calc(var(--reveal,0) * .6);border-radius:6px;position:absolute;inset:4px 0;transform:scale(.94)}nav a:after{content:"";background:var(--blue);transform-origin:0;height:1px;position:absolute;bottom:5px;left:8px;right:8px;transform:scaleX(0)}nav a[aria-current=page]:after,nav a:focus-visible:after{transform:scaleX(1)}nav a:focus-visible:before{opacity:1;transform:scale(1)}.nav-label{z-index:1;line-height:1.5;display:block;position:relative;overflow:hidden}.surface-glint{border-radius:inherit;pointer-events:none;opacity:var(--reveal,0);position:absolute;inset:0;overflow:hidden}.surface-glint:before{content:"";background:radial-gradient(ellipse, var(--glint-core), var(--glint-edge) 40%, transparent 70%);width:150px;height:100px;transform:translate3d(calc(var(--sheen-x,0px) - 75px), calc(var(--sheen-y,0px) - 50px), 0);position:absolute;top:0;left:0}nav a>.surface-glint{border-radius:8px}.nav-label>span{display:block}.nav-label-copy{position:absolute;inset:0;transform:translateY(110%)}.intro-links a,.intro-copy-email,.contact-links a,.back-link,.paper-links a,.profile-footer a{text-decoration-color:var(--link-rule);display:inline-block;position:relative}.intro-links a,.intro-copy-email,.contact-links a{display:inline-flex}.intro-links a:after,.intro-copy-email:after,.contact-links a:after,.back-link:after,.paper-links a:after,.profile-footer a:after{content:"";transform-origin:0;background:currentColor;height:1px;position:absolute;bottom:1px;left:0;right:0;transform:scaleX(0)}.intro{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:72px;padding:62px 0 65px;display:grid}.intro-copy{max-width:685px}h1{letter-spacing:-1.8px;text-wrap:balance;font-size:48px;font-weight:650;line-height:1.12}.identity{margin-top:14px;font-size:20px;line-height:1.5}.preferred-name{letter-spacing:-.3px;color:var(--muted);vertical-align:.12em;font-size:.56em;font-weight:400;display:inline-block}.education{color:var(--muted);max-width:none;margin-top:7px;font-size:15px;line-height:1.75}.status-inline{white-space:nowrap}.bio{max-width:61ch;margin-top:25px;font-size:19px;line-height:1.75}.bio strong{font-weight:650}.bio.secondary{color:var(--secondary);margin-top:11px;font-size:17px}.intro-links{flex-wrap:wrap;gap:26px;margin-top:23px;font-size:15px;line-height:1.8;display:flex}.intro-copy-email{appearance:none;color:var(--blue);font:inherit;cursor:pointer;user-select:text;background:0 0;border:0;padding:0}.intro-copy-email[hidden],.intro-email-fallback[hidden]{display:none}.intro-copy-email .copy-symbol,.intro-copy-email .copy-confirm{align-items:center}.copy-feedback{color:var(--secondary);white-space:nowrap;opacity:0;pointer-events:none;font-size:12px;line-height:1;position:absolute;bottom:calc(100% + 8px);left:0}.intro-copy-email[data-copied] .copy-feedback,.intro-copy-email[data-copy-error] .copy-feedback{opacity:1}.portrait{aspect-ratio:4/5;background:var(--soft-line);width:100%;margin-top:4px;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%;display:block}.photo-space{background:var(--placeholder-bg);justify-content:center;align-items:center;height:100%;display:flex;position:relative}.initials{letter-spacing:-4px;color:var(--placeholder-ink);font-size:63px;font-weight:300}.photo-space figcaption{color:var(--muted);font-size:12px;position:absolute;bottom:13px;left:16px}.section{border-top:1px solid var(--strong-line);padding:39px 0 45px}.section-heading{justify-content:space-between;align-items:baseline;gap:30px;margin-bottom:7px;display:flex}.section-heading h2,.contact h2{letter-spacing:-1.15px;font-size:38px;font-weight:600;line-height:1.3}.section-heading>p{color:var(--muted);font-size:14px;line-height:1.6}.research-entry{border-bottom:1px solid var(--line);padding:29px 0 30px}.research-entry h3{letter-spacing:-.55px;text-wrap:balance;font-size:25px;font-weight:600;line-height:1.35}.research-meta{color:var(--muted);justify-content:space-between;gap:26px;margin-top:11px;font-size:14px;line-height:1.65;display:flex}.research-meta strong{color:var(--role-ink);font-weight:600;display:block}.research-meta span{display:block}.research-meta .period{flex-shrink:0;padding-top:2px;font-size:13px}.research-copy{max-width:72ch}.description{margin-top:18px;font-size:17px;line-height:1.8}.contribution-note{color:var(--secondary);margin-top:9px;font-size:16px;line-height:1.8}.methods{color:var(--muted);flex-wrap:wrap;gap:5px 20px;margin-top:13px;padding:0;font-size:13px;line-height:1.7;list-style:none;display:flex}.research-details{width:100%;margin-top:16px;font-size:15px;line-height:1.8}.research-details summary{--chevron-rotation:0deg;cursor:pointer;isolation:isolate;color:var(--emphasis);background:var(--glass-fill);border:1px solid var(--glass-border);min-height:64px;box-shadow:0 3px 16px var(--glass-shadow), inset 0 1px 0 var(--glint-core);backdrop-filter:blur(10px)saturate(1.08);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;list-style:none;display:flex;position:relative}.research-details summary::-webkit-details-marker{display:none}.research-details summary:hover{box-shadow:0 4px 18px var(--glass-hover-shadow), inset 0 0 0 1px var(--glass-hover-inset)}.disclosure-label{z-index:1;position:relative}.disclosure-indicator{background:var(--indicator-bg);height:32px;box-shadow:inset 0 0 0 1px var(--indicator-line);border-radius:50%;flex:0 0 32px;place-items:center;display:grid;position:relative}.research-details summary svg{transform:rotate(var(--chevron-rotation));flex-shrink:0}.research-details[open] summary{--chevron-rotation:180deg}.expanded{padding:24px 0 3px}.expanded .method-block,.expanded .mentor{max-width:78ch}.method-block+.method-block{margin-top:21px}.method-heading{color:var(--emphasis);margin-bottom:7px;font-size:15px;font-weight:600;line-height:1.5}.expanded p+p{margin-top:11px}.expanded .mentor{color:var(--muted);border-top:1px solid var(--line);margin-top:21px;padding-top:12px;font-size:13px}.earlier{padding-top:29px}.earlier>h3{margin-bottom:20px;font-size:23px;font-weight:600}.earlier-list{display:block}.archived-entry{padding:22px 0}.archived-entry:first-child{padding-top:0}.archived-entry>h4{font-size:20px;font-weight:600;line-height:1.55}.archived-entry .description{color:var(--secondary);margin-top:12px;font-size:15px;line-height:1.8}.archived-entry .research-meta{margin-top:8px;font-size:13px}.archived-entry .research-meta .period{padding-top:0}.archived-entry .research-details{font-size:14px}.course-entry+.course-entry{margin-top:24px}.date{line-height:1.75;color:var(--muted)!important;font-size:13px!important}.paper{border-bottom:1px solid var(--line);padding:26px 0}.paper h3{letter-spacing:-.3px;font-size:24px;font-weight:600;line-height:1.4}.paper-subtitle{letter-spacing:0;max-width:75ch;margin-top:5px;font-size:16px;font-weight:400;line-height:1.7;display:block}.paper-meta{flex-wrap:wrap;gap:8px 22px;margin-top:12px;font-size:13px;line-height:1.7;display:flex}.paper-meta strong{color:var(--role-ink);font-weight:600}.paper-meta span{color:var(--blue)}.paper-contribution{max-width:78ch;color:var(--body-copy);margin-top:9px;font-size:15px;line-height:1.8}.availability{color:var(--muted);margin-top:20px;font-size:13px;line-height:1.75}.paper-links{gap:18px;margin-top:12px;display:flex}.related-papers{flex-wrap:wrap;font-size:13px;line-height:1.8}.about-rows{margin-top:10px}.about-row{border-bottom:1px solid var(--line);grid-template-columns:180px minmax(0,1fr);align-items:start;gap:38px;padding:28px 0;display:grid}.about-row:last-child{border-bottom:0;padding-bottom:0}.about-row>h3{font-size:16px;font-weight:600;line-height:1.65}.about-row h4{font-size:15px;font-weight:600;line-height:1.65}.about-row p{color:var(--body-copy);margin-top:9px;font-size:15px;line-height:1.85}.about-row-content{min-width:0}.about-row-content>p{max-width:80ch}.entry-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;display:flex}.entry-heading .date{margin-top:0}.about-row .entry-organization{margin-top:3px;font-size:14px}.education-entry+.education-entry{margin-top:25px}.degree-line{display:block}.course-list{padding:0;list-style:none}.course-list li{border-bottom:1px solid var(--soft-line);padding:7px 0;font-size:14px;line-height:1.75}.course-list li:first-child{padding-top:0}.course-list li:last-child{border-bottom:0;padding-bottom:0}.experience-list{margin:0;padding:0;list-style:none}.experience-list>li{border-left:1px solid var(--timeline-line);margin-left:3px;padding:0 0 10px 22px;position:relative}.experience-list>li:last-child{border-color:#0000;padding-bottom:0}.experience-list>li:before{content:"";border:1px solid var(--timeline-dot);background:var(--paper);border-radius:50%;width:7px;height:7px;position:absolute;top:18px;left:-4px}.timeline-link{min-height:44px;color:inherit;transform-origin:0;border-radius:9px;grid-template-columns:165px minmax(0,1fr) 16px;align-items:start;gap:22px;padding:9px 12px;text-decoration:none;display:grid;position:relative}.timeline-title{transform-origin:0;font-size:15px;font-weight:600;line-height:1.65}.about-row .timeline-date{color:var(--muted);font-variant-numeric:tabular-nums;transform-origin:0;font-size:13px;line-height:1.8}.timeline-jump{opacity:0;color:var(--blue);font-size:15px;line-height:1.65}.timeline-link:focus-visible{background:var(--nav-bg)}.timeline-link:focus-visible .timeline-jump,.timeline-link:hover .timeline-jump{opacity:1}.experience-list>li:focus-within:before{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 4px var(--link-rule)}.timeline-link:active{background:var(--nav-bg)}@media (hover:hover) and (pointer:fine){.timeline-link:hover{background:var(--nav-bg);color:var(--blue);box-shadow:0 5px 18px var(--page-shadow)}.experience-list>li:hover:before{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 4px var(--link-rule)}}@media (prefers-reduced-motion:no-preference){.timeline-link,.timeline-title,.timeline-date,.timeline-jump{transition:transform .18s var(--motion-ease), opacity .18s ease}.timeline-link:focus-visible{transform:translate(3px)translateY(-2px)scale(1.008)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.timeline-link:hover{transform:translate(3px)translateY(-2px)scale(1.008)}.timeline-link:hover .timeline-date,.timeline-link:focus-visible .timeline-date{transform:scale(1.035)}.timeline-link:hover .timeline-title,.timeline-link:focus-visible .timeline-title{transform:scale(1.025)}.experience-list>li:has(+li:hover) .timeline-link:not(:focus-visible),.experience-list>li:hover+li .timeline-link:not(:focus-visible){transform:translate(1px)scale(1.003)}}.about-row .timeline-role,.about-row .timeline-organization{margin-top:3px;font-size:13px;line-height:1.7}.about-row .timeline-organization{color:var(--muted)}.contact{border-top:1px solid var(--strong-line);justify-content:space-between;gap:50px;padding:39px 0 44px;display:flex}.contact p{color:var(--muted);margin-top:12px;font-size:15px;line-height:1.8}.contact-links{flex-direction:column;align-items:flex-start;gap:12px;padding-top:5px;padding-right:36px;display:flex}.contact-links a{font-size:16px;line-height:1.6}.contact-links a span{color:var(--muted);font-size:14px}.contact-links p{margin-top:0;font-size:14px}.contact-email{align-items:center;display:inline-flex;position:relative}.copy-email{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:6px;display:inline-flex;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.copy-email[hidden]{display:none}.copy-email:hover,.copy-email:focus-visible,.copy-email[data-copied]{color:var(--blue)}.copy-email:active{opacity:.65}.copy-confirm,[data-copy-email][data-copied] .copy-symbol{display:none}[data-copy-email][data-copied] .copy-confirm{display:inline-flex}.profile-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding:23px 0 29px;font-size:13px;line-height:1.8;display:flex}.profile-footer div{flex-wrap:wrap;gap:9px 23px;display:flex}.profile-footer a{color:inherit}.cv-page{padding:36px 0 50px}.back-link{font-size:14px}.cv-heading{justify-content:space-between;align-items:end;gap:24px;margin:28px 0 26px;display:flex}.cv-heading h1{letter-spacing:-1px;font-size:36px}.cv-heading p{color:var(--muted);margin-top:10px;font-size:15px;line-height:1.8}.cv-actions{flex-wrap:wrap;gap:14px 25px;font-size:15px;line-height:1.8;display:flex}.cv-actions a{padding:8px 0}.cv-actions .download{min-height:44px;color:var(--download-ink);background:var(--download-bg);align-items:center;gap:12px;padding:9px 17px;text-decoration:none;display:inline-flex}.cv-actions .download:hover{background:var(--download-hover)}.cv-document{border:1px solid var(--line);background:var(--paper);width:100%;display:block}.cv-document img{width:100%;height:auto;display:block}astro-dev-toolbar{display:none}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-old(root),::view-transition-new(root){animation:none}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s;animation-timing-function:var(--motion-ease)}html{scroll-behavior:smooth}nav a:before,nav a:after,.nav-label>span,.intro-links a:after,.intro-copy-email:after,.contact-links a:after,.back-link:after,.paper-links a:after,.profile-footer a:after{transition:transform .22s var(--motion-ease), opacity .18s ease-out}.research-details summary .disclosure-label,.wordmark-ink,.surface-glint,.disclosure-indicator,.nav-label,.cv-actions .download,.cv-actions .download svg{transition:transform .18s var(--motion-ease), scale .14s ease-out}.surface-glint{transition:opacity .18s ease-out}.research-details summary svg{transition:transform .2s var(--motion-ease)}.theme-thumb{transition:transform .18s var(--motion-ease)}.theme-track{transition:scale .14s var(--motion-ease)}.wordmark-flourish{transition:opacity .2s ease, stroke-dashoffset .36s var(--motion-ease)}.wordmark-ink{transform:translate3d(var(--ink-x,0px), var(--ink-y,0px), 0)}.wordmark:active .wordmark-ink,nav a:active .nav-label{scale:.97}.research-details summary:active .disclosure-indicator{scale:.9}.cv-actions .download:active{transform:scale(.98)}@supports selector(details::details-content){.research-details::details-content{opacity:0;transition:opacity .2s var(--motion-ease), content-visibility .2s allow-discrete;overflow:clip}.research-details[open]::details-content{opacity:1}}}@media (hover:hover) and (pointer:fine){.wordmark:hover .wordmark-flourish{opacity:.65;stroke-dashoffset:0}nav a:hover{color:var(--blue)}nav a:hover:before{opacity:1;transform:scale(1)}nav a:hover:after,.intro-links a:hover:after,.intro-copy-email:hover:after,.contact-links a:hover:after,.back-link:hover:after,.paper-links a:hover:after,.profile-footer a:hover:after{transform:scaleX(1)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){nav a:hover .nav-label>span:first-child{transform:translateY(-110%)}nav a:hover .nav-label-copy{transform:translateY(0)}.research-details summary:hover .disclosure-label{transform:translate(3px)}.research-details summary:hover svg{transform:rotate(var(--chevron-rotation)) translateY(2px)}.cv-actions .download:hover{transform:translateY(-2px)}.cv-actions .download:hover svg{transform:translateY(2px)}}@media (width>=1600px){.page-stack{max-width:1296px}.intro{grid-template-columns:minmax(0,1fr) 240px;gap:90px}}@media (width<=1000px){.page-stack{width:calc(100% - 40px)}.page{--page-inset:28px}.intro{grid-template-columns:minmax(0,1fr) 180px;gap:40px;padding:45px 0 52px}.bio{font-size:18px}h1{font-size:42px}.about-row{grid-template-columns:155px minmax(0,1fr);gap:28px}.timeline-link{grid-template-columns:minmax(0,1fr) 16px;gap:3px 12px}.timeline-date,.timeline-title{grid-column:1}.timeline-jump{grid-area:1/2/span 2}}@media (width<=860px){html{scroll-padding-top:152px}.profile-header{flex-direction:column;align-items:flex-start;gap:7px;padding:14px 0 10px}.header-actions{display:contents}.header-actions nav{justify-content:space-between;width:100%}.theme-toggle{position:absolute;top:14px;right:0}}@media (width<=600px){html{scroll-padding-top:144px}.demo-note{padding:7px 20px;font-size:11px}.sheet-middle{inset:12px -3px -8px}.sheet-back{inset:24px -6px -15px}.page-stack{width:calc(100% - 16px);margin-bottom:32px}.page{--page-inset:16px}.profile-header{flex-direction:column;align-items:flex-start;gap:7px;padding:14px 0 10px}.wordmark{min-height:52px;font-size:36px}nav{justify-content:space-between;gap:6px;width:100%}nav a{padding:9px 0;font-size:15px}.intro{grid-template-columns:minmax(0,1fr) 92px;align-items:start;gap:16px 17px;padding:32px 0 36px}.intro-copy{display:contents}h1{letter-spacing:-1.1px;grid-column:1;font-size:36px}.identity{grid-column:1;margin-top:-5px;font-size:17px;line-height:1.55}.pronouns{vertical-align:baseline;margin:3px 0 0;display:block}.education{grid-column:1/-1;margin-top:0;font-size:14px}.bio,.bio.secondary,.intro-links{grid-column:1/-1}.bio{margin-top:0;font-size:17px;line-height:1.8}.bio.secondary{margin-top:-3px;font-size:15px}.intro-links{grid-template-columns:max-content max-content;gap:4px 16px;margin-top:0;font-size:14px;display:grid}.portrait{grid-area:1/2/span 2;margin-top:0}.initials{letter-spacing:-2px;font-size:32px}.photo-space figcaption{font-size:9px;bottom:8px;left:8px}.section{padding:28px 0 34px}.section-heading h2,.contact h2{font-size:32px}.section-heading>p{font-size:12px}.research-entry{padding:25px 0}.research-entry h3{font-size:23px}.research-meta{margin-top:12px;font-size:13px;display:block}.research-meta .period{padding-top:4px;font-size:12px}.description{margin-top:15px;font-size:16px;line-height:1.8}.contribution-note{font-size:15px}.methods{column-gap:13px;font-size:12px}.research-details{font-size:14px}.earlier{padding-top:25px}.paper{padding:23px 0}.paper h3{font-size:23px}.paper-subtitle{font-size:15px}.paper-meta{font-size:12px;display:block}.paper-meta span{margin-top:4px;display:block}.paper-contribution{font-size:14px}.about-row{grid-template-columns:1fr;gap:14px;padding:24px 0}.about-row>h3{font-size:17px}.entry-heading{display:block}.entry-heading .date{margin-top:3px}.contact{padding:30px 0;display:block}.contact-links{margin-top:18px}.desktop-break{display:none}.profile-footer{font-size:12px;display:block}.profile-footer div{gap:10px 20px;margin-top:11px}.cv-page{padding-top:25px}.cv-heading{margin-top:24px;display:block}.cv-heading h1{font-size:32px}.cv-actions{align-items:center;margin-top:17px}}:root[data-theme=dark]{color-scheme:dark;--ink:#e8edf2;--canvas:#10161e;--paper:#19212b;--nav-ink:#c4cfdb;--nav-bg:#273648;--glint-core:#d8ebff1f;--glint-edge:#8ab7ee12;--link-rule:#7b9dca80;--secondary:#bec8d3;--soft-line:#2a3644;--placeholder-bg:#243241;--placeholder-ink:#a4b4c3;--strong-line:#465567;--role-ink:#cdd8e5;--emphasis:#d8e2ee;--glass-end:#243347b3;--glass-border:#a5c4e140;--glass-fill:#ffffff03;--glass-shadow:#00000029;--glass-inset:#475e7680;--glass-hover-shadow:#0003;--glass-hover-inset:#637f9c99;--indicator-bg:#1a2635bb;--indicator-line:#6686a866;--body-copy:#c0cbd6;--timeline-line:#425163;--timeline-dot:#8b9fb4;--timeline-link:#7a90a8;--download-hover:#c0daff;--download-bg:#a6caff;--download-ink:#102139;--page-shadow:#00000040;--layer-middle:#272727;--layer-back:#313131;--layer-border:#5e626780;--highlight:#253e55;--photo-blend:luminosity;--photo-opacity:.14;--blue:#a6caff;--muted:#a6b3c1;--line:#35414f}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--ink:#e8edf2;--canvas:#10161e;--paper:#19212b;--nav-ink:#c4cfdb;--nav-bg:#273648;--glint-core:#d8ebff1f;--glint-edge:#8ab7ee12;--link-rule:#7b9dca80;--secondary:#bec8d3;--soft-line:#2a3644;--placeholder-bg:#243241;--placeholder-ink:#a4b4c3;--strong-line:#465567;--role-ink:#cdd8e5;--emphasis:#d8e2ee;--glass-end:#243347b3;--glass-border:#a5c4e140;--glass-fill:#ffffff03;--glass-shadow:#00000029;--glass-inset:#475e7680;--glass-hover-shadow:#0003;--glass-hover-inset:#637f9c99;--indicator-bg:#1a2635bb;--indicator-line:#6686a866;--body-copy:#c0cbd6;--timeline-line:#425163;--timeline-dot:#8b9fb4;--timeline-link:#7a90a8;--download-hover:#c0daff;--download-bg:#a6caff;--download-ink:#102139;--page-shadow:#00000040;--layer-middle:#272727;--layer-back:#313131;--layer-border:#5e626780;--highlight:#253e55;--photo-blend:luminosity;--photo-opacity:.14;--blue:#a6caff;--muted:#a6b3c1;--line:#35414f}}@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}
