:root { --ink:#171714; --paper:#f3f1eb; --red:#e24b3c; --blue:#2548d8; --line:#cbc8bf; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
main { overflow:clip; }
section[id] { scroll-margin-top:120px; }
.site-header { position:sticky; top:0; z-index:20; height:88px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 4vw; border-bottom:1px solid var(--line); background:rgba(243,241,235,.96); backdrop-filter:blur(12px); text-transform:uppercase; font-size:.72rem; letter-spacing:.14em; }
.wordmark { font-size:1.35rem; font-weight:900; letter-spacing:-.05em; justify-self:start; }
.wordmark span { color:var(--red); }
.site-header nav { display:flex; gap:2.5rem; }
.site-header nav a,.contact-link { padding:.65rem 0; border-bottom:1px solid transparent; transition:border-color .2s; }
.site-header nav a:hover,.contact-link:hover { border-color:var(--ink); }
.contact-link { justify-self:end; }
.hero { min-height:calc(100vh - 88px); display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:4vw; padding:7vh 4vw 5vh; border-bottom:1px solid var(--line); }
.hero-copy { display:flex; flex-direction:column; justify-content:center; }
.eyebrow,.section-index,.publication-meta { text-transform:uppercase; font-size:.7rem; font-weight:700; letter-spacing:.18em; }
.eyebrow { display:flex; align-items:center; gap:.7rem; }
.eyebrow span { width:2rem; height:2px; background:var(--red); }
h1 { margin:.2rem 0 1.2rem; font-size:clamp(5rem,12vw,11rem); line-height:.82; letter-spacing:-.085em; font-weight:900; }
.hero-intro { max-width:760px; margin:0; font-family:Georgia,serif; font-size:clamp(1.35rem,2.3vw,2.2rem); line-height:1.3; }
.hero-intro a { border-bottom:1px solid var(--line); }
.hero-intro a:hover { color:var(--blue); border-color:var(--blue); }
.hero-links { display:flex; gap:.75rem; margin:2.2rem 0 3.2rem; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:2rem; padding:1rem 1.2rem; border:1px solid var(--ink); text-transform:uppercase; font-size:.66rem; letter-spacing:.13em; font-weight:700; }
.button.primary { background:var(--ink); color:var(--paper); }
.button.primary:hover { background:var(--blue); border-color:var(--blue); }
.button:not(.primary):hover { background:#fff; }
.hero-facts { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin:0; padding-top:1.4rem; border-top:1px solid var(--line); }
.hero-facts div { display:grid; gap:.45rem; }
.hero-facts dt { text-transform:uppercase; font-size:.6rem; letter-spacing:.15em; color:#6f6d66; }
.hero-facts dd { margin:0; font-family:Georgia,serif; font-size:.95rem; }
.hero-facts dd a { border-bottom:1px solid var(--line); }
.hero-facts dd a:hover { color:var(--blue); border-color:var(--blue); }
.portrait-wrap { position:relative; margin:0; min-height:560px; background:#d5d1c6; overflow:hidden; }
.portrait-wrap img { width:100%; height:100%; object-fit:cover; filter:grayscale(100%); transition:filter .4s,transform .6s; }
.portrait-wrap:hover img { filter:grayscale(0%); transform:scale(1.015); }
.portrait-wrap::before { content:''; position:absolute; inset:0; border:1px solid rgba(23,23,20,.2); z-index:1; pointer-events:none; }
.portrait-wrap figcaption { position:absolute; inset:auto 1rem 1rem; z-index:2; display:flex; justify-content:space-between; color:#fff; font-size:.6rem; text-transform:uppercase; letter-spacing:.13em; text-shadow:0 1px 8px #000; }
.about-section { display:grid; grid-template-columns:1fr 2.2fr; gap:5vw; padding:9rem 4vw; border-bottom:1px solid var(--line); }
.section-index { margin:0; color:#5d5b55; }
.about-copy h2,.section-heading h2,.students-copy h2,.positions-copy h2 { margin:0; font-family:Georgia,serif; font-size:clamp(2.8rem,5.5vw,6rem); line-height:.98; font-weight:400; letter-spacing:-.05em; }
.about-copy>p { max-width:820px; margin:2.6rem 0; font-size:1.2rem; line-height:1.7; }
.research-tags { display:flex; flex-wrap:wrap; gap:.6rem; }
.research-tags span { padding:.7rem 1rem; border:1px solid var(--line); border-radius:100px; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; background:rgba(255,255,255,.35); }
.publications-section { padding:8rem 4vw; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:4rem; }
.section-heading .section-index { margin-bottom:1.1rem; }
.section-heading>a { font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid var(--ink); padding-bottom:.4rem; }
.publication-years { border-bottom:1px solid var(--line); }
.publication-year { border-top:1px solid var(--line); }
.publication-year summary { display:grid; grid-template-columns:minmax(0,1fr) auto 34px; gap:1.2rem; align-items:center; min-height:86px; padding:.7rem 0; list-style:none; cursor:pointer; transition:padding .2s,background .2s; }
.publication-year summary::-webkit-details-marker { display:none; }
.publication-year summary::marker { content:''; }
.publication-year summary:hover,.publication-year[open]>summary { padding-left:.65rem; padding-right:.65rem; background:#e9e6dd; }
.publication-year summary:focus-visible { outline:2px solid var(--blue); outline-offset:3px; }
.year-title { font-family:Georgia,serif; font-size:clamp(1.8rem,3vw,3rem); line-height:1; letter-spacing:-.04em; }
.year-count { color:#66635d; font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.year-toggle { position:relative; width:30px; height:30px; border:1px solid var(--line); border-radius:50%; }
.year-toggle::before,.year-toggle::after { content:''; position:absolute; left:50%; top:50%; width:10px; height:1px; background:var(--ink); transform:translate(-50%,-50%); transition:transform .2s; }
.year-toggle::after { transform:translate(-50%,-50%) rotate(90deg); }
.publication-year[open] .year-toggle { background:var(--blue); border-color:var(--blue); }
.publication-year[open] .year-toggle::before,.publication-year[open] .year-toggle::after { background:#fff; }
.publication-year[open] .year-toggle::after { transform:translate(-50%,-50%) rotate(0); }
.publication-year-list { padding:0 0 .65rem 3rem; }
.publication { display:grid; grid-template-columns:46px minmax(0,1fr) 34px; gap:1rem; padding:1.05rem 0; border-top:1px solid var(--line); transition:padding .25s,background .25s; }
.publication-year-list .publication:last-child { border-bottom:0; }
.publication:hover { padding-left:.65rem; padding-right:.65rem; background:#e9e6dd; }
.publication-number { padding-top:.05rem; font-family:Georgia,serif; color:#77746c; font-size:.85rem; font-style:italic; }
.publication .publication-meta { color:var(--red); margin:0 0 .3rem; font-size:.58rem; letter-spacing:.13em; }
.publication h3 { margin:0 0 .35rem; font-family:Georgia,serif; font-weight:400; font-size:clamp(1.12rem,1.6vw,1.55rem); line-height:1.16; }
.publication-authors { max-width:900px; margin:0; color:#66635d; font-size:.78rem; line-height:1.4; }
.publication-links { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:.55rem; }
.publication-links a { padding-bottom:.1rem; border-bottom:1px solid var(--line); text-transform:uppercase; font-size:.54rem; font-weight:700; letter-spacing:.1em; }
.publication-links a:hover { border-color:var(--blue); color:var(--blue); }
.paper-arrow { align-self:center; justify-self:end; width:30px; height:30px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; font-size:.8rem; }
.paper-arrow:hover { color:#fff; background:var(--blue); border-color:var(--blue); }
.source-note { max-width:660px; margin:2rem 0 0 auto; color:#77746c; font-size:.7rem; line-height:1.5; text-align:right; }
.students-section { display:grid; grid-template-columns:1fr 2.2fr; gap:5vw; padding:9rem 4vw; border-top:1px solid var(--line); }
.students-copy { max-width:980px; }
.member-periods { display:grid; gap:4.5rem; margin-top:3.2rem; }
.member-period>h3 { margin:0 0 1.5rem; text-transform:uppercase; font-size:.72rem; letter-spacing:.15em; }
.member-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; }
.current-member-columns { grid-template-columns:repeat(3,minmax(0,1fr)); }
.past-member-columns { grid-template-columns:minmax(320px,1.2fr) minmax(240px,.8fr); }
.member-column h4 { margin:0 0 1rem; color:#66635d; text-transform:uppercase; font-size:.62rem; letter-spacing:.13em; }
.student-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.student-list li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.5rem; padding:1rem .2rem; border-bottom:1px solid var(--line); font-family:Georgia,serif; font-size:1.03rem; line-height:1.35; }
.plain-member-list li { grid-template-columns:1fr; }
.student-year { align-self:center; color:var(--red); font-family:Arial,Helvetica,sans-serif; font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.student-year::before { content:'['; }
.student-year::after { content:']'; }
.student-source { max-width:720px; margin:2.4rem 0 0 auto; color:#77746c; font-size:.7rem; line-height:1.55; text-align:right; }
.student-source a { border-bottom:1px solid var(--line); }
.student-source a:hover { color:var(--blue); border-color:var(--blue); }
.positions-section { display:grid; grid-template-columns:1fr 2.2fr; gap:5vw; padding:9rem 4vw; border-top:1px solid var(--line); }
.positions-copy { max-width:900px; }
.positions-copy>p { margin:2rem 0; font-size:1.08rem; line-height:1.75; }
.positions-copy a { border-bottom:1px solid var(--ink); }
.positions-copy a:hover { color:var(--blue); border-color:var(--blue); }
.positions-copy h3 { margin:3rem 0 1.1rem; text-transform:uppercase; font-size:.72rem; letter-spacing:.15em; }
.positions-copy ul { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.positions-copy li { position:relative; padding:1rem 1rem 1rem 2.2rem; border-bottom:1px solid var(--line); font-family:Georgia,serif; font-size:1.05rem; line-height:1.45; }
.positions-copy li::before { content:'—'; position:absolute; left:.3rem; color:var(--red); }
.subject-token { color:var(--red); font-weight:700; }
.positions-copy .positions-note { margin-top:3rem; padding:1.2rem 1.4rem; border-left:3px solid var(--red); background:#e9e6dd; font-size:.9rem; }
footer { display:flex; justify-content:space-between; padding:2rem 4vw; border-top:1px solid var(--line); text-transform:uppercase; font-size:.62rem; letter-spacing:.12em; }
@media(max-width:800px){section[id]{scroll-margin-top:145px}.site-header{height:auto;min-height:88px;grid-template-columns:1fr auto;row-gap:.15rem;padding-top:.65rem}.site-header nav{display:flex;grid-column:1/-1;justify-self:stretch;justify-content:center;gap:clamp(1rem,5vw,2.5rem);padding:.25rem 0 .8rem}.site-header nav a{padding:.45rem 0}.hero{grid-template-columns:1fr;padding-top:4rem}.portrait-wrap{min-height:500px}.hero-facts{grid-template-columns:1fr 1fr}.about-section,.students-section,.positions-section{grid-template-columns:1fr;padding:6rem 5vw}.publications-section{padding:6rem 5vw}.section-heading{align-items:start;flex-direction:column}.current-member-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.publication-year-list{padding-left:1.6rem}.publication{grid-template-columns:38px minmax(0,1fr)}.paper-arrow{display:none}}
@media(max-width:600px){.member-columns,.past-member-columns{grid-template-columns:1fr}.student-source{text-align:left}}
@media(max-width:520px){.site-header{padding-left:5vw;padding-right:5vw}.site-header nav{justify-content:space-between;gap:.5rem;font-size:.58rem;letter-spacing:.08em}h1{font-size:23vw}.hero{padding-left:5vw;padding-right:5vw}.hero-links{flex-direction:column}.button{width:100%}.hero-facts{grid-template-columns:1fr}.portrait-wrap{min-height:430px}.publication-year summary{grid-template-columns:minmax(0,1fr) auto 30px;min-height:72px;gap:.75rem}.year-count{font-size:.55rem}.publication-year-list{padding-left:0}.publication{grid-template-columns:1fr}.publication-number{display:none}.source-note{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portrait-wrap img,.publication{transition:none}}
