*{box-sizing:border-box} :root{color-scheme:light;--ink:#111;--muted:#111;--line:#e0e4e0;--accent:#254c3e} body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.7} a{color:inherit;text-underline-offset:5px} a:hover{color:var(--accent)} a:focus-visible{outline:2px solid var(--accent);outline-offset:6px} header{padding:40px 24px 0;text-align:center;border-bottom:1px solid var(--line)} .name{font-family:Georgia,"Times New Roman",serif;font-size:29px;letter-spacing:-.6px;text-decoration:none} nav{display:flex;justify-content:center;gap:40px;margin-top:24px} nav a{padding:0 4px 17px;font-size:15px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent} nav a[aria-current]{border-color:var(--accent);color:var(--ink)} main{max-width:1016px;margin:auto;padding:76px 40px 96px}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:76px;align-items:center}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:1.8px;color:var(--muted);font-weight:500;margin:0 0 17px} h1,h2,.paper-title{font-family:Georgia,"Times New Roman",serif;font-weight:400} h1{font-size:58px;letter-spacing:-2px;line-height:1.12;margin:0 0 27px} p{margin:0 0 20px}.lead{font-size:21px;line-height:1.55} .intro-copy>p:not(.eyebrow):not(.lead){color:var(--muted)} figure{margin:0} figure img{display:block;width:100%;height:auto;aspect-ratio:1/1.12;object-fit:cover;border-radius:2px}.links{display:flex;gap:25px;flex-wrap:wrap;padding-top:10px;font-size:14px}.links a{color:var(--accent);text-decoration:none;border-bottom:1px solid #a5b5ad}.links span{margin-left:5px}.publication{margin-top:78px;border-top:1px solid var(--line);padding-top:27px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}h2{font-size:27px;line-height:1.3;margin:0 0 26px}.section-heading .eyebrow{margin:0}.paper-title{font-size:23px;line-height:1.4;display:block;max-width:740px;text-decoration:none}.paper-title:hover{text-decoration:underline}.authors{font-size:14px;color:var(--muted);margin:12px 0 0}footer{max-width:936px;margin:0 auto;padding:23px 0 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.blog{min-height:600px}.blog h1{margin-bottom:50px}.empty{padding:42px 0;border-top:1px solid var(--line)}.empty h2{margin-bottom:12px}.empty p{color:var(--muted)}.skip{position:absolute;left:16px;top:-80px;background:white;padding:8px}.skip:focus{top:8px}.post{max-width:760px}.post h1{font-size:44px}.post time{color:var(--muted);font-size:14px}.post-body{margin-top:40px}.post-body h2{margin-top:32px}.back{font-size:14px;display:inline-block;margin-bottom:35px}@media(min-width:1500px){main{padding-top:95px}}@media(max-width:720px){header{padding-top:28px}.name{font-size:26px}main{padding:45px 24px 60px}.intro{grid-template-columns:1fr;gap:35px}h1{font-size:46px}.lead{font-size:20px}figure{max-width:420px}figure img{aspect-ratio:1.15}.publication{margin-top:45px}.paper-title{font-size:21px}footer{margin:0 24px;gap:12px;flex-wrap:wrap}.blog{min-height:65vh}.post h1{font-size:36px}}

/* Keep the About introduction quiet and consistent. */
.about-page .intro-copy h1{font-size:1.3125rem;letter-spacing:normal;line-height:1.55;margin-bottom:20px}
.about-page .intro-copy p,.about-page .links,.about-page nav a,.about-page footer{font-size:1rem;line-height:1.7;color:#111}
.about-page .links a{color:#111}
.research .publication{margin-top:36px}
@media(max-width:720px){.about-page .intro-copy h1{font-size:1.25rem}}

/* Show the entire original cutout, including both subjects' feet. */
.about-page main{padding-top:40px;padding-bottom:48px}
.about-page .intro{gap:40px}
.about-page figure{display:flex;justify-content:center;max-width:100%;min-width:0}
figure img.portrait-cutout{display:block;width:auto;height:auto;max-width:100%;max-height:440px;max-height:clamp(220px,calc(100svh - 280px),440px);aspect-ratio:auto;object-fit:contain;object-position:center;border-radius:0}
@media(min-width:601px) and (max-width:720px){.about-page .intro{grid-template-columns:1.2fr 1fr;gap:28px}}
@media(max-width:600px){.about-page main{padding-top:28px;padding-bottom:32px}.about-page .intro{gap:24px}figure img.portrait-cutout{max-height:360px;max-height:min(360px,65svh)}}

.about-page figure{flex-direction:column;align-items:center;gap:12px}
.about-page figcaption{font-size:0.875rem;line-height:1.5;color:#777;text-align:center}

/* Full original photograph, with a subtle fade into the white page. */
figure img.portrait-full{display:block;width:auto;height:auto;max-width:100%;max-height:440px;max-height:clamp(220px,calc(100svh - 300px),440px);aspect-ratio:auto;object-fit:contain;border-radius:4px;-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 2.5%,#000 97.5%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 2.5%,#000 97.5%,transparent);mask-composite:intersect}
@media(max-width:600px){figure img.portrait-full{max-height:400px;max-height:min(400px,65svh)}}

/* Smaller, uncropped square display with clean edges. */
figure img.portrait-square{display:block;width:320px;max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:0;mask-image:none;-webkit-mask-image:none}

/* A warm reading room, with locally hosted, openly licensed typography. */
@font-face{font-family:ETBook;src:url('assets/fonts/et-book-roman.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('assets/fonts/source-sans-3-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('assets/fonts/source-sans-3-latin-400-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('assets/fonts/source-sans-3-latin-600-normal.woff2') format('woff2');font-style:normal;font-weight:600 900;font-display:swap}
:root{--paper:#f7f2e7;--ink:#302f2a;--muted:#716b60;--line:#ddd5c5;--accent:#476354;--serif:ETBook,Palatino,'Palatino Linotype',Georgia,serif}
body{background:var(--paper);font-family:'Source Sans 3','Gill Sans',Calibri,sans-serif;font-size:18px;line-height:1.65;color:var(--ink)}
.name,h1,h2,.paper-title{font-family:var(--serif)}
.name{font-size:31px;letter-spacing:0}
h1{letter-spacing:-1px}
body>header{border-bottom-color:var(--line)}
nav a{font-size:16px}
.eyebrow{font-size:12px;letter-spacing:2px}
a{transition:color .15s;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible,.equation:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.skip{background:var(--paper);z-index:10}
.about-page .intro-copy p,.about-page .links,.about-page nav a,.about-page footer{color:var(--ink);font-size:18px}
.about-page .intro-copy h1{font-size:28px}
.about-page .links a{color:var(--accent)}
.about-page .links,.about-page footer{font-size:15px}
.about-page figcaption{color:var(--muted)}
footer{font-size:14px}
.blog-entry{padding:30px 0;border-top:1px solid var(--line)}
.blog-entry .paper-title{font-size:34px;margin-bottom:12px}
.blog-entry .eyebrow{margin-bottom:14px}
.blog-entry .excerpt{max-width:580px;color:var(--muted);font-size:19px}
.blog-entry .entry-links{display:flex;gap:24px;font-size:16px;margin-top:20px}
.blog-entry .entry-links a{color:var(--accent)}
.post{max-width:1060px;padding:52px 36px 72px}
.post>article,.post>.back{width:680px;max-width:100%}
.post .back{font-size:15px;color:var(--muted);margin-bottom:38px;text-decoration:none}
.post-heading{padding-bottom:30px;border-bottom:1px solid var(--line)}
.post-heading .eyebrow{margin-bottom:16px;color:var(--accent)}
.post h1{font-size:64px;line-height:1.1;letter-spacing:-1.4px;margin-bottom:15px}
.post-subtitle{font-family:var(--serif);font-size:25px;line-height:1.4;color:var(--muted);margin-bottom:23px}
.post-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 23px;font-size:14px;color:var(--muted)}
.post-meta time{font-size:14px}
.post-meta a{color:var(--accent)}
.post-body{position:relative;margin-top:34px;font-size:19px;line-height:1.65}
.post-body p{margin-bottom:24px}
.post-body h2{font-size:30px;line-height:1.25;margin:44px 0 22px;scroll-margin-top:30px}
.post-body a:not(.note-ref){color:var(--accent)}
.guiding-questions{padding:20px 22px 20px 45px;margin:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:19px}
.guiding-questions li{padding-left:6px;margin:6px 0}
.guiding-questions li::marker{font-family:var(--serif);color:var(--accent)}
.post-body .katex{font-size:1.06em}
.equation{max-width:100%;overflow-x:auto;padding:8px 0 14px;margin:12px 0 24px;overscroll-behavior-x:contain}
.equation .katex-display{margin:0;text-align:center}
.equation .katex-display>.katex{white-space:nowrap}
.post-body sup{line-height:0}
.note-ref{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;padding:4px;border:1px solid #c4cdbc;border-radius:50%;font-size:12px;line-height:1;vertical-align:super;text-decoration:none;color:var(--accent);background:#e9eddf;margin:0 2px;scroll-margin-top:80px}
.note-ref:hover{background:#dce4d4}
.post-body .article-figure{margin:34px auto 38px;max-width:550px;scroll-margin-top:24px}
.post-body .article-figure img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0;mix-blend-mode:multiply}
.post-body .article-figure a{display:block}
.post-body .article-figure figcaption{font-size:13px;letter-spacing:1px;text-transform:uppercase;text-align:center;color:var(--muted);margin-top:13px}
.footnotes{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;font-size:15px;line-height:1.55}
.footnotes ol{padding-left:22px}
.margin-note{padding:0 0 20px 6px;scroll-margin-top:35px;color:var(--muted);overflow-wrap:anywhere}
.note-number{display:none}
.note-content{display:inline}
.note-back{margin-left:5px;text-decoration:none}
.margin-note:target{color:var(--ink);background:#ece8d8}
.notes-enhanced .footnotes{display:none}
.post-end{margin-top:45px;padding-top:28px;border-top:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:15px 25px;font-size:15px;color:var(--accent)}
.post-end>span{font-size:22px}
dialog{border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 15px 70px #28251e26;padding:24px;max-width:480px;width:calc(100% - 32px);max-height:75svh;overflow-y:auto;font-family:inherit;font-size:18px;line-height:1.6}
dialog::backdrop{background:#28251e66}
.note-dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.note-dialog-heading h2{margin:0;font-size:28px}
.note-close{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:50%;width:44px;height:44px;font-size:28px;cursor:pointer}
#note-dialog-content{overflow-wrap:anywhere}
#note-dialog-content a{color:var(--accent)}
.note-is-open{overflow:hidden}
@media(min-width:1120px){
 .notes-enhanced .footnotes{display:block;border:0;padding:0;margin:0}
 .notes-enhanced .footnotes>h2{display:none}
 .notes-enhanced .footnotes ol{list-style:none;margin:0;padding:0}
 .notes-enhanced .margin-note{position:absolute;left:calc(100% + 48px);width:220px;padding:10px 0 10px 17px;border-left:1px solid var(--line);font-size:14px;line-height:1.6}
 .notes-enhanced .note-number{display:block;font-family:var(--serif);color:var(--accent);font-size:19px;margin-bottom:6px}
}
@media(max-width:1119px){.post{max-width:752px}.note-ref{min-width:30px;height:28px}.post>article{width:100%}}
@media(max-width:720px){
 body{font-size:18px}
 .post{padding:32px 22px 54px}
 .post .back{margin-bottom:30px}
 .post h1{font-size:50px}
 .post-subtitle{font-size:23px}
 .post-meta{gap:6px 18px}
 .post-body{font-size:18px;margin-top:28px;line-height:1.65}
 .post-body h2{font-size:28px;margin-top:36px}
 .post-body .article-figure{max-width:100%;margin:28px auto}
 .guiding-questions{font-size:18px;padding-left:27px;padding-right:6px}
 .equation .katex-display{font-size:.88em}
 .blog h1{margin-bottom:32px}
 .blog-entry .paper-title{font-size:31px}
 .about-page .intro-copy h1{font-size:27px}
}
@media print{
 body{background:white;color:black}
 body>header,body>footer,.post>.back,.post-end,dialog{display:none}
 .post{max-width:none;padding:0}
 .post>article{width:auto}
 .notes-enhanced .footnotes{display:block;border-top:1px solid #999;margin-top:30px}
 .notes-enhanced .footnotes>h2{display:block}
 .notes-enhanced .margin-note{position:static;width:auto;border:0;padding:0 0 12px}
 .notes-enhanced .footnotes ol{list-style:decimal;padding-left:24px}
 .notes-enhanced .note-number{display:none}
 .article-figure,.equation{break-inside:avoid}
}
/* Keep the left edge of a wide equation reachable on small screens. */
.equation .katex-display{width:max-content;min-width:100%}

/* Match the biography text to the advisor paragraph. */
.about-page .intro-copy>p:not(.eyebrow):not(.lead){color:var(--ink)}
