/* 中文排版：优先保持完整语义短句，不把末尾一两个字孤立到下一行。 */
.section-title,
.hero-copy .title,
.value-intro h2,
.achievement-intro h2 {
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
  text-wrap: balance;
  max-width: 100%;
  min-width: 0;
}
.official-card-copy h3,
.achievement-card h3,
.detail-hero h2,
.achievement-header h1 {
  word-break: keep-all;
  overflow-wrap: normal;
  text-wrap: balance;
}
.subtitle,
.official-card-copy p,
.achievement-card p,
.detail-body,
.detail-body li {
  word-break: normal;
  overflow-wrap: break-word;
}
.hero-copy,
.value-intro,
.official-card-copy,
.achievement-card-content { min-width: 0; }
.achievement-page,
.achievement-page html,
.achievement-page body { min-height: 100%; height: auto; overflow-x: hidden; overflow-y: auto; }
.detail-page main { min-height: calc(100vh - 88px); overflow: visible; }
#partners .partners-copy { min-width: 0; max-width: 100%; }
#partners .partners-copy .subtitle,
#partners .partner-roles span { overflow-wrap: break-word; word-break: keep-all; }
#partners .plaque-card { min-width: 0; max-width: 100%; }
.hero-copy .title,
.section-title,
.value-intro h2,
.achievement-intro h2 { overflow: visible; position: relative; z-index: 2; }
.value-intro h2 { font-size: clamp(26px, 2.8vw, 44px); line-height: 1.3; letter-spacing: -.035em; max-width: 15em; }
.official-card-copy h3,
.achievement-card h3,
.detail-hero h2 { max-width: 100%; }

/* 科研成果卡片采用研究展示页的图文叠层，文字独立在图片上方。 */
#achievement .official-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#achievement .official-card { position: relative; display: block; min-width: 0; min-height: 290px; overflow: hidden; }
#achievement .official-card-media { position: absolute; inset: 0; height: 100%; z-index: 0; }
#achievement .official-card-media img { width: 100%; height: 100%; object-fit: cover; }
#achievement .official-card-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,25,37,.06) 20%, rgba(5,25,37,.86) 100%); }
#achievement .official-card-copy { position: absolute; inset: auto 0 0; z-index: 1; padding: 24px; color: #fff; }
#achievement .official-card-copy h3,
#achievement .official-card-copy p { color: inherit; }
#achievement .official-card-copy p { max-width: 34em; }
@media (min-width: 761px) and (max-width: 1180px) {
  .home { grid-template-columns: minmax(0, 1fr); }
  .home-copy { max-width: 100%; position: relative; z-index: 4; }
  .home-visual { opacity: .16; z-index: 0; pointer-events: none; }
  .partners { position: relative; isolation: isolate; }
  .partners-copy { position: relative; z-index: 2; max-width: 100%; background: rgba(247,244,237,.82); }
  #partners { overflow-y: auto; }
  #partners .partners { grid-template-columns: 1fr; align-items: start; gap: 28px; }
  #partners .plaque-card { max-width: 720px; width: 100%; justify-self: center; }
  .section-title { font-size: clamp(25px, 3.2vw, 42px); }
  .hero-copy .title { font-size: clamp(42px, 5vw, 68px); }
}
@media (max-width: 760px) {
  .section-title,
  .hero-copy .title,
  .value-intro h2,
  .achievement-intro h2 { white-space: normal; font-size: clamp(22px, 7vw, 40px); letter-spacing: -.05em; }
  .official-card-copy h3,
  .achievement-card h3,
  .detail-hero h2 { word-break: keep-all; text-wrap: balance; }
  #achievement .official-grid { grid-template-columns: 1fr; }
  #achievement .official-card { min-height: 250px; }
}
