:root{font-family:Georgia,'Times New Roman',serif;color:#252724;background:#fff;font-size:16px;font-synthesis:none;--ink:#252724;--muted:#70726c;--rule:#dedfd9;--accent:#385749}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--accent)}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{cursor:default;opacity:.35}[hidden]{display:none!important}.skip-link{position:absolute;top:-80px;left:20px;padding:12px;background:white;z-index:10}.skip-link:focus{top:10px}.site-header{max-width:1120px;margin:auto;padding:35px 40px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);font-family:Arial,sans-serif;font-size:.875rem}.wordmark{text-decoration:none}.small-mark{color:#b9bcb5;margin:0 13px}.header-note{color:var(--muted)}nav{display:flex;gap:30px}nav a{text-decoration:none;position:relative;padding:8px 0}nav a[aria-current=page]:after{content:'';position:absolute;height:1px;background:var(--ink);bottom:-24px;left:0;right:0}.count{font-size:.75rem;color:var(--muted);margin-left:5px;font-variant-numeric:tabular-nums}main{max-width:840px;margin:auto;padding:0 40px;min-height:75vh}.introduction{padding:91px 0 79px}.eyebrow{font:400 .75rem/1.6 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 24px}h1{font-size:3.1rem;line-height:1.15;letter-spacing:-.045em;font-weight:400;margin:0 0 25px}p{line-height:1.7}.intro-text{font-size:1.35rem;max-width:530px;line-height:1.6;margin:0 0 21px}.bio{font-size:1rem;line-height:1.75;color:#676a63;margin:0}.intro-links{display:flex;gap:26px;margin-top:28px;font:400 .875rem/1.6 Arial,sans-serif}.intro-links a{text-decoration:none;border-bottom:1px solid #b9c2ba}.intro-links span{margin-left:3px}.section-heading{border-top:1px solid var(--ink);padding:23px 0 25px;display:flex;align-items:center;justify-content:space-between;gap:16px}h2{font-size:1.5rem;font-weight:400;letter-spacing:-.025em;margin:0}.section-number{font:400 .75rem Arial,sans-serif;color:var(--muted);margin-right:15px}.section-heading>a{font:400 .875rem Arial,sans-serif;text-decoration:none}.resume-tabs{display:flex;gap:8px;padding-bottom:34px}.resume-tabs button{background:none;border:1px solid transparent;border-radius:2px;padding:9px 16px;font:400 .875rem Arial,sans-serif;color:var(--muted)}.resume-tabs button:first-child{margin-left:-16px}.resume-tabs button[aria-selected=true]{background:#f4f5f1;border-color:#e4e6df;color:var(--ink)}.resume-tabs button:hover{color:var(--ink);background:#f7f8f5}.resume-module{display:grid;grid-template-columns:126px 1fr;gap:22px;padding:0 0 31px;margin-bottom:29px;border-bottom:1px solid var(--rule)}.module-label{font:400 .8125rem/1.6 Arial,sans-serif;color:var(--muted);margin:3px 0 0}.entry+.entry{margin-top:27px}.entry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.entry h3{font-size:1rem;line-height:1.45;font-weight:400;margin:0}.entry .date{font:400 .75rem/1.5 Arial,sans-serif;color:var(--muted);white-space:nowrap}.entry .role{font-size:.9375rem;color:#61655c;margin:4px 0 7px;font-style:italic}.entry p{font-size:1rem;margin:5px 0 0;line-height:1.65}.entry a{text-decoration-color:#b5bdb5}.skills-text{margin:0;line-height:1.8}.site-footer{max-width:1120px;margin:50px auto 0;border-top:1px solid var(--rule);padding:26px 40px 35px;display:flex;justify-content:space-between;gap:16px;font:400 .75rem/1.6 Arial,sans-serif;color:var(--muted)}.site-footer a{text-decoration:none}.page-heading{padding:80px 0 48px}.page-heading h1{font-size:2.6rem;margin-bottom:20px}.page-description{color:var(--muted);margin:0}.project{display:grid;grid-template-columns:36px 1fr;column-gap:17px;padding:31px 0 34px;border-top:1px solid var(--rule)}.project-number{font:400 .75rem/1.7 Arial,sans-serif;color:var(--muted);padding-top:3px}.project h2{font-size:1.55rem;line-height:1.4;margin-bottom:12px;max-width:580px}.project h2 a{text-decoration:none}.project p{margin:0 0 19px;color:#656960;max-width:590px}.project-meta{font:400 .75rem/1.6 Arial,sans-serif;color:var(--muted);display:flex;gap:17px;margin-bottom:14px}.project-links{display:flex;gap:23px;font:400 .875rem/1.8 Arial,sans-serif}.project-links a{text-decoration-color:#aeb9ad}.reader-back{display:inline-block;margin:40px 0 32px;font:400 .875rem Arial,sans-serif;text-decoration:none}.paper-heading h1{font-size:2.4rem;max-width:690px;line-height:1.25;margin-bottom:18px}.paper-heading .paper-summary{color:#656960;margin-bottom:30px}.reader-toolbar{position:sticky;top:0;z-index:3;background:rgba(255,255,255,.96);border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;font:400 .875rem Arial,sans-serif;backdrop-filter:blur(10px)}.reader-toolbar a{text-decoration:none}.reader-tools{display:flex;align-items:center;gap:10px}.reader-tools button{border:1px solid var(--rule);background:white;min-width:30px;height:30px;border-radius:2px}.page-status{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.paper-pages{margin:24px -25px 0;overflow-x:auto;overflow-y:hidden}.pdf-page{position:relative;margin:0 auto 16px;background:#fff;line-height:1;overflow:hidden}.pdf-page canvas{display:block;width:100%;height:100%}.pdf-page .textLayer{position:absolute;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0% 0%}.textLayer ::selection{background:rgba(78,113,171,.26)}.textLayer .markedContent{display:contents}.reader-error{border:1px solid var(--rule);padding:24px;line-height:1.7}.loading{font:400 .875rem/1.7 Arial,sans-serif;color:var(--muted);padding:25px 0}.noscript{max-width:760px;margin:30px auto;padding:20px}.pdf-page .page-number{position:absolute;right:12px;bottom:5px;font:12px Arial,sans-serif;color:#777}.reader-toolbar select{font:inherit;border:0;background:transparent;max-width:180px}.paper-caption{font:400 .75rem/1.7 Arial,sans-serif;color:var(--muted);margin-top:12px}
@media(min-width:1250px){.introduction{padding-top:105px}}@media(max-width:640px){.site-header{padding:22px 24px 20px}.header-note,.small-mark{display:none}nav{gap:23px}nav a[aria-current=page]:after{bottom:-21px}main{padding:0 25px}.introduction{padding:67px 0 57px}h1{font-size:2.5rem}.intro-text{font-size:1.2rem}.eyebrow{font-size:.6875rem;letter-spacing:.1em}.resume-module{grid-template-columns:1fr;gap:16px;padding-bottom:26px;margin-bottom:26px}.module-label{text-transform:uppercase;letter-spacing:.1em;font-size:.6875rem}.entry-heading{flex-wrap:wrap;gap:3px 15px}.entry .date{font-size:.75rem}.resume-tabs{padding-bottom:29px}.site-footer{padding:23px 25px;flex-wrap:wrap;margin-top:26px}.site-footer>span:nth-child(2){display:none}.page-heading{padding:57px 0 35px}.project{grid-template-columns:24px 1fr;gap:9px}.project h2{font-size:1.4rem}.project-meta{flex-wrap:wrap;gap:8px 14px}.paper-heading h1{font-size:2rem}.paper-pages{margin:18px -18px 0}.reader-toolbar{font-size:.8125rem}.reader-tools{gap:6px}.reader-back{margin-top:30px}.section-heading>a{font-size:.8125rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.site-header,.resume-tabs,.site-footer,.intro-links,.section-heading>a,.reader-toolbar,.reader-back{display:none}main{max-width:none;padding:0}.introduction{padding:20px 0 30px}h1{font-size:2rem}.resume-module{break-inside:avoid}.pdf-page{break-after:page}.paper-pages{overflow:visible;margin:0}}
.print-resume{font:400 .875rem Arial,sans-serif;border:0;padding:5px 0;background:none}.print-resume:hover{color:var(--accent)}#resume-content{padding-top:10px}@media print{.print-resume{display:none}.introduction{padding:10px 0 20px}.intro-text,.bio,.eyebrow{display:none}.resume-module{padding-bottom:16px;margin-bottom:16px}.entry+.entry{margin-top:15px}.entry p{font-size:.875rem}.section-heading{padding:15px 0}.resume-module{break-inside:auto}.entry{break-inside:avoid}}

/* The same face crop scales with each name's font size. */
.profile-photo {
  position: relative;
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  flex: 0 0 1.25em;
  overflow: hidden;
  border-radius: 50%;
  background: #f4f5f1;
}
.profile-photo img {
  position: absolute;
  width: 137.01%;
  max-width: none;
  height: auto;
  left: -16.35%;
  top: -18.28%;
}
.wordmark {
  display: inline-flex;
  align-items: center;
  gap: .6em;
}
.wordmark .profile-photo {
  width: 1.6em;
  height: 1.6em;
  flex-basis: 1.6em;
}
#name {
  display: flex;
  align-items: center;
  gap: .32em;
}
#name > span:last-child { min-width: 0; }
.site-header { gap: 20px; }
@media (max-width: 380px) {
  .site-header { flex-wrap: wrap; gap: 12px; }
  .site-header nav a[aria-current=page]::after { bottom: -8px; }
}

.intro-links { flex-wrap: wrap; row-gap: 12px; }
.intro-links a { display: inline-flex; align-items: center; gap: 6px; }
.link-icon { width: .95em; height: .95em; flex: none; opacity: .65; }

.paper-source { margin: -12px 0 28px; }
.coming-soon { border-top: 1px solid var(--rule); padding: 30px 0; }
.coming-soon p, .project-status { color: var(--muted); }
