/* 首页按参考截图重建；数据页面继续复用原组件。 */
.home-page { --home-space: clamp(65px, 6vw, 115px); }
.home-page .cinema-hero {
  position: relative;
  margin: -6px 14px 0;
  min-height: max(680px, calc(100svh - 145px));
  overflow: hidden;
  border-radius: 20px;
  background: #39353a;
}
.cinema-hero>video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cinema-hero:after { content: ''; position: absolute; inset: 0; background: linear-gradient(#17121b24, #17121b60 35%, #17121bad); pointer-events: none; }
.cinema-content { position: absolute; z-index: 1; left: 5%; right: 5%; bottom: 9%; text-align: center; color: white; }
.cinema-content h1 { font-size: clamp(42px, 4vw, 76px); line-height: 1.3; letter-spacing: 4px; font-weight: 400; }
.cinema-content h2 { font-size: clamp(28px, 2.3vw, 42px); margin-top: 26px; }
.cinema-content p { color: white; font-size: 18px; margin-top: 10px; }
.cinema-content .eyebrow { margin: 25px 0 0; font-size: 12px; letter-spacing: 3px; }
.cinema-content:after { content: ''; display: block; height: 2px; width: 52px; background: white; margin: 22px auto 0; }
.video-control { position: absolute; z-index: 2; right: 24px; bottom: 24px; min-height: 44px; background: #29242bcc; color: white; border: 1px solid #ffffff80; padding: 8px 18px; border-radius: 30px; font-size: 13px; }
.video-caption { position: absolute; bottom: 20px; left: 20px; z-index: 2; font-size: 11px; padding: 4px 10px; border-radius: 20px; background: #ffffffdf; color: #514357; }
.doctor-story { padding: 45px 14px 0; }
.doctor-wordmark { margin: 0 0 55px; text-align: center; font: 500 clamp(55px, 9vw, 170px)/1.15 Georgia, var(--serif); letter-spacing: -5px; color: #67586e; background: linear-gradient(#594c6390, #594c6390),url('assets/clinic-corridor.jpg') center/cover; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.doctor-stage { position: relative; min-height: 830px; display: grid; grid-template-columns: 42% 58%; align-items: center; }
.doctor-stage:before { content: ''; position: absolute; inset: 0 0 0 30%; border-radius: 20px; background: linear-gradient(135deg,#63526b,#403746); }
.spotlight-photo { position: relative; z-index: 1; height: 700px; overflow: hidden; border-radius: 20px; background: #edeaf0; }
.spotlight-photo img { position: absolute; max-width: none; width: 215%; left: -115%; top: 0; transform: translateY(-12%); }
.spotlight-photo span { position: absolute; left: 18px; bottom: 15px; color: #514357; font-size: 11px; padding: 3px 10px; border-radius: 20px; background: #ffffffe0; }
.spotlight-copy { position: relative; z-index: 1; padding: 80px 10% 80px 17%; color: white; }
.spotlight-copy:before { content: ''; display: block; width: 52px; height: 2px; background: white; margin-bottom: 25px; }
.spotlight-copy h2 { font-size: 44px; }
.spotlight-copy .eyebrow { color: #ede3f0; font-size: 13px; margin: 20px 0; letter-spacing: 1px; }
.spotlight-copy>p:not(.eyebrow) { color: white; font-size: 17px; line-height: 1.65; margin: 25px 0 35px; }
.spotlight-copy .text-link { color: white; margin-left: 22px; border-color: #bca7c6; }
.spotlight-copy .button { font-size: 16px; }
.team-directory { display: flex; flex-wrap: wrap; gap: 15px 30px; margin-top: 45px; padding-top: 25px; border-top: 1px solid #ffffff40; }
.team-directory a { display: flex; flex-direction: column; gap: 5px; padding: 5px 0; min-height: 44px; font-size: 17px; }
.team-directory small { color: #ded2e4; font-size: 11px; }
.team-directory a:hover { text-decoration: underline; }
.hospital-showcase { max-width: 1640px; margin: auto; padding: var(--home-space) 5%; text-align: center; }
.hospital-banner { display: grid; grid-template-columns: 1fr 1fr 1fr; height: 300px; overflow: hidden; border-radius: 20px; gap: 3px; margin-bottom: 45px; }
.hospital-banner img { width: 100%; height: 100%; object-fit: cover; }
.hospital-showcase h2 { font-size: clamp(32px, 3.2vw, 58px); line-height: 1.3; color: var(--purple); }
.hospital-showcase>p { max-width: 950px; font-size: 17px; line-height: 1.65; margin: 25px auto 0; }
.home-page .project-nav { margin: 60px 0 0; border: 0; }
.home-page .project-nav a { padding: 15px 20px; flex-direction: column; gap: 12px; color: #67536f; font-family: var(--serif); font-size: 23px; }
.home-page .project-nav a small { font: 12px Georgia; letter-spacing: 3px; display: block; }
.home-page .project-nav a>span { display: none; }
.home-gallery { margin: 0 14px; position: relative; overflow: hidden; border-radius: 20px; background: #e5e0e6; min-height: 530px; display: grid; grid-template-columns: 1fr 1fr; }
.home-gallery-photo { position: absolute; inset: 0 50% 0 0; display: flex; align-items: center; justify-content: center; }
.home-gallery-photo img { width: 100%; height: 100%; object-fit: contain; }
.home-gallery .project-copy-wrap { grid-column: 2; padding: 80px; }
.home-gallery .project-copy { padding: 80px 60px; }
.home-gallery .project-copy p { margin: 25px 0 30px; }
.home-gallery .project-copy h2 { font-size: 40px; }
.home-note { position: relative; max-width: 845px; margin: 75px auto; padding: 55px 60px; border: 1px solid #e8e1da; border-radius: 20px; text-align: center; }
.home-note:before { content: '“'; font: 110px/.8 Georgia,serif; color: #e8e1da; position: absolute; top: -25px; left: calc(50% - 30px); width: 60px; background: white; }
.home-note p { color: #352d38; font-size: 17px; line-height: 1.65; }
.home-note .note-label { display: block; margin: 30px 0; font-size: 13px; letter-spacing: 2px; color: #755080; font-weight: 600; }
.home-note .button { font-size: 14px; min-height: 44px; padding: 8px 30px; border: 2px solid #96869d; border-radius: 50px; }
.home-note .button span { display: none; }
.home-projects { padding: 0 14px; }
.home-page .project-panel { margin-bottom: 0; }
.home-projects .home-note:last-child { margin-bottom: 85px; }
.project-visual { overflow: hidden; }
.project-portrait { position: absolute; inset: 0; overflow: hidden; background: #e9e6ee; }
.project-portrait img { position: absolute; max-width: none; width: 220%; left: -120%; top: 0; transform: translateY(-12%); }
.project-portrait.portrait-qiu img { transform: translateY(-15%); }
.project-place-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.project-visual .media-origin { position: absolute; left: 15px; bottom: 15px; padding: 4px 10px; background: #ffffffe6; color: #514357; font-size: 11px; border-radius: 20px; }
.home-end { text-align: center; padding: 45px 6% 90px; }
.home-end .eyebrow { margin-bottom: 20px; }
.home-end p:not(.eyebrow) { margin: 25px auto 35px; max-width: 720px; font-size: 17px; line-height: 1.65; }
.gallery-feature h1 { font-size: 30px; margin-bottom: 16px; }
@media(min-width:1700px) { .doctor-stage { min-height: 950px; }.spotlight-photo { height: 820px; } }
@media(max-width:1199px) {
  .doctor-stage { min-height: 730px; }
  .spotlight-photo { height: 590px; }
  .spotlight-copy { padding: 50px 8% 50px 12%; }
  .spotlight-copy .text-link { margin-left: 0; margin-top: 15px; }
  .spotlight-copy h2 { font-size: 36px; }
  .home-gallery .project-copy-wrap,.home-gallery .project-copy { padding: 35px; }
  .home-gallery { min-height: 430px; }
  .home-gallery .project-copy h2 { font-size: 32px; }
  .hospital-banner { height: 240px; }
  .home-note { margin-left: 8%; margin-right: 8%; }
}
@media(max-width:767px) {
  .home-page .cinema-hero { margin: 0 10px; min-height: 650px; border-radius: 16px; }
  .cinema-content { bottom: 17%; left: 7%; right: 7%; }
  .cinema-content h1 { font-size: 39px; letter-spacing: 2px; }
  .cinema-content h2 { font-size: 29px; margin-top: 25px; }
  .cinema-content p { font-size: 15px; line-height: 1.7; }
  .cinema-content .eyebrow { font-size: 10px; letter-spacing: 2px; }
  .video-control { right: 14px; bottom: 16px; font-size: 12px; padding: 8px 12px; }
  .video-caption { left: 12px; bottom: 27px; font-size: 10px; }
  .doctor-story { padding: 40px 10px 0; }
  .doctor-wordmark { font-size: clamp(35px, 10.4vw, 76px); letter-spacing: -2px; margin-bottom: 30px; }
  .doctor-stage { display: block; min-height: 0; padding-top: 0; }
  .doctor-stage:before { inset: 80px 0 0 0; }
  .spotlight-photo { width: 88%; height: 430px; border-radius: 16px; }
  .spotlight-copy { padding: 40px 28px; }
  .spotlight-copy h2 { font-size: 34px; }
  .spotlight-copy>p:not(.eyebrow) { font-size: 16px; }
  .spotlight-copy .text-link { display: flex; width: fit-content; }
  .team-directory { margin-top: 30px; gap: 15px 25px; }
  .hospital-showcase { padding: 65px 20px; }
  .hospital-banner { height: 200px; grid-template-columns: 1fr 1fr; margin-bottom: 30px; }
  .hospital-banner img:last-child { display: none; }
  .hospital-showcase h2 { font-size: 30px; }
  .hospital-showcase>p { font-size: 16px; }
  .home-page .project-nav { margin-top: 35px; }
  .home-page .project-nav a { padding: 18px 10px; font-size: 21px; }
  .home-gallery { display: block; margin: 0 14px; }
  .home-gallery-photo { position: relative; inset: auto; height: 340px; }
  .home-gallery .project-copy-wrap { padding: 30px; }
  .home-gallery .project-copy { padding: 35px 25px; }
  .home-gallery .project-copy h2 { font-size: 28px; }
  .home-gallery .project-copy p { font-size: 16px; }
  .home-note { margin: 55px 15px; padding: 45px 24px 35px; }
  .home-note p { font-size: 16px; }
  .home-note .note-label { font-size: 11px; line-height: 1.6; }
  .home-projects .home-note { margin-left: 0; margin-right: 0; }
  .project-visual { min-height: 340px; }
  .project-portrait img { width: 210%; left: -110%; }
  .home-end { padding-bottom: 60px; }
}
