/* 沙溪通 H5 — 设计稿基准 390px，平板起铺满视口（字号最大按 1024px 等比） */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  overscroll-behavior-y: none;
}

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

a {
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
}

button {
  font: inherit;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  outline: none;
  user-select: none;
  touch-action: manipulation;
}

button:focus,
button:focus-visible,
button:active {
  outline: none;
  background: none;
}

:root {
  --design-width: 390;
  --content-max: 768px;
  --layout-cap: 1024px;
  --color-primary: #1a45b3;
  --color-text: #333333;
  --color-muted: #999999;
  --color-border: #f2f2f2;
  --header-height: 4.6rem;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --vv-bottom-offset: 0px;
  /* 首页模块统一间距 */
  --section-x: 2rem;
  --section-gap: 5rem;
  --section-head-gap: 2.4rem;
  --section-inner-gap: 2rem;
}

html {
  font-size: 26.666667px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

@media (min-width: 768px) {
  html {
    font-size: calc(min(100vw, var(--layout-cap)) / var(--design-width) * 10);
    scrollbar-gutter: stable;
  }

  :root {
    --content-max: 100%;
    --section-x: 3.2rem;
  }
}

body {
  background: #ffffff;
  color: var(--color-text);
  font-family: "微软雅黑", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
  overflow-anchor: none;
}

.site-shell {
  width: 100%;
  max-width: var(--content-max);
  margin: 0 auto;
  position: relative;
  overflow-x: clip;
}

/* ===== 顶栏：首屏透明，内页/滚动后白底 ===== */
.site-header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: var(--content-max);
  z-index: 100;
  padding-top: var(--safe-top);
  pointer-events: none;
  background: transparent;
  border-bottom: 0.1rem solid transparent;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease;
}

.site-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-height);
  padding: 0 2rem;
  pointer-events: auto;
}

.site-logo img {
  width: 7.6rem;
  height: auto;
}

.site-header-actions {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.site-header-auth {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.4rem;
  line-height: 1.9rem;
  color: #ffffff;
}

.site-header-auth-link {
  color: inherit;
}

.site-header-auth-sep {
  opacity: 0.85;
}

body.page-home .site-header:not(.is-solid) .site-logo img,
body.page-service .site-header:not(.is-solid) .site-logo img,
body.page-about .site-header:not(.is-solid) .site-logo img {
  filter: brightness(0) invert(1);
}

body.page-home .site-header:not(.is-solid) .site-header-auth,
body.page-service .site-header:not(.is-solid) .site-header-auth,
body.page-about .site-header:not(.is-solid) .site-header-auth {
  color: #ffffff;
}

body.page-news .site-header-auth,
body.page-article .site-header-auth,
body.page-legal .site-header-auth,
body.page-catalog .site-header-auth,
body.page-home:not(:has(#homeHero)) .site-header-auth,
body.page-service:not(:has(#serviceHero)) .site-header-auth,
body.page-about:not(:has(#aboutHero)) .site-header-auth,
.site-header.is-solid .site-header-auth {
  color: #333333;
}

body.page-news .site-header,
body.page-article .site-header,
body.page-legal .site-header,
body.page-catalog .site-header,
body.page-home:not(:has(#homeHero)) .site-header,
body.page-service:not(:has(#serviceHero)) .site-header,
body.page-about:not(:has(#aboutHero)) .site-header,
.site-header.is-solid {
  background: #ffffff;
  border-bottom-color: #e4e7ed;
}

body.page-news .site-header .site-logo img,
body.page-article .site-header .site-logo img,
body.page-legal .site-header .site-logo img,
body.page-catalog .site-header .site-logo img,
body.page-home:not(:has(#homeHero)) .site-header .site-logo img,
body.page-service:not(:has(#serviceHero)) .site-header .site-logo img,
body.page-about:not(:has(#aboutHero)) .site-header .site-logo img,
.site-header.is-solid .site-logo img {
  filter: none;
}

.site-menu-btn {
  width: 1.8rem;
  height: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}

.site-menu-btn:active,
.site-menu-btn:focus,
.site-menu-btn:focus-visible {
  opacity: 1;
  background: transparent;
}

.site-menu-btn-bars {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  height: 100%;
}

.site-menu-btn-bars span {
  display: block;
  width: 100%;
  height: 0.2rem;
  border-radius: 0.1rem;
  background: #333333;
}

.site-menu-btn-icon {
  width: 1.8rem;
  height: 1.4rem;
}

body.page-home .site-header:not(.is-solid) .site-menu-btn-bars,
body.page-service .site-header:not(.is-solid) .site-menu-btn-bars,
body.page-about .site-header:not(.is-solid) .site-menu-btn-bars {
  display: none;
}

body.page-home .site-header:not(.is-solid) .site-menu-btn-icon,
body.page-service .site-header:not(.is-solid) .site-menu-btn-icon,
body.page-about .site-header:not(.is-solid) .site-menu-btn-icon {
  display: block;
}

body.page-news .site-menu-btn-icon,
body.page-article .site-menu-btn-icon,
body.page-legal .site-menu-btn-icon,
body.page-catalog .site-menu-btn-icon,
body.page-home:not(:has(#homeHero)) .site-header .site-menu-btn-icon,
body.page-service:not(:has(#serviceHero)) .site-header .site-menu-btn-icon,
body.page-about:not(:has(#aboutHero)) .site-header .site-menu-btn-icon,
.site-header.is-solid .site-menu-btn-icon {
  display: none;
}

body.page-news .site-menu-btn-bars,
body.page-article .site-menu-btn-bars,
body.page-legal .site-menu-btn-bars,
body.page-catalog .site-menu-btn-bars,
body.page-home:not(:has(#homeHero)) .site-header .site-menu-btn-bars,
body.page-service:not(:has(#serviceHero)) .site-header .site-menu-btn-bars,
body.page-about:not(:has(#aboutHero)) .site-header .site-menu-btn-bars,
.site-header.is-solid .site-menu-btn-bars {
  display: flex;
}

body.page-news .site-menu-btn-bars span,
body.page-article .site-menu-btn-bars span,
body.page-legal .site-menu-btn-bars span,
body.page-catalog .site-menu-btn-bars span,
body.page-home:not(:has(#homeHero)) .site-header .site-menu-btn-bars span,
body.page-service:not(:has(#serviceHero)) .site-header .site-menu-btn-bars span,
body.page-about:not(:has(#aboutHero)) .site-header .site-menu-btn-bars span,
.site-header.is-solid .site-menu-btn-bars span {
  background: #333333;
}

/* ===== 右侧滑出导航菜单 ===== */
.site-drawer[hidden] {
  display: none;
}

.site-drawer {
  position: fixed;
  inset: 0;
  z-index: 200;
  pointer-events: none;
}

.site-drawer:not([hidden]) {
  pointer-events: auto;
}

.site-drawer-mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  transition: opacity 0.28s ease;
  pointer-events: auto;
}

.site-drawer.is-open .site-drawer-mask {
  opacity: 1;
}

.site-drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100%;
  height: 100dvh;
  max-width: none;
  background: #ffffff;
  padding: var(--safe-top) 0 calc(var(--safe-bottom) + 2rem);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateX(100%);
  transition: transform 0.28s ease;
  will-change: transform;
  z-index: 1;
}

.site-drawer.is-open .site-drawer-panel {
  transform: translateX(0);
}

.site-drawer-head.site-header-bar {
  flex-shrink: 0;
  margin-bottom: 0;
  pointer-events: auto;
}

.site-drawer-panel .site-logo img {
  filter: none;
}

.site-drawer-panel .site-drawer-auth {
  color: #333333;
}

.site-drawer-close.site-menu-btn {
  width: 3rem;
  height: 3rem;
}

.site-drawer-close-icon {
  display: block;
  font-size: 3.2rem;
  line-height: 1;
  color: #333333;
  font-weight: 300;
}

.site-drawer-links {
  display: flex;
  flex-direction: column;
  gap: 0;
  --drawer-link-inset: 2rem;
}

.site-drawer-links::before {
  content: "";
  display: block;
  height: 1px;
  margin: 0 var(--drawer-link-inset);
  background: var(--color-border);
}

.site-drawer-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 7rem;
  height: 7rem;
  padding: 0 var(--drawer-link-inset);
  font-size: 1.6rem;
  line-height: 2.1rem;
  color: #333333;
  border-bottom: none;
  position: relative;
}

.site-drawer-link::before {
  content: "";
  position: absolute;
  left: var(--drawer-link-inset);
  right: var(--drawer-link-inset);
  bottom: 0;
  height: 1px;
  background: var(--color-border);
}

.site-drawer-link::after {
  content: "";
  flex-shrink: 0;
  width: 0.7rem;
  height: 1.4rem;
  margin-right: 0.2rem;
  border: none;
  background: url("../images/home/u3639.svg") center / contain no-repeat;
  transform: none;
}

.site-drawer-link.is-active {
  color: #333333;
  font-weight: 700;
}

body.is-drawer-open {
  overflow: hidden;
}

body.is-drawer-open .h5-sidebar .h5-sidebar-btn-bg {
  box-shadow:
    0 0 0 0.1rem rgba(0, 0, 0, 0.08),
    0 0 0.5rem rgba(0, 0, 0, 0.22);
}

/* ===== 首页 Banner ===== */
.home-hero {
  --hero-indicator-bottom: 5rem;
  --hero-indicator-height: 0.3rem;
  --hero-scroll-indicator-gap: 4.8rem;
  height: var(--hero-h, 84.4rem);
  min-height: 60rem;
  color: #ffffff;
  overflow: hidden;
}

.page-home .home-hero {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: var(--content-max);
  z-index: 0;
}

.home-hero-swiper {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.home-hero-swiper .swiper-wrapper {
  height: 100%;
}

.home-hero-swiper .swiper-slide {
  height: 100%;
  overflow: hidden;
}

.home-hero-slide {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.home-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.home-hero-bg.home-hero-animate-bg {
  transform: scale(1.06);
  transform-origin: center center;
  transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-hero-slide.is-slide-animated .home-hero-bg.home-hero-animate-bg {
  transform: scale(1);
}

.home-hero-animate {
  opacity: 0;
  transform: translateY(4.8rem);
}

.home-hero.is-ready .home-hero-animate,
.home-hero.is-ready .h5-service-hero-animate {
  transition:
    opacity 1.1s ease,
    transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-hero.is-animated > .h5-service-hero-nav.h5-service-hero-animate,
.home-hero.is-animated .home-hero-controls > .home-hero-scroll.home-hero-animate {
  opacity: 1;
  transform: translateY(0);
}

.home-hero-slide.is-slide-animated .home-hero-animate {
  opacity: 1;
  transform: translateY(0);
}

.home-hero-slide.is-slide-animated .home-hero-animate-1 {
  transition-delay: 0.15s;
}

.home-hero-slide.is-slide-animated .home-hero-animate-2 {
  transition-delay: 0.35s;
}

.home-hero.is-animated > .h5-service-hero-nav.h5-service-hero-animate-3 {
  transition-delay: 0.55s;
}

.home-hero.is-animated .home-hero-controls > .home-hero-scroll.home-hero-animate-4 {
  transition-delay: 0.78s;
}

.home-hero-scroll.home-hero-animate {
  transform: translateY(4.8rem);
}

.home-hero-slide--dim .home-hero-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.home-hero--single .home-hero-pagination {
  display: none;
}

.home-hero-content {
  position: absolute;
  left: 0;
  right: 0;
  top: 15rem;
  z-index: 1;
  padding: 0 2rem;
  text-align: center;
  pointer-events: none;
}

.home-hero-title {
  margin: 0 0 3.5rem;
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 4.5rem;
}

.home-hero-desc {
  margin: 0 auto;
  max-width: 28rem;
}

.home-hero-desc p {
  margin: 0;
  font-size: 1.4rem;
  line-height: 5rem;
  color: #ffffff;
}

.home-hero-controls {
  position: absolute;
  left: 50%;
  bottom: calc(5rem + var(--safe-bottom) + var(--vv-bottom-offset, 0px));
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  pointer-events: none;
}

.home-hero-pagination {
  position: static;
  transform: none;
  pointer-events: auto;
}

.home-hero-pagination-track {
  position: relative;
  width: 4.8rem;
  height: 0.3rem;
  border-radius: 10rem;
  background: rgba(255, 255, 255, 0.3);
  overflow: hidden;
}

.home-hero-pagination-indicator {
  position: absolute;
  left: 0;
  top: 0;
  width: 2.4rem;
  height: 0.3rem;
  border-radius: 10rem;
  background: #ffffff;
  transition: left 0.5s ease;
}

.home-hero-scroll {
  position: relative;
  transform: none;
  width: 4rem;
  height: 4rem;
  padding: 0;
  overflow: hidden;
  border-radius: 50%;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
}

.home-hero-scroll:active,
.home-hero-scroll:focus,
.home-hero-scroll:focus-visible {
  opacity: 1;
  background: transparent;
  transform: none;
}

.home-hero-scroll-icon {
  display: block;
  width: 100%;
  height: 100%;
  animation: home-hero-scroll-blink 4s ease-in-out infinite;
}

@keyframes home-hero-scroll-blink {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero-bg.home-hero-animate-bg {
    transform: none;
    transition: none;
  }

  .home-hero-animate {
    opacity: 1;
    transform: none;
  }

  .home-hero-scroll.home-hero-animate {
    transform: translateX(-50%);
  }

  .home-hero.is-ready .home-hero-animate,
  .home-hero.is-ready .h5-service-hero-animate {
    transition: none;
  }
}

/* ===== 右侧浮动侧边栏 ===== */
.h5-sidebar {
  --sidebar-expand-duration: 0.48s;
  --sidebar-expand-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --sidebar-collapse-duration: 0.32s;
  --sidebar-collapse-ease: cubic-bezier(0.4, 0, 1, 1);
  --sidebar-col: 5.1rem;
  --sidebar-circle: 4rem;
  --sidebar-right-inset: 0.55rem;
  --sidebar-strip-edge-pad: 1.6rem;
  position: fixed;
  right: max(0px, calc((100vw - min(100vw, var(--content-max))) / 2));
  bottom: calc(6rem + var(--safe-bottom) + var(--vv-bottom-offset, 0px));
  z-index: 210;
  width: var(--sidebar-col);
  max-width: calc(100vw - 2rem);
  overflow: visible;
  pointer-events: none;
}

.h5-sidebar-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
  width: var(--sidebar-col);
  pointer-events: none;
  overflow: visible;
}

.h5-sidebar-stack > .h5-sidebar-center-btn,
.h5-sidebar-stack > .h5-sidebar-group,
.h5-sidebar-stack > .h5-sidebar-top {
  flex: 0 0 auto;
  width: var(--sidebar-col);
  box-sizing: border-box;
  pointer-events: auto;
}

.h5-sidebar-stack > .h5-sidebar-group.is-open {
  width: auto;
  align-self: flex-end;
}

.h5-sidebar-top {
  visibility: hidden;
  pointer-events: none;
}

.h5-sidebar-top.is-visible {
  visibility: visible;
  pointer-events: auto;
}

.h5-sidebar-group {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: var(--sidebar-col);
  min-width: var(--sidebar-col);
  height: 5rem;
  max-height: 5rem;
  padding-right: var(--sidebar-right-inset);
  box-sizing: border-box;
  overflow: visible;
  flex: 0 0 auto;
}

#h5SidebarService {
  --sidebar-expand-duration: 0.22s;
  --sidebar-collapse-duration: 0.02s;
}

#h5SidebarSocial {
  --sidebar-expand-duration: 0.48s;
  --sidebar-collapse-duration: 0.32s;
}

.h5-sidebar-group.is-open {
  width: auto;
  min-width: var(--sidebar-col);
  max-width: calc(100vw - 2rem);
  padding-right: var(--sidebar-right-inset);
  justify-content: flex-end;
  overflow: visible;
}

.h5-sidebar-group.is-open.is-closing .h5-sidebar-strip {
  max-width: 0;
  visibility: visible;
  pointer-events: none;
  overflow: hidden;
  transition:
    max-width var(--sidebar-collapse-duration) var(--sidebar-collapse-ease),
    visibility 0s;
}

.h5-sidebar-capsule {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  box-sizing: border-box;
  min-width: 4rem;
  width: auto;
  height: 4rem;
  max-height: 4rem;
  min-height: 4rem;
  border-radius: 2rem;
  overflow: visible;
}

.h5-sidebar-group.is-open .h5-sidebar-capsule {
  background: #ffffff;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
  padding: 0 0 0 var(--sidebar-strip-edge-pad);
  overflow: hidden;
}

.h5-sidebar-capsule .h5-sidebar-btn {
  width: var(--sidebar-circle);
  height: var(--sidebar-circle);
  padding: 0;
  flex-shrink: 0;
}

.h5-sidebar-capsule .h5-sidebar-btn-bg {
  right: 0;
  width: var(--sidebar-circle);
  height: var(--sidebar-circle);
}

.h5-sidebar-capsule .h5-sidebar-btn-icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin-right: 0;
}

.h5-sidebar-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: var(--sidebar-col);
  height: 5rem;
  border: none;
  background: transparent;
  padding: 0 var(--sidebar-right-inset) 0 0;
  box-sizing: border-box;
  cursor: pointer;
  text-decoration: none;
  flex: 0 0 auto;
  overflow: visible;
}

.h5-sidebar-btn-bg {
  position: absolute;
  right: var(--sidebar-right-inset);
  top: 50%;
  width: var(--sidebar-circle);
  height: var(--sidebar-circle);
  transform: translateY(-50%);
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
  opacity: 0.95;
  transition: box-shadow 0.25s ease;
}

.h5-sidebar-btn:active .h5-sidebar-btn-bg {
  box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.28);
}

.h5-sidebar-group.is-open .h5-sidebar-service-btn .h5-sidebar-btn-bg,
.h5-sidebar-group.is-open .h5-sidebar-social-btn .h5-sidebar-btn-bg {
  visibility: hidden;
  box-shadow: none;
}

.h5-sidebar-btn-icon,
.h5-sidebar-strip-icon {
  position: relative;
  z-index: 1;
  display: block;
  object-fit: contain;
}

.h5-sidebar-btn-icon {
  width: 1.6rem;
  height: 1.6rem;
  filter: brightness(0) saturate(100%) invert(33%) sepia(6%) saturate(0%)
    hue-rotate(174deg) brightness(94%) contrast(88%);
}

.h5-sidebar-center-btn > .h5-sidebar-btn-icon,
.h5-sidebar-top > .h5-sidebar-btn-icon {
  position: absolute;
  right: calc(
    var(--sidebar-right-inset) + (var(--sidebar-circle) - 1.6rem) / 2
  );
  top: 50%;
  transform: translateY(-50%);
}

.h5-sidebar-top .h5-sidebar-btn-icon {
  width: 1.6rem;
  height: 1.6rem;
}

.h5-sidebar a,
.h5-sidebar-strip-item {
  text-decoration: none !important;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
}

.h5-sidebar-strip-item:focus,
.h5-sidebar-strip-item:active {
  text-decoration: none !important;
  outline: none;
}

.h5-sidebar-strip-icon {
  width: auto;
  height: 1.8rem;
  max-width: 2.2rem;
  filter: brightness(0) saturate(100%) invert(33%) sepia(6%) saturate(0%)
    hue-rotate(174deg) brightness(94%) contrast(88%);
}

.h5-sidebar-strip {
  flex: 0 1 auto;
  display: flex;
  align-items: center;
  align-self: center;
  height: 4rem;
  max-height: 4rem;
  min-height: 4rem;
  min-width: 0;
  max-width: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  transition:
    max-width var(--sidebar-expand-duration) var(--sidebar-expand-ease),
    visibility 0s;
  z-index: 1;
}

.h5-sidebar-strip-scroll {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 2rem;
  height: 4rem;
  max-height: 4rem;
  min-height: 4rem;
  width: max-content;
  max-width: calc(100vw - 12rem);
  padding: 0 var(--sidebar-strip-edge-pad) 0 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

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

#h5SidebarService.is-open .h5-sidebar-strip {
  max-width: 10rem;
}

.h5-sidebar-group.is-open .h5-sidebar-strip {
  visibility: visible;
  pointer-events: auto;
  max-width: calc(100vw - 12rem);
  overflow: hidden;
  transition:
    max-width var(--sidebar-expand-duration) var(--sidebar-expand-ease),
    visibility 0s;
}

.h5-sidebar-strip-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  flex: 0 0 auto;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}

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

.h5-sidebar-modal {
  position: fixed;
  inset: 0;
  z-index: 220;
  display: flex;
  align-items: center;
  justify-content: center;
}

.h5-sidebar-modal-mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

.h5-sidebar-modal-panel {
  position: relative;
  z-index: 1;
  width: min(24rem, calc(100vw - 4rem));
  padding: 2rem;
  border-radius: 0.5rem;
  background: #ffffff;
  text-align: center;
}

.h5-sidebar-modal-panel.is-qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 19.9rem;
  height: 23.3rem;
  padding: 4rem 0;
  border: 1px solid #f2f2f2;
  box-sizing: border-box;
}

.h5-sidebar-modal-panel.is-hotline {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 19.9rem;
  height: 13.3rem;
  padding: 0;
  border: 1px solid #f2f2f2;
  box-sizing: border-box;
}

.h5-sidebar-modal-title {
  margin: 0 0 1.2rem;
  color: #555555;
  font-size: 1.4rem;
  line-height: 1.9rem;
}

.h5-sidebar-modal-panel.is-hotline .h5-sidebar-modal-title {
  margin: 0 0 1.5rem;
  font-weight: 400;
}

.h5-sidebar-modal-panel.is-qr .h5-sidebar-modal-qr {
  width: 11.9rem;
  height: 11.9rem;
  margin: 0 0 1.5rem;
}

.h5-sidebar-modal-name {
  margin: 0;
  color: #555555;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.9rem;
}

.h5-sidebar-modal-panel.is-qr .h5-sidebar-modal-copy {
  margin-top: 0.8rem;
}

.h5-sidebar-modal-qr {
  display: block;
  width: 11.9rem;
  height: 11.9rem;
  margin: 0 auto;
  object-fit: contain;
}

.h5-sidebar-modal-qr[hidden],
.h5-sidebar-modal-name[hidden],
.h5-sidebar-modal-copy[hidden],
.h5-sidebar-modal-hotline[hidden] {
  display: none;
}

.h5-sidebar-modal-qr.is-copyable {
  cursor: pointer;
}

.h5-sidebar-modal-copy {
  margin: 0;
  color: #555555;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.9rem;
  cursor: pointer;
}

.h5-sidebar-modal-hotline {
  margin: 0;
  color: #1a45b3;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.4rem;
}

.h5-sidebar-modal-panel.is-hotline .h5-sidebar-modal-hotline {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.9rem;
}

@media (min-width: 768px) {
  .home-hero-content {
    top: 16rem;
    padding: 0 4.8rem;
  }

  .home-hero-title {
    font-size: 4rem;
  }

  .home-hero-desc {
    max-width: 36rem;
  }
}

/* ===== 首页区块通用 ===== */
.home-main {
  background: #ffffff;
}

.page-home .home-main {
  position: relative;
  z-index: 2;
  isolation: isolate;
}

.page-home .home-main > section + section:not(.h5-process) {
  margin-top: calc(-1 * var(--section-gap));
}

.page-home .home-main > * + .h5-footer {
  margin-top: calc(-1 * var(--section-gap));
}

.page-home .home-main > section {
  padding-top: var(--section-gap);
  padding-bottom: var(--section-gap);
}

.page-home .home-main > .h5-process {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - var(--header-height) - var(--safe-top));
  min-height: calc(100dvh - var(--header-height) - var(--safe-top));
  padding-top: var(--section-gap);
  padding-bottom: var(--section-gap);
  margin-top: var(--section-gap);
}

.page-home .home-main > .h5-news + .h5-process {
  margin-top: 0;
}

.page-home .home-main > .h5-process + .h5-about {
  margin-top: 0;
}

.page-home .home-main > .h5-about {
  padding-top: 6rem;
  padding-bottom: 7rem;
}

.page-home .home-main > .h5-about + .h5-footer {
  margin-top: 0;
}

.page-home .h5-process .h5-process-head {
  flex-shrink: 0;
  padding-bottom: 5.5rem;
}

.page-home .h5-process .h5-process-flow {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 0;
}

.page-home .h5-process .h5-process-diagram {
  max-height: 100%;
  object-fit: contain;
}

.page-home .h5-process .h5-process-more {
  flex-shrink: 0;
  margin: 6.7rem auto 0;
}

.page-home .home-main > .h5-process::after {
  content: "";
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
  z-index: 1;
}

.home-main > section {
  padding-bottom: var(--section-gap);
}

/* 区块标题 */
.h5-section-head {
  text-align: center;
  padding: 0 0 3.2rem;
}

.h5-section-head--light .h5-section-title-cn {
  color: #ffffff;
}

.h5-section-head--light .h5-section-title-en {
  color: #ffffff;
}

.h5-section-head--light .h5-section-star {
  filter: brightness(0) invert(1);
}

.h5-section-title-cn {
  margin: 0;
  font-size: 3rem;
  font-weight: 400;
  line-height: 4rem;
  color: #333333;
}

.h5-section-deco {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0.5rem 0 0.4rem;
}

.h5-section-line {
  width: 5rem;
  height: 0.2rem;
  border-radius: 0.5rem;
  background: #7f7f7f;
}

.h5-section-line--light {
  background: #ffffff;
}

.h5-section-star {
  width: 12.6rem;
  height: auto;
  flex-shrink: 0;
}

.h5-section-title-en {
  margin: 0;
  font-size: 1rem;
  line-height: 1.4rem;
  color: #7f7f7f;
}

.h5-section-head--light .h5-section-title-en {
  opacity: 0.9;
}

/* 描边按钮 */
.h5-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 11.9rem;
  height: 4rem;
  padding: 0 1.6rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem;
  background: #ffffff;
  font-size: 1.4rem;
  color: #333333;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease;
}

.h5-btn-outline--primary:active,
.h5-btn-outline--primary:focus-visible {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #ffffff;
}

.h5-btn-outline--white {
  background: rgba(255, 255, 255, 0.15);
  border-color: #ffffff;
  color: #ffffff;
}

.h5-btn-outline--white:active,
.h5-btn-outline--white:focus-visible {
  background: rgba(255, 255, 255, 0.3);
}

@media (hover: hover) {
  .h5-btn-outline--primary:hover {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #ffffff;
  }

  .h5-btn-outline--white:hover {
    background: rgba(255, 255, 255, 0.3);
  }
}

#homeBusiness,
#homeNews,
#homeProcess,
#homeAbout {
  scroll-margin-top: calc(var(--header-height) + var(--safe-top));
}

/* ===== 业务范围 ===== */
.h5-business {
  background: #ffffff;
}

.h5-business-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  padding: 0 var(--section-x);
}

.h5-business-card {
  width: 35rem;
  max-width: 100%;
  box-sizing: border-box;
  padding: 6rem 2rem 3.2rem;
  background: #f3f5f7;
  border-radius: 0.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.h5-business-icon {
  width: 5.7rem;
  height: 5rem;
  margin: 0 0 4.2rem;
  flex-shrink: 0;
  object-fit: contain;
}

.h5-business-name {
  margin: 0 0 2rem;
  font-size: 1.6rem;
  font-weight: 900;
  font-family: "PingFang SC", "Microsoft YaHei", "微软雅黑", sans-serif;
  line-height: 2.1rem;
  color: #333333;
  flex-shrink: 0;
}

.h5-business-desc {
  margin: 0;
  width: 100%;
  max-width: 31rem;
  font-size: 1.4rem;
  line-height: 1.7;
  color: #7f7f7f;
  text-align: justify;
  text-justify: inter-word;
}

.h5-business-card .h5-btn-outline {
  margin-top: 4.2rem;
  flex-shrink: 0;
  width: 9.5rem;
  min-width: 9.5rem;
  height: 3.2rem;
  padding: 0;
  border: 1px solid var(--color-primary);
  border-radius: 0.5rem;
  font-size: 1.4rem;
  line-height: 3.2rem;
  color: var(--color-primary);
  background: #ffffff;
}

.h5-business-card .h5-btn-outline:active,
.h5-business-card .h5-btn-outline:focus,
.h5-business-card .h5-btn-outline:focus-visible {
  background: #ffffff;
  border-color: var(--color-primary);
  color: var(--color-primary);
  opacity: 0.8;
}

/* ===== 最新资讯 ===== */
.h5-news {
  background: #ffffff;
}

.h5-news-panel {
  padding: 0 var(--section-x);
}

.h5-news-tabs {
  display: flex;
  gap: 1rem;
  margin-bottom: var(--section-inner-gap);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.page-home .h5-news-tabs {
  margin-bottom: 3rem;
}

.h5-news-tabs::-webkit-scrollbar {
  display: none;
}

.h5-news-tab {
  flex-shrink: 0;
  min-width: 9.5rem;
  height: 3.2rem;
  padding: 0 1.2rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  background: #f2f4f9;
  font-size: 1.4rem;
  color: #7f7f7f;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.h5-news-tab.is-active {
  background: #f1f5ff;
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.h5-news-pane {
  display: block;
}

.h5-news-pane[hidden] {
  display: none !important;
}

.h5-news-carousel-stack {
  margin-bottom: var(--section-inner-gap);
}

.page-home .h5-news-carousel-stack,
.page-news .h5-news-carousel-stack {
  width: 35rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
}

.page-news .h5-news-page-hero .h5-news-carousel-stack {
  margin-bottom: 0;
}

.page-news .h5-news-carousel-stack,
.page-news .h5-news-carousel-wrap,
.page-news .h5-news-carousel,
.page-news .h5-news-swiper {
  width: 35rem;
  max-width: 100%;
  height: 20rem;
}

.page-home .h5-news-carousel-stack,
.page-home .h5-news-carousel-wrap,
.page-home .h5-news-carousel,
.page-news .h5-news-carousel-stack,
.page-news .h5-news-carousel-wrap,
.page-news .h5-news-carousel {
  border-radius: 0.4rem;
  overflow: hidden;
}

.page-home .h5-news-swiper,
.page-news .h5-news-swiper {
  width: 35rem;
  max-width: 100%;
  margin: 0 auto;
}

.page-home .h5-news-tabs {
  margin-bottom: 3rem;
}

.page-news .h5-news-tabs:not(.h5-news-page-tabs) {
  margin-bottom: 3rem;
}

.h5-news-carousel-wrap[hidden] {
  display: none !important;
}

.h5-news-carousel {
  border-radius: 0;
  overflow: hidden;
}

.h5-news-swiper {
  position: relative;
  width: 100%;
  height: 20rem;
  overflow: hidden;
}

.h5-news-swiper .swiper-wrapper,
.h5-news-swiper .swiper-slide {
  height: 100%;
}

.h5-news-slide {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: #ffffff;
}

.h5-news-slide-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.h5-news-slide-mask {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 45%,
    rgba(0, 0, 0, 0.62) 100%
  );
  pointer-events: none;
}

.h5-news-slide-title {
  position: absolute;
  left: 2rem;
  right: 2rem;
  bottom: 2.2rem;
  margin: 0;
  font-size: 1.4rem;
  line-height: 2rem;
  font-weight: 400;
  color: #ffffff;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  z-index: 1;
}

.h5-news-swiper .h5-news-slide-dots,
.h5-news-slide-dots.swiper-pagination {
  position: absolute;
  left: 2rem !important;
  right: auto !important;
  width: auto !important;
  bottom: 0.8rem;
  transform: none !important;
  z-index: 2;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.6rem;
  pointer-events: none;
}

.h5-news-slide-dots .swiper-pagination-bullet {
  width: 0.6rem;
  height: 0.6rem;
  margin: 0 !important;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  opacity: 1;
  pointer-events: auto;
}

.h5-news-slide-dots .swiper-pagination-bullet-active {
  background: #ffffff;
}

.h5-news-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.h5-news-item {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid #e8eaed;
}

.h5-news-item:not(:first-child) {
  padding-top: 3rem;
}

.page-home .home-main > .h5-news {
  padding-bottom: 4rem;
}

.h5-news-item-thumb {
  flex-shrink: 0;
  width: 13.8rem;
  height: 8.3rem;
  border-radius: 0.3rem;
  object-fit: cover;
  background: #f3f5f7;
}

.h5-news-item-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.8rem;
}

.h5-news-item-title {
  margin: 0;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
  text-align: justify;
  text-justify: inter-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.h5-news-item-date {
  margin: 0;
  width: 100%;
  font-size: 1.2rem;
  line-height: 1.5;
  color: #aaaaaa;
  font-style: normal;
}

.h5-news-more {
  display: block;
  width: fit-content;
  margin: 4rem auto 0;
  font-size: 1.4rem;
  line-height: 2rem;
  color: var(--color-primary);
  -webkit-tap-highlight-color: transparent;
}

.h5-news-more:active {
  opacity: 0.75;
}

.h5-news-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 10rem;
  padding: 3.2rem 1.6rem;
  text-align: center;
}

.h5-news-empty-text {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #aaaaaa;
  letter-spacing: 0.04em;
}

/* ===== 资讯列表页 ===== */
.page-news .h5-news-main {
  padding-top: calc(var(--header-height) + var(--safe-top));
}

.h5-news-main {
  background: #ffffff;
}

.h5-news-page {
  padding: 2rem 0 var(--section-gap);
}

.h5-news-page-inner {
  width: 35rem;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}

.h5-news-page-panels {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.h5-news-page-pane {
  grid-area: 1 / 1;
  display: block;
}

.h5-news-page-pane[hidden] {
  display: none !important;
}

.h5-news-page-list .h5-news-item.is-hidden {
  display: none;
}

.h5-news-page-more {
  margin: 4rem auto 0;
}

.h5-news-page-more.is-hidden {
  display: none;
}

.h5-news-page-sticky-zone {
  margin: 0;
}

.h5-news-page-sticky-placeholder {
  display: block;
  width: 100%;
  height: 0;
}

.page-news .h5-news-page-sticky-bar {
  position: relative;
  z-index: 20;
  display: flex;
  align-items: center;
  min-height: 9.2rem;
  box-sizing: border-box;
  background: #ffffff;
}

.page-news .h5-news-page-sticky-bar.is-pinned {
  position: fixed;
  top: calc(var(--header-height) + var(--safe-top));
  left: 50%;
  transform: translateX(-50%);
  width: 35rem;
  max-width: calc(100% - 2 * var(--section-x));
  margin: 0;
}

.page-news .h5-news-page-sticky-bar::before {
  content: "";
  position: absolute;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  top: 0;
  bottom: 0;
  background: #ffffff;
  z-index: -1;
}

.page-news .h5-news-page-tabs {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  margin: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.page-news .h5-news-page-tabs::-webkit-scrollbar {
  display: none;
}

/* ===== 操作流程 ===== */
.h5-process {
  position: relative;
  color: #ffffff;
  overflow: hidden;
}

.h5-process-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.h5-process-bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.h5-process-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

.h5-process-head {
  position: relative;
  z-index: 2;
}

.h5-process-flow {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 var(--section-x);
}

.h5-process-diagram {
  display: block;
  width: 78%;
  max-width: 27.5rem;
  height: auto;
  margin: 0 auto;
}

.h5-process-item {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin: 0;
}

.h5-process-item--left {
  align-self: flex-start;
  margin-left: 4rem;
}

.h5-process-item--right {
  align-self: flex-end;
  margin-right: 4rem;
}

.h5-process-connector {
  width: 22rem;
  height: 4.8rem;
  flex-shrink: 0;
  margin: -0.4rem 0;
  pointer-events: none;
}

.h5-process-connector svg {
  display: block;
  width: 100%;
  height: 100%;
}

.h5-process-connector--dr {
  align-self: flex-start;
  margin-left: 7.5rem;
}

.h5-process-connector--dl {
  align-self: flex-end;
  margin-right: 7.5rem;
}

.h5-process-circle {
  position: relative;
  flex: 0 0 5rem;
  width: 5rem;
  height: 5rem;
}

.h5-process-circle-bg {
  width: 100%;
  height: 100%;
}

.h5-process-icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.h5-process-icon--1 {
  width: 2.7rem;
  height: 2.7rem;
}

.h5-process-icon--2 {
  width: 2.4rem;
  height: 2.7rem;
}

.h5-process-icon--3 {
  width: 2.6rem;
  height: 2.7rem;
}

.h5-process-icon--4 {
  width: 3.1rem;
  height: 2.7rem;
}

.h5-process-icon--5 {
  width: 2.7rem;
  height: 2.7rem;
}

.h5-process-icon--6 {
  width: 2.7rem;
  height: 2.7rem;
}

.h5-process-labels {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.5rem 0.8rem;
  margin: 0;
  max-width: 21rem;
}

.h5-process-item--right .h5-process-labels {
  justify-content: flex-end;
  text-align: right;
}

.h5-process-labels--wide {
  max-width: 17.5rem;
}

.h5-process-label-cn {
  font-size: 1.4rem;
  line-height: 1.9rem;
  color: #ffffff;
  white-space: nowrap;
}

.h5-process-label-en {
  font-size: 1rem;
  line-height: 1.4rem;
  color: #aaaaaa;
  white-space: nowrap;
}

.h5-process-more {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9.5rem;
  height: 3.2rem;
  margin: var(--section-head-gap) auto 0;
  border: 1px solid #ffffff;
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.15);
  font-size: 1.4rem;
  line-height: 1;
  color: #ffffff;
  -webkit-tap-highlight-color: transparent;
}

.h5-process-more:active {
  background: rgba(255, 255, 255, 0.3);
}

/* ===== 关于我们 ===== */
.h5-about {
  background: #ffffff;
}

.h5-about-body {
  padding: 0 var(--section-x);
}

.h5-about-text {
  margin: 0 0 1.3rem;
  width: 35rem;
  max-width: 100%;
  min-height: 28rem;
  font-size: 1.4rem;
  line-height: 3.5rem;
  color: #333333;
  text-align: justify;
  text-justify: inter-word;
}

.h5-about-text-bold {
  font-weight: 900;
}

.h5-about-visual {
  position: relative;
  width: 35rem;
  max-width: 100%;
  height: 23.3rem;
  border-radius: 0.5rem;
  overflow: hidden;
}

.h5-about-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-color: rgba(0, 0, 0, 0.4);
  pointer-events: none;
  z-index: 1;
}

.h5-about-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.h5-about-more {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9.5rem;
  height: 3.2rem;
  border: 1px solid #ffffff;
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.15);
  font-size: 1.4rem;
  line-height: 1;
  color: #ffffff;
  -webkit-tap-highlight-color: transparent;
}

.h5-about-more:active {
  background: rgba(255, 255, 255, 0.3);
}

@media (min-width: 768px) {
  .h5-business-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: var(--section-inner-gap);
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 var(--section-x);
  }

  .h5-business-card {
    max-width: none;
    height: auto;
    padding: 4rem 2.4rem 2.8rem;
  }

  .h5-business-icon {
    margin-bottom: 2.4rem;
  }

  .h5-business-desc {
    max-width: none;
    line-height: 2.4rem;
  }

  .h5-business-card .h5-btn-outline {
    margin-top: 4.2rem;
  }

  .h5-about-body {
    max-width: none;
    margin: 0;
  }
}

/* ===== 页脚 ===== */
.h5-footer {
  background: #000000;
  color: #aaaaaa;
  font-size: 1.2rem;
  line-height: 1.6rem;
}

.h5-footer-inner {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 2.5rem var(--section-x) calc(3rem + var(--safe-bottom));
  text-align: center;
}

.h5-footer-socials {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 0.5rem;
  max-width: 35rem;
  margin: 0 auto 2.5rem;
}

.h5-footer-social {
  flex: 0 0 auto;
}

.h5-footer-social-link,
.h5-footer-social-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}

.h5-footer-social-static {
  cursor: default;
  pointer-events: none;
}

.h5-footer-social-bg {
  position: absolute;
  inset: 0;
  width: 4.8rem;
  height: 4.8rem;
  opacity: 0.95;
}

.h5-footer-social-icon {
  position: relative;
  z-index: 1;
  width: auto;
  height: 2rem;
  max-width: 2.9rem;
  object-fit: contain;
}

.h5-footer-divider {
  display: block;
  width: 100vw;
  height: 1px;
  margin: 0 calc(50% - 50vw);
  border: 0;
  background-color: rgba(127, 127, 127, 0.25);
}

.h5-footer-socials + .h5-footer-divider {
  margin-bottom: 3rem;
}

.h5-footer-legal + .h5-footer-divider {
  margin-bottom: 3rem;
}

.h5-footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem 3rem;
  margin-bottom: 3rem;
}

.h5-footer-nav a {
  color: #aaaaaa;
  font-size: 1.2rem;
  line-height: 1.6rem;
}

.h5-footer-hotline {
  margin: 0 0 2rem;
}

.h5-footer-hotline-label {
  margin: 0;
  color: #aaaaaa;
  font-size: 1.2rem;
  line-height: 2.5rem;
}

.h5-footer-hotline-num {
  margin: 0;
  font-size: 1.2rem;
  line-height: 2.5rem;
}

.h5-footer-hotline-num a {
  color: #ffffff;
  font-size: 1.2rem;
}

.h5-footer-qr {
  margin-bottom: 3rem;
}

.h5-footer-qr-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9.6rem;
  height: 9.6rem;
  margin: 0 auto 1.5rem;
  background: #ffffff;
  border: 0.1rem solid #f2f2f2;
  border-radius: 0.5rem;
  box-sizing: border-box;
}

.h5-footer-qr-btn {
  display: block;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  cursor: pointer;
}

.h5-footer-qr-btn .h5-footer-qr-img,
.h5-footer-qr-img[data-copy] {
  cursor: pointer;
}

.h5-footer-qr-img {
  display: block;
  width: 9.4rem;
  height: 9.4rem;
  object-fit: contain;
}

.h5-footer-copy,
.h5-footer-copy-label {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  color: #aaaaaa;
  font-size: 1.2rem;
  line-height: 1.6rem;
  cursor: pointer;
}

.h5-footer-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem 3.8rem;
  margin-bottom: 3rem;
}

.h5-footer-legal a,
.h5-footer-legal-btn {
  color: #aaaaaa;
  font-size: 1.2rem;
  line-height: 1.6rem;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.h5-footer-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.7rem;
}

.h5-footer-beian {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.6rem;
}

.h5-footer-beian-icon {
  flex: 0 0 auto;
  width: 1.1rem;
  height: 1.2rem;
}

.h5-footer-beian a,
.h5-footer-icp a {
  color: #aaaaaa;
}

.h5-footer-icp,
.h5-footer-copy {
  margin: 0;
  color: #aaaaaa;
  font-size: 1.2rem;
  line-height: 1.6rem;
}

.h5-footer-toast {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 220;
  transform: translate(-50%, -50%);
  min-width: 10rem;
  padding: 0.8rem 1.6rem;
  border-radius: 0.5rem;
  background: rgba(242, 255, 221, 0.98);
  border: 0.1rem solid #70b603;
  color: #70b603;
  font-size: 1.4rem;
  line-height: 2rem;
  text-align: center;
  pointer-events: none;
}

.h5-footer-toast[hidden] {
  display: none;
}

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

.h5-footer-modal {
  position: fixed;
  inset: 0;
  z-index: 210;
  display: flex;
  align-items: center;
  justify-content: center;
}

.h5-footer-modal-mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
}

.h5-footer-modal-panel {
  position: relative;
  z-index: 1;
  width: min(24rem, calc(100vw - 4rem));
  padding: 2rem;
  border-radius: 0.5rem;
  background: #ffffff;
  text-align: center;
}

.h5-footer-modal-title {
  margin: 0 0 1.2rem;
  color: #555555;
  font-size: 1.4rem;
  line-height: 1.9rem;
}

.h5-footer-modal-qr {
  display: block;
  width: 11.9rem;
  height: 11.9rem;
  margin: 0 auto;
  object-fit: contain;
}

.h5-footer-license-panel {
  position: relative;
  z-index: 1;
  width: min(35rem, calc(100vw - 3.2rem));
  max-height: calc(100vh - 6.4rem);
  padding: 1.6rem;
  border-radius: 0.5rem;
  background: #ffffff;
  box-sizing: border-box;
}

.h5-footer-license-img {
  display: block;
  width: 100%;
  height: auto;
  max-height: calc(100vh - 10rem);
  object-fit: contain;
}

/* ===== 法务页：服务协议 / 隐私政策 ===== */
.h5-legal-main {
  background: #ffffff;
  padding-top: calc(var(--header-height) + var(--safe-top));
}

.h5-legal-page {
  position: relative;
  padding-bottom: var(--section-gap);
}

.h5-legal-toolbar {
  position: sticky;
  top: calc(var(--header-height) + var(--safe-top));
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 4.6rem;
  padding: 0 var(--section-x);
  background: #ffffff;
  border-bottom: none;
}

.h5-legal-head {
  padding: 4.5rem var(--section-x) 0;
}

.h5-legal-title {
  margin: 0 0 5.5rem;
  font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.6rem;
  color: #333333;
}

.h5-legal-date {
  margin: 0 0 2rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #000000;
}

.h5-legal-content {
  padding: 0 var(--section-x);
}

.h5-legal-back {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.4rem;
  line-height: 2rem;
  color: #333333;
}

.h5-legal-back-icon {
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  border-left: 0.2rem solid currentColor;
  border-bottom: 0.2rem solid currentColor;
  transform: rotate(45deg);
  flex-shrink: 0;
}

.h5-legal-toc-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.4rem;
  line-height: 2rem;
  color: #333333;
}

.h5-legal-toc-btn-icon {
  width: 1.6rem;
  height: 1.2rem;
  flex-shrink: 0;
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 100% 0.18rem no-repeat,
    linear-gradient(currentColor, currentColor) 0 50% / 100% 0.18rem no-repeat,
    linear-gradient(currentColor, currentColor) 0 100% / 100% 0.18rem no-repeat;
}

.h5-legal-toc-mask {
  position: fixed;
  top: calc(var(--header-height) + var(--safe-top));
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 230;
  width: 100%;
  background: rgba(0, 0, 0, 0.35);
}

.h5-legal-toc-mask[hidden] {
  display: none;
}

.h5-legal-toc {
  position: fixed;
  top: calc(var(--header-height) + var(--safe-top));
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 231;
  width: 100%;
  background: #ffffff;
  box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.12);
  transform: translateY(-110%);
  transition:
    transform 0.28s ease,
    visibility 0.28s ease;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  visibility: hidden;
  pointer-events: none;
}

.h5-legal-toc.is-open {
  transform: translateY(0);
  visibility: visible;
  pointer-events: auto;
}

.h5-legal-toc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 4.6rem;
  padding: 0 var(--section-x);
  border-bottom: none;
  flex-shrink: 0;
  cursor: pointer;
}

.h5-legal-toc-label {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.4rem;
  line-height: 2rem;
  color: #333333;
}

.h5-legal-toc-close {
  width: 3.2rem;
  height: 3.2rem;
  font-size: 2.4rem;
  line-height: 1;
  color: #333333;
}

.h5-legal-toc-title {
  margin: 0;
  padding: 2rem var(--section-x) 4.5rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.6rem;
  color: #000000;
  flex-shrink: 0;
}

.h5-legal-toc-nav {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
  padding: 0 0 calc(3.2rem + env(safe-area-inset-bottom, 0px));
  list-style: none;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.h5-legal-toc-nav::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--section-x);
  width: 0.2rem;
  background: #e8e8e8;
  pointer-events: none;
}

.h5-legal-toc-nav li {
  margin: 0;
}

.h5-legal-toc-nav a {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 4rem;
  height: 4rem;
  padding: 0 var(--section-x) 0 calc(var(--section-x) + 0.4rem);
  margin-left: var(--section-x);
  border-left: none;
  font-size: 1.4rem;
  line-height: 2.2rem;
  font-weight: 400;
  color: #333333;
  transition:
    color 0.2s ease;
}

.h5-legal-toc-nav a.is-active::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0.3rem;
  background: #000000;
}

.h5-legal-toc-nav a.is-active {
  font-weight: 700;
  color: #000000;
}

.h5-legal-toc-nav > li:first-child > a.is-active {
  font-weight: 400;
  color: #333333;
}

.h5-legal-body {
  font-size: 1.4rem;
  line-height: 3.4rem;
  color: #333333;
  text-align: justify;
  text-justify: inter-word;
  word-break: break-word;
}

.h5-legal-body p,
.h5-legal-body span {
  color: #333333 !important;
  font-size: 1.4rem !important;
  line-height: 3.4rem !important;
  text-align: justify !important;
}

.h5-legal-body p {
  margin: 0 !important;
  font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑", sans-serif !important;
  font-weight: 700 !important;
}

.h5-legal-body span[style*="font-weight: 400"],
.h5-legal-body span[style*="font-weight:400"] {
  font-family: "微软雅黑", "PingFang SC", sans-serif !important;
  font-weight: 400 !important;
}

.h5-legal-body p:not(:has(span)) {
  margin-bottom: 1.5rem !important;
  line-height: 3rem !important;
}

.h5-legal-body p:not(:has(span)):not(:first-child) {
  margin-top: 1em !important;
}

.h5-legal-body p:empty {
  display: none;
  margin: 0 !important;
}

.h5-legal-body p:has(br:only-child) {
  display: none;
  margin: 0 !important;
}

.h5-legal-body h2,
.h5-legal-body h3,
.h5-legal-body h4 {
  margin: 1.2em 0 0.6em !important;
  font-size: 1.4rem !important;
  font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑", sans-serif !important;
  font-weight: 700 !important;
  line-height: 3.4rem !important;
  color: #333333 !important;
}

.h5-legal-body img {
  max-width: 100%;
  height: auto;
}

.h5-legal-body strong,
.h5-legal-body b,
.h5-legal-body p[style*="font-weight: 700"]:not(:has(span)),
.h5-legal-body p[style*="font-weight:700"]:not(:has(span)),
.h5-legal-body p[style*="微软雅黑 Bold"]:not(:has(span)),
.h5-legal-body span[style*="font-weight: 700"],
.h5-legal-body span[style*="font-weight:700"],
.h5-legal-body span[style*="微软雅黑 Bold"] {
  color: #333333 !important;
  font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑", sans-serif !important;
  font-weight: 700 !important;
}

.h5-legal-body [id^="legal-section-"] {
  scroll-margin-top: calc(var(--header-height) + var(--safe-top) + 4.6rem + 1.6rem);
}

body.is-legal-toc-open {
  overflow: hidden;
  touch-action: none;
}

body.is-legal-toc-open .h5-legal-toolbar {
  visibility: hidden;
  pointer-events: none;
}

body.is-legal-toc-open .h5-legal-toc,
body.is-legal-toc-open .h5-legal-toc-nav {
  touch-action: pan-y;
}

body.is-legal-toc-open .h5-sidebar {
  visibility: hidden;
  pointer-events: none;
}

/* ===== 资讯详情页 ===== */
.h5-article-main {
  background: #ffffff;
  padding-top: calc(var(--header-height) + var(--safe-top));
}

.h5-article-page {
  padding: 2rem 0 var(--section-gap);
}

.h5-article-page-inner {
  max-width: 39rem;
  margin: 0 auto;
  padding: 0 var(--section-x);
}

.h5-article-title {
  margin: 0 0 2rem;
  font-size: 2rem;
  font-weight: 400;
  color: #000000;
  line-height: 4rem;
  text-align: justify;
  text-justify: inter-word;
}

.h5-article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 2rem;
  font-size: 1.4rem;
  line-height: 3.5rem;
  color: #7f7f7f;
}

.h5-article-meta-sep {
  flex-shrink: 0;
  width: 1px;
  height: 1.9rem;
  background: #d7d7d7;
}

.h5-article-rule {
  height: 1px;
  margin-bottom: 2rem;
  background: #eeeeee;
}

.h5-article-body {
  font-size: 1.4rem;
  line-height: 3.5rem;
  color: #555555;
  text-align: justify;
  text-justify: inter-word;
}

.h5-article-body p {
  margin: 0 0 1.6rem;
}

.h5-article-body img,
.h5-article-body .art-body-img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 2rem auto;
}

.h5-article-body > *:last-child {
  margin-bottom: 0;
}

.h5-article-nav {
  margin-top: 3rem;
  padding-top: 4rem;
  border-top: 1px solid #eeeeee;
}

.h5-article-nav-item {
  display: flex;
  align-items: baseline;
  gap: 1.6rem;
  color: #555555;
  text-decoration: none;
  font-size: 1.4rem;
  line-height: 1.4;
  min-height: 3.5rem;
  padding: 1.05rem 0;
  box-sizing: border-box;
}

.h5-article-nav-item + .h5-article-nav-item {
  margin-top: 1rem;
}

.h5-article-nav-label {
  flex-shrink: 0;
}

.h5-article-nav-title {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  line-height: 1.4;
}

.h5-article-nav-item:active {
  opacity: 0.75;
}

/* ===== 服务页 ===== */
.h5-service-hero {
  height: var(--hero-h, 84.4rem);
  min-height: 60rem;
  color: #ffffff;
  overflow: hidden;
  position: relative;
  --hero-indicator-bottom: 5rem;
  --hero-indicator-height: 0.3rem;
  --hero-scroll-indicator-gap: 4.8rem;
}

.h5-service-hero--carousel .h5-service-hero-swiper {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.h5-service-hero-slide {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.h5-service-hero--carousel .h5-service-hero-slide .h5-service-hero-content,
.h5-service-hero--carousel .h5-service-hero-slide .h5-service-hero-bg {
  opacity: 1;
  transform: none;
}

.h5-service-hero--carousel .h5-service-hero-nav,
.h5-service-hero--carousel .h5-service-hero-controls {
  z-index: 3;
}

.h5-service-hero--carousel .h5-service-hero-content {
  z-index: 2;
  pointer-events: none;
}

.h5-service-hero--carousel .h5-service-hero-bg {
  transform: none;
  transition: none;
}

.h5-service-hero--carousel .h5-service-hero-nav {
  top: 57rem;
  z-index: 3;
  pointer-events: auto;
}

.h5-service-hero--carousel .h5-service-hero-controls {
  z-index: 4;
  pointer-events: none;
}

/* 服务页：Hero 固定首屏，主内容上滑盖住 */
.page-service .h5-service-hero {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: var(--content-max);
  z-index: 0;
}

.page-home .h5-hero-spacer,
.page-service .h5-hero-spacer,
.page-about .h5-hero-spacer {
  width: 100%;
  height: var(--hero-h, 84.4rem);
  min-height: 60rem;
  pointer-events: none;
}

.h5-service-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% 42%;
  pointer-events: none;
  transform: scale(1.06);
  transform-origin: 72% 42%;
  transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.h5-service-hero.is-animated .h5-service-hero-bg {
  transform: scale(1);
}

.h5-service-hero-overlay {
  display: none;
}

.h5-service-hero-content {
  position: absolute;
  left: 0;
  right: 0;
  top: 9rem;
  z-index: 1;
  padding: 0 2rem;
  text-align: left;
  pointer-events: none;
}

.h5-service-hero-title {
  margin: 0 0 3rem;
  max-width: 35rem;
  font-size: 3rem;
  font-weight: 400;
  line-height: 5.5rem;
}

.h5-service-hero-title span {
  display: block;
}

.h5-service-hero-desc {
  margin: 0;
  max-width: 35rem;
}

.h5-service-hero-desc p {
  margin: 0;
  font-size: 1.4rem;
  line-height: 5rem;
  color: #ffffff;
  text-align: left;
}

.h5-service-hero-animate {
  opacity: 0;
  transform: translateY(4.8rem);
}

.h5-service-hero.is-ready .h5-service-hero-animate {
  transition:
    opacity 1.1s ease,
    transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}

.h5-service-hero.is-animated .h5-service-hero-animate {
  opacity: 1;
  transform: translateY(0);
}

.h5-service-hero--carousel.is-animated .h5-service-hero-swiper .h5-service-hero-animate {
  opacity: 0;
  transform: translateY(4.8rem);
}

.h5-service-hero--carousel.is-animated .h5-service-hero-bg {
  transform: scale(1.06);
}

.h5-service-hero--carousel .h5-service-hero-slide.is-slide-animated .h5-service-hero-animate {
  opacity: 1;
  transform: translateY(0);
}

.h5-service-hero--carousel .h5-service-hero-slide.is-slide-animated .h5-service-hero-bg {
  transform: scale(1);
}

.h5-service-hero--carousel .h5-service-hero-slide.is-slide-animated .h5-service-hero-animate-1 {
  transition-delay: 0.15s;
}

.h5-service-hero--carousel .h5-service-hero-slide.is-slide-animated .h5-service-hero-animate-2 {
  transition-delay: 0.35s;
}

.h5-service-hero.is-animated .h5-service-hero-animate-1 {
  transition-delay: 0.15s;
}

.h5-service-hero.is-animated .h5-service-hero-animate-2 {
  transition-delay: 0.35s;
}

.h5-service-hero.is-animated .h5-service-hero-animate-3 {
  transition-delay: 0.55s;
}

.h5-service-hero.is-animated .h5-service-hero-animate-4 {
  transition-delay: 0.78s;
}

@media (prefers-reduced-motion: reduce) {
  .h5-service-hero-bg {
    transform: none;
    transition: none;
  }

  .h5-service-hero-animate {
    opacity: 1;
    transform: none;
  }

  .h5-service-hero-controls .home-hero-scroll.h5-service-hero-animate {
    transform: translateX(-50%);
  }

  .h5-service-hero.is-ready .h5-service-hero-animate {
    transition: none;
  }
}

.h5-service-hero-nav {
  position: absolute;
  left: 0;
  right: 0;
  top: 57rem;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 0 5.6rem 0 2rem;
}

.h5-service-hero-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
  min-width: 0;
  color: #ffffff;
  text-align: center;
}

.h5-service-hero-nav-item img {
  flex-shrink: 0;
  width: auto;
  height: 2.3rem;
  margin: 0 auto;
}

.h5-service-hero-nav-item span {
  display: block;
  width: 100%;
  max-width: 7.2rem;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6rem;
  white-space: normal;
  word-break: keep-all;
}

.h5-service-hero-controls {
  position: absolute;
  left: 50%;
  bottom: calc(4.8rem + var(--safe-bottom) + var(--vv-bottom-offset, 0px));
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  pointer-events: none;
}

.h5-service-hero-controls .home-hero-scroll,
.h5-service-hero-controls .home-hero-pagination {
  pointer-events: auto;
}

.h5-service-hero-controls .home-hero-scroll.h5-service-hero-animate {
  transform: translateY(4.8rem);
}

.h5-service-hero.is-animated .h5-service-hero-controls .home-hero-scroll.h5-service-hero-animate {
  transform: translateY(0);
}

.h5-service-main {
  background: #ffffff;
  scroll-margin-top: calc(var(--header-height) + var(--safe-top));
}

.page-service .h5-service-main {
  position: relative;
  z-index: 2;
  isolation: isolate;
}

.page-service .h5-service-main > * + * {
  margin-top: -1px;
}

.h5-service-page {
  display: flex;
  flex-direction: column;
}

.h5-service-section {
  padding: var(--section-gap) var(--section-x) 0;
  scroll-margin-top: calc(var(--header-height) + var(--safe-top) + 1.2rem);
  background: #ffffff;
}

.h5-service-section + .h5-service-section {
  position: relative;
  padding-top: 5rem;
}

.h5-service-section + .h5-service-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 35.1rem;
  height: 0.1rem;
  transform: translateX(-50%);
  background: #e8e8e8;
}

.h5-service-section--gray {
  background: #ffffff;
}

.h5-service-section-title {
  margin: 0 auto 3rem;
  max-width: 31rem;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 2.9rem;
  color: #000000;
}

.h5-service-features {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-width: 31rem;
  margin: 0 auto 3rem;
}

.h5-service-feature-title {
  margin: 0;
  font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 3rem;
  color: #333333;
}

.h5-service-feature-desc {
  margin: 0;
  font-size: 1.4rem;
  line-height: 3rem;
  color: #7f7f7f;
  text-align: justify;
}

.h5-service-visual {
  width: 100%;
  max-width: 31rem;
  margin: 0 auto 5rem;
}

.h5-service-visual-img {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 768px) {
  .h5-service-hero-content {
    top: 9rem;
    padding: 0 var(--section-x);
  }

  .h5-service-hero-nav {
    top: 57rem;
    padding: 0 6.4rem 0 var(--section-x);
  }

  .h5-service-section {
    padding-left: max(var(--section-x), calc((100% - 64rem) / 2));
    padding-right: max(var(--section-x), calc((100% - 64rem) / 2));
  }

  .h5-service-visual {
    max-width: 31rem;
  }
}

/* ===== 关于页（对齐 Axure 关于_1） ===== */
.h5-about-main {
  background: #ffffff;
  scroll-margin-top: calc(var(--header-height) + var(--safe-top));
}

.page-about .h5-about-main {
  position: relative;
  z-index: 2;
  isolation: isolate;
}

.page-about .h5-about-main > * + * {
  margin-top: -1px;
}

.h5-about-hero {
  height: var(--hero-h, 84.4rem);
  min-height: 60rem;
  color: #ffffff;
  overflow: hidden;
  --hero-indicator-bottom: 5rem;
  --hero-indicator-height: 0.3rem;
  --hero-scroll-indicator-gap: 4.8rem;
}

.h5-about-hero--carousel .h5-about-hero-swiper {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.h5-about-hero-slide {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.h5-about-hero--carousel .h5-about-hero-slide .h5-about-hero-content,
.h5-about-hero--carousel .h5-about-hero-slide .h5-about-hero-earth {
  opacity: 1;
  transform: none;
}

.h5-about-hero--carousel .h5-service-hero-nav {
  z-index: 3;
}

.h5-about-hero--carousel .h5-about-hero-controls {
  z-index: 4;
}

.h5-about-hero .h5-service-hero-nav {
  z-index: 3;
  pointer-events: auto;
}

.page-about .h5-about-hero {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: var(--content-max);
  z-index: 0;
}

.h5-about-hero-bg,
.h5-about-hero-overlay-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  pointer-events: none;
}

.h5-about-hero-bg {
  transform: scale(1.06);
  transform-origin: center top;
  transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.h5-about-hero.is-animated .h5-about-hero-bg {
  transform: scale(1);
}

.h5-about-hero-overlay-img {
  z-index: 1;
  opacity: 1;
}

.h5-about-hero-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(4, 12, 32, 0.08) 0%,
    rgba(4, 12, 32, 0.18) 42%,
    rgba(4, 12, 32, 0.42) 100%
  );
}

.h5-about-hero-content {
  position: absolute;
  left: 0;
  right: 0;
  top: 9.9rem;
  z-index: 3;
  padding: 0 2rem;
  text-align: center;
  pointer-events: none;
}

.h5-about-hero-title {
  margin: 0 auto 2rem;
  max-width: 22.4rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 5rem;
}

.h5-about-hero-title span {
  display: block;
}

.h5-about-hero-desc {
  max-width: 29.4rem;
  margin: 0 auto;
}

.h5-about-hero-desc p {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 5rem;
  word-break: keep-all;
}

.h5-about-hero-earth {
  position: absolute;
  left: 50%;
  top: 62.7rem;
  z-index: 2;
  width: 57.5rem;
  max-width: none;
  height: auto;
  transform: translateX(-50%);
  pointer-events: none;
}

.h5-about-hero-controls {
  position: absolute;
  left: 50%;
  bottom: calc(4.8rem + var(--safe-bottom) + var(--vv-bottom-offset, 0px));
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  pointer-events: none;
}

.h5-about-hero-controls .home-hero-scroll,
.h5-about-hero-controls .home-hero-pagination {
  pointer-events: auto;
}

.h5-about-hero-controls .home-hero-scroll.h5-about-hero-animate {
  transform: translateY(4.8rem);
}

.h5-about-hero.is-animated .h5-about-hero-controls .home-hero-scroll.h5-about-hero-animate {
  transform: translateY(0);
}

.h5-about-hero-animate {
  opacity: 0;
  transform: translateY(4.8rem);
}

.h5-about-hero.is-ready .h5-about-hero-animate {
  transition:
    opacity 0.9s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.h5-about-hero.is-animated .h5-about-hero-animate {
  opacity: 1;
  transform: translateY(0);
}

.h5-about-hero--carousel.is-animated .h5-about-hero-swiper .h5-about-hero-animate {
  opacity: 0;
  transform: translateY(4.8rem);
}

.h5-about-hero--carousel.is-animated .h5-about-hero-bg {
  transform: scale(1.06);
}

.h5-about-hero--carousel .h5-about-hero-slide.is-slide-animated .h5-about-hero-animate {
  opacity: 1;
  transform: translateY(0);
}

.h5-about-hero--carousel .h5-about-hero-slide.is-slide-animated .h5-about-hero-bg {
  transform: scale(1);
}

.h5-about-hero--carousel .h5-about-hero-slide.is-slide-animated .h5-about-hero-animate-1 {
  transition-delay: 0.05s;
}

.h5-about-hero--carousel .h5-about-hero-slide.is-slide-animated .h5-about-hero-animate-2 {
  transition-delay: 0.18s;
}

.h5-about-hero--carousel .h5-about-hero-slide.is-slide-animated .h5-about-hero-animate-3 {
  transition-delay: 0.3s;
}

.h5-about-hero.is-animated .h5-about-hero-animate-1 {
  transition-delay: 0.05s;
}
.h5-about-hero.is-animated .h5-about-hero-animate-2 {
  transition-delay: 0.18s;
}
.h5-about-hero.is-animated .h5-about-hero-animate-3 {
  transition-delay: 0.3s;
}
.h5-about-hero.is-animated .h5-about-hero-animate-4 {
  transition-delay: 0.42s;
}

@media (min-width: 768px) {
  .h5-about-hero-content {
    top: 8.4rem;
    left: 0;
    right: 0;
    padding: 0 max(7.2rem, var(--section-x));
    text-align: center;
  }

  .h5-about-hero-title {
    max-width: 36rem;
    font-size: 2.5rem;
    line-height: 3.8rem;
    margin-bottom: 1.2rem;
  }

  .h5-about-hero-desc {
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 1.6rem;
  }

  .h5-about-hero-desc p {
    font-size: 1.3rem;
    line-height: 3.2rem;
    word-break: keep-all;
  }

  .h5-about-hero-earth {
    top: auto;
    bottom: calc(9.6rem + var(--safe-bottom) + var(--vv-bottom-offset, 0px));
    width: min(52rem, calc(100% - 12rem));
  }
}

.h5-about-page {
  background: #ffffff;
}

.h5-about-tabs {
  position: sticky;
  top: calc(var(--header-height) + var(--safe-top));
  z-index: 20;
  background: #ffffff;
}

.h5-about-tabs-track {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 3rem 2rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.h5-about-tabs-track::-webkit-scrollbar {
  display: none;
}

.h5-about-tab {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 6.2rem;
  min-height: 3.2rem;
  margin: 0;
  padding: 0.4rem 1.2rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  background: #f2f4f9;
  color: #7f7f7f;
  font: inherit;
  font-size: 1.4rem;
  line-height: 1.4;
  white-space: nowrap;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.h5-about-tab.is-active {
  background: #f1f5ff;
  border-color: #1a45b3;
  color: #1a45b3;
}

.h5-about-tab-text {
  display: block;
}

.h5-about-panels {
  padding: 0 2rem 2rem;
}

.page-about .h5-about-panels {
  padding-bottom: 5rem;
}

.h5-about-panel {
  scroll-margin-top: calc(var(--header-height) + var(--safe-top) + 12rem);
  padding-bottom: 2rem;
  background: #ffffff;
}

.page-about .h5-about-panel[data-contact-panel="true"] {
  padding-bottom: 0;
}

.h5-about-panel + .h5-about-panel {
  padding-top: 1.5rem;
}

.h5-about-panel-head {
  margin-bottom: 2.5rem;
}

.h5-about-panel:first-child .h5-about-panel-head {
  padding-top: 2rem;
}

.h5-about-panel-mark {
  display: block;
  width: 8.8rem;
  height: 2.8rem;
  margin-top: 2rem;
  object-fit: contain;
}

.h5-about-panel-title {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  margin: 0;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 2.9rem;
  color: #333333;
}

.h5-about-panel-title-cn {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.h5-about-panel-subtitle {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.32;
  color: #333333;
  white-space: nowrap;
}

.h5-about-panel-lead {
  margin: 0.8rem 0 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.9rem;
  color: #333333;
}

.h5-about-panel-note {
  margin: 2rem 0 0;
  font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 3rem;
  color: #333333;
}

.h5-about-panel-slogan p {
  margin: 2rem 0 0;
  font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 3rem;
  color: #333333;
}

.h5-about-panel-slogan p + p {
  margin-top: 0.8rem;
}

.h5-about-panel-rule {
  height: 0.1rem;
  margin-top: 3rem;
  background: #e8e8e8;
}

.h5-about-panel-body {
  padding-bottom: 1rem;
}

.h5-about-panel-copy {
  font-size: 1.4rem;
  line-height: 3rem;
  color: #7f7f7f;
  text-align: justify;
}

.h5-about-panel-copy p,
.h5-about-panel-copy span {
  color: #7f7f7f !important;
  font-family: "微软雅黑", "PingFang SC", sans-serif !important;
  font-size: 1.4rem !important;
  line-height: 3rem !important;
  text-align: justify !important;
  font-weight: 400 !important;
}

.h5-about-panel-copy p {
  margin: 0;
}

.h5-about-panel-copy p:empty {
  display: none;
  margin: 0;
}

.h5-about-panel-copy p:has(br:only-child) {
  display: none;
  margin: 0;
}

.h5-about-panel-copy strong,
.h5-about-panel-copy b,
.h5-about-panel-copy p[style*="font-weight: 700"],
.h5-about-panel-copy p[style*="font-weight:700"],
.h5-about-panel-copy p[style*="font-weight: bold"],
.h5-about-panel-copy p[style*="font-weight:bold"],
.h5-about-panel-copy p[style*="微软雅黑 Bold"],
.h5-about-panel-copy span[style*="font-weight: 700"],
.h5-about-panel-copy span[style*="font-weight:700"],
.h5-about-panel-copy span[style*="font-weight: bold"],
.h5-about-panel-copy span[style*="font-weight:bold"],
.h5-about-panel-copy span[style*="微软雅黑 Bold"] {
  color: #333333 !important;
  font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑", sans-serif !important;
  font-weight: 700 !important;
}

.h5-about-panel-copy p[style*="font-weight: 700"] span[style*="font-weight: 400"],
.h5-about-panel-copy p[style*="font-weight:700"] span[style*="font-weight:400"],
.h5-about-panel-copy p[style*="font-weight: bold"] span[style*="font-weight: 400"],
.h5-about-panel-copy p[style*="font-weight:bold"] span[style*="font-weight:400"],
.h5-about-panel-copy p[style*="微软雅黑 Bold"] span[style*="font-weight: 400"],
.h5-about-panel-copy p[style*="微软雅黑 Bold"] span[style*="font-weight:400"],
.h5-about-panel-copy p[style*="font-weight: 700"] span[style*="color: #7F7F7F"],
.h5-about-panel-copy p[style*="font-weight:700"] span[style*="color:#7F7F7F"],
.h5-about-panel-copy p[style*="font-weight: 700"] span[style*="color:#7F7F7F"],
.h5-about-panel-copy p[style*="font-weight:700"] span[style*="color: #7f7f7f"],
.h5-about-panel-copy p[style*="font-weight: 700"] span[style*="color: #7f7f7f"],
.h5-about-panel-copy p[style*="font-weight:700"] span[style*="color:#7f7f7f"],
.h5-about-panel-copy p[style*="微软雅黑 Bold"] span[style*="color: #7F7F7F"],
.h5-about-panel-copy p[style*="微软雅黑 Bold"] span[style*="color:#7F7F7F"] {
  color: #7f7f7f !important;
  font-family: "微软雅黑", "PingFang SC", sans-serif !important;
  font-weight: 400 !important;
}

.h5-about-panel-copy p[style*="font-weight: 700"] span[style*="color: #000000"],
.h5-about-panel-copy p[style*="font-weight:700"] span[style*="color:#000000"],
.h5-about-panel-copy p[style*="font-weight: 700"] span[style*="color:#000000"],
.h5-about-panel-copy p[style*="font-weight:700"] span[style*="color: #000000"],
.h5-about-panel-copy p[style*="微软雅黑 Bold"] span[style*="color: #000000"],
.h5-about-panel-copy p[style*="微软雅黑 Bold"] span[style*="color:#000000"] {
  color: #333333 !important;
  font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑", sans-serif !important;
  font-weight: 700 !important;
}

.h5-about-panel-copy .art-body-img {
  display: block;
  width: 100%;
  height: auto;
  margin: 2rem auto;
  border-radius: 0.4rem;
}

.h5-about-panel-figure {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 2rem;
  border-radius: 0.4rem;
}

.h5-about-contact {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
}

.h5-about-map-wrap {
  width: 35rem;
  overflow: hidden;
  border-radius: 0.4rem;
  border: 1px solid #eef1f6;
  background: #f7f9fc;
}

.h5-about-amap {
  width: 100%;
  height: 13.8rem;
  background: #eef2f8;
}

.h5-about-map-link {
  display: block;
  padding: 1rem 1.2rem;
  font-size: 1.3rem;
  color: #1a45b3;
  text-align: center;
  text-decoration: none;
  background: #ffffff;
  border-top: 1px solid #eef1f6;
}

.h5-about-contact-cards {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 35rem;
}

.h5-about-contact-card {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 0.7rem;
  row-gap: 1.4rem;
  align-content: center;
  align-items: center;
  width: 35rem;
  height: 12.5rem;
  padding: 2rem;
  border: 1px dashed #d7d7d7;
  border-radius: 0.4rem;
  background: #ffffff;
}

.h5-about-contact-card--qr {
  grid-template-columns: auto 1fr auto;
}

.h5-about-contact-icon {
  grid-column: 1;
  grid-row: 1;
  flex-shrink: 0;
  width: auto;
  height: 1.7rem;
  align-self: center;
}

.h5-about-contact-body {
  display: contents;
  font-size: 1.4rem;
  line-height: 2rem;
  color: #000000;
  text-align: left;
}

.h5-about-contact-body strong {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  align-self: center;
  font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.1rem;
  color: #000000;
  text-align: left;
}

.h5-about-contact-body p {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0;
  font-size: 1.4rem;
  line-height: 2rem;
  color: #000000;
  text-align: left;
}

.h5-about-contact-card--qr .h5-about-contact-body p {
  grid-column: 1 / 3;
  color: #555555;
}

.h5-about-contact-body a {
  color: inherit;
  text-decoration: none;
}

.h5-about-contact-copy {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  color: inherit;
  font: inherit;
  line-height: inherit;
  text-align: inherit;
  cursor: pointer;
}

.h5-about-contact-card--qr .h5-about-contact-qr {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: end;
  flex-shrink: 0;
  width: 6.6rem;
  height: 6.6rem;
  object-fit: contain;
  background: #ffffff;
  border: 0;
}

.h5-about-contact-qr.is-copyable {
  cursor: pointer;
}

.h5-amap-marker {
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateY(-100%);
}

.h5-amap-marker-label {
  margin-bottom: 0.4rem;
  padding: 0.2rem 0.8rem;
  border-radius: 0.4rem;
  background: rgba(26, 69, 179, 0.92);
  color: #ffffff;
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
}

.h5-amap-marker-pin {
  width: 2.8rem;
  height: auto;
}

@media (min-width: 768px) {
  .h5-about-panels {
    max-width: 64rem;
    margin: 0 auto;
    padding-left: max(2rem, calc((100% - 64rem) / 2));
    padding-right: max(2rem, calc((100% - 64rem) / 2));
  }

  .h5-about-tabs-track {
    max-width: 64rem;
    margin: 0 auto;
    padding-left: max(2rem, calc((100% - 64rem) / 2));
    padding-right: max(2rem, calc((100% - 64rem) / 2));
  }
}

/* ===== 平板兼容（768–1024px，不影响手机 <768） ===== */
@media (min-width: 768px) and (max-width: 1024px) {
  .home-hero-content {
    top: 12rem;
    padding: 0 3.2rem;
  }

  .home-hero-title {
    margin-bottom: 2rem;
    font-size: 3.4rem;
    line-height: 4.5rem;
  }

  .home-hero-desc {
    max-width: 32rem;
  }

  .home-hero-desc p {
    line-height: 3rem;
  }

  .h5-service-hero-content {
    top: 8rem;
    padding: 0 3.2rem;
  }

  .h5-service-hero-title {
    margin-bottom: 2rem;
    font-size: 2.6rem;
    line-height: 3.6rem;
  }

  .h5-service-hero-title span {
    white-space: nowrap;
  }

  .h5-service-hero-desc p {
    line-height: 3rem;
  }

  .h5-service-hero-nav {
    top: auto;
    bottom: calc(17rem + var(--safe-bottom) + var(--vv-bottom-offset, 0px));
    padding: 0 3.2rem;
  }

  .h5-about-hero-content {
    top: 7rem;
    padding: 0 3.2rem;
  }

  .h5-about-hero-title {
    max-width: 28rem;
    margin-bottom: 1.2rem;
    font-size: 2.4rem;
    line-height: 3.4rem;
  }

  .h5-about-hero-desc {
    max-width: 32rem;
    padding-bottom: 0;
  }

  .h5-about-hero-desc p {
    font-size: 1.4rem;
    line-height: 2.8rem;
  }

  .h5-about-hero-earth {
    width: min(44rem, calc(100% - 8rem));
    max-height: 36vh;
    object-fit: contain;
  }

  .h5-business-list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2rem;
    width: 35rem;
    max-width: calc(100% - 2 * var(--section-x));
    margin-left: auto;
    margin-right: auto;
    padding: 0;
  }

  .h5-business-card {
    width: 100%;
    max-width: 100%;
    height: auto;
    padding: 4rem 2rem 2.8rem;
  }

  .h5-business-icon {
    width: 5.7rem;
    height: 5rem;
    margin-bottom: 2.4rem;
  }

  .h5-business-name {
    margin-bottom: 1.2rem;
  }

  .h5-business-desc {
    width: 31rem;
    max-width: 100%;
    height: auto;
    min-height: 0;
    flex: 0 1 auto;
    overflow: visible;
    line-height: 2.4rem;
  }

  .h5-business-card .h5-btn-outline {
    margin-top: 2.4rem;
  }

  .h5-sidebar {
    right: max(0.8rem, calc((100vw - min(100vw, var(--content-max))) / 2 + 0.8rem));
  }
}

@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .h5-business-list {
    width: 35rem;
    max-width: calc(100% - 2 * var(--section-x));
    margin-left: auto;
    margin-right: auto;
    padding: 0;
  }

  .h5-business-card {
    width: 100%;
    max-width: 100%;
  }

  .h5-business-desc {
    width: 31rem;
    max-width: 100%;
  }
}

/* ===== 会员认证页（登录 / 注册 / 找回密码 / 登录成功）===== */
body.page-auth {
  background: linear-gradient(150.52deg, #1a45b3 0%, #7fa3ff 105%);
}

body.page-auth-success {
  background: linear-gradient(180deg, #2b5cbe 0%, #4a7fd6 100%);
}

body.page-auth .site-shell {
  max-width: none;
}

.h5-auth-page {
  --auth-primary: #2b5cbe;
  --auth-submit: #1a45b2;
  --auth-input-bg: #f7f8fa;
  --auth-text: #303133;
  --auth-muted: #909399;
  --auth-placeholder: #c5c8ce;
  min-height: 100vh;
  min-height: 100dvh;
  background: linear-gradient(150.52deg, #1a45b3 0%, #7fa3ff 105%);
  overflow-x: hidden;
  padding-bottom: 2.4rem;
  box-sizing: border-box;
}

.h5-auth-header {
  padding: 1rem 0 3rem;
  color: #ffffff;
}

.h5-auth-back {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  margin: 0 0 2.5rem 2rem;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.h5-auth-back-icon {
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-left: 0.2rem solid #ffffff;
  border-bottom: 0.2rem solid #ffffff;
  transform: rotate(45deg);
  margin-left: 0.3rem;
}

.h5-auth-welcome {
  margin: 0 0 1rem;
  padding-left: 2.5rem;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.35;
}

.h5-auth-brand {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
  padding-left: 2.5rem;
}

.h5-auth-platform {
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.35;
}

.h5-auth-badge {
  display: inline-flex;
  align-items: center;
  min-height: 2.6rem;
  padding: 0.2rem 1.2rem;
  border-radius: 999px;
  background: #ffffff;
  color: var(--auth-primary);
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.3;
}

.h5-auth-card {
  width: 35rem;
  max-width: calc(100% - 4rem);
  min-height: 66.4rem;
  margin: 0 auto;
  padding: 2.6rem 1.8rem 2.8rem;
  border-radius: 2.2rem;
  background: #ffffff;
  box-sizing: border-box;
}

.h5-auth-tab {
  margin: 0 0 2.5rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--auth-text);
}

.h5-auth-tab-mark {
  position: relative;
  display: inline-block;
  padding-bottom: 0.4rem;
}

.h5-auth-tab-mark::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.2rem;
  border-radius: 0.1rem;
  background: var(--auth-primary);
}

.h5-auth-form {
  width: 100%;
}

.h5-auth-field {
  margin: 0 0 3rem;
}

.h5-auth-field:last-child {
  margin-bottom: 0;
}

.h5-auth-input,
.h5-auth-select {
  display: block;
  width: 100%;
  height: 5rem;
  padding: 0 1.6rem;
  border: none;
  border-radius: 1.2rem;
  background: var(--auth-input-bg);
  box-sizing: border-box;
  font-family: inherit;
  font-size: 1.5rem;
  line-height: 5rem;
  color: var(--auth-text);
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

.h5-auth-input::placeholder {
  color: var(--auth-placeholder);
}

.h5-auth-input-wrap {
  position: relative;
}

.h5-auth-input-wrap .h5-auth-input {
  padding-right: 9rem;
}

.h5-auth-input-action {
  position: absolute;
  top: 50%;
  right: 1.6rem;
  transform: translateY(-50%);
  border: none;
  background: transparent;
  padding: 0;
  color: var(--auth-primary);
  font-family: inherit;
  font-size: 1.4rem;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
}

.h5-auth-input-action:disabled {
  color: #c0c4cc;
  cursor: not-allowed;
}

.h5-auth-captcha-row {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.h5-auth-captcha-row .h5-auth-input {
  flex: 1 1 auto;
  min-width: 0;
}

.page-auth-register .h5-auth-input,
.page-auth-register .h5-auth-select {
  height: 4rem;
  line-height: 4rem;
}

.page-auth-register .h5-auth-field {
  margin: 0 0 2.5rem;
}

.page-auth-register .h5-auth-field:last-child {
  margin-bottom: 0;
}

.page-auth-register .h5-auth-captcha-ph {
  height: 4rem;
}

.page-auth-register .h5-auth-submit {
  width: 30rem;
  max-width: 100%;
  height: 4rem;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 4rem;
}

.h5-auth-captcha-ph {
  flex: 0 0 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10rem;
  height: 5rem;
  border-radius: 1.2rem;
  background-color: #fff8fb;
  background-image:
    radial-gradient(circle at 18% 28%, rgba(255, 160, 200, 0.55) 0 0.35rem, transparent 0.36rem),
    radial-gradient(circle at 72% 62%, rgba(140, 200, 255, 0.55) 0 0.32rem, transparent 0.33rem),
    radial-gradient(circle at 48% 82%, rgba(200, 170, 255, 0.5) 0 0.28rem, transparent 0.29rem),
    radial-gradient(circle at 82% 22%, rgba(255, 210, 160, 0.45) 0 0.24rem, transparent 0.25rem),
    linear-gradient(135deg, #ffeef5 0%, #eaf4ff 48%, #f3ecff 100%);
  color: #4a5f8c;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
  line-height: 1;
  user-select: none;
}

.h5-auth-agree {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  margin: 0 0 2.5rem;
  cursor: pointer;
}

.h5-auth-agree-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.h5-auth-agree-icon {
  flex: 0 0 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
  margin-top: 0.2rem;
  border: 0.1rem solid #c0c4cc;
  border-radius: 50%;
  box-sizing: border-box;
  background: #ffffff;
}

.h5-auth-agree-input:checked + .h5-auth-agree-icon {
  border-color: var(--auth-primary);
  background:
    radial-gradient(circle at center, var(--auth-primary) 0 0.45rem, transparent 0.46rem);
}

.h5-auth-agree-text {
  flex: 1;
  font-size: 1.2rem;
  line-height: 1.6;
  color: var(--auth-muted);
}

.h5-auth-agree-text a {
  color: var(--auth-primary);
  text-decoration: none;
}

.h5-auth-submit {
  display: block;
  width: 100%;
  height: 5rem;
  margin-top: 0;
  border: none;
  border-radius: 1.2rem;
  background: var(--auth-submit);
  color: #ffffff;
  font-family: inherit;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 5rem;
  text-align: center;
  cursor: pointer;
}

.h5-auth-submit:active {
  background: #1a4299;
}

.h5-auth-extra {
  margin-top: 3rem;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: center;
  color: var(--auth-muted);
}

.h5-auth-extra a,
.h5-auth-extra-link {
  border: none;
  background: transparent;
  padding: 0;
  margin-left: 0.2rem;
  color: var(--auth-primary);
  font-family: inherit;
  font-size: 1.4rem;
  line-height: 1.5;
  text-decoration: none;
  cursor: pointer;
}

.h5-auth-extra-link--underline {
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}

.h5-auth-card-footer {
  margin-top: 5rem;
  text-align: center;
}

.h5-auth-footer-divider {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 2.4rem;
  font-size: 1.4rem;
  line-height: 1.4;
  color: #7f7f7f;
}

.h5-auth-footer-divider::before,
.h5-auth-footer-divider::after {
  content: "";
  flex: 1 1 auto;
  height: 0.1rem;
  background: #e4e7ed;
}

.h5-auth-footer-divider span {
  flex: 0 0 auto;
}

.h5-auth-footer-logo {
  display: block;
  width: 4rem;
  height: 4rem;
  margin: 0 auto;
  object-fit: contain;
}

.h5-auth-success-page {
  min-height: 100vh;
  min-height: 100dvh;
  padding: 1rem 0 4rem;
  box-sizing: border-box;
  color: #ffffff;
  background: linear-gradient(180deg, #2b5cbe 0%, #4a7fd6 100%);
}

.h5-auth-success-header {
  padding-bottom: 5rem;
}

.h5-auth-success-page .h5-auth-badge {
  color: #2b5cbe;
  font-size: 1.4rem;
  font-weight: 700;
}

.h5-auth-success-body {
  padding: 0 0 0 2.5rem;
}

.h5-auth-success-text {
  margin: 0 0 2rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.65;
}

.h5-auth-success-text--apology {
  margin-bottom: 0;
}

.h5-auth-success-link {
  display: inline-block;
  max-width: 100%;
  margin: 0 0 2rem;
  padding: 0;
  border: none;
  background: transparent;
  color: #ffffff;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.65;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  word-break: break-all;
}
