.header{position:sticky;top:0;z-index:100;background:#fffefbf5;border-bottom:1px solid #ddd7c8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header:after{content:"";display:block;height:2px;background:#b8922e}.header-content{width:min(1120px,calc(100% - 3rem));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:78px}.identity{display:inline-flex;flex-direction:column;gap:.18rem;color:inherit;text-decoration:none}.identity-name{color:#1d1d1d;font-family:var(--font-display);font-size:clamp(1.55rem,2.2vw,2rem);line-height:1;font-weight:700;letter-spacing:-.025em}.identity-tagline{color:#6a655b;font-family:var(--font-label);font-size:.78rem;letter-spacing:.045em}.pdf-link:focus-visible,.identity:focus-visible{outline:3px solid rgba(184,146,46,.35);outline-offset:2px}.pdf-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 .8rem;border:1px solid #292929;border-radius:4px;background:#292929;color:#fff;font-family:var(--font-label);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-decoration:none}.pdf-link:hover{background:#b08b2f;border-color:#b08b2f}@media(max-width:700px){.header-content{width:calc(100% - 2rem);min-height:auto;padding:.9rem 0;gap:1rem}.identity-tagline{font-size:.7rem}}.resume-container{width:100%}.resume-container.loading,.resume-container.error{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#5c574e}.loader{width:34px;height:34px;margin-bottom:1rem;border:3px solid #e6e0d3;border-top-color:#a47d20;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.resume-container.error h2{margin-bottom:.55rem;color:#2b2924;font-family:var(--font-display)}.resume-container.error p{max-width:430px;margin-bottom:1.1rem;color:#6b655b}.resume-container.error button{padding:.55rem .9rem;border:1px solid #2c2b28;border-radius:4px;background:#2c2b28;color:#fff;cursor:pointer}.resume-content{max-width:780px;margin:0 auto;color:#35322c;font-family:var(--font-body);font-size:.96rem;line-height:1.67}.resume-intro{padding-bottom:1.7rem}.resume-eyebrow{margin-bottom:.35rem;color:#9a7520;font-family:var(--font-label);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.resume-title{margin:0;color:#1d1c19;font-family:var(--font-display);font-size:clamp(2rem,5vw,2.65rem);line-height:1.08;font-weight:700;letter-spacing:-.025em}.resume-summary{max-width:720px;margin:.9rem 0 0;color:#514d45;font-size:1.04rem;line-height:1.65}.resume-section{margin-top:2.45rem}.section-header{display:flex;align-items:center;gap:.9rem;margin:0 0 1.2rem;color:#27251f;font-family:var(--font-label);font-size:.75rem;line-height:1.25;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.section-header:after{content:"";flex:1;height:1px;background:#c4a24d}.technical-skills{display:grid;gap:.82rem}.technical-skill-group{display:grid;grid-template-columns:minmax(155px,.28fr) 1fr;gap:1rem;align-items:baseline}.technical-skill-group h3{margin:0;color:#292722;font-size:.87rem;line-height:1.45;font-weight:700}.technical-skill-group p{margin:0;color:#59544b;font-size:.9rem;line-height:1.55}.jobs-list{display:grid}.job-block{padding:0 0 2rem}.job-block+.job-block{padding-top:2rem;border-top:1px solid #e6e1d6}.job-topline{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.job-company{margin:0;color:#1f1e1a;font-family:var(--font-display);font-size:1.18rem;line-height:1.3;font-weight:700}.job-dates{flex:0 0 auto;color:#777064;font-family:var(--font-label);font-size:.78rem;font-weight:600;white-space:nowrap}.job-role-line{margin-top:.2rem;color:#514c43;font-size:.9rem}.job-position{color:#35322c;font-weight:700}.job-location{color:#777064}.job-summary{margin:.75rem 0 .65rem;color:#5a554c;font-size:.92rem;line-height:1.58}.job-highlights{margin:0;padding-left:1.15rem}.job-highlights li{margin-bottom:.62rem;padding-left:.18rem;color:#3d3932}.job-highlights li::marker{color:#a68025}.metric{color:#795b13;font-weight:750}.open-science-list,.awards-list{margin:0;padding:0;list-style:none}.open-science-list{display:grid;gap:.72rem}.open-science-list li{color:#555046}.open-science-title{color:#292722;font-weight:700}.resume-content a{color:#735713;text-decoration-color:#d2bd82;text-underline-offset:.18em}.resume-content a:hover{color:#9a7520;text-decoration-color:currentColor}.resume-content a:focus-visible{outline:3px solid rgba(184,146,46,.3);outline-offset:2px}.grants-pubs>p{margin:0 0 .65rem;color:#514c43}.awards-list{margin-top:1rem;border-top:1px solid #e6e1d6}.awards-list li{display:grid;grid-template-columns:54px minmax(0,1fr) auto;column-gap:.7rem;row-gap:.1rem;padding:.75rem 0;border-bottom:1px solid #eee9df}.award-year{color:#8c6c20;font-family:var(--font-label);font-size:.82rem;font-weight:700}.award-title{color:#35322c;font-weight:650}.award-amount{color:#777064;font-family:var(--font-label);font-size:.83rem;white-space:nowrap}.award-desc{grid-column:2 / -1;color:#6b655b;font-size:.84rem}@media(max-width:680px){.resume-content{font-size:.93rem}.technical-skill-group{grid-template-columns:1fr;gap:.2rem}.job-topline{align-items:flex-start;flex-direction:column;gap:.2rem}.job-dates{white-space:normal}.awards-list li{grid-template-columns:48px minmax(0,1fr)}.award-amount,.award-desc{grid-column:2}}.sidebar{align-self:start;position:sticky;top:112px;color:#34322d;padding:.35rem 0}.sidebar-section{margin-bottom:2.1rem}.sidebar-section:last-child{margin-bottom:0}.sidebar h2{margin:0 0 .85rem;padding-bottom:.55rem;border-bottom:1px solid #c7aa58;color:#282620;font-size:.72rem;line-height:1.2;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.contact-list,.profile-links{display:flex;flex-direction:column;gap:.5rem;font-size:.86rem;line-height:1.45}.contact-list a,.sidebar-link{width:fit-content;max-width:100%;color:#444036;text-decoration:none;overflow-wrap:anywhere}.contact-list a:hover,.sidebar-link:hover{color:#8a6919;text-decoration:underline;text-underline-offset:.2em}.contact-list a:focus-visible,.sidebar-link:focus-visible{outline:3px solid rgba(184,146,46,.3);outline-offset:2px}.profile-links .sidebar-link:after{content:" ↗";color:#9b9588;font-size:.75em}.edu-item{margin-bottom:1rem}.edu-item h3{margin:0 0 .35rem;color:#292722;font-size:.9rem;line-height:1.35;font-weight:700}.edu-item p{margin:0;color:#555046;font-size:.82rem;line-height:1.45}.edu-item span{display:block;margin-top:.16rem;color:#857e70;font-size:.76rem}.edu-item.compact{padding-top:.75rem;border-top:1px solid #e2ddd1}@media(max-width:900px){.sidebar{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:1.25rem 1.5rem;border:1px solid #e0dbcf;background:#fffefbb8}.sidebar-section{margin-bottom:0}}@media(max-width:650px){.sidebar{grid-template-columns:1fr 1fr;border-left:0;border-right:0}.education-section{grid-column:1 / -1}}@media(max-width:440px){.sidebar{grid-template-columns:1fr;padding:1.25rem}.education-section{grid-column:auto}}.app{--font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-label: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;min-height:100vh;display:flex;flex-direction:column;background:#f4f1e8;font-family:var(--font-body)}.page-shell{width:min(1120px,calc(100% - 3rem));margin:0 auto;display:grid;grid-template-columns:230px minmax(0,820px);justify-content:center;gap:3.25rem;padding:3.25rem 0 4rem;flex:1}.main-content{min-width:0;background:#fffefb;border:1px solid #e4dfd2;padding:clamp(2rem,4vw,3.75rem)}.footer{display:flex;justify-content:center;align-items:center;gap:.55rem;padding:1.75rem 1rem 2.25rem;color:#6c675d;font-family:var(--font-label);font-size:.82rem;letter-spacing:.02em}.footer-separator{color:#b08b2f}@media(max-width:900px){.page-shell{width:min(760px,calc(100% - 2rem));grid-template-columns:1fr;gap:1.5rem;padding-top:2rem}}@media(max-width:600px){.page-shell{width:100%;padding:0;gap:0}.main-content{border-left:0;border-right:0;padding:1.5rem 1.25rem 2.5rem}.footer{padding:1.5rem 1rem}}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#232323;background:#f4f1e8;font-synthesis:none;text-rendering:optimizeLegibility}html{scroll-behavior:smooth}html,body,#root{min-height:100%;width:100%}body{min-width:320px;background:#f4f1e8;color:#232323;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,select,a{font:inherit}::selection{background:#eadca7;color:#171717}
