:root { --nyu:#57068c; --ink:#29252d; --muted:#6e6872; --line:#e3dee7; --soft:#f7f4f9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:76px; }
body { margin:0; color:var(--ink); background:#fff; font:16px/1.6 Arial, Helvetica, sans-serif; }
.wrap { width:min(1040px, calc(100% - 48px)); margin:0 auto; }
header { color:#fff; background:linear-gradient(135deg, #3d0465 0%, var(--nyu) 65%, #70259b 100%); padding:50px 0 44px; }
.hero { display:flex; align-items:center; min-height:154px; }
.eyebrow { font-size:.78rem; font-weight:700; letter-spacing:.15em; opacity:.8; }
h1 { margin:.1em 0 0; font-family:Georgia, 'Times New Roman', serif; font-size:clamp(2.8rem,7vw,4.8rem); font-weight:400; line-height:1.05; }
.subtitle { margin:.8rem 0 0; font-size:1.08rem; opacity:.88; }
.about-layout { display:grid; grid-template-columns:minmax(0,1fr) 270px; align-items:start; gap:58px; }
.about-copy p { max-width:760px; }
.portrait { display:block; width:270px; height:270px; margin-top:4px; object-fit:contain; object-position:center; }
nav { position:sticky; z-index:10; top:0; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 2px 10px rgba(30,15,40,.06); }
nav .wrap { display:flex; gap:0; overflow-x:auto; scrollbar-width:none; }
nav a { padding:17px 18px 15px; color:var(--ink); border-bottom:3px solid transparent; text-decoration:none; white-space:nowrap; font-size:.94rem; font-weight:700; }
nav a:first-child { margin-left:-18px; }
nav a:hover, nav a:focus { color:var(--nyu); border-bottom-color:var(--nyu); }
main { padding:42px 0 74px; }
section { padding:12px 0 38px; }
section + section { border-top:1px solid var(--line); padding-top:42px; }
h2 { margin:0 0 24px; color:var(--nyu); font:400 clamp(1.8rem,4vw,2.35rem)/1.2 Georgia, 'Times New Roman', serif; }
h3 { margin:0; font-size:1rem; line-height:1.4; }
p { max-width:780px; }
a { color:var(--nyu); text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:#7c2da8; }
.pub-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 42px; }
.pub-list article { break-inside:avoid; padding:0 0 19px; margin:0 0 19px; border-bottom:1px solid var(--line); }
.pub-list p, .thesis p { margin:.35em 0 0; color:var(--muted); font-size:.93rem; line-height:1.45; }
.pub-list .venue, .thesis .venue { color:var(--ink); }
.subhead { margin:32px 0 14px; color:var(--nyu); font:400 1.5rem Georgia, 'Times New Roman', serif; }
.thesis { padding:20px; background:var(--soft); border-left:4px solid var(--nyu); }
.teaching-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:52px; }
.teaching-grid > div > h3 { margin-bottom:14px; color:var(--nyu); font:400 1.45rem Georgia, 'Times New Roman', serif; }
.course-list { margin:0; padding:0; list-style:none; }
.course-list li { padding:12px 0; border-bottom:1px solid var(--line); }
.course-list strong, .course-list span { display:block; }
.course-list strong { line-height:1.4; }
.course-list span { margin-top:3px; color:var(--muted); font-size:.93rem; }
.link-list { margin:0; padding:0; list-style:none; columns:2; column-gap:42px; }
.link-list li { break-inside:avoid; margin:0 0 14px; }
.link-list span, .people-grid span { color:var(--muted); }
.committees { margin:0; max-width:700px; }
.committees div { display:grid; grid-template-columns:150px 1fr; padding:10px 0; border-bottom:1px solid var(--line); }
.committees dt { font-weight:700; color:var(--nyu); }
.committees dd { margin:0; }
.people-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.people-grid h3 { color:var(--nyu); font:400 1.35rem Georgia, 'Times New Roman', serif; }
.people-grid ul { padding-left:1.1rem; }
.people-grid li { margin:.55rem 0; }
footer { padding:28px 0; color:#fff; background:#2e163c; font-size:.9rem; }
@media (max-width:760px) {
  .wrap { width:min(100% - 32px, 1040px); }
  header { padding:38px 0 34px; }
  .about-layout { grid-template-columns:1fr; gap:24px; }
  .portrait { grid-row:1; width:min(270px,75vw); height:min(270px,75vw); margin:0; }
  nav a { padding-left:14px; padding-right:14px; }
  nav a:first-child { margin-left:-14px; }
  .pub-list, .people-grid, .teaching-grid { grid-template-columns:1fr; }
  .link-list { columns:1; }
}
@media (max-width:480px) {
  .subtitle { font-size:.95rem; }
  .committees div { grid-template-columns:110px 1fr; }
}
