/* Classic academic layout. MIT core palette: https://brand.mit.edu/color */
:root { --mit-red:#750014; --ink:#212326; --muted-ink:#626a73; --rule:#dde1e6; --paper:#ffffff; }
* { box-sizing:border-box; }
html { color-scheme:light; }
body.academic-site { margin:0; background:var(--paper); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased; }
h1,h2,h3,p,figure { margin:0; }
a { color:var(--mit-red); text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--mit-red); outline-offset:5px; }
img { display:block; max-width:100%; height:auto; }
strong { font-weight:600; }
.skip-link { position:absolute; top:0; left:16px; transform:translateY(-150%); padding:8px 14px; background:var(--paper); z-index:1; }
.skip-link:focus { transform:translateY(0); }
.site-top { background:var(--mit-red); color:#ffffff; padding:18px 40px; }
.header-inner { max-width:1100px; margin:auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px 28px; }
.site-name { font-size:18px; font-weight:500; white-space:nowrap; }
.site-nav { display:flex; align-items:center; flex-wrap:wrap; gap:22px; font-size:14px; }
.site-top a { color:inherit; text-decoration:none; }
.site-top a:focus-visible { outline-color:#ffffff; }
.site-nav a:hover,.site-nav [aria-current="page"] { text-decoration:underline; text-underline-offset:7px; }
.nav-group { position:relative; }
.nav-group-top { display:flex; align-items:center; gap:3px; }
.nav-group.is-current-section .nav-group-top > a { text-decoration:underline; text-underline-offset:7px; }
.nav-toggle { display:flex; align-items:center; justify-content:center; width:26px; height:28px; padding:0; border:0; border-radius:2px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.nav-toggle:hover,.nav-toggle[aria-expanded="true"] { background:rgba(255,255,255,.13); }
.nav-toggle:focus-visible { outline-color:#ffffff; outline-offset:2px; }
.nav-toggle[aria-expanded="true"] span { transform:rotate(180deg); }
.nav-dropdown { position:absolute; top:calc(100% + 12px); left:-14px; z-index:10; width:320px; max-width:calc(100vw - 32px); padding:6px 0; margin:0; list-style:none; background:var(--paper); color:var(--ink); border:1px solid var(--rule); border-top:3px solid var(--mit-red); box-shadow:0 8px 20px rgba(33,35,38,.12); }
.site-top .nav-dropdown a { display:block; padding:10px 14px; font-size:14px; line-height:1.45; }
.site-top .nav-dropdown a:hover,.nav-dropdown a[aria-current="page"] { background:#f7f3f4; color:var(--mit-red); text-decoration:none; }
.site-top .nav-dropdown a:focus-visible { outline-color:var(--mit-red); outline-offset:-3px; }
.nav-toggle[hidden],.nav-dropdown[hidden] { display:none; }
.page-wrap { max-width:1100px; padding:0 48px; margin:auto; }
.page-intro { padding:40px 0 31px; border-bottom:1px solid var(--rule); }
h1,.home-content h2,.research-group h2,.teaching-section h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500; line-height:1.3; }
.page-intro h1 { font-size:36px; margin-bottom:20px; }
.page-intro p { max-width:880px; }
.page-intro p + p { margin-top:12px; }
.site-footer { border-top:1px solid var(--rule); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px 24px; padding:20px 0; margin-top:32px; font-size:13px; color:var(--muted-ink); }
.footer-links { display:flex; flex-wrap:wrap; gap:18px; }

/* Portrait and social links appear on the homepage only. */
.home-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:52px; padding-top:42px; }
.profile-photo { width:184px; aspect-ratio:1; object-fit:cover; }
.profile-name { font:500 26px/1.35 Georgia,"Times New Roman",serif; margin-top:18px; }
.profile-role { font-size:14px; color:var(--muted-ink); margin-top:8px; line-height:1.6; }
.profile-links { display:grid; gap:9px; font-size:14px; margin-top:22px; }
.profile-location { color:var(--muted-ink); }
.home-content { min-width:0; }
.home-content h1 { font-size:31px; margin-bottom:18px; }
.home-content h2 { font-size:25px; margin-bottom:16px; }
.home-content section + section { margin-top:32px; padding-top:25px; border-top:1px solid var(--rule); }
.home-content p + p { margin-top:16px; }
.theme-list { padding-left:20px; margin:0; }
.theme-list li + li { margin-top:5px; }
.section-link { font-size:14px; margin-top:12px !important; }
.news-list { list-style:disc outside; padding:0 0 0 20px; margin:0; }
.news-entry { font-size:14px; line-height:1.6; }
.news-entry + .news-entry { margin-top:12px; }
.news-entry p { margin:0; }
.news-entry > p > strong:first-child { color:var(--muted-ink); font-weight:500; }

/* Research overview, linked roadmap, and separate narrative directions. */
.research-content { width:100%; max-width:880px; margin:0 auto; }
.research-nav { display:flex; flex-wrap:wrap; gap:0 28px; max-width:880px; margin:0 auto; padding:10px 0 0; border-bottom:1px solid var(--rule); font-size:14px; line-height:1.45; }
.research-nav a { display:flex; align-items:center; min-height:44px; padding:8px 0 10px; border-bottom:2px solid transparent; margin-bottom:-1px; color:var(--muted-ink); text-decoration:none; }
.research-nav a:hover { color:var(--mit-red); }
.research-nav a[aria-current="page"] { color:var(--mit-red); border-bottom-color:var(--mit-red); font-weight:600; }
.research-overview .page-intro { padding:30px 0 25px; border-bottom:0; }
.research-overview .page-intro h1 { margin-bottom:15px; }
.research-overview .page-intro p { max-width:none; }
.roadmap-section { padding:4px 0 8px; }
.research-roadmap { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.roadmap-theme { display:grid; grid-template-rows:subgrid; grid-row:span 4; min-width:0; padding:25px 26px 24px; border:1px solid var(--rule); border-top:3px solid var(--mit-red); }
.roadmap-theme h2 { font:500 29px/1.3 Georgia,"Times New Roman",serif; color:var(--mit-red); margin-bottom:12px; }
.roadmap-theme p { font-size:15px; line-height:1.6; color:var(--muted-ink); }
.roadmap-figure { margin:24px 0 0; }
.roadmap-figure figcaption { margin-bottom:8px; font-size:13px; font-weight:500; line-height:1.5; }
.roadmap-figure figcaption span { font-weight:400; color:var(--muted-ink); }
.roadmap-figure img { width:100%; height:auto; }
.roadmap-figure-labels { display:flex; flex-wrap:nowrap; justify-content:space-between; margin-top:7px; font-size:12px; line-height:1.5; color:var(--muted-ink); text-align:center; }
.roadmap-figure-labels span { display:block; flex:0 0 44%; white-space:nowrap; }
.roadmap-figure-labels span:last-child { flex-basis:48%; }
.roadmap-theme ul { padding:0 0 0 18px; margin:20px 0 0; font-size:15px; line-height:1.5; }
.roadmap-theme li + li { margin-top:12px; }
.roadmap-theme li a { color:var(--ink); text-decoration:none; }
.roadmap-theme li a:hover { color:var(--mit-red); text-decoration:underline; }
.roadmap-theme li span { color:var(--mit-red); }
.research-overview .research-outro { padding-top:20px; }
.research-direction .page-intro { padding:30px 0 28px; }
.research-direction .page-intro h1 { font-size:33px; margin-bottom:15px; }
.research-topic { padding:30px 0 32px; scroll-margin-top:24px; }
.research-topic + .research-topic { border-top:1px solid var(--rule); }
.research-topic h2 { font:500 25px/1.35 Georgia,"Times New Roman",serif; margin-bottom:21px; }
.topic-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,40%); gap:32px; align-items:start; }
.topic-layout.prose-only,.topic-layout.wide-figure { display:block; }
.topic-layout.prose-only,.topic-layout.wide-figure .topic-prose { max-width:100%; }
.topic-layout.wide-figure .research-figure { width:100%; margin:24px auto 0; }
.research-figure.figure-context { max-width:680px; }
.research-figure.figure-regimes { max-width:900px; }
.research-figure.figure-inverse { max-width:720px; }
.research-figure.figure-concept { max-width:700px; }
.topic-prose,.research-figure { min-width:0; }
.topic-prose p + p { margin-top:16px; }
.research-figure img { width:100%; }
.figure-link { display:block; cursor:zoom-in; }
.research-figure figcaption { margin-top:12px; font-size:13px; line-height:1.55; color:var(--muted-ink); }
.figure-action { display:inline-block; font-size:13px; margin-top:8px; }
.research-outro { padding:28px 0 5px; font-size:15px; }

/* One complete publication list, with years in the citations. */
.publications-page .page-intro { padding-bottom:22px; border-bottom:0; }
.publication-list { list-style:disc outside; padding:0 0 0 22px; margin:0; }
.publication-entry { padding:0; line-height:1.45; }
.publication-entry + .publication-entry { margin-top:16px; }
.publication-entry::marker { font-size:14px; }
.publication-title { font-size:16px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.publication-entry .authors { margin-top:2px; font-size:14px; color:var(--muted-ink); }
.publication-entry .authors strong { color:var(--ink); }
.publication-entry .venue { margin-top:0; font-size:14px; }
.publication-resources { display:inline; margin-left:6px; }
.publication-resources a { display:inline-block; margin-right:7px; text-decoration:none; white-space:nowrap; }
.publication-resources a:last-child { margin-right:0; }
.publication-resources a:hover { text-decoration:underline; }
.status-label { font-weight:500; }
.publication-note { color:var(--muted-ink); font-size:13px; margin-top:8px !important; }
.publication-links { display:flex; flex-wrap:wrap; gap:20px; margin-top:16px; font-size:14px; }

/* Teaching: a simple list with clear section and institution boundaries. */
.teaching-page .page-intro { padding-bottom:0; border-bottom:0; }
.teaching-page .page-intro h1 { margin-bottom:0; }
.teaching-section { padding:28px 0 0; }
.teaching-section + .teaching-section { padding-top:32px; }
.teaching-section h2 { font-size:26px; padding-bottom:10px; margin-bottom:20px; border-bottom:1px solid var(--rule); }
.teaching-institution + .teaching-institution { margin-top:26px; padding-top:24px; border-top:1px solid var(--rule); }
.institution-name { color:var(--mit-red); font-size:18px; font-weight:600; line-height:1.4; margin-bottom:14px; }
.course-list { list-style:disc outside; padding:0 0 0 22px; margin:0; }
.course-entry { padding:0; line-height:1.5; }
.course-entry + .course-entry { margin-top:18px; }
.course-entry::marker { color:var(--muted-ink); font-size:12px; }
.course-entry h4 { margin:0; font-size:16px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.course-role { color:var(--muted-ink); font-size:14px; margin-top:4px; }
.course-role + .course-role { margin-top:0; }
.course-description { font-size:14px; }
.course-links { display:inline; margin-left:6px; }
.course-links a { display:inline-block; text-decoration:none; white-space:nowrap; }
.course-links a:hover { text-decoration:underline; }
.contact-details { padding-top:24px; }
.contact-details p + p { margin-top:12px; }
.cv-frame { width:100%; height:1000px; border:1px solid var(--rule); margin-top:24px; }

@media (max-width:900px) {
  .site-top { padding:18px 30px; }
  .page-wrap { padding:0 30px; }
  .home-layout { grid-template-columns:184px minmax(0,1fr); gap:34px; }
  .topic-layout { grid-template-columns:1fr; gap:25px; }
  .research-figure { width:100%; max-width:520px; margin:auto; }
  .roadmap-theme { padding:22px; }
}
@media (max-width:780px) {
  .research-roadmap { grid-template-columns:1fr; gap:18px; }
  .roadmap-theme { display:block; grid-row:auto; }
}
@media (max-width:640px) {
  .site-top { padding:18px 22px; }
  .page-wrap { padding:0 22px; }
  .site-nav { gap:15px 19px; }
  .header-inner { gap:15px; }
  .site-nav { position:relative; }
  .nav-group { position:static; }
  .nav-dropdown { left:0; top:calc(100% + 10px); }
  .page-intro { padding:30px 0 26px; }
  .page-intro h1 { font-size:31px; }
  .home-layout { display:block; padding-top:30px; }
  .profile { display:grid; grid-template-columns:98px minmax(0,1fr); gap:16px; margin-bottom:32px; }
  .profile-photo { width:98px; }
  .profile-name { font-size:23px; margin-top:0; }
  .profile-links { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:0; }
  .profile-location { flex-basis:100%; }
  .home-content h1 { font-size:29px; }
  .research-nav { gap:0 20px; font-size:13px; }
  .research-nav a { padding-top:9px; padding-bottom:9px; }
  .research-direction .page-intro h1 { font-size:29px; }
  .roadmap-theme { padding:22px; }
  .roadmap-theme h2 { font-size:27px; }
  .research-topic { padding:25px 0 29px; }
  .research-topic h2 { font-size:23px; }
  .site-footer { align-items:start; }
  .teaching-section h2 { font-size:24px; }
}
@media (pointer:coarse) {
  .site-nav a,.footer-links a,.profile-links a,.figure-action,.publication-links a,.publication-resources a,.course-links a { display:inline-flex; align-items:center; min-height:44px; }
  .nav-toggle { width:36px; height:44px; }
  .site-top .nav-dropdown a { display:flex; }
}
@media (max-width:360px) {
  .site-top { padding:18px 16px; }
  .page-wrap { padding:0 16px; }
}
