/* 列表/内页顶部 Hero — 对齐「加入我们」join-hero */
.page-hero {
  min-height: 86vh; /* 未配置 banner_height 时与「加入我们」一致 */
  display: flex;
  align-items: center;
  color: #fff;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 28%, rgba(0, 168, 90, 0.3), transparent 34%),
    linear-gradient(115deg, rgba(5, 8, 13, 0.96), rgba(16, 24, 40, 0.78), rgba(5, 8, 13, 0.5)),
    var(--page-hero-image, linear-gradient(135deg, #101828, #05080d)) center/cover;
}

.page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9), transparent 95%);
  pointer-events: none;
}

.page-hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.page-hero__shell {
  position: relative;
  z-index: 2;
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
}

.page-hero__content {
  max-width: 820px;
  padding: 100px 0 90px;
}

.page-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.08em;
}

.page-hero__eyebrow::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--theme-default-color, #3fe28d);
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--theme-default-color, #00a85a) 15%, transparent);
}

.page-hero h1 {
  margin: 0 0 24px;
  font-size: clamp(42px, 6vw, 76px);
  line-height: 1.08;
  letter-spacing: -0.055em;
  font-weight: 600;
}

.page-hero h1 span {
  color: var(--theme-default-font-color, #3fe28d);
}

.page-hero__content > p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 18px;
  line-height: 1.65;
  white-space: pre-wrap;
}

.page-hero__actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 34px;
}

.page-hero.has-responsive-bg {
  background:
    radial-gradient(circle at 78% 28%, rgba(0, 168, 90, 0.3), transparent 34%),
    linear-gradient(115deg, rgba(5, 8, 13, 0.96), rgba(16, 24, 40, 0.78), rgba(5, 8, 13, 0.5)),
    var(--responsive-bg-pc) center/cover;
}

@media (max-width: 968px) {
  .has-responsive-bg.page-hero,
  .page-hero.has-responsive-bg {
    background:
      radial-gradient(circle at 78% 28%, rgba(0, 168, 90, 0.3), transparent 34%),
      linear-gradient(115deg, rgba(5, 8, 13, 0.96), rgba(16, 24, 40, 0.78), rgba(5, 8, 13, 0.5)),
      var(--responsive-bg-mobile, var(--responsive-bg-pc)) center/cover;
  }
}

/* 固定高度 Banner：文案贴底，避免长文（尤其英文）把内容顶出可视区 */
.page-hero--fixed-height {
  min-height: 0;
  align-items: flex-end;
  overflow: hidden;
}

.page-hero--fixed-height::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to top,
    rgba(5, 8, 13, 0.88) 0%,
    rgba(5, 8, 13, 0.48) 40%,
    rgba(5, 8, 13, 0.1) 65%,
    transparent 100%
  );
}

.page-hero--fixed-height .page-hero__shell {
  height: 100%;
  display: flex;
  align-items: flex-end;
}

.page-hero--fixed-height .page-hero__content {
  padding: 96px 0 40px;
  max-width: 820px;
}

.page-hero--fixed-height .page-hero__eyebrow {
  margin-bottom: 16px;
  line-height: 1.4;
  white-space: normal;
  max-width: 100%;
}

.page-hero--fixed-height h1 {
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: 1.15;
  margin-bottom: 16px;
  letter-spacing: -0.04em;
}

.page-hero--fixed-height .page-hero__content > p {
  font-size: 16px;
  line-height: 1.65;
  overflow-wrap: break-word;
  word-break: break-word;
}

@media (max-width: 900px) {
  .page-hero {
    min-height: 72vh;
  }

  .page-hero--fixed-height {
    min-height: 0;
  }

  .page-hero__content {
    padding: 88px 0 72px;
  }
}

@media (max-width: 600px) {
  .page-hero__shell {
    width: min(1200px, calc(100% - 32px));
  }

  .page-hero__content > p {
    font-size: 16px;
  }
}

@media (max-width: 968px) {
  .page-hero--fixed-height .page-hero__content {
    padding: 72px 0 28px;
    max-width: 100%;
  }

  .page-hero--fixed-height .page-hero__eyebrow {
    margin-bottom: 12px;
    padding: 6px 12px;
    font-size: 12px;
  }

  .page-hero--fixed-height h1 {
    font-size: clamp(22px, 5.8vw, 32px);
    line-height: 1.22;
    margin-bottom: 12px;
    letter-spacing: -0.03em;
  }

  .page-hero--fixed-height .page-hero__content > p {
    font-size: 14px;
  }
}

@media (max-width: 600px) {
  .page-hero--fixed-height .page-hero__content {
    padding: 68px 0 24px;
  }

  .page-hero--fixed-height h1 {
    font-size: clamp(20px, 5.5vw, 28px);
    margin-bottom: 10px;
  }

  .page-hero--fixed-height .page-hero__content > p {
    font-size: 13px;
    line-height: 1.6;
  }
}
