@font-face{font-family:'Source Serif 4';src:url('fonts/SourceSerif4Variable-Roman.woff2') format('woff2');font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('fonts/SourceSerif4Variable-Italic.woff2') format('woff2');font-weight:200 900;font-style:italic;font-display:swap}
:root{--paper:#f7f4ee;--ink:#1c1f26;--accent:#7a2a1d;--line:#c8bdb2;--muted:#57534e;--art:#c9d6df}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Source Serif 4',serif;font-size:18px;line-height:1.6}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}button,summary{font:inherit;color:var(--accent);cursor:pointer}button{background:transparent;border:1px solid var(--accent);padding:.5rem 1rem}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p,figure,blockquote{margin:0}p{margin-bottom:1rem}h1,h2,h3{font-weight:500;line-height:1.14;text-wrap:balance}h1{font-size:clamp(3.25rem,7vw,6.4rem);letter-spacing:-.055em}h2{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.03em}h3{font-size:1.4rem;margin-bottom:1rem}small,.source-note{font-size:.84rem;color:var(--muted);line-height:1.45}small{display:block}img{display:block;max-width:100%;height:auto}picture{display:block}figure{min-width:0}figcaption{font-size:1rem;line-height:1.45;margin-top:.8rem}figcaption small{margin-top:.35rem}cite{font-style:italic}ul,ol{padding-left:1.3rem}li{padding-left:.2rem}main,.masthead,footer{width:min(1200px,calc(100% - 36px));margin-inline:auto}main>*{min-width:0}.masthead{border-bottom:1px solid var(--ink);padding:1.4rem 0;display:flex;flex-wrap:wrap;gap:.8rem 2rem;align-items:center;justify-content:space-between}.wordmark{font-size:1.5rem;text-decoration:none;color:var(--ink)}.wordmark span{font-size:.8rem;margin-left:.4rem}.masthead nav{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;font-size:1rem}.masthead nav a{text-decoration:none}.masthead nav a:hover,.masthead nav [aria-current]{text-decoration:underline}.skip{position:absolute;top:0;left:1rem;transform:translateY(-150%);background:var(--paper);padding:.6rem;z-index:5}.skip:focus{transform:none}.hero{display:grid;gap:2.5rem;padding:3rem 0}.eyebrow{font-variant-caps:all-small-caps;letter-spacing:.13em;color:var(--accent);font-size:1rem}.degree{display:block;font-size:.3em;letter-spacing:.03em;margin:1rem 0}.lead{font-size:1.45rem;line-height:1.4;margin:1.5rem 0}.credentials{list-style:none;padding:0;font-size:1rem}.credentials li{border-top:1px solid var(--line);padding:.65rem 0}.hero-links{display:flex;flex-wrap:wrap;align-items:center;gap:1.3rem;margin-top:1.6rem}.button{display:inline-block;padding:.65rem 1rem;border:1px solid var(--accent);text-decoration:none}.button:hover{background:var(--accent);color:var(--paper)}.mat{padding:clamp(.6rem,2vw,1.4rem);border:1px solid var(--line);background:#fffdf8}.hero-portrait{max-width:520px;align-self:center}.hero-portrait img{width:100%}.hero-portrait figcaption{border-left:2px solid var(--accent);padding-left:1rem}.section{border-top:1px solid var(--line);padding:3rem 0;scroll-margin-top:1rem}.section-heading{display:flex;gap:1.25rem;align-items:baseline;margin-bottom:2rem}.numeral{color:var(--accent);font-size:1.1rem;min-width:2rem;flex-shrink:0}.metrics{display:grid;gap:2rem}.metrics strong{font-size:3.7rem;font-weight:400;line-height:1.1;color:var(--accent)}.metrics p{font-size:1.15rem;margin:.7rem 0}.timeline{list-style:none;display:grid;gap:0;padding:0}.timeline li{border-left:1px solid var(--accent);padding:0 0 1.5rem 1.5rem;position:relative}.timeline li:before{content:'';position:absolute;left:-4px;top:.4rem;width:7px;height:7px;background:var(--accent);border-radius:50%}.timeline h3{font-size:1.15rem}.timeline p{font-size:1rem;margin:0}.science-grid,.two-col{display:grid;gap:2rem}.science-grid article{border-top:1px solid var(--accent);padding-top:1rem}.publications{padding:0;list-style:none;counter-reset:papers}.publications li{counter-increment:papers;border-top:1px solid var(--line);padding:1.4rem 0 1.4rem 2.3rem;position:relative}.publications li:before{content:counter(papers,decimal-leading-zero);position:absolute;left:0;color:var(--accent);font-size:.9rem}.publications h3{font-size:1.25rem}.publications p{font-size:1rem;margin-bottom:.4rem}.text-link{display:inline-block;margin-top:1rem}.honors{display:grid;gap:1rem 2.5rem}.honors li{font-size:1.05rem}.art-section{background:var(--art);padding:2rem 1rem;margin-inline:-1rem}.art-section .section-heading{gap:.8rem}.art-intro{max-width:780px;margin:0 auto 3rem}.art-intro blockquote{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.25;font-style:italic;color:var(--accent);margin:2rem 0}.art-intro blockquote cite{display:block;font-size:.9rem;line-height:1.5;color:var(--ink);margin-top:1rem}.gallery{display:grid;gap:2.5rem 1.5rem;margin-block:1.5rem 2rem}.gallery figure{display:flex;flex-direction:column}.enlarge{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:.6rem;background:var(--paper)}.enlarge picture{width:100%}.enlarge img{width:100%;height:300px;object-fit:contain}.gallery figcaption{overflow-wrap:anywhere}.gallery small{font-size:.74rem}.more-art summary{width:fit-content;padding:.6rem 1rem;border:1px solid var(--accent);margin-bottom:2rem}.more-art .hide-label{display:none}.more-art[open] .show-label{display:none}.more-art[open] .hide-label{display:inline}.intro{font-size:1.5rem;max-width:700px}.family-photo{max-width:470px;margin-inline:auto}.family-photo figcaption{text-align:center}.elsewhere{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:1rem 2rem}footer{border-top:1px solid var(--ink);padding:2rem 0 3rem;font-size:.95rem}footer p{margin:.6rem 0}.cv{max-width:960px}.cv-intro{max-width:780px;padding:3rem 0}.cv h1{font-size:clamp(3rem,6vw,5rem)}.contents{border-block:1px solid var(--line);padding:2rem 0}.contents h2{font-size:1.8rem}.contents ol{font-size:1rem}.cv-section{padding:2.5rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.cv-section h2{font-size:2rem;margin-bottom:1.5rem}.cv-section li{margin-bottom:1rem}.back-top{font-size:.85rem}dialog{width:min(1100px,calc(100% - 24px));max-height:94vh;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:1rem}dialog::backdrop{background:rgba(28,31,38,.85)}dialog figure{margin-top:1rem}dialog img{max-height:72vh;width:auto;margin:auto;object-fit:contain}dialog figcaption{max-width:780px;margin:.8rem auto}.close-lightbox{display:block;margin-left:auto}html:has(dialog[open]){overflow:hidden}
@media(min-width:600px){main,.masthead,footer{width:min(1200px,calc(100% - 64px))}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.metrics>div+div{border-left:1px solid var(--line);padding-left:2rem}.contents ol{columns:2;column-gap:3rem}.contents li{break-inside:avoid}.art-section{padding:3rem 2rem;margin-inline:-2rem}.honors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.hero{grid-template-columns:1.1fr 1fr;gap:4rem;padding:4rem 0}.hero-portrait{justify-self:end}.section{padding-block:4rem}.science-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem}.timeline{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:2rem}.timeline li{border-left:0;border-top:1px solid var(--accent);padding:1.2rem 1.2rem 0 0}.timeline li:before{left:0;top:-4px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.art-section .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.art-section .enlarge img{height:360px}.section-heading{margin-bottom:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{@page{margin:18mm}body{background:white;color:#000;font-size:10pt;line-height:1.4}main,footer{width:100%;max-width:none}.masthead,.skip,.print-button,.back-top,dialog,.hero-links{display:none!important}h1{font-size:30pt!important}h2,.cv-section h2{font-size:18pt;break-after:avoid}h3{break-after:avoid}.cv-intro,.cv-section,.section{padding:12pt 0}.cv-section li{break-inside:avoid;margin-bottom:6pt}.contents{padding:12pt 0}.contents ol{columns:2}a{color:#000;text-decoration:none}footer{padding:12pt 0}.more-art>div{display:grid!important}.gallery{grid-template-columns:repeat(2,1fr)}figure{break-inside:avoid}.art-section{background:white;margin:0;padding:12pt 0}}
