:root { color-scheme: light; --ink: #242c32; --muted: #626b71; --line: #dce1e2; --accent: #4B2E83; --paper: #faf9f6; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: 'Computer Modern Serif', 'CMU Serif', 'Latin Modern Roman', Georgia, serif; -webkit-font-smoothing: antialiased; }
a { color: var(--accent); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: #321a5d; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.site-shell { max-width: 1020px; margin: 0 auto; padding: 0 52px; }
.site-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 27px 0 25px; border-bottom: 1px solid var(--line); }
.wordmark { font-family: 'Computer Modern Serif', 'CMU Serif', Georgia, serif; font-size: 23px; font-weight: 700; font-variant-caps: small-caps; letter-spacing: .015em; text-decoration: none; color: var(--ink); white-space: nowrap; }
.dot { color: var(--accent); }
nav { display: flex; gap: 25px; flex-wrap: wrap; }
nav a { text-decoration: none; font-size: 15px; font-weight: 400; font-variant-caps: small-caps; letter-spacing: .035em; color: #625773; }
nav a:hover { color: var(--accent); }
.intro { padding: 64px 0 66px; }
.eyebrow { letter-spacing: .11em; color: var(--accent); font-size: 13px; font-weight: 600; font-variant-caps: small-caps; margin: 0 0 20px; }
.separator { padding: 0 12px; color: #a5aaac; }
h1, h2 { font-family: 'Computer Modern Serif', 'CMU Serif', Georgia, serif; font-weight: 400; }
h1 { font-size: clamp(44px, 6vw, 66px); line-height: 1.12; letter-spacing: -.025em; margin: 0; }
.position { margin: 9px 0 23px; color: #606a70; font-size: 19px; }
.lead { max-width: 760px; font-size: clamp(19px, 2.25vw, 23px); line-height: 1.5; font-family: 'Computer Modern Serif', 'CMU Serif', Georgia, serif; margin: 0; }
.section-block { border-top: 1px solid var(--line); padding: 29px 0 35px; display: grid; grid-template-columns: 185px 1fr; gap: 32px; }
.section-label { display: flex; gap: 18px; align-items: baseline; }
h2 { font-size: 26px; font-variant-caps: small-caps; letter-spacing: .018em; margin: 0; }
.section-content { max-width: 630px; }
.section-content p { font-size: 16px; line-height: 1.63; margin: 0 0 13px; }
.link-row { display: flex; flex-wrap: wrap; gap: 14px 33px; padding-top: 5px; }
.text-link { font-size: 16px; font-weight: 600; text-decoration: none; border-bottom: 1px solid #ac9acb; padding-bottom: 4px; }
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 30px; row-gap: 6px; }
.contact-grid .detail-label { font-size: 11px; font-variant-caps: small-caps; letter-spacing: .08em; font-weight: 700; color: #818a8d; margin-bottom: 4px; }
.contact-grid p { margin-bottom: 15px; line-height: 1.6; }
.site-footer { display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); color: #8a9093; font-size: 12px; padding: 19px 0 26px; }
@media (max-width: 750px) { .site-shell { padding: 0 25px; } .site-header { flex-direction: column; align-items: flex-start; gap: 23px; } nav { gap: 20px; } .intro { padding: 48px 0 53px; } .section-block { grid-template-columns: 1fr; gap: 15px; padding: 25px 0 29px; } .site-footer { flex-direction: column; } }
@media (max-width: 420px) { .contact-grid { grid-template-columns: 1fr; } h1 { letter-spacing: -1.2px; } .position { font-size: 17px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Amherst accent and small-cap masthead */
h1 {font-variant-caps: small-caps; letter-spacing: .005em;}
.wordmark { color: var(--accent); }
.publications-intro { padding: 48px 0 24px; }
.publications-intro h1 {font-size:clamp(40px,5vw,57px);}
.publications-intro p {color:var(--muted);margin:12px 0 0;font-size:17px;}
.publications-list { margin:0; padding:0; list-style:none; counter-reset:pub 20; }
.publications-list li {counter-increment:pub -1; display:grid; grid-template-columns: 46px 1fr; gap:12px; padding: 17px 0; border-top:1px solid var(--line);}
.publications-list li::before {content:'[' counter(pub) ']';color:var(--accent);font-size:15px;margin-top:3px;}
.pub-title {font-size:18px;line-height:1.35;margin:0 0 5px;font-style:italic;}
.pub-authors, .pub-citation, .pub-links {font-size:15px;line-height:1.5;margin:2px 0;}
.pub-authors {color:var(--muted);}
.pub-links {margin-top:6px;}
.pub-links a {margin-right:17px;}
@media(max-width:600px){.publications-list li{grid-template-columns:34px 1fr;gap:8px}}
