@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@300;400&display=swap";:root{--navy:#2f4858;--navy-dark:#1e3040;--navy-deep:#131f28;--teal:#3d8fa6;--teal-light:#5aabbe;--teal-pale:#e8f4f8;--gold:#c9963c;--gold-light:#e8b86d;--slate:#4a5e6d;--slate-light:#8fa3b1;--slate-pale:#d4dde3;--off-white:#f4f6f8;--white:#fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--off-white);color:var(--navy);-webkit-font-smoothing:antialiased}.lab-photos-strip::-webkit-scrollbar{display:none}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:.35s both pageFadeIn}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fu{animation:.75s both fadeUp}.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}.d4{animation-delay:.55s}.d5{animation-delay:.7s}@keyframes ruleGrow{0%{width:0}to{width:80px}}.hero-rule{background:var(--gold);width:0;height:2px;animation:.8s .6s both ruleGrow}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.mobile-menu{animation:.3s forwards slideDown}.nav-link{letter-spacing:.025em;font-family:Inter,sans-serif;font-size:13px;text-decoration:none;transition:color .2s;position:relative}.nav-link:after{content:"";background:var(--teal-light);width:0;height:1px;transition:width .22s;position:absolute;bottom:-3px;left:0}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link.active{color:var(--teal)!important}.card{background:var(--white);border:1px solid var(--slate-pale);border-radius:10px;transition:transform .22s,box-shadow .22s,border-color .22s}.card:hover{border-color:#3d8fa640;transform:translateY(-3px);box-shadow:0 14px 44px #2f48581c}.pill{letter-spacing:.03em;border-radius:99px;padding:3px 12px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;display:inline-block}.btn{letter-spacing:.025em;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s,transform .15s,border-color .2s,color .2s;display:inline-flex}.btn-primary{background:var(--teal);color:var(--white);padding:12px 26px}.btn-primary:hover{background:var(--teal-light);transform:translateY(-1px)}.btn-outline-dark{color:var(--navy);border:1px solid var(--slate-pale);background:0 0;padding:11px 26px}.btn-outline-dark:hover{border-color:var(--teal);color:var(--teal)}.btn-outline-light{color:#fffc;background:0 0;border:1px solid #ffffff4d;padding:11px 26px}.btn-outline-light:hover{color:var(--white);border-color:#ffffffa6}.btn-gold{background:var(--gold);color:var(--white);padding:12px 26px}.btn-gold:hover{background:var(--gold-light);transform:translateY(-1px)}.section-eyebrow{letter-spacing:.2em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:10px;font-weight:500}.teal-bar{background:var(--teal);width:40px;height:2px}.gold-bar{background:var(--gold);width:40px;height:2px}.pub-row{cursor:default;border-left:2px solid #0000;transition:border-color .18s,background .18s}.pub-row:hover{border-left-color:var(--teal);background:#3d8fa60a}.icon-ring{border:1.5px solid var(--teal);background:#3d8fa612;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:background .2s;display:flex}.card:hover .icon-ring{background:#3d8fa624}.avatar{width:90px;height:90px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;font-family:Cormorant Garamond,serif;font-size:30px;font-weight:400;display:flex;position:relative;overflow:hidden}.avatar:after{content:"";background:radial-gradient(circle at 30% 28%,#ffffff2e,#0000);position:absolute;inset:0}.avatar-lg{width:130px;height:130px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;font-family:Cormorant Garamond,serif;font-size:44px;font-weight:400;display:flex;position:relative;overflow:hidden}.avatar-lg:after{content:"";background:radial-gradient(circle at 30% 28%,#ffffff2e,#0000);position:absolute;inset:0}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--off-white)}::-webkit-scrollbar-thumb{background:var(--slate-pale);border-radius:3px}.search-input{border:1px solid var(--slate-pale);width:100%;color:var(--navy);background:var(--white);border-radius:6px;outline:none;padding:11px 16px 11px 44px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .18s,box-shadow .18s}.search-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #3d8fa61a}.search-input::placeholder{color:var(--slate-light)}.search-input-dark{color:var(--white);background:#ffffff0f;border:1px solid #ffffff1f}.search-input-dark::placeholder{color:#ffffff4d}.search-input-dark:focus{border-color:var(--teal);box-shadow:0 0 0 3px #3d8fa626}hr.subtle{border:none;border-top:1px solid var(--slate-pale)}hr.subtle-dark{border:none;border-top:1px solid #ffffff12}.tag-funding{color:#256637;background:#e8f5ec}.tag-publication{color:#185a85;background:#e6f3fb}.tag-award{color:#7a4e0d;background:#fdf4e6}.tag-lab{color:#563585;background:#f2edfb}.tag-seminar{color:#7d1f4d;background:#fce9f2}.tag-talk{color:#1a6b62;background:#e6f9f7}.tag-events{color:#7a3a0d;background:#fff0e6}.footer-grid{grid-template-columns:1.5fr 1.5fr 1fr;gap:48px;margin-bottom:56px;display:grid}.footer-copyright{grid-template-columns:1.5fr 1.5fr 1fr;gap:12px;display:grid}.pillar-sticky{position:static}@media (width<=768px){.hide-mobile{display:none!important}.show-mobile{display:block!important}.grid-2,.grid-3{grid-template-columns:1fr!important}.footer-grid{grid-template-columns:1fr;gap:32px;margin-bottom:40px}.footer-copyright{grid-template-columns:1fr;text-align:left!important}.footer-copyright p{text-align:left!important}.pillar-sticky{position:static}}
