:root{--paper:#fff;--ink:#161616;--muted:#626262;--line:#c9c9c9;--accent:#f44828;--pad:clamp(20px,3.2vw,64px);--gap:24px;--font:"Helvetica Neue",Helvetica,Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:var(--ink)}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
a:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:6px}
p,h1,h2,h3,h4,figure{margin:0}
img{display:block;width:100%;height:auto}
h1,h2,h3,h4{font-weight:500}
button,input{font:inherit}
.section-pad{padding-left:var(--pad);padding-right:var(--pad)}
.page-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}
.skip-link{position:fixed;left:20px;top:-80px;padding:12px 18px;background:var(--ink);color:#fff;z-index:10}
.skip-link:focus{top:20px}
.site-header{padding:21px var(--pad) 22px;align-items:start;border-bottom:1px solid var(--ink)}
.monogram{grid-column:1/3;font-size:42px;font-weight:600;letter-spacing:-4px;line-height:.9;width:max-content}
.monogram span{color:var(--accent)}
.header-context{grid-column:4/7;font-size:14px;line-height:1.2}
nav{grid-column:7/-1;display:flex;justify-content:space-between;gap:18px;font-size:14px;padding-top:2px}
nav a{padding:4px 0;white-space:nowrap}
nav a:hover,nav a[aria-current="location"]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}
.eyebrow-line{display:flex;justify-content:space-between;padding-top:24px;font-size:14px}
.hero h1{font-size:clamp(90px,19.1vw,340px);line-height:1.02;letter-spacing:-.065em;margin:20px 0 29px  -.012em;white-space:nowrap;font-weight:500}
.name-stop{color:var(--accent);margin-left:-.028em}
.hero-intro{padding:20px 0 54px;border-top:1px solid var(--ink);align-items:start}
.hero-role{grid-column:1/5;font-size:16px;line-height:1.35}
.hero-statement{grid-column:5/11;font-size:clamp(24px,2.9vw,46px);line-height:1.1;letter-spacing:-.035em}
.hero-statement>span{color:var(--muted)}
.explore-link{grid-column:11/-1;display:flex;justify-content:space-between;align-items:start;font-size:14px;line-height:1.3}
.down-arrow{font-size:42px;line-height:1;transition:transform .2s}
.explore-link:hover .down-arrow{transform:translateY(7px)}
.feature-layout{display:grid;grid-template-columns:2fr 1fr}
.feature-image{background:#ededed;display:flex;flex-direction:column;min-width:0}
.feature-image>img{height:clamp(340px,40vw,660px);object-fit:cover;filter:grayscale(1);object-position:50% 10%}
.feature-image figcaption{display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.3;padding:13px 15px;background:#ededed;flex:1}
.feature-image figcaption a{text-decoration:underline}
.feature-note{background:var(--accent);padding:30px clamp(22px,3vw,50px);display:flex;flex-direction:column;align-items:start}
.small-label{font-size:14px;line-height:1.35}
.feature-note h2{font-size:clamp(36px,4.45vw,76px);line-height:1.01;letter-spacing:-.048em;margin:42px 0 30px}
.feature-note p{font-size:17px;line-height:1.45;max-width:30ch;margin-bottom:36px}
.under-link{border-bottom:1px solid currentColor;padding-bottom:5px;font-size:14px;line-height:1.5;display:inline-flex;align-items:baseline;gap:18px}
.under-link:hover{border-bottom-width:2px;padding-bottom:4px}
.feature-note .under-link{margin-top:auto}
.research{padding-top:110px;padding-bottom:110px}
.section-heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);border-top:1px solid var(--ink);padding-top:22px}
.section-number{grid-column:1/5;font-size:14px;line-height:1.4}
.section-heading h2{grid-column:5/-1;font-size:clamp(34px,4.8vw,80px);line-height:1.03;letter-spacing:-.045em}
.research-intro{padding-top:28px;padding-bottom:66px;align-items:end}
.research-intro p{grid-column:5/10;max-width:50ch;font-size:18px;line-height:1.45}
.index-label{grid-column:10/-1;text-align:right;color:var(--muted);font-size:12px}
.research-item{border-top:1px solid var(--line);scroll-margin-top:20px}
.research-item:last-child{border-bottom:1px solid var(--ink)}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
.research-item summary{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);padding:27px 0 32px;align-items:start;transition:color .2s}
.research-item summary:hover{color:#b82e15}
.item-number{grid-column:1/2;font-size:15px;padding-top:6px;font-variant-numeric:tabular-nums}
.research-item h3{grid-column:3/9;font-size:clamp(32px,4.2vw,68px);line-height:1.02;letter-spacing:-.045em}
.item-category{grid-column:9/12;font-size:14px;padding-top:8px}
.expand-symbol{grid-column:12/-1;justify-self:end;margin:8px 4px;position:relative;width:23px;height:23px}
.expand-symbol:before,.expand-symbol:after{content:"";position:absolute;display:block;background:currentColor;transition:transform .2s}
.expand-symbol:before{width:23px;height:1px;left:0;top:11px}
.expand-symbol:after{height:23px;width:1px;top:0;left:11px}
.research-item[open] .expand-symbol:after{transform:rotate(90deg)}
.research-item[open] summary{color:var(--ink)}
.research-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);padding:0 0 45px}
.research-body>p{grid-column:3/7;font-size:18px;line-height:1.5}
.research-body>div{grid-column:8/12}
.research-body h4{font-size:17px;margin-bottom:8px}
.research-body>div>p{font-size:16px}
.research-body .keywords{font-size:13px;color:var(--muted);border-top:1px solid var(--line);margin-top:24px;padding-top:14px}
.research-figure{grid-column:3/12;margin-top:10px}
.research-figure img{max-height:570px;object-fit:cover;filter:grayscale(1)}
.research-figure figcaption{font-size:12px;color:var(--muted);padding-top:12px;line-height:1.5}
.research-figure a{text-decoration:underline}
.teaching{background:#efefef;padding-top:58px;padding-bottom:86px}
.teaching-content{padding-top:60px}
.teaching-note{grid-column:1/4;display:flex;flex-direction:column;align-items:start}
.teaching-note p{font-size:18px;line-height:1.5;margin-top:27px;max-width:29ch}
.semester{border:1px solid var(--ink);padding:5px 11px;margin-top:28px;font-size:13px}
.courses{grid-column:5/-1}
.courses article{border-top:1px solid #adadad;padding:24px 0 28px;display:grid;grid-template-columns:1fr 3.7fr;gap:18px}
.courses article:last-child{border-bottom:1px solid #adadad}
.course-code{font-size:13px;padding-top:6px;white-space:nowrap}
.courses h3{font-size:clamp(25px,2.45vw,40px);line-height:1.15;letter-spacing:-.035em}
.courses p{font-size:15px;line-height:1.5;margin-top:13px;color:#515151}
.about{padding-top:110px;padding-bottom:110px}
.about-content{padding-top:58px}
.place-list{grid-column:1/5;font-size:clamp(38px,4.1vw,64px);line-height:1.05;letter-spacing:-.045em}
.place-list span{display:block;color:#c6381d;font-size:78px;margin-top:18px;line-height:1}
.biography{grid-column:5/12;display:grid;grid-template-columns:1fr 1fr;gap:22px 32px}
.biography>p:first-child{grid-column:1/-1;font-size:clamp(24px,2.8vw,43px);line-height:1.2;letter-spacing:-.035em;margin-bottom:12px}
.biography>p{font-size:17px;line-height:1.55}
.biography .under-link{grid-column:1/-1;justify-self:start;margin-top:13px}
.contact{background:var(--accent);padding-top:26px;padding-bottom:42px}
.contact-top{display:flex;justify-content:space-between;gap:20px;font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:20px}
.contact h2{font-size:clamp(70px,12.5vw,200px);line-height:.95;letter-spacing:-.06em;padding:47px 0 50px}
.contact h2 a{display:block;position:relative;padding-right:15%}
.contact h2 span{position:absolute;right:0;top:-.04em;font-weight:400;transition:transform .2s}
.contact h2 a:hover span{transform:translate(5px,-5px)}
.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}
.contact-bottom>a{font-size:clamp(18px,2.4vw,38px);letter-spacing:-.03em;line-height:1.25;border-bottom:1px solid var(--ink);padding-bottom:4px;overflow-wrap:anywhere}
.contact-bottom>p{font-size:14px;line-height:1.4;flex-shrink:0}
.site-footer{padding-top:23px;padding-bottom:22px}
.footer-line{display:flex;justify-content:space-between;gap:20px;font-size:13px}
.footer-line a:hover{text-decoration:underline}
.credits{font-size:12px;color:var(--muted);margin-top:15px}
.credits summary{display:inline-block;text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.credits p{margin:10px 0;max-width:95ch;line-height:1.6}
.credits p a{text-decoration:underline}
@media(min-width:1800px){body{max-width:2400px;margin:auto}.hero h1{font-size:clamp(250px,17.2vw,400px)}}
@media(max-width:1050px){.header-context{grid-column:3/6}nav{grid-column:6/-1;gap:14px}.hero-intro{gap:18px}.hero-role{grid-column:1/5}.hero-statement{grid-column:5/-1}.explore-link{grid-column:1/5;grid-row:2;max-width:160px;margin-top:8px}.feature-layout{grid-template-columns:1.6fr 1fr}.feature-note h2{margin-top:30px}.feature-note p{font-size:16px}.feature-note .under-link{font-size:13px}.feature-image>img{height:100%;min-height:430px}.section-heading h2{font-size:clamp(32px,5.1vw,54px)}.research-intro p{grid-column:5/-1}.index-label{grid-column:5/-1;text-align:left}.research-item h3{grid-column:3/9}.item-category{font-size:13px}.teaching-note{grid-column:1/5}.courses article{grid-template-columns:1fr;gap:12px}.biography{grid-column:5/-1}}
@media(max-width:700px){:root{--pad:20px;--gap:16px}html{scroll-padding-top:20px}.site-header{grid-template-columns:1fr 1fr;padding-top:19px;padding-bottom:14px;row-gap:24px}.monogram{grid-column:1}.header-context{grid-column:2;text-align:right;font-size:12px}nav{grid-column:1/-1;gap:16px;justify-content:space-between;font-size:14px}nav a{padding:5px 0}.eyebrow-line{padding-top:19px;font-size:12px}.hero h1{font-size:26vw;line-height:1.05;letter-spacing:-.07em;margin-top:21px;margin-bottom:25px;white-space:normal}.hero h1 span:first-child{display:block}.hero h1 span:nth-child(2){margin-left:15vw}.hero-intro{grid-template-columns:1fr 1fr;gap:25px 16px;padding-top:20px;padding-bottom:34px}.hero-role{grid-column:1;font-size:14px}.hero-statement{grid-column:1/-1;grid-row:2;font-size:clamp(23px,6.8vw,40px);line-height:1.15}.explore-link{grid-column:2;grid-row:1;margin:0;justify-self:end;gap:20px;font-size:12px}.down-arrow{font-size:34px}.feature-layout{grid-template-columns:1fr}.feature-image>img{height:auto;aspect-ratio:1.35;min-height:0;object-position:center}.feature-image figcaption{font-size:12px;padding:12px;flex-wrap:wrap;gap:7px}.feature-note{padding:25px 24px 30px;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.feature-note .small-label{grid-column:1/-1;font-size:12px}.feature-note h2{font-size:clamp(32px,8.2vw,49px);margin:4px 0 0;line-height:1.05}.feature-note p{font-size:15px;margin:4px 0 0}.feature-note .under-link{grid-column:1/-1;justify-self:start;margin-top:8px;font-size:14px}.research{padding-top:65px;padding-bottom:65px}.section-heading{grid-template-columns:1fr;gap:24px;padding-top:16px}.section-number{grid-column:1;font-size:13px}.section-heading h2{grid-column:1;font-size:clamp(34px,8vw,54px);line-height:1.07}.research-intro{grid-template-columns:1fr;padding-top:23px;padding-bottom:38px;gap:20px}.research-intro p,.index-label{grid-column:1}.research-intro p{font-size:17px}.research-item summary{grid-template-columns:28px 1fr 24px;gap:12px;padding:23px 0 25px;position:relative}.item-number{grid-column:1;font-size:12px;padding-top:5px}.research-item h3{grid-column:2;font-size:clamp(30px,7.6vw,44px);line-height:1.04}.item-category{grid-column:2;grid-row:2;font-size:12px;padding:0;color:var(--muted)}.expand-symbol{grid-column:3;grid-row:1;width:19px;height:19px;margin:6px 2px}.expand-symbol:before{width:19px;top:9px}.expand-symbol:after{height:19px;left:9px}.research-body{grid-template-columns:1fr;padding:0 0 30px 40px;gap:22px}.research-body>p,.research-body>div{grid-column:1}.research-body>p{font-size:17px}.research-body>div>p{font-size:16px}.teaching{padding-top:40px;padding-bottom:48px}.teaching-content{grid-template-columns:1fr;padding-top:29px;gap:35px}.teaching-note,.courses{grid-column:1}.teaching-note p{margin-top:13px;max-width:42ch;font-size:17px}.semester{margin-top:18px}.courses article{grid-template-columns:80px 1fr;gap:10px;padding:22px 0 25px}.course-code{font-size:12px}.courses h3{font-size:24px}.courses p{font-size:14px}.about{padding-top:65px;padding-bottom:65px}.about-content{grid-template-columns:1fr;padding-top:30px;gap:30px}.place-list{grid-column:1;font-size:34px;position:relative}.place-list span{position:absolute;right:0;top:0;font-size:70px;margin:0}.biography{grid-column:1;grid-template-columns:1fr;gap:20px}.biography>p:first-child{font-size:25px;line-height:1.25;margin-bottom:0}.biography>p{font-size:17px}.contact{padding-top:22px;padding-bottom:27px}.contact-top{font-size:12px;padding-bottom:15px}.contact h2{font-size:clamp(59px,14vw,102px);padding:37px 0 35px;line-height:1}.contact h2 a{padding-right:11%}.contact h2 span{font-size:.8em;top:.04em}.contact-bottom{display:block}.contact-bottom>a{font-size:clamp(17px,5.3vw,27px)}.contact-bottom>p{margin-top:22px;font-size:13px}.footer-line{font-size:12px;flex-wrap:wrap;gap:14px}.footer-line>span:nth-child(2){display:none}.site-footer{padding-top:18px}.credits{margin-top:12px}}
@media(max-width:390px){nav{display:grid;grid-template-columns:1fr 1fr;font-size:14px;gap:6px 18px}}
@media(max-width:360px){nav{font-size:14px;gap:6px 18px}.feature-note{grid-template-columns:1fr}.feature-note>*{grid-column:1}.feature-note h2{font-size:42px}.feature-note h2 br{display:none}.feature-note p{max-width:none}.courses article{grid-template-columns:1fr;gap:8px}}
@media(max-width:700px){.research-figure{grid-column:1}.research-figure img{max-height:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{.skip-link,nav,.explore-link,.expand-symbol,.contact,.site-footer{display:none}body{font-size:11pt}.hero h1{font-size:70pt}.section-pad{padding-left:0;padding-right:0}.research,.about,.teaching{padding-top:30px;padding-bottom:30px}.research-item,.courses article{break-inside:avoid}.research-body{display:grid!important}.feature-image>img{height:280px}.section-heading h2{font-size:30pt}a{text-decoration:none}}

/* The first-page identity stays monochrome with one orange accent. */
.site-header .monogram{grid-column:1/2}
.site-header .header-context{grid-column:3/6}
.site-header nav{grid-column:6/-1;gap:16px;font-weight:500}
.site-header nav a{border:0;text-decoration:none}
.site-header nav a:hover{opacity:.78}
.site-header nav [data-topic="research"]{color:#586d94}
.site-header nav [data-topic="teaching"]{color:#607253}
.site-header nav [data-topic="practice"]{color:#965e48}
.site-header nav [data-topic="activities"]{color:#78638f}
.site-header nav [data-topic="publications"]{color:#9a5a74}
.site-header nav [data-topic="cv"]{color:#47776d}

.news-section{padding-top:15px;padding-bottom:80px;scroll-margin-top:24px}
.news-heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);border-top:1px solid var(--ink);padding-top:20px;align-items:start}
.news-heading h2{grid-column:5/-1;font-size:clamp(30px,3.7vw,60px);line-height:1.07;letter-spacing:-.04em}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:36px}
.news-item{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;min-width:0}
.news-date{font-size:16px;font-weight:500;line-height:1.35;color:#b82e15}
.news-place{font-size:14px;color:var(--muted);margin:6px 0 23px}
.news-category{font-size:12px;line-height:1.4;color:var(--muted)}
.news-item h3{font-size:clamp(23px,2.3vw,34px);letter-spacing:-.03em;line-height:1.1;margin:12px 0 18px}
.news-item h3 a:hover{text-decoration:underline;text-decoration-thickness:1px}
.news-description{font-size:16px;line-height:1.5;margin-bottom:22px;max-width:42ch}
.news-status{font-size:12px;line-height:1.5;color:var(--muted);margin-top:auto}
.news-more{margin-top:35px}
@media(max-width:1100px){.site-header .monogram{grid-column:1/3}.site-header .header-context{grid-column:7/-1;justify-self:end;text-align:right}.site-header nav{grid-column:1/-1;justify-content:space-between;padding-top:8px}.news-grid{gap:24px}.news-item h3{font-size:25px}}
@media(max-width:700px){.site-header .monogram{grid-column:1}.site-header .header-context{grid-column:2}.site-header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;padding-top:0}.site-header nav a{white-space:normal;line-height:1.35;padding:6px 0}.news-section{padding-top:6px;padding-bottom:48px}.news-heading{grid-template-columns:1fr;gap:20px;padding-top:16px}.news-heading h2{grid-column:1;font-size:34px}.news-grid{grid-template-columns:1fr;gap:26px;margin-top:28px}.news-place{margin-bottom:16px}.news-item h3{font-size:28px;max-width:22ch;margin:10px 0 15px}.news-description{max-width:55ch;margin-bottom:15px}.news-more{margin-top:27px}}
@media(max-width:390px){.site-header nav{grid-template-columns:1fr 1fr;gap:4px 18px}}

.news-section{padding-top:80px}
@media(max-width:700px){.news-section{padding-top:48px}}

/* Lead autumn event, using the homepage's original vermilion accent. */
.news-featured{grid-column:1/-1;border-top:3px solid var(--accent);display:grid;grid-template-columns:1fr 2fr;gap:10px 32px;padding-top:24px;padding-bottom:28px}
.news-featured .news-date,.news-featured .news-place,.news-featured .news-category{grid-column:1}
.news-featured .news-place{margin:0}
.news-featured h3{grid-column:2;grid-row:1/3;font-size:clamp(46px,6vw,88px);margin:0;line-height:1.05}
.news-featured .news-description{grid-column:2;grid-row:3/5;font-size:20px;max-width:48ch;margin:0}
.news-featured .news-status{grid-column:2;margin-top:14px;font-size:14px}
@media(max-width:700px){.news-featured{display:flex;gap:12px}.news-featured h3{font-size:56px;margin-top:10px}.news-featured .news-description{font-size:18px}.news-featured .news-status{margin-top:4px}}
