/* 摄影感的场景展示与大图浏览，沿用深蓝紫的界面。 */
#home .hero-photo{object-position:50% 23%}
#about .profile-hero-real>img{object-position:50% 25%}
#about .profile-hero-real:after{background:linear-gradient(180deg,transparent 30%,#05081510 45%,#090c21b8 75%,#090c21 100%)}
.home-rest-door>img{object-position:35% 48%}
.home-rest-door:after{background:linear-gradient(90deg,#070b22cf,#070b2280 60%,#070b221a)}
#start .context-art img{object-position:42% 45%}
#experience .chapter-visual img{object-position:58% 50%}
#about .profile-film-photo-scene>img{object-position:45% 32%}
#about .portrait-collection{margin-top:42px}
#about .portrait-collection .profile-section-head{margin-bottom:24px}
#about .portrait-collection h2{font-size:29px;line-height:1.5}
.portrait-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.portrait-tile{position:relative;isolation:isolate;display:block;width:100%;padding:0;overflow:hidden;border-radius:19px;border:1px solid #ccb4ff30;background:#151b2b;text-align:left;aspect-ratio:3/2}
.portrait-tile>img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block;transition:transform .5s ease}
.portrait-tile:after{content:"";position:absolute;inset:38% 0 0;z-index:0;background:linear-gradient(transparent,#080c20cf)}
.portrait-tile-1>img{object-position:50% 29%}
.portrait-tile-2>img{object-position:58% 40%}
.portrait-tile-3>img{object-position:45% 42%}
.portrait-tile-4>img{object-position:32% 45%}
.portrait-tile-5>img{object-position:50% 25%}
.portrait-tile-6>img{object-position:50% 27%}
.portrait-tile-caption{position:absolute;left:18px;right:18px;bottom:18px;z-index:1;color:#fff}
.portrait-tile-caption b{display:block;font-size:20px;font-weight:600;line-height:1.5;letter-spacing:.06em}
.portrait-tile-caption small{display:block;font-size:12px;line-height:1.7;color:#e1ddeb;margin-top:5px}
.portrait-open{position:absolute;top:13px;right:13px;z-index:1;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #ffffff70;color:#fff;background:#10202c26;backdrop-filter:blur(8px)}
.portrait-tile:hover>img{transform:scale(1.035)}
.portrait-tile:focus-visible{outline:3px solid #cbb2ff;outline-offset:4px}
.portrait-viewer{width:min(1100px,94vw);max-width:94vw;max-height:94dvh;padding:0;border:1px solid #a899d657;border-radius:20px;color:#f5f1ff;background:#0d1325;overflow:auto;box-shadow:0 24px 100px #0009}
.portrait-viewer::backdrop{background:#050714e6;backdrop-filter:blur(10px)}
.portrait-viewer>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px}
.portrait-viewer>header span{font-size:11px;letter-spacing:.12em;color:#c9b5ef}
.portrait-viewer>header h2{font-size:22px;line-height:1.5;margin:3px 0 0;font-weight:550}
.portrait-viewer>header button{font-size:14px;min-height:44px;padding:8px 12px;border:1px solid #fff3;border-radius:12px;color:#e9e3fa}
.portrait-viewer-stage{display:flex;align-items:center;justify-content:center;background:#080c16;min-height:200px}
.portrait-viewer-stage img{display:block;width:100%;height:calc(90dvh - 184px);object-fit:contain;max-height:900px;min-height:180px}
.portrait-viewer>footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 24px}
.portrait-viewer>footer button{min-height:44px;padding:8px 12px;white-space:nowrap;font-size:14px;color:#d8c2ff;border:1px solid #b99ce72b;border-radius:10px}
.portrait-viewer>footer p{font-size:13px;line-height:1.7;text-align:center;color:#c8cadd;margin:0}
.portrait-viewer-open{overflow:hidden}
.assistant-identity{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.assistant-identity img{width:46px;height:46px;object-fit:cover;object-position:50% 30%;border-radius:50%;border:1px solid #c5a7ef66}
.assistant-identity b{font-size:13px}
.personal-story-reading>img{object-position:50% 34%}
#story .detail-visual img{object-position:50% 36%}
@media(max-width:700px){
  #about .portrait-collection{margin-top:32px}
  #about .portrait-collection h2{font-size:26px}
  .portrait-grid{gap:11px}
  .portrait-tile{aspect-ratio:4/5;border-radius:16px}
  .portrait-tile-caption{left:12px;right:12px;bottom:13px}
  .portrait-tile-caption b{font-size:18px}
  .portrait-tile-caption small{font-size:11px;line-height:1.75}
  .portrait-open{width:26px;height:26px;top:10px;right:10px}
  .portrait-tile-2>img{object-position:60% 40%}
  .portrait-tile-3>img{object-position:44% 40%}
  .portrait-tile-4>img{object-position:29% 40%}
  .portrait-viewer{width:96vw;max-width:96vw;border-radius:16px}
  .portrait-viewer>header{padding:14px 15px}
  .portrait-viewer>header h2{font-size:20px}
  .portrait-viewer-stage img{height:calc(90dvh - 178px)}
  .portrait-viewer>footer{padding:12px 14px;gap:8px;flex-wrap:wrap}
  .portrait-viewer>footer p{order:3;width:100%;font-size:12px}
  .portrait-viewer>footer button{font-size:13px}
  .portrait-viewer>footer button:last-child{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.portrait-tile>img{transition:none}.portrait-tile:hover>img{transform:none}}
