/* base.css — Global: fonts, iconfont, reset, CSS variables, typography scale (fz*), spacing utilities, buttons, section titles, carousel arrows/dots, reveal animation
   Derived from the original theme stylesheet (wangzhan theme) and reorganised per component. */
@font-face{font-display:swap;font-family:"iconfont";src:url(../assets/fonts/iconfont.woff) format("woff")}

.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@font-face{font-display:swap;font-family:"Inter-Bold";src:url(../assets/fonts/Inter-Bold.woff2) format("woff2");font-weight:400;font-style:normal}

@font-face{font-display:swap;font-family:"Inter-Regular";src:url(../assets/fonts/Inter-Regular.woff2) format("woff2");font-weight:400;font-style:normal}

@font-face{font-display:swap;font-family:"Inter-SemiBold";src:url(../assets/fonts/Inter-SemiBold.woff2) format("woff2");font-weight:400;font-style:normal}

@font-face{font-display:swap;font-family:"Onest-Bold";src:url(../assets/fonts/Onest-Bold.woff2) format("woff2");font-weight:400;font-style:normal}

.icon-qq:before {
  content: "";
}

.icon-douyin:before {
  content: "";
}

.icon-zixun:before {
  content: "";
}

.icon-zuo:before {
  content: "";
}

.icon-you:before {
  content: "";
}

.icon-xia:before {
  content: "";
}

.icon-shang:before {
  content: "";
}

.icon-yunxiazai:before {
  content: "";
}

.icon-weixin1:before {
  content: "";
}

.icon-dianhuax:before {
  content: "";
}

.icon-xiazai:before {
  content: "";
}

.icon-weizhi:before {
  content: "";
}

.icon-weizhi1:before {
  content: "";
}

.icon-top1:before {
  content: "";
}

.icon-liulan:before {
  content: "";
}

.icon-fenxiang:before {
  content: "";
}

.icon-riqi:before {
  content: "";
}

.icon-phoneaaa:before {
  content: "";
}

.icon-zhiding:before {
  content: "";
}

.icon-zengjia:before {
  content: "";
}

.icon-jianhao_o:before {
  content: "";
}

.icon-arrowLeft:before {
  content: "";
}

.icon-arrowright:before {
  content: "";
}

.icon-Vk:before {
  content: "";
}

.icon-weibo:before {
  content: "";
}

.icon-tuite:before {
  content: "";
}

.icon-home:before {
  content: "";
}

.icon-home-filling:before {
  content: "";
}

.icon-shijian:before {
  content: "";
}

.icon-dianhua4:before {
  content: "";
}

.icon-dianhua:before {
  content: "";
}

.icon-weibiaot:before {
  content: "";
}

.icon-weibiaot-copy:before {
  content: "";
}

.icon-shouji:before {
  content: "";
}

.icon-youtube:before {
  content: "";
}

.icon-tianxie:before {
  content: "";
}

.icon-youxiang:before {
  content: "";
}

.icon-whatsappshixin:before {
  content: "";
}

.icon-youxiang1:before {
  content: "";
}

.icon-linkedin1:before {
  content: "";
}

.icon-tijiao:before {
  content: "";
}

.icon-weixin:before {
  content: "";
}

.icon-instagram1:before {
  content: "";
}

.icon-twitteraaa:before {
  content: "";
}

.icon-skype:before {
  content: "";
}

.icon-youtube1:before {
  content: "";
}

.icon-whatsapp:before {
  content: "";
}

.icon-pdf:before {
  content: "";
}

.icon-tianxietianxie:before {
  content: "";
}

.icon-fangda:before {
  content: "";
}

.icon-Facebook:before {
  content: "";
}

.icon-xiaojiantou:before {
  content: "";
}

.icon-kefu:before {
  content: "";
}

.icon-earth-full:before {
  content: "";
}

.icon-uihaomian:before {
  content: "";
}

.icon-icon3:before {
  content: "";
}

.icon-fenlei:before {
  content: "";
}

.icon-zuozhe:before {
  content: "";
}

.icon-pinterest1:before {
  content: "";
}

.icon-vk:before {
  content: "";
}

.icon-close:before {
  content: "";
}

.icon-chuanzhen:before {
  content: "";
}

.icon-faxasd:before {
  content: "";
}

.icon-danju:before {
  content: "";
}

.icon-telephone:before {
  content: "";
}

.icon-fahuo:before {
  content: "";
}

.icon-badge-full:before {
  content: "";
}

.icon-factoryfull:before {
  content: "";
}

.icon-wuxing:before {
  content: "";
}

.icon-wushuifeishui:before {
  content: "";
}

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background-color: #F0F0F0;
}

::-webkit-scrollbar-thumb {
  background-color: #CDCDCD;
  border-radius: 2px;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #D9D9D9;
}

::-webkit-scrollbar-thumb:active {
  background-color: #554F5E;
}

* {
  -ms-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

::after,
::before {
  -ms-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body {
  padding: 0;
  margin: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

body {
  font-family: "Inter-Regular","Arial","sans-serif";
  overflow-x: hidden;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

a {
  text-decoration: none;
  -ms-transition: all 0.5s;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

img {
  width: auto;
  height: auto;
  vertical-align: middle;
  max-width: 100%;
  -ms-transition: all 0.6s;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}

input,
textarea,
button,
select {
  outline: none;
}

button {
  cursor: pointer;
  -ms-transition: all 0.6s;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}

form p {
  padding: 0;
  margin: 0;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.hm {
  font-weight: 400;
  margin-top: 0;
  margin-bottom: 0;
}

.pro_page_table {
  overflow-x: auto;
}

.wrap {
  width: 92%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}

:root {
  --hue: #0B2F66;       /* Hengyou navy (from logo.png) */
  --hue-2: #164A8A;     /* secondary navy (cooler than bright competitor blue) */
  --hue-dark: #061D42;  /* deep navy: footer bottom bar */
  --hue-tint: #E6ECF5;  /* light navy tint backgrounds */
  --space: clamp(3.75rem, 2.25rem + 5.5vw, 7.5rem);
}

html {
  font-size: 16px;
}

.fz72 {
  font-size: clamp(1.625rem, 0.554rem + 4.51vw, 4.5rem);
}

.fz70 {
  font-size: clamp(1.625rem, 0.6rem + 4.31vw, 4.375rem);
}

.fz68 {
  font-size: clamp(1.625rem, 0.647rem + 4.12vw, 4.25rem);
}

.fz66 {
  font-size: clamp(1.625rem, 0.694rem + 3.92vw, 4.125rem);
}

.fz64 {
  font-size: clamp(1.625rem, 0.74rem + 3.73vw, 4rem);
  line-height: 1.2;
}

.fz62 {
  font-size: clamp(1.625rem, 0.787rem + 3.53vw, 3.875rem);
  line-height: 1.2;
}

.fz60 {
  font-size: clamp(1.625rem, 0.833rem + 3.33vw, 3.75rem);
  line-height: 1.2;
}

.fz58 {
  font-size: clamp(1.625rem, 0.88rem + 3.14vw, 3.625rem);
  line-height: 1.22;
}

.fz56 {
  font-size: clamp(1.625rem, 0.926rem + 2.94vw, 3.5rem);
  line-height: 1.24;
}

.fz54 {
  font-size: clamp(1.625rem, 0.973rem + 2.75vw, 3.375rem);
  line-height: 1.26;
}

.fz52 {
  font-size: clamp(1.625rem, 1.02rem + 2.55vw, 3.25rem);
  line-height: 1.3;
}

.fz50 {
  font-size: clamp(1.5rem, 0.895rem + 2.55vw, 3.125rem);
  line-height: 1.26;
}

.fz48 {
  font-size: clamp(1.5rem, 0.941rem + 2.35vw, 3rem);
  line-height: 1.26;
}

.fz46 {
  font-size: clamp(1.5rem, 0.988rem + 2.16vw, 2.875rem);
  line-height: 1.26;
}

.fz44 {
  font-size: clamp(1.5rem, 0.988rem + 2.16vw, 2.875rem);
  line-height: 1.28;
}

.fz42 {
  font-size: clamp(1.5rem, 1.081rem + 1.76vw, 2.625rem);
  line-height: 1.28;
}

.fz40 {
  font-size: clamp(1.375rem, 0.956rem + 1.76vw, 2.5rem);
  line-height: 1.3;
}

.fz38 {
  font-size: clamp(1.375rem, 1.002rem + 1.57vw, 2.375rem);
  line-height: 1.3;
}

.fz36 {
  font-size: clamp(1.375rem, 1.049rem + 1.37vw, 2.25rem);
  line-height: 1.32;
}

.fz34 {
  font-size: clamp(1.25rem, 0.924rem + 1.37vw, 2.125rem);
  line-height: 1.32;
}

.fz32 {
  font-size: clamp(1.25rem, 0.971rem + 1.18vw, 2rem);
  line-height: 1.32;
}

.fz30 {
  font-size: clamp(1.25rem, 1.017rem + 0.98vw, 1.875rem);
  line-height: 1.32;
}

.fz28 {
  font-size: clamp(1.25rem, 1.064rem + 0.78vw, 1.75rem);
  line-height: 1.4;
}

.fz26 {
  font-size: clamp(1.125rem, 0.939rem + 0.78vw, 1.625rem);
  line-height: 1.42;
}

.fz24 {
  font-size: clamp(1.125rem, 0.985rem + 0.59vw, 1.5rem);
  line-height: 1.42;
}

.fz22 {
  font-size: clamp(1rem, 0.86rem + 0.59vw, 1.375rem);
  line-height: 1.46;
}

.fz20 {
  font-size: clamp(1rem, 0.907rem + 0.39vw, 1.25rem);
  line-height: 1.48;
}

.fz18 {
  font-size: clamp(1rem, 0.953rem + 0.2vw, 1.125rem);
  line-height: 1.52;
}

.fz16 {
  font-size: clamp(0.875rem, 0.828rem + 0.2vw, 1rem);
  line-height: 1.6;
}

.fz14 {
  font-size: 14px;
  line-height: 24px;
}

.ptb {
  padding-top: var(--space);
  padding-bottom: var(--space);
}

.pt {
  padding-top: var(--space);
}

.pb {
  padding-bottom: var(--space);
}

.pb_60 {
  padding-bottom: clamp(1.563rem, 0.748rem + 3.43vw, 3.75rem);
}

.pb_55 {
  padding-bottom: clamp(1.563rem, 0.864rem + 2.94vw, 3.438rem);
}

.pb_50 {
  padding-bottom: clamp(1.563rem, 0.98rem + 2.45vw, 3.125rem);
}

.pb_45 {
  padding-bottom: clamp(1.563rem, 1.097rem + 1.96vw, 2.813rem);
}

.pb_40 {
  padding-bottom: clamp(1.563rem, 1.213rem + 1.47vw, 2.5rem);
}

.pb_35 {
  padding-bottom: clamp(1.563rem, 1.33rem + 0.98vw, 2.188rem);
}

.pb_30 {
  padding-bottom: clamp(1.563rem, 1.446rem + 0.49vw, 1.875rem);
}

.tc {
  text-align: center;
}

.upp {
  text-transform: uppercase;
}

.bg_fixed {
  background-attachment: fixed;
}

.hover1_style {
  position: relative;
  overflow: hidden;
}

.hover1_style::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-image: -ms-linear-gradient(to right,transparent,rgba(255,255,255,.8) 50%,transparent);
  background-image: -moz-linear-gradient(to right,transparent,rgba(255,255,255,.8) 50%,transparent);
  background-image: -webkit-linear-gradient(to right,transparent,rgba(255,255,255,.8) 50%,transparent);
  background-image: linear-gradient(to right,transparent,rgba(255,255,255,.8) 50%,transparent);
  -ms-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.hover1_style:hover::after {
  left: 100%;
}

.special_width {
  width: calc((100vw - 10px) / 2 + 50%);
}

.ffb {
  font-family: "Inter-Bold";
}

.ffr {
  font-family: "Inter-Regular";
}

.ffs {
  font-family: "Inter-SemiBold";
}

.fob {
  font-family: "Onest-Bold";
}

.clearfix:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clearfix {
}

.fl {
  float: left;
}

.fr {
  float: right;
}

.public_lunbo_prev,
.public_lunbo_next {
  font-size: clamp(1.125rem, 0.899rem + 0.95vw, 1.875rem);
  color: var(--hue);
  text-align: center;
  width: clamp(1.875rem, 1.536rem + 1.43vw, 3rem);
  height: clamp(1.875rem, 1.536rem + 1.43vw, 3rem);
  line-height: clamp(1.875rem, 1.536rem + 1.43vw, 3rem);
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--hue);
  outline: none;
  cursor: pointer;
  -ms-transition: all 0.6s;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}

.public_lunbo_prev:hover,
.public_lunbo_next:hover {
  color: #fff;
  background: var(--hue);
}

.public_module_title .text {
  padding-top: 8px;
}

.public_page_btn1 {
  display: block;
  padding: 0 clamp(0.875rem, 0.536rem + 1.43vw, 2rem);
  height: clamp(2.375rem, 2.243rem + 0.56vw, 2.813rem);
  line-height: clamp(2.25rem, 2.118rem + 0.56vw, 2.688rem);
  color: var(--hue);
  border: 1px solid var(--hue);
  border-radius: 6px;
  background: #FFF;
}

.public_page_btn1:hover {
  color: #fff;
  background: var(--hue);
}

.public_lunbo_dots {
  text-align: center;
  padding-top: clamp(0.75rem, 0.448rem + 1.27vw, 1.75rem);
}

.public_lunbo_dots .swiper-pagination-bullet {
  outline: none;
  opacity: 1;
  width: clamp(0.5rem, 0.425rem + 0.32vw, 0.75rem);
  height: clamp(0.5rem, 0.425rem + 0.32vw, 0.75rem);
  margin: 0 clamp(0.313rem, 0.218rem + 0.4vw, 0.625rem);
  background: #D0CFCF;
  -ms-transition: all 0.6s;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}

.public_lunbo_dots .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--hue);
}

.public_page_btn2 {
  display: block;
  padding: 0 clamp(0.875rem, 0.573rem + 1.27vw, 1.875rem);
  height: clamp(2.375rem, 2.243rem + 0.56vw, 2.813rem);
  line-height: clamp(2.375rem, 2.243rem + 0.56vw, 2.813rem);
  color: #fff;
  border-radius: 5px;
  background: var(--hue);
}

.page_404_w {
  padding-top: clamp(4.375rem, 3.244rem + 4.76vw, 8.125rem);
}

.page_404_01 {
  text-align: center;
}

.page_404_02 {
  color: var(--hue);
  text-align: center;
  padding-top: clamp(1.563rem, 1.28rem + 1.19vw, 2.5rem);
}

.page_404_03 {
  color: #666;
  text-align: center;
  padding-top: clamp(0.625rem, 0.587rem + 0.16vw, 0.75rem);
}

.page_404_04 {
  padding-top: clamp(1.25rem, 1.156rem + 0.4vw, 1.563rem);
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-justify-content: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.page_404 {
  background: #F2F5F9;
}

.p404One {
  background: #F2F5F9;
}

.p404One_w {
  padding-top: clamp(4.063rem, 2.272rem + 7.54vw, 10rem);
}

.p404One1 {
  text-align: center;
}

.p404One2 {
  color: #444;
  text-align: center;
  padding-top: clamp(1.875rem, 1.781rem + 0.4vw, 2.188rem);
}

.p404One3 {
  color: #777;
  text-align: center;
  padding-top: 5px;
}

.p404One4 {
  max-width: 530px;
  margin: clamp(1.25rem, 1.062rem + 0.79vw, 1.875rem) auto 0;
}

.p404One4_form {
  border: 1px solid #CFCFCF;
  border-radius: 5px;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.p404One4_form input {
  width: calc(100% - clamp(3.125rem, 2.937rem + 0.79vw, 3.75rem));
  height: clamp(2.25rem, 2.062rem + 0.79vw, 2.875rem);
  font-family: "Inter-Regular","Arial","sans-serif";
  font-size: clamp(0.875rem, 0.837rem + 0.16vw, 1rem);
  color: #444;
  border: none;
  background: none;
  padding: 0 10px 0 15px;
}

.p404One4_form button {
  font-size: clamp(1.625rem, 1.55rem + 0.32vw, 1.875rem);
  color: #666;
  width: clamp(3.125rem, 2.937rem + 0.79vw, 3.75rem);
  height: clamp(2.25rem, 2.062rem + 0.79vw, 2.875rem);
  border: none;
  background: none;
}

.p404One4_form button:hover {
  color: var(--hue);
}

.p404One5 {
  padding-top: clamp(1.375rem, 1.036rem + 1.43vw, 2.5rem);
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-justify-content: center;
  -webkit-justify-content: center;
  justify-content: center;
}

/* ---- reveal-on-scroll (replaces WOW.js + animate.css; only fadeInUp is used) ---- */
.wow{visibility:hidden}
.wow.animated{visibility:visible}
.animated{animation-duration:1s;animation-fill-mode:both}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(150px)}100%{opacity:1;transform:translateY(0)}}
.fadeInUp.animated{animation-name:fadeInUp}
@media (prefers-reduced-motion:reduce){.wow{visibility:visible}.animated{animation:none!important}}
