
:root{--ink:#172d3a;--blue:#173f56;--link:#265f7d;--muted:#566774;--paper:#fff;--wash:#f1f5f6;--line:#d8e1e5;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:var(--link);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:#0a2738}a:focus-visible,input:focus-visible{outline:3px solid #ba751e;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.12}h1{font-size:clamp(2.7rem,5.4vw,4.8rem);letter-spacing:-.045em;margin-bottom:1.6rem}h2{font-size:clamp(1.8rem,3vw,2.55rem);letter-spacing:-.035em}h3{font-size:1.12rem;font-weight:550;line-height:1.45;margin-bottom:.45rem}p{margin-bottom:1.1rem}section{scroll-margin-top:2rem}.container{max-width:1160px;padding:0 38px;margin:auto}.site-header{border-bottom:1px solid var(--line)}.header-inner{max-width:1236px;margin:auto;padding:26px 38px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font-family:var(--serif);font-size:23px;color:var(--ink);text-decoration:none;line-height:1.2;white-space:nowrap}.brand span{display:block;font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.18em;margin-top:8px;color:var(--muted)}nav{display:flex;gap:23px;flex-wrap:wrap}nav a{color:var(--muted);font-size:13px;text-decoration:none;padding:7px 0}nav a[aria-current=page]{color:var(--blue);border-bottom:2px solid var(--blue)}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.16em;color:var(--muted);margin-bottom:22px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:100px;padding:90px 0 80px}.hero h1{font-size:clamp(4rem,7.4vw,6.5rem);margin-bottom:20px;line-height:.99}.name-dot{color:#668a9c}.role{font-size:19px;color:var(--blue);margin-bottom:24px}.intro{font-size:21px;line-height:1.55;max-width:610px}.bio{max-width:600px;color:var(--muted);font-size:15px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:32px}.button{display:inline-flex;align-items:center;gap:25px;padding:12px 20px;background:var(--blue);color:white;text-decoration:none;font-size:13px;font-weight:550}.button:hover{background:#0c2e43;color:white}.text-link{font-size:13px;font-weight:550}.profile-note{align-self:center;background:var(--wash);padding:32px 28px;border-top:3px solid #668a9c}.profile-note .eyebrow{font-size:9px;margin-bottom:20px}.profile-note p:not(.eyebrow){font-family:var(--serif);font-size:21px}.profile-note a{font-size:13px}.profile-note ul{padding:0;margin:0;list-style:none;font-family:var(--serif);font-size:20px;line-height:1.4}.profile-note ul li+li{margin-top:18px}.note-divider{border-top:1px solid var(--line);margin:32px 0}.home-section{border-top:1px solid var(--line);padding:48px 0 35px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:12px}.section-heading>.text-link{margin-bottom:5px;white-space:nowrap}.paper{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;padding:26px 0;border-bottom:1px solid var(--line)}.paper:last-child{border-bottom:0}.paper-year{font-size:12px;color:var(--muted);padding-top:4px}.paper h3{max-width:890px;font-size:17px}.paper h3 a{color:var(--ink);text-decoration:none}.paper h3 a:hover{text-decoration:underline}.paper p{font-size:13px;margin-bottom:4px}.authors{color:var(--muted)}.journal{font-style:italic;color:var(--blue)}.small-link{display:inline-block;font-size:12px;margin-top:8px}.software-strip{background:var(--wash);padding:36px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin:32px 0 72px}.software-strip h2{margin-bottom:14px}.software-strip p:last-child{margin-bottom:0;color:var(--muted)}.software-strip .eyebrow{margin-bottom:12px}.site-footer{max-width:1160px;margin:60px auto 0;padding:30px 38px 44px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:12px}.site-footer span{font-family:var(--serif);font-size:18px;color:var(--ink)}.site-footer p{margin:10px 0 0}.page-heading{padding:72px 0 48px;max-width:850px}.page-heading h1{margin-bottom:22px}.lead{font-size:18px;color:var(--muted);max-width:700px;line-height:1.6}.research-tools{display:flex;gap:25px;justify-content:space-between;align-items:center;padding:20px 0 30px;border-bottom:1px solid var(--line)}.section-links{display:flex;gap:22px;font-size:13px}.search-wrap{min-width:300px}.search-wrap label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}input[type=search]{width:100%;padding:11px 13px;background:var(--wash);border:1px solid var(--line);border-radius:0;color:var(--ink);font:inherit;font-size:13px}.research-section{padding-top:45px}.research-section h2{margin-bottom:10px}.count{font-family:var(--sans);font-size:13px;vertical-align:middle;margin-left:12px;color:var(--muted)}.endnote{font-size:14px;color:var(--muted);padding:26px 0;margin-top:35px;border-top:1px solid var(--line)}.package{display:grid;grid-template-columns:260px minmax(0,1fr);gap:50px;padding:42px 0;border-top:1px solid var(--line)}.package-number{font-size:11px;color:var(--muted)}.package h2{font-size:42px;margin:13px 0}.package p{color:var(--muted);max-width:620px;font-size:15px}.package-links{display:flex;gap:25px;flex-wrap:wrap;font-size:13px;margin:20px 0}pre{background:var(--wash);border-left:2px solid #668a9c;padding:15px 18px;font-size:13px;overflow-x:auto;margin:24px 0 0}.course{display:grid;grid-template-columns:170px minmax(0,1fr);gap:25px;padding:25px 0;border-top:1px solid var(--line)}.course-years{font-size:13px;color:var(--muted);margin:3px 0 0}.course p:last-child{margin-bottom:0;color:var(--muted);font-size:14px}.two-column-section{display:grid;grid-template-columns:260px minmax(0,1fr);gap:50px;padding:42px 0;border-top:1px solid var(--line)}.two-column-section h2{font-size:30px}.two-column-section p{color:var(--muted);font-size:15px}.project+.project{margin-top:36px;padding-top:30px;border-top:1px solid var(--line)}.project .eyebrow,.compact-entry .eyebrow{font-size:10px;margin-bottom:10px}.project h3{font-size:21px;font-family:var(--serif);font-weight:400}.people{display:grid;grid-template-columns:1fr 1fr;gap:25px}.person p{font-size:13px;margin-bottom:0}.compact-entry+.compact-entry{margin-top:30px}.compact-entry p:last-child{margin-bottom:0}address{font-style:normal;font-size:15px;color:var(--muted)}.muted{color:var(--muted);font-size:13px}.skip-link{position:absolute;top:-100px;left:15px;background:white;padding:12px;z-index:20}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:1000px){.header-inner{align-items:flex-start;gap:25px}nav{gap:16px;justify-content:flex-end}.hero{gap:45px;grid-template-columns:minmax(0,1fr) 255px}.package,.two-column-section{grid-template-columns:210px minmax(0,1fr);gap:30px}}
@media(max-width:740px){.container{padding:0 22px}.header-inner{padding:20px 22px;display:block}.brand{font-size:22px}nav{justify-content:flex-start;margin-top:22px;gap:10px 20px}nav a{font-size:12px;padding:3px 0}.hero{display:block;padding:48px 0}.hero h1{font-size:64px}.intro{font-size:19px}.profile-note{margin-top:38px;padding:25px}.profile-note ul{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:18px}.profile-note ul li+li{margin:0}.profile-note .note-divider{margin:24px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.paper{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:24px 0}.paper h3{font-size:16px}.paper-year{font-size:11px}.home-section{padding-top:32px}.software-strip{display:block;padding:25px;margin:24px 0 40px}.software-strip .button{margin-top:25px}.site-footer{display:block;margin-top:35px;padding:25px 22px}.site-footer>div+div{margin-top:24px}.page-heading{padding:45px 0 32px}.page-heading h1{font-size:46px}.research-tools{display:block}.search-wrap{min-width:0;margin-top:20px}.package,.two-column-section{grid-template-columns:1fr;gap:15px;padding:30px 0}.package h2{font-size:36px;margin:6px 0 0}.course{grid-template-columns:95px minmax(0,1fr);gap:15px}.course h3{font-size:16px}.course-years{font-size:11px}.people{gap:25px 15px}.person h3{font-size:16px}.two-column-section h2{margin-bottom:8px}.actions{gap:20px}.research-section{padding-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{nav,.search-wrap,.software-strip,.skip-link{display:none}.container{max-width:none}.site-header{border:0}.hero{padding:25px 0;gap:30px}.site-footer{margin-top:20px}.paper{break-inside:avoid}a{color:inherit}.page-heading{padding:20px 0}}

/* Markdown paragraphs inside horizontal link groups. */
.actions > p, .package-links > p, .section-links > p { display: contents; }
.section-heading > p { margin-bottom: 5px; }
.hero h1 {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  line-height: 1.1;
}