/* Shared source-style secondary page hero copied from the Yimou template. */
.subpage,
.news-list-page {
  --yimou-page-rail: min(1784px, calc(100vw - 264px));
  --yimou-page-gutter: calc((100vw - var(--yimou-page-rail)) / 2);
  --ym-rail: var(--yimou-page-rail);
}

.subpage .nav-container,
.news-list-page .nav-container {
  width: var(--yimou-page-rail) !important;
  max-width: var(--yimou-page-rail) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.yimou-page-hero {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 520px !important;
  padding: 180px 0 120px !important;
  overflow: hidden !important;
  background: #0A2559 !important;
  color: #F4F8FF !important;
  border: 0 !important;
}

.yimou-page-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(244, 248, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(244, 248, 255, 0.025) 1px, transparent 1px) !important;
  background-size: 80px 80px !important;
  pointer-events: none !important;
}

.yimou-page-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(ellipse at 85% 50%, rgba(43, 170, 212, 0.18) 0%, transparent 55%),
    radial-gradient(ellipse at 10% 80%, rgba(27, 112, 190, 0.35) 0%, transparent 50%) !important;
  pointer-events: none !important;
}

.yimou-page-hero .page-hero-decor {
  position: absolute !important;
  right: calc(var(--yimou-page-gutter) - 100px) !important;
  top: auto !important;
  bottom: -360px !important;
  width: 720px !important;
  height: 720px !important;
  opacity: 0.5 !important;
  transform: none !important;
  pointer-events: none !important;
}

.yimou-page-hero .page-hero-decor svg {
  width: 100% !important;
  height: 100% !important;
}

.yimou-page-hero .decor-fibers {
  animation: yimouPageHeroSlowRotate 180s linear infinite !important;
  transform-origin: 340px 340px !important;
}

.yimou-page-hero .page-hero-content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: var(--yimou-page-rail) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: left !important;
}

.yimou-page-hero .breadcrumb {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 40px !important;
  color: rgba(244, 248, 255, 0.5) !important;
  font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.2em !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.yimou-page-hero .breadcrumb a {
  color: inherit !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.yimou-page-hero .breadcrumb a:hover {
  color: #2BAAD4 !important;
}

.yimou-page-hero .breadcrumb-sep {
  opacity: 0.5 !important;
}

.yimou-page-hero .breadcrumb-current {
  color: #78D6E8 !important;
}

.yimou-page-hero .page-hero-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 0 0 32px !important;
  padding: 8px 18px !important;
  border: 1px solid rgba(43, 170, 212, 0.4) !important;
  border-radius: 40px !important;
  color: #78D6E8 !important;
  font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.4em !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.yimou-page-hero .page-hero-eyebrow::before {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  flex: 0 0 6px !important;
  border-radius: 50% !important;
  background: #2BAAD4 !important;
  box-shadow: 0 0 12px #2BAAD4 !important;
}

.yimou-page-hero .page-hero-title {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 0.15em !important;
  margin: 0 0 32px !important;
  color: #F4F8FF !important;
  font-family: "Noto Serif SC", "Songti SC", serif !important;
  font-size: clamp(56px, 8vw, 132px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  white-space: normal !important;
  word-break: keep-all !important;
  text-align: left !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.yimou-page-hero .page-hero-title em {
  color: #2BAAD4 !important;
  font-family: "Fraunces", Georgia, serif !important;
  font-size: 0.65em !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
}

.yimou-page-hero .page-hero-sub {
  max-width: 640px !important;
  margin: 0 !important;
  color: rgba(244, 248, 255, 0.78) !important;
  font-family: "Noto Serif SC", "Songti SC", serif !important;
  font-size: clamp(18px, 1.6vw, 24px) !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.04em !important;
  white-space: normal !important;
  word-break: keep-all !important;
  text-align: left !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.yimou-page-hero .page-hero-meta {
  position: absolute !important;
  right: var(--yimou-page-gutter) !important;
  bottom: 60px !important;
  z-index: 3 !important;
  color: rgba(244, 248, 255, 0.45) !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 11px !important;
  line-height: 2 !important;
  letter-spacing: 0.2em !important;
  text-align: right !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.yimou-page-hero .page-hero-meta-label {
  color: #78D6E8 !important;
}

@keyframes yimouPageHeroSlowRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes yimouPageHeroFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1100px) {
  .subpage,
  .news-list-page {
    --yimou-page-rail: calc(100vw - 56px);
  }

  .yimou-page-hero .page-hero-meta {
    display: none !important;
  }
}

@media (max-width: 700px) {
  .subpage,
  .news-list-page {
    --yimou-page-rail: calc(100vw - 40px);
  }

  .yimou-page-hero {
    min-height: auto !important;
    padding: 140px 0 80px !important;
  }

  .yimou-page-hero .page-hero-title {
    font-size: clamp(42px, 13vw, 64px) !important;
  }

  .yimou-page-hero .page-hero-sub {
    font-size: 16px !important;
  }

  .yimou-page-hero .page-hero-decor {
    right: -140px !important;
    bottom: -220px !important;
    width: 420px !important;
    height: 420px !important;
    opacity: 0.28 !important;
  }
}

/* Keep template hero rails locked to the same nav/footer alignment. */
.subpage,
.news-list-page {
  --yimou-page-rail: var(--site-rail) !important;
  --yimou-page-gutter: var(--site-gutter) !important;
  --ym-rail: var(--site-rail) !important;
}

.subpage .nav-container,
.news-list-page .nav-container,
.yimou-page-hero .page-hero-content {
  width: var(--site-rail) !important;
  max-width: var(--site-rail) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 2026 secondary hero type tuning. */
.yimou-page-hero {
  min-height: 460px !important;
  padding: 152px 0 92px !important;
}

.yimou-page-hero .breadcrumb {
  margin-bottom: 34px !important;
  font-weight: 600 !important;
}

.yimou-page-hero .page-hero-eyebrow {
  margin-bottom: 26px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.yimou-page-hero .page-hero-title {
  gap: 0.12em !important;
  margin-bottom: 22px !important;
  font-size: 88px !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.yimou-page-hero .page-hero-title em {
  font-size: 0.52em !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

.yimou-page-hero .page-hero-sub {
  max-width: 620px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.68 !important;
  letter-spacing: 0.02em !important;
}

.yimou-page-hero .page-hero-meta {
  bottom: 48px !important;
}

@media (max-width: 1400px) {
  .yimou-page-hero {
    min-height: 430px !important;
    padding: 142px 0 84px !important;
  }

  .yimou-page-hero .page-hero-title {
    font-size: 76px !important;
  }
}

@media (max-width: 900px) {
  .yimou-page-hero .page-hero-title {
    font-size: 60px !important;
  }
}

@media (max-width: 700px) {
  .yimou-page-hero {
    min-height: auto !important;
    padding: 128px 0 70px !important;
  }

  .yimou-page-hero .page-hero-title {
    font-size: 42px !important;
    line-height: 1.16 !important;
  }

  .yimou-page-hero .page-hero-sub {
    font-size: 15px !important;
  }
}

/* Desktop readability pass: same 18px floor as the reference site's smallest text. */
@media (min-width: 901px) {
  .yimou-page-hero .breadcrumb,
  .yimou-page-hero .breadcrumb a,
  .yimou-page-hero .breadcrumb span,
  .yimou-page-hero .page-hero-eyebrow,
  .yimou-page-hero .page-hero-meta,
  .yimou-page-hero .page-hero-meta-label {
    font-size: 18px !important;
  }

  .yimou-page-hero .page-hero-eyebrow,
  .yimou-page-hero .page-hero-meta {
    letter-spacing: 0.18em !important;
  }
}

/* Balanced correction for shared secondary/news-list heroes. */
@media (min-width: 901px) {
  .yimou-page-hero .breadcrumb,
  .yimou-page-hero .breadcrumb a,
  .yimou-page-hero .breadcrumb span {
    font-size: 14px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.12em !important;
  }

  .yimou-page-hero .page-hero-eyebrow {
    padding: 7px 15px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.26em !important;
  }

  .yimou-page-hero .page-hero-title {
    font-size: 76px !important;
  }

  .yimou-page-hero .page-hero-sub {
    font-size: 16px !important;
    line-height: 1.76 !important;
  }

  .yimou-page-hero .page-hero-meta,
  .yimou-page-hero .page-hero-meta-label {
    font-size: 13px !important;
    line-height: 1.9 !important;
    letter-spacing: 0.22em !important;
  }
}
