
:root{--ink:#16212b;--muted:#65717d;--line:#dde3e8;--soft:#f6f8fa;--paper:#fff;--accent:#155c79;--accent-dark:#0f455c;--accent-soft:#eaf4f8;--shadow:0 12px 32px rgba(22,33,43,.08);--radius:14px;--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.58;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent-dark)}
.site-header{border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}.header-inner,.page-shell{width:min(calc(100% - 40px),var(--max));margin:0 auto}
.brand{padding:28px 0 20px;display:flex;align-items:baseline;justify-content:space-between;gap:24px}.brand-name{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3rem);font-weight:500;letter-spacing:-.02em}.brand-affiliation{margin:0;max-width:none;color:var(--muted);font-size:.91rem;text-align:right;white-space:nowrap}
nav{border-top:1px solid var(--line)}.nav-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 24px}.nav-list a{display:inline-block;padding:13px 0 11px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;font-size:.93rem;font-weight:600}.nav-list a:hover,.nav-list .selected a{color:var(--ink);border-bottom-color:var(--accent)}
main{padding:58px 0 72px}.hero{display:grid;grid-template-columns:1.5fr .85fr;gap:44px;align-items:start;margin-bottom:46px}.hero-home{grid-template-columns:1.4fr .62fr;align-items:center}.eyebrow{margin:0 0 12px;color:var(--accent);text-transform:uppercase;letter-spacing:.11em;font-size:.76rem;font-weight:750}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.015em}.hero h1{margin:0 0 18px;font-size:clamp(2.15rem,4.25vw,3.9rem);line-height:1.06}.lede{margin:0;max-width:780px;color:#34424e;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.12rem,2vw,1.38rem);line-height:1.55}
.hero-note,.callout{padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.hero-note strong,.callout strong{display:block;margin-bottom:8px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.hero-note p,.callout p{margin:0;color:var(--muted);font-size:.94rem}
.profile-photo{width:min(100%,280px);aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow);justify-self:end}
.section{margin-top:54px;scroll-margin-top:24px}.section:first-of-type{margin-top:0}.section-header{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:10px;border-bottom:2px solid var(--ink);margin-bottom:20px}.section-header h2{margin:0;font-size:clamp(1.55rem,3vw,2.1rem)}.section-header p{margin:0;max-width:620px;color:var(--muted);font-size:.9rem;text-align:right}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.card h3{margin:0 0 8px;font-size:1.15rem}.card p{margin:0;color:var(--muted);font-size:.92rem}.card .meta{margin-top:8px;color:var(--muted);font-size:.84rem}
.quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.pill{display:inline-block;padding:7px 11px;border:1px solid #cfd6dc;border-radius:999px;text-decoration:none;color:#4e5a65;font-size:.8rem;font-weight:650;background:#fff}.pill:hover{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft)}
.prose{max-width:900px}.prose p{margin:0 0 16px}.role-list,.news-list,.member-list,.course-list,.paper-list{list-style:none;margin:0;padding:0}.role-list li,.news-list li,.member-list li,.course-list li,.paper-list li{padding:15px 0;border-bottom:1px solid var(--line)}.news-list time{display:inline-block;min-width:84px;color:var(--muted);font-size:.82rem;font-weight:700}.member-list strong{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;font-weight:500}.member-list .detail,.course-list .detail{color:var(--muted);font-size:.9rem}
.research-map{padding:28px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.map-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.map-card{min-height:160px;padding:18px;border-radius:12px;border:1px solid var(--line);background:var(--paper);text-decoration:none;color:inherit}.map-card:hover{box-shadow:0 8px 20px rgba(22,33,43,.07);transform:translateY(-1px)}.map-card h3{margin:0 0 10px;font-size:1.1rem}.map-card p{margin:0;color:var(--muted);font-size:.87rem;line-height:1.46}.map-card.foundations{border-top:4px solid #5773c7}.map-card.ml{border-top:4px solid #7b61b5}.map-card.methods{border-top:4px solid #3d8a70}.map-card.applications{border-top:4px solid #a77a43}
.research-section{margin-top:24px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);scroll-margin-top:20px}.research-section h2{margin:0 0 12px;font-size:1.65rem}.research-section .summary{color:#34424e;max-width:880px}.research-media{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0}.research-media img{max-width:100%;max-height:260px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px}.paper-list li{font-size:.92rem}
.software-visuals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.software-visuals img{width:100%;height:240px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:8px}
footer{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:.82rem}.footer-row{display:flex;justify-content:space-between;gap:20px}.footer-row p{margin:0}
@media(max-width:900px){.hero,.hero-home{grid-template-columns:1fr;gap:24px}.profile-photo{justify-self:start;width:220px}.map-grid{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}.brand{align-items:flex-start;flex-direction:column;gap:5px}.brand-affiliation{text-align:left;white-space:normal}}
@media(max-width:640px){.header-inner,.page-shell{width:min(calc(100% - 26px),var(--max))}main{padding-top:38px}.map-grid,.card-grid,.software-visuals{grid-template-columns:1fr}.research-map{padding:20px}.section-header,.footer-row{align-items:flex-start;flex-direction:column}.section-header p{text-align:left}.nav-list{gap:2px 16px}}
