/* Shared zh/en homepage module alignment. Card-internal copy is intentionally excluded. */
@media screen and (max-width: 991px) {
#top [data-hero],
#content-production .flex-section.centered,
#ai-data-solutions .flex-section.centered,
#core-capabilities .flex-section.centered {
  align-items: center;
  text-align: center;
}

#top [data-hero] > *,
#content-production .flex-section.centered > .flex-gap-0-25:first-child,
#content-production .flex-section.centered > .flex-vertical.flex-gap-1-5,
#ai-data-solutions .flex-section.centered > .flex-gap-0-25:first-child,
#ai-data-solutions .flex-section.centered > .flex-vertical.flex-gap-1-5,
#core-capabilities .flex-section.centered > .flex-gap-0-25:first-child,
#core-capabilities .flex-section.centered > .flex-vertical.flex-gap-1-5 {
  align-self: center;
  margin-inline: auto;
}

#top [data-hero] > .flex-gap-0-25,
#top .buttons__wrap.is-hero,
#content-production .flex-section.centered > .flex-gap-0-25:first-child,
#ai-data-solutions .flex-section.centered > .flex-gap-0-25:first-child,
#core-capabilities .flex-section.centered > .flex-gap-0-25:first-child {
  justify-content: center;
}

#top [data-hero] > .flex-gap-0-25 .subtitle {
  font-size: 10px !important;
  letter-spacing: .2px !important;
}

#top .hero-title-lines,
#top .hero-title-line,
#top .hero-brand-slogan,
#content-production .section__heading,
#ai-data-solutions .section__heading,
#core-capabilities .section__heading,
#content-production .flex-section.centered > .flex-vertical.flex-gap-1-5,
#ai-data-solutions .flex-section.centered > .flex-vertical.flex-gap-1-5,
#core-capabilities .flex-section.centered > .flex-vertical.flex-gap-1-5,
#about .os-about-section__eyebrow,
#about .os-about-section__title,
#contact .cta-heading-wrap,
#contact .cta__text-wrap > p {
  text-align: center;
}

#content-production .section__heading,
#ai-data-solutions .section__heading,
#core-capabilities .section__heading {
  margin-inline: auto;
}

#about .os-about-section__title {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#about .os-about-section__punctuation::after { content: "，"; }
#about .os-about-section__title > span:last-child .os-about-section__punctuation::after { content: "。"; }
html[data-locale="en"] #about .os-about-section__punctuation::after { content: "."; }

#about .os-about-section__eyebrow,
#about .os-about-section__title,
#contact .cta-heading-wrap,
#contact .cta__text-wrap > p,
#contact .cta__button {
  margin-inline: auto;
}

#contact .cta-heading-wrap .line,
#contact .cta__text-wrap > p .line {
  text-align: center !important;
}

#contact .en-cta-heading-line {
  display: block !important;
}

@media screen and (max-width: 767px) {
  #about .os-about-section__eyebrow,
  #about .os-about-section__title {
    width: 100%;
    margin-inline: 0;
    text-align: left;
  }

  #about .os-about-section__punctuation { display: none; }
}
}

@media screen and (max-width: 479px) {
  html[lang^="zh"] #top .buttons__wrap.is-hero {
    transform-origin: center center !important;
  }

  html[lang^="zh"] #contact .cta-heading-wrap,
  html[lang^="zh"] #contact .cta-heading-wrap .line,
  html[lang^="zh"] #contact .cta__text-wrap > p,
  html[lang^="zh"] #contact .cta__text-wrap > p .line {
    text-align: left !important;
  }

  html[lang^="zh"] #contact .cta__text-wrap {
    transform: translateY(20%);
  }

  html[lang^="zh"] #contact .cta__button .cta__btn-text {
    box-sizing: border-box;
    justify-content: flex-start;
    padding-left: 1.5rem;
    text-align: left;
  }
}
