:root { --paper:#edf4ef; --ink:#15221d; --faint:#33483f; --signal:#b9412e; --line:#21372e; --soft-line:#aabbb2; }
* { 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; } a:hover { color:var(--signal); }
.masthead { display:flex; align-items:center; justify-content:space-between; min-height:50px; padding:0 4vw; border-bottom:1px solid var(--line); font:13px 'Courier New',monospace; letter-spacing:.08em; text-transform:uppercase; }
.wordmark { font-weight:700; letter-spacing:-.05em; } nav { display:flex; gap:2.2em; }
.intro { padding:clamp(36px,5vw,60px) 8vw clamp(38px,5vw,64px); border-bottom:1px solid var(--line); }
.kicker,.role,.section-label,.year,.publication p,.links,.footer { font:14px/1.5 'Courier New',monospace; }
.kicker { margin:0 0 2.1rem; color:var(--faint); text-transform:uppercase; letter-spacing:.08em; }
h1 { margin:0; font:400 clamp(28px,2.8vw,36px)/1 Georgia,'Times New Roman',serif; letter-spacing:-.045em; } .role { margin:.75rem 0 0; color:var(--faint); max-width:680px; }
.section { display:grid; grid-template-columns:minmax(150px,23vw) 1fr; border-bottom:1px solid var(--line); }
.section-label { margin:0; padding:16px 4vw; border-right:1px solid var(--line); text-transform:uppercase; letter-spacing:.08em; }
.copy,.publication-list { padding:24px 7vw 28px 5vw; }
.copy>p { max-width:760px; margin:0; font:400 clamp(15px,1.6vw,22px)/1.15 Georgia,serif; letter-spacing:-.018em; } .copy>p+p { margin-top:1rem; }
.copy>p.muted { font:14px/1.5 'Courier New',monospace; letter-spacing:0; }
.muted,.publication p,.thesis p { color:var(--faint); }
.category { margin:28px 0 10px; font:700 14px/1.5 'Courier New',monospace; letter-spacing:.08em; text-transform:uppercase; color:var(--signal); }
.category:first-child { margin-top:0; }
.publication { display:grid; grid-template-columns:58px minmax(0,1fr) 165px; gap:2vw; padding:13px 0; border-bottom:1px solid var(--soft-line); }
.publication:last-child { border-bottom:0; padding-bottom:0; }
.publication h2,.thesis h2 { margin:0 0 6px; max-width:800px; font:400 clamp(15px,1.6vw,22px)/1.15 Georgia,serif; letter-spacing:-.018em; }
.publication p,.thesis p { margin:0; } .links { display:flex; flex-wrap:wrap; align-content:flex-start; justify-content:flex-end; gap:0 12px; text-transform:uppercase; }
.other-entry a { color:var(--signal); }
#talks .publication h2 { font-size:clamp(14px,1.35vw,19px); }
.thesis { display:flex; justify-content:space-between; gap:24px; } .thesis .links { min-width:150px; }
.footer { display:flex; justify-content:space-between; gap:20px; padding:18px 4vw; color:var(--faint); }
.contact-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:0 16px; }
@media (max-width:720px) { .masthead{padding:0 20px;} nav{gap:1em;} .intro{padding:38px 20px;} .section{grid-template-columns:1fr;} .section-label{padding:12px 20px;border-right:0;border-bottom:1px solid var(--line);} .copy,.publication-list{padding:20px 20px 24px;} .publication{grid-template-columns:45px minmax(0,1fr);gap:0 12px;} .publication .links{grid-column:2;justify-content:flex-start;margin-top:8px;} .thesis{display:block;} .thesis .links{justify-content:flex-start;margin-top:12px;} .footer{display:block;padding:16px 20px;} .contact-links{justify-content:flex-start;margin-top:6px;} .footer a{display:block;margin-top:6px;} }
