/* 竖版视频保持原始画幅，避免沿用海报的放大裁切。 */
.media-player { width: 100%; margin: 0; text-align: center; color: #514357; }
.media-screen { position: relative; overflow: hidden; border-radius: 16px; background: #332c39; margin: auto; }
.portrait-player .media-screen { width: min(100%, 282px); aspect-ratio: 9 / 16; }
.landscape-player .media-screen { width: 100%; aspect-ratio: 16 / 9; }
.media-screen video { display: block; width: 100%; height: 100%; object-fit: contain; }
.media-start { position: absolute; inset: 0; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; border: 0; border-radius: 0; padding: 24px; color: white; background: linear-gradient(transparent 45%,#17121b88); cursor: pointer; }
.media-start[hidden] { display: none; }
.media-start:has(strong) { background: radial-gradient(ellipse at top,#7d6889,#433749); }
.media-start strong { font: 25px/1.7 var(--serif); }
.media-start>span:last-child { font: 13px/1.6 sans-serif; padding: 7px 12px; border-radius: 20px; background: #221b2ac9; }
.play-disc { width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid #ffffffa0; border-radius: 50%; background: #ffffffeb; color: #514357; font-size: 24px; padding-left: 4px; transition: transform .2s; }
.media-start:hover .play-disc { transform: scale(1.08); }
.media-start:focus-visible { outline: 3px solid #bf98d0; outline-offset: -5px; }
.media-player figcaption { margin-top: 14px; font-size: 14px; line-height: 1.6; }
.media-error:empty { display: none; }
.media-error { font-size: 14px; margin-top: 10px; }
.project-panel .project-visual { display: flex; align-items: center; padding: 32px; }
.project-panel .media-player { position: relative; z-index: 1; }
.project-panel .project-copy-wrap { padding: 60px; }
.spotlight-video { position: relative; z-index: 1; padding: 35px; border-radius: 20px; background: #eee9ed; }
.spotlight-video .media-screen { max-width: 350px; width: 100%; }
.doctor-stage { min-height: 770px; }
.hospital-film { max-width: 1050px; margin: 0 auto 45px; }
.hospital-film .media-screen { box-shadow: 0 12px 40px #46334b12; }
.project-pending { padding: 30px; text-align: left; }
.project-pending strong { display: block; font: 48px/1.5 var(--serif); color: #67536f; margin: 25px 0; }
.project-pending p:last-child { font-size: 15px; }
.video-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; align-items: start; }
.video-grid .media-player { background: #f1edf2; padding: 24px; border-radius: 20px; }
@media(min-width:1700px) { .doctor-stage { min-height: 830px; }.spotlight-video .media-screen { max-width: 385px; } }
@media(max-width:1199px) { .project-panel .project-copy-wrap { padding: 35px; }.spotlight-video { padding: 20px; }.video-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
  .project-panel .project-visual { padding: 30px 20px; }
  .project-panel .project-copy-wrap { padding: 0 20px 25px; }
  .portrait-player .media-screen { max-width: 260px; }
  .spotlight-video { width: 100%; padding: 25px; }
  .spotlight-video .media-screen { max-width: 280px; }
  .doctor-stage { min-height: 0; }
  .video-grid { grid-template-columns: 1fr; }
  .project-pending strong { font-size: 38px; }
}
@media(prefers-reduced-motion:reduce) { .play-disc { transition: none; } }

.doctor-stage { max-width: 1560px; margin: auto; min-height: 660px; grid-template-columns: 43% 57%; }
.doctor-portrait-wrap { position: relative; z-index: 1; padding: 30px; }
.doctor-portrait-static { position: relative; overflow: hidden; width: min(100%,400px); aspect-ratio: 5 / 7; margin: auto; border-radius: 18px; background: #eeedf0; }
.doctor-portrait-static img { position: absolute; max-width: none; width: 286%; left: -186%; top: 0; transform: translateY(-12%); }
.doctor-stage .spotlight-copy { padding: 60px 10% 60px 8%; }
.doctor-stage .spotlight-copy h2 { font-size: clamp(30px,2.5vw,42px); }
@media(max-width:767px) {
  .doctor-stage { min-height: 0; }
  .doctor-portrait-wrap { padding: 24px 30px 0; }
  .doctor-portrait-static { max-width: 310px; }
  .doctor-stage .spotlight-copy { padding: 35px 28px; }
}
