/* C typography: A's dark layout and colors with D's current font roles. */
@font-face {
  font-family: "Mingshan Serif Subset";
  src: url("assets/fonts/mingshan-serif-v5-r4.otf") format("opentype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

/* V5: original seal alongside two text rows, aligned to a rectangle. */
body.c-black-dtype {
  --brand-label-font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --brand-label-size: 13px;
  --brand-label-weight: 500;
}

body.c-black-dtype .brand-lockup {
  --wordmark-width: 134px;
  --seal-width: 25.14px;
  --brand-gap: 12px;
  display: inline-grid;
  grid-template-columns: var(--seal-width) var(--wordmark-width);
  grid-template-rows: 1fr 1fr;
  column-gap: var(--brand-gap);
  width: calc(var(--seal-width) + var(--brand-gap) + var(--wordmark-width));
  height: 40px;
  color: #fff;
}

body.c-black-dtype .brand-topline { display: contents; }
body.c-black-dtype .brand-seal {
  grid-column: 1;
  grid-row: 1 / 3;
  display: block;
  width: 100%;
  height: 100%;
}
body.c-black-dtype .brand-wordmark {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  display: block;
  width: var(--wordmark-width);
  height: auto;
  overflow: hidden;
}
body.c-black-dtype .brand-wordmark text {
  font-family: var(--brand-label-font);
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0;
  fill: currentColor;
}
body.c-black-dtype .brand-subtitle {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  text-align: center;
  font: var(--brand-label-weight) var(--brand-label-size)/1.3 var(--brand-label-font);
  letter-spacing: .3em;
  padding-left: .3em;
}
body.c-black-dtype .desktop-nav {
  font-family: var(--brand-label-font);
  font-size: var(--brand-label-size);
  font-weight: var(--brand-label-weight);
}
body.c-black-dtype .site-footer .brand-lockup { opacity: .86; }
body.c-black-dtype .site-footer > :is(.brand, .footer-links) { align-self: center; }
/* Preserve the accepted English wordmark scale in the header. */
body.c-black-dtype .site-header .brand-lockup { --wordmark-width: 110.36px; --seal-width: 22.63px; height: 36px; }

@media (max-width: 760px) {
  body.c-black-dtype { --brand-label-size: 11px; }
  body.c-black-dtype .brand-lockup {
    --wordmark-width: 116px;
    --seal-width: 21.37px;
    --brand-gap: 10px;
    height: 34px;
  }
  body.c-black-dtype .site-header .brand-lockup { --wordmark-width: 94.36px; --seal-width: 19.49px; height: 31px; }
  body.c-black-dtype .site-footer > :is(.brand, .footer-links) { align-self: flex-start; }
}

body.c-black-dtype {
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

body.c-black-dtype h1,
body.c-black-dtype h2,
body.c-black-dtype h3,
body.c-black-dtype h4 {
  font-family: DINPro, "Mingshan Serif Subset", "Noto Serif CJK SC", "Songti SC", "SimSun", serif;
  font-weight: 600;
}

body.c-black-dtype .reading-surface h1,
body.c-black-dtype .reading-surface h2,
body.c-black-dtype .reading-surface h3,
body.c-black-dtype .reading-surface h4 {
  font-family: DINPro, "Mingshan Serif Subset", "Noto Serif CJK SC", "Songti SC", "SimSun", serif;
  font-weight: 600;
}

/* Years and dates keep D's DINPro treatment while Chinese headings use the subset. */
body.c-black-dtype .compact-year > h3 {
  font-family: DINPro, sans-serif;
  font-weight: 400;
}

/* A renders several editorial titles as strong/span elements instead of headings. */
body.c-black-dtype .home-award-list strong,
body.c-black-dtype .honor-record-copy strong,
body.c-black-dtype .home-article-list strong,
body.c-black-dtype .share-title {
  font-family: DINPro, "Mingshan Serif Subset", "Noto Serif CJK SC", "Songti SC", "SimSun", serif;
  font-weight: 600;
}

body.c-black-dtype .job summary {
  font-family: DINPro, "Mingshan Serif Subset", "Noto Serif CJK SC", "Songti SC", "SimSun", serif;
  font-weight: 600;
}

body.c-black-dtype .investment-belief.investment-style p.style-motto {
  font-family: DINPro, "Mingshan Serif Subset", "Noto Serif CJK SC", "Songti SC", "SimSun", serif;
}

/* The A cover-title image's visible copy becomes accessible, code-native text. */
.home-page .hero .hero-title {
  display: flex;
  flex-direction: column;
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  font-size: clamp(44px, 5.4vw, 78px);
  font-weight: 500;
  line-height: 1.27;
  letter-spacing: .015em;
  color: #fff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, .38);
}

.home-page .hero-title-line {
  display: block;
}

.home-page .hero-english {
  margin-top: 18px;
  font-family: DINPro, sans-serif;
  font-size: clamp(13px, 1.25vw, 18px);
  line-height: 1.5;
  letter-spacing: .09em;
  color: #fff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, .45);
}

/* No region-wide backdrop: preserve contrast at the letter edges only. */

@media (max-width: 760px) {
  .home-page .hero .hero-title {
    font-size: clamp(38px, 10.3vw, 51px);
    line-height: 1.3;
  }

  .home-page .hero-english {
    margin-top: 13px;
    font-size: 11px;
    letter-spacing: .07em;
  }

  .home-page .hero-composition {
    width: auto;
    max-width: 410px;
    left: var(--gutter);
    right: var(--gutter);
  }
}

/* Homepage content sections and the careers strip use PingFang first. */
body.c-black-dtype.home-page :is(#about, #honors, #insights, .join-strip),
body.c-black-dtype.home-page :is(#about, #honors, #insights, .join-strip) * {
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  font-weight: 500;
}

body.c-black-dtype.home-page :is(#about, #honors, #insights, .join-strip) :is(h2, h3, strong) {
  font-weight: 600;
}

body.c-black-dtype.home-page #about .home-scale {
  font-size: 14.3px;
  font-weight: 700;
}

body.c-black-dtype.home-page #about .home-scale strong {
  font-size: inherit;
  font-weight: 800;
  -webkit-text-stroke: .15px currentColor;
}

/* Opening two seconds and closing four seconds share the same brand title. */
.home-page .hero .hero-composition {
  animation: none;
  opacity: 1;
  transition: opacity .6s ease;
  pointer-events: none;
}

.home-page .hero-outro {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 15px;
  padding: 100px var(--gutter);
  color: #fff;
  text-align: center;
  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  font-weight: 500;
  text-shadow: 0 2px 5px rgba(0, 0, 0, .42);
  opacity: 0;
  visibility: hidden;
  transition: opacity .6s ease, visibility .6s;
  pointer-events: none;
}

.home-page .hero-outro-name {
  font-size: clamp(54px, 7.1vw, 104px);
  line-height: 1.15;
  letter-spacing: .015em;
}

.home-page .hero-outro-subtitle {
  font-size: clamp(30px, 3.7vw, 54px);
  line-height: 1.4;
  letter-spacing: .13em;
  padding-left: .13em;
}

.home-page .hero[data-title-phase="brand"] .hero-composition { opacity: 0; }
.home-page .hero[data-title-phase="brand"] .hero-outro { opacity: 1; visibility: visible; }

/* A real 0.1s blank: stop the outgoing fade before the next title appears. */
.home-page .hero[data-title-phase="gap"] .hero-composition,
.home-page .hero[data-title-phase="gap"] .hero-outro {
  opacity: 0;
  transition: none;
}
.home-page .hero[data-title-phase="gap"] .hero-outro { visibility: hidden; }


@media (max-width: 760px) {
  .home-page .hero-outro { gap: 13px; }
  .home-page .hero-outro-name { font-size: clamp(34px, 10.3vw, 68px); }
  .home-page .hero-outro-subtitle { font-size: clamp(24px, 6.7vw, 40px); letter-spacing: .08em; padding-left: .08em; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .hero .hero-composition,
  .home-page .hero-outro { transition: none; }
}

/* V5 inner pages: introductory copy belongs directly below its title. */
body.c-black-dtype.inner-page .page-title-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

body.c-black-dtype.inner-page .page-intro {
  max-width: 100%;
  margin: 0;
  font-family: DINPro, "Mingshan Serif Subset", "Noto Serif CJK SC", "Songti SC", "SimSun", serif;
  font-size: clamp(18px, 1.7vw, 26px);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: .035em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  body.c-black-dtype.inner-page .page-title-row { gap: 12px; }
}
