@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/nunito-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/nunito-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito Sans";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/nunito-sans-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito Sans";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/nunito-sans-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/nunito-sans-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/nunito-sans-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito Sans";font-style:italic;font-weight:700;font-display:swap;src:url(/assets/fonts/nunito-sans-latin-700-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito Sans";font-style:italic;font-weight:700;font-display:swap;src:url(/assets/fonts/nunito-sans-latin-ext-700-italic.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/jost-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/jost-latin-ext-300-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jost-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jost-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/jost-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/jost-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --bg:#f1eeea; --text:#0d0d0d; --muted:#6b6863; --rule:#cfcac3; --link:#4a5fc1; --panel:#fbfaf8;
  --max:1100px; --gutter:clamp(16px,4vw,50px);
}
/* Follows the visitor's system setting: dark only if their device is in dark mode */
@media (prefers-color-scheme: dark){
  :root{ --bg:#1c1b19; --text:#e9e5df; --muted:#a29d95; --rule:#3d3a36; --link:#9aa9f0; --panel:#262522; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.4 "Nunito Sans","Proxima Nova",system-ui,sans-serif}
h1,h2,h3,h4,.site-title,.site-nav{font-family:Jost,"Futura PT",Futura,"Century Gothic",sans-serif}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}

.site-header,.content,.site-footer{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;padding-top:56px;padding-bottom:28px;position:relative}
.site-header::after{content:"";position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;border-bottom:1px solid var(--text)}
.site-title{font-weight:300;font-size:clamp(26px,4vw,35px);letter-spacing:2px;text-transform:uppercase;color:var(--text)}
.site-title:hover{text-decoration:none}
.site-nav{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:baseline}
.site-nav>a,.site-nav summary{font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--text);cursor:pointer}
.site-nav a[aria-current]{color:var(--link)}
.dropdown{position:relative}
.dropdown summary{list-style:none}
.dropdown summary::-webkit-details-marker{display:none}
.dropdown summary::after{content:" ▾";font-size:10px;color:var(--muted)}
.dropdown ul{position:absolute;right:0;top:calc(100% + 10px);z-index:10;margin:0;padding:10px 0;list-style:none;min-width:260px;background:var(--panel);border:1px solid var(--rule);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.dropdown li a{display:block;padding:5px 18px;color:var(--text);font-size:15px;font-family:"Nunito Sans",sans-serif;letter-spacing:0}
.dropdown li a:hover,.dropdown li a[aria-current]{color:var(--link);text-decoration:none}

.content{padding-top:40px;padding-bottom:40px}
h1,h2,h3,h4{font-weight:700;line-height:1.2;margin:1.6em 0 .6em}
h1{font-size:28px} h2{font-size:22.4px} h3{font-size:18px}
.content>h1:first-child,.content>h2:first-child,.col>h2:first-child{margin-top:0}
hr{border:0;border-top:1px solid var(--rule);margin:40px 0}
blockquote{margin:1em 0;padding-left:1em;border-left:3px solid var(--rule);color:var(--muted)}
table{border-collapse:collapse;display:block;overflow-x:auto}
th,td{border-bottom:1px solid var(--rule);padding:6px 10px;text-align:left;vertical-align:top}
code{font-size:.9em}
.right{float:right;margin:0 0 16px 24px;max-width:45%}
.left{float:left;margin:0 24px 16px 0;max-width:45%}

/* Two-column rows carried over from the old layout (12-column grid) */
.row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px 36px;align-items:start}
.col{min-width:0}
.c2{grid-column:span 2}.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}
.c7{grid-column:span 7}.c8{grid-column:span 8}.c9{grid-column:span 9}.c10{grid-column:span 10}.c12{grid-column:span 12}
.col>:first-child{margin-top:0}
.col h2{font-size:20px}
.row img{border-radius:22px}
.grants p{margin:.4em 0}

.video{position:relative;aspect-ratio:16/9;margin:1em 0}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.publications ol{padding-left:2.2em;margin:0 0 1.5em}
.publications li{margin:0 0 .7em}
.publications li p{margin:0}
.publications h3.pub-year{font-size:17px;margin:1.6em 0 .6em}
.publications h3.pub-year:first-child{margin-top:1em}

.site-footer{padding-top:24px;padding-bottom:56px;border-top:1px solid var(--rule);color:var(--muted);font-size:14px;text-align:center}

@media (max-width:760px){
  .site-header{padding-top:28px}
  .row{display:block}
  .row>.col+.col{margin-top:16px}
  .row img{max-width:320px}
  .dropdown ul{right:auto;left:0;min-width:min(260px,calc(100vw - 32px))}
  .right,.left{float:none;display:block;margin:0 0 16px;max-width:100%}
}
