
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/branding/font-1b08e7fc267a5c7e.ttf) format('truetype');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/branding/font-e7a1aaf7eda9f2fa.ttf) format('truetype');
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/branding/font-8ca4d603b02214e2.ttf) format('truetype');
}

:root{--bg:#f7f5ef;--ink:#17345c;--soft:#536171;--line:#d8dcd9;--amber:#f5a623;--panel:#eeede6;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.6;transition:background .2s,color .2s}
body.dark{--bg:#17345c;--ink:#f7f5ef;--soft:#cfd7e1;--line:#58718e;--panel:#1d406b;color-scheme:dark}
button{font:inherit;color:inherit;border:1px solid var(--line);padding:8px 14px;background:transparent;cursor:pointer;border-radius:3px}button:hover{border-color:var(--ink)}button:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.review{padding:12px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--panel);font-size:12px;letter-spacing:.03em}.review span{max-width:760px}
main{max-width:1180px;margin:auto;padding:0 32px}.masthead{display:flex;justify-content:space-between;align-items:center;padding:36px 0;border-bottom:1px solid var(--line)}.name{font-size:21px;font-weight:600;letter-spacing:-.04em}.nav{color:var(--soft);font-size:13px;word-spacing:22px}
.hero{padding:88px 0 96px;display:grid;grid-template-columns:1.8fr 1fr;gap:72px;align-items:end}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:var(--soft);margin:0 0 28px}.dot{display:inline-block;width:8px;height:8px;background:var(--amber);border-radius:50%;margin-right:10px}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Source Serif 4',Georgia,serif;font-weight:400}h1{font-size:clamp(48px,5.6vw,78px);line-height:1.07;letter-spacing:-.055em;margin-bottom:0;max-width:750px}.intro{font-size:16px;color:var(--soft);max-width:330px;margin-bottom:8px}.aside-rule{width:48px;border-top:3px solid var(--amber);margin-bottom:28px}
.section-head{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:22px;margin-bottom:32px}.section-head h2{font-size:30px;letter-spacing:-.035em;margin:0}.caption{font-size:11px;color:var(--soft)}.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:86px}.number{color:var(--soft);font-size:12px;display:block;margin-bottom:18px}.columns h3{font-size:21px;margin-bottom:10px;font-weight:500}.columns p{font-size:14px;color:var(--soft);max-width:290px}.example{margin-top:25px;padding-top:16px;border-top:1px solid var(--line);font-size:13px}.example small{display:block;color:var(--soft);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.publication{background:var(--panel);padding:56px;margin-bottom:80px;display:grid;grid-template-columns:1.4fr 1fr;gap:55px}.publication h2{font-size:clamp(38px,4vw,56px);letter-spacing:-.05em;line-height:1.1;margin-bottom:25px}.publication p{font-size:15px;color:var(--soft);max-width:430px}.publication .eyebrow{font-size:10px;margin-bottom:23px}.pub-question{font-family:'Source Serif 4',Georgia,serif;font-size:30px;line-height:1.35;letter-spacing:-.02em;border-left:1px solid var(--line);padding-left:36px;align-self:center}
.profile{display:grid;grid-template-columns:.75fr 1.8fr;gap:60px;margin:0 0 72px}.profile h2{font-size:29px;line-height:1.2;letter-spacing:-.025em}.profile .copy{font-size:23px;line-height:1.5;letter-spacing:-.02em}.profile p{color:var(--soft);font-size:13px}.foot{border-top:1px solid var(--line);padding:24px 0 42px;display:flex;justify-content:space-between;gap:25px;color:var(--soft);font-size:11px}
@media(max-width:760px){main{padding:0 24px}.review{padding:12px 24px;align-items:flex-start}.review span{max-width:65%}.hero{grid-template-columns:1fr;gap:36px;padding:60px 0}.intro{max-width:520px}.columns{grid-template-columns:1fr;gap:22px;margin-bottom:55px}.columns p{max-width:none}.example{margin-top:16px}.publication{padding:30px 24px;grid-template-columns:1fr;gap:20px;margin-bottom:55px}.pub-question{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;font-size:26px}.profile{grid-template-columns:1fr;gap:10px;margin-bottom:45px}.profile .copy{font-size:20px}.section-head{gap:20px}.nav{word-spacing:10px;font-size:11px}.foot{flex-direction:column;gap:5px}.masthead{padding:25px 0}}
@media(prefers-reduced-motion:reduce){body{transition:none}}
@media print{.review button{display:none}body{background:white;color:#17345c}.hero{padding:40px 0}.publication{break-inside:avoid}}

.intro-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:58px;align-items:start}
.portrait{width:220px;height:220px;border-radius:50%;object-fit:cover;margin-top:64px}
.pub-mark{width:88px;height:88px;display:block;margin-bottom:26px;border-radius:3px}
@media(max-width:760px){.intro-grid{grid-template-columns:1fr;gap:30px}.portrait{grid-row:1;width:140px;height:140px;margin-top:0}}


main{max-width:1120px;margin:auto;padding:0 28px}.review{position:static}.masthead{padding:25px 0;display:flex;gap:24px;justify-content:space-between;align-items:center;flex-wrap:wrap}
nav{display:flex;gap:18px;flex-wrap:wrap;font:14px Inter,sans-serif}a{color:var(--ink,#17345C);text-underline-offset:4px}nav a{text-decoration:none}.lang[aria-current=page]{font-weight:700;text-decoration:underline}
.section{padding:55px 0;border-top:1px solid var(--line,#D8DCD9)}.section h2{font:40px 'Source Serif 4',serif;margin:0 0 24px}.section h3{font:26px 'Source Serif 4',serif;margin:26px 0 14px}
.section p{max-width:760px;font:18px/1.65 Inter,sans-serif;color:var(--soft,#536171)}.actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:25px;align-items:center}.actions a{font:14px/1.5 Inter,sans-serif}
.actions .primary{padding:12px 17px;background:#17345C;color:#F7F5EF;border-radius:3px;text-decoration:none}.dark .actions .primary{background:#F7F5EF;color:#17345C}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project{padding:22px;border:1px solid var(--line,#D8DCD9);border-radius:3px;text-decoration:none;display:block}.project strong{font:22px 'Source Serif 4',serif}.project p{font-size:14px;margin-bottom:0}.project:hover{border-color:#F5A623}
.writing-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:45px}.intro-copy{font:clamp(19px,2vw,25px)/1.55 Inter,sans-serif}.hero{display:block!important;padding:64px 0}.portrait{margin-top:40px}.pub-mark{margin-bottom:20px}
.footer{padding:30px 0;display:flex;justify-content:space-between;gap:20px;font:13px Inter,sans-serif;flex-wrap:wrap}.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:20px;padding:10px;background:#F7F5EF;z-index:5}a:focus-visible,button:focus-visible{outline:3px solid #F5A623;outline-offset:4px}
@media(max-width:760px){.cards{grid-template-columns:1fr}.writing-grid{grid-template-columns:1fr;gap:20px}.section h2{font-size:34px}.section{padding:35px 0}.hero{padding:35px 0}.portrait{margin-top:0}main{padding:0 20px}}

main{max-width:1200px}
.overview{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px;padding:46px 0 52px}
.overview .hero{padding:0}
.intro-grid{display:flex;flex-direction:column;gap:24px}
.portrait{order:-1;width:96px;height:96px;margin:0}
.eyebrow{margin-bottom:16px}
h1{font-size:58px;margin-bottom:22px}
.intro-copy{font:20px/1.65 Inter,sans-serif;margin-bottom:0}
.overview .section{padding:28px 0 0;margin-top:30px}
.overview .section h2{font-size:29px;margin-bottom:18px;letter-spacing:-.025em}
.overview .section h3{font-size:22px;margin:0 0 8px}
.overview .section p{font-size:15px;line-height:1.65}
.overview #writing{padding:0;margin:0;border:0}
.writing-grid{display:block}
.publication-intro{display:grid;grid-template-columns:60px minmax(0,1fr);column-gap:18px}
.publication-intro .pub-mark{width:60px;height:60px;margin:0;grid-row:1 / 4}
.publication-intro h3,.publication-intro p,.publication-intro .actions{grid-column:2}
.publication-intro .actions{margin-top:0;gap:20px}
.publication-intro .primary{padding:0;background:none;color:var(--ink);text-decoration:underline}
.research-links{display:grid;grid-template-columns:1fr;gap:22px;margin-top:24px}
.research-links h3{font:600 14px Inter,sans-serif!important}
.research-links p{font-size:13px!important;margin-bottom:8px}
.research-links a{font-size:13px}
.overview #work>p{font-size:14px;margin-bottom:20px}
.project-groups{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.project-groups h3{font:600 13px Inter,sans-serif!important;margin-bottom:6px!important}
.cards{display:block}
.project{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:13px 0}
.project strong{font:20px/1.25 'Source Serif 4',serif}
.project p{font-size:13px!important;margin:5px 0 0;line-height:1.5!important}
.project:hover strong{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px}
.overview #about p{font-size:16px}
.contributions{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.overview .contributions h3{margin-bottom:10px}
.contribution{display:grid;grid-template-columns:26px minmax(0,1fr);gap:0 12px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}
.contribution .line-icon{grid-column:1;grid-row:1 / 4;width:26px;height:26px}
.contribution strong,.contribution p,.contribution small{grid-column:2}
.contribution strong{font:20px/1.3 'Source Serif 4',serif}
.contribution p{font-size:13px!important;margin:5px 0}
.contribution small{font:11px/1.5 Inter,sans-serif;color:var(--soft)}
.contribution:hover strong{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:2px}
.overview .actions{gap:18px;margin-top:20px}
.publication-intro .actions{margin-top:0}
.tela-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px}
#tela h2{font-size:34px;max-width:320px}
#tela p{font-size:16px}
.tela-logo{display:block;width:120px;height:auto;color:var(--ink);margin:0 0 22px}
#contact{padding:32px 0}
#contact h2{font-size:29px;margin-bottom:12px}
#contact p{font-size:16px}
@media(max-width:1000px) and (min-width:761px){.overview,.tela-grid{gap:36px;grid-template-columns:.9fr 1.1fr}h1{font-size:48px}.intro-copy{font-size:18px}.project-groups{gap:18px}}
@media(max-width:760px){
 main{padding:0 22px}.masthead{gap:16px;padding:20px 0}nav{gap:12px;font-size:12px}
 .overview{display:flex;flex-direction:column;gap:0;padding:30px 0 36px}
 .identity,.directory{display:contents}.hero{order:0}#writing{order:1}#work{order:2}#about{order:3}
 .intro-grid{gap:20px}.portrait{width:80px;height:80px}.eyebrow{margin-bottom:12px}h1{font-size:46px;margin-bottom:18px}.intro-copy{font-size:18px;line-height:1.65}
 .overview #writing{border-top:1px solid var(--line);margin-top:32px;padding-top:28px}
 .publication-intro{grid-template-columns:48px minmax(0,1fr);column-gap:14px}.publication-intro .pub-mark{width:48px;height:48px}
 .research-links{gap:18px}.project-groups{gap:20px}.project strong{font-size:19px}
 .tela-grid{display:block}#tela{padding:30px 0}#tela h2{max-width:none}
}
@media(max-width:360px){.project-groups,.research-links{grid-template-columns:1fr}}
.line-icon{width:26px;height:26px;flex:none;color:var(--ink);stroke-width:1.65}
.line-icon .accent{stroke:var(--amber)}
.icon-tile{width:42px;height:42px;border-radius:9px;background:var(--panel);display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}
.project{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:12px;align-content:start;align-items:start;padding:16px 0}
.project .icon-tile{grid-column:1;grid-row:1 / 3}
.project strong,.project p{grid-column:2}
.project:hover .icon-tile,.project:focus-visible .icon-tile{border-color:var(--amber)}
.research-links h3{display:flex;align-items:center;gap:9px}
.research-links h3 .line-icon{width:21px;height:21px}
.actions a:has(.line-icon){display:inline-flex;align-items:center;gap:7px}
.actions .line-icon{width:18px;height:18px;color:currentColor}
.publication-intro .pub-mark{border-radius:9px}
@media(max-width:1000px) and (min-width:761px){.project{grid-template-columns:34px minmax(0,1fr);column-gap:9px}.project .icon-tile{width:34px;height:34px}.project .line-icon{width:24px;height:24px}}
@media(max-width:760px){.project-groups{grid-template-columns:1fr;gap:28px}.project{grid-template-columns:38px minmax(0,1fr);column-gap:12px;row-gap:0}.project .icon-tile{grid-column:1;grid-row:1 / 3;width:38px;height:38px}.project strong,.project p{grid-column:2}.project p{margin:5px 0 0}.research-links h3{gap:6px}.research-links h3 .line-icon{width:18px;height:18px}}

#theme{font:13px Inter,sans-serif;color:inherit;background:transparent;border:1px solid var(--line);border-radius:3px;padding:5px 9px;cursor:pointer}
