.avatar.photo{padding:0;background:#e8e9e5;overflow:hidden}.person-photo{width:100%;height:100%;min-height:100%;display:block;object-fit:cover;object-position:center}.person.bio:first-child .person-photo{object-position:center 30%}

.um-brand{display:flex;align-items:center;gap:12px;margin-left:auto;color:var(--ink);font-weight:750}.um-brand img{display:block;width:auto;height:46px;max-width:150px;object-fit:contain;object-position:left center;flex:0 0 auto}.um-brand span{font-size:12px;max-width:92px;line-height:1.2}.um-brand:hover{color:var(--accent)}

.publication-page{max-width:1000px}.pub-section-heading{display:flex;justify-content:space-between;gap:36px;align-items:end;margin-bottom:38px}.pub-section-heading h2{font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.04em;margin:4px 0 0}.pub-section-heading p{max-width:420px;color:var(--muted);margin:0}.pipeline-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pub-year-block{display:grid;grid-template-columns:110px 1fr;gap:32px;padding:30px 0;border-top:1px solid var(--line)}.pub-year-block:first-of-type{border-top:0}.pub-year-block>h2{margin:3px 0 0;font-size:28px;letter-spacing:-.03em}.pub-year-list{display:grid;gap:12px}.pub-entry{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 20px;min-width:0}.pipeline-list .pub-entry{background:#f7f8fc;border-color:#dfe3f1}.pub-entry-top{min-height:0}.pub-status{display:inline-block;margin-bottom:8px;padding:4px 8px;border-radius:999px;background:#e6e9f8;color:var(--accent);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.pub-title-link{display:block;font-size:16px;font-weight:780;line-height:1.4;letter-spacing:-.012em}.pub-title-link:not(.no-link):after{content:' ↗';font-size:.8em;color:var(--accent)}.pub-title-link:not(.no-link):hover{color:var(--accent)}.pub-authors{margin-top:8px;color:#4e5666;font-size:13px;line-height:1.45}.pub-venue{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45}.pub-doi{display:inline-block;margin-left:5px;color:var(--accent);font-weight:700;word-break:break-all}

@media(max-width:900px){.pipeline-list{grid-template-columns:1fr}.pub-year-block{grid-template-columns:80px 1fr;gap:20px}.um-brand{margin-left:0}}
@media(max-width:580px){.pub-section-heading{align-items:start;flex-direction:column}.pub-year-block{grid-template-columns:1fr;gap:10px}.pub-year-block>h2{font-size:24px}.person.bio{grid-template-columns:100px 1fr}.um-brand img{max-width:90px}}

.hero-um{display:inline-flex;align-items:center;gap:14px;margin-bottom:10px;color:var(--ink)}
.hero-um img{display:block;width:auto;height:56px;max-width:180px;object-fit:contain;object-position:left center;flex:0 0 auto}
.hero-um span{font-size:12px;font-weight:750;line-height:1.25;color:var(--muted);max-width:145px}
.hero-um:hover{color:var(--ink)}
@media(max-width:580px){.hero-um img{height:48px;max-width:155px}.hero-um span{font-size:11px}}

/* Homepage wave-interference artwork */
.hero-wave-art{
  border-radius:30px;
  overflow:hidden;
  background:#f7f7f3;
  border:1px solid rgba(226,227,223,.95);
  box-shadow:0 20px 55px rgba(17,24,39,.055);
  min-height:390px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 22px;
}
.hero-wave-art svg{
  display:block;
  width:96%;
  height:auto;
  transform:none;
  transform-origin:center;
}
.hero-wave-art .env-blue{fill:url(#envBlue)}.hero-wave-art .env-teal{fill:url(#envTeal)}
.hero-wave-art .guide{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:2 11;opacity:.72}
.hero-wave-art .guide-blue{stroke:#5d89dc}.hero-wave-art .guide-teal{stroke:#32aeb0}
.hero-wave-art .wave-main{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.hero-wave-art .blue{stroke:#315fc8}.hero-wave-art .teal{stroke:#28a7aa}
@media(max-width:900px){
  .hero-wave-art{min-height:0;padding:14px 16px}
  .hero-wave-art svg{width:98%;transform:none}
}
