/* 首页横幅：使用用户 PS 羽化透明图，网页代码提供通宽背景。 */

.brand-hero,
.brand-hero__visual,
.brand-hero__visual picture,
.brand-hero__visual img,
.brand-hero__grid {
  box-sizing: border-box;
}

.brand-hero {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: clamp(270px, 35.177vw, 520px);
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: #0a3551;
  background: linear-gradient(
    180deg,
    rgb(239, 243, 249) 0%,
    rgb(243, 245, 250) 12.5%,
    rgb(241, 244, 249) 25%,
    rgb(238, 241, 246) 50%,
    rgb(240, 243, 247) 75%,
    rgb(224, 229, 236) 100%
  );
}

.brand-hero::before,
.brand-hero::after,
.brand-hero__visual::before,
.brand-hero__visual::after {
  display: none !important;
  content: none !important;
}

.brand-hero__visual {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.brand-hero__visual picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.brand-hero__visual img {
  position: absolute;
  top: 0;
  right: auto;
  bottom: auto;
  left: 50%;
  display: block;
  width: auto;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  object-fit: contain;
  object-position: right center;
  transform: translateX(-38.7798635%);
}

.brand-hero__grid {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0;
}

.brand-hero__copy {
  position: relative;
  z-index: 2;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.brand-hero .eyebrow { color: #0a7e8d; }
.brand-hero h1 { color: #082f49; white-space: normal; }
.brand-hero h1 em { color: #0a8795; }
.brand-hero .lead { color: #47636f; }
.brand-hero .button--secondary {
  color: #0a3551;
  background: rgba(255, 255, 255, 0.76);
  border-color: rgba(10, 53, 81, 0.28);
}
.brand-hero .hero__facts { color: #4d6873; }
.brand-hero .hero__facts li::before { background: #1597a3; }
.brand-hero + .audience-section { margin-top: 0; }

@media (min-width: 768px) {
  .brand-hero { aspect-ratio: auto; }
  .brand-hero__grid {
    right: auto;
    left: 50%;
    width: min(1478.63px, 100%);
    padding: 0 max(24px, calc((100% - 1180px) / 2));
    transform: translateX(-50%);
  }
}

@media (min-width: 1200px) {
  .brand-hero__copy {
    width: min(480px, calc(42vw - max(24px, calc(50vw - 590px))));
    max-width: calc(42vw - max(24px, calc(50vw - 590px)));
  }
  .brand-hero h1 {
    max-width: 100%;
    margin: 12px 0 16px;
    font-size: clamp(38px, 3.05vw, 50px);
    line-height: 1.08;
  }
  .brand-hero .lead { max-width: 460px; font-size: 16px; line-height: 1.65; }
  .brand-hero .hero__actions { margin-top: 20px; }
  .brand-hero .hero__facts { margin-top: 16px; gap: 8px 20px; font-size: 14px; }
  .brand-hero + .audience-section { padding-top: 64px; }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .brand-hero__copy { width: min(440px, calc(48vw - 52px)); max-width: calc(48vw - 52px); }
  .brand-hero .eyebrow { font-size: 11px; line-height: 1.45; }
  .brand-hero h1 { max-width: 100%; margin: 10px 0 12px; font-size: 40px; line-height: 1.08; }
  .brand-hero .lead { max-width: 420px; font-size: 16px; line-height: 1.65; }
  .brand-hero .hero__actions { gap: 10px; margin-top: 14px; }
  .brand-hero .hero__actions .button { min-height: 44px; padding: 10px 18px; font-size: 13px; }
  .brand-hero .hero__facts { display: none; }
  .brand-hero + .audience-section { padding-top: 56px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .brand-hero__copy { width: min(400px, calc(48vw - 64px)); max-width: calc(48vw - 64px); }
  .brand-hero .eyebrow { font-size: 10px; line-height: 1.4; letter-spacing: 0.14em; }
  .brand-hero h1 { max-width: 100%; margin: 6px 0 8px; font-size: 32px; line-height: 1.12; letter-spacing: -0.04em; }
  .brand-hero .lead { max-width: 100%; font-size: 16px; line-height: 1.65; }
  .brand-hero .hero__actions { flex-wrap: nowrap; gap: 8px; margin-top: 10px; }
  .brand-hero .hero__actions .button { min-width: 0; min-height: 38px; padding: 8px 14px; flex: none; font-size: 12px; }
  .brand-hero .hero__facts { display: none; }
  .brand-hero + .audience-section { padding-top: 48px; }
}

@media (max-width: 767px) {
  .brand-hero {
    height: auto;
    aspect-ratio: 941 / 1672;
    background: #f7fafb;
  }
  .brand-hero__visual img {
    inset: 0;
    width: 100%;
    height: 100%;
    object-position: center;
    transform: none;
  }
  .brand-hero__grid { align-items: flex-start; padding: clamp(22px, 6vw, 42px) 24px 0; }
  .brand-hero__copy { width: 100%; max-width: 520px; }
  .brand-hero .eyebrow { font-size: 11px; line-height: 1.45; letter-spacing: 0.14em; }
  .brand-hero h1 { max-width: 520px; margin: 8px 0 10px; font-size: 32px; line-height: 1.12; letter-spacing: -0.04em; }
  .brand-hero .lead { max-width: 480px; margin-top: 12px; font-size: 16px; line-height: 1.65; }
  .brand-hero .hero__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
  .brand-hero .hero__actions .button { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; flex: none; font-size: 13px; }
  .brand-hero .hero__facts { display: none; }
  .brand-hero + .audience-section { padding-top: 48px; }
}

@media (max-width: 359px) {
  .brand-hero__grid { padding: 24px 18px 0; }
  .brand-hero h1 { font-size: 30px; }
  .brand-hero .lead { font-size: 16px; line-height: 1.65; }
  .brand-hero .hero__actions { margin-top: 12px; }
  .brand-hero .hero__actions .button { min-height: 42px; font-size: 12px; }
}
@media (max-width: 380px) {
  .brand-hero__grid { padding-top: 8px; }
  .brand-hero .lead { margin-top: 6px; }
  .brand-hero .hero__actions { margin-top: 6px; }
  .brand-hero .hero__actions .button { min-height: 44px; }
}

@media (min-width: 1479px) {
  /* 按网页文字左缘与最右瓶体的可视边缘居中；PS 留白不参与计算。 */
  .brand-hero__visual img,
  .brand-hero__grid { left: calc(50% - 28px); }
  .brand-hero__grid { padding-right: 149.315px; padding-left: 149.315px; }
}
@media (min-width: 1600px) {
  .brand-hero__copy { width: 560px; max-width: 560px; }
  .brand-hero h1 { font-size: 50px; }
}
