/* =========================================================
   2026 ????????? - ?????
   ?????? 1440px?1rem = 100px
   ========================================================= */

/* ---------- Reset ---------- */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  /* ??????375 ?? 1rem = 100px */
  font-size: 26.66667vw;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: "Noto Sans SC", "Source Han Sans CN", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 0.16rem;
  line-height: 1.5;
  color: #323232;
  background: #f8f8f8;
  min-height: 100%;
}

:root {
  --layout-content-max: 10rem;
  --layout-content-narrow: 8.3rem;
  --layout-sidebar-width: 280px;
  --layout-hero-height: 4.3rem;
  --layout-page-hero-height: 4rem;
}

.nav-open {
  overflow: hidden;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

ul {
  list-style: none;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  cursor: pointer;
}

/* ---------- Layout shell ---------- */
.page {
  width: 100%;
  min-height: 100vh;
  background: #f8f8f8;
}

.mobile-bar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.08rem;
  padding: 0.08rem 0.12rem;
  background: #ffffff;
  -webkit-box-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.06);
  box-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.06);
}

.mobile-bar__logo {
  width: 0.72rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.mobile-bar__logo img {
  width: 100%;
  height: auto;
}

.menu-toggle {
  width: 0.36rem;
  height: 0.36rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.05rem;
}

.menu-toggle__line {
  display: block;
  width: 100%;
  height: 0.02rem;
  background: #323232;
  border-radius: 0.02rem;
}

.sidebar-mask {
  position: fixed;
  inset: 0;
  z-index: 40;
  background: rgba(0, 0, 0, 0.45);
}

.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50;
  width: 2.8rem;
  max-width: 86vw;
  height: 100vh;
  overflow-y: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  background: #ffffff;
  padding: 0.24rem 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.46rem;
  -webkit-transform: translateX(-105%);
  -ms-transform: translateX(-105%);
  transform: translateX(-105%);
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  -o-transition: transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}

.sidebar::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.nav-open .sidebar {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}

.sidebar__logo {
  width: 1.6rem;
  height: 1.21rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.sidebar__logo img {
  width: 1.6rem;
  height: 1.21rem;
  -o-object-fit: contain;
  object-fit: contain;
}

.sidebar__nav {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.nav-block__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-right: 0.08rem;
  gap: 0.04rem;
}

.nav-block__title {
  display: block;
  width: 1.73rem;
  padding: 0 0.08rem 0 0.12rem;
  font-size: 0.16rem;
  line-height: 0.2rem;
  color: #323232;
}

a.nav-block__title[aria-current="page"] {
  font-weight: 700;
  color: #43a838;
}

.nav-block__date {
  width: 0.97rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 0 0.04rem;
  border-radius: 0.25rem;
  background: #c5c5c5;
  font-size: 0.1rem;
  line-height: 0.2rem;
  color: #646464;
  text-align: center;
  white-space: nowrap;
}

.nav-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
  margin-top: 0.24rem;
}

/* 同时只展示一个展会菜单（放在 .nav-list 后，避免被覆盖） */
.nav-block--expo:not(.is-open) > .nav-list--expo {
  display: none !important;
}

.nav-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.08rem;
  width: 100%;
  padding-left: 0.12rem;
  font-size: 0.14rem;
  line-height: 0.2rem;
  color: #646464;
  text-align: left;
  cursor: pointer;
}

.nav-link--parent {
  background: transparent;
  border: 0;
}

.nav-link__arrow {
  width: 0.06rem;
  height: 0.06rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  -o-transition: transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.nav-item--has-sub {
  width: 100%;
}

.nav-item--has-sub.is-open > .nav-link--parent {
  color: #323232;
}

.nav-item--has-sub.is-open > .nav-link--parent .nav-link__arrow {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.nav-sub {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
  margin-top: 0.24rem;
  list-style: none;
}

.nav-item--has-sub.is-open > .nav-sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.nav-sub__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 0.1rem 0 0.24rem;
  font-size: 0.14rem;
  line-height: 0.2rem;
  color: #646464;
  white-space: nowrap;
}

.nav-sub__link:hover {
  color: #323232;
}

.nav-sub__link.is-active,
.nav-sub__link[aria-current="page"] {
  width: 100%;
  background: #c6c6c6;
  color: #323232;
}

.nav-link.is-active,
.nav-link[aria-current="page"] {
  width: 100%;
  background: #c6c6c6;
  color: #323232;
}

.nav-link:hover {
  color: #323232;
}

.main {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.32rem;
  padding-bottom: 0;
}

/* ---------- Top actions ---------- */
.top-actions {
  margin-left: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 0.06rem;
  min-width: 0;
}

/* ?????????????? */
.top-actions::after {
  content: "";
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
  height: 0;
}

.btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0.05rem 0.08rem;
  border: 1px solid #ffffff;
  border-radius: 0.08rem;
  font-size: 0.11rem;
  line-height: 0.14rem;
  white-space: nowrap;
}

.btn--green {
  background: #43a838;
  color: #ffffff;
}

.btn--lang {
  /*width: 0.28rem;*/
  /*height: 0.24rem;*/
  padding: 0.03rem;
  background: #e6ac40;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.btn--lang img {
  width: 0.2rem;
  height: 0.14rem;
}

.countdown {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
  margin-left: auto;
  padding: 0.05rem 0.06rem;
  border-radius: 0.08rem;
  background: #f0f0f0;
  font-size: 0.1rem;
  line-height: 0.14rem;
  color: #323232;
  white-space: nowrap;
}

.btn-cta {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.04rem;
  height: 0.4rem;
  padding: 0.1rem 0.16rem;
  border-radius: 0.1rem;
  background: #43a838;
  font-size: 0.16rem;
  line-height: 0.17rem;
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
}

.btn-cta img {
  width: 0.16rem;
  height: 0.14rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.btn-cta__ext {
  width: 0.2rem !important;
  height: 0.2rem !important;
}

.btn-cta--light {
  background: #ffffff;
  color: #43a838;
}

/* ---------- Hero ---------- */
.hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1160 / 430;
  background-color: #43a838;
}

.hero-swiper,
.hero-swiper .swiper-wrapper,
.hero-swiper .swiper-slide {
  width: 100%;
  height: 100%;
}

.hero-swiper {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}

.hero__bg {
  width: 100%;
  height: 100%;
  background-color: #43a838;
  background-image: url("../img/hero-bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.hero-swiper__pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.16rem;
  z-index: 4;
  pointer-events: auto;
}

.hero-swiper__pagination .swiper-pagination-bullet {
  width: 0.08rem;
  height: 0.08rem;
  background: rgba(255, 255, 255, 0.45);
  opacity: 1;
}

.hero-swiper__pagination .swiper-pagination-bullet-active {
  background: #ffffff;
}

.hero__overlay {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  pointer-events: none;
}

.hero__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 0.23rem 0.16rem 0.24rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.hero__badge {
  width: 0.79rem;
  height: 0.59rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.hero__title {
  margin-top: 0.73rem;
  color: #ffffff;
  font-family: "YouSheBiaoTiHei", "Noto Sans SC", "Microsoft YaHei", sans-serif;
  font-weight: 400;
  line-height: 1;
}

.hero__year {
  display: inline-block;
  font-size: 0.36rem;
  margin-right: 0.02rem;
  vertical-align: baseline;
}

.hero__edition {
  display: inline-block;
  font-size: 0.28rem;
  vertical-align: baseline;
}

.hero__name {
  display: block;
  margin-top: 0.08rem;
  font-size: 0.28rem;
}

.hero__en {
  margin-top: 0.08rem;
  font-size: 0.16rem;
  line-height: 0.24rem;
  font-weight: 500;
  color: #ffc300;
}

.hero__meta {
  margin-top: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.hero__meta-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.04rem;
  font-size: 0.14rem;
  line-height: 0.23rem;
  font-weight: 500;
  color: #323232;
}

.hero__meta-item img {
  width: 0.24rem;
  height: 0.24rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

/* ---------- Intro ---------- */
.intro {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0 0.16rem;
}

.intro__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.09rem;
}

.intro__copy {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
  width: 100%;
}

.intro__title {
  padding: 0.1rem;
  font-size: 0.22rem;
  line-height: 0.35rem;
  font-weight: 700;
  color: #323232;
}

.intro__desc {
  padding: 0.1rem;
  font-size: 0.16rem;
  line-height: 0.23rem;
  font-weight: 400;
  color: #323232;
}

.intro__actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 3.2rem;
  max-width: 100%;
}

.intro__media {
  position: relative;
  width: 100%;
  overflow: hidden;
  cursor: pointer;
  background: #000000;
  border-radius: 32px;
}

.intro__video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 490 / 281;
  -o-object-fit: cover;
  object-fit: cover;
  vertical-align: top;
}

.intro__play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 0.54rem;
  height: 0.54rem;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.2s ease, visibility 0.2s ease;
  -o-transition: opacity 0.2s ease, visibility 0.2s ease;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

.intro__play img {
  width: 0.54rem;
  height: 0.54rem;
}

.intro__media.is-playing .intro__play {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* ---------- CTA Banner ---------- */
.cta-banner {
  width: 100%;
  min-height: 1.8rem;
  padding: 0.24rem 0.16rem 0.32rem;
  background-color: #43a838;
  background-image: url("../img/banner-bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.12rem;
}

.cta-banner__title {
  font-size: 0.32rem;
  line-height: 0.52rem;
  font-weight: 700;
  color: #f8f8f8;
}

.cta-banner__desc {
  font-size: 0.18rem;
  line-height: 0.29rem;
  color: #f8f8f8;
  white-space: pre-line;
}

/* ---------- Highlights ---------- */
.highlights {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
  padding: 0 0.16rem;
}

.highlights__gallery {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
  width: 100%;
}

.highlights__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.2rem;
  width: 100%;
}

.highlights__img {
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0;
}

.highlights__img--wide {
  width: 65.3%;
  height: auto;
  aspect-ratio: 320 / 150;
}

.highlights__img--square {
  width: 30.6%;
  height: auto;
  aspect-ratio: 1 / 1;
}

.highlights__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.highlights__title {
  padding: 0.1rem 0.1rem 0.1rem 0;
  font-size: 0.22rem;
  line-height: 0.35rem;
  font-weight: 700;
  color: #323232;
  white-space: pre-line;
}

.highlights__desc {
  padding: 0.1rem 0.1rem 0.1rem 0;
  font-size: 0.14rem;
  line-height: 0.2rem;
  color: #323232;
}

.highlights__desc--lg {
  font-size: 0.16rem;
  line-height: 0.2rem;
}

.highlights__actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.16rem;
  width: 100%;
  max-width: 4.37rem;
  margin-top: 0.16rem;
}

/* ---------- News ---------- */
.news {
  width: 100%;
  padding: 0.24rem 0.16rem 0.48rem;
}

.news__title {
  font-size: 0.36rem;
  line-height: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08rem;
  color: #323232;
  margin-bottom: 0.16rem;
}

.news__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.news__item {
  width: 100%;
}

.news__card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  background-color: #ffffff;
  background-image: url("../img/news-card-bg.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}

.news__thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 320 / 219;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.news__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  gap: 0;
  padding: 0.17rem 0.2rem 0.16rem;
  min-width: 0;
}

.news__heading {
  padding: 0.1rem;
  font-size: 0.18rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.news__item:first-child .news__heading {
  font-size: 0.2rem;
}

.news__summary {
  padding: 0.1rem;
  max-width: 5.75rem;
  font-size: 0.14rem;
  line-height: 0.2rem;
  color: #646464;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.news__date {
  margin-top: auto;
  padding: 0.1rem;
  font-size: 0.14rem;
  line-height: 0.2rem;
  color: #616c7b;
}

/* ---------- Exhibitors ---------- */
.exhibitors {
  width: 100%;
  padding: 0.24rem 0.16rem 0.28rem;
  background-color: #f0f0f0;
  background-image: url("../img/exhibitor-bg.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.exhibitors__title {
  text-align: center;
  font-size: 0.36rem;
  line-height: 0.7rem;
  font-weight: 700;
  color: #323232;
  margin-bottom: 0.24rem;
}

.exhibitors__grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.12rem 0.1rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.exhibitors__item {
  width: calc(33.333% - 0.08rem);
  max-width: 1.31rem;
  background: #ffffff;
  border: 1px solid #e5e5e5;
}

.exhibitors__item img {
  width: 100%;
  height: auto;
  aspect-ratio: 131 / 93;
  -o-object-fit: contain;
  object-fit: contain;
}

.pagination {
  margin-top: 0.24rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.08rem;
}

.pagination__page {
  min-width: 0.32rem;
  height: 0.32rem;
  padding: 0 0.06rem;
  border-radius: 50%;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 0.14rem;
  line-height: 1;
  color: #1e1e1e;
}

.pagination__page--current {
  background: #2c2c2c;
  color: #f5f5f5;
}

.pagination__gap {
  min-width: 0.32rem;
  text-align: center;
  color: #1e1e1e;
  font-size: 0.14rem;
}

/* ThinkPHP Bootstrap 分页输出 */
.pagination > .pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.08rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pagination > .pagination > li {
  list-style: none;
}

.pagination > .pagination > li > a,
.pagination > .pagination > li > span {
  min-width: 0.32rem;
  height: 0.32rem;
  padding: 0 0.06rem;
  border-radius: 50%;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 0.14rem;
  line-height: 1;
  color: #1e1e1e;
  text-decoration: none;
}

.pagination > .pagination > li.active > span {
  background: #2c2c2c;
  color: #f5f5f5;
}

.pagination > .pagination > li.disabled > span {
  color: #1e1e1e;
}

.pagination > .pagination > li > a:hover {
  color: #43a838;
}

/* ---------- Features ---------- */
.features {
  width: 100%;
}

.feature {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.24rem 0.16rem;
}

.feature--white {
  background: #ffffff;
}

.feature__media {
  width: 100%;
}

.feature__media img {
  width: 100%;
  height: auto;
  background: #e8e8e8;
  border-radius: 0.16rem;
}

.feature__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.13rem;
}

.feature__title {
  padding: 0.04rem 0.08rem;
  font-size: 0.22rem;
  line-height: 0.35rem;
  font-weight: 700;
  color: #43a838;
}

.feature__desc {
  padding: 0.04rem 0.08rem;
  font-size: 0.14rem;
  line-height: 0.2rem;
  color: #323232;
}

/* ---------- Footer ---------- */
.site-footer {
  width: 100%;
  background-color: #2f7a2a;
  background-image: url("../img/footer-bg.svg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
}

.site-footer__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.28rem;
  padding: 0.32rem 0.16rem 0.28rem;
}

.site-footer__brand {
  padding: 0.04rem 0.08rem;
  font-size: 0.22rem;
  line-height: 0.4rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 0.08rem;
}

.site-footer__label {
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.29rem;
  color: #ffffff;
}

.site-footer__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.08rem;
}

.site-footer__list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.04rem;
  padding: 0.03rem 0;
  font-size: 0.16rem;
  line-height: 0.29rem;
  color: #ffffff;
}

.site-footer__list img {
  width: 0.18rem;
  height: 0.18rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.site-footer__qr {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.08rem;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.site-footer__qr.is-fixed {
  position: fixed;
  right: 0.16rem;
  bottom: 0.1rem;
  z-index: 20;
}

.qr-card {
  width: 1rem;
  padding: 0.08rem 0;
  border-radius: 0.05rem;
  overflow: hidden;
  background: -webkit-linear-gradient(top, #43a838, #c8ecc4);
  background: -o-linear-gradient(top, #43a838, #c8ecc4);
  background: linear-gradient(180deg, #43a838, #c8ecc4);
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.qr-card__img {
  margin: 0 0.08rem;
  padding: 0;
  overflow: hidden;
  border-radius: 0.05rem;
  background: #ffffff;
  font-size: 0;
}

.qr-card__img img {
  display: block;
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 0.05rem;
  -o-object-fit: contain;
  object-fit: contain;
}

.qr-card__label {
  display: block;
  width: 100%;
  margin-top: 0.05rem;
  font-size: 0.12rem;
  line-height: 0.17rem;
  color: #333333;
  text-align: center;
  white-space: nowrap;
}

.qr-card__label img {
  display: inline-block;
  max-width: 0.16rem;
  max-height: 0.14rem;
  margin-right: 0.05rem;
  vertical-align: middle;
}

.qr-card__label span {
  vertical-align: middle;
}

.site-footer__bottom {
  min-height: 0.42rem;
  padding: 0.1rem 0.16rem;
  background-color: #ffffff;
  background-image: url("../img/footer-bottom.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  text-align: center;
}

.site-footer__bottom p {
  font-size: 0.16rem;
  line-height: 0.23rem;
  color: #000000;
}

/* =========================================================
   Tablet ?768px
   ========================================================= */
@media screen and (min-width: 768px) {
  html {
    font-size: 9.765625vw; /* 100 / 1024 */
  }

  .mobile-bar {
    position: fixed;
    top: 0.24rem;
    right: 0.32rem;
    left: auto;
    z-index: 25;
    width: auto;
    max-width: none;
    gap: 0;
    padding: 0;
    background: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .menu-toggle,
  .mobile-bar__logo {
    display: none;
  }

  .sidebar-mask {
    display: none !important;
  }

  .page {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .sidebar {
    position: sticky;
    top: 0;
    left: auto;
    z-index: 10;
    width: var(--layout-sidebar-width);
    min-width: var(--layout-sidebar-width);
    max-width: var(--layout-sidebar-width);
    height: 100vh;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .main {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    gap: 0.4rem;
  }

  .top-actions {
    margin-left: 0;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 0.2rem;
  }

  .top-actions::after {
    display: none;
  }

  .top-actions .btn,
  .btn {
    padding: 0.08rem 0.12rem;
    border-radius: 0.15rem;
    font-size: 0.16rem;
    line-height: 0.17rem;
  }

  .btn--lang {
    /*width: 0.4rem;*/
    /*height: 0.33rem;*/
    padding: 0.06rem;
  }

  .btn--lang img {
    width: 0.26rem;
    height: 0.19rem;
  }

  .countdown {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
    -ms-flex-order: 0;
    order: 0;
    margin-left: 0;
    padding: 0.08rem 0.12rem;
    border-radius: 0.15rem;
    background: #ffffff;
    font-size: 0.16rem;
    line-height: 0.17rem;
  }

  .hero__inner {
    padding: 0.23rem 0.4rem 0.4rem;
  }

  .hero__year {
    font-size: 0.44rem;
  }

  .hero__edition,
  .hero__name {
    font-size: 0.36rem;
  }

  .hero__en {
    font-size: 0.18rem;
  }

  .intro,
  .highlights {
    padding: 0 0.4rem;
  }

  .intro {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .intro__text,
  .intro__media {
    width: 50%;
  }

  .intro__text {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .cta-banner {
    min-height: 2.2rem;
    padding: 0.37rem 0.4rem;
  }

  .news {
    padding: 0.24rem 0.4rem 0.48rem;
  }

  .news__card {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    min-height: 2.19rem;
  }

  .news__thumb {
    width: 3.2rem;
    height: 2.19rem;
    aspect-ratio: auto;
  }

  .cta-banner__title {
    font-size: 0.34rem;
  }

  .cta-banner__desc {
    font-size: 0.2rem;
  }

  .highlights {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.2rem;
  }

  .highlights__gallery,
  .highlights__content {
    width: 50%;
  }

  .exhibitors {
    padding: 0.24rem 0.4rem 0.38rem;
  }

  .exhibitors__item {
    width: calc(25% - 0.1rem);
  }

  .feature {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0.24rem 0.4rem;
    gap: 0.2rem;
  }

  .feature--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .feature__media,
  .feature__body {
    width: 50%;
  }

  .site-footer__main {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0.4rem 0.4rem 0.32rem;
  }

  .site-footer__col {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }

  .site-footer__qr {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }

  .site-footer__qr.is-fixed {
    right: 0.32rem;
    bottom: 0.1rem;
  }
}

/* =========================================================
   Desktop ?1024px ? ?? 1440 ???
   ========================================================= */
@media screen and (min-width: 1024px) {
  html {
    font-size: 6.94444vw; /* 100 / 1440 ? 1440 ?? 1rem=100px */
  }

  .sidebar__logo,
  .sidebar__logo img {
    width: 1.6rem;
    height: 1.21rem;
  }

  .main {
    position: relative;
    gap: 0.48rem;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .hero,
  .page-hero,
  .cta-banner,
  .exhibitors,
  .site-footer {
    width: 100%;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
  }

  .page-hero__inner {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin-left: auto;
    margin-right: auto;
  }

  .site-footer__main {
    width: 100%;
    max-width: var(--layout-content-max);
    margin-left: auto;
    margin-right: auto;
  }

  .top-actions {
    gap: 0.24rem;
  }

  .mobile-bar {
    top: 0.24rem;
    right: 0.8rem;
  }

  .hero {
    aspect-ratio: auto;
    height: var(--layout-hero-height);
    max-height: min(var(--layout-hero-height), 42vh);
  }

  .hero__inner {
    width: 100%;
    max-width: var(--layout-content-max);
    margin-left: auto;
    margin-right: auto;
    padding: 0.16rem;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .hero__title {
    margin-top: 0.12rem;
  }

  .hero__meta {
    margin-top: 0.16rem;
  }

  .intro {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0;
    gap: 0.2rem;
  }

  .intro__text,
  .intro__media {
    width: 4.9rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .intro__text {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .intro__title {
    font-size: 0.24rem;
  }

  .intro__cover {
    width: 4.9rem;
    height: 2.81rem;
  }

  .intro__video {
    width: 4.9rem;
    height: 2.81rem;
  }

  .hero__year {
    font-size: 0.5rem;
  }

  .hero__edition {
    font-size: 0.4rem;
    margin-left: 0.02rem;
  }

  .hero__name {
    margin-top: 0.08rem;
    font-size: 0.4rem;
  }

  .hero__en {
    margin-top: 0.04rem;
    font-size: 0.2rem;
    line-height: 0.29rem;
  }

  .hero__meta {
    gap: 0.12rem;
  }

  .hero__meta-item {
    font-size: 0.16rem;
  }

  .cta-banner {
    min-height: 2.4rem;
    padding: 0.37rem max(0.8rem, calc((100% - var(--layout-content-max)) / 2));
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .cta-banner__title,
  .cta-banner__desc {
    width: 100%;
  }

  .highlights {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0;
    gap: 0.2rem;
  }

  .highlights__gallery {
    width: 4.9rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .highlights__img--wide {
    width: 3.2rem;
    height: 1.5rem;
  }

  .highlights__img--square {
    width: 1.5rem;
    height: 1.5rem;
  }

  .highlights__content {
    width: 4.9rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .highlights__title {
    font-size: 0.24rem;
  }

  .exhibitors {
    width: 100%;
    margin: 0;
    padding: 0.24rem 0 0.38rem;
  }

  .exhibitors__title,
  .exhibitors__grid,
  .exhibitors .pagination {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin-left: auto;
    margin-right: auto;
  }

  .exhibitors__title {
    font-size: 0.48rem;
  }

  .exhibitors__grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: repeat(6, 1fr);
    gap: 0.24rem 0.28rem;
  }

  .exhibitors__item {
    width: 100%;
    max-width: none;
  }

  .exhibitors__item img {
    width: 100%;
    height: 0.925rem;
  }

  .news {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0.24rem 0 0.48rem;
  }

  .news--page {
    width: 10.02rem;
    max-width: calc(100% - 1.6rem);
    padding-top: 0.64rem;
    padding-bottom: 0.4rem;
  }

  .news--page .news__list {
    gap: 0.39rem;
  }

  .news--page .news__card {
    width: 100%;
  }

  .news__title {
    font-size: 0.48rem;
    letter-spacing: 0.12rem;
  }

  .news__card {
    width: var(--layout-content-max);
    max-width: 100%;
    height: 2.19rem;
  }

  .news__thumb {
    width: 3.2rem;
    height: 2.19rem;
  }

  .news__body {
    padding: 0.07rem 0.2rem 0.16rem 0.2rem;
  }

  .cta-banner__title {
    font-size: 0.36rem;
  }

  .features {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
  }

  .feature {
    min-height: 3.31rem;
    padding: 0.24rem 0;
    gap: 0.2rem;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .feature__media,
  .feature__body {
    width: 4.9rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .feature__media img {
    width: 4.9rem;
    height: 2.78rem;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .feature__title {
    max-width: 4.05rem;
    font-size: 0.24rem;
  }

  .site-footer__main {
    padding: 0.39rem 0.16rem 0.36rem;
    gap: 0.24rem;
  }

  .site-footer__brand {
    font-size: 0.24rem;
    line-height: 0.52rem;
  }

  .site-footer__qr {
    gap: 0.16rem;
  }

  .site-footer__qr.is-fixed {
    right: 0.8rem;
    bottom: 0.1rem;
  }
}

/* 大屏内容区宽度：1440px 视口 1000px，2560px 视口 1340px */
@media screen and (min-width: 1440px) {
  html {
    font-size: 100px;
  }

  :root {
    --layout-content-max: clamp(
      1000px,
      calc(1000px + (100vw - 1440px) * 340 / 1120),
      1340px
    );
    --layout-content-narrow: calc(var(--layout-content-max) * 0.83);
  }

  .mobile-bar {
    right: calc((100vw - var(--layout-sidebar-width) - var(--layout-content-max)) / 2);
  }

  .site-footer__qr.is-fixed {
    right: calc((100vw - var(--layout-sidebar-width) - var(--layout-content-max)) / 2);
  }
}

/* =========================================================
   Overview page ? ????
   ========================================================= */
.page-hero {
  width: 100%;
  min-height: 2.4rem;
  aspect-ratio: 1160 / 400;
  background-color: #2f7a2a;
  background-image: url("../img/overview-hero.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.page-hero__crumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.02rem;
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0 auto;
  padding: 0.24rem 0.16rem 0;
  font-size: 0.12rem;
  line-height: 0.17rem;
  color: #f8f8f8;
}

.page-hero__crumb-home {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 0.18rem;
  height: 0.18rem;
}

.page-hero__crumb-home img,
.page-hero__crumb-sep {
  display: block;
}

.page-hero__crumb-home img {
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.page-hero__crumb-sep {
  width: 0.04rem;
  height: 0.17rem;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.page-hero__crumb-link,
.page-hero__crumb-text,
.page-hero__crumb-current {
  color: #f8f8f8;
}

.page-hero__crumb-link {
  text-decoration: none;
}

.page-hero__crumb-link:hover {
  text-decoration: underline;
}

.page-hero__crumb-current {
  text-decoration: underline;
}

.page-hero__inner {
  width: 100%;
  padding: 0.24rem 0.16rem 0.28rem;
  margin-top: auto;
}

.page-hero__title {
  font-size: 0.36rem;
  line-height: 0.7rem;
  font-weight: 700;
  color: #ffffff;
}

.page-hero__desc {
  margin-top: 0.04rem;
  max-width: 8.1rem;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #ffffff;
  white-space: pre-line;
}

.section-heading {
  font-size: 0.28rem;
  line-height: 0.52rem;
  font-weight: 700;
  color: #323232;
  text-align: center;
}

.section-heading--left {
  text-align: left;
}

.section-heading--green {
  color: #43a838;
}

.section-heading::after {
  content: "";
  display: block;
  width: 0.73rem;
  height: 0.02rem;
  margin: 0.04rem auto 0;
  background: #43a838;
}

.section-heading--left::after {
  margin-left: 0;
  background: #323232;
}

.bg-section {
  width: 100%;
  padding: 0.24rem 0.16rem 0.32rem;
}

.bg-section__body {
  margin-top: 0.08rem;
  font-size: 0.14rem;
  line-height: 0.2rem;
  color: #323232;
}

.bg-section__body p + p {
  margin-top: 0.12rem;
}

.bg-section__body strong {
  font-weight: 700;
}

.bg-section__actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.16rem;
  margin-top: 0.24rem;
}

.scale {
  width: 100%;
  padding: 0.24rem 0.16rem 0.4rem;
}

.scale__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.2rem 1fr;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.2rem;
  width: 100%;
  margin-top: 0.28rem;
  padding: 0;
  list-style: none;
}

.scale__card {
  width: 100%;
  padding: 0.16rem 0.12rem 0.18rem;
  border: 2px solid #999999;
  border-radius: 0.15rem;
  background: #ffffff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.08rem;
  text-align: center;
  overflow: hidden;
}

.scale__icon-wrap {
  position: relative;
  width: 0.64rem;
  height: 0.64rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.scale__icon {
  display: block;
  width: 0.65rem;
  height: 0.65rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -o-object-fit: contain;
  object-fit: contain;
}

.scale__icon-wrap .scale__icon {
  width: 100%;
  height: 100%;
}

.scale__unit {
  position: absolute;
  left: 50%;
  top: 0.17rem;
  width: 0.26rem;
  margin-left: -0.13rem;
  font-size: 0.3rem;
  line-height: 0.43rem;
  text-align: center;
  color: #43a838;
  pointer-events: none;
}

.scale__label {
  font-size: 0.18rem;
  line-height: 0.23rem;
  font-weight: 700;
  color: #323232;
  white-space: nowrap;
}

.scale__value {
  font-size: 0.18rem;
  line-height: 0.29rem;
  font-weight: 700;
  color: #323232;
  white-space: nowrap;
}

.spotlights {
  width: 100%;
  padding: 0.32rem 0.16rem 0.4rem;
  background-color: #F8F8F8;
  /*background-image: -webkit-linear-gradient(180deg, rgba(67, 168, 56, 0.08), rgba(248, 248, 248, 0));*/
  /*background-image: linear-gradient(180deg, rgba(67, 168, 56, 0.08), rgba(248, 248, 248, 0));*/
}

.spotlights__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.2rem;
  margin-top: 0.24rem;
  list-style: none;
}

.spotlights__card {
  width: 100%;
  min-height: 2.45rem;
  padding: 0.16rem 0.12rem;
  border: 1px solid #efefef;
  border-radius: 0.1rem;
  background-color: rgba(255, 255, 255, 0.65);
  background-image: -webkit-linear-gradient(128.6deg, rgba(255, 255, 255, 0.05) 11.87%, rgba(41, 232, 31, 0.35) 115.44%);
  background-image: linear-gradient(128.6deg, rgba(255, 255, 255, 0.05) 11.87%, rgba(41, 232, 31, 0.35) 115.44%);
  -webkit-box-shadow: 0 0.04rem 0.16rem rgba(67, 168, 56, 0.08);
  box-shadow: 0 0.04rem 0.16rem rgba(67, 168, 56, 0.08);
}

.spotlights__title {
  padding: 0.1rem;
  font-size: 0.18rem;
  line-height: 0.29rem;
  font-weight: 700;
  color: #323232;
  white-space: pre-line;
}

.spotlights__desc {
  padding: 0.1rem;
  font-size: 0.14rem;
  line-height: 0.23rem;
  color: #323232;
}

.audience {
  width: 100%;
  padding: 0.24rem 0.16rem 0.48rem;
}

.audience__panel {
  width: 100%;
  margin-top: 0.16rem;
  padding: 0.16rem 0.12rem 0.2rem;
  background-color: #e6ac40;
  background-image: url("../img/audience-bar-bg.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}

.audience__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.audience__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0;
  min-width: 0;
}

.audience__tag {
  width: 100%;
  min-height: 0.38rem;
  padding: 0.02rem 0.04rem;
  font-size: 0.12rem;
  line-height: 0.17rem;
  text-align: center;
  color: #f8f8f8;
}

.audience__pct {
  width: 100%;
  margin: 0.04rem 0;
  padding: 0.04rem 0;
  border-top: 1px dashed rgba(255, 255, 255, 0.85);
  border-bottom: 1px dashed rgba(255, 255, 255, 0.85);
  font-size: 0.36rem;
  line-height: 0.7rem;
  font-weight: 700;
  text-align: center;
  color: #1c1c7a;
}

.audience__note {
  width: 100%;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: 1.2rem;
  margin-top: 0.1rem;
  padding: 0.16rem 0.1rem;
  border-radius: 0.08rem;
  background: #ffffff;
  font-size: 0.12rem;
  line-height: 0.17rem;
  color: #323232;
}

@media screen and (min-width: 768px) {
  .page-hero__inner {
    padding: 0.32rem 0.4rem 0.4rem;
  }

  .page-hero__title {
    font-size: 0.42rem;
  }

  .page-hero__desc {
    font-size: 0.16rem;
  }

  .bg-section,
  .scale,
  .spotlights,
  .audience {
    padding-left: 0.4rem;
    padding-right: 0.4rem;
  }

  .scale__list {
    -ms-grid-columns: 1fr 0.2rem 1fr 0.2rem 1fr 0.2rem 1fr;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.2rem;
  }

  .scale__card {
    width: 100%;
    max-width: none;
  }

  .spotlights__card {
    width: calc(50% - 0.1rem);
  }

  .audience__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 0.08rem;
  }

  .audience__item {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    min-width: 0;
  }

  .audience__tag {
    min-height: 0.4rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .audience__pct {
    font-size: 0.4rem;
    line-height: 0.7rem;
  }

  .audience__note {
    min-height: 1.56rem;
    margin-top: 0.12rem;
    padding: 0.2rem 0.1rem;
    text-align: left;
  }
}

@media screen and (min-width: 1024px) {
  .page-hero {
    aspect-ratio: auto;
    height: var(--layout-page-hero-height);
    max-height: min(var(--layout-page-hero-height), 38vh);
    min-height: 4rem;
  }

  .page-hero__inner {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0 0 0.4rem;
  }

  .page-hero__title {
    font-size: 0.48rem;
    line-height: 0.7rem;
  }

  .page-hero__desc {
    font-size: 0.16rem;
    line-height: 0.26rem;
  }

  .bg-section {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0.24rem 0 0.32rem;
  }

  .section-heading {
    font-size: 0.36rem;
  }

  .bg-section__actions {
    gap: 0.95rem;
  }

  .scale {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0.24rem 0 0.4rem;
  }

  .scale__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0.2rem;
  }

  .scale__card {
    width: 2.35rem;
    min-width: 2.35rem;
    max-width: 2.35rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 2.35rem;
    -ms-flex: 0 0 2.35rem;
    flex: 0 0 2.35rem;
    padding: 0.16rem 0.12rem 0.18rem;
  }

  .scale__label,
  .scale__value {
    font-size: 0.2rem;
  }

  .spotlights {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0.32rem 0 0.48rem;
  }

  .spotlights__list {
    width: 8.3rem;
    max-width: 100%;
    margin: 0.32rem auto 0;
    gap: 0.2rem 0.2rem;
  }

  .spotlights__card {
    width: calc(50% - 0.1rem);
    min-height: 2.45rem;
  }

  .audience {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0.32rem 0 0.56rem;
  }

  .audience__panel {
    width: var(--layout-content-max);
    max-width: 100%;
    margin: 0.2rem auto 0;
    padding: 0.2rem 0.12rem 0.24rem;
  }

  .audience__list {
    width: 100%;
    gap: 0.1rem;
  }

  .audience__pct {
    font-size: 0.48rem;
    line-height: 0.7rem;
  }

  .audience__tag {
    font-size: 0.12rem;
    line-height: 0.17rem;
  }

  .audience__note {
    min-height: 1.56rem;
    padding: 0.22rem 0.12rem;
  }
}

/* =========================================================
   Scope page ? ????
   ========================================================= */
.page-hero--scope {
  background-image: url("../img/scope-hero.jpg");
}

.scope-cats {
  width: 100%;
  padding: 0.24rem 0.16rem 0.4rem;
}

.scope-cats__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.12rem 1fr;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.12rem;
  width: 100%;
  margin-top: 0.2rem;
}

.scope-cat {
  position: relative;
  min-height: 2.4rem;
  padding: 0.2rem 0.14rem 0.2rem;
  background-color: #323232;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #f8f8f8;
  text-align: center;
  overflow: hidden;
}

.scope-cat::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.45);
}

.scope-cat__title,
.scope-cat__desc {
  position: relative;
  z-index: 1;
}

.scope-cat__title {
  font-size: 0.18rem;
  line-height: 0.28rem;
  font-weight: 700;
}

.scope-cat__desc {
  margin-top: 0.12rem;
  font-size: 0.12rem;
  line-height: 0.18rem;
  white-space: pre-line;
}

.scope-cat--intl {
  background-image: url("../img/scope-cat-intl.png");
}

.scope-cat--warehouse {
  background-image: url("../img/scope-cat-warehouse.png");
}

.scope-cat--overseas {
  background-image: url("../img/scope-cat-overseas.png");
}

.scope-cat--forwarding {
  background-image: url("../img/scope-cat-forwarding.png");
}

.scope-cat--express {
  background-image: url("../img/scope-cat-express.png");
}

.scope-cat--packaging {
  background-image: url("../img/scope-cat-packaging.png");
}

.scope-cat--handling {
  background-image: url("../img/scope-cat-handling.png");
}

.scope-cat--smart {
  background-image: url("../img/scope-cat-smart.png");
}

.zones {
  width: 100%;
  padding-top: 0.24rem;
}

.zones > .section-heading {
  padding: 0 0.16rem;
  margin-bottom: 0.12rem;
}

.zone {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
  padding: 0.24rem 0.16rem;
}

.zone--white {
  background: #ffffff;
}

.zone__media {
  width: 100%;
}

.zone__media img {
  width: 100%;
  height: auto;
  background: #e8e8e8;
  border-radius: 0.08rem;
}

.zone__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.zone__title {
  padding: 0.04rem 0.08rem;
  font-size: 0.2rem;
  line-height: 0.32rem;
  font-weight: 700;
  color: #000000;
}

.zone__desc {
  padding: 0.04rem 0.08rem;
  font-size: 0.14rem;
  line-height: 0.22rem;
  color: #000000;
}

@media screen and (min-width: 768px) {
  .scope-cats {
    padding: 0.32rem 0.4rem 0.48rem;
  }

  .scope-cats__list {
    -ms-grid-columns: 1fr 0.2rem 1fr 0.2rem 1fr 0.2rem 1fr;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.2rem;
    margin-top: 0.28rem;
  }

  .scope-cat {
    width: 100%;
    min-height: 2.95rem;
    padding: 0.24rem 0.2rem 0.24rem;
  }

  .scope-cat__title {
    font-size: 0.24rem;
    line-height: 0.35rem;
  }

  .scope-cat__desc {
    margin-top: 0.2rem;
    font-size: 0.16rem;
    line-height: 0.2rem;
  }

  .zones {
    padding-top: 0.12rem;
  }

  .zones > .section-heading {
    padding: 0 0.4rem;
    margin-bottom: 0.12rem;
  }

  .zone {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.2rem;
    padding: 0.36rem 0.4rem;
  }

  .zone--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .zone__media,
  .zone__body {
    width: 50%;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 50%;
    -ms-flex: 1 1 50%;
    flex: 1 1 50%;
  }

  .zone__title {
    font-size: 0.24rem;
    line-height: 0.52rem;
  }

  .zone__desc {
    font-size: 0.16rem;
    line-height: 0.25rem;
  }
}

@media screen and (min-width: 1024px) {
  .scope-cats {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0.32rem 0 0.48rem;
  }

  .scope-cats__list {
    width: var(--layout-content-max);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: repeat(4, minmax(0, 2.35rem));
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .scope-cat {
    width: 2.35rem;
    max-width: 100%;
  }

  .zones > .section-heading {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0;
  }

  .zone {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    gap: 0.2rem;
    padding: 0.36rem 0;
  }

  .zone__media {
    max-width: 4.9rem;
  }

  .zone__body {
    max-width: 4.9rem;
  }
}

/* =========================================================
   Review page ? ????
   ========================================================= */
.page-hero--review {
  background-image: url("../img/review-hero.png");
}

.review-gallery {
  width: 100%;
  padding: 0.24rem 0 0.4rem;
}

.review-gallery .section-heading {
  padding: 0 0.16rem;
}

.review-gallery__wrap {
  position: relative;
  width: 100%;
  margin-top: 0.2rem;
  padding: 0 0.4rem;
}

.gallery-swiper {
  width: 100%;
  overflow: hidden;
}

.gallery-swiper .swiper-slide {
  opacity: 0.55;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  -o-transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform: scale(0.82);
  -ms-transform: scale(0.82);
  transform: scale(0.82);
}

.gallery-swiper .swiper-slide-active {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.gallery-swiper .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 660 / 440;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0.1rem;
  background: #d9d9d9;
}

.gallery-swiper__prev,
.gallery-swiper__next {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.36rem;
  height: 0.36rem;
  margin-top: -0.18rem;
  padding: 0;
  background: rgba(0, 0, 0, 0.45);
  border: 0;
  border-radius: 50%;
  -webkit-box-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.2);
  box-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.2);
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease, background 0.2s ease;
  -o-transition: opacity 0.2s ease, background 0.2s ease;
  transition: opacity 0.2s ease, background 0.2s ease;
}

.gallery-swiper__prev:hover,
.gallery-swiper__next:hover {
  background: rgba(0, 0, 0, 0.6);
}

.gallery-swiper__prev.swiper-button-disabled,
.gallery-swiper__next.swiper-button-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

.gallery-swiper__prev {
  left: 0.08rem;
}

.gallery-swiper__next {
  right: 0.08rem;
}

.gallery-swiper__prev img,
.gallery-swiper__next img {
  width: 60%;
  height: 60%;
}

.review-videos {
  width: 100%;
  padding: 0.32rem 0.16rem 0.48rem;
}

.review-videos__main {
  position: relative;
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.2rem auto 0;
  border: 0.05rem solid #ffffff;
  border-radius: 0.1rem;
  overflow: hidden;
  background: #d9d9d9;
  -webkit-box-shadow: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.08);
  box-shadow: 0 0.08rem 0.24rem rgba(0, 0, 0, 0.08);
}

.review-videos__poster {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1000 / 563;
  -o-object-fit: cover;
  object-fit: cover;
}

.review-videos__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.64rem;
  height: 0.64rem;
  margin: -0.32rem 0 0 -0.32rem;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.review-videos__play img {
  width: 100%;
  height: 100%;
}

.review-videos__thumbs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.08rem;
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0;
}

.review-videos__thumbs .swiper {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

.review-videos__nav {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 0.4rem;
  height: 0.4rem;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.review-videos__nav.swiper-button-lock {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

.review-videos__nav.swiper-button-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.review-videos__nav img {
  width: 100%;
  height: 100%;
}

.review-videos__nav-flip {
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1);
}

.review-videos__thumb {
  display: block;
  width: 100%;
  padding: 0;
  border: 0.05rem solid #ffffff;
  border-radius: 0.1rem;
  overflow: hidden;
  background: #d9d9d9;
  cursor: pointer;
}

.review-videos__thumb.is-active {
  border-color: #43a838;
}

.review-videos__thumb img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 265 / 149;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .review-gallery {
    padding: 0.32rem 0 0.48rem;
  }

  .review-gallery .section-heading {
    padding: 0 0.4rem;
  }

  .review-gallery__wrap {
    padding: 0 0.64rem;
  }

  .gallery-swiper__prev,
  .gallery-swiper__next {
    width: 0.48rem;
    height: 0.48rem;
    margin-top: -0.24rem;
  }

  .gallery-swiper__prev {
    left: 0.16rem;
  }

  .gallery-swiper__next {
    right: 0.16rem;
  }

  .review-videos {
    padding: 0.4rem 0.4rem 0.56rem;
  }

  .review-videos__play {
    width: 0.82rem;
    height: 0.82rem;
    margin: -0.41rem 0 0 -0.41rem;
  }

  .review-videos__nav {
    width: 0.65rem;
    height: 0.65rem;
  }

  .review-videos__thumbs {
    gap: 0.12rem;
    margin-top: 0.32rem;
  }
}

@media screen and (min-width: 1024px) {
  .review-gallery .section-heading {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0;
  }

  .review-gallery__wrap {
    max-width: var(--layout-content-max);
    margin-left: auto;
    margin-right: auto;
    padding: 0 0.48rem;
  }

  .review-videos {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0.4rem 0 0.64rem;
  }
}

/* =========================================================
   Voices page ? ????
   ========================================================= */
.page-hero--voices {
  background-image: url("../img/voices-hero.jpg");
}

.voices {
  width: 100%;
  padding: 0.32rem 0.16rem 0.36rem;
}

.voices--after {
  padding-top: 0.36rem;
  padding-bottom: 0.48rem;
}

.voices__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.voice-card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
  width: 100%;
  background: #ffffff;
  border-radius: 0.05rem;
  overflow: hidden;
}

.voice-card__logo {
  width: 100%;
  padding: 0.06rem 0.1rem;
  background: #ffffff;
}

.voice-card__logo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 300 / 188;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0.05rem 0 0 0.05rem;
  background: #e8e8e8;
}

.voice-card__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
  padding: 0 0.16rem 0.2rem;
}

.voice-card__meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.12rem 0.16rem;
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.voice-card__text {
  padding: 0.1rem 0.08rem;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

@media screen and (min-width: 768px) {
  .voices {
    padding: 0.32rem 0.4rem 0.36rem;
  }

  .voices--after {
    padding-top: 0.36rem;
    padding-bottom: 0.48rem;
  }

  .voices__list {
    gap: 0.36rem;
  }

  .voice-card {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.2rem;
  }

  .voice-card__logo {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 3.2rem;
    padding: 0.06rem 0.1rem;
  }

  .voice-card__body {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
    max-width: 5.75rem;
    padding: 0.28rem 0.16rem 0.28rem 0;
  }

  .voice-card__meta {
    font-size: 0.18rem;
  }
}

@media screen and (min-width: 1024px) {
  .voices {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0.32rem 0 0.36rem;
  }

  .voices--after {
    padding-top: 0.36rem;
    padding-bottom: 0.48rem;
  }
}

/* =========================================================
   Partners page ? ???????
   ========================================================= */
.page-hero--partners {
  background-image: url("../img/partners-hero.jpg");
}

.page-hero--partners .page-hero__inner {
  padding-bottom: 0.4rem;
}

.org-section {
  width: 100%;
  padding: 0.24rem 0.16rem 0.4rem;
}

.org-section--white {
  background: #ffffff;
}

.org-section--gray {
  background: #f0f0f0;
}

.org-section__title {
  font-size: 0.28rem;
  line-height: 0.52rem;
  font-weight: 700;
  color: #323232;
}

.org-section__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.2rem;
  width: 100%;
  margin-top: 0.2rem;
  padding: 0;
  list-style: none;
}

.org-card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.08rem;
  width: calc(50% - 0.1rem);
  max-width: 2.35rem;
  text-align: center;
  text-decoration: none;
  color: inherit;
}

.org-card__logo {
  width: 100%;
  padding: 0.04rem 0.06rem;
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 0.04rem;
}

.org-card__logo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 223 / 130;
  -o-object-fit: contain;
  object-fit: contain;
  background: #ffffff;
}

.org-card__name {
  width: 100%;
  font-size: 0.12rem;
  line-height: 0.16rem;
  color: #323232;
}

.org-card__type {
  width: 100%;
  font-size: 0.12rem;
  line-height: 0.16rem;
  color: #323232;
}

.org-card__en {
  width: 100%;
  font-size: 0.11rem;
  line-height: 0.14rem;
  color: #323232;
}

@media screen and (min-width: 768px) {
  .org-section {
    padding: 0.24rem 0.4rem 0.4rem;
  }

  .org-section__title {
    font-size: 0.36rem;
  }

  .org-section__list {
    gap: 0.2rem;
    margin-top: 0.24rem;
  }

  .org-card {
    width: 2.35rem;
    max-width: none;
  }

  .org-card__name,
  .org-card__type {
    font-size: 0.14rem;
    line-height: 0.14rem;
  }

  .org-card__en {
    font-size: 0.12rem;
    line-height: 0.14rem;
  }
}

@media screen and (min-width: 1024px) {
  .org-section {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0.24rem 0 0.4rem;
  }
}

/* =========================================================
   Exhibit page ? ????
   ========================================================= */
.page-hero--exhibit {
  background-image: url("../img/exhibit-hero.jpg");
}

/* =========================================================
   Visit page ? ????
   ========================================================= */
.page-hero--visit {
  background-image: url("../img/visit-hero.jpg");
}

/* =========================================================
   Apply page ? ????
   ========================================================= */
.page-hero--apply {
  background-image: url("../img/apply-hero.jpg");
}

/* =========================================================
   Visit apply page ? ????
   ========================================================= */
.page-hero--visit-apply {
  background-image: url("../img/visit-apply-hero.jpg");
}

/* =========================================================
   VIP page ? VIP???
   ========================================================= */
.page-hero--vip {
  background-image: url("../img/vip-hero.jpg");
}

/* =========================================================
   News page ? ????
   ========================================================= */
.page-hero--news {
  background-image: url("../img/news-hero.png");
}

/* =========================================================
   Media page ? ????
   ========================================================= */
.page-hero--media {
  background-image: url("../img/media-hero.png");
}

.media-section {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0 auto;
  padding: 0.24rem 0.16rem 0.48rem;
}

.media-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.2rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.media-grid__item {
  width: 100%;
  min-width: 0;
}

.media-grid__logo {
  width: 100%;
  overflow: hidden;
  background: #e8e8e8;
  border-radius: 0.05rem;
}

.media-grid__logo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 320 / 200;
  -o-object-fit: cover;
  object-fit: cover;
  background: #e8e8e8;
}

.media-section .pagination {
  margin-top: 0.4rem;
}

@media screen and (min-width: 768px) {
  .media-section {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0.41rem auto 0.4rem;
    padding: 0 0 0.48rem;
  }

  .media-grid {
    -ms-grid-columns: 1fr 0.2rem 1fr 0.2rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.48rem 0.2rem;
  }
}

/* =========================================================
   Media contact page ? ????
   ========================================================= */
.page-hero--media-contact {
  background-image: url("../img/media-contact-hero.png");
}

.media-contact {
  width: 100%;
  max-width: 6.6rem;
  margin: 0.24rem auto 0.48rem;
  padding: 0 0.16rem;
}

.media-contact__title {
  margin-bottom: 0.24rem;
  font-size: 0.28rem;
  line-height: 0.4rem;
  font-weight: 700;
  color: #323232;
  text-align: center;
}

.media-contact__card {
  width: 100%;
  padding: 0.16rem 0.12rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.04rem 0.18rem rgba(70, 70, 70, 0.12);
  box-shadow: 0 0.04rem 0.18rem rgba(70, 70, 70, 0.12);
}

.media-contact__person {
  margin-bottom: 0.12rem;
}

.media-contact__name {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 1.17rem;
  margin-bottom: 0.05rem;
  font-size: 0.16rem;
  line-height: 0.23rem;
  font-weight: 700;
  color: #323232;
}

.media-contact__en {
  margin-bottom: 0.07rem;
  font-size: 0.16rem;
  line-height: 0.23rem;
  font-weight: 700;
  color: #323232;
}

.media-contact__company {
  font-size: 0.16rem;
  line-height: 0.23rem;
  color: #323232;
}

.media-contact__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.media-contact__ways {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.07rem;
}

.media-contact__line,
.media-contact__addr {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.04rem;
  font-size: 0.14rem;
  line-height: 0.23rem;
  color: #323232;
}

.media-contact__line {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.media-contact__line img,
.media-contact__addr img {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 0.18rem;
  height: 0.18rem;
}

.media-contact__line a {
  color: #323232;
  text-decoration: none;
}

.media-contact__line a:hover {
  color: #43a838;
}

@media screen and (min-width: 768px) {
  .media-contact {
    margin: 0.36rem auto 0.8rem;
    padding: 0;
  }

  .media-contact__title {
    margin-bottom: 0.44rem;
    font-size: 0.36rem;
    line-height: 0.52rem;
  }

  .media-contact__card {
    padding: 0.12rem;
  }

  .media-contact__name,
  .media-contact__en,
  .media-contact__company,
  .media-contact__line,
  .media-contact__addr {
    font-size: 0.16rem;
  }

  .media-contact__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.2rem;
  }

  .media-contact__ways {
    width: 2.04rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
}

/* =========================================================
   Events page ? ????
   ========================================================= */
.page-hero--events {
  background-image: url("../img/events-hero.png");
}

.events-list {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0.48rem;
  padding: 0 0.16rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.events-list__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.12rem;
  width: 100%;
  min-height: 0.55rem;
  padding: 0.1rem 0.12rem 0.1rem 0.08rem;
  border: 0;
  background: #43a838;
  border-radius: 0.05rem;
  color: #ffffff;
  text-align: left;
  cursor: pointer;
}

.events-list__item:hover {
  background: #3a952f;
}

.events-list__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.04rem;
  min-width: 0;
}

.events-list__name {
  font-size: 0.16rem;
  line-height: 0.24rem;
  font-weight: 700;
}

.events-list__date {
  font-size: 0.12rem;
  line-height: 0.16rem;
}

.events-list__arrow {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 0.16rem;
  height: 0.14rem;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  -o-transition: transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.events-panel {
  width: 100%;
}

.events-panel.is-open {
  background: #ffffff;
  border-radius: 0.05rem;
  -webkit-box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
  padding-bottom: 0.24rem;
}

.events-panel.is-open .events-list__item {
  border-radius: 0.05rem 0.05rem 0 0;
}

.events-panel.is-open .events-list__arrow {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.events-panel__body {
  width: 100%;
  padding: 0.16rem 0.12rem 0;
}

.events-sessions {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.events-session {
  width: 100%;
  padding: 0.16rem;
  background: #ffffff;
  border-radius: 0.05rem;
  -webkit-box-shadow: 0 0.04rem 0.04rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.04rem 0.04rem rgba(0, 0, 0, 0.25);
}

.events-session__time {
  margin-bottom: 0.12rem;
  font-size: 0.16rem;
  line-height: 0.24rem;
  color: #323232;
}

.events-session__title {
  margin-bottom: 0.12rem;
  font-size: 0.16rem;
  line-height: 0.24rem;
  color: #323232;
}

.events-session__place {
  font-size: 0.14rem;
  line-height: 0.22rem;
  color: #646464;
}

.events-session__content {
  margin-top: 0.12rem;
  font-size: 0.14rem;
  line-height: 0.22rem;
  color: #646464;
}

.events-session__content p {
  margin: 0 0 0.08rem;
}

.events-session__content p:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .events-list {
    margin: 0.48rem auto 0.8rem;
    padding: 0;
    gap: 0.48rem;
  }

  .events-list__item {
    min-height: 0.55rem;
    padding: 0.04rem 0.12rem 0.04rem 0.08rem;
  }

  .events-list__text {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 0.08rem;
  }

  .events-list__name {
    font-size: 0.24rem;
    line-height: 0.26rem;
  }

  .events-list__date {
    font-size: 0.14rem;
    line-height: 0.14rem;
  }

  .events-list__arrow {
    width: 0.24rem;
    height: 0.21rem;
  }

  .events-panel.is-open {
    padding-bottom: 0.36rem;
  }

  .events-panel__body {
    max-width: var(--layout-content-narrow);
    margin: 0 auto;
    padding: 0.24rem 0 0;
  }

  .events-sessions {
    gap: 0.24rem;
  }

  .events-session {
    min-height: 1.66rem;
    padding: 0.16rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0.24rem;
  }

  .events-session__time,
  .events-session__title {
    margin-bottom: 0;
    padding: 0.04rem 0.08rem;
    font-size: 0.24rem;
    line-height: 0.26rem;
  }

  .events-session__place {
    padding: 0.04rem 0.08rem;
    font-size: 0.16rem;
    line-height: 0.26rem;
  }
}

/* =========================================================
   Download page ? ????
   ========================================================= */
.page-hero--download {
  background-image: url("../img/download-hero.jpg");
}

.download-list {
  width: 100%;
  max-width: var(--layout-content-narrow);
  margin: 0.24rem auto 0.48rem;
  padding: 0 0.16rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.download-card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.12rem;
  width: 100%;
  padding: 0.16rem 0.12rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
}

.download-card__icon {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 0.48rem;
  height: 0.48rem;
}

.download-card__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.download-card__title {
  padding: 0.04rem 0.08rem;
  font-size: 0.18rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.download-card__desc {
  padding: 0.04rem 0.08rem;
  font-size: 0.14rem;
  line-height: 0.22rem;
  color: #646464;
}

.download-card__action {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 0.1rem;
  -webkit-align-self: flex-end;
  -ms-flex-item-align: end;
  align-self: flex-end;
  padding: 0.1rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #43a838;
  text-decoration: none;
}

.download-card__action img {
  width: 0.2rem;
  height: 0.2rem;
}

.download-card__action:hover {
  color: #3a952f;
}

@media screen and (min-width: 768px) {
  .download-list {
    margin: 0.48rem auto 0.8rem;
    padding: 0;
    gap: 0.48rem;
  }

  .download-card__title {
    font-size: 0.24rem;
  }

  .download-card__desc {
    font-size: 0.18rem;
    line-height: 0.26rem;
  }

  .download-card__action {
    font-size: 0.18rem;
  }
}

.news--page {
  padding-top: 0.24rem;
  padding-bottom: 0.48rem;
}

.news--page .news__list {
  gap: 0.24rem;
}

.news--page .news__card {
  background-color: #ffffff;
  background-image: none;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.02rem 0.12rem rgba(70, 70, 70, 0.12);
  box-shadow: 0 0.02rem 0.12rem rgba(70, 70, 70, 0.12);
  text-decoration: none;
  color: inherit;
}

.news--page .news__item:first-child .news__heading {
  font-size: 0.2rem;
}

.news--page .pagination {
  margin-top: 0.32rem;
  margin-bottom: 0.16rem;
}

.vip-card {
  width: 100%;
  max-width: var(--layout-content-narrow);
  margin: 0.24rem auto 0.48rem;
  padding: 0.32rem 0.2rem 0.4rem;
  background: #ffffff;
  border-radius: 0.15rem;
  -webkit-box-shadow: 0 0.04rem 0.18rem rgba(70, 70, 70, 0.25);
  box-shadow: 0 0.04rem 0.18rem rgba(70, 70, 70, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.32rem;
}

.vip-card__title {
  font-size: 0.28rem;
  line-height: 0.4rem;
  font-weight: 700;
  color: #43a838;
  text-align: center;
}

.vip-benefit {
  width: 100%;
  max-width: 5.68rem;
  margin: 0 auto;
}

.vip-benefit--center {
  max-width: 100%;
  text-align: center;
}

.vip-benefit__name {
  margin-bottom: 0.12rem;
  font-size: 0.2rem;
  line-height: 0.3rem;
  font-weight: 700;
  color: #323232;
  text-align: center;
}

.vip-benefit__name--with-note {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.04rem;
}

.vip-benefit__note {
  font-size: 0.12rem;
  line-height: 0.17rem;
  font-weight: 400;
  color: #646464;
}

.vip-benefit__text {
  font-size: 0.14rem;
  line-height: 0.23rem;
  color: #323232;
}

.vip-benefit__text + .vip-benefit__text {
  margin-top: 0.04rem;
}

.vip-benefit__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.vip-benefit__list li {
  position: relative;
  padding-left: 0.16rem;
  font-size: 0.14rem;
  line-height: 0.23rem;
  color: #323232;
}

.vip-benefit__list li + li {
  margin-top: 0.04rem;
}

.vip-benefit__list li::before {
  content: "?";
  position: absolute;
  left: 0;
  top: 0;
  color: #323232;
}

.vip-contact {
  width: 100%;
  max-width: 6.6rem;
  margin: 0 auto;
}

.vip-contact__title {
  margin-bottom: 0.12rem;
  font-size: 0.2rem;
  line-height: 0.3rem;
  font-weight: 700;
  color: #323232;
}

.vip-contact__text {
  font-size: 0.14rem;
  line-height: 0.23rem;
  color: #323232;
}

.vip-contact__text + .vip-contact__text {
  margin-top: 0.04rem;
}

.vip-contact__text a {
  color: #43a838;
  text-decoration: underline;
}

.visit-apply {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0;
  padding: 0 0.16rem;
}

.visit-apply__title {
  margin-bottom: 0.16rem;
  font-size: 0.28rem;
  line-height: 0.4rem;
  font-weight: 700;
  color: #43a838;
  text-align: center;
}

.visit-apply__panel {
  margin-top: 0;
}

.visit-notice {
  width: 100%;
  max-width: var(--layout-content-narrow);
  margin: 0.48rem auto 0.48rem;
  padding: 0 0.16rem;
}

.visit-notice__title {
  margin-bottom: 0.32rem;
  font-size: 0.28rem;
  line-height: 0.4rem;
  font-weight: 700;
  color: #45a656;
  text-align: center;
}

.visit-notice__block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
  margin-bottom: 0.32rem;
}

.visit-notice__heading {
  padding: 0.04rem 0.08rem;
  font-size: 0.2rem;
  line-height: 0.3rem;
  font-weight: 700;
  color: #323232;
}

.visit-notice__group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.visit-notice__sub {
  padding: 0.04rem 0.08rem;
  font-size: 0.14rem;
  line-height: 0.23rem;
  font-weight: 700;
  color: #323232;
}

.visit-notice__text {
  padding: 0.04rem 0.08rem;
  font-size: 0.14rem;
  line-height: 0.23rem;
  color: #323232;
}

.apply-panel {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0;
  padding: 0.24rem 0.16rem 0.32rem;
  background: #ffffff;
  border-radius: 0.15rem;
  -webkit-box-shadow: 0 0.04rem 0.18rem rgba(96, 96, 96, 0.18);
  box-shadow: 0 0.04rem 0.18rem rgba(96, 96, 96, 0.18);
}

.apply-panel--process {
  margin-top: 0.32rem;
  margin-bottom: 0.32rem;
}

.apply-panel__title {
  margin-bottom: 0.16rem;
  font-size: 0.28rem;
  line-height: 0.4rem;
  font-weight: 700;
  color: #43a838;
}

.apply-form {
  width: 100%;
}

.apply-form__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
}

.apply-form__field {
  width: 100%;
  margin-bottom: 0.16rem;
}

.apply-form__label {
  display: block;
  margin-bottom: 0.04rem;
  padding: 0.04rem 0.08rem;
  font-size: 0.14rem;
  line-height: 0.24rem;
  color: #323232;
}

.apply-form__label .req {
  color: #ff4d4d;
}

.apply-form__input,
.apply-form__select {
  width: 100%;
  height: 0.32rem;
  padding: 0.04rem 0.08rem;
  border: 0;
  border-radius: 0.05rem;
  background: #dedede;
  font-size: 0.14rem;
  line-height: 0.24rem;
  color: #323232;
}

.apply-form__input::-webkit-input-placeholder {
  color: #999999;
}

.apply-form__input::-moz-placeholder {
  color: #999999;
}

.apply-form__input:-ms-input-placeholder {
  color: #999999;
}

.apply-form__input::placeholder {
  color: #999999;
}

.apply-form__select-wrap {
  position: relative;
}

.apply-form__select-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.1rem;
  width: 0.16rem;
  height: 0.16rem;
  margin-top: -0.08rem;
  background: url("../img/icon-chevron-down.svg") center / contain no-repeat;
  pointer-events: none;
}

.apply-form__select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 0.32rem;
  color: #999999;
}

.apply-form__select:valid {
  color: #323232;
}

.apply-form__captcha {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.12rem;
}

.apply-form__captcha .apply-form__input {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
}

.apply-form__captcha-img {
  width: 1.2rem;
  height: 0.36rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -o-object-fit: cover;
  object-fit: cover;
  background: #f0f0f0;
}

.apply-booth {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.apply-booth__option {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  gap: 0.08rem;
  font-size: 0.14rem;
  line-height: 0.24rem;
  color: #323232;
  white-space: nowrap;
  cursor: pointer;
}

.apply-booth__option input[type="checkbox"] {
  width: 0.12rem;
  height: 0.12rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.apply-booth__option > span:not(.apply-booth__unit) {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  white-space: nowrap;
}

.apply-booth__area {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
}

.apply-booth__unit {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  white-space: nowrap;
}

.apply-form__agree {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.1rem;
  margin-top: 0.08rem;
  font-size: 0.12rem;
  line-height: 0.17rem;
  color: #999999;
  cursor: pointer;
}

.apply-form__agree input {
  width: 0.12rem;
  height: 0.12rem;
  margin-top: 0.02rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.apply-form__agree a {
  color: #4861f1;
}

.apply-form__note {
  margin: 0.08rem 0 0 0.22rem;
  font-size: 0.12rem;
  line-height: 0.17rem;
  color: #999999;
}

.apply-form__submit {
  display: block;
  width: 1.12rem;
  height: 0.4rem;
  margin: 0.24rem auto 0;
  border: 0;
  border-radius: 0.1rem;
  background: #43a838;
  font-size: 0.16rem;
  line-height: 0.2rem;
  font-weight: 700;
  color: #ffffff;
  cursor: pointer;
  -webkit-box-shadow: 0 0.04rem 0.05rem rgba(119, 119, 119, 0.25);
  box-shadow: 0 0.04rem 0.05rem rgba(119, 119, 119, 0.25);
}

.apply-steps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.apply-steps li + li {
  margin-top: 0.16rem;
}

.apply-steps h3 {
  font-size: 0.16rem;
  line-height: 0.2rem;
  font-weight: 700;
  color: #323232;
}

.apply-steps p {
  margin-top: 0.08rem;
  font-size: 0.14rem;
  line-height: 0.17rem;
  color: #323232;
}

.apply-steps__foot {
  margin-top: 0.16rem;
  font-size: 0.14rem;
  line-height: 0.17rem;
  color: #999999;
}

.apply-pricing {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0 auto 0.4rem;
  padding: 0 0.16rem;
}

.apply-pricing__title {
  margin-bottom: 0.2rem;
  font-size: 0.28rem;
  line-height: 0.4rem;
  font-weight: 700;
  color: #43a838;
  text-align: center;
}

.price-table {
  width: 100%;
  border: 1px solid #cfcfcf;
  background: #ffffff;
}

.price-table__head,
.price-table__row,
.price-table__note {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.price-table__head {
  display: none;
  background: #f3f3f3;
  font-size: 0.16rem;
  line-height: 0.23rem;
  font-weight: 700;
  color: #323232;
  text-align: center;
}

.price-table__row {
  border-top: 1px solid #cfcfcf;
}

.price-table__type,
.price-table__price,
.price-table__config {
  padding: 0.12rem;
  border-bottom: 1px solid #cfcfcf;
  text-align: center;
}

.price-table__type img {
  display: block;
  width: 100%;
  max-width: 2rem;
  height: auto;
  margin: 0 auto 0.08rem;
}

.price-table__type p,
.price-table__price {
  font-size: 0.16rem;
  line-height: 0.23rem;
  font-weight: 700;
  color: #323232;
}

.price-table__price p {
  line-height: 0.29rem;
  font-size: 0.18rem;
}

.price-table__config {
  font-size: 0.12rem;
  line-height: 0.17rem;
  color: #323232;
  text-align: left;
}

.price-table__config--center {
  text-align: center;
}

.price-table__note {
  gap: 0.08rem;
  padding: 0.12rem;
  font-size: 0.12rem;
  line-height: 0.17rem;
  color: #000000;
  border-top: 1px solid #cfcfcf;
}

.price-table__note strong {
  font-size: 0.14rem;
  line-height: 0.23rem;
  color: #323232;
}

@media screen and (min-width: 768px) {
  .apply-panel {
    margin-top: 0.24rem;
    padding: 0.4rem 0.85rem;
  }

  .visit-apply {
    margin-top: 0.24rem;
    padding: 0;
  }

  .vip-card {
    margin-top: 0.64rem;
    margin-bottom: 0.56rem;
    padding: 0.4rem 0.84rem;
    gap: 0.48rem;
  }

  .vip-card__title {
    font-size: 0.36rem;
    line-height: 0.52rem;
  }

  .vip-benefit__name {
    font-size: 0.24rem;
    line-height: 0.35rem;
  }

  .vip-benefit__text,
  .vip-benefit__list li,
  .vip-contact__text {
    font-size: 0.16rem;
  }

  .vip-contact__title {
    font-size: 0.24rem;
    line-height: 0.35rem;
  }

  .visit-apply__title {
    margin-bottom: 0.14rem;
    font-size: 0.36rem;
    line-height: 0.52rem;
  }

  .visit-apply__panel {
    padding: 0.29rem 0.85rem 0.4rem;
  }

  .visit-notice {
    margin-top: 0.48rem;
    margin-bottom: 0.56rem;
    padding: 0;
  }

  .visit-notice__title {
    margin-bottom: 0.56rem;
    font-size: 0.36rem;
    line-height: 0.52rem;
  }

  .visit-notice__heading {
    font-size: 0.24rem;
    line-height: 0.35rem;
  }

  .visit-notice__sub,
  .visit-notice__text {
    font-size: 0.16rem;
  }

  .apply-panel--process {
    margin-top: 0.36rem;
    margin-bottom: 0.36rem;
  }

  .apply-panel__title {
    font-size: 0.36rem;
    line-height: 0.52rem;
  }

  .apply-form__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0.2rem;
  }

  .apply-form__row .apply-form__field {
    width: 50%;
  }

  .apply-form__field--full {
    width: 100%;
  }

  .apply-form__label {
    font-size: 0.16rem;
  }

  .apply-form__input,
  .apply-form__select {
    font-size: 0.16rem;
  }

  .apply-form__captcha-img {
    width: 1.5rem;
  }

  .apply-form__row--booth .apply-form__field:first-child {
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
  }

  .apply-pricing {
    max-width: var(--layout-content-narrow);
    margin-bottom: 0.48rem;
    padding: 0;
  }

  .apply-pricing__title {
    font-size: 0.36rem;
    line-height: 0.56rem;
  }

  .price-table__head,
  .price-table__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .price-table__head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .price-table__head > div:nth-child(1),
  .price-table__type {
    width: 2.47rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .price-table__head > div:nth-child(2),
  .price-table__price {
    width: 1.7rem;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .price-table__head > div:nth-child(3),
  .price-table__config {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
  }

  .price-table__head > div {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 0.4rem;
    border-right: 1px solid #cfcfcf;
  }

  .price-table__head > div:last-child {
    border-right: 0;
  }

  .price-table__type,
  .price-table__price,
  .price-table__config {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 2.03rem;
    padding: 0.12rem 0.14rem;
    border-bottom: 0;
    border-right: 1px solid #cfcfcf;
  }

  .price-table__config {
    border-right: 0;
  }

  .price-table__row--intl .price-table__type,
  .price-table__row--intl .price-table__price,
  .price-table__row--intl .price-table__config {
    min-height: 0.71rem;
  }

  .price-table__note {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.16rem;
    padding: 0.16rem 0.17rem;
  }
}

@media screen and (min-width: 1024px) {
  .apply-panel {
    margin-left: auto;
    margin-right: auto;
  }
}

/* =========================================================
   Ads page ? ????
   ========================================================= */
.page-hero--ads {
  background-image: url("../img/ads-hero.jpg");
}

.ads-sponsor {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0;
  padding: 0 0.16rem;
}

.ads-sponsor__title {
  margin-bottom: 0.24rem;
  font-size: 0.28rem;
  line-height: 0.4rem;
  font-weight: 700;
  color: #43a838;
  text-align: center;
}

.ads-table-wrap {
  width: 100%;
  overflow: hidden;
}

.ads-table {
  width: 100%;
  background: #ffffff;
}

.ads-table__head,
.ads-table__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.ads-table__head {
  gap: 0.02rem;
  margin-bottom: 0;
}

.ads-table__head > div {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0.16rem 0.1rem;
  background: #43a838;
  font-size: 0.18rem;
  line-height: 0.23rem;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
}

.ads-table__head > div:nth-child(1),
.ads-table__type {
  width: 50%;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 50%;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
}

.ads-table__head > div:nth-child(2),
.ads-table__price {
  width: 25.5%;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25.5%;
  -ms-flex: 0 0 25.5%;
  flex: 0 0 25.5%;
}

.ads-table__head > div:nth-child(3),
.ads-table__action {
  width: 24.5%;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 24.5%;
  -ms-flex: 0 0 24.5%;
  flex: 0 0 24.5%;
}

.ads-table__type,
.ads-table__price,
.ads-table__action {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 0;
  min-height: 0.64rem;
  padding: 0.1rem;
  border: 0.02rem solid #43a838;
  border-top: 0;
  font-size: 0.16rem;
  line-height: 0.23rem;
  color: #323232;
  text-align: center;
  word-break: break-word;
}

.ads-table__type {
  border-right: 0;
}

.ads-table__price {
  border-right: 0;
}

.ads-table__head + .ads-table__row .ads-table__type,
.ads-table__head + .ads-table__row .ads-table__price,
.ads-table__head + .ads-table__row .ads-table__action {
  border-top: 0.02rem solid #43a838;
}

.ads-table__row--last .ads-table__type,
.ads-table__row--last .ads-table__price,
.ads-table__row--last .ads-table__action {
  border-bottom-width: 0.04rem;
}

.ads-btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 0.96rem;
  height: 0.4rem;
  padding: 0.1rem 0.16rem;
  border: 0;
  border-radius: 0.1rem;
  background: #e6ac40;
  font-size: 0.16rem;
  line-height: 0.2rem;
  color: #ffffff;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  -webkit-transition: background 0.2s ease, opacity 0.2s ease;
  transition: background 0.2s ease, opacity 0.2s ease;
}

.ads-btn:hover {
  background: #d49a2e;
}

.ads-btn--sold {
  background: #c02525;
  cursor: default;
  pointer-events: none;
}

.ads-btn--sold:hover {
  background: #c02525;
}

.ads-contact {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0;
  padding: 0.24rem 0.16rem 0.4rem;
  background: #ffffff;
}

.ads-contact__title {
  margin-bottom: 0.24rem;
  padding: 0.04rem 0.08rem;
  font-size: 0.18rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.ads-contact__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ads-contact__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.08rem;
  font-size: 0.16rem;
  line-height: 0.24rem;
  color: #323232;
}

.ads-contact__name,
.ads-contact__phone,
.ads-contact__wechat {
  padding: 0.04rem 0.08rem;
}

@media screen and (min-width: 768px) {
  .ads-sponsor {
    margin-top: 0.24rem;
    padding: 0;
  }

  .ads-sponsor__title {
    font-size: 0.36rem;
    line-height: 0.52rem;
  }

  .ads-table__head > div {
    font-size: 0.24rem;
  }

  .ads-table__type,
  .ads-table__price,
  .ads-table__action {
    font-size: 0.2rem;
    line-height: 0.29rem;
  }

  .ads-contact {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 0.24rem 0 0.48rem;
  }

  .ads-contact__title {
    font-size: 0.2rem;
    line-height: 0.29rem;
  }

  .ads-contact__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.2rem;
    line-height: 0.29rem;
  }

  .ads-contact__name {
    width: 1.5rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 1.5rem;
    -ms-flex: 0 0 1.5rem;
    flex: 0 0 1.5rem;
  }

  .ads-contact__phone,
  .ads-contact__wechat {
    width: 3.2rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 3.2rem;
    -ms-flex: 0 0 3.2rem;
    flex: 0 0 3.2rem;
  }
}

@media screen and (min-width: 1024px) {
  .ads-sponsor,
  .ads-contact {
    max-width: var(--layout-content-max);
  }

  .ads-table {
    max-width: var(--layout-content-max);
    margin: 0 auto;
  }
}

/* =========================================================
   Ads sponsor modal ? ????????
   ========================================================= */
body.ads-modal-open {
  overflow: hidden;
}

.ads-modal[hidden] {
  display: none;
}

.ads-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0.24rem 0.16rem;
}

.ads-modal__mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

.ads-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 5.7rem;
  max-height: calc(100vh - 0.48rem);
  overflow-y: auto;
  padding: 0.24rem 0.24rem 0.28rem;
  border-radius: 0.15rem;
  background: #ffffff;
  -webkit-box-shadow: 0 0.19rem 0.18rem rgba(123, 123, 123, 0.25);
  box-shadow: 0 0.19rem 0.18rem rgba(123, 123, 123, 0.25);
}

.ads-modal__close {
  position: absolute;
  top: 0.16rem;
  right: 0.16rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.32rem;
  height: 0.32rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.ads-modal__close svg {
  width: 0.24rem;
  height: 0.24rem;
  display: block;
}

.ads-modal__title {
  margin: 0 0 0.04rem;
  padding: 0.04rem 0.08rem;
  font-size: 0.22rem;
  line-height: 0.35rem;
  font-weight: 700;
  color: #43a838;
  text-align: center;
}

.ads-modal__form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.04rem;
  width: 100%;
  max-width: 4.9rem;
  margin: 0 auto;
}

.ads-modal__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.04rem;
  width: 100%;
}

.ads-modal__field {
  width: 100%;
}

.ads-modal__label {
  display: block;
  margin-bottom: 0.04rem;
  padding: 0.04rem 0.08rem;
  font-size: 0.14rem;
  line-height: 0.17rem;
  color: #000000;
}

.ads-modal__label .req {
  color: #ff4d4d;
}

.ads-modal__input {
  width: 100%;
  height: 0.32rem;
  padding: 0.04rem 0.08rem;
  border: 0;
  border-radius: 0.05rem;
  background: #dedede;
  font-size: 0.16rem;
  line-height: 0.24rem;
  color: #323232;
}

.ads-modal__input::-webkit-input-placeholder {
  color: #999999;
}

.ads-modal__input::-moz-placeholder {
  color: #999999;
}

.ads-modal__input:-ms-input-placeholder {
  color: #999999;
}

.ads-modal__input::placeholder {
  color: #999999;
}

.ads-modal__sms {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.ads-modal__sms .ads-modal__input {
  padding-right: 0.9rem;
}

.ads-modal__sms-btn {
  position: absolute;
  top: 50%;
  right: 0.08rem;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 0.12rem;
  line-height: 0.24rem;
  color: #0095ff;
  white-space: nowrap;
  cursor: pointer;
}

.ads-modal__sms-btn:disabled {
  color: #999999;
  cursor: default;
}

.ads-modal__agree {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.1rem;
  margin-top: 0.04rem;
  padding: 0.04rem 0.08rem;
  font-size: 0.12rem;
  line-height: 0.17rem;
  color: #999999;
  cursor: pointer;
}

.ads-modal__agree input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 0.18rem;
  height: 0.18rem;
  margin: 0;
  border: 0;
  background: url("../img/ads-check-off.svg") center / 0.12rem 0.12rem no-repeat;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
}

.ads-modal__agree input:checked {
  background-image: url("../img/ads-check-on.svg"), url("../img/ads-check-tick.svg");
  background-size: 0.12rem 0.12rem, 0.08rem 0.06rem;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}

.ads-modal__agree a {
  color: #4861f1;
  text-decoration: none;
}

.ads-modal__submit {
  display: block;
  width: 1.28rem;
  height: 0.4rem;
  margin: 0.12rem auto 0;
  padding: 0.1rem 0.4rem;
  border: 0;
  border-radius: 0.1rem;
  background: #43a838;
  font-size: 0.16rem;
  line-height: 0.17rem;
  font-weight: 700;
  color: #ffffff;
  cursor: pointer;
  -webkit-box-shadow: 0 0.04rem 0.05rem rgba(119, 119, 119, 0.25);
  box-shadow: 0 0.04rem 0.05rem rgba(119, 119, 119, 0.25);
}

@media screen and (min-width: 768px) {
  .ads-modal__dialog {
    padding: 0.24rem 0.4rem;
  }

  .ads-modal__title {
    font-size: 0.24rem;
  }

  .ads-modal__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0.2rem;
  }

  .ads-modal__row .ads-modal__field {
    width: 2.35rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 2.35rem;
    -ms-flex: 0 0 2.35rem;
    flex: 0 0 2.35rem;
  }
}

/* =========================================================
   Directory page ? ????
   ========================================================= */
.page-hero--directory {
  background-image: url("../img/directory-hero.jpg");
}

.directory {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0.4rem;
  padding: 0 0.16rem;
}

.directory__filters {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
  width: 100%;
}

.dir-filter-btn--all {
  width: 100%;
  padding: 0.1rem;
  border: 0;
  border-radius: 0.05rem;
  background: #43a838;
  font-size: 0.16rem;
  line-height: 0.23rem;
  font-weight: 500;
  color: #ffffff;
  text-align: left;
  cursor: pointer;
}

.dir-filter-btn--all.is-active {
  -webkit-box-shadow: inset 0 0 0 0.02rem rgba(255, 255, 255, 0.35);
  box-shadow: inset 0 0 0 0.02rem rgba(255, 255, 255, 0.35);
}

.dir-filter {
  width: 100%;
  overflow: hidden;
  border-radius: 0.05rem;
  background: #ffffff;
}

.dir-filter__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.05rem;
  width: 100%;
  padding: 0.08rem;
  border: 0;
  border-radius: 0.05rem;
  background: #43a838;
  font-size: 0.16rem;
  line-height: 0.23rem;
  font-weight: 500;
  color: #ffffff;
  text-align: left;
  cursor: pointer;
}

.dir-filter__head span {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
}

.dir-filter__arrow {
  width: 0.12rem;
  height: 0.08rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transition: transform 0.2s ease;
  transition: transform 0.2s ease;
}

.dir-filter.is-open .dir-filter__arrow {
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
}

.dir-filter__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.04rem;
  padding: 0 0 0.12rem;
  max-height: 500px;
  overflow-y: scroll;
}

.dir-filter__body[hidden] {
  display: none;
}

.dir-check {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.1rem;
  width: 100%;
  padding: 0.04rem 0.16rem;
  font-size: 0.14rem;
  line-height: 0.24rem;
  color: #999999;
  cursor: pointer;
}

.dir-check input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 0.12rem;
  height: 0.12rem;
  margin: 0;
  border: 0;
  background: url("../img/directory-check-off.svg") center / contain no-repeat;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
}

.dir-check input:checked {
  background-image: url("../img/directory-check-on.svg"), url("../img/directory-check-tick.svg");
  background-size: contain, 0.08rem 0.06rem;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}

.directory__main {
  width: 100%;
  min-width: 0;
}

.dir-search {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0.2rem;
  width: 100%;
  margin-bottom: 0.12rem;
}

.dir-search__field {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.1rem;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  height: 0.3rem;
  padding: 0 0.08rem;
  border: 0.01rem solid #43a838;
  border-radius: 0.05rem;
  background: #ffffff;
}

.dir-search__icon {
  width: 0.2rem;
  height: 0.2rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.dir-search__input {
  width: 100%;
  min-width: 0;
  height: 100%;
  border: 0;
  background: transparent;
  font-size: 0.14rem;
  line-height: 0.22rem;
  color: #323232;
  outline: none;
}

.dir-search__input::-webkit-input-placeholder {
  color: #999999;
}

.dir-search__input::-moz-placeholder {
  color: #999999;
}

.dir-search__input::placeholder {
  color: #999999;
}

.dir-search__btn {
  width: 0.65rem;
  height: 0.3rem;
  padding: 0;
  border: 0;
  border-radius: 0.05rem;
  background: #43a838;
  font-size: 0.14rem;
  line-height: 0.22rem;
  color: #ffffff;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  cursor: pointer;
}

.dir-tags {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.08rem;
  min-height: 0.28rem;
  margin-bottom: 0.12rem;
}

.dir-tag {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.06rem;
  height: 0.28rem;
  padding: 0.04rem 0.1rem;
  border: 0;
  border-radius: 0.04rem;
  background: #43a838;
  font-size: 0.14rem;
  line-height: 0.2rem;
  color: #ffffff;
  cursor: pointer;
}

.dir-tag span {
  font-size: 0.14rem;
  line-height: 1;
}

.dir-grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.2rem 0.16rem;
  padding-top: 0.16rem;
  border-top: 0.01rem solid #d9d9d9;
}

.dir-card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  text-decoration: none;
  color: inherit;
}

.dir-card__logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 1.38rem;
  padding: 0.04rem 0.06rem;
  background: #ffffff;
}

.dir-card__logo img {
  display: block;
  width: 100%;
  height: 1.3rem;
  -o-object-fit: contain;
  object-fit: contain;
  background: #ffffff;
}

.dir-card__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  margin-top: 0.16rem;
}

.dir-card__name {
  margin: 0;
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.23rem;
  font-weight: 700;
  color: #323232;
}

.dir-card__body p {
  margin: 0;
  padding: 0.04rem 0.08rem;
  font-size: 0.12rem;
  line-height: 0.17rem;
  font-weight: 500;
  color: #646464;
  overflow : hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}

.dir-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.08rem;
  margin-top: 0.32rem;
}

.dir-page {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 0.32rem;
  height: 0.32rem;
  padding: 0 0.06rem;
  border-radius: 50%;
  font-size: 0.14rem;
  line-height: 0.2rem;
  color: #323232;
  text-decoration: none;
}

.dir-page.is-active {
  background: #323232;
  color: #ffffff;
}

.dir-page--gap {
  border-radius: 0;
  color: #646464;
}

.back-top {
  position: fixed;
  right: 0.16rem;
  bottom: 0.24rem;
  z-index: 50;
  width: 0.4rem;
  height: 0.4rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.back-top[hidden] {
  display: none;
}

.back-top img {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .directory {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.2rem;
    margin-top: 0.64rem;
    margin-bottom: 0.48rem;
    padding: 0 0.8rem 0 0.8rem;
  }

  .directory__filters {
    width: 2.35rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 2.35rem;
    -ms-flex: 0 0 2.35rem;
    flex: 0 0 2.35rem;
  }

  .directory__main {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }

  .dir-grid {
    gap: 0.36rem 0.2rem;
  }

  .dir-card {
    width: calc((100% - 0.4rem) / 3);
  }

  .back-top {
    right: 0.4rem;
    bottom: 0.4rem;
  }
}

@media screen and (min-width: 1024px) {
  .directory {
    width: var(--layout-content-max);
    max-width: calc(100% - 1.6rem);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .back-top {
    right: calc(50% - 7.2rem + 0.2rem);
    bottom: 1.2rem;
  }
}

/* =========================================================
   Exhibitor detail page ? ????
   ========================================================= */
.page-hero--exhibitor-detail {
  background-image: url("../img/exhibitor-detail-hero.jpg");
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.page-hero--partner-detail {
  background-image: url("../img/partner-detail-hero.jpg");
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.page-hero--support-detail {
  background-image: url("../img/support-detail-hero.jpg");
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.page-hero--sponsor-detail {
  background-image: url("../img/sponsor-detail-hero.jpg");
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.exhibitor-detail {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0.4rem;
  padding: 0 0.16rem;
}

.exhibitor-detail__bar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.12rem;
  margin-bottom: 0.24rem;
}

.exhibitor-crumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.02rem;
  font-size: 0.12rem;
  line-height: 0.17rem;
  color: #323232;
}

.exhibitor-crumb a {
  color: #323232;
  text-decoration: none;
}

.exhibitor-crumb__home {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 0.18rem;
  height: 0.18rem;
}

.exhibitor-crumb__home img,
.exhibitor-crumb__sep {
  display: block;
}

.exhibitor-crumb__sep {
  width: 0.04rem;
  height: 0.17rem;
}

.exhibitor-crumb__current {
  text-decoration: underline;
}

.exhibitor-back {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.04rem;
  width: 1.2rem;
  height: 0.4rem;
  border-radius: 0.1rem;
  background: #43a838;
  font-size: 0.16rem;
  line-height: 0.17rem;
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  -webkit-box-shadow: 0 0.04rem 0.05rem rgba(119, 119, 119, 0.25);
  box-shadow: 0 0.04rem 0.05rem rgba(119, 119, 119, 0.25);
}

.exhibitor-back img {
  display: block;
  width: 0.16rem;
  height: 0.14rem;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.exhibitor-profile {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
  width: 100%;
  margin-bottom: 0.36rem;
  overflow: hidden;
  border-radius: 0.05rem;
  background: #ffffff;
}

.exhibitor-profile__logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  min-height: 1.8rem;
  padding: 0.06rem 0.1rem;
  background: #ffffff;
}

.exhibitor-profile__logo img {
  display: block;
  width: 100%;
  max-width: 3rem;
  height: 1.88rem;
  -o-object-fit: contain;
  object-fit: contain;
  background: #ffffff;
  border-radius: 0.05rem;
}

.exhibitor-profile__info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.08rem;
  padding: 0.08rem 0.16rem 0.2rem;
}

.exhibitor-profile__name {
  margin: 0;
  padding: 0.04rem 0.08rem;
  font-size: 0.18rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.exhibitor-profile__info p {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  color: #323232;
}

.exhibitor-profile__info p span {
  padding: 0.04rem 0.08rem;
}

.exhibitor-profile__link {
  color: #323232;
  text-decoration: none;
  word-break: break-all;
}

.exhibitor-profile__link:hover {
  color: #43a838;
  text-decoration: underline;
}

.exhibitor-section {
  width: 100%;
}

.exhibitor-section__title {
  margin: 0 0 0.04rem;
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.exhibitor-section__text {
  margin: 0;
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  color: #323232;
  word-break: break-word;
}

.exhibitor-section__text--pre {
  white-space: pre-line;
}

.dir-empty {
  grid-column: 1 / -1;
  margin: 0.4rem 0;
  font-size: 0.16rem;
  color: #666;
  text-align: center;
}

.exhibitor-divider {
  width: 100%;
  height: 0;
  margin: 0.36rem 0;
  border: 0;
  border-top: 0.01rem solid #d9d9d9;
}

@media screen and (min-width: 768px) {
  .exhibitor-detail {
    margin-top: 0.23rem;
    margin-bottom: 0.48rem;
    padding: 0;
  }

  .exhibitor-detail__bar {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-bottom: 0.36rem;
  }

  .exhibitor-profile {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.2rem;
  }

  .exhibitor-profile__logo {
    width: 3.2rem;
    min-height: 2rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 3.2rem;
    -ms-flex: 0 0 3.2rem;
    flex: 0 0 3.2rem;
    padding: 0.06rem 0.1rem;
  }

  .exhibitor-profile__logo img {
    max-width: none;
    width: 3rem;
    border-radius: 0.05rem 0 0 0.05rem;
  }

  .exhibitor-profile__info {
    width: 5.75rem;
    padding: 0.2rem 0;
  }
}

@media screen and (min-width: 1024px) {
  .exhibitor-detail {
    max-width: var(--layout-content-max);
  }
}

/* =========================================================
   Traffic page ? ????
   ========================================================= */
.page-hero--traffic {
  background-image: url("../img/traffic-hero.jpg");
}

.traffic-page {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0.48rem;
  padding: 0 0.16rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.32rem;
}

.traffic-intro {
  width: 100%;
  padding: 0.16rem 0.16rem;
  background: #ffffff;
  border-radius: 0.1rem;
}

.traffic-intro__title {
  margin: 0;
  padding: 0.1rem;
  font-size: 0.18rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
  text-align: center;
}

.traffic-intro__desc {
  margin: 0;
  padding: 0.1rem;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #323232;
  text-indent: 2em;
}

.traffic-quick {
  list-style: none;
  margin: 0;
  padding: 0.16rem;
  width: 100%;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.01rem 0.0665rem rgba(67, 168, 56, 0.1);
  box-shadow: 0 0.01rem 0.0665rem rgba(67, 168, 56, 0.1);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
}

.traffic-quick__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.04rem;
  min-width: 0;
}

.traffic-quick__icon {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 0.32rem;
  height: 0.32rem;
  display: block;
}

.traffic-quick__body {
  min-width: 0;
}

.traffic-quick__body h3 {
  margin: 0;
  padding: 0 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.traffic-quick__body p {
  margin: 0.04rem 0 0;
  padding: 0 0.08rem;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
  white-space: pre-line;
}

.traffic-tabs {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.32rem;
}

.traffic-tabs__nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.04rem;
  width: 100%;
  padding: 0.04rem;
  background: #ebebeb;
  border-radius: 0.05rem;
}

.traffic-tabs__btn {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 1.2rem;
  margin: 0;
  padding: 0.08rem 0.12rem;
  border: 0;
  background: transparent;
  border-radius: 0.05rem;
  font-size: 0.14rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
  cursor: pointer;
  font-family: inherit;
}

.traffic-tabs__btn.is-active {
  background: #ffffff;
  -webkit-box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
}

.traffic-tabs__panel {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.32rem;
}

.traffic-tabs__panel.is-active {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.traffic-cards {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
  width: 100%;
}

.traffic-card {
  width: 100%;
  padding: 0.12rem 0.16rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.06rem;
}

.traffic-card__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.08rem;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.traffic-card__badge {
  display: inline-block;
  padding: 0 0.08rem;
  background: #007aff;
  border-radius: 0.05rem;
  font-size: 0.12rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #ffffff;
}

.traffic-card__title {
  margin: 0;
  padding: 0 0.08rem;
  font-size: 0.16rem;
  line-height: 0.22rem;
  font-weight: 700;
  color: #323232;
}

.traffic-card__desc,
.traffic-card__line {
  margin: 0;
  padding: 0 0.08rem;
  font-size: 0.14rem;
  line-height: 0.22rem;
  color: #646464;
}

.traffic-card__label {
  margin: 0;
  padding: 0 0.08rem;
  font-size: 0.14rem;
  line-height: 0.22rem;
  font-weight: 700;
  color: #323232;
}

.traffic-card__meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.04rem;
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.22rem;
  color: #646464;
}

.traffic-card__meta img {
  display: block;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.traffic-card__meta span {
  padding: 0 0.08rem;
}

.traffic-card--bus {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.traffic-card__bus-icon {
  display: block;
  width: 0.36rem;
  height: 0.36rem;
}

.traffic-card--stack .traffic-card__title {
  padding-left: 0.08rem;
}

.traffic-tip {
  width: 100%;
  padding: 0.12rem 0.16rem;
  background: #f2f2f2;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
}

.traffic-tip__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.08rem;
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 400;
  color: #323232;
}

.traffic-tip__title img {
  display: block;
  width: 0.2rem;
  height: 0.2rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.traffic-tip__title span {
  padding: 0.04rem 0.08rem;
}

.traffic-tip__text {
  margin: 0;
  padding: 0.04rem 0.08rem 0.04rem 0.36rem;
  font-size: 0.12rem;
  line-height: 0.26rem;
  color: #646464;
}

.traffic-blocks {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
  width: 100%;
}

.traffic-block {
  width: 100%;
  padding: 0.16rem 0.2rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
}

.traffic-block__title {
  margin: 0 0 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.traffic-block__label {
  margin: 0.08rem 0 0.04rem;
  font-size: 0.14rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.traffic-block__text {
  margin: 0.04rem 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.traffic-block__list {
  margin: 0;
  padding-left: 0.2rem;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.traffic-block__list li + li {
  margin-top: 0.02rem;
}

@media screen and (min-width: 768px) {
  .traffic-page {
    margin-top: 0.32rem;
    margin-bottom: 0.64rem;
    padding: 0;
    gap: 0.64rem;
  }

  .traffic-intro {
    padding: 0.16rem 0.24rem;
  }

  .traffic-intro__title {
    font-size: 0.2rem;
  }

  .traffic-quick {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0.12rem;
  }

  .traffic-quick__item {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    max-width: 3.2rem;
  }

  .traffic-tabs {
    gap: 0.48rem;
  }

  .traffic-tabs__nav {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }

  .traffic-tabs__btn {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    min-width: 0;
    padding: 0.08rem 0.2rem;
    font-size: 0.16rem;
  }

  .traffic-tabs__panel {
    gap: 0.48rem;
  }

  .traffic-cards--2,
  .traffic-cards--3 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .traffic-cards--2 .traffic-card {
    width: calc(50% - 0.1rem);
  }

  .traffic-cards--3 .traffic-card {
    width: calc(50% - 0.1rem);
  }

  .traffic-blocks {
    gap: 0.24rem;
  }
}

@media screen and (min-width: 1024px) {
  .traffic-page {
    max-width: var(--layout-content-max);
  }
}


/* =========================================================
   Hotel page — 酒店住宿
   ========================================================= */
.page-hero--hotel {
  background-image: url("../img/hotel-hero.jpg");
}

.hotel-page {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0.48rem;
  padding: 0 0.16rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.4rem;
}

.hotel-recommend {
  width: 100%;
  max-width: 7.78rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.32rem;
}

.hotel-recommend__title {
  margin: 0;
  padding: 0.04rem 0.08rem;
  font-size: 0.28rem;
  line-height: 0.36rem;
  font-weight: 700;
  color: #43a838;
  text-align: center;
}

.hotel-recommend__body {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.hotel-recommend__desc {
  margin: 0;
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  color: #323232;
}

.hotel-recommend__services {
  width: 100%;
  max-width: 2.8rem;
}

.hotel-recommend__sub {
  margin: 0;
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.hotel-recommend__list {
  margin: 0.12rem 0 0;
  padding: 0.04rem 0.08rem;
  list-style: none;
  font-size: 0.16rem;
  line-height: 0.26rem;
  color: #323232;
}

.hotel-recommend__list li {
  margin: 0;
}

.hotel-recommend__list li + li {
  margin-top: 0;
}

.hotel-recommend__btn {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.hotel-contact {
  width: 100%;
  max-width: var(--layout-content-narrow);
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.hotel-contact__title {
  margin: 0;
  padding: 0.04rem 0;
  font-size: 0.28rem;
  line-height: 0.36rem;
  font-weight: 700;
  color: #43a838;
}

.hotel-contact__company {
  margin: 0;
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.hotel-contact__cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
  width: 100%;
}

.hotel-contact__card {
  width: 100%;
  padding: 0.16rem;
  background: #eaeaea;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.hotel-contact__col {
  min-width: 0;
}

.hotel-contact__col p {
  margin: 0;
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  color: #323232;
}

@media screen and (min-width: 768px) {
  .hotel-page {
    margin-top: 0.32rem;
    margin-bottom: 0.64rem;
    padding: 0;
    gap: 0.48rem;
  }

  .hotel-recommend {
    gap: 0.48rem;
  }

  .hotel-recommend__title,
  .hotel-contact__title {
    font-size: 0.36rem;
    line-height: 0.4rem;
  }

  .hotel-recommend__services {
    max-width: none;
  }

  .hotel-contact {
    gap: 0.36rem;
  }

  .hotel-contact__card {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0.4rem;
  }

  .hotel-contact__col {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
  }

  .hotel-contact__col:last-child {
    max-width: 2.2rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 2.2rem;
    -ms-flex: 0 0 2.2rem;
    flex: 0 0 2.2rem;
  }
}

@media screen and (min-width: 1024px) {
  .hotel-page {
    max-width: var(--layout-content-max);
  }
}


/* =========================================================
   Visa page — 签证服务
   ========================================================= */
.page-hero--visa {
  background-image: url("../img/visa-hero.jpg");
}

.visa-page {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0.48rem;
  padding: 0 0.16rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.4rem;
}

.visa-alert {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.12rem;
  width: 100%;
  padding: 0.12rem 0.16rem;
  background: #dbe2d9;
  border-radius: 0.1rem;
}

.visa-alert > img {
  width: 0.24rem;
  height: 0.24rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-top: 0.02rem;
}

.visa-alert__title {
  margin: 0 0 0.04rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.visa-alert__text {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.visa-section {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.visa-section__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.12rem;
  margin: 0;
  font-size: 0.28rem;
  line-height: 0.36rem;
  font-weight: 700;
  color: #43a838;
}

.visa-section__title::before {
  content: "";
  display: block;
  width: 0.04rem;
  height: 0.36rem;
  background: #43a838;
  border-radius: 0.02rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.visa-types {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
}

.visa-type {
  width: 100%;
  padding: 0.2rem;
  background: #ffffff;
  border-radius: 0.15rem;
  -webkit-box-shadow: 0 0.02rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.02rem 0.02rem rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
}

.visa-type__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.12rem;
}

.visa-type__head img {
  width: 0.32rem;
  height: 0.32rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.visa-type__head h3 {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.visa-type__tags {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.09rem;
}

.visa-tag {
  display: inline-block;
  padding: 0 0.08rem;
  border: 0.01rem solid #ebebeb;
  border-radius: 0.08rem;
  font-size: 0.12rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.visa-tag--solid {
  background: #ebebeb;
  border-color: #ebebeb;
}

.visa-type__desc {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.visa-type__mats-title {
  margin: 0 0 0.04rem;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #323232;
}

.visa-type__mats ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.04rem;
}

.visa-type__mats li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.04rem;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.visa-type__mats img {
  width: 0.12rem;
  height: 0.12rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.visa-countries {
  width: 100%;
  padding: 0.2rem;
  background: #ffffff;
  border-radius: 0.15rem;
  -webkit-box-shadow: 0 0.02rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.02rem 0.02rem rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
}

.visa-countries__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.08rem;
}

.visa-countries__head img {
  width: 0.24rem;
  height: 0.24rem;
}

.visa-countries__head h2 {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.visa-countries__intro {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.visa-countries__block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.08rem;
}

.visa-countries__block h3 {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.visa-countries__group h4 {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.visa-countries__group p {
  margin: 0;
  font-size: 0.12rem;
  line-height: 0.26rem;
  color: #646464;
}

.visa-countries__note {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.04rem;
  margin: 0;
  font-size: 0.12rem;
  line-height: 0.26rem;
  color: #999999;
}

.visa-countries__note img {
  width: 0.12rem;
  height: 0.12rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.visa-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
}

.visa-step {
  width: 100%;
  min-height: 1.8rem;
  padding: 0.2rem 0.16rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.02rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.02rem 0.02rem rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.12rem;
  text-align: center;
}

.visa-step > img {
  width: 0.48rem;
  height: 0.48rem;
}

.visa-step__badge {
  display: inline-block;
  padding: 0 0.16rem;
  background: #21601a;
  border-radius: 0.05rem;
  font-size: 0.12rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #f8f8f8;
}

.visa-step h3 {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.visa-step p {
  margin: 0;
  font-size: 0.12rem;
  line-height: 0.26rem;
  color: #999999;
}

.visa-faq {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
}

.visa-faq__item {
  width: 100%;
  padding: 0.2rem 0.16rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.visa-faq__item h3 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.04rem;
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 400;
  color: #323232;
}

.visa-faq__item h3 img {
  width: 0.16rem;
  height: 0.16rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.visa-faq__item p {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.visa-help {
  width: 100%;
  padding: 0.2rem 0.16rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.visa-help h2 {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.visa-help > p {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.visa-help__line {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.04rem;
}

.visa-help__line img {
  width: 0.14rem;
  height: 0.14rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.visa-help__line a {
  color: #646464;
  text-decoration: none;
}

.visa-help__line a:hover {
  color: #43a838;
}

@media screen and (min-width: 768px) {
  .visa-page {
    margin-top: 0.32rem;
    margin-bottom: 0.64rem;
    padding: 0;
    gap: 0.64rem;
  }

  .visa-section {
    gap: 0.36rem;
  }

  .visa-section__title {
    font-size: 0.36rem;
    line-height: 0.4rem;
  }

  .visa-section__title::before {
    height: 0.48rem;
  }

  .visa-types {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.2rem;
  }

  .visa-type {
    width: calc(33.333% - 0.14rem);
    padding: 0.24rem;
    gap: 0.24rem;
  }

  .visa-countries {
    padding: 0.24rem;
    gap: 0.2rem;
  }

  .visa-steps {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 0.2rem;
  }

  .visa-step {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    position: relative;
    min-width: 0;
  }

  .visa-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -0.14rem;
    width: 0.16rem;
    height: 0.02rem;
    background: #c5c5c5;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .visa-faq {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.2rem 0.2rem;
  }

  .visa-faq__item {
    width: calc(50% - 0.1rem);
  }
}

@media screen and (min-width: 1024px) {
  .visa-page {
    max-width: var(--layout-content-max);
  }
}


/* =========================================================
   About page — 公司介绍
   ========================================================= */
.page-hero--about {
  background-image: url("../img/about-hero.jpg");
}

.about-intro {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0;
  padding: 0 0.16rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
}

.about-intro__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.12rem;
  margin: 0;
  font-size: 0.28rem;
  line-height: 0.36rem;
  font-weight: 700;
  color: #323232;
}

.about-intro__title::before {
  content: "";
  display: block;
  width: 0.04rem;
  height: 0.36rem;
  background: #43a838;
  border-radius: 0.02rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.about-intro__body {
  width: 100%;
  padding: 0.1rem;
}

.about-intro__body p {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  color: #323232;
  text-indent: 2em;
}

.about-intro__body p + p {
  margin-top: 0.16rem;
}

.about-stats {
  width: 100%;
  margin-top: 0.4rem;
  padding: 0.24rem 0.16rem;
  background: #ededed;
}

.about-stats__list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: var(--layout-content-max);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.2rem;
}

.about-stats__list li {
  width: calc(50% - 0.1rem);
  max-width: 2.35rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.11rem;
  text-align: center;
}

.about-stats__list strong {
  display: block;
  padding: 0.1rem;
  font-size: 0.36rem;
  line-height: 0.4rem;
  font-weight: 700;
  color: #43a838;
}

.about-stats__list span {
  display: block;
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  color: #323232;
}

.about-values {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.4rem auto 0.48rem;
  padding: 0 0.16rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
}

.about-value {
  width: 100%;
  padding: 0.2rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.02rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.02rem 0.02rem rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
}

.about-value__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.12rem;
}

.about-value__head img {
  width: 0.4rem;
  height: 0.4rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.about-value__head h3 {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.about-value p {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

@media screen and (min-width: 768px) {
  .about-intro {
    margin-top: 0.48rem;
    padding: 0;
    gap: 0.24rem;
  }

  .about-intro__title {
    font-size: 0.36rem;
    line-height: 0.4rem;
  }

  .about-intro__title::before {
    height: 0.48rem;
  }

  .about-stats {
    margin-top: 0.64rem;
    padding: 0.24rem 0;
  }

  .about-stats__list {
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 0.2rem;
  }

  .about-stats__list li {
    width: 2.35rem;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    max-width: none;
  }

  .about-stats__list strong {
    font-size: 0.48rem;
    line-height: 0.5rem;
  }

  .about-values {
    margin-top: 0.64rem;
    margin-bottom: 0.64rem;
    padding: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0.2rem;
  }

  .about-value {
    width: calc(50% - 0.1rem);
    max-width: 4.9rem;
    padding: 0.24rem;
    gap: 0.24rem;
  }
}

@media screen and (min-width: 1024px) {
  .about-intro,
  .about-stats__list,
  .about-values {
    max-width: var(--layout-content-max);
  }
}


/* =========================================================
   Contact page — 咨询方式
   ========================================================= */
.page-hero--contact {
  background-image: url("../img/contact-hero.jpg");
}

.contact-page {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0.48rem;
  padding: 0 0.16rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.32rem;
}

.contact-ways {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
}

.contact-way {
  width: 100%;
  padding: 0.16rem 0.2rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.08rem;
}

.contact-way > img {
  width: 0.48rem;
  height: 0.48rem;
  display: block;
}

.contact-way__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.08rem;
  width: 100%;
}

.contact-way__body h3 {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.contact-way__main {
  margin: 0;
  font-size: 0.2rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #43a838;
  word-break: break-all;
}

.contact-way__sub {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.contact-way__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0.04rem 0.1rem;
  border: 0;
  background: rgba(184, 184, 184, 0.2);
  border-radius: 0.05rem;
  -webkit-box-shadow: 0 0.01rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.01rem 0.02rem rgba(0, 0, 0, 0.25);
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #323232;
  text-decoration: none;
  font-family: inherit;
  cursor: pointer;
}

.contact-way__btn:hover {
  background: rgba(184, 184, 184, 0.35);
}

.contact-mid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
  width: 100%;
}

.contact-mid__left {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
  width: 100%;
}

.contact-cs,
.contact-dept {
  width: 100%;
  padding: 0.16rem 0.2rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
}

.contact-cs__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.24rem;
  margin-bottom: 0.12rem;
}

.contact-cs__head img {
  width: 0.48rem;
  height: 0.48rem;
}

.contact-cs__head h3,
.contact-dept h3 {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.contact-cs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.contact-cs__list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.16rem;
}

.contact-cs__list img {
  width: 0.24rem;
  height: 0.24rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.contact-cs__label {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  color: #323232;
}

.contact-cs__value {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.contact-dept {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.contact-dept__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
}

.contact-dept__row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.08rem;
  padding-bottom: 0.12rem;
  border-bottom: 0.01rem solid #e5e5e5;
}

.contact-dept__row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.contact-dept__name {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  color: #323232;
}

.contact-dept__tel {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.contact-dept__mail {
  display: inline-block;
  padding: 0 0.04rem;
  background: #e5e5e5;
  border-radius: 0.05rem;
  font-size: 0.1rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
  text-decoration: none;
  word-break: break-all;
}

.contact-promise {
  width: 100%;
  padding: 0.16rem 0.2rem;
  background: #e6ffe2;
  border: 0.01rem solid #296c21;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
}

.contact-promise__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.12rem;
  margin-bottom: 0.08rem;
}

.contact-promise__head img {
  width: 0.32rem;
  height: 0.32rem;
}

.contact-promise__head h3 {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 400;
  color: #323232;
}

.contact-promise__list {
  list-style: none;
  margin: 0;
  padding: 0 0.08rem 0 0.44rem;
}

.contact-promise__list li {
  position: relative;
  padding-left: 0.16rem;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.contact-promise__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.11rem;
  width: 0.04rem;
  height: 0.04rem;
  background: #43a838;
  border-radius: 50%;
}

.contact-faq {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.contact-faq__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.12rem;
  margin: 0;
  font-size: 0.28rem;
  line-height: 0.36rem;
  font-weight: 700;
  color: #323232;
}

.contact-faq__title::before {
  content: "";
  display: block;
  width: 0.04rem;
  height: 0.36rem;
  background: #43a838;
  border-radius: 0.02rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.contact-faq__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
}

.contact-faq__item {
  width: 100%;
  padding: 0.12rem 0.2rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.16rem;
}

.contact-faq__item h3 {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.contact-faq__item p {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.contact-faq__item a {
  color: #323232;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .contact-page {
    margin-top: 0.32rem;
    margin-bottom: 0.64rem;
    padding: 0;
    gap: 0.48rem;
  }

  .contact-ways {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0.2rem;
  }

  .contact-way {
    width: calc(33.333% - 0.14rem);
    gap: 0.08rem;
  }

  .contact-way > img {
    margin-bottom: 0.09rem;
  }

  .contact-mid {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 0.2rem;
  }

  .contact-mid__left {
    width: calc(50% - 0.1rem);
    gap: 0.2rem;
  }

  .contact-dept {
    width: calc(50% - 0.1rem);
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 0.34rem;
  }

  .contact-dept__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0.12rem;
  }

  .contact-faq {
    gap: 0.48rem;
  }

  .contact-faq__title {
    font-size: 0.36rem;
    line-height: 0.4rem;
  }

  .contact-faq__title::before {
    height: 0.48rem;
  }

  .contact-faq__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.21rem 0.2rem;
  }

  .contact-faq__item {
    width: calc(50% - 0.1rem);
  }
}

@media screen and (min-width: 1024px) {
  .contact-page {
    max-width: var(--layout-content-max);
  }
}
'

/* =========================================================
   WeChat modal — 添加客服微信弹窗
   ========================================================= */
body.wechat-modal-open {
  overflow: hidden;
}

.wechat-modal[hidden] {
  display: none;
}

.wechat-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0.24rem 0.16rem;
}

.wechat-modal__mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

.wechat-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 3.22rem;
  padding: 0.24rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.04rem 0.02rem rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.2rem;
}

.wechat-modal__close {
  position: absolute;
  top: 0.12rem;
  right: 0.12rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.28rem;
  height: 0.28rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.wechat-modal__close svg {
  width: 0.24rem;
  height: 0.24rem;
  display: block;
}

.wechat-modal__top {
  width: 100%;
}

.wechat-modal__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.08rem;
  width: 100%;
}

.wechat-modal__head img {
  width: 0.28rem;
  height: 0.28rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.wechat-modal__title {
  margin: 0;
  font-size: 0.2rem;
  line-height: 0.2rem;
  font-weight: 700;
  color: #000000;
}

.wechat-modal__desc {
  margin: 0;
  width: 100%;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.wechat-modal__qr {
  width: 1.28rem;
  height: 1.28rem;
  border-radius: 0.05rem;
  overflow: hidden;
}

.wechat-modal__qr img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wechat-modal__id {
  width: 1.35rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0;
}

.wechat-modal__id-label {
  margin: 0;
  width: 100%;
  font-size: 0.12rem;
  line-height: 0.26rem;
  color: #646464;
}

.wechat-modal__id-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.14rem;
  width: 100%;
}

.wechat-modal__id-value {
  display: inline-block;
  padding: 0 0.04rem;
  background: #c6c6c6;
  border-radius: 0.05rem;
  font-size: 0.12rem;
  line-height: 0.26rem;
  color: #323232;
}

.wechat-modal__copy {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 0.2rem;
  height: 0.2rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0.05rem;
  cursor: pointer;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.wechat-modal__copy img {
  display: block;
  width: 0.2rem;
  height: 0.2rem;
}

.wechat-modal__copied {
  margin: 0.04rem 0 0;
  font-size: 0.12rem;
  line-height: 0.2rem;
  color: #43a838;
}


/* =========================================================
   Office page — 办公地址
   ========================================================= */
.page-hero--office {
  background-image: url("../img/office-hero.jpg");
}

.office-page {
  width: 100%;
  max-width: var(--layout-content-max);
  margin: 0.24rem auto 0.48rem;
  padding: 0 0.16rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.24rem;
}

.office-card {
  width: 100%;
  padding: 0.16rem 0.2rem;
  background: #ffffff;
  border-radius: 0.1rem;
  -webkit-box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
  box-shadow: 0 0.02rem 0.01rem rgba(0, 0, 0, 0.25);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.08rem;
}

.office-card__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.24rem;
}

.office-card__head img {
  width: 0.48rem;
  height: 0.48rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.office-card__head h2 {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.office-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.office-card__list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.16rem;
}

.office-card__list img {
  width: 0.24rem;
  height: 0.24rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.office-card__list li:first-child img {
  width: 0.22rem;
  height: 0.26rem;
}

.office-card__addr {
  display: block;
  font-size: 0.16rem;
  line-height: 0.26rem;
  color: #323232;
  text-decoration: underline;
}

.office-card__addr:hover {
  color: #43a838;
}

.office-card__meta {
  margin: 0;
  font-size: 0.14rem;
  line-height: 0.26rem;
  color: #646464;
}

.office-card__list a,
.office-card__list span {
  font-size: 0.16rem;
  line-height: 0.26rem;
  color: #323232;
  text-decoration: none;
}

.office-card__list a:hover {
  color: #43a838;
}

.office-notice {
  width: 100%;
  padding: 0.12rem;
  background: #e6ffe2;
  border: 0.01rem solid #296c21;
  border-radius: 0.1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.office-notice__title {
  margin: 0;
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.office-notice__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
}

.office-notice__list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.12rem;
}

.office-notice__list h3 {
  margin: 0;
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  font-weight: 700;
  color: #323232;
}

.office-notice__list p {
  margin: 0;
  padding: 0.04rem 0.08rem;
  font-size: 0.16rem;
  line-height: 0.26rem;
  color: #646464;
}

@media screen and (min-width: 768px) {
  .office-page {
    margin-top: 0.32rem;
    margin-bottom: 0.64rem;
    padding: 0;
    gap: 0.32rem;
  }

  .office-notice__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0.2rem;
  }

  .office-notice__list li {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    min-width: 0;
  }
}

@media screen and (min-width: 1024px) {
  .office-page {
    max-width: var(--layout-content-max);
  }
}
