/* A compact academic identity: ink, paper, and Delft blue. */
:root{--ink:#172e44;--text:#354452;--muted:#5b6b78;--blue:#006b91;--accent:#009cb7;--line:#dce3e8;--wash:#f3f7fa;--paper:#fff;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;background:var(--paper);color:var(--text);font:1rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--ink)}button{font:inherit}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--ink)}h1,h2{font-family:var(--serif);font-weight:400}h1{font-size:clamp(2.8rem,6vw,4.6rem);line-height:1.1;letter-spacing:-.045em;margin-bottom:1.2rem}h2{font-size:clamp(1.9rem,3.8vw,2.65rem);line-height:1.2;letter-spacing:-.03em}h3{font-size:1.2rem;line-height:1.4;font-weight:600;letter-spacing:-.02em}p{margin-bottom:1rem}p:last-child{margin-bottom:0}ul{padding-left:1.25rem}::selection{background:#cfedf4;color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{max-width:1160px;width:calc(100% - 5rem);margin-inline:auto}.skip{position:fixed;left:1rem;top:-5rem;padding:.75rem 1rem;background:var(--ink);color:white;z-index:100}.skip:focus{top:1rem}.site-header{border-top:4px solid var(--ink);border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:30}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--ink);flex-shrink:0}.brand-mark{font-family:var(--serif);font-size:1.6rem;letter-spacing:-.05em;border-right:1px solid var(--line);padding-right:1rem;line-height:1}.brand-name{font-size:.8rem;line-height:1.5;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.brand-name span{display:block;font-weight:400;color:var(--muted);letter-spacing:.06em}.nav-links{display:flex;align-items:center;gap:1.65rem}.nav-links a{font-size:.9rem;text-decoration:none;color:var(--text);padding:.35rem 0;border-bottom:2px solid transparent;white-space:nowrap}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--blue);border-color:var(--blue)}.menu-toggle{display:none;border:1px solid var(--line);background:white;color:var(--ink);padding:.4rem .8rem;cursor:pointer}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:600;color:var(--blue);margin-bottom:1.25rem}.hero{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:6rem;padding:5rem 0 4.5rem;align-items:center}.hero .role{font-size:1.1rem;color:var(--ink);margin-bottom:1.8rem}.hero .intro{font-size:1.15rem;line-height:1.75;max-width:660px}.hero .intro strong{color:var(--ink);font-weight:500}.hero .portrait{position:relative;padding-left:1rem;border-left:3px solid var(--accent)}.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 35%}.portrait figcaption{font-size:.8rem;margin-top:.85rem;color:var(--muted);line-height:1.5}.text-links{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:1.7rem}.text-links a{font-size:.9rem;font-weight:500;text-decoration:none;border-bottom:1px solid #9bb9c7;padding-bottom:2px}.section{padding:3.6rem 0;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2rem}.section-heading h2{margin:0}.section-heading>a{font-size:.9rem;white-space:nowrap}.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.research-card{min-width:0}.research-card .image-link{display:block;height:175px;background:var(--wash);overflow:hidden;border:1px solid var(--line)}.research-card img{width:100%;height:100%;object-fit:contain;padding:.7rem}.research-card:nth-child(2) img{object-fit:cover;object-position:50% 43%;padding:0}.research-card:nth-child(3) img{object-fit:cover;padding:0}.research-card .number{font-size:.8rem;color:var(--blue);font-variant-numeric:tabular-nums;margin:1.1rem 0 .5rem;letter-spacing:.07em}.research-card h3{margin-bottom:.7rem}.research-card h3 a{color:var(--ink);text-decoration:none}.research-card h3 a:hover{color:var(--blue)}.research-card p{color:var(--muted);font-size:.95rem;line-height:1.65}.news-list{list-style:none;padding:0;margin:0}.news-item{display:grid;grid-template-columns:100px minmax(0,1fr);gap:2rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.news-item:first-child{padding-top:0}.news-item:last-child{border-bottom:0}.news-item time{font-size:.88rem;color:var(--muted);padding-top:.12rem}.news-item p{margin:0}.news-item a{font-size:.9rem;margin-left:.4rem}.archive{margin-top:1.2rem}.archive summary{cursor:pointer;color:var(--blue);font-size:.95rem;padding:.5rem 0}.archive[open] .news-list{margin-top:1rem}.paper-list{list-style:none;padding:0;margin:0}.paper{padding:1.5rem 0;border-bottom:1px solid var(--line)}.paper:first-child{padding-top:0}.paper:last-child{border-bottom:0}.paper h3{font-size:1.12rem;margin:0 0 .45rem;line-height:1.55;max-width:880px}.paper h3 a{color:var(--ink);text-decoration:none}.paper h3 a:hover{color:var(--blue);text-decoration:underline}.paper .authors{font-size:.93rem;margin-bottom:.3rem}.paper .authors strong{font-weight:600;color:var(--ink)}.paper .citation{font-size:.9rem;color:var(--muted);margin-bottom:.55rem}.paper-links{display:flex;gap:1rem;flex-wrap:wrap}.paper-links a{font-size:.82rem;font-weight:500;text-decoration:none;border-bottom:1px solid #b5cbd3}.paper .tag{color:var(--blue);font-size:.8rem;display:block;margin-bottom:.45rem}.page-header{padding:4.4rem 0 2.8rem;max-width:800px}.page-header h1{font-size:clamp(2.7rem,5vw,3.8rem)}.page-header .lead{font-size:1.12rem;color:var(--muted);max-width:720px}.page-header .eyebrow{margin-bottom:.9rem}.anchor-nav{display:flex;gap:1.4rem;flex-wrap:wrap;padding:1rem 0 1.8rem;border-bottom:1px solid var(--line);font-size:.9rem}.anchor-nav a{text-decoration:none}.research-detail{padding:4rem 0;border-bottom:1px solid var(--line);scroll-margin-top:6rem}.research-detail:last-child{border-bottom:0}.research-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:4rem;align-items:start}.research-main h2{font-size:2.2rem}.research-figure{background:var(--wash);border:1px solid var(--line);padding:1.4rem}.research-figure img{height:250px;width:100%;object-fit:contain}.research-figure figcaption{font-size:.85rem;color:var(--muted);line-height:1.5;margin-top:1rem}.related{margin-top:1.6rem}.related h3{font-size:.95rem;color:var(--muted);margin-bottom:.6rem}.related ul{margin:0;padding-left:1rem}.related li{font-size:.95rem;margin-bottom:.75rem}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:2.3rem}.video-card .video-frame{position:relative;background:#132332;aspect-ratio:16/9;overflow:hidden}.video-frame iframe,.video-frame video{border:0;width:100%;height:100%;display:block}.video-launch{position:relative;width:100%;height:100%;padding:0;border:0;display:block;cursor:pointer;color:white;background:var(--ink)}.video-launch img{width:100%;height:100%;object-fit:contain;opacity:.83;transition:opacity .2s}.video-launch:hover img{opacity:.65}.play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:62px;height:62px;background:#fff;color:var(--ink);border-radius:50%;box-shadow:0 2px 18px #0002}.play-icon svg{width:24px;height:24px;margin-left:3px}.video-card figcaption{padding-top:.9rem}.video-card h3{font-size:1.1rem;margin-bottom:.3rem}.video-card p{font-size:.9rem;color:var(--muted);margin-bottom:.3rem}.video-card .external-video{font-size:.85rem}.group-photo{display:grid;grid-template-columns:200px minmax(0,1fr);gap:3rem;align-items:start;padding-bottom:3rem}.group-photo img{width:200px;aspect-ratio:4/5;object-fit:cover}.group-photo h2{margin-bottom:.5rem}.group-photo .role{color:var(--blue);margin-bottom:1rem}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.7rem 2.4rem}.person{border-top:2px solid var(--ink);padding-top:1.2rem}.person h3{margin-bottom:.25rem}.person .person-role{font-size:.9rem;color:var(--blue);margin-bottom:.7rem}.person .topic{font-size:1rem;margin-bottom:.7rem}.person .education,.person .coadvisors{font-size:.86rem;color:var(--muted);line-height:1.6;margin-bottom:.5rem}.alumni-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.alumnus{border-top:1px solid var(--line);padding-top:1.2rem}.alumnus h3{margin-bottom:.25rem}.alumnus .metadata{font-size:.88rem;color:var(--muted);margin-bottom:.6rem}.alumnus .thesis{font-size:.96rem;margin-bottom:.6rem}.alumnus .coadvisors,.alumnus .next{font-size:.85rem;color:var(--muted)}.pub-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:3rem;padding:1rem 0 4rem}.pub-sidebar{align-self:start;position:sticky;top:8rem;display:flex;flex-direction:column;gap:.65rem}.pub-sidebar a{font-size:.9rem;text-decoration:none}.pub-sidebar .eyebrow{font-size:.75rem;margin-bottom:.2rem}.pub-group{margin-bottom:3rem;scroll-margin-top:7rem}.pub-group h2{font-size:1.9rem;border-bottom:2px solid var(--ink);padding-bottom:.7rem;margin-bottom:1.6rem}.software{background:var(--wash);border-left:3px solid var(--accent);padding:1.7rem;margin-top:2rem}.software h3{margin-bottom:.7rem}.course{display:grid;grid-template-columns:140px minmax(0,1fr);gap:2rem;padding:2rem 0;border-top:1px solid var(--line)}.course h2{font-size:1.7rem;margin-bottom:.6rem}.course time{font-size:.95rem;color:var(--blue)}.course .metadata{font-size:.9rem;color:var(--muted);margin-bottom:.7rem}.opportunity{display:grid;grid-template-columns:200px minmax(0,1fr);gap:3rem;padding:2.2rem 0;border-top:1px solid var(--line)}.opportunity h2{font-size:1.7rem;margin:0}.contact-panel{background:var(--wash);padding:2.1rem;margin:2rem 0 4rem;border-left:3px solid var(--accent)}.contact-panel h2{font-size:1.7rem;margin-bottom:.8rem}.contact-panel a{overflow-wrap:anywhere}.site-footer{background:var(--wash);border-top:1px solid var(--line);padding:2.7rem 0 1.6rem;margin-top:1rem}.footer-top{display:flex;justify-content:space-between;gap:2rem}.footer-name{font-family:var(--serif);font-size:1.6rem;color:var(--ink);margin-bottom:.5rem}.footer-address{font-size:.9rem;color:var(--muted);line-height:1.7}.footer-links{display:flex;gap:1.5rem;align-items:flex-start;flex-wrap:wrap;font-size:.9rem}.footer-bottom{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);display:flex;justify-content:space-between;gap:1rem}.footer-bottom a{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.hero{padding-block:5.5rem}.hero .intro{font-size:1.2rem}}
@media(max-width:1000px){.wrap{width:calc(100% - 3rem)}.header-inner{gap:1rem}.nav-links{gap:1.1rem}.hero{gap:3rem;grid-template-columns:minmax(0,1fr) 220px}.brand-mark{display:none}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.research-main{gap:2rem}.pub-layout{gap:2rem;grid-template-columns:130px minmax(0,1fr)}}
@media(max-width:760px){html{scroll-padding-top:6rem}.wrap{width:calc(100% - 2.5rem)}.header-inner{min-height:76px;flex-wrap:wrap;padding:1rem 0}.brand-mark{display:block;font-size:1.5rem}.brand-name{font-size:.75rem}.js .menu-toggle{display:block}.nav-links{width:100%;gap:.2rem 1.4rem;flex-wrap:wrap;padding:.6rem 0}.js .nav-links{display:none}.js .nav-links.is-open{display:flex}.nav-links a{font-size:.95rem;padding:.4rem 0}.hero{padding:3rem 0;grid-template-columns:minmax(0,1fr) 135px;gap:1.5rem;align-items:start}.hero-copy{display:contents}.hero .eyebrow{grid-column:1/-1;margin:0;font-size:.72rem}.hero h1{font-size:3rem;margin:0;grid-column:1;align-self:end}.hero .role{grid-column:1;font-size:.96rem;margin:0;line-height:1.6}.hero .portrait{grid-column:2;grid-row:2/4;padding-left:.6rem}.hero .portrait figcaption{display:none}.hero .intro{grid-column:1/-1;font-size:1.05rem;margin:0}.hero .text-links{grid-column:1/-1;margin-top:.2rem;gap:1.25rem}.section{padding:2.6rem 0}.section-heading{margin-bottom:1.6rem;align-items:center}.section-heading h2{font-size:1.9rem}.section-heading>a{font-size:.85rem}.research-grid{grid-template-columns:1fr;gap:1.6rem}.research-card{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:1.2rem}.research-card .image-link{grid-column:1;grid-row:1/5;height:130px}.research-card .number{grid-column:2;margin:0 0 .35rem}.research-card h3{grid-column:2;font-size:1.1rem;margin-bottom:.4rem}.research-card p{grid-column:2;font-size:.9rem}.news-item{grid-template-columns:75px minmax(0,1fr);gap:1rem;font-size:.95rem}.news-item time{font-size:.8rem}.page-header{padding:3rem 0 2rem}.page-header .lead{font-size:1.05rem}.anchor-nav{gap:.75rem 1rem}.research-detail{padding:2.7rem 0}.research-main{grid-template-columns:1fr;gap:1.4rem}.research-main h2{font-size:2rem}.research-figure img{height:220px}.video-grid{grid-template-columns:1fr;gap:1.6rem}.group-photo{grid-template-columns:1fr;gap:1.6rem}.group-photo img{width:150px}.people-grid{gap:1.5rem}.person h3{font-size:1.1rem}.alumni-list{grid-template-columns:1fr}.pub-layout{display:block}.pub-sidebar{position:static;flex-direction:row;flex-wrap:wrap;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1.5rem;margin-bottom:2rem}.pub-sidebar .eyebrow{width:100%}.course{grid-template-columns:1fr;gap:.5rem;padding:1.6rem 0}.opportunity{grid-template-columns:1fr;gap:1rem;padding:1.8rem 0}.contact-panel{padding:1.5rem}.footer-top{display:block}.footer-links{margin-top:1.5rem;gap:1rem 1.5rem}.footer-bottom{flex-wrap:wrap}.paper h3{font-size:1.05rem}}
@media(max-width:400px){.hero{grid-template-columns:minmax(0,1fr) 105px;gap:1.2rem}.hero h1{font-size:2.55rem}.hero .role{font-size:.88rem}.people-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-wrap:wrap}.research-card{grid-template-columns:90px minmax(0,1fr)}.research-card .image-link{height:115px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.menu-toggle,.video-launch,.pub-sidebar{display:none}.wrap{width:100%;max-width:none}.hero,.section,.page-header{padding:1rem 0}.pub-layout{display:block}.paper,.person,.alumnus,.course{break-inside:avoid}a{color:inherit}.video-grid{display:block}.video-card{margin-bottom:1rem}}
.research-card:nth-child(2) img {
  object-fit: contain;
  object-position: center;
}
.featured-video {
  width: 65%;
  margin: 2rem auto 0;
}

@media (max-width: 760px) {
  .featured-video {
    width: 100%;
  }
}
