:root{--bg:#f7f7f4;--paper:#fbfbf8;--text:#292b2d;--muted:#676b6d;--accent:#215b72;--line:#d8dad7;--max:960px;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.wrap{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.skip-link{position:absolute;left:16px;top:-80px;padding:8px 12px;background:var(--text);color:white;z-index:10}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font-family:var(--serif);font-size:1.08rem;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:.01em}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{font-size:.86rem;color:var(--muted);text-decoration:none}.nav-links a:hover,.nav-links a[aria-current]{color:var(--text)}.nav-toggle{display:none;border:0;background:none;font:inherit;color:var(--text);padding:8px 0}.hero{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:96px;align-items:center;padding-block:104px 94px}.hero-copy,.publication,.page-header,.year-group>*{min-width:0}.eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 18px}.hero h1,.page-header h1{font-family:var(--serif);font-size:clamp(2.8rem,6vw,4.5rem);line-height:1.03;letter-spacing:-.035em;margin:0 0 25px}.lede{font-family:var(--serif);font-size:clamp(1.18rem,2.4vw,1.48rem);line-height:1.55;max-width:690px;margin:0;color:#3c3f41}.affiliation{margin:27px 0 0;color:var(--muted);font-size:.92rem}.affiliation span{display:block}.profile-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:27px}.profile-links a,.quiet-link,.citation-links a{font-size:.85rem;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent),transparent 55%)}.portrait{width:210px;aspect-ratio:4/5;background:#e6e7e2;display:grid;place-items:center;color:#767b7a}.portrait span{font-family:var(--serif);font-size:3.15rem;letter-spacing:-.06em}.section{padding-block:76px;border-top:1px solid var(--line)}.section h2,.year-group h2{font-family:var(--serif);font-size:1.65rem;line-height:1.2;letter-spacing:-.015em;margin:0 0 28px}.section-intro{font-family:var(--serif);font-size:1.17rem;line-height:1.75;max-width:780px;margin:0}.section-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px}.publication-list{display:grid;gap:36px}.publication{max-width:840px}.publication h3{font-family:var(--serif);font-size:1.17rem;line-height:1.4;margin:0 0 8px}.publication h3 a{color:var(--text);text-decoration:none}.publication h3 a:hover{color:var(--accent)}.publication h3,.authors,.venue,.page-header p{overflow-wrap:anywhere}.authors,.venue{margin:0;font-size:.9rem;color:var(--muted)}.authors strong{color:var(--text);font-weight:650}.venue{font-family:var(--serif);font-style:italic}.citation-links{display:flex;gap:14px;margin-top:7px}.citation-links a{font-size:.78rem}.loading,.error{color:var(--muted);font-style:italic}.service-intro{margin:0;max-width:820px;color:color-mix(in srgb,var(--text) 30%,var(--muted));font-size:.96rem;line-height:1.7}.service-intro cite{font-family:var(--serif)}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding-block:28px 40px;color:var(--muted);font-size:.78rem}.footer p{margin:0}.footer a{color:var(--muted);text-decoration:none}.publications-page{padding-block:88px}.page-header{max-width:720px;margin-bottom:78px}.page-header h1{font-size:clamp(2.7rem,5vw,4rem);margin-bottom:20px}.page-header>p:last-child{font-family:var(--serif);font-size:1.15rem;color:var(--muted);margin:0}.year-groups{display:grid;gap:72px}.year-group{display:grid;grid-template-columns:90px minmax(0,1fr);gap:36px;border-top:1px solid var(--line);padding-top:30px}.year-group h2{position:sticky;top:24px;align-self:start;color:var(--accent);font-size:1.15rem}.year-group .publication-list{gap:38px}
@media(max-width:700px){.wrap{width:min(calc(100% - 34px),var(--max))}.nav{min-height:64px;position:relative}.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:64px;left:-17px;right:-17px;padding:8px 17px 20px;background:var(--bg);border-bottom:1px solid var(--line);z-index:5;align-items:flex-start;gap:8px}.nav-links.open{display:flex;flex-direction:column}.nav-links a{padding:6px 0}.hero{grid-template-columns:1fr;gap:36px;padding-block:64px}.portrait{grid-row:1;width:118px;aspect-ratio:1}.portrait span{font-size:2.1rem}.hero h1{font-size:2.75rem}.lede{font-size:1.15rem}.section{padding-block:54px}.section-heading-row{display:block}.section-heading-row .quiet-link{display:inline-block;margin:-14px 0 28px}.publication-list{gap:31px}.publications-page{padding-block:58px}.page-header{margin-bottom:54px}.year-groups{gap:58px}.year-group{grid-template-columns:1fr;gap:24px}.year-group h2{position:static;margin:0}.footer{padding-bottom:28px}}
.hero{display:block;padding-block:90px}.hero-copy{max-width:820px}.hero .lede{max-width:760px}.hero-secondary{max-width:730px;margin:22px 0 0;color:var(--muted);font-size:1rem;line-height:1.75}.hero .affiliation{margin-top:30px}
.publication-note{margin:7px 0 0;color:var(--muted);font-family:var(--serif);font-size:.78rem}
.year-group .publication h3{position:relative}.publication-number{position:absolute;right:calc(100% + .55rem);color:var(--muted);font-family:var(--sans);font-size:.75em;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.publications-page .page-header{margin-bottom:68px}.publications-page .page-header h1{margin-bottom:0}
@media(max-width:700px){.hero{display:block;padding-block:62px 58px}.hero .affiliation{margin-top:26px}}
@media(max-width:700px){.publications-page .page-header{margin-bottom:48px}.year-group .publication{margin-left:1.75rem}.publication-number{right:calc(100% + .35rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
