:root{--paper:#fff;--white:#fff;--ink:#202020;--muted:#62605b;--accent:#202020;--highlight:#ffd34e;--award:#c94724;--soft:#fff7db;--rule:#e2e0d9;--boundary:#827969;--hero-surface:#fff7db;--qualification:#805600;--serif:"Source Serif 4", Georgia, serif;--sans:"Plus Jakarta Sans", Arial, sans-serif;--handwriting:"Caveat", "Segoe Print", cursive;--brand-size:36px;--brand-turn-duration:.52s;--accent-hover:#202020;--action-hover:#e2a400;--secondary-action-hover:#343434;--link-marker:#ffd34e8c;--image-outline:#202020a6;--image-shadow:0 10px 28px #2020203b, 0 3px 8px #2020201f;--content:1120px;--reading:720px;--gap:24px;--section:64px;--gutter:40px;--radius:4px;--motion:.18s;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:80px;--s10:96px}@media (width<=1023px){:root{--gutter:28px}}@media (width<=767px){:root{--brand-size:32px;--gutter:20px;--section:56px}}@media (width<=359px){:root{--gutter:16px}}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/plus-jakarta-sans-latin-400-normal.Dhut76fR.woff2)format("woff2"),url(/_astro/plus-jakarta-sans-latin-400-normal.BDKaGhyp.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/plus-jakarta-sans-latin-600-normal.DLTa1BUW.woff2)format("woff2"),url(/_astro/plus-jakarta-sans-latin-600-normal.BR_Ojra4.woff)format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/plus-jakarta-sans-latin-700-normal.CfpNZvy6.woff2)format("woff2"),url(/_astro/plus-jakarta-sans-latin-700-normal.DqEcQeE5.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/caveat-latin-700-normal.D8_1Nw6V.woff2)format("woff2"),url(/_astro/caveat-latin-700-normal.cPyBTTZN.woff)format("woff")}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:18px;line-height:1.61}a{color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,summary{font:inherit}button{cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3{font-family:var(--sans);text-wrap:balance;font-weight:600;line-height:1.25}h1{margin:0 0 var(--s4);font-size:40px}h2{margin:0 0 var(--s4);font-size:30px}h3{margin:0 0 var(--s3);font-size:23px}p{margin:0 0 var(--s4)}ul,ol{padding-left:var(--s5)}img,video{max-width:100%;height:auto;display:block}figure{margin:0}figcaption,.caption,.meta{color:var(--muted);font-size:15px;line-height:1.47}.container{max-width:calc(1120px + 2 * var(--gutter));padding:0 var(--gutter);margin-inline:auto}.reading{max-width:720px}.skip{left:var(--s4);background:var(--paper);padding:var(--s3);z-index:10;position:absolute;top:-100px}.skip:focus{top:var(--s3)}.header-inner{align-items:center;gap:var(--s5);border-bottom:1px solid var(--rule);min-height:72px;display:flex}.wordmark{min-width:0;max-width:280px;min-height:44px;color:var(--ink);white-space:normal;align-items:center;margin-right:auto;font-weight:700;text-decoration:none;display:inline-flex}.wordmark-text{font-family:var(--handwriting);font-size:var(--brand-size);overflow-wrap:anywhere;font-weight:700;line-height:1}.brand-signature{font-size:var(--brand-size);align-items:flex-start;display:inline-flex}.brand-turn{flex-shrink:0;width:.8em;height:.392em;margin-top:.12em;margin-left:-.08em;overflow:visible}.turn-backdrop{transition:opacity var(--motion)}.turn-digit{transform-box:fill-box;transform-origin:50%;stroke-width:3.1px;transition:transform var(--brand-turn-duration) cubic-bezier(.22, 1, .36, 1), stroke-width var(--motion)}.wordmark:focus-visible .turn-digit,.wordmark:active .turn-digit{stroke-width:5px;transform:rotate(180deg)}.wordmark:focus-visible .turn-backdrop,.wordmark:active .turn-backdrop{opacity:1}@media (hover:hover){.wordmark:hover .turn-digit{stroke-width:5px;transform:rotate(180deg)}.wordmark:hover .turn-backdrop{opacity:1}}.primary-nav{gap:var(--s5);align-items:center;display:flex}.mobile-nav,.cv-link.mobile-cv-link{display:none}.primary-nav a,.cv-link{min-height:44px;color:var(--ink);align-items:center;font-size:16px;text-decoration:none;display:inline-flex}.primary-nav a[aria-current=page]{color:var(--ink);text-decoration:underline}.menu-button{border:1px solid var(--boundary);border-radius:var(--radius);padding:var(--s2) var(--s3);min-height:44px;color:var(--ink);background:0 0;display:none}main{min-height:60vh}.hero{padding:var(--s6) var(--s5);margin-block:var(--s5) var(--section);background:var(--hero-surface);border-top:var(--s1) solid var(--highlight);grid-template-columns:7fr 5fr;align-items:center;gap:40px;display:grid}.hero h1{color:var(--accent);font-size:48px;line-height:1.1}.identity{color:var(--accent);margin-bottom:var(--s5);font-size:16px;line-height:1.5}.hero-statement{font-family:var(--sans);max-width:600px;font-size:25px;line-height:1.36}.hero-support{color:var(--muted);max-width:60ch}.hero-photo{justify-self:end;max-width:400px}.hero:not(:has(.hero-photo)){grid-template-columns:minmax(0,760px)}.actions{gap:var(--s3) var(--s5);margin-top:var(--s5);flex-wrap:wrap;display:flex}.actions a{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.primary-action{background:var(--highlight);color:var(--ink);padding:var(--s2) var(--s4);border-radius:var(--radius);text-decoration:none}.profile-intro .primary-action{font-weight:700}.profile-intro .primary-action:is(:hover,:focus-visible){color:var(--white);background:var(--award)}.primary-action:hover,.primary-action:focus-visible{background:var(--action-hover);color:var(--ink)}.award-link{color:var(--white);border-color:var(--award);background:var(--award);padding:var(--s2) var(--s4);border-radius:var(--radius);font-weight:700;text-decoration:none;box-shadow:0 0 0 2px #c9472440}.award-link:hover,.award-link:focus-visible{background:var(--highlight);border-color:var(--highlight);color:var(--ink);filter:none;font-weight:700}.secondary-action{background:var(--ink);color:var(--white);padding:var(--s2) var(--s4);border-radius:var(--radius);text-decoration:none}.secondary-action:hover,.secondary-action:focus-visible{background:var(--secondary-action-hover);color:var(--highlight);box-shadow:inset 0 0 0 1px var(--highlight)}.menu-button:hover,.menu-button:focus-visible,.citation-copy:hover,.citation-copy:focus-visible{background:var(--soft);color:var(--ink);border-color:var(--ink)}summary:hover,summary:focus-visible{color:var(--accent-hover)}.page-header h1{color:var(--ink)}.section{margin-bottom:var(--section)}.section-intro{color:var(--muted);max-width:720px;margin-bottom:var(--s6)}.research-row{gap:var(--s6);padding:var(--s6) 0;border-top:1px solid var(--rule);grid-template-columns:5fr 7fr;align-items:start;display:grid}.research-row .row-heading{grid-area:1/2}.research-row .row-artifact{grid-area:1/1/span 2}.research-row .row-body{gap:var(--s5);flex-direction:column;grid-column:2;display:flex}.research-row .row-body .role{margin-top:var(--s5)}.research-row.no-artifact{max-width:880px;display:block}.eyebrow{color:var(--accent);margin-bottom:var(--s3);font-size:15px;font-weight:600}.status{color:var(--accent);display:inline}.status[data-status=Submitted],.status[data-status=In\ Preparation]{color:var(--qualification)}.row-heading h3 a{color:var(--ink);text-decoration:none}.row-heading h3 a:hover{text-decoration:underline}.role{font-size:16px}.role strong{margin-right:var(--s3);display:inline-block}.boundary{border-left:2px solid var(--rule);padding-left:var(--s4);color:var(--muted);font-size:16px}.concept{padding:var(--s5) 0}.concept-label{background:var(--highlight);padding:2px 5px;font-size:15px;display:inline}.concept ol{margin:var(--s5) 0 0;padding:0;list-style:none}.concept li{font-family:var(--sans);margin-bottom:var(--s4);font-size:23px;line-height:1.3}.concept li+li:before{content:"↓";font-family:var(--sans);color:var(--accent);margin-bottom:var(--s3);display:block}.publication-row{padding:var(--s5) 0;border-top:1px solid var(--rule);max-width:900px}.publication-row h3{font-family:var(--sans);font-size:21px;line-height:1.4}.publication-row h3 a{color:var(--ink)}.publication-row p{margin-bottom:var(--s2)}.resource-links{gap:var(--s4);margin-top:var(--s3);flex-wrap:wrap;display:flex}.resource-links a{align-items:center;min-height:44px;font-size:16px;display:inline-flex}.two-column{gap:var(--s6);grid-template-columns:5fr 7fr;align-items:start;display:grid}.media-slot{border:1px dashed var(--boundary);border-radius:var(--radius);background:var(--soft);width:100%;min-width:0;color:var(--muted);justify-content:center;align-items:center;gap:var(--s2);padding:var(--s5);text-align:center;flex-direction:column;display:flex}.media-slot--16x9{aspect-ratio:16/9}.media-slot--4x3{aspect-ratio:4/3}.media-slot--3x2{aspect-ratio:3/2}.media-slot-kind{letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:700}.media-slot strong{color:var(--ink);font-size:18px}.media-slot-meta{max-width:30ch;font-size:14px;line-height:1.45}.reading>.media-slot{margin-bottom:var(--s7)}.about-intro{max-width:720px}.about-intro--with-gallery{column-gap:var(--s8);grid-template-columns:minmax(0,620px) minmax(280px,1fr);grid-template-areas:"biography gallery";align-items:start;max-width:1080px;display:grid}.about-biography{grid-area:biography}.about-gallery{grid-area:gallery}.academic-life-layout--with-gallery{column-gap:var(--s8);grid-template-columns:minmax(0,720px) minmax(280px,1fr);grid-template-areas:"header gallery""content gallery";align-items:start;display:grid}.academic-life-header{grid-area:header}.academic-life-content{grid-area:content;min-width:0}.academic-life-gallery{padding-top:var(--s7);grid-area:gallery}.page-photo-gallery{width:100%;max-width:420px;margin-bottom:0}.photo-gallery{width:100%}.photo-gallery__heading{margin:0 0 var(--s4);color:var(--muted)}.photo-gallery__grid{gap:var(--s5);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.photo-gallery__item{min-width:0}.photo-gallery__item:only-child{max-width:none}.photo-gallery__item .figure-ground{background:var(--white)}.photo-gallery__item img{object-fit:contain;width:100%;height:auto}.photo-gallery__item figcaption{margin-top:var(--s3)}.photo-gallery__guide{aspect-ratio:4/3;border:1px dashed var(--boundary);border-radius:var(--radius);background:var(--soft);min-width:0;color:var(--muted);justify-content:center;align-items:center;gap:var(--s2);padding:var(--s5);text-align:center;flex-direction:column;display:flex}.photo-gallery__guide strong{color:var(--ink);font-size:18px}@media (width<=1023px){.about-intro--with-gallery{row-gap:var(--s5);grid-template-columns:1fr;grid-template-areas:"biography""gallery"}.academic-life-layout--with-gallery{grid-template-columns:1fr;grid-template-areas:"header""gallery""content"}.page-photo-gallery{margin-bottom:var(--s7);max-width:720px}.academic-life-gallery{padding-top:0}}@media (width<=767px){.photo-gallery__grid{gap:var(--s5)}}.activity{padding:var(--s5) 0;border-top:1px solid var(--rule)}.activity h3{font-family:var(--sans);font-size:21px}.activity time{color:var(--accent);font-size:15px}.page-header{padding:var(--s7) 0 var(--s6);max-width:900px}.page-header .lead{max-width:760px;font-size:22px;line-height:1.5}.breadcrumbs{margin-bottom:var(--s5);font-size:15px}.article-grid{gap:var(--s7);grid-template-columns:220px minmax(0,720px);display:grid}.section-nav{align-self:start;font-size:16px}.section-nav a{min-height:44px;padding-block:var(--s2);display:block}.article-section{margin-bottom:var(--s7)}.story-media-stack{margin-top:var(--s5);gap:var(--s5);display:grid}.prose{overflow-wrap:anywhere;max-width:66ch}.prose p:last-child{margin-bottom:0}.finding{padding:var(--s5) 0;border-top:1px solid var(--rule)}.finding .qualification{margin-top:var(--s4);color:var(--muted)}.notice{border-left:4px solid var(--highlight);padding:var(--s4);background:var(--soft);margin-bottom:var(--s5)}details{border-top:1px solid var(--rule);padding:var(--s3) 0}summary{cursor:pointer;min-height:44px;padding:var(--s2) 0;color:var(--accent);font-weight:600}details[open] .disclosure-body{background:var(--soft);padding:var(--s4);margin-top:var(--s3)}dl{margin:0}dt{margin-top:var(--s3);font-weight:600}dd{margin:0 0 var(--s3)}.context-evaluation{font-family:var(--sans);margin-bottom:var(--s2);font-size:21px}.citation-copy{border:1px solid var(--boundary);color:var(--accent);min-height:44px;padding:var(--s2) var(--s3);border-radius:var(--radius);background:0 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.contact-footer{margin-top:var(--section);padding-block:var(--s6);border-top:1px solid var(--rule)}.contact-footer .invitation{font-family:var(--sans);max-width:650px;font-size:25px}.footer-links{gap:var(--s4) var(--s5);margin-top:var(--s6);flex-wrap:wrap;display:flex}.footer-links a{align-items:center;min-height:44px;font-size:16px;display:inline-flex}.review-date{color:var(--muted);margin-top:var(--s5);font-size:14px}.preview-banner{padding:var(--s3) var(--gutter);background:var(--soft);color:var(--ink);border-bottom:1px solid var(--boundary);font-size:15px}.figure-ground{background:var(--white)}.figure-ground img{object-fit:contain;width:100%}.publication-meta{font-size:17px}.empty-space{min-height:0}@media (width<=1023px){.article-grid{gap:var(--s5);grid-template-columns:1fr}.section-nav{gap:0 var(--s5);flex-wrap:wrap;display:flex}.hero{gap:var(--s5)}.primary-nav{gap:var(--s4)}}@media (width<=767px){body{font-size:17px;line-height:1.59}h1{font-size:30px;line-height:1.23}h2{font-size:26px;line-height:1.3}h3{font-size:21px;line-height:1.33}.header-inner{gap:var(--s3);flex-wrap:wrap;min-height:64px}.menu-button{display:block}.desktop-nav{display:none}.cv-link.mobile-cv-link{min-width:44px;padding-inline:var(--s2);justify-content:center;display:inline-flex}.mobile-nav{width:100%;padding-bottom:var(--s4);flex-direction:column;order:5;align-items:stretch;gap:0;display:flex}.js .mobile-nav[data-open=false]{display:none}.mobile-nav a{min-height:44px}.hero{padding-top:var(--s6);align-items:start;gap:var(--s5);flex-direction:column;display:flex}.hero h1{font-size:36px;line-height:1.11}.identity{font-size:15px}.hero-statement{font-size:22px;line-height:1.36}.hero-support{font-size:17px}.hero-photo{justify-self:start;max-width:300px}.research-row{gap:var(--s4);flex-direction:column;display:flex}.row-heading{order:0}.row-artifact{order:1;width:100%}.row-body{order:2}.concept{padding:var(--s3) 0}.concept li{font-size:21px}.two-column{grid-template-columns:1fr}.page-header{padding-top:var(--s6)}.page-header .lead{font-size:20px}.article-section{margin-bottom:var(--s6)}.section-intro{margin-bottom:var(--s5)}.publication-row h3{font-size:20px}.contact-footer .invitation{font-size:22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{body{color:#000;background:#fff;font-size:11pt}.site-header,.section-nav,.menu-button,.citation-copy,.skip,.preview-banner{display:none!important}main,.container{max-width:none;padding:0}.hero,.article-grid,.research-row,.two-column{display:block}.section,.article-section{margin-bottom:20pt}details::details-content{content-visibility:visible!important;display:block!important}details .disclosure-body{display:block!important}.resource-links a[href^=https]:after{content:" (" attr(href) ")";font-size:9pt}h1,h2,h3{break-after:avoid}figure{break-inside:avoid}.contact-footer{margin-top:20pt;padding-top:10pt}}.context-relation{color:var(--muted);margin-top:var(--s3);margin-bottom:var(--s5);font-size:16px}@media (width<=767px){.hero-support{display:none}}.research-row h3,.concept li,.context-evaluation{font-family:var(--sans)}.status,.publication-type,.award-badge{vertical-align:middle;max-width:100%;padding:2px var(--s2);border-radius:var(--radius);border:1px solid;font-size:15px;font-weight:700;line-height:1.4;display:inline-block}.status,.status[data-status=Submitted],.status[data-status=In\ Preparation]{color:var(--ink);border-color:var(--boundary);background:var(--highlight)}.header-inner,.primary-nav{flex-wrap:wrap}.hero-statement{max-width:36ch}.profile-overview{column-gap:var(--s8);row-gap:var(--s5);padding-block:var(--s7) var(--section);grid-template-columns:260px minmax(0,1fr);grid-template-areas:"photo intro""short details";align-items:start;display:grid}.profile-intro{grid-area:intro}.profile-photo{grid-area:photo;min-width:0}.profile-details{grid-area:details;min-width:0}.short-bio{grid-area:short;min-width:0}.profile-intro h1{margin-bottom:var(--s2);font-size:36px}.profile-intro .identity{margin-bottom:var(--s2)}.profile-affiliation{color:var(--muted);margin-bottom:var(--s5);font-size:16px}.profile-question{max-width:40ch;font-size:22px;font-weight:600;line-height:1.5}.profile-bio{max-width:65ch}.short-bio h2{padding-bottom:var(--s2);border-bottom:var(--s1) solid var(--highlight);margin-bottom:var(--s3);font-size:18px}.short-bio dl>div{margin-bottom:var(--s4)}.short-bio dt{color:var(--muted);margin:0;font-size:15px}.short-bio dd{margin:0 0 var(--s3);font-size:15px;line-height:1.5}.short-bio dd span{display:block}.bio-more{min-height:44px;margin-top:var(--s3);align-items:center;font-size:16px;display:inline-flex}.advisor-line{margin-top:var(--s1);color:var(--muted);font-size:.94em;display:block}.advisor-line a{color:var(--accent)}.profile-links{gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap;display:flex}.profile-links a{align-items:center;gap:var(--s2);min-height:44px;padding:var(--s2) var(--s3);border-radius:var(--radius);color:var(--accent);border:0;font-size:16px;text-decoration:underline;display:inline-flex}.profile-links svg{flex:none}a{transition:color var(--motion), background-color var(--motion), border-color var(--motion)}a:not(.primary-action):not(.secondary-action):not(.wordmark):is(:hover,:focus-visible),summary:is(:hover,:focus-visible){color:var(--accent-hover);text-decoration-line:underline;text-decoration-color:var(--link-marker);text-underline-offset:-.18em;text-decoration-skip-ink:none;font-weight:700;text-decoration-thickness:.35em}h2{font-size:26px}@media (width<=1023px){.profile-overview{gap:var(--s6);grid-template-columns:220px minmax(0,1fr)}}@media (width<=767px){.profile-overview{padding-top:calc(var(--s5) + var(--s1));gap:var(--s5);flex-direction:column;display:flex}.profile-intro h1{font-size:36px}.profile-photo{order:2;width:min(100%,300px)}.profile-intro{order:1}.profile-details{order:3;width:100%}.short-bio{order:4;width:100%}.profile-question{font-size:22px}h2{font-size:24px}}@media (prefers-reduced-motion:reduce){a{transition:none}}@media print{.profile-overview{display:block}.profile-photo,.short-bio{display:none}.profile-links a{border:0;padding:0}}figure img,figure video{box-shadow:var(--image-shadow)}figure img{outline:1px solid var(--image-outline);outline-offset:0}figure[data-media-kind=Photo] img{border-radius:var(--radius)}figcaption{margin-top:var(--s4)}.profile-intro h1{letter-spacing:-.035em;font-weight:700}.page-header:before{content:"";width:var(--s7);height:var(--s2);margin-bottom:var(--s4);background:var(--highlight);display:block}h1,h2,h3{letter-spacing:-.02em}.profile-bio,.prose{line-height:1.7}@media print{figure img,figure video{box-shadow:none}}.publication-type{background:var(--ink);color:var(--white);border-color:var(--ink)}.award-badge{color:var(--white);border-color:var(--award);background:var(--award);box-shadow:0 0 0 2px #c9472440}.talk-badges{margin-top:var(--s4)}.wordmark-sean{position:relative}.sean-accent{fill:none;width:calc(100% + .32em);height:1.22em;stroke:var(--highlight);stroke-width:1.6px;stroke-linecap:round;pointer-events:none;position:absolute;top:-.11em;left:-.16em}.sean-accent path{opacity:0;stroke-dasharray:1;stroke-dashoffset:1px;transition:opacity 90ms linear,stroke-dashoffset 1s cubic-bezier(.45,0,.55,1)}.wordmark:focus-visible .sean-accent path,.wordmark:active .sean-accent path{opacity:1;stroke-dashoffset:0}@media (hover:hover){.wordmark:hover .sean-accent path{opacity:1;stroke-dashoffset:0}}.title-token{white-space:nowrap}.cv-download-action{font-weight:700}.cv-download-action:hover,.cv-download-action:focus-visible{background:var(--action-hover);color:var(--ink)}
