@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--ink:#101735;--purple:#653db4;--light:#f6f4fc;--line:#e5e1ef;--muted:#596076}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:17px/1.75 'DM Sans',Arial,sans-serif;background:#fff}a{color:#5733a3;text-underline-offset:3px}a:hover{color:#341d6d}h1,h2,h3,.logo{font-family:Manrope,Arial,sans-serif;line-height:1.2;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,5vw,4.7rem);margin:.4em 0}h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:0 0 .8em}h3{font-size:1.25rem;margin:.4em 0}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}.header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.navwrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:82px}.logo{font-weight:800;font-size:1.6rem;color:var(--ink);text-decoration:none;white-space:nowrap}.logo span{color:var(--purple)}.mark{color:var(--purple)}nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}nav a{text-decoration:none;color:#33394f;font-size:.84rem;font-weight:700}nav a[aria-current=page]{color:var(--purple);border-bottom:2px solid var(--purple)}.menu{display:none}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:20;background:white}.homehero{position:relative;overflow:hidden;background:linear-gradient(135deg,#faf9fe,#f0ecfb);padding:15px 0 55px}.homehero .wrap{position:relative;z-index:1}.homehero h1{font-size:clamp(4rem,10vw,8rem);margin:.1em 0}.homehero h1 span{color:var(--purple)}.home-title{font:700 clamp(1.35rem,2.5vw,2rem)/1.4 Manrope;max-width:790px}.lede{max-width:820px;font-size:1.2rem;color:#454b62}.eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:800;color:var(--purple);text-transform:uppercase}.waves{position:absolute;bottom:-3px;width:100%;height:170px}.waves svg{width:100%;height:100%}.actions{display:flex;align-items:center;gap:24px;margin-top:35px}.btn{display:inline-block;background:var(--purple);color:white;padding:13px 24px;border-radius:6px;text-decoration:none;font-weight:700}.btn:hover{background:#482487;color:white}.quiet{font-weight:700}.section{padding:85px 0}.intro{max-width:890px;font-size:1.18rem}.pagehead{padding:85px 0 75px;background:linear-gradient(115deg,#f8f7fd,#f0edfa);border-bottom:1px solid var(--line)}.pagehead h1{max-width:1050px}.prose{max-width:940px}.prose p{max-width:840px}.prose+.prose{border-top:1px solid var(--line)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}.card{border:1px solid var(--line);padding:28px;border-radius:10px;background:#fff}.card p{margin-bottom:0}.band,.muted{background:var(--light)}.band{padding:65px 0}.bandgrid{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:60px}.bandgrid img,.funding img{width:100%;max-width:390px;background:white;border:1px solid var(--line);border-radius:8px}.feature,.entry{display:flex;flex-direction:column;gap:8px;padding:26px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.feature strong,.entry strong{font:700 1.35rem/1.4 Manrope}.feature span,.entry span,.entry small{color:var(--muted)}.feature:hover strong,.entry:hover strong{color:var(--purple)}.entries{margin-top:25px}.wp{padding:42px 0;border-bottom:1px solid var(--line);max-width:900px}.wp h2{margin:.4em 0}.wp h3{font-size:1rem;margin-top:26px}.people{display:grid;grid-template-columns:1fr 1fr;gap:40px}.person{border:1px solid var(--line);border-radius:10px;overflow:hidden}.person img{width:100%;height:290px;object-fit:cover;object-position:center 30%;background:#eee}.person>div{padding:26px}.person h2{font-size:1.6rem;margin:10px 0}.affiliation{font-weight:700;color:var(--purple)}.funding{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}.funding dl{display:grid;grid-template-columns:1fr 1.5fr;gap:12px}.funding dt{font-weight:700}.funding dd{margin:0}.small{font-size:.91rem;color:var(--muted)}.meta{background:var(--light);padding:18px}.article{max-width:800px;font-size:1.13rem}.article p{margin:0 0 1.6em}footer{background:#151832;color:#e4e2f0;padding:55px 0}.foot{display:flex;justify-content:space-between;gap:40px}.foot>div{max-width:520px}.foot .logo{color:#fff}.foot p{font-size:.9rem}.foot a:not(.logo){color:#c9b5ff}@media(max-width:900px){.menu{display:block;background:transparent;border:1px solid var(--line);border-radius:5px;padding:8px 12px;font:inherit}nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;padding:20px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}nav.open{display:flex}.people{grid-template-columns:1fr 1fr}}@media(max-width:650px){body{font-size:16px}.wrap{width:min(100% - 34px,1120px)}.homehero{padding:70px 0 130px}.pagehead{padding:65px 0}.section{padding:60px 0}.cards,.people,.bandgrid,.funding{grid-template-columns:1fr}.foot{flex-direction:column}.funding dl{grid-template-columns:1fr}.person img{height:350px}.actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* People page: circular academic profile portraits */
.people{grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 34px;align-items:start}
.person{border:0;border-radius:0;overflow:visible;text-align:center;background:transparent}
.person img{display:block;width:min(100%,220px);height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center center;border-radius:50%;margin:0 auto;background:#f2eef9;border:4px solid #f0ecfa}
.person>div{padding:20px 8px 0}
.person h2{font-size:1.3rem;margin:9px 0}
.person .affiliation{font-weight:500;font-size:.95rem;line-height:1.5;margin:10px auto;max-width:260px}
.person .eyebrow{font-size:.69rem}
.person p:last-child{margin:12px 0 0}
@media(max-width:900px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.people{grid-template-columns:1fr;gap:46px}.person img{width:210px}}

/* Compact title panels on internal pages */
.pagehead {
  padding: 32px 0 28px;
  min-height: 0;
}
.pagehead h1 {
  margin: 0.15em 0;
}
@media (max-width: 650px) {
  .pagehead {
    padding: 26px 0 24px;
  }
}
