@font-face {
  font-family:DM Sans;
  src:url('./fonts/dm-sans-regular.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:DM Sans;
  src:url('./fonts/dm-sans-semibold.ttf') format('truetype');
  font-style:normal;
  font-weight:600 700;
  font-display:swap;
}
@font-face {
  font-family:DM Serif Display;
  src:url('./fonts/dm-serif-display.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
:root {
  --background:#fbfaf6;
  --ink:#34332f;
  --muted:#716e65;
  --accent:#88671f;
  --line:rgba(190,154,59,.23);
  --gold-edge:linear-gradient(90deg,rgba(192,152,47,.34),rgba(244,222,151,.7) 48%,rgba(192,152,47,.17));
  --paper:rgba(255,255,252,.58);
  --glass-face:linear-gradient(125deg,rgba(255,255,255,.86),rgba(255,255,252,.50) 54%,rgba(255,249,226,.46));
  --glass-edge:rgba(255,255,255,.88);
  --glass-shadow:0 16px 42px rgba(58,54,42,.04),0 2px 6px rgba(58,54,42,.025),inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px 0 rgba(233,208,130,.18);
  --serif:'DM Serif Display',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}
body {
  isolation:isolate;
  margin:0;
  background:var(--background);
  color:var(--ink);
  font:16px/1.7 var(--sans);
  -webkit-font-smoothing:antialiased;
}
body::before {
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(ellipse at 13% 17%,rgba(234,206,119,.12),transparent 39%),
    radial-gradient(ellipse at 88% 12%,rgba(255,255,252,.96),transparent 38%),
    radial-gradient(ellipse at 85% 79%,rgba(224,200,131,.065),transparent 43%),
    radial-gradient(ellipse at 19% 85%,rgba(255,255,255,.88),transparent 46%);
}
body::after {
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background-image:radial-gradient(#c0ab6612 .65px,transparent .65px);
  background-size:24px 24px;
  mask-image:linear-gradient(to bottom,#000,transparent 85%);
}
a {
  color:inherit;
  text-decoration:none;
}
a,button,summary {
  -webkit-tap-highlight-color:transparent;
}
button {
  font:inherit;
  color:inherit;
  cursor:pointer;
}
button,a,summary {
  touch-action:manipulation;
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:5px;
}
img {
  max-width:100%;
  height:auto;
  display:block;
}
h1,h2,h3,p {
  margin:0;
}
h1,h2 {
  font-family:var(--serif);
  font-weight:400;
}
h3 {
  font-weight:600;
}
::selection {
  background:#f2e3af;
  color:var(--ink);
}
.shell {
  width:min(1080px,calc(100% - 80px));
  margin-inline:auto;
}
.icon {
  width:19px;
  height:19px;
  flex:none;
  display:inline-block;
  vertical-align:middle;
}
.skip {
  position:fixed;
  left:20px;
  top:-100px;
  z-index:100;
  background:white;
  padding:12px 20px;
}
.skip:focus {
  top:10px;
}
.site-header {
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,254,249,.78);
  backdrop-filter:blur(24px) saturate(1.2);
  -webkit-backdrop-filter:blur(24px) saturate(1.2);
  border-bottom:1px solid rgba(255,255,255,.85);
  box-shadow:0 1px 0 rgba(192,152,47,.09),0 5px 24px rgba(58,54,42,.018);
}
@supports(animation-timeline:scroll()) {
  .site-header::after {
    content:'';
    position:absolute;
    bottom:-1px;
    left:0;
    width:100%;
    height:2px;
    background:var(--gold-edge);
    transform:scaleX(0);
    transform-origin:left;
    animation:reading-progress linear both;
    animation-timeline:scroll(root block);
    pointer-events:none;
  }
}
@keyframes reading-progress {
  to {transform:scaleX(1);}
}
.navigation {
  height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.wordmark {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:var(--serif);
  font-size:24px;
  white-space:nowrap;
}
.brand-mark {
  width:48px;
  height:48px;
  flex:none;
}
.brand-mark .baymax-head-motion {
  transform-origin:47px 36px;
}
.brand-mark .baymax-camera-motion {transform-origin:48px 65px;}
.wordmark:is(:hover,:focus-visible) .baymax-head-motion {
  animation:baymax-notices-you 1.25s ease-in-out;
}
.wordmark:is(:hover,:focus-visible) .baymax-camera-motion {
  animation:baymax-lifts-camera 1.25s ease-in-out;
}
.wordmark:is(:hover,:focus-visible) .baymax-arms-motion {
  animation:baymax-lifts-arms 1.25s ease-in-out;
}
@keyframes baymax-notices-you {
  0%,100% {transform:none;}
  24%,58% {transform:rotate(-7deg) translateY(-1px);}
  78% {transform:rotate(-2deg);}
}
@keyframes baymax-lifts-camera {
  0%,14%,100% {transform:none;}
  38%,62% {transform:translateY(-5px) rotate(-3deg);}
}
@keyframes baymax-lifts-arms {
  0%,14%,100% {transform:none;}
  38%,62% {transform:translateY(-2.5px);}
}
.camera-glint {
  transform-origin:45px 63px;
}
.wordmark:hover .camera-glint,.wordmark:focus-visible .camera-glint {
  animation:lens-catchlight 1.25s ease-in-out;
}
@keyframes lens-catchlight {
  0%,25%,100% {opacity:0;}
  48%,60% {opacity:.3;}
}
.wordmark .wordmark-dot {
  color:var(--accent);
  margin-left:2px;
}
.nav-links {
  display:flex;
  align-items:center;
  gap:27px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.015em;
}
.nav-links>a {
  position:relative;
  padding:10px 0;
}
.nav-links>a::before {
  content:'';
  position:absolute;
  inset:5px -7px;
  z-index:-1;
  border-radius:8px;
  background:rgba(255,253,249,.60);
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 2px 7px rgba(104,79,48,.045),inset 0 1px 0 #fff;
  opacity:0;
  transition:opacity .2s;
}
.nav-links>a[aria-current=location] {
  color:var(--accent);
}
.nav-links>a[aria-current=location]::before {
  opacity:1;
}
.nav-links>a::after {
  content:'';
  position:absolute;
  bottom:3px;
  left:0;
  right:0;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s;
}
.nav-links>a:hover::after {
  transform:scaleX(1);
}
details {
  position:relative;
}
summary {
  cursor:pointer;
  list-style:none;
  padding:10px 0;
  display:flex;
  align-items:center;
  gap:8px;
}
summary::-webkit-details-marker {
  display:none;
}
summary::after {
  content:'';
  width:5px;
  height:5px;
  border-right:1px solid;
  border-bottom:1px solid;
  transform:rotate(45deg);
  margin-top:-3px;
}
details[open] summary::after {
  transform:rotate(225deg);
  margin-top:3px;
}
.dropdown {
  position:absolute;
  right:0;
  top:47px;
  padding:7px;
  background:linear-gradient(125deg,rgba(255,255,255,.84),rgba(253,248,239,.74));
  backdrop-filter:blur(24px) saturate(1.2);
  -webkit-backdrop-filter:blur(24px) saturate(1.2);
  border:1px solid var(--glass-edge);
  border-radius:10px;
  box-shadow:0 14px 40px #71553c16,inset 0 1px 0 #fff;
  min-width:180px;
}
.dropdown a {
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border-radius:6px;
  white-space:nowrap;
}
.dropdown a:hover {
  background:#f0e9df;
}
.dropdown .icon {
  width:17px;
  height:17px;
}
.hero {
  display:grid;
  grid-template-columns:1.14fr 1fr;
  position:relative;
  min-height:440px;
  align-items:start;
  gap:18px;
  margin:36px 0 40px;
}
.hero-copy {
  position:relative;
  z-index:2;
  padding:30px;
  background:rgba(255,255,252,.66);
  border:1px solid var(--glass-edge);
  border-radius:18px;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:var(--glass-shadow);
}
.hero-copy::before {
  content:'';
  position:absolute;
  pointer-events:none;
  top:0;
  left:8%;
  right:24%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(216,182,77,.52),#fff 68%,transparent);
}
.identity {
  display:flex;
  gap:21px;
  align-items:center;
  margin-bottom:25px;
}
.portrait-frame {
  width:108px;
  height:130px;
  flex:none;
  overflow:hidden;
  border-radius:9px;
  border:4px solid #fff;
  background:#fff;
  box-shadow:0 5px 18px #423c2c12;
}
.portrait-frame .portrait {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 0%;
  transform:scale(1.42);
  transform-origin:50% 0%;
}
.eyebrow {
  font-size:10px;
  letter-spacing:.16em;
  font-weight:600;
  text-transform:uppercase;
  color:var(--muted);
}
.greeting {
  font-size:12px;
  line-height:1.5;
  letter-spacing:.025em;
  color:var(--muted);
}
h1 {
  font-size:56px;
  line-height:1.15;
  letter-spacing:-.025em;
  margin-top:6px;
}
.hero h1 span {
  font:400 16px/1.5 var(--sans);
  color:var(--muted);
  display:block;
  letter-spacing:.2em;
  margin:7px 0 0 2px;
}
.role {
  font-size:21px;
  line-height:1.4;
  font-weight:600;
}
.affiliation {
  font-size:17px;
  line-height:1.6;
  color:var(--muted);
  margin-top:7px;
}
.interests {
  font-size:14.5px;
  font-weight:600;
  color:var(--accent);
  margin-top:15px;
  letter-spacing:.02em;
}
.interests span {
  display:inline-block;
  margin:0 6px;
  color:#a69581;
}
.research-vision {
  margin-top:17px;
  max-width:48ch;
  font-size:14px;
  line-height:1.75;
  color:var(--ink);
  text-wrap:pretty;
}
.hero-actions {
  display:grid;
  grid-template-columns:repeat(var(--action-count,3),minmax(0,1fr));
  align-items:start;
  gap:18px;
  width:100%;
  max-width:342px;
  margin-top:26px;
  perspective:600px;
}
.hero-actions>.button {
  width:auto;
  min-width:0;
}
.button {
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:72px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:7px;
  font-size:12px;
  line-height:1.4;
  color:var(--ink);
}
.action-icon {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:14px;
  color:#88671f;
  border:1px solid rgba(255,255,255,.82);
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(255,252,234,.58) 46%,rgba(231,205,126,.36));
  backdrop-filter:blur(12px) saturate(1.18);
  -webkit-backdrop-filter:blur(12px) saturate(1.18);
  box-shadow:0 6px 12px rgba(73,64,38,.075),0 1px 2px rgba(73,64,38,.04),inset 0 1px 0 #fff,inset 0 -1px 1px rgba(193,150,39,.22);
  transition:transform .28s cubic-bezier(.2,.7,.25,1),box-shadow .28s ease;
}
.action-icon::before {
  content:'';
  position:absolute;
  inset:2px;
  z-index:-1;
  border-radius:11px;
  pointer-events:none;
  border-top:1px solid rgba(255,255,255,.94);
  border-left:1px solid rgba(255,255,255,.58);
  background:linear-gradient(155deg,rgba(255,255,255,.36),transparent 52%);
}
.action-icon::after {
  content:'';
  position:absolute;
  inset:-10px auto;
  width:20px;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.86),transparent);
  transform:translateX(-50px) skewX(-20deg);
}
.action-icon>.icon {position:relative;z-index:1;}
@keyframes glass-glint {
  to {transform:translateX(50px) skewX(-20deg);}
}
.button:focus-visible .action-icon::after {animation:glass-glint .85s ease-out both;}
@media(hover:hover) and (pointer:fine) {
  .button:hover .action-icon::after {animation:glass-glint .85s ease-out both;}
}
.action-label {
  white-space:nowrap;
}
.button:hover .action-icon,.button:focus-visible .action-icon {
  transform:translateY(-3px) rotateX(6deg) rotateY(-7deg);
  box-shadow:0 9px 16px rgba(58,54,42,.10),0 1px 2px rgba(58,54,42,.05),inset 0 1px 0 #fff,inset 0 -1px 1px rgba(193,150,39,.18);
}
.button:active .action-icon {
  transform:translateY(0);
}
.button .icon {
  width:22px;
  height:22px;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.74));
}
.button.primary .action-icon {
  color:#806016;
  background:linear-gradient(145deg,#fffef8,rgba(252,237,184,.65) 46%,rgba(218,181,73,.40));
}
.hero-art {
  position:relative;
  display:flex;
  flex-direction:column;
  align-self:stretch;
  min-width:0;
  margin-right:-24px;
  isolation:isolate;
}
.scene-view {
  position:relative;
  flex:1;
  min-height:260px;
}
#point-field,.scene-fallback {
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:contain;
}
.scene-ready .scene-fallback {visibility:hidden;}
.scene-photograph {
  position:absolute;
  left:50%;
  top:50%;
  width:86.9%;
  height:auto;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  border-radius:3px;
  box-shadow:0 10px 30px #48352212;
  object-fit:cover;
  transform:translate(-50%,-50%);
  will-change:opacity,transform;
}
.scene-ready .scene-photograph {visibility:visible;}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.art-footer {
  flex:none;
  margin:8px 5% 10px 8%;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:8px;
}
.scene-controls[hidden] {display:none;}
.scene-controls {display:flex;align-items:center;justify-content:center;gap:12px;}
.scene-chapters {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;flex:0 1 180px;min-width:0;}
.scene-chapters button {display:flex;align-items:center;padding:0;min-height:44px;border:0;background:none;}
.chapter-track {display:block;width:100%;height:2px;background:var(--line);overflow:hidden;border-radius:2px;}
.chapter-track::after {content:'';display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(var(--chapter-progress,0));}
.scene-chapters button[aria-current] .chapter-track {background:#d6c3ad;}
.scene-chapters button:hover .chapter-track {background:#bda68a;}
.scene-notes {display:grid;min-width:0;}
.scene-note {
  grid-area:1 / 1;
  font-size:12px;
  line-height:1.75;
  color:var(--muted);
  text-wrap:pretty;
  opacity:0;
  visibility:hidden;
  transition:none;
}
.scene-note.is-active {opacity:1;visibility:visible;transition:opacity .25s ease;}
@media (prefers-reduced-motion:reduce) {
  .scene-note.is-active {transition:none;}
}
.scene-photography-link {
  color:var(--accent);
  text-decoration:underline;
  text-decoration-color:#bca187;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.scene-photography-link:hover,.scene-photography-link:focus-visible {
  text-decoration-color:currentColor;
}
.motion-toggle[hidden] { display:none; }
.motion-toggle {
  flex-shrink:0;
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.94);
  background:rgba(255,253,249,.52);
  box-shadow:0 2px 8px rgba(104,79,48,.07),inset 0 1px 0 #fff;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  display:grid;
  place-items:center;
  border-radius:50%;
}
.motion-toggle:hover {
  background:#fff;
}
.motion-toggle .icon {
  width:12px;
  height:12px;
}
.glass {
  background:var(--glass-face),var(--paper);
  border:1px solid var(--glass-edge);
  border-radius:12px;
  box-shadow:var(--glass-shadow);
  backdrop-filter:blur(22px) saturate(1.15);
  -webkit-backdrop-filter:blur(22px) saturate(1.15);
}
.section {
  margin-bottom:44px;
  scroll-margin-top:20px;
}
.section-heading {
  display:flex;
  align-items:center;
  gap:22px;
  margin-bottom:18px;
}
.section-heading h2 {
  font-size:30px;
  line-height:1.2;
  letter-spacing:-.015em;
}
.heading-rule {
  height:1px;
  flex:1;
  background:var(--gold-edge);
  margin-top:6px;
}
.about-copy {
  padding:27px 32px;
  font-size:15px;
  line-height:1.85;
}
.about-copy p+p {
  margin-top:12px;
}
.about-copy strong,.about-copy a {font-weight:600;}
.about-copy a {
  color:var(--accent);
  text-decoration:underline;
  text-decoration-color:#d2b96d;
  text-underline-offset:4px;
  text-decoration-thickness:1px;
}
.about-copy a:hover {
  text-decoration-color:var(--accent);
}
.paper-list {
  display:grid;
  grid-auto-rows:1fr;
  gap:20px;
}
.paper {
  display:grid;
  grid-template-columns:46% 1fr;
  align-items:center;
  overflow:hidden;
  padding:22px;
  gap:30px;
  transition:border-color .25s,box-shadow .25s;
}
.paper:hover {
  border-color:#fff;
  box-shadow:0 18px 44px rgba(104,79,48,.085),0 2px 6px rgba(104,79,48,.03),inset 0 1px 0 #fff;
}
.paper-figure {
  position:relative;
  display:block;
  background:#fff;
  border:1px solid #e8e0d5;
  border-radius:6px;
  overflow:hidden;
  padding:6px;
}
.paper-figure img {
  width:100%;
  transition:transform .35s;
}
.paper-figure:hover img {
  transform:scale(1.025);
}
.figure-expand {
  position:absolute;
  bottom:7px;
  right:7px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:5px 8px;
  border-radius:4px;
  background:rgba(255,253,248,.70);
  border:1px solid rgba(255,255,255,.94);
  box-shadow:0 2px 7px rgba(104,79,48,.10),inset 0 1px 0 #fff;
  color:#7b6653;
  font-size:10px;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.figure-expand .icon {
  width:12px;
  height:12px;
}
.paper-copy {
  padding:7px 10px 7px 0;
}
.paper-source {
  color:var(--accent);
  font-size:10px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.paper-source span {
  margin:0 6px;
}
.paper h3 {
  font-size:20px;
  line-height:1.45;
  letter-spacing:-.025em;
}
.paper h3 a:hover {
  color:var(--accent);
}
.authors {
  font-size:12px;
  line-height:1.85;
  color:var(--muted);
  margin-top:11px;
}
.authors strong {
  color:var(--ink);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:#cfbca7;
  text-underline-offset:3px;
}
.paper-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 20px;
  margin-top:17px;
}
.paper-links .paper-link {margin-top:0;min-height:36px;white-space:nowrap;}
@media(pointer:coarse) {.paper-links .paper-link {min-height:44px;}}
.paper-link {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--accent);
  font-weight:600;
  font-size:12px;
  margin-top:17px;
}
.paper-link::after {
  content:'';
  position:absolute;
  left:22px;
  right:23px;
  bottom:-3px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}
.paper-link:hover::after,.paper-link:focus-visible::after {
  transform:scaleX(1);
}
.paper-link .icon {
  width:15px;
  height:15px;
}
.paper-link .icon:last-child {
  margin-left:4px;
  transition:transform .2s;
}
.paper-link:hover .icon:last-child,.paper-link:focus-visible .icon:last-child {
  transform:translateX(4px);
}
.entries {
  padding:12px 8px 8px;
}
.entry {
  display:grid;
  grid-template-columns:168px 12px 44px minmax(0,1fr);
  gap:22px;
  align-items:start;
  padding-bottom:38px;
}
.entry:last-child {padding-bottom:0;}
.timeline-node {
  position:relative;
  height:100%;
}
.timeline-node::before {
  content:'';
  position:absolute;
  top:9px;
  left:3px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#baa050;
  box-shadow:0 0 0 4px #f7f2e3;
}
.entry:not(:last-child) .timeline-node::after {
  content:'';
  position:absolute;
  top:21px;
  bottom:-42px;
  left:5.5px;
  width:1px;
  background:#e8ddba;
}
.institution-logo {
  width:42px;
  height:44px;
  object-fit:contain;
  margin-top:0;
}
.institution-logo-uiuc {padding:5px 7px 9px;}
.entry .date {
  font-size:13px;
  font-variant-numeric:tabular-nums;
  line-height:1.9;
  color:var(--accent);
  text-align:right;
  white-space:nowrap;
}
#experience .entry .date {
  border-radius:3px;
  transition:color .24s ease,background-color .24s ease;
}
#experience .timeline-node::before {
  transition:background-color .24s ease,box-shadow .24s ease;
}
#experience .entry:focus-within .date {
  color:#765a1d;
  background-color:rgba(238,217,150,.22);
}
#experience .entry:focus-within .timeline-node::before {
  background-color:#b58d25;
  box-shadow:0 0 0 4px rgba(237,213,132,.55);
}
@media(hover:hover) and (pointer:fine) {
  #experience .entry:hover .date {
    color:#765a1d;
    background-color:rgba(238,217,150,.22);
  }
  #experience .entry:hover .timeline-node::before {
    background-color:#b58d25;
    box-shadow:0 0 0 4px rgba(237,213,132,.55);
  }
}
@media(prefers-reduced-motion:reduce) {
  #experience .entry .date,#experience .timeline-node::before {transition:none;}
}
.entry h3 {
  font-size:17px;
  font-weight:600;
  line-height:1.5;
  margin-bottom:5px;
}
.entry p:not(.date) {
  font-size:14px;
  line-height:1.8;
}
.entry p.entry-host {
  color:var(--muted);
  font-size:13px;
}
.entry .detail {
  color:var(--muted);
  margin-top:3px;
  font-size:13px;
}
.entry-copy a {
  color:var(--accent);
  text-decoration:underline;
  text-decoration-color:#c8ad94;
  text-underline-offset:4px;
}
.entry-copy a:hover {text-decoration-color:var(--accent);}
.award-list {
  list-style:none;
  margin:0;
  padding:10px 30px;
}
.award-list li {
  display:grid;
  grid-template-columns:55px 1fr;
  gap:20px;
  padding:15px 0;
  font-size:13px;
  line-height:1.6;
}
.award-list li+li {
  border-top:1px solid var(--line);
}
.award-list time {
  color:var(--accent);
  font-size:11px;
  font-weight:600;
  letter-spacing:.05em;
  padding-top:2px;
}
.photo-note {
  display:grid;
  grid-template-columns:minmax(0,1fr) 359px;
  align-items:center;
  gap:24px;
  margin:5px 0 55px;
  padding:20px 0;
  border-top:1px solid var(--line);
}
.photo-note>div:first-child>a {
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:8px;
  font-family:var(--serif);
  font-size:23px;
}
.photo-note>div:first-child>a>.icon {
  width:20px;
  height:20px;
  color:var(--accent);
}
.photo-note>div:first-child>a>.icon:last-child {
  width:18px;
  margin-left:12px;
  transition:transform .2s;
}
.photo-note>div:first-child>a:hover>.icon:last-child {
  transform:translateX(5px);
}
.preview-hint {
  margin:9px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.6;
}
.photo-strip {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
  width:100%;
  gap:10px;
}
.photo-print-paper {
  display:block;
  padding:3px 3px 0;
  border-radius:2px;
  background:#fffdf8;
  box-shadow:0 3px 7px rgba(80,61,43,.12),0 1px 2px rgba(80,61,43,.09);
  transform:rotate(var(--print-angle,0deg));
  transition:transform .25s ease,box-shadow .25s ease;
}
.photo-strip img {
  width:100%;
  height:auto;
  aspect-ratio:113/73;
  object-fit:cover;
  filter:saturate(.88);
  transition:filter .25s ease;
}
.photo-stamp {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:0 .35em;
  min-height:23px;
  padding:5px 3px;
  color:#766c60;
  font:9px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.photo-strip .photo-stamp {font-size:8px;min-height:21px;padding-inline:0;gap:0 .25em;}
.photo-print:nth-child(1) {
  --print-angle:-4deg;
  --print-shift:-5px;
}
.photo-print:nth-child(2) {
  --print-angle:2deg;
}
.photo-print:nth-child(3) {
  --print-angle:-3deg;
  --print-shift:5px;
}
.photo-print:hover img,.photo-print:focus-visible img {filter:saturate(1);}
.photo-print:hover .photo-print-paper,.photo-print:focus-visible .photo-print-paper {
  transform:translateY(-5px) rotate(0deg) scale(1.06);
  box-shadow:0 6px 11px rgba(80,61,43,.13),0 1px 2px rgba(80,61,43,.08);
}
.photo-print,.book-pick {position:relative;display:block;flex:none;}
.photo-print:hover,.photo-print:focus-visible,.book-pick:hover,.book-pick:focus-visible {z-index:2;}
.preview-caption {position:absolute;bottom:calc(100% + 14px);left:50%;width:max-content;max-width:210px;padding:7px 10px;background:#fffdf5f5;border:1px solid #ffffffd9;border-radius:5px;box-shadow:0 3px 12px #503d2b16;color:var(--ink);font-family:var(--sans);font-size:11px;line-height:1.6;text-align:center;opacity:0;visibility:hidden;transform:translate(-50%,4px);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none;}
.photo-print:hover .preview-caption,.photo-print:focus-visible .preview-caption,.book-pick:hover .preview-caption,.book-pick:focus-visible .preview-caption {opacity:1;visibility:visible;transform:translate(-50%,0);}
.photo-print:last-child .preview-caption,.book-pick:last-of-type .preview-caption {left:auto;right:0;transform:translateY(4px);}
.photo-print:last-child:hover .preview-caption,.photo-print:last-child:focus-visible .preview-caption,.book-pick:last-of-type:hover .preview-caption,.book-pick:last-of-type:focus-visible .preview-caption {transform:translateY(0);}
.personal-previews {margin-bottom:40px;}
.personal-previews>.photo-note {margin-bottom:0;}
.book-strip {display:flex;align-items:flex-end;justify-content:space-between;gap:8px;width:100%;padding:3px 3px 5px;}
.book-strip img {
  width:auto;
  height:88px;
  max-width:66px;
  object-fit:contain;
  box-shadow:2px 2px 0 #d2c6b5,4px 5px 8px #503d2b1c;
  transition:transform .25s ease;
}
.book-pick:hover img,.book-pick:focus-visible img {transform:translateY(-4px);}
@media(max-width:700px) {
  .personal-previews {margin-bottom:25px;}
  .preview-caption {display:none;}
  .book-strip img {height:clamp(62px,20vw,88px);}
}
@media(prefers-reduced-motion:reduce) {
  .book-strip img,.preview-caption {transition:none;}
  .book-pick:hover img,.book-pick:focus-visible img {transform:none;}
}
.footer {
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding-block:25px 35px;
  color:var(--muted);
  font-size:11px;
}
.footer a {
  display:flex;
  align-items:center;
  gap:9px;
}
.footer .icon {
  width:14px;
  height:14px;
}
.footer a:hover {
  color:var(--accent);
}
.footer-home {display:block;}
.footer-invitation {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px 24px;
  margin-bottom:24px;
  font-size:13px;
  line-height:1.7;
}
.footer-invitation a {color:var(--accent);white-space:nowrap;}
.footer-invitation a>.icon {transform:rotate(-45deg);}
.footer-meta {display:flex;justify-content:space-between;align-items:center;gap:16px;}
.footer-contact {position:relative;display:flex;align-items:center;gap:12px;}
.copy-email {
  position:relative;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(255,255,255,.48);
  color:var(--accent);
  transition:background .2s,border-color .2s;
}
.copy-email[hidden],.copy-check,.copy-email.is-copied .copy-symbol {display:none;}
.copy-email.is-copied .copy-check {display:block;}
.copy-email:hover,.copy-email:focus-visible {background:#fffef8;border-color:rgba(190,154,59,.5);}
.copy-email::after {
  content:attr(data-copy-label);
  position:absolute;
  right:0;
  bottom:calc(100% + 8px);
  padding:5px 9px;
  white-space:nowrap;
  font-size:11px;
  line-height:1.5;
  border:1px solid rgba(190,154,59,.16);
  border-radius:6px;
  color:var(--ink);
  background:#fffef9;
  box-shadow:0 3px 12px rgba(58,54,42,.06);
  pointer-events:none;
  opacity:0;
  transform:translateY(3px);
  transition:opacity .18s,transform .18s;
}
.copy-email:hover::after,.copy-email:focus-visible::after,.copy-email.is-copied::after,.copy-email.is-copy-error::after {opacity:1;transform:none;}
.footer .back-to-top {min-height:36px;gap:8px;}
.back-to-top>.icon {
  width:26px;
  height:26px;
  padding:5px;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--accent);
  transform:rotate(-90deg);
  transition:transform .2s,border-color .2s;
}
.back-to-top:hover>.icon,.back-to-top:focus-visible>.icon {transform:translateY(-2px) rotate(-90deg);border-color:rgba(190,154,59,.5);}
@media(pointer:coarse) {
  .copy-email {width:44px;height:44px;}
  .footer .back-to-top {min-height:44px;}
}
.figure-dialog {
  border:1px solid #ffffffbf;
  border-radius:12px;
  background:#faf7f0f5;
  padding:46px 14px 14px;
  box-shadow:0 20px 80px #48352240;
  width:fit-content;
  max-width:min(1200px,94vw);
  max-height:94dvh;
  overflow:auto;
}
.figure-dialog::backdrop {
  background:var(--photo-backdrop,#32271f9c);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  transition:background-color .4s ease;
}
.figure-image-stage {
  width:fit-content;
  max-width:100%;
  margin:auto;
  outline-offset:3px;
}
.figure-image-stage:focus-visible {outline:2px solid var(--accent);}
.figure-image-stage>img {
  width:auto;
  height:auto;
  max-width:100%;
  max-height:calc(94dvh - 74px);
  object-fit:contain;
  display:block;
  margin:auto;
}
.figure-dialog.has-caption {width:min(880px,94vw);}
.figure-dialog.has-caption .figure-image-stage>img {max-height:max(160px,calc(94dvh - 250px));}
.figure-dialog.has-caption .figure-image-stage>img {touch-action:pan-y pinch-zoom;}
.figure-dialog.can-photo-zoom .figure-image-stage>img {cursor:zoom-in;}
.figure-dialog.is-photo-zoomed .figure-image-stage {
  width:var(--zoom-frame-width);
  height:var(--zoom-frame-height);
  overflow:auto;
  overscroll-behavior:contain;
  touch-action:pan-x pan-y pinch-zoom;
  scrollbar-width:thin;
  scrollbar-color:rgba(190,154,59,.45) transparent;
}
.figure-dialog.is-photo-zoomed .figure-image-stage>img {
  width:var(--zoom-image-width);
  height:var(--zoom-image-height);
  max-width:none;
  max-height:none;
  margin:0;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-x pan-y pinch-zoom;
}
.figure-dialog.is-photo-zoomed .figure-image-stage>img:active {cursor:grabbing;}
.figure-tools {display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none;}
.figure-zoom {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  padding:4px 8px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:var(--muted);
  font-size:11px;
  white-space:nowrap;
  transition:color .2s,background .2s;
}
.figure-zoom[hidden] {display:none;}
.figure-zoom:hover,.figure-zoom:focus-visible,.figure-zoom[aria-pressed="true"] {color:var(--accent);background:rgba(235,213,145,.14);}
.figure-zoom>.icon {width:15px;height:15px;}
.figure-zoom[aria-pressed="true"] .zoom-plus {display:none;}
.figure-bottom[hidden],.figure-paging[hidden] {display:none;}
.figure-bottom {display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:15px 8px 3px;}
.figure-caption {font-size:13px;line-height:1.7;color:var(--ink);text-wrap:pretty;min-width:0;}
.figure-caption h2 {font-size:20px;line-height:1.35;margin-bottom:5px;}
.figure-caption [data-photo-meta] {font-size:10px;color:var(--muted);margin-bottom:8px;letter-spacing:.015em;}

.figure-paging {display:flex;align-items:center;gap:4px;flex:none;}
.figure-paging button {display:grid;place-items:center;width:38px;min-height:44px;border:0;background:none;color:var(--accent);}
.figure-paging .icon {width:16px;height:16px;}
.figure-paging [data-photo-previous] .icon {transform:rotate(180deg);}
.figure-paging span {font-size:10px;color:var(--muted);min-width:36px;text-align:center;font-variant-numeric:tabular-nums;}
@media(max-width:600px) {
  .figure-bottom {flex-direction:column;align-items:stretch;gap:6px;padding:12px 2px 0;}
  .figure-tools {flex-direction:row;align-items:center;justify-content:space-between;gap:8px;}
  .figure-paging {align-self:flex-end;}
  .figure-caption h2 {font-size:18px;}
  .figure-caption {font-size:12px;}
  .figure-paging {gap:0;}
  .figure-paging button {width:30px;}
  .figure-paging span {min-width:30px;}
}
.figure-close {
  position:absolute;
  right:15px;
  top:7px;
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  background:transparent;
  font-size:12px;
  padding:4px 6px;
}
.figure-close span {
  font-size:21px;
  line-height:1;
}
.modal-open {
  overflow:hidden;
}
.photo-heading {
  padding:62px 0 38px;
}
.photo-heading h1 {
  font-size:48px;
  margin-top:24px;
}
.photo-heading p {
  font-size:14px;
  color:var(--muted);
  margin-top:10px;
}
.back {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--accent);
  font-size:12px;
}
.back .icon {
  transform:rotate(180deg);
  width:14px;
  height:14px;
}
.gallery {
  columns:3;
  column-gap:20px;
  margin-bottom:60px;
}
.photo {
  margin:0 0 20px;
  break-inside:avoid;
  overflow:hidden;
  border-radius:2px;
  background:#fffdf8;
  padding:5px 5px 0;
  box-shadow:0 2px 7px #503d2b0c;
}
.photo a {
  display:block;
}
.photo img {
  width:100%;
  transition:filter .25s;
}
.photo a:hover img {filter:brightness(1.025);}
.photo:has(a:focus-visible) {outline:2px solid var(--accent);outline-offset:3px;}
.photo a:focus-visible {outline:none;}
.photo:not(:has(.photo-stamp)) {padding-bottom:5px;}
.error-page {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:38px;
  min-height:65vh;
  padding:76px 0 100px;
}
.error-mascot {width:112px;height:112px;flex:none;}
.error-page .error-code {font:12px var(--sans);letter-spacing:.2em;color:var(--muted);margin-bottom:16px;}
.error-page h1 {font-size:clamp(32px,4vw,48px);line-height:1.15;letter-spacing:-.025em;text-wrap:balance;}
.error-page .error-note {margin-top:15px;color:var(--muted);font-size:15px;}
.error-home {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:28px;
  color:var(--accent);
  font-size:13px;
}
.error-home .icon {width:16px;height:16px;transform:rotate(180deg);}
.error-home:hover {text-decoration:underline;text-underline-offset:4px;}
@media(max-width:600px) {
  .error-page {flex-direction:column;text-align:center;gap:24px;padding:54px 0 76px;}
  .error-mascot {width:88px;height:88px;}
}
.reveal {
  opacity:0;
  transform:translateY(14px);
  transition:opacity .6s ease,transform .6s ease;
}
.reveal.visible {
  opacity:1;
  transform:none;
}
@media(min-width:1250px) {
  .hero-art {
    margin-right:-30px;
  }
  .hero-copy {
    padding:30px;
  }
}
@media(max-width:950px) {
  .hero-copy {
    padding:23px;
  }
  .shell {
    width:calc(100% - 56px);
  }
  .nav-links {
    gap:18px;
  }
  .hero {
    grid-template-columns:1.2fr 1fr;
    min-height:370px;
    margin-top:24px;
  }
  .hero-art {
    margin-right:0;
  }
  .identity {
    gap:16px;
  }
  .portrait-frame {
    width:88px;
    height:108px;
  }
  h1 {
    font-size:44px;
  }
  .role {
    font-size:18px;
  }
  .affiliation {
    font-size:15px;
  }
  .interests {
    font-size:12.5px;
    white-space:normal;
  }
  .interests span {
    margin-inline:3px;
  }
  .hero-actions {
    gap:13px;
  }
  .button {
    width:68px;
    font-size:12px;
  }
  .art-footer {
    margin-inline:5% 2%;
  }
  .paper {
    gap:23px;
    padding:20px;
  }
  .paper h3 {
    font-size:18px;
  }
  .paper-copy {
    padding:0;
  }
  .authors {
    font-size:11px;
  }
}
@media(max-width:700px) {
  .entries {padding:8px 0;}
  .entry {
    grid-template-columns:10px 34px minmax(0,1fr);
    column-gap:14px;
    row-gap:8px;
    padding-bottom:30px;
  }
  .entry .date {grid-column:3;grid-row:1;text-align:left;}
  .timeline-node {grid-column:1;grid-row:1 / span 2;}
  .entry:not(:last-child) .timeline-node::after {bottom:-34px;}
  .institution-logo {grid-column:2;grid-row:2;width:32px;height:36px;}
  .institution-logo-uiuc {padding:4px 4px 6px;}
  .entry-copy {grid-column:3;grid-row:2;}

  html {
    scroll-padding-top:120px;
  }
  .shell {
    width:calc(100% - 36px);
  }
  .navigation {
    height:auto;
    min-height:99px;
    display:block;
    padding-block:12px 9px;
  }
  .wordmark {
    font-size:22px;
  }
  .brand-mark {
    width:42px;
    height:42px;
  }
  .nav-links {
    gap:0;
    justify-content:space-between;
    margin-top:5px;
    font-size:11px;
  }
  .nav-links>a,summary {
    padding:5px 0;
  }
  .nav-links>a::after {
    bottom:0;
  }
  .nav-links>a::before {
    inset:1px -5px;
  }
  summary {
    gap:5px;
  }
  .dropdown {
    top:33px;
    min-width:166px;
  }
  .hero {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:18px 0 32px;
    min-height:0;
  }
  .hero-art {
    margin:12px -9px 0;
  }
  .art-footer {
    margin:8px 20px 0;
  }
  .scene-view {
    flex:none;
    height:230px;
    min-height:0;
  }
  .hero-copy {
    padding:24px;
  }
  .identity {
    margin-bottom:17px;
    gap:17px;
  }
  .portrait-frame {
    width:80px;
    height:102px;
  }
  h1 {
    font-size:42px;
  }
  h1 span {
    font-size:14px;
    margin-top:4px;
  }
  .eyebrow {
    font-size:9px;
  }
  .role {
    font-size:17px;
  }
  .affiliation {
    font-size:14px;
    line-height:1.6;
  }
  .interests {
    white-space:normal;
    font-size:12px;
    margin-top:13px;
  }
  .research-vision {
    margin-top:14px;
    font-size:13px;
  }
  .hero-actions {
    margin-top:22px;
    gap:16px;
  }
  .button {
    font-size:12px;
    width:64px;
    gap:8px;
  }
  .action-icon {
    width:44px;
    height:44px;
    border-radius:13px;
  }
  .action-icon::before {
    border-radius:10px;
  }
  .button .icon {
    width:21px;
    height:21px;
  }
  .section {
    margin-bottom:32px;
    scroll-margin-top:20px;
  }
  .section-heading {
    margin-bottom:15px;
    gap:18px;
  }
  .section-heading h2 {
    font-size:27px;
  }
  .about-copy {
    padding:22px 23px;
    font-size:14px;
    line-height:1.85;
  }
  .about-copy p+p {
    margin-top:12px;
  }
  .paper {
    grid-template-columns:1fr;
    gap:22px;
    padding:16px;
  }
  .paper-figure {
    padding:5px;
  }
  .paper-copy {
    padding:0 6px 9px;
  }
  .paper h3 {
    font-size:19px;
  }
  .paper-source {
    font-size:10px;
    margin-bottom:8px;
  }
  .authors {
    font-size:12px;
  }
  .paper-link {
    margin-top:14px;
  }
  .entry h3 {
    font-size:14px;
  }
  .entry .date {
    font-size:11px;
  }
  .entry p:not(.date) {
    font-size:12px;
  }
  .award-list {
    padding:4px 22px;
  }
  .award-list li {
    grid-template-columns:35px 1fr;
    gap:15px;
    padding:15px 0;
    font-size:12px;
  }
  .photo-note {
    grid-template-columns:minmax(0,1fr);
    align-items:center;
    margin:0 0 25px;
    padding:20px 0;
    gap:18px;
  }
  .photo-note>div:first-child>a {
    font-size:20px;
    gap:8px;
  }
  .photo-note>div:first-child>a>.icon {
    width:16px;
  }
  .photo-note>div:first-child>a>.icon:last-child {
    margin-left:0;
    width:15px;
  }
  .photo-strip,.book-strip {
    max-width:359px;
    justify-self:end;
  }
  .photo-strip {
    gap:10px;
  }
  .photo-print-paper {padding:2px 2px 0;}
  .footer {
    font-size:10px;
    padding-block:22px 28px;
  }
  .photo-heading {
    padding:32px 0;
  }
  .photo-heading h1 {
    font-size:40px;
  }
  .gallery {
    columns:2;
    column-gap:12px;
    margin-bottom:24px;
  }
  .photo {
    margin-bottom:12px;
    border-radius:4px;
  }
  .figure-dialog {
    padding:43px 8px 8px;
    max-width:96vw;
  }
  .figure-image-stage>img {
    max-height:calc(94dvh - 64px);
  }
}
@media(max-width:360px) {
  .shell {
    width:calc(100% - 28px);
  }
  .hero-copy {
    padding:21px 18px;
  }
  .scene-view {
    height:210px;
  }
  .nav-links {
    font-size:10px;
  }
  .interests {
    font-size:11px;
  }
  .button {
    width:62px;
    font-size:12px;
  }
  .hero-actions {
    gap:8px;
  }
  .portrait-frame {
    width:68px;
    height:86px;
  }
  h1 {
    font-size:37px;
  }
  .about-copy {
    padding:20px;
    font-size:13px;
  }
  .photo-note>div:first-child>a {
    font-size:18px;
  }
  .gallery {
    column-gap:9px;
  }
  .photo {
    margin-bottom:9px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .site-header::after {display:none;}
  .figure-dialog::backdrop {transition:none;}
  .wordmark:is(:hover,:focus-visible) .baymax-head-motion,
  .wordmark:is(:hover,:focus-visible) .baymax-camera-motion,
  .wordmark:is(:hover,:focus-visible) .baymax-arms-motion {animation:none;}
  .wordmark:hover .camera-glint,.wordmark:focus-visible .camera-glint {
    animation:none;
    opacity:0;
  }
  .paper-link:hover .icon:last-child,.paper-link:focus-visible .icon:last-child {
    transform:none;
  }
  .wordmark:hover .baymax-head-motion,.wordmark:focus-visible .baymax-head-motion,
  .button:hover .action-icon,.button:focus-visible .action-icon {
    transform:none;
  }
  .photo-print:hover .photo-print-paper,.photo-print:focus-visible .photo-print-paper {
    transform:rotate(var(--print-angle,0deg));
  }
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation-duration:0s!important;
    transition-duration:0s!important;
  }
  .reveal {
    opacity:1;
    transform:none;
  }
}

/* Photography language controls and captions share one preference per browser. */
[data-photo-region][data-lang="en"] [data-photo-lang]:not([data-photo-lang="en"]),
[data-photo-region][data-lang="zh-Hans"] [data-photo-lang]:not([data-photo-lang="zh-Hans"]),
[data-photo-region][data-lang="zh-Hant"] [data-photo-lang]:not([data-photo-lang="zh-Hant"]) {display:none;}
.photo-heading-row {display:flex;align-items:baseline;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;}
.photo-language {display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.5;color:var(--muted);flex:none;}
.photo-language[hidden] {display:none;}
.photo-language button {font:inherit;border:0;background:none;min-height:36px;padding:6px 3px;color:inherit;}
.photo-language button[aria-pressed="true"] {color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-color:#bca187;}
.figure-dialog>.photo-language {position:absolute;left:17px;top:5px;}
@media(max-width:600px) {.photo-heading-row {gap:12px;}.photo-language {font-size:11px;gap:5px;}}

.photo-heading .preview-hint,.bookshelf-heading .preview-hint {font-size:11px;margin-top:10px;}
.preview-flight[popover] {
  position:fixed;
  inset:auto;
  margin:0;
  padding:0;
  border:0;
  max-width:none;
  max-height:none;
  overflow:hidden;
  background:transparent;
  pointer-events:none;
  transform-origin:0 0;
  border-radius:2px;
}
.preview-flight img {display:block;width:100%;height:100%;object-fit:cover;}
.preview-flight::backdrop {background:transparent;pointer-events:none;}
.preview-departing::backdrop {animation:preview-backdrop-out .2s ease both;}
@keyframes preview-backdrop-out {to {opacity:0;}}
@media(prefers-reduced-motion:reduce) {.preview-departing::backdrop {animation:none;}}

/* Quiet personal links at the end of the academic homepage. */
.personal-previews{margin-bottom:0}
.personal-previews>.photo-note{grid-template-columns:minmax(0,1fr) 280px;margin:0;padding:12px 0;gap:12px 24px}
.personal-previews .photo-note>div:first-child>a{margin-top:0;font-size:18px;line-height:1.4;gap:8px}
.personal-previews .photo-note>div:first-child>a>.icon{width:16px;height:16px}
.personal-previews .photo-note>div:first-child>a>.icon:last-child{width:14px;margin-left:5px}
.personal-previews .preview-hint{margin-top:5px;font-size:10px}
.personal-previews .photo-strip{gap:8px}
.personal-previews .photo-strip .photo-stamp{font-size:7px;min-height:18px;padding-block:3px}
.personal-previews .book-strip{gap:7px;padding:2px 3px 4px}
.personal-previews .book-strip img{height:68px;max-width:51px}
.personal-previews .exhibition-note{padding:12px 0}
.personal-previews .exhibition-note>div:first-child>a{font-size:16px}
.exhibition-strip{display:flex;align-items:center}
.exhibition-museum-link{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:32px;padding:3px 7px;opacity:.65;transition:opacity .2s ease}
.exhibition-museum-link img{display:block;width:48px;height:auto;object-fit:contain}
.exhibition-museum-link:hover,.exhibition-museum-link:focus-visible{opacity:1}
.exhibition-museum-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.personal-previews-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px 20px;padding:0 0 10px}
.personal-previews-heading h2{margin:0;font-family:var(--sans);font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.14em}
.personal-previews-heading .preview-hint{margin:0;font-size:10px}
@media(max-width:600px){
  .personal-previews{margin-bottom:0}
  .personal-previews-heading{display:block}
  .personal-previews-heading .preview-hint{margin-top:5px}
  .personal-previews>.photo-note{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 0}
  .personal-previews .photo-strip,.personal-previews .book-strip{max-width:260px}
  .personal-previews .book-strip img{height:62px;max-width:46px}
  .personal-previews .exhibition-note{grid-template-columns:minmax(0,1fr) auto;padding:9px 0}
}
@media(prefers-reduced-motion:reduce){.exhibition-museum-link{transition:none}}
