.ai4s-platform-menu {
  position: relative;
  display: flex;
  align-items: stretch;
  height: 72px;
}

.ai4s-platform-menu > a:first-child {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ai4s-platform-menu > a:first-child::before {
  content: "";
  order: 2;
  width: 7px;
  height: 7px;
  margin-top: -4px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 180ms ease;
}

.ai4s-platform-menu:hover > a:first-child::before,
.ai4s-platform-menu:focus-within > a:first-child::before {
  margin-top: 4px;
  transform: rotate(225deg);
}

.ai4s-dropdown {
  position: absolute;
  top: 64px;
  left: 50%;
  z-index: 80;
  width: 180px;
  padding: 9px;
  border: 1px solid rgba(102, 8, 116, 0.13);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 48px rgba(42, 15, 63, 0.18);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.ai4s-platform-menu:hover .ai4s-dropdown,
.ai4s-platform-menu:focus-within .ai4s-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.ai4s-dropdown a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 13px;
  border-radius: 9px;
  color: #2a0f3f;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.ai4s-dropdown a:hover,
.ai4s-dropdown a:focus-visible {
  color: #660874;
  background: rgba(102, 8, 116, 0.07);
  outline: none;
}

.ai4s-dropdown a span {
  color: #d93379;
}

.ai4s-mobile-link {
  margin: -1px 0 4px;
  padding: 11px 18px 11px 32px !important;
  border-bottom: 1px solid #faf0f7 !important;
  color: #660874 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

@media (max-width: 1279px) {
  .ai4s-platform-menu { display: none; }
}

/* Show each scientific banner at its natural ratio instead of cropping it. */
img[alt$="主视觉"] {
  aspect-ratio: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
}

.ai4s-nowrap {
  white-space: nowrap;
}

/* Keep section headlines compact and prevent isolated Chinese characters. */
h2:has(> .text-brand-gradient),
h2:has(> span.text-brand-gradient) {
  word-break: keep-all;
  overflow-wrap: normal;
  text-wrap: balance;
}

h2:has(> .text-brand-gradient) br,
h2:has(> span.text-brand-gradient) br {
  display: none !important;
}

@media (min-width: 1024px) {
  h2:has(> .text-brand-gradient),
  h2:has(> span.text-brand-gradient) {
    max-width: none !important;
    font-size: clamp(28px, 2.45vw, 39px) !important;
    line-height: 1.28 !important;
    letter-spacing: -0.035em !important;
    white-space: nowrap;
  }
}

@media (max-width: 1023px) {
  h2:has(> .text-brand-gradient),
  h2:has(> span.text-brand-gradient) {
    font-size: clamp(28px, 5vw, 38px) !important;
    line-height: 1.3 !important;
  }
}

@media (max-width: 640px) {
  h2:has(> .text-brand-gradient),
  h2:has(> span.text-brand-gradient) {
    font-size: clamp(25px, 7.5vw, 32px) !important;
    word-break: normal;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }
}

/* Team is a two-column showcase, so its headline must stay inside the copy column. */
#team h2,
#team h2.team-title-fixed {
  max-width: 100% !important;
  width: 100% !important;
  font-size: clamp(28px, 2.45vw, 39px) !important;
  line-height: 1.28 !important;
  letter-spacing: -0.035em !important;
  white-space: normal !important;
  word-break: keep-all;
  overflow-wrap: normal;
  text-wrap: balance;
}

#team h2 .text-brand-gradient,
#team h2 .team-title-highlight {
  display: block !important;
  width: 100% !important;
  margin-top: 8px;
  white-space: nowrap !important;
  font-size: 1em;
}

/* Remove the clipped duplicate heading embedded at the source image's top edge. */
#team img[alt="核心团队与顾问委员会构成示意"] {
  width: 100%;
  height: auto;
  margin-top: -3.5%;
  clip-path: inset(6.5% 0 0 0);
  object-fit: contain !important;
  object-position: center !important;
}

@media (max-width: 1023px) {
  #team h2,
  #team h2.team-title-fixed {
    font-size: clamp(28px, 5vw, 38px) !important;
    line-height: 1.3 !important;
  }

  #team h2 .text-brand-gradient,
  #team h2 .team-title-highlight {
    white-space: normal !important;
  }
}
