@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');
:root{--bg:#fff;--ink:#111;--muted:#666;--line:#ddd;--link:#1f3d2e}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 Inter,Arial,Helvetica,sans-serif}
body.dark{--bg:#151515;--ink:#eee;--muted:#aaa;--line:#3b3b3b;--link:#9db9a6}
.shell{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:64px 0;display:grid;grid-template-columns:190px minmax(0,840px);gap:64px;align-items:start}
.side{font-family:Arial,Helvetica,sans-serif;border-right:1px solid var(--line);min-height:940px;padding-right:28px}
.name{font-size:27px;font-weight:600;line-height:1.1}
.nav{margin-top:46px;display:grid;gap:9px}
.nav a{font-size:14px;color:var(--muted);text-decoration:none}
.nav a:hover,.nav .active{color:var(--link)}
.social{margin-top:48px;display:grid;grid-template-columns:repeat(3,max-content);gap:6px}
.social-button,.award-link{display:inline-block;border:1px solid var(--line);background:var(--bg);color:var(--muted);font:12px/1 Arial,Helvetica,sans-serif;text-decoration:none;padding:7px 8px}
.social-button:hover,.award-link:hover{border-color:var(--ink);color:var(--ink)}
.toggle{margin-top:10px;border:0;padding:0;background:none;color:var(--muted);font:14px Arial,Helvetica,sans-serif;text-decoration:underline;cursor:pointer;text-align:left}
.social .toggle{grid-column:1/-1}
.main{padding-bottom:70px;min-width:0}
h1{font:600 28px/1.2 Arial,Helvetica,sans-serif;margin:0 0 22px}
h2{font:600 19px/1.25 Arial,Helvetica,sans-serif;margin:34px 0 13px}
h3{font:600 17px/1.3 Arial,Helvetica,sans-serif;margin:0}
p{margin:0 0 15px}
a{color:var(--link)}
.facts{margin-top:26px;border-top:1px solid var(--line)}
.fact{display:grid;grid-template-columns:88px 1fr;gap:18px;padding:11px 0;border-bottom:1px solid var(--line)}
.label,.date,.kind{font:12px/1.5 Arial,Helvetica,sans-serif;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.fact>div:last-child{font-size:13px}
.thinking{font-size:13px;line-height:1.5;padding-left:20px;margin:0}
.thinking li{padding:4px 0}
.list{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:105px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}
.row-title{font-size:17px;line-height:1.4}
.meta{font:13px/1.45 Arial,Helvetica,sans-serif;color:var(--muted);margin-top:4px}
.description{font-size:15px;line-height:1.5;color:var(--muted);margin-top:7px}
.awards-page h1{margin-bottom:52px}
.award{display:grid;grid-template-columns:105px 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--line)}
.award:first-of-type{border-top:0;padding-top:0}
.award-date{font:12px/1.5 Arial,Helvetica,sans-serif;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.award h3{font:400 20px/1.35 Inter,Arial,Helvetica,sans-serif;margin:0}
.award-issued{font:14px/1.5 Arial,Helvetica,sans-serif;color:var(--muted);margin-top:5px}
.award-link{margin-top:8px}
.award .description{font:14px/1.5 Arial,Helvetica,sans-serif;color:var(--muted);margin-top:8px}
.filters{display:flex;gap:8px;margin:0 0 24px}
.filter{border:1px solid var(--line);border-radius:0;background:var(--bg);color:var(--muted);font:13px Arial,Helvetica,sans-serif;padding:7px 10px;cursor:pointer}
.filter.active{border-color:var(--ink);color:var(--ink)}
.project{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:14px 0;border-top:1px solid var(--line)}
.project[data-hidden="true"],.row[data-hidden="true"]{display:none}
.project-title,.writing-page .row-title{font:16px/1.45 Arial,Helvetica,sans-serif}
.intro{max-width:760px}
.research-page .publications-heading{margin-bottom:23px}
.research-page .publication-title{font-family:Arial,Helvetica,sans-serif;font-size:inherit}
.research-page .publication-details{font-size:inherit}
.research-page .row-title{font-size:15px}
.research-page .date{font-size:10px}
.research-page .meta{font-size:15px}
.research-page .main>h2:not(.publications-heading){font-size:17px}
.research-page h3+.list{margin-top:7px}
@media(max-width:700px){.shell{width:auto;padding:0;display:block}.side{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:20px 22px}.nav{display:none}.social{display:flex;gap:12px;float:right;margin:-24px 0 0}.social .toggle{margin:0}.main{padding:28px 22px}.fact,.row,.project,.award{grid-template-columns:82px 1fr}.awards-page h1{margin-bottom:36px}}
