/* 首页「解决方案」模块：参考新版视觉稿，仅由首页引入。 */
#audiences.audience-section {
  position: relative;
  overflow: hidden;
  background: #fbf8f5;
}

#audiences .section-heading {
  max-width: 1360px;
  margin: 0 auto 60px;
  text-align: center;
}

#audiences .section-heading h2 {
  position: relative;
  margin-bottom: 16px;
  color: #122942;
  font-size: 58px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
}

#audiences .section-heading h2::after {
  display: block;
  width: min(420px, 76vw);
  height: 5px;
  margin: 22px auto 0;
  background:
    linear-gradient(90deg, transparent 0%, rgba(190, 145, 81, .12) 24%, rgba(190, 145, 81, .62) 100%) left center / calc(50% - 39px) 1px no-repeat,
    linear-gradient(90deg, rgba(190, 145, 81, .62) 0%, rgba(190, 145, 81, .12) 76%, transparent 100%) right center / calc(50% - 39px) 1px no-repeat,
    linear-gradient(90deg, #a87537, #e1b66d, #a87537) center / 58px 5px no-repeat;
  content: "";
}

#audiences .section-heading h2::before {
  display: none;
}

#audiences .section-heading p {
  color: #5b6471;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.8;
}

#audiences .audience-grid {
  gap: 36px;
}

#audiences .audience-card {
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 480px;
  padding: 34px 42px 30px;
  overflow: hidden;
  border: 1px solid rgba(204, 176, 145, .72);
  border-radius: 18px;
  background: #faf5ee;
  box-shadow: 0 15px 32px rgba(82, 61, 42, .1);
}

#audiences .audience-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 42px rgba(48, 34, 23, .13);
}

#audiences .audience-card--partner {
  border-color: #bd8c4d;
  background: #0a2037;
  box-shadow: 0 18px 38px rgba(18, 40, 64, .22);
}

#audiences .audience-card::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 253, 251, .9) 0%, rgba(255, 253, 251, .69) 49%, rgba(255, 253, 251, .1) 100%);
  content: "";
  pointer-events: none;
}

#audiences .audience-card--partner::before {
  background: linear-gradient(90deg, rgba(7, 26, 46, .93) 0%, rgba(8, 31, 54, .74) 49%, rgba(8, 31, 54, .14) 100%);
}

#audiences .audience-card--school .audience-card-media,
#audiences .audience-card--party .audience-card-media {
  filter: brightness(.93) saturate(.9) contrast(1.14);
}

#audiences .card-number {
  z-index: 2;
  top: 36px;
  right: 32px;
  color: rgba(129, 93, 56, .25);
  font-family: var(--font-sans);
  font-size: 98px;
  font-weight: 400;
}

#audiences .audience-card--partner .card-number {
  color: rgba(255, 255, 255, .22);
}

#audiences .audience-icon {
  z-index: 2;
  display: grid;
  flex: 0 0 68px;
  width: 68px;
  height: 68px;
  margin: 0;
  border: 1px solid #c59a68;
  border-radius: 50%;
  place-items: center;
}

#audiences .audience-icon-symbol {
  display: block;
  width: 31px;
  height: 31px;
  background: #b88b5a;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

#audiences .audience-card--school .audience-icon-symbol {
  width: 31px;
  height: 31px;
  -webkit-mask-image: url("../images/icons/lucide/university.svg");
  mask-image: url("../images/icons/lucide/university.svg");
}

#audiences .audience-card--party .audience-icon-symbol {
  -webkit-mask-image: url("../images/icons/lucide/landmark.svg");
  mask-image: url("../images/icons/lucide/landmark.svg");
}

#audiences .audience-card--partner .audience-icon-symbol {
  background: #dfa95d;
  -webkit-mask-image: url("../images/icons/lucide/handshake.svg");
  mask-image: url("../images/icons/lucide/handshake.svg");
}

#audiences .audience-card--partner .audience-icon {
  border-color: #dfa95d;
}

#audiences .audience-card .card-label,
#audiences .audience-card h3,
#audiences .audience-card > p:not(.card-label),
#audiences .audience-card a {
  z-index: 2;
}

#audiences .audience-card-kicker {
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 26px;
}

#audiences .audience-card .card-label {
  margin: 0;
  color: #a5743e;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0;
}

#audiences .audience-card h3 {
  max-width: 440px;
  margin: 0 0 18px;
  color: #122942;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
}

#audiences .audience-card h3::after {
  display: block;
  width: 38px;
  height: 2px;
  margin-top: 19px;
  background: #b88b5a;
  content: "";
}

#audiences .audience-card > p:not(.card-label) {
  max-width: 440px;
  margin: 0;
  color: #5d5b58;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.9;
}

#audiences .audience-card a {
  position: relative;
  bottom: auto;
  margin-top: auto;
  color: #a36d30;
  font-size: 20px;
  font-weight: 700;
}

#audiences .audience-link-arrow {
  display: inline-block;
  margin-left: 10px;
  font-size: 24px;
  line-height: .5;
  vertical-align: -1px;
  transition: transform .2s ease;
}

#audiences .audience-card a:hover .audience-link-arrow {
  transform: translateX(5px);
}

#audiences .audience-card-media {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  border: 0;
  background-color: #faf5ee;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: 1;
  filter: saturate(.98) contrast(1.03);
}

/* 上传后的全局图片规则默认使用 contain；方案卡是整卡背景图，必须保持 cover 才不会露出底部留白。 */
#audiences .audience-card-media.cms-media-applied {
  background-size: cover !important;
  background-position: center !important;
}

#audiences .audience-card-media::before,
#audiences .audience-card-media::after {
  display: none;
}

#audiences .audience-card--partner .audience-card-media {
  background-color: #0a2037;
  filter: saturate(.92) contrast(1.02);
}

#audiences .audience-card--partner .card-label,
#audiences .audience-card--partner a {
  color: #dfa95d;
}

#audiences .audience-card--partner h3 {
  color: #ffffff;
}

#audiences .audience-card--partner > p:not(.card-label) {
  color: #e2e8ef;
}

@media (max-width: 820px) {
  #audiences .section-heading h2 {
    font-size: 40px;
  }

  #audiences .section-heading p {
    font-size: 18px;
  }

  #audiences .audience-grid {
    gap: 18px;
  }

  #audiences .audience-card {
    min-height: 450px;
    aspect-ratio: auto;
  }
}

@media (max-width: 560px) {
  #audiences .section-heading {
    margin-bottom: 32px;
  }

  #audiences .audience-card {
    min-height: 410px;
    padding: 30px 27px 26px;
  }

  #audiences .audience-card-kicker {
    gap: 14px;
    margin-bottom: 28px;
  }

  #audiences .audience-icon {
    flex-basis: 54px;
    width: 54px;
    height: 54px;
  }

  #audiences .audience-icon-symbol {
    width: 25px;
    height: 25px;
  }

  #audiences .audience-card .card-label {
    font-size: 16px;
  }

  #audiences .audience-card h3 {
    max-width: 250px;
    font-size: 28px;
  }

  #audiences .audience-card > p:not(.card-label) {
    max-width: 245px;
    font-size: 16px;
    line-height: 1.85;
  }

  #audiences .card-number {
    top: 28px;
    right: 21px;
    font-size: 72px;
  }
}
