@import url('https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&family=Montserrat:wght@500;600;700;800&display=swap');:root{--green:#254943;--accent:#387b6d;--ink:#28333a;--muted:#67767a;--line:#e5e9e7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:18px/1.65 'Source Sans 3',Arial,sans-serif}a{color:var(--accent)}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:var(--green);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;z-index:10}.portrait{width:160px;height:160px;object-fit:cover;object-position:50% 32%;border-radius:50%;border:7px solid #ffffff38}.side-name{font:700 17px Montserrat,sans-serif;letter-spacing:2px;margin:18px 0}.sidebar nav{display:flex;flex-direction:column;text-align:center;gap:10px}.sidebar nav a{font:700 12px Montserrat,sans-serif;text-decoration:none;text-transform:uppercase;letter-spacing:1.2px;color:#d2dfdb}.sidebar nav a:hover,.sidebar nav a.active{color:white}.mobile-toggle{display:none}main{margin-left:270px}section{padding:90px clamp(32px,7vw,115px);border-bottom:1px solid var(--line);max-width:1300px;min-height:65vh;scroll-margin-top:0}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.eyebrow{font:700 12px Montserrat,sans-serif;letter-spacing:2px;color:var(--accent);margin-bottom:20px}h1,h2,h3{font-family:Montserrat,Arial,sans-serif;line-height:1.3}h1{font-size:clamp(43px,6vw,77px);margin:0;letter-spacing:-2px;font-weight:800}h1 span{color:var(--accent)}h2{font-size:clamp(30px,4vw,46px);margin:0 0 35px}h3{font-size:17px;margin:0 0 8px}p{max-width:850px;color:#566267;margin:9px 0 19px}.lead{font-size:21px;color:#3b484c}.subtitle{font-weight:700;font-size:21px;text-transform:uppercase;letter-spacing:.3px}.subtitle span{color:var(--accent);margin:0 6px}.affiliation{margin-bottom:35px}.links{display:flex;gap:13px;flex-wrap:wrap;margin-top:25px}.links a,.primary-link{display:inline-block;text-decoration:none;border:1px solid #b9cbc5;padding:10px 16px;border-radius:5px;font-weight:700;font-size:15px}.links a:hover,.primary-link:hover{background:var(--green);color:#fff}.timeline article{border-left:3px solid #b7d2c8;padding:0 0 28px 24px;margin-left:6px}.timeline article p{margin:3px 0}.tags{display:flex;gap:11px;flex-wrap:wrap;margin:24px 0 30px}.tags span{background:#edf3f0;color:#315c51;padding:9px 14px;border-radius:5px;font-size:15px;font-weight:600}.thesis{border-left:4px solid var(--accent);padding:20px 25px;background:#f5f8f6}.thesis h3{font-size:21px;margin:14px 0}.pub-year{font:700 12px Montserrat,sans-serif;color:var(--accent);white-space:nowrap}.count{font:600 15px 'Source Sans 3',sans-serif;color:var(--muted);vertical-align:middle;white-space:nowrap}.publication{display:grid;grid-template-columns:62px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}.publication h3{font-size:16px}.publication p{margin:0 0 3px;font-size:15px}.publication a{font-size:14px;font-weight:600;text-decoration:none}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:25px 0}.filters label{font-size:14px;font-weight:700}.filters input,.filters select{font:inherit;font-size:15px;padding:9px;border:1px solid #ccd7d3;border-radius:4px;max-width:100%}.filters input{flex:1;min-width:190px}.footnote{font-size:14px;margin-top:20px}footer{padding:30px clamp(32px,7vw,115px);font-size:13px;color:var(--muted)}@media(max-width:850px){.mobile-toggle{display:flex;gap:15px;align-items:center;position:sticky;top:0;width:100%;padding:15px 22px;border:0;background:var(--green);color:white;font:700 14px Montserrat,sans-serif;z-index:20}.sidebar{display:none;top:49px;bottom:0;width:100%;height:calc(100vh - 49px);overflow:auto}.sidebar.open{display:flex}.portrait{width:115px;height:115px}main{margin:0}section{padding:65px 26px;min-height:auto;scroll-margin-top:49px}.hero{min-height:calc(100vh - 49px)}.subtitle{font-size:17px}}
.publication-group{margin:34px 0 44px}.pub-group-heading{font-size:22px;color:var(--green);margin:0 0 6px}.pub-group-description{font-size:15px;margin:0 0 10px}.publication-group[hidden],.publication[hidden]{display:none}

.research-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:13px;margin:22px 0 28px}.research-highlight{border:1px solid #dbe7e1;border-radius:7px;padding:17px;background:#f7faf8}.research-highlight h4{font:700 14px/1.4 Montserrat,Arial,sans-serif;color:var(--green);margin:0 0 8px}.research-highlight p{font-size:14px;line-height:1.5;margin:0 0 8px}.highlight-count{font-size:12px;font-weight:700;color:var(--accent)}.pub-topic-tags{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}.pub-topic{font-size:11px;line-height:1.4;padding:4px 7px;border-radius:4px;background:#e9f1ed;color:#315d51;font-weight:700}.pub-topic-faunistics{background:#f0f1e8;color:#61633d}.pub-topic-morphology{background:#edf0f5;color:#425a78}

/* AMNH scientific visit */
.visit-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1.8rem;align-items:center;margin:2rem 0 2.5rem;background:rgba(128,128,128,.055);border-radius:14px;overflow:hidden}.visit-feature>img{width:100%;height:380px;object-fit:cover;object-position:center;display:block}.visit-feature>div{padding:1.4rem 1.6rem 1.4rem 0}.visit-feature h3{margin:.5rem 0 1rem}.visit-note{font-size:.82rem;opacity:.7}.gallery-title{margin-top:2rem}.gallery-intro{font-size:.92rem;opacity:.8}.visit-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.2rem 0}.visit-card{margin:0;min-width:0}.visit-card button{border:0;background:none;padding:0;width:100%;cursor:zoom-in;text-align:left;color:inherit;font:inherit}.visit-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:8px}.visit-card strong{display:block;margin-top:.55rem;font-size:.92rem}.visit-card figcaption{font-size:.8rem;opacity:.78;line-height:1.5;margin-top:.25rem}.photo-dialog{position:fixed;max-width:min(94vw,1100px);max-height:94vh;padding:1rem;border:0;border-radius:12px;background:#161b20;color:#fff;box-shadow:0 20px 90px #0008}.photo-dialog::backdrop{background:#000c}.photo-dialog img{display:block;max-width:100%;max-height:75vh;object-fit:contain;margin:auto}.photo-dialog p{font-size:.9rem;padding-right:2rem}.photo-close{position:absolute;top:.35rem;right:.65rem;background:#161b20;color:white;border:0;font-size:2rem;cursor:pointer;z-index:2}@media(max-width:760px){.visit-feature{grid-template-columns:1fr}.visit-feature>img{height:290px}.visit-feature>div{padding:0 1.2rem 1.2rem}.visit-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.visit-gallery{grid-template-columns:1fr}}
