@font-face{font-family:Inter;src:url('/assets/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{font-family:Inter,Arial,sans-serif;color:#222925;background:#fbfcfa;font-synthesis:none;line-height:1.6;--ink:#17231f;--line:#d9dfd9;--muted:#626c64;--accent:#b7c99b}
*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b34c37;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.13;font-weight:500}h1{font-size:56px}h2{font-size:38px}h3{font-size:23px}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.header{height:88px;display:flex;align-items:center;gap:30px;padding:0 4.8%;border-bottom:1px solid var(--line);background:#fbfcfa;position:relative;z-index:10}.wordmark{font-size:27px;font-weight:650;white-space:nowrap}.wordmark span{color:#83996c}.header nav{display:flex;gap:28px;margin:auto;font-size:14px}.header nav a{padding:8px 0}.header nav a[aria-current=page]{border-bottom:2px solid var(--ink)}.contact{font-size:14px;white-space:nowrap}.icon-button{border:1px solid var(--line);background:transparent;width:42px;height:42px;display:grid;place-items:center}.icon-button svg{width:20px;height:20px}#menu{display:none}.hero{height:min(660px,calc(100svh - 180px));min-height:480px;position:relative;background:#17231f;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:76% 58%;position:absolute;opacity:.74}.hero:after{content:'';position:absolute;inset:0;background:rgba(13,23,19,.16)}.hero-copy{position:relative;z-index:1;max-width:720px;padding:75px 0 55px 7%}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:500;line-height:1.5}.hero h1{font-size:76px;margin-top:32px;max-width:560px}.hero .lead{font-size:23px;margin-top:24px;max-width:380px}.hero .inline-link{display:inline-flex;gap:24px;margin-top:32px;border-bottom:1px solid #c6cdc7;padding-bottom:7px}.hero-caption{position:absolute;z-index:1;right:5%;bottom:28px;font-size:11px;color:#e0e7dd}.band{padding:72px 7%}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-head .eyebrow{color:var(--muted);margin-bottom:12px}.inline-link{font-size:14px;display:inline-flex;align-items:center;gap:16px}.project-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:28px}.project-media{background:#e7ece6;aspect-ratio:1.6;overflow:hidden}.project-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.project-item:hover .project-media img{transform:scale(1.025)}.project-info{padding:20px 0;border-top:1px solid var(--line);margin-top:16px;display:flex;gap:16px;align-items:start}.project-info h3{font-size:25px;margin:8px 0}.project-info .tag{font-size:12px;color:var(--muted)}.project-info p{font-size:14px;max-width:530px;color:var(--muted)}.project-info svg{width:22px;flex:none;margin-left:auto}.intro-band{background:#edf1e9;display:grid;grid-template-columns:1fr 1fr;gap:60px}.intro-band p{font-size:20px;max-width:620px}.intro-band .inline-link{margin-top:25px}.intro-band h2{font-size:40px;max-width:450px}.section-title{padding:66px 7% 38px}.section-title h1{max-width:900px}.section-title p{color:var(--muted);max-width:780px;margin-top:20px;font-size:17px}.toolbar{display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:12px}.search{display:flex;align-items:center;gap:10px;flex:1;max-width:500px}.search svg{width:18px;color:var(--muted);flex:none}.search input{width:100%;border:none;background:transparent;padding:8px 0;min-width:0;font-size:14px;outline-offset:1px}.toolbar select{border:1px solid var(--line);padding:8px 34px 8px 12px;background:#fff;max-width:240px;font-size:14px}.count{font-size:12px;color:var(--muted);margin-left:auto;white-space:nowrap}.catalog{padding:0 7% 80px;min-height:55vh}.record{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:28px 0;border-bottom:1px solid var(--line)}.record time,.record>.record-label{color:var(--muted);font-size:13px;padding-top:3px}.record h2{font-size:21px;max-width:900px}.record p{font-size:14px;color:var(--muted);margin-top:10px;max-width:920px}.record .citation{font-size:16px;color:var(--ink);margin-top:0;line-height:1.8}.record .inline-link{margin-top:20px;border-bottom:1px solid var(--ink)}.research-list{padding:0 7% 80px}.research-list .record{padding:36px 0}.research-list h2{font-size:27px}.profile-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;align-items:start}.portrait{aspect-ratio:1;width:100%;max-width:400px;object-fit:cover}.bio-copy p{font-size:18px;max-width:780px;margin-bottom:26px}.bio-copy h2{font-size:26px;margin:35px 0 18px}.bio-copy ul{padding-left:20px}.bio-copy li{padding:6px 0}.footer{display:flex;align-items:center;gap:35px;padding:35px 7%;border-top:1px solid var(--line);font-size:12px;min-height:120px}.footer p{color:var(--muted)}.footer>a:last-child{margin-left:auto;overflow-wrap:anywhere}.loading,.empty{padding:60px;color:var(--muted)}.archival{font-size:12px;color:var(--muted);margin-top:20px}.home-research{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.home-research article{border-top:1px solid var(--ink);padding-top:22px}.home-research h3{font-size:22px;margin-bottom:16px}.home-research p{font-size:14px;color:var(--muted)}.home-research .inline-link{margin-top:24px}
@media(min-width:1600px){.hero-copy{padding-top:90px}.hero h1{font-size:84px}.band,.catalog,.research-list{padding-left:10%;padding-right:10%}}
@media(max-width:1000px){.header{gap:20px;padding:0 5%;height:76px}.header nav{gap:17px;font-size:12px}.contact{display:none}.hero h1{font-size:65px}.hero-copy{padding-left:6%}.band,.catalog,.research-list{padding-left:6%;padding-right:6%}.profile-grid{gap:40px}.footer{flex-wrap:wrap;gap:18px}.footer>a:last-child{width:100%;margin:0}}
@media(max-width:720px){h1{font-size:38px}h2{font-size:30px}.header{height:72px;justify-content:space-between}.wordmark{font-size:25px}#menu{display:grid}.header nav{display:none;position:absolute;top:71px;left:0;right:0;margin:0;padding:22px 6% 30px;background:#fbfcfa;border-bottom:1px solid var(--line);font-size:17px;gap:8px;flex-direction:column}.header nav.open{display:flex}.hero{height:calc(100svh - 170px);min-height:480px;max-height:640px}.hero>img{object-position:61% 50%;opacity:.58}.hero-copy{padding:47px 6% 50px}.hero h1{font-size:51px;margin-top:26px;max-width:340px}.hero .lead{font-size:20px;max-width:260px;margin-top:24px}.hero-caption{font-size:10px;left:6%;right:6%;bottom:20px}.hero .inline-link{margin-top:28px}.band{padding:48px 6%}.section-head{align-items:start;flex-direction:column;gap:20px;margin-bottom:28px}.project-grid{grid-template-columns:1fr;gap:25px}.project-info h3{font-size:24px}.intro-band{grid-template-columns:1fr;gap:26px}.intro-band h2{font-size:33px}.intro-band p{font-size:18px}.home-research{grid-template-columns:1fr;gap:34px}.section-title{padding:46px 6% 28px}.section-title p{font-size:16px}.toolbar{flex-wrap:wrap;gap:14px}.search{flex-basis:100%;max-width:none}.toolbar select{flex:1;min-width:0;max-width:72%}.count{font-size:11px}.record{grid-template-columns:1fr;gap:10px;padding:25px 0}.record h2{font-size:20px}.record .citation{font-size:15px}.record .record-label{font-size:12px}.research-list h2{font-size:25px}.profile-grid{grid-template-columns:1fr;gap:32px}.portrait{max-width:300px}.bio-copy p{font-size:17px}.catalog,.research-list{padding-bottom:50px}.footer{padding:30px 6%;align-items:start;flex-direction:column}.footer .wordmark{font-size:24px}.empty{padding:36px 0}}
.project-media.facade{background:#f1f3ed}.project-media.facade img{object-fit:contain}
@media(max-width:720px){.hero>img{height:calc(100% + 90px);top:-90px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.inline-link svg{width:18px;height:18px;flex:none}
.home-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:80px;align-items:start}
.home-intro{font-size:25px;line-height:1.55;max-width:500px}
.section-directory>a{display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:12px 24px;padding:26px 0;border-top:1px solid var(--line)}
.section-directory>a:first-child{padding-top:0;border-top:0}.section-directory h2{font-size:24px}.section-directory p{grid-column:1;max-width:580px;font-size:14px;color:var(--muted)}.section-directory svg{grid-column:2;grid-row:1;width:20px}
.profile-grid{padding-top:0}.portrait{height:auto}.profile-links{display:flex;flex-direction:column;align-items:start;gap:24px;margin-top:38px}.profile-email{font-size:15px;overflow-wrap:anywhere}
.section-intro{max-width:850px;font-size:18px;line-height:1.8}.section-intro p+p{margin-top:22px}
.research-themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;padding:48px 0 68px}.research-themes article{border-top:1px solid var(--ink);padding-top:24px}.research-themes h2{font-size:24px;margin-bottom:16px}.research-themes p{font-size:15px;color:var(--muted);max-width:650px}
.group-heading{font-size:30px;margin-bottom:28px}.research-case{border-top:1px solid var(--line);padding:40px 0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:60px;align-items:start}.research-case:has(.case-body:only-child){grid-template-columns:minmax(0,850px)}.case-body h3{font-size:32px;margin:12px 0 22px}.case-body p:not(.eyebrow){font-size:15px;line-height:1.8;margin-top:18px;max-width:780px}.case-body .case-question{font-weight:550;color:var(--ink)}.case-image{background:#e9ede5;aspect-ratio:1;overflow:hidden}.case-image img{width:100%;height:100%;object-fit:cover}.case-image.facade{aspect-ratio:1.7;background:#f1f3ed}.case-image.facade img{object-fit:contain}.case-links{display:flex;flex-wrap:wrap;gap:20px 30px;margin-top:26px}.background-head{margin-top:45px}
.research-list .record,.catalog .record{grid-template-columns:170px minmax(0,1fr);gap:38px}.research-list .record h3{font-size:23px}.record-label{overflow-wrap:break-word}.record-label small{display:block;font-size:12px;line-height:1.6;margin-top:9px;color:var(--muted)}.record .publication-theme{font-size:12px;margin-top:14px;color:var(--muted)}
.teaching-intro{padding:0 7% 50px}.teaching-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:45px}.teaching-fields article{border-top:1px solid var(--line);padding-top:22px}.teaching-fields h2{font-size:22px;line-height:1.25;margin-bottom:14px}.teaching-fields p{font-size:14px;color:var(--muted)}.catalogue-intro{max-width:850px;font-size:14px;color:var(--muted);margin-bottom:30px}.catalogue-toolbar .search{min-width:180px}.catalogue-toolbar select{max-width:250px}.catalogue-toolbar{flex-wrap:wrap}.thesis-record h3{font-size:22px;line-height:1.35}.record .thesis-title{font-size:16px;color:var(--ink);line-height:1.7}.record .thesis-date{font-size:12px;margin-top:13px}.empty{padding-left:0}
@media(min-width:1600px){.teaching-intro,.section-title{padding-left:10%;padding-right:10%}}
@media(max-width:1000px){.home-overview{gap:45px}.home-intro{font-size:22px}.research-case{gap:32px}.teaching-intro{padding-left:6%;padding-right:6%}.catalogue-toolbar .count{width:100%;margin:0}.teaching-fields{gap:24px}}
@media(max-width:720px){.home-overview{grid-template-columns:1fr;gap:38px}.home-intro{font-size:21px}.section-directory h2{font-size:23px}.research-themes,.teaching-fields{grid-template-columns:1fr;gap:28px}.research-themes{padding:35px 0 45px}.section-intro{font-size:17px}.research-case{grid-template-columns:1fr;gap:30px;padding:30px 0}.case-body h3{font-size:28px}.case-image{max-width:450px;aspect-ratio:1.25}.group-heading{font-size:27px}.research-list .record,.catalog .record{grid-template-columns:minmax(0,1fr);gap:12px}.record-label small{margin-top:3px}.catalogue-toolbar select{max-width:100%;flex:1 1 150px;width:100%}.catalogue-toolbar .count{width:auto;margin-left:auto}.teaching-intro{padding-bottom:40px}.teaching-fields h2{font-size:22px}.profile-grid{padding-top:0}.bio-copy p{line-height:1.8}}
@media(max-width:360px){.hero h1{font-size:46px}.hero .lead{font-size:19px}.hero-copy{padding-top:38px}.catalogue-toolbar select{flex-basis:100%}.home-intro{font-size:20px}}
