.hero-photo{transition:opacity 900ms ease;opacity:0;pointer-events:none}
.hero-photo.is-current{opacity:1}
.hero-photo-secondary{width:58%;height:100%;right:0;top:0;object-fit:cover;object-position:60% center;mask-image:linear-gradient(to right,transparent 0%,#000 25%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 25%)}
.hero-photo-cuc{object-position:68% center}
.hero-photo-wall{object-position:50% center}
.hero.has-photo-slider .portrait-caption{visibility:hidden}
.hero-photo-bar{position:absolute;z-index:3;bottom:24px;right:32px;left:55%;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;color:#fff}
.hero-place{display:flex;align-items:center;gap:10px;background:#101c2bed;border:1px solid #ffffff35;box-shadow:0 5px 20px #0002;padding:10px 13px;border-radius:12px;max-width:280px;min-height:52px}
.hero-place[hidden]{display:none}
.hero-place img{width:31px;height:31px;object-fit:contain;border-radius:50%;background:#fff}
.hero-place svg{width:22px;height:22px;flex:none;color:#8de1d1}
.hero-place strong{font-size:11px;line-height:1.4;font-weight:600;display:block}
.hero-place small{font-size:10px;line-height:1.4;color:#bed5d1;display:block;margin-top:2px}
.hero-photo-controls{display:flex;align-items:center;gap:3px;background:#101c2bed;border:1px solid #ffffff35;border-radius:100px;padding:3px;box-shadow:0 5px 20px #0002;margin-left:auto;flex:none}
.hero-photo-controls button{width:36px;height:40px;border:0;border-radius:50%;color:white;background:transparent;cursor:pointer;display:grid;place-items:center}
.hero-photo-controls button:hover{background:#66d3c026}
.hero-photo-controls button:focus-visible{outline:2px solid #8de1d1;outline-offset:1px}
.hero-photo-controls svg{width:17px;height:17px}
.hero-photo-count{font-size:10px;font-variant-numeric:tabular-nums;min-width:41px;text-align:center;letter-spacing:.6px}
.hero-photo-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:1100px) and (min-width:761px){.hero-photo-bar{left:53%;right:20px;gap:8px}.hero-place{padding:8px;gap:7px}.hero-place strong{font-size:10px}.hero-place img{width:26px;height:26px}.hero-photo-controls button{width:30px}}
@media(max-width:760px){.hero-photo-secondary{width:100%;height:450px;right:0;top:0;object-position:center;mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 76%,transparent 100%)}.hero-photo-cuc{object-position:70% center}.hero-photo-wall{object-position:50% center}.hero-photo-bar{top:325px;bottom:auto;left:16px;right:16px;align-items:center;gap:8px}.hero-place{padding:8px;gap:7px;min-height:48px;max-width:calc(100% - 147px)}.hero-place strong{font-size:9px}.hero-place small{font-size:9px}.hero-place img{width:25px;height:25px}.hero-photo-controls{gap:0}.hero-photo-controls button{width:31px;height:42px}.hero-photo-count{min-width:36px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-photo{transition:none}}
@media(max-width:760px){.hero-photo-bar{top:16px;align-items:flex-start}.hero-place{background:#101c2bf0}}

/* Secondary photos stay entirely inside the right-hand photo area. */
.hero .hero-photo-secondary{width:48%;height:100%;right:0;top:0;max-width:none;object-fit:cover;mask-image:linear-gradient(to right,transparent,#000 12%);-webkit-mask-image:linear-gradient(to right,transparent,#000 12%)}
.hero-photo-bar{left:55%}.hero-place{max-width:calc(100% - 150px)}.hero-place img{border-radius:5px;flex:none;padding:2px}.hero-photo-controls[hidden]{display:none}
@media(max-width:760px){.hero .hero-photo-secondary{width:100%;height:405px;right:0;top:0;mask-image:linear-gradient(to bottom,#000 0%,#000 88%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 88%,transparent 100%)}.hero-photo-bar{left:14px;right:14px;top:16px}.hero-place{max-width:calc(100% - 140px)}.hero-place img{width:25px;height:25px}}
.hero-place img[src$="tsinghua.edu.cn.png"]{object-fit:cover;object-position:left;background:#65318f;padding:0}
.hero.has-photo-slider{overflow:clip}

.hero-photo-count[role=button]{cursor:pointer;border-radius:6px;padding:8px 2px}.hero-photo-count[role=button]:hover{background:#ffffff20}.hero-photo-count:focus-visible{outline:2px solid #8de1d1}.photo-jump{position:absolute;right:0;bottom:58px;width:205px;border:1px solid #ffffff35;border-radius:15px;padding:16px;background:#101c2bf7;box-shadow:0 10px 28px #0004}.photo-jump[hidden]{display:none}.photo-jump label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.photo-jump>div{display:flex;gap:8px}.photo-jump input{width:92px;min-width:0;padding:9px;border:1px solid #77d4c8;border-radius:8px;background:#fff;color:#142738;font:15px Arial}.photo-jump button{border:0;border-radius:8px;background:#7ce0ce;color:#122a32;font-weight:700;padding:8px 13px;cursor:pointer}.photo-jump small{display:block;color:#c2d6d3;font-size:10px;margin-top:9px}@media(max-width:760px){.photo-jump{bottom:auto;top:58px}}

/* Keep the opening portrait clean; keyboard users can still reach the slideshow. */
.hero-photo-count[hidden]{display:none}
.hero.is-opening-photo .hero-photo-controls{opacity:0;pointer-events:none}
.hero.is-opening-photo .hero-photo-controls:focus-within{opacity:1;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.hero.is-opening-photo .hero-photo-controls{opacity:1;pointer-events:auto}}
.hero.is-initializing .hero-photo[data-photo-id="14oettIVyHlf-bmoqDi3hcNKZFgT5l7e5"]{object-position:64% 56%;transform:translateX(-38px) scale(1.0);transform-origin:right center;width:calc(1240px + 1%)}
@media(max-width:760px){.hero.is-initializing .hero-photo[data-photo-id="14oettIVyHlf-bmoqDi3hcNKZFgT5l7e5"]{object-position:70% 50%;transform:translateX(-94px) scale(1.0);width:790px}}
