:root{--paper:#ffffff;--ink:#202a30;--muted:#607078;--line:#dce3e4;--blue:#17648b;--soft:#eef5f8;--serif:Aptos,'Segoe UI',Arial,sans-serif;--sans:Aptos,'Segoe UI',Arial,sans-serif}*{box-sizing:border-box}html{scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:#0b3c56}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:5px}button{font:inherit}.wrap{max-width:1120px;margin:auto;padding-left:48px;padding-right:48px}.skip{position:absolute;left:20px;top:-80px;background:white;z-index:3;padding:10px}.skip:focus{top:10px}.header{display:flex;align-items:center;justify-content:space-between;padding-top:31px;padding-bottom:27px;border-bottom:1px solid var(--line);gap:24px}.wordmark{color:var(--ink);font-family:var(--serif);font-size:21px;text-decoration:none}.nav{display:flex;gap:28px;align-items:center}.nav a{color:var(--ink);font-size:14px;text-decoration:none}.nav a:hover{text-decoration:underline}.hero{padding:70px 0 58px;display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:65px;align-items:start}.eyebrow,.kicker{text-transform:uppercase;font-size:10.5px;letter-spacing:.15em;font-weight:600;color:var(--muted);margin:0 0 16px}.hero h1{font:normal clamp(42px,5.5vw,60px)/1.08 var(--serif);letter-spacing:-.035em;margin:0 0 26px}.intro{font-size:18px;line-height:1.72;margin:0;max-width:660px}.about{color:var(--muted);margin:18px 0 0;font-size:15px;line-height:1.75}.profile-links{display:flex;gap:26px;flex-wrap:wrap;margin-top:27px;font-size:14px}.profile-links a{text-decoration:none;border-bottom:1px solid #9db5c1;padding-bottom:3px}.profile-aside{display:grid;gap:23px}.portrait{margin:0 auto;width:210px;max-width:100%}.portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:3px}.job-market{padding:20px 0 0;border:0;border-top:1px solid var(--line);background:transparent;margin-top:0}.availability{display:flex;align-items:center;gap:8px;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin:0 0 15px}.availability:before{content:'';height:6px;width:6px;border-radius:50%;background:var(--blue)}.job-market h2{font:normal 26px/1.16 var(--serif);letter-spacing:-.02em;margin:0 0 14px}.job-market p{font-size:14px;line-height:1.7;margin:0 0 18px;color:#465961}.job-market a{font-size:13px;overflow-wrap:anywhere}.section-header{display:flex;justify-content:space-between;gap:25px;align-items:baseline;border-bottom:1px solid var(--line);padding:10px 0 22px}.section-header h2,.background>h2{font:normal 36px/1.2 var(--serif);letter-spacing:-.025em;margin:0}.section-header .kicker{margin-bottom:10px}.section-header>a{font-size:13px;white-space:nowrap}.filters{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0 9px}.filters[hidden]{display:none}.filters button{border:1px solid transparent;background:none;border-radius:3px;color:var(--muted);font-size:12px;padding:6px 11px;cursor:pointer}.filters button:hover{border-color:var(--line);color:var(--blue)}.filters button[aria-pressed=true]{border-color:#bed1dd;color:var(--blue);background:var(--soft)}.filter-status{font-size:12px;color:var(--muted);min-height:20px;margin:4px 0 0}.paper{display:grid;grid-template-columns:178px minmax(0,1fr);gap:35px;padding:34px 0 36px;border-bottom:1px solid var(--line);align-items:start}.paper[hidden]{display:none}.paper-symbol{margin:8px 0 0;align-self:start;color:var(--ink)}.paper-symbol svg{display:block;width:100%;height:auto;overflow:visible}.paper-symbol figcaption{font-size:10.5px;line-height:1.5;letter-spacing:.015em;color:var(--muted);text-align:center;margin-top:9px}.paper-meta{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;line-height:1.6;color:var(--muted);margin:0 0 9px}.paper-meta .year{margin-right:12px}.paper h3{font:normal 25px/1.27 var(--serif);letter-spacing:-.018em;margin:0 0 10px}.paper h3 a{color:var(--ink);text-decoration:none}.paper h3 a:hover{color:var(--blue)}.authors{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 13px}.authors strong{font-weight:600;color:var(--ink)}.summary{font-size:14px;line-height:1.75;margin:0;max-width:740px}.paper-links{display:flex;gap:19px;flex-wrap:wrap;font-size:12px;margin-top:15px}.paper-links a{text-decoration:none;border-bottom:1px solid #aec1cb;padding-bottom:2px}.note{font-size:11px;line-height:1.65;color:var(--muted);margin:10px 0 0}.background{padding:65px 0 60px}.background>.kicker{margin-bottom:10px}.background-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:30px}.background-column h3{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:500;margin:0 0 20px}.background-entry{margin:0 0 23px}.background-entry .date{font-size:10px;color:var(--muted);letter-spacing:.05em}.background-entry h4{font-size:14px;font-weight:600;line-height:1.5;margin:4px 0 2px}.background-entry p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.contact{padding:28px 0 32px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact h2{font:normal 27px/1.3 var(--serif);margin:0 0 6px}.contact p{margin:0;color:var(--muted);font-size:13px}.contact>a{font-size:16px;white-space:nowrap}.footer{display:flex;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:32px;color:var(--muted);font-size:11px}.footer a{color:var(--muted)}.empty{padding:40px 0;color:var(--muted)}
@media(min-width:1200px){.wrap{padding-left:40px;padding-right:40px}}@media(max-width:850px){.wrap{padding-left:30px;padding-right:30px}.hero{gap:32px;grid-template-columns:minmax(0,1fr) 220px}.job-market{padding:18px 0 0}.hero h1{font-size:48px}.intro{font-size:17px}.paper{grid-template-columns:145px minmax(0,1fr);gap:25px}.paper h3{font-size:23px}}@media(max-width:640px){.wrap{padding-left:22px;padding-right:22px}.header{padding-top:22px;padding-bottom:20px;gap:20px}.wordmark{font-size:19px}.nav{gap:17px}.nav a{font-size:12px}.nav .nav-contact{display:none}.hero{grid-template-columns:1fr;gap:24px;padding:43px 0 42px}.eyebrow{font-size:9px;letter-spacing:.12em}.hero h1{font-size:45px;margin-bottom:22px}.intro{font-size:16px}.about{font-size:14px}.profile-links{font-size:13px;gap:22px;margin-top:22px}.job-market{margin-top:0;padding:18px 0 0}.availability{margin-bottom:9px}.job-market h2{font-size:24px;margin-bottom:8px}.job-market p{margin-bottom:12px;font-size:13px}.section-header{gap:20px;padding-bottom:17px}.section-header h2,.background>h2{font-size:31px}.section-header>a{font-size:11px}.kicker{font-size:9px;letter-spacing:.12em}.filters{gap:3px;margin-top:18px}.filters button{font-size:11px;padding:5px 8px}.paper{grid-template-columns:84px minmax(0,1fr);gap:18px;padding:27px 0}.paper-symbol{margin-top:29px}.paper-symbol figcaption{font-size:8px;line-height:1.45;margin-top:5px}.paper h3{font-size:21px;line-height:1.25;margin-bottom:10px}.paper-meta{font-size:8px;letter-spacing:.045em;margin-bottom:8px}.paper-meta .year{margin-right:6px}.authors{font-size:11px;margin-bottom:11px}.summary{font-size:12.5px;line-height:1.7}.paper-links{font-size:11px;gap:14px;margin-top:13px}.note{font-size:10px}.background{padding:44px 0 35px}.background-grid{grid-template-columns:1fr;gap:16px;margin-top:24px}.background-column h3{font-size:10px}.background-entry{margin-bottom:20px}.contact{display:block;padding:24px 0}.contact h2{font-size:25px}.contact>a{display:inline-block;margin-top:14px;font-size:15px}.footer{font-size:10px;padding-top:20px;gap:12px}.footer span{max-width:60%}}
@media print{.nav,.filters,.filter-status,.job-market,.skip{display:none!important}.wrap{max-width:none;padding:0 15px}.hero{display:block;padding:25px 0}.paper{break-inside:avoid;grid-template-columns:110px 1fr;gap:24px;padding:22px 0}.paper[hidden]{display:grid}.paper h3{font-size:18px}.summary{font-size:11px}.paper-links a:after{content:' (' attr(href) ')';font-size:8px}.background{padding-top:30px}.footer{padding-bottom:0}}

@media(max-width:850px) and (min-width:641px){.portrait{width:190px}}@media(max-width:640px){.profile-aside{grid-template-columns:116px minmax(0,1fr);gap:18px;align-items:start}.portrait{width:116px}.profile-aside .job-market{padding:0;border:0;background:none}.profile-aside .job-market h2{font-size:23px}.profile-aside .availability{font-size:8px;letter-spacing:.08em}.profile-aside .job-market p{font-size:12px;margin-bottom:8px}.profile-aside .job-market a{font-size:12px}}
