/* ==========================================================================
   覆盖层：在复用原站样式（Neve + hk 主题）基础上补齐差异
   加载顺序见 nuxt.config.ts，本文件永远最后
   ========================================================================== */

body {
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

/* ---------- 头部 ---------- */
.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: transparent;
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

.header.is-solid {
  position: fixed;
  background: #fff;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.header .header--row-inner {
  min-height: 100px;
}

.header .row--wrapper {
  align-items: center;
  display: flex;
  width: 100%;
}

.header .hfg-slot {
  display: flex;
  align-items: center;
}

.header .hfg-slot.center {
  flex: 1 1 auto;
  justify-content: center;
}

.header .site-logo img {
  width: auto;
  height: 51px;
  max-height: 51px;
}

/* 原站 .site-logo 桌面端含 10px 左内边距（img 距容器左边 25px） */
.header .header--row.hide-on-mobile .site-logo {
  padding-left: 10px;
}

/* 一级导航 */
.header .nav-ul.menu-desktop {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.header .nav-ul.menu-desktop > li {
  margin: 0 15px;
  position: relative;
}

.header .nav-ul.menu-desktop > li > .wrap {
  padding: 0 4px;
  cursor: pointer;
}

.header .nav-ul.menu-desktop > li > .wrap > a {
  font-size: 20px;
  font-weight: 500;
  color: #2c2c2c;
  line-height: 1.6;
  transition: color 0.2s ease;
}

.header .nav-ul.menu-desktop > li > .wrap > a:hover,
.header .nav-ul.menu-desktop > li.current-menu-item > .wrap > a {
  color: #00479d;
}

.header .nav-ul.menu-desktop .caret {
  display: inline-flex;
  align-items: center;
  margin-left: 5px;
  color: #2c2c2c;
}

.header .nav-ul.menu-desktop .caret svg {
  width: 10px;
  height: 10px;
}

/* 二级下拉 */
.header .nav-ul.menu-desktop .sub-menu {
  min-width: 150px;
  padding: 6px 0;
  border-radius: 2px;
  transition: opacity 0.2s ease;
}

.header .nav-ul.menu-desktop .sub-menu .wrap {
  padding: 10px 20px;
}

.header .nav-ul.menu-desktop .sub-menu a {
  font-size: 16px;
  color: #555;
  white-space: nowrap;
}

.header .nav-ul.menu-desktop .sub-menu .wrap:hover a {
  color: #00479d;
}

/* 语言切换 */
.lang-switch {
  display: flex;
  align-items: center;
  font-size: 15px;
  line-height: 1;
}

.lang-switch__item {
  padding: 0 10px;
  color: #2c2c2c;
  background: transparent;
  opacity: 0.5;
  border-left: 1px solid rgba(0, 0, 0, 0.14);
  transition: opacity 0.2s ease, color 0.2s ease;
}

.lang-switch__item:first-child {
  border-left: 0;
}

.lang-switch__item.on,
.lang-switch__item:hover {
  opacity: 1;
  color: #00479d;
}

/* ---------- 移动端头部 ---------- */
.header .header--row.hide-on-desktop .header--row-inner {
  min-height: 40px;
  height: 40px;
}

.header .header--row.hide-on-desktop {
  background: transparent;
}

.header .header--row.hide-on-desktop .site-logo img {
  height: 26px;
  max-height: 26px;
}

.header .header--row.hide-on-desktop .container {
  padding: 0 15px;
}

/* 移动端：logo 居左、菜单按钮居右
   Neve 的 .row--wrapper 是 margin:0 -15px、.builder-item 自带 padding:0 15px，
   两者叠加会让按钮距右边缘 45px；这里把右侧 slot 拉回 15px 边距 */
.header .header--row.hide-on-desktop .row--wrapper {
  justify-content: space-between;
}

.header .header--row.hide-on-desktop .hfg-slot.right {
  margin-left: auto;
  margin-right: -15px;
  justify-content: flex-end;
}

.header .header--row.hide-on-desktop .builder-item.mobile-right,
.header .header--row.hide-on-desktop .builder-item.tablet-right {
  padding-left: 0;
  padding-right: 0;
}

.header .navbar-toggle {
  background: none;
  border: 0;
  padding: 6px;
  display: flex;
  align-items: center;
}

.header .navbar-toggle .bars {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 22px;
}

.header .navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  background: #2c2c2c;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

/* ---------- 抽屉 ---------- */
.header-menu-sidebar {
  width: 92%;
  max-width: 400px;
  --bgcolor: #fff;
  --color: #2c2c2c;
  background: #fff;
}

.header-menu-sidebar-bg {
  width: 100%;
  background: #fff;
}

.header-menu-sidebar .close-sidebar-panel {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: calc(12px + env(safe-area-inset-top, 0px)) 14px 8px;
  overflow: visible;
}

/*
 * 抽屉打开时，页面右上角那颗汉堡按钮会被 Neve 动画变成 ×，
 * 但它被抽屉遮住右半边，露出半个 × 看着像"关闭按钮没显示全"。
 * 抽屉已有自己的关闭按钮，这里直接隐藏头部那颗。
 */
body.is-menu-sidebar .header .header--row.hide-on-desktop .menu-mobile-toggle {
  visibility: hidden;
}

.header-menu-sidebar .close-sidebar-panel .hamburger {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  padding: 0;
  border: 1px solid #d9d9d9;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: visible;
}

.header-menu-sidebar .close-sidebar-panel .bars {
  position: relative;
  display: block;
  width: 16px;
  height: 16px;
}

.header-menu-sidebar .close-sidebar-panel .icon-bar {
  position: absolute;
  left: 0;
  top: 7px;
  width: 16px;
  height: 1.5px;
  background: #2c2c2c;
}

.header-menu-sidebar .close-sidebar-panel .icon-bar:nth-child(1) {
  transform: rotate(45deg);
}

.header-menu-sidebar .close-sidebar-panel .icon-bar:nth-child(2) {
  opacity: 0;
}

.header-menu-sidebar .close-sidebar-panel .icon-bar:nth-child(3) {
  transform: rotate(-45deg);
}

.header-menu-sidebar .header-menu-sidebar-inner {
  padding: 6px 20px 40px;
  overflow-y: auto;
}

.header-menu-sidebar .nav-ul.menu-mobile {
  flex-direction: column;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}

.header-menu-sidebar .nav-ul.menu-mobile > li {
  width: 100%;
}

.header-menu-sidebar .nav-ul.menu-mobile > li > .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
}

.header-menu-sidebar .nav-ul.menu-mobile > li > .wrap > a {
  display: block;
  padding: 15px 0;
  font-size: 18px;
  color: #2c2c2c;
  flex: 1 1 auto;
}

.header-menu-sidebar .nav-ul.menu-mobile .caret-wrap {
  border: 0;
  background: none;
  padding: 12px;
  color: #2c2c2c;
  transition: transform 0.25s ease;
}

.header-menu-sidebar .nav-ul.menu-mobile .caret-wrap.dropdown-open {
  transform: rotate(180deg);
}

.header-menu-sidebar .nav-ul.menu-mobile .caret svg {
  width: 12px;
  height: 12px;
}

.header-menu-sidebar .nav-ul.menu-mobile .sub-menu {
  display: none;
  padding-left: 0;
  margin: 0 0 6px;
  list-style: none;
}

.header-menu-sidebar .nav-ul.menu-mobile .sub-menu.dropdown-open {
  display: block;
  margin-left: 0;
}

.header-menu-sidebar .nav-ul.menu-mobile .sub-menu .wrap > a {
  display: block;
  padding: 10px 0 10px 22px;
  font-size: 16px;
  color: #666;
}

.header-menu-sidebar-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 999;
}

body.is-menu-sidebar .header-menu-sidebar-overlay {
  opacity: 1;
  visibility: visible;
}

.menu-item-lang .wrap {
  flex-wrap: wrap;
  gap: 14px;
  padding-top: 22px !important;
  border-top: 1px solid #eee;
}

.drawer-lang {
  font-size: 15px;
  color: #666;
}

.drawer-lang.on {
  color: #00479d;
  font-weight: 600;
}

/* ---------- 首页整屏 swiper ---------- */
.home-swiper {
  width: 100%;
  height: 100vh;
}

.home-swiper .swiper-slide {
  overflow: hidden;
}

.home-swiper > .swiper-pagination {
  z-index: 10;
}

.home-swiper .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: #9aa7b8;
  opacity: 0.5;
}

.home-swiper .swiper-pagination-bullet-active {
  background: #00479d;
  opacity: 1;
}

.home-screen__video,
.home-screen__cover {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* ---------- 首页各屏 ---------- */
/* 原站 header 全站统一深色字（rgb(44,44,44)），首页不做反白 */
body.is-home .header .nav-ul.menu-desktop > li > .wrap > a,
body.is-home .header .nav-ul.menu-desktop .caret {
  color: #2c2c2c;
}

/* 当前所在板块保持原站的蓝色高亮（原站「首页」为 #00479d） */
body.is-home .header .nav-ul.menu-desktop > li.current-menu-item > .wrap > a,
body.is-home .header .nav-ul.menu-desktop > li.current-menu-item > .wrap .caret {
  color: #00479d;
}

/* 下拉展开时父级保持深色，避免白底白字 */
body.is-home .header .nav-ul.menu-desktop > li:hover > .wrap > a,
body.is-home .header .nav-ul.menu-desktop > li:hover > .wrap .caret {
  color: #00479d;
}

body.is-home .header .nav-ul.menu-desktop .sub-menu a,
body.is-home .header .nav-ul.menu-desktop .sub-menu .caret {
  color: #555;
}

body.is-home .header .nav-ul.menu-desktop .sub-menu a:hover {
  color: #00479d;
}

.home-swiper .swiper-slide {
  height: 100vh;
}

.home .home-screen__cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  animation: homeZoom 14s ease-out both;
}

@keyframes homeZoom {
  from {
    transform: scale(1.07);
  }
  to {
    transform: scale(1);
  }
}

/* 产品概览 */
.HomePro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 2vw;
}

.HomePro .bg1 {
  padding-top: 7vw;
}

.HomePro .Slider3d .swiper-slide .imgbox img {
  width: 100%;
  display: block;
}

/* 箭头按钮：原站白底蓝边 */
.Slider3d .btn {
  background: #fff;
}

.Slider3d .btn:hover {
  background: #00479d;
}

/* 原站右下角装饰块在这里没有素材，去掉避免出现色块 */
.Slider3d:after {
  display: none;
}

/* 数字条：沿用原站 .flexbw 的 wrap 行为（数字/标签在上，图标换行到下方） */
.HomeAbout .numList .num {
  position: relative;
  display: inline-block;
  white-space: nowrap;
}

/* 移动端「关于我们」：图片只有 126px 高，下方会留 277px 空白，
   改为纵向撑满：正文在上、图片吃掉剩余高度、数字条贴底 */
@media (max-width: 768px) {
  .HomeAbout {
    display: flex;
    flex-direction: column;
  }

  .HomeAbout .changeImg {
    flex: 1 1 auto;
    min-height: 150px;
  }

  .HomeAbout .changeImg img.bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .HomeAbout .numList .item p {
    font-size: 12px;
    line-height: 1.4;
  }

  /* 数字条贴到屏幕底部后，给底部分页圆点留出位置，避免压在标签上 */
  .HomeAbout .numList ul {
    padding-bottom: 34px;
  }
}

/* 上标：窄符号（+）与宽单位（万㎡）都要不压住数字，故用行内上标而非绝对定位 */
.HomeAbout .numList .num sup {
  position: static;
  top: auto;
  right: auto;
  font-size: 0.26rem;
  line-height: 1;
  vertical-align: top;
  margin-left: 0.03rem;
}

/* 行业应用：原站用 slick，这里改为 grid 三列；无边框，卡片等高 */
.HomeNews {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 8vw;
}

.HomeNews .TitHead {
  margin-bottom: 1.2vw;
}

.HomeNews .TabCon .slider.home-industry-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.HomeNews .TabCon .slider.home-industry-list > .item {
  width: auto;
  display: flex;
  box-sizing: border-box;
}

.HomeNews .TabCon .item a {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border: 0;
  background: #fff;
}

.HomeNews .TabCon .item .info {
  padding: 18px 20px 16px;
  order: 1;
}

.HomeNews .TabCon .item .date {
  margin-bottom: 10px;
  font-size: 14px;
}

.HomeNews .TabCon .item .date span {
  font-size: 16px;
  padding-bottom: 6px;
  border-bottom: 2px solid #dadada;
  margin-right: 8px;
  color: #014095;
  text-transform: capitalize;
}

.HomeNews .TabCon .item .ti {
  font-size: 20px;
  line-height: 1.5;
  min-height: 0;
  margin-bottom: 10px;
  color: #1e252f;
}

.HomeNews .TabCon .item .desc {
  font-size: 14px;
  line-height: 1.75;
  min-height: 0;
  margin-bottom: 12px;
  opacity: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.HomeNews .TabCon .item .imgbox {
  position: relative !important;
  left: auto;
  bottom: auto;
  padding-top: 0 !important;
  height: 168px;
  overflow: hidden;
  order: 0;
}

.HomeNews .TabCon .item .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 移动端：三列会溢出（第三列被裁掉），改两列并压缩卡片，保证 6 张在 100vh 内排完 */
@media (max-width: 768px) {
  .HomeNews {
    padding-top: 14vw;
  }

  .HomeNews .TitHead {
    margin-bottom: 10px;
  }

  .HomeNews .TabCon .slider.home-industry-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .HomeNews .TabCon .item .imgbox {
    height: 92px;
  }

  .HomeNews .TabCon .item .info {
    padding: 8px 10px 8px;
  }

  .HomeNews .TabCon .item .date {
    margin-bottom: 4px;
    font-size: 11px;
  }

  .HomeNews .TabCon .item .date span {
    font-size: 12px;
    padding-bottom: 3px;
    margin-right: 6px;
  }

  .HomeNews .TabCon .item .ti {
    font-size: 15px;
    line-height: 1.4;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .HomeNews .TabCon .item .desc {
    font-size: 12px;
    line-height: 1.55;
    margin-bottom: 6px;
  }

  .HomeNews .TabCon .item .more {
    font-size: 12px;
  }
}

.HomeNews .TabCon .item:hover .imgbox {
  bottom: auto;
  opacity: 1;
  transform: none;
}

.HomeNews .TabCon .item .imgbox .more {
  display: none !important;
}

/* 博物馆 */
body.is-home .home-swiper .home-museum {
  background-image: url(/img/home/museum.png);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
}

.home-museum .TitHead {
  position: relative;
  padding-top: 3vw;
}

.home-museum .TitHead h2,
.home-museum .TitHead .slogan,
.home-museum .TitHead .desc,
.home-museum .TitHead .desc p {
  color: #fff;
}

.home-museum .TitHead h2 span {
  color: #fff;
}

.home-museum .TitHead .desc {
  max-width: 12rem;
  margin-top: 0.5rem;
}

/* ---------- 页脚 ---------- */
.Footer {
  position: relative;
  z-index: 2;
}

.Footer .SiteMap .sub-menu,
.Footer .SiteMap li > ul {
  display: block;
}

/* ---------- 页脚右侧导航：照搬原站内联样式（.SiteMap.flexbw > li …） ---------- */
/*
 * 原站这段规则写在首页的 <style> 里，我们的 CSS 包里没有，导致页脚右侧整块
 * 变成「等宽挤在一起的小字」。补上后列宽、字号、行距、底部版权行与原站一致。
 */
.Footer .SiteMap.flexbw > li {
  flex: 1;
  display: block;
  padding: 10px;
  margin-block: 1em;
}

.Footer .SiteMap.flexbw > li > a {
  font-size: 0.2rem;
  line-height: 1.5;
  color: #fff;
  text-decoration: none;
}

.Footer .SiteMap.flexbw > li > a:hover {
  color: #00479d;
}

/* Neve 会给页脚链接加下划线，原站没有 */
.Footer a,
.Footer a:hover {
  text-decoration: none;
}

.Footer .SiteMap.flexbw > li > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.Footer .SiteMap.flexbw > li > ul > li {
  width: 80%;
  padding-top: 0.1rem;
}

.Footer .SiteMap.flexbw > li > ul > li > a {
  opacity: 0.7;
  color: #fff;
  text-decoration: none;
}

/* page-cat.css 的 .flexw 带 margin:0 -10px，会把社交图标推出网格 */
.Footer .fllowus {
  margin: 0;
}

/* ---------- 通用：三语长文案 ---------- */
html[lang='ru'] .header .nav-ul.menu-desktop > li {
  margin: 0 11px;
}

html[lang='ru'] .header .nav-ul.menu-desktop > li > .wrap > a {
  font-size: 17px;
}

html[lang='en'] .header .nav-ul.menu-desktop > li {
  margin: 0 13px;
}

/* ---------- 响应式 ---------- */
@media (max-width: 991px) {
  .header .header--row.hide-on-mobile {
    display: none;
  }

  .header .header--row.hide-on-desktop {
    display: block;
  }
}

@media (min-width: 992px) {
  .header .header--row.hide-on-mobile {
    display: block;
  }

  .header .header--row.hide-on-desktop {
    display: none;
  }
}

@media (max-width: 768px) {
  .home-swiper {
    height: 100vh;
  }

  .home-swiper .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0 5px !important;
  }
}

/* ---------- 内页通用 ---------- */
.SubPage:not(.proNavPage) .proContent {
  width: 100%;
}

.prose {
  font-size: 16px;
  line-height: 2;
  color: #333;
}

.prose p {
  margin: 0 0 18px;
}

.prose h2 {
  font-size: 22px;
  color: #142233;
  margin: 34px 0 16px;
  font-weight: 600;
}

.prose ul {
  margin: 0 0 18px;
  padding-left: 20px;
  list-style: disc;
}

.prose li {
  margin-bottom: 8px;
}

/* 主题样式里有 li{list-style:none}，会把 .prose ul 的 disc 覆盖掉，这里按 li 重新声明 */
.prose ul > li {
  list-style-type: disc;
}

.prose ol > li {
  list-style-type: decimal;
}

.prose blockquote {
  margin: 0 0 18px;
  padding: 14px 18px;
  background: #f4f7fb;
  border-left: 3px solid #00479d;
  color: #4a5a70;
}

.prose img {
  max-width: 100%;
  height: auto;
}

/* 后台富文本（WangEditor）产出的 HTML 比原 Markdown 子集丰富，补齐其余排版 */
.prose h1,
.prose h3,
.prose h4,
.prose h5 {
  color: #142233;
  font-weight: 600;
  line-height: 1.5;
  margin: 34px 0 16px;
}

.prose h1 {
  font-size: 24px;
}

.prose h3 {
  font-size: 20px;
}

.prose h4,
.prose h5 {
  font-size: 18px;
}

.prose h1:first-child,
.prose h2:first-child,
.prose h3:first-child,
.prose p:first-child {
  margin-top: 0;
}

.prose ol {
  margin: 0 0 18px;
  padding-left: 22px;
  list-style: decimal;
}

.prose a {
  color: #00479d;
  text-decoration: underline;
}

.prose strong,
.prose b {
  font-weight: 600;
  color: #142233;
}

.prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 18px;
}

.prose th,
.prose td {
  border: 1px solid #e3e8f0;
  padding: 10px 14px;
  text-align: left;
  line-height: 1.7;
}

.prose th {
  background: #f6f9fd;
  font-weight: 600;
  color: #142233;
}

.prose pre {
  margin: 0 0 18px;
  padding: 14px 16px;
  background: #f6f8fa;
  border-radius: 4px;
  overflow-x: auto;
  line-height: 1.7;
}

.prose code {
  padding: 2px 6px;
  background: #f2f5f9;
  border-radius: 3px;
  font-size: 0.92em;
}

.prose pre code {
  padding: 0;
  background: none;
}

.prose hr {
  margin: 28px 0;
  border: 0;
  border-top: 1px solid #e3e8f0;
}

.prose iframe,
.prose video {
  max-width: 100%;
}

/* 单页正文 */
.singleBox .SubTit3 {
  font-size: 28px;
  color: #142233;
  font-weight: 600;
  margin-bottom: 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid #eef1f6;
}

.singleLead {
  font-size: 17px;
  color: #4a5a70;
  line-height: 1.9;
  margin: 18px 0 22px;
}

.singleCover {
  margin-top: 26px;
}

.singleCover img {
  width: 100%;
  display: block;
  border-radius: 6px;
}

/* 文章详情 */
.articleBox {
  max-width: 980px;
}

.articleTitle {
  font-size: 30px;
  line-height: 1.5;
  color: #142233;
  font-weight: 600;
  margin: 0;
}

.articleMeta {
  display: flex;
  gap: 18px;
  color: #8a97a8;
  font-size: 14px;
  margin: 16px 0 26px;
  padding-bottom: 18px;
  border-bottom: 1px solid #eef1f6;
}

.articleCover {
  width: 100%;
  display: block;
  margin-bottom: 26px;
  border-radius: 6px;
}

.articlePager {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 44px;
  padding-top: 24px;
  border-top: 1px solid #e8ebf0;
}

/* 列表卡片补充 */
.postDate {
  display: block;
  font-size: 13px;
  color: #94a1b2;
  padding: 0 0 14px;
}

.listLead {
  color: #5a6b80;
  line-height: 1.9;
  margin-bottom: 26px;
}

.pro-empty {
  color: #94a1b2;
  padding: 40px 0;
}

/* 分页 */
.pagination {
  display: flex;
  justify-content: center;
  gap: 4px;
  flex-wrap: wrap;
}

.pagination a.on {
  background: #014095;
  color: #fff;
  border-color: #014095;
}

@media (max-width: 768px) {
  .articleTitle {
    font-size: 22px;
  }

  .singleBox .SubTit3 {
    font-size: 22px;
  }
}

/* ---------- 首页：整屏翻页，页脚在最后一屏后把整屏顶上去（与原站同机制） ---------- */
/*
 * 原站首页没有右侧滚动条：swiper 占满 100vh，页脚默认 display:none 不占位，
 * 文档高度正好等于视口，滚不动也就没有滚动条。
 * 到了最后一屏，页脚改为 display:block 进入正常文档流（文档高度 = 100vh + 页脚高），
 * 继续下滑时窗口滚到底，最后一屏随之整体上移、页脚露出——就是原站那个「弹上来」的效果。
 * 注意：这里不能用 position:fixed + transform，否则首帧会闪现一次页脚，
 * 而且 .Footer 一旦有 overflow 就会把左侧那块凸出的圆角背景裁掉。
 */
html.is-home {
  height: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
  overscroll-behavior: none;
  scrollbar-width: none;          /* Firefox */
  -ms-overflow-style: none;       /* 旧 Edge/IE */
  scrollbar-color: transparent transparent;
}

html.is-home::-webkit-scrollbar {
  width: 0;
  height: 0;
}

body.is-home {
  height: auto;
  min-height: 100%;
  /* Neve 给 body 设了 overflow-x:hidden，会连带把 overflow-y 变成 auto，
     于是 body 自己成了滚动容器、页脚撑不开文档高度。首页必须放回 visible，
     横向裁切交给 html 上的 overflow-x:hidden。 */
  overflow: visible;
}

body.is-home .home-swiper {
  height: 100vh;
  height: 100dvh;
}

/* 最后一屏之前页脚不占位（原站 #footer 同样是 display:none） */
body.is-home .Footer {
  display: none;
}

body.is-home.footer-ready .Footer {
  display: block;
}

/* ---------- 移动端头部与分页细节 ---------- */
.header .header--row.hide-on-desktop .site-logo img {
  width: auto;
  height: 32px;
  max-height: 32px;
  max-width: none;
}

body.is-home .header .navbar-toggle .icon-bar {
  background: #2c2c2c;
}

.home-swiper > .swiper-pagination {
  z-index: 20;
}

.home-swiper .swiper-pagination-bullet {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.7);
}

.home-swiper .swiper-pagination-bullet-active {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.9);
}

/* ---------- 关于我们 / 企业简介：AboutInfo 版式 ---------- */
.AboutInfo .text {
  line-height: 1.875;
  color: #333;
}

/* 原站 .text 内联 0.16rem，让富文本跟随父级字号 */
.AboutInfo .text .prose {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

.AboutInfo .text .prose p {
  margin: 0 0 0.16rem;
}

.AboutInfo .text .prose h2 {
  font-size: 0.24rem;
  line-height: 1.8;
  margin: 0.24rem 0 0.1rem;
  color: #142233;
  font-weight: 600;
}

.AboutInfo > .Img img {
  display: block;
  width: 100%;
  height: auto;
}

/* 原站 390 实测：.AboutInfo padding 20px 15px、h2 24px、正文 14px/22.4px */
@media (max-width: 991px) {
  .AboutInfo {
    padding: 20px 15px;
  }

  .AboutInfo .innerBox {
    width: 100%;
    padding: 0;
    margin: 0 0 20px;
  }

  .AboutInfo .SubTit3 h2 {
    font-size: 24px;
    line-height: 2.375;
  }

  /* 模板中 .text 带内联 font-size:0.16rem，移动端需强制覆盖 */
  .AboutInfo .text {
    font-size: 14px !important;
    line-height: 22.4px;
  }

  .AboutInfo .text .prose {
    font-size: inherit;
    line-height: inherit;
  }

  .AboutInfo > .Img {
    width: 100%;
    padding-top: 0.35rem;
  }
}







/* ---------- 与原站实测对齐（1440 / 390 双端比对） ---------- */
/* 原站 .SubMenu 桌面无上下内边距，高度由 .w1440 的 min-height 0.75rem 撑起 */
.SubMenu {
  padding: 0;
}

/* 原站 .w1440：width 88% 与 max-width 14.4rem 取小值 */
.w1440 {
  width: 88%;
}

/* 移动端 banner：原站 390 视口下 SubBan 高 200px（3.85rem），图片裁剪填充 */
@media (max-width: 768px) {
  .SubBan {
    height: 3.85rem;
  }

  .SubBan .img {
    height: 100%;
  }

  .SubBan .img img {
    height: 100%;
    object-fit: cover;
  }
}

/* ---------- 产品概览「查看更多」按钮（对齐原站实测值） ---------- */
/* 原站 .more.blueline：透明底、蓝字、2px 蓝框；Neve 的 --btnpadding 会塞进 12px 24px，
   导致 43px 高的按钮里文字被推到底部，这里按原站 computed 值还原 */
.TitHead .more.btn,
.TitHead .more.btn.blueline {
  display: block;
  width: 1.65rem;
  height: 0.48rem;
  padding: 0;
  line-height: 0.44rem;
  border: 2px solid #00479d;
  border-radius: 0.48rem;
  background-color: transparent;
  color: #00479d;
  text-align: center;
  box-sizing: border-box;
}

.TitHead .more.btn.blueline:hover {
  background: #00479d;
  border-color: #00479d;
  color: #fff;
}

/* ---------- 页脚「防伪查询」按钮（原站实测：透明底 + 30px 圆角细边框白字） ---------- */
.Footer .footer_btn_hnks {
  height: 0.44rem;
  padding: 0 0.27rem;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 30px;
  color: #fff;
  font-size: 0.16rem;
  line-height: 0.42rem;
  cursor: pointer;
  transition: all 0.3s;
}

.Footer .footer_btn_hnks:hover {
  background: #00479d;
  border-color: #00479d;
}

/* 社交图标与按钮同高，整体水平居中 */
.Footer .fllowus {
  align-items: center;
}

@media (max-width: 768px) {
  .Footer .footer_btn_hnks {
    height: 32px;
    padding: 0 16px;
    line-height: 30px;
    font-size: 13px;
  }
}

/* ---------- 页脚：移动端（原站 <style> 里的 768 断点，逐条对齐） ---------- */
@media (max-width: 768px) {
  /* common.css 在 1024 断点把整块 SiteMap 藏了，原站移动端其实是手风琴形式放出 */
  .Footer {
    padding: 20px 15px;
    height: auto;
  }

  .Footer .w1600 {
    display: block;
    width: 100%;
    padding-top: 0;
  }

  .Footer .Contact {
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 0;
  }

  .Footer .Contact dl {
    margin-bottom: 15px;
    padding-bottom: 0;
  }

  .Footer .Contact dt {
    font-size: 14px;
  }

  .Footer .Contact dd {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .Footer .Contact .tel {
    font-size: 18px !important;
    line-height: 1.4;
  }

  .Footer .rightBot {
    width: 100%;
  }

  .Footer .SiteMap.flexbw {
    display: flex;
    flex-direction: column;
    padding-left: 0;
  }

  .Footer .SiteMap.flexbw > li {
    width: 100%;
    margin: 0 0 15px;
    padding: 0;
  }

  .Footer .SiteMap.flexbw > li > a {
    display: block;
    font-size: 16px;
    font-weight: bold;
    line-height: 2.5;
  }

  .Footer .SiteMap.flexbw > li > a::after {
    content: '+';
    float: right;
  }

  .Footer .SiteMap.flexbw > li.menu-open > a::after {
    content: '−';
  }

  .Footer .SiteMap.flexbw > li > ul {
    display: none;
    padding-left: 15px;
  }

  .Footer .SiteMap.flexbw > li.menu-open > ul {
    display: block;
  }

  .Footer .SiteMap.flexbw > li > ul > li {
    width: 100%;
    padding: 5px 0;
  }

  .Footer .copyRight {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 0;
    padding: 0;
    border-top: 0;
    text-align: center;
  }

  .Footer .fllowus {
    margin: 0 0 20px;
    justify-content: space-around;
    width: 100%;
  }

  .Footer .copy {
    text-align: center;
    font-size: 12px;
  }
}

/* ---------- 第二屏 3D 轮播箭头：与原站一致（垂直居中 + 40×40） ---------- */
.Slider3d > .swiper-button-prev,
.Slider3d > .swiper-button-next {
  top: 50%;
  margin-top: -20px;
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 箭头图标不参与 flex 拉伸，保持原站 16px 尺寸 */
.Slider3d > .swiper-button-prev:after,
.Slider3d > .swiper-button-next:after {
  font-size: 0;
  width: 16px;
  height: 12px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0;
}

/* 产品详情正文：原站是手写的特性 bullets，后台改成富文本后由编辑器产出，
   这里补间距与列表符号，避免段落挤成一坨 */
.proContent .proIntro {
  margin: 0.36rem 0 0.08rem;
}

.proContent .proIntro .prose {
  font-size: 0.16rem;
  line-height: 0.28rem;
  color: #666;
}

.proContent .proIntro .prose p {
  margin-bottom: 0.1rem;
}

.proContent .proIntro .prose ul > li {
  list-style-type: disc;
  margin-bottom: 0.08rem;
}

.proContent .proIntro .prose ol > li {
  list-style-type: decimal;
  margin-bottom: 0.08rem;
}

/* ---------- 产品中心侧栏（原站 .proNav_left 手风琴） ---------- */
/* 二级分类用 <ul> 承载，抵掉 NEVE 的 ul 默认缩进与列表符号：
   原站是 <div><li> 的写法，marker 不显示，视觉上是纯文字列表 */
.proDetail .proInfo ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 折叠时 .proInfo 是 absolute + opacity:0（css_whir.css），
   这里补一条兜底，避免绝对定位项在部分浏览器里仍能点到 */
.proDetail .proInfo:not(.active) {
  pointer-events: none;
  visibility: hidden;
}

.proDetail .proInfo.active {
  visibility: visible;
}

/* ==========================================================================
   产品详情：原站是 WP 单篇页（Neve 主题 single-post）
   —— 没有大横幅、没有左侧分类栏，正文容器是「满宽 + 左右 15px」，
      而不是全站通用的 .w1440（88% 宽）。下面尺寸都按原站 1440 视口实测
      换算：原站 html font-size = 6.2vw = 89.28px，脚本里 px ÷ 89.28 得 rem。
   ========================================================================== */

.proSingle {
  background: #fff;
}

/* 原站正文容器：宽 1410（1440 - 15*2），比 .w1440 宽 140px。
   左右边距是固定的 15px（原站 .single-post-container 的 padding），
   所以这里不跟 rem 走——rem 在 769~1024 区间只有 1vw，用 rem 会缩成 2px 贴边。
   更宽的屏幕由 max-width:1470px 居中收口（1920 下两侧各留 225px）。 */
.proWrap {
  width: 100%;
  max-width: 1470px;
  margin: 0 auto;
  padding: 0 15px;
  box-sizing: border-box;
}

/* ---------- 面包屑 ---------- */
.proCrumbs {
  padding: 1.79rem 0 0.56rem;
  font-size: 0.16rem;
  line-height: 1.4;
  letter-spacing: 0.0224rem;
  color: #0d1821;
}

.proCrumbs .proWrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.06rem;
}

.proCrumbs a {
  color: #0d1821;
}

.proCrumbs a:hover {
  color: #0065cb;
}

.proCrumbs .sep {
  color: #0d1821;
}

.proCrumbs strong {
  font-weight: 600;
}

/* ---------- 图集 + 基本信息 ---------- */
.proHeadFlex {
  display: flex;
  align-items: flex-start;
  gap: 0.313rem;
  padding-bottom: 0.8rem;
}

/* 左栏 661 / 1410 */
.proGallery {
  flex: 0 0 46.9%;
  max-width: 46.9%;
}

/* 4px 蓝线只横跨左栏，不是整宽 */
.proHeadLine {
  display: block;
  height: 0.045rem;
  background: #1e50e6;
}

.proGalleryBody {
  display: flex;
  gap: 0.09rem;
  margin-top: 0.224rem;
  align-items: flex-start;
}

/* 原站缩略图是主图左侧一列竖排小图 */
.proGalleryThumbs {
  flex: 0 0 0.73rem;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.proGalleryThumbs > li {
  cursor: pointer;
  opacity: 0.72;
  transition: opacity 0.25s;
}

.proGalleryThumbs > li.on,
.proGalleryThumbs > li:hover {
  opacity: 1;
}

.proGalleryThumbs img {
  display: block;
  width: 100%;
  height: 0.41rem;
  object-fit: contain;
}

.proGalleryMain {
  flex: 1 1 auto;
  min-width: 0;
  /* 产品图实际是 900×506（16:9），容器按同比例才能让图片撑满不留白 */
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}

.proGalleryMain img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* 换图淡入淡出，和原站轮播观感一致 */
.proFade-enter-active,
.proFade-leave-active {
  transition: opacity 0.35s ease;
}

.proFade-enter-from,
.proFade-leave-to {
  opacity: 0;
}

.proHeadInfo {
  flex: 1 1 auto;
  padding-top: 0;
  /* 原站右栏文字并不贴着图片，左内边距约 165px */
  padding-left: 0.7rem;
  padding-right: 0.7rem;
}

.proHeadInfo h1 {
  margin: 0 0 0.04rem;
  font-size: 0.4rem;
  line-height: 1.2;
  font-weight: 600;
  color: #333;
}

.proHeadSummary {
  margin: 0 0 0.22rem;
  font-size: 0.18rem;
  line-height: 0.3rem;
  color: #333;
}

.proHeadSpec {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.3rem;
  color: #333;
}

/* ---------- 区块标题 ---------- */
.proSecTitle {
  margin: 0 0 0.36rem;
  font-size: 0.52rem;
  line-height: 1.3;
  font-weight: 600;
  color: #2c2c2c;
}

/* ---------- 优势 / 核心功能 ---------- */
/* 原站优势灰块与图例蓝块上下紧挨，中间没有留白 */
.proAdv {
  background: #f8f8f8;
  padding: 0.5rem 0 1.1rem;
}

.proAdvList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.313rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 每列顶部一条 4px 蓝线，原站是 inline style：border-top:4px solid #1e50e6 */
.proAdvList > li {
  border-top: 0.045rem solid #1e50e6;
  padding-top: 0.22rem;
}

.proAdvNo {
  display: block;
  margin-bottom: 0.17rem;
  font-size: 0.16rem;
  line-height: 0.3rem;
  color: #2c2c2c;
}

.proAdvText {
  display: flex;
  align-items: flex-start;
  gap: 0.02rem;
}

.proAdvIcon {
  flex: 0 0 0.22rem;
  width: 0.22rem;
  height: 0.22rem;
  margin-top: 0.05rem;
  color: #1e50e6;
}

.proAdvText p {
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.3rem;
  color: #2c2c2c;
}

/* ---------- 产品图例 ---------- */
.proIllus {
  background: #0065cb;
  padding: 0.42rem 0 0.45rem;
}

.proIllus .proSecTitle {
  color: #fff;
  margin-bottom: 0.3rem;
}

.proIllusGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.09rem;
}

/* ---------- 产品图例：横向滑动列表 ---------- */
/* 图例张数由后台决定，不固定；容器与 .proWrap 同宽同边距，
   一屏放 4 张，放不下的部分横向滚动（触屏/触控板原生滑动，桌面用箭头） */
.proIllusSlider {
  position: relative;
  width: 100%;
  max-width: 1470px;
  margin: 0 auto;
  padding: 0 15px;
  box-sizing: border-box;
}

.proIllusTrack {
  --illus-per: 4;
  --illus-gap: 0.09rem;
  display: flex;
  gap: var(--illus-gap);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  /* 图注是白色小字，底部留一点空间避免贴住区块下边缘 */
  padding-bottom: 0.02rem;
}

.proIllusTrack::-webkit-scrollbar {
  display: none;
}

.proIllusTrack > figure {
  flex: 0 0 calc((100% - var(--illus-gap) * (var(--illus-per) - 1)) / var(--illus-per));
  margin: 0;
  scroll-snap-align: start;
}

/* 翻页箭头：蓝底上白圆，只在对应方向还有内容时出现 */
.proIllusArrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.52rem;
  height: 0.52rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #0065cb;
  cursor: pointer;
  transform: translateY(-50%);
  box-shadow: 0 0.03rem 0.12rem rgba(0, 0, 0, 0.18);
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.proIllusArrow:hover {
  background: #fff;
}

.proIllusArrow svg {
  width: 0.2rem;
  height: 0.2rem;
}

.proIllusArrow.prev {
  left: 0.02rem;
}

.proIllusArrow.next {
  right: 0.02rem;
}

.proIllusTrack img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0.224rem;
}

.proIllusTrack figcaption {
  margin-top: 0.06rem;
  font-size: 0.15rem;
  line-height: 0.3rem;
  color: #fff;
  text-align: center;
  /* 俄语/英语产品名可能很长，最多两行后省略，避免撑高整块 */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* ---------- 正文 ---------- */
.proBody {
  padding-bottom: 0.6rem;
}

.proBody .prose {
  font-size: 0.18rem;
  line-height: 0.32rem;
  color: #666;
}

.proBody .prose h2 {
  font-size: 0.26rem;
  margin: 0.3rem 0 0.16rem;
  color: #333;
}

.proBody .prose p {
  margin-bottom: 0.14rem;
}

.proBody .prose ul > li {
  list-style: disc inside;
  margin-bottom: 0.08rem;
}

/* ---------- 响应式 ---------- */
@media (max-width: 1024px) {
  .proCrumbs {
    padding-top: 1.4rem;
  }

  .proHeadFlex {
    flex-direction: column;
    gap: 0.4rem;
  }

  .proGallery {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;
  }

  .proHeadInfo {
    padding-left: 0;
    padding-right: 0;
  }

  .proSecTitle {
    font-size: 0.38rem;
  }

  .proAdvList {
    grid-template-columns: 1fr;
    gap: 0.3rem;
  }

  .proIllusTrack {
    --illus-per: 2;
  }
}

@media (max-width: 768px) {
  .proCrumbs {
    padding: 1.5rem 0 0.3rem;
    font-size: 0.24rem;
    line-height: 1.8;
    letter-spacing: 0;
  }

  .proHeadInfo h1 {
    font-size: 0.5rem;
  }

  .proHeadSummary {
    font-size: 0.28rem;
    line-height: 0.48rem;
  }

  .proHeadSpec {
    font-size: 0.26rem;
    line-height: 0.46rem;
  }

  /* 手机上缩略图改到主图下方横排，省出主图宽度 */
  .proGalleryBody {
    flex-direction: column-reverse;
    gap: 0.18rem;
  }

  .proGalleryThumbs {
    flex: 0 0 auto;
    flex-direction: row;
    gap: 0.16rem;
    overflow-x: auto;
    width: 100%;
    padding-bottom: 0.06rem;
  }

  .proGalleryThumbs > li {
    flex: 0 0 1.5rem;
  }

  .proGalleryThumbs img {
    height: 0.9rem;
  }

  .proSecTitle {
    font-size: 0.42rem;
  }

  .proAdvList li {
    padding-top: 0.3rem;
  }

  .proAdvNo,
  .proAdvText p {
    font-size: 0.28rem;
    line-height: 0.48rem;
  }

  /* 手机上 1.35 张露出下一张的一角，提示可以横向滑动 */
  .proIllusTrack {
    --illus-per: 1.35;
    --illus-gap: 0.16rem;
    scroll-snap-type: x mandatory;
  }

  /* 触摸滑动更自然，箭头在手机上不占地方 */
  .proIllusArrow {
    display: none !important;
  }

  .proIllusTrack figcaption {
    font-size: 0.22rem;
    line-height: 0.4rem;
  }
}

/* ==========================================================================
   正文与页脚之间的留白
   原站（1440 视口实测）：正文末块 → 页面底 30px，article 下边距 60px，
   footer 自身还有 30px 上边距，合计约 117px。我们的页面里 footer 是紧贴
   正文的，视觉上挤在一起，这里按原站补回这段呼吸空间。
   首页（is-home）的页脚是「滚到末屏才出现」的特殊机制，必须排除。
   ========================================================================== */
body:not(.is-home) .neve-main {
  padding-bottom: 0.9rem;
}

body:not(.is-home) .Footer {
  margin-top: 0.3rem;
}

@media (max-width: 768px) {
  body:not(.is-home) .neve-main {
    padding-bottom: 0.5rem;
  }

  body:not(.is-home) .Footer {
    margin-top: 0.2rem;
  }
}

/* ==========================================================================
   关于我们（企业简介）· 与原站对齐的间距修正
   原站 .SubPage 在 AboutInfo 这个版式上是 padding:0 —— 内容区的上下留白由
   .innerBox 自己那圈 padding 提供。我们之前继承了 page-cat.css 的
   .SubPage{padding:60px 0 150px}，结果标题被顶下来 60px、底部又多出 150px 空白。
   .SubTit3 的 margin-bottom 也去掉（h2 本身 line-height 2.375，已有足够呼吸）。
   作用域限定在 .AboutInfo，不影响「创新优势」等其他用 .SubTit3 的页面。
   ========================================================================== */
.SubPage.AboutInfo {
  padding: 0;
}

.AboutInfo .SubTit3 {
  margin-bottom: 0;
}

@media (max-width: 991px) {
  /* 手机上 .innerBox 的 padding 归零，左右留白改由容器给，避免文字贴边 */
  .SubPage.AboutInfo {
    padding: 0 0.168rem;
  }

  .AboutInfo .SubTit3 {
    margin-bottom: 0;
  }
}

/* ==========================================================================
   企业荣誉 · 证书墙（原站 ul.PhotoList，1440 视口实测）
   3 列 × 4 行，卡片内容 396 宽、图片 3:2（396×264），图下 0.22rem 标题。
   ========================================================================== */
.honorsPage .PhotoList {
  display: flex;
  flex-wrap: wrap;
  /* 负边距抵消每项的左侧 padding，让第一列与容器左边缘对齐（原站同样做法） */
  margin: 0 0 -0.2rem -0.45rem;
  padding: 0;
  list-style: none;
}

.honorsPage .PhotoList .item {
  width: 33.3333%;
  padding: 0 0 0.6rem 0.45rem;
  box-sizing: border-box;
}

.honorsPage .itemhover {
  overflow: hidden;
}

.honorsPage .imgbox {
  position: relative;
  width: 100%;
  padding-top: 66.6667%; /* 3:2 */
  overflow: hidden;
  background: #f6f7f9;
}

.honorsPage .imgbox span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.honorsPage .imgbox img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.honorsPage .item:hover .imgbox img {
  transform: scale(1.04);
}

/* 原站 .PhotoList .ti 是 flex 居中、最小高 0.82rem，底部还有一条 1px 的
   :after 细线（hover 时宽度收成 0，动效来自 css_whir.css，别在这里覆盖掉） */
.honorsPage .ti {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0.82rem;
  margin: 0;
  padding: 0.04rem 0;
  box-sizing: border-box;
  font-size: 0.22rem;
  line-height: 0.3rem;
  color: #333;
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* 原站分页是 0.5rem 的圆点，与上面「行业应用」列表的小方块不同 */
.honorsPage .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  padding-top: 0.45rem;
  line-height: 0.5rem;
}

.honorsPage .pagination a {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin: 0 0.13rem;
  border: 1px solid #cfcfcf;
  border-radius: 50%;
  color: #014095;
  font-size: 0.16rem;
  text-align: center;
  transition: all 0.25s ease;
}

.honorsPage .pagination a:hover,
.honorsPage .pagination a.on {
  color: #fff;
  background: #014095;
  border-color: #014095;
}

@media (max-width: 991px) {
  .honorsPage .PhotoList {
    margin-left: -0.3rem;
  }

  .honorsPage .PhotoList .item {
    width: 50%;
    padding: 0 0 0.4rem 0.3rem;
  }

  .honorsPage .ti {
    min-height: 0;
    font-size: 0.16rem;
    line-height: 0.22rem;
    padding-top: 0.1rem;
  }
}

@media (max-width: 480px) {
  .honorsPage .PhotoList .item {
    width: 100%;
  }
}

/* ==========================================================================
   联系我们 · 原站 contact_cont 版式（1440 视口实测）
   标题 + 0.69rem 下划线 → 三列信息（图标 57 + 文字缩进 60）→ 二维码 → 底部实景图
   ========================================================================== */
/* 原站 .ys_cont1400：>1680 固定 1400px；≤1680 走 82.5%（1440 视口 → 1045px）；
   ≤1200 撑满并左右各 40px；≤767 左右各 20px。不能用 rem 定宽，否则 1920 下会被放大到 1170，
   比原站的 1400 窄一大截，两侧留白明显。 */
.contactPage .contactInner {
  width: 1400px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0.784rem 0 1.12rem;
  box-sizing: border-box;
}

.contactPage .contactTit {
  padding-bottom: 0.694rem;
  border-bottom: 1px solid #d9d9d9;
}

.contactPage .contactTit h1 {
  margin: 0;
  font-size: 0.403rem;
  line-height: 0.645rem;
  font-weight: 700;
  color: #333;
}

.contactPage .contactList {
  display: flex;
  flex-wrap: wrap;
  margin: 0.56rem 0 0;
  padding: 0;
  list-style: none;
}

.contactPage .contactItem {
  display: flex;
  align-items: flex-start;
  width: 33.3333%;
  box-sizing: border-box;
  padding-right: 0.2rem;
}

.contactPage .contactIcon {
  flex: 0 0 auto;
  width: 0.638rem;
  height: 0.638rem;
}

.contactPage .contactIcon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.contactPage .contactText {
  flex: 1 1 auto;
  min-width: 0;
  padding-left: 0.672rem;
}

.contactPage .contactLabel {
  font-size: 0.246rem;
  line-height: 0.43rem;
  color: #333;
}

.contactPage .contactAddr {
  margin: 0;
  font-size: 0.179rem;
  line-height: 0.322rem;
  color: #666;
}

.contactPage .contactTel a,
.contactPage .contactMail {
  display: block;
  font-size: 0.179rem;
  line-height: 0.313rem;
  color: #1e50e6;
  text-decoration: none;
}

.contactPage .contactMail {
  color: #666;
  word-break: break-all;
}

.contactPage .contactQr {
  display: flex;
  margin-top: 0.56rem;
}

.contactPage .qrItem {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 16.6667%;
  padding: 0.112rem 0;
  box-sizing: border-box;
}

.contactPage .qrItem img {
  display: block;
  width: 1.13rem;
  height: 1.13rem;
  object-fit: contain;
}

.contactPage .qrItem span {
  margin-top: 0.112rem;
  font-size: 0.16rem;
  line-height: 1.4;
  color: #333;
}

.contactPage .contactPic {
  margin-top: 0.493rem;
  aspect-ratio: 1400 / 365;
  border-radius: 0.224rem;
  overflow: hidden;
  background: #eef2f7;
}

.contactPage .contactPic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 宽度断点必须在所有基础规则之后，否则同优先级会被上面的 .contactIcon/.contactText 覆盖 */
@media (max-width: 1680px) {
  .contactPage .contactInner {
    width: 82.5%;
  }
}

@media (max-width: 1200px) {
  .contactPage .contactInner {
    width: 100%;
    padding-left: 40px;
    padding-right: 40px;
  }

  /* 三列在 1200 以下会挤，缩小图标与文字缩进，跟原站 1024 观感一致 */
  .contactPage .contactIcon {
    width: 0.45rem;
    height: 0.45rem;
  }

  .contactPage .contactText {
    padding-left: 0.3rem;
  }
}

@media (max-width: 991px) {
  .contactPage .contactInner {
    padding: 0.4rem 40px 0.6rem;
  }

  .contactPage .contactTit h1 {
    font-size: 0.28rem;
  }

  .contactPage .contactItem {
    width: 100%;
    padding-right: 0;
    margin-bottom: 0.3rem;
  }

  .contactPage .contactLabel {
    font-size: 0.2rem;
  }

  .contactPage .contactAddr,
  .contactPage .contactTel a,
  .contactPage .contactMail {
    font-size: 0.16rem;
    line-height: 0.28rem;
  }

  .contactPage .contactQr {
    margin-top: 0.3rem;
  }

  .contactPage .qrItem {
    width: 50%;
    max-width: 2.2rem;
  }

  .contactPage .qrItem img {
    width: 1.4rem;
    height: 1.4rem;
  }

  .contactPage .contactPic {
    margin-top: 0.3rem;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 767px) {
  .contactPage .contactInner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* ==========================================================================
   行业应用 · 案例详情（原站 WP 单篇页）
   封面 banner → 正文 70% + 右侧栏 30%（搜索 + 最新资讯）→ 浏览更多 4 列
   尺寸按原站 1440 视口实测，px ÷ 89.28 得 rem；容器 1470 沿用产品详情的 .proWrap 口径
   ========================================================================== */
.caseBan {
  /* 原站单篇页 banner 固定 500px（列表页那个是图片自适应高度，只有 375） */
  height: 500px;
}

/* 封面图压一层暗色：案例照片多为明亮车间/黄色设备，白字直接压上去会糊；
   原站封面本身是偏暗的曝光，这里用遮罩等价还原。文字层 z-index 是 10，遮罩放 5。 */
.caseBan::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  background: rgba(0, 0, 0, 0.38);
  pointer-events: none;
}

.caseBan .img,
.caseBan .img img {
  width: 100%;
  height: 100%;
}

.caseBan .img img {
  display: block;
  object-fit: cover;
}

.caseBan .w1440 h4 {
  margin: 0.12rem 0 0;
  font-size: 0.2rem;
  line-height: 1.3;
  font-weight: 600;
  color: #fff;
}

/* 原站 .single-post-container：max-width 1470 且**没有左右 padding**，
   1440 视口下就是满宽 1440，正文自己再留 15px，所以 1470 时正文宽 1029、1440 时 1008 */
.caseWrap {
  width: 100%;
  max-width: 1470px;
  margin: 0 auto;
}

.caseMain {
  display: flex;
  align-items: flex-start;
}

.caseBody {
  width: 70%;
  padding: 0.672rem 15px 0.336rem;
  box-sizing: border-box;
}

.caseTitle {
  margin: 0;
  font-size: 0.336rem;
  line-height: 1.3;
  font-weight: 600;
  color: #333;
}

.caseMeta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
  margin: 0.1rem 0 0.5rem;
  padding: 0;
  list-style: none;
  font-size: 0.115rem;
  line-height: 1.6;
  font-weight: 600;
  color: #666;
}

.caseContent .prose {
  font-size: 0.16rem;
  line-height: 0.3rem;
  color: #333;
}

.caseContent .prose p {
  margin: 0 0 0.2rem;
}

.caseContent .prose h2 {
  font-size: 0.2rem;
  line-height: 1.5;
  margin: 0.3rem 0 0.14rem;
}

/* ---- 右侧栏：搜索 + 最新资讯 ---- */
.caseSide {
  width: 30%;
  padding: 0.672rem 15px 0.336rem 45px;
  box-sizing: border-box;
}

.caseSearch,
.searchForm {
  display: flex;
  align-items: center;
}

.caseSearch input,
.searchForm input {
  flex: 1 1 auto;
  min-width: 0;
  height: 0.594rem;
  padding: 0 0.16rem;
  border: 1px solid #dedede;
  border-right: 0;
  border-radius: 10px 0 0 10px !important;
  background: #fff;
  font-size: 0.13rem;
  color: #2c2c2c;
  outline: none;
  box-sizing: border-box;
}

.caseSearch input:focus,
.searchForm input:focus {
  border-color: #0065cb;
}

.caseSearch button,
.searchForm button {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.716rem;
  height: 0.594rem;
  border: 0;
  border-radius: 0 10px 10px 0;
  background: #0065cb;
  color: #fff;
  cursor: pointer;
}

.caseSearch button:hover,
.searchForm button:hover {
  background: #014095;
}

.caseSearch button svg,
.searchForm button svg {
  width: 0.24rem;
  height: 0.24rem;
}

.caseSideTit {
  margin: 0.4rem 0 0;
  font-size: 0.2rem;
  line-height: 1.5;
  font-weight: 700;
  color: #0d1821;
}

.caseLatest {
  margin: 0.12rem 0 0;
  padding: 0;
  list-style: none;
}

.caseLatest li {
  padding: 0.16rem 0;
}

.caseLatest a {
  display: block;
  font-size: 0.16rem;
  line-height: 1.45;
  color: #0d1821;
}

.caseLatest a:hover {
  color: #0065cb;
}

.caseLatest time {
  display: block;
  margin-top: 0.06rem;
  font-size: 0.13rem;
  line-height: 1.4;
  color: rgba(13, 24, 33, 0.55);
}

/* ---- 浏览更多 ---- */
.SubPage.caseMore {
  padding: 0 0 1.68rem;
}

.caseMore h2 {
  margin: 0;
  padding-bottom: 0.224rem;
  font-size: 0.46rem;
  line-height: 1.3;
  font-weight: 600;
  color: #333;
}

.caseMoreList {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -0.224rem;
  padding: 0;
  list-style: none;
}

.caseMoreList li {
  width: 25%;
  padding: 0 0.224rem;
  box-sizing: border-box;
}

.caseMoreList a {
  display: block;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 9.64px 6px rgba(64, 123, 255, 0.05), 0 7px 16px 0 rgba(41, 107, 255, 0.06),
    0 2px 6px 0 rgba(186, 203, 238, 0.1);
}

.caseMoreImg {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.caseMoreImg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
}

.caseMoreList a:hover .caseMoreImg img {
  transform: scale(1.05);
}

.caseMoreList p {
  margin: 0;
  padding: 0.224rem 0.18rem;
  font-size: 0.16rem;
  line-height: 1.4;
  font-weight: 700;
  color: #333;
  text-align: center;
}

/* ---- 搜索结果页 ---- */
/* 这页没有 banner，而 .header 是 absolute 盖在内容上的（桌面 100 / 移动 40），
   必须自己让出头部高度，否则标题会压在 logo 底下 */
.SubPage.searchPage {
  padding: 148px 0 1.4rem;
}

.searchTitle {
  margin: 0;
  font-size: 0.32rem;
  line-height: 1.4;
  font-weight: 600;
  color: #333;
  word-break: break-word;
}

.searchPage .searchForm {
  max-width: 5rem;
  margin: 0.28rem 0 0.64rem;
}

@media (max-width: 991px) {
  /* 小屏 1rem 只有 52~61px，正文/标题一律改用 px，否则 0.16rem 会被算成 8px */
  .caseBan {
    height: 3.6rem;
  }

  .caseBan .w1440 h4 {
    margin-top: 6px;
    font-size: 14px;
  }

  .caseMain {
    display: block;
  }

  .caseBody,
  .caseSide {
    width: 100%;
    padding: 0.3rem 15px;
  }

  .caseSide {
    padding-top: 0;
  }

  .caseTitle {
    font-size: 20px;
  }

  .caseMeta {
    margin: 8px 0 16px;
    font-size: 12px;
  }

  .caseContent .prose {
    font-size: 15px;
    line-height: 1.9;
  }

  .caseContent .prose h2 {
    font-size: 18px;
    margin: 22px 0 10px;
  }

  .caseSearch input,
  .searchForm input {
    height: 44px;
    font-size: 14px;
  }

  .caseSearch button,
  .searchForm button {
    width: 52px;
    height: 44px;
  }

  .caseSearch button svg,
  .searchForm button svg {
    width: 18px;
    height: 18px;
  }

  .caseSideTit {
    margin-top: 0.3rem;
    font-size: 18px;
  }

  .caseLatest a {
    font-size: 15px;
  }

  .caseLatest time {
    margin-top: 4px;
    font-size: 12px;
  }

  .caseMore h2 {
    padding-bottom: 12px;
    font-size: 22px;
  }

  .caseMoreList li {
    width: 50%;
    padding: 0 0.12rem;
    margin-bottom: 0.24rem;
  }

  .caseMoreList {
    margin: 0 -0.12rem;
  }

  .caseMoreList p {
    padding: 12px 10px;
    font-size: 14px;
  }

  .searchTitle {
    font-size: 20px;
  }

  .SubPage.searchPage {
    padding: 72px 0 1rem;
  }
}

@media (max-width: 640px) {
  .caseMoreList li {
    width: 100%;
  }
}

/* ==========================================================================
   创新优势 · 原站 page-about6 模板
   结构：居中导语（SubTit3 同款）→ 左右交替图文（复用 css_whir 的 .industryItem）
        → 页尾 3 列图片墙（复用 .PhotoList）
   尺寸按原站 1440 实测（px ÷ 89.28 = rem）
   ========================================================================== */
.advLeadSec {
  padding-top: 0.6rem;
}

.advLead {
  margin-bottom: 0.6rem;
  text-align: center;
}

.advLead h2 {
  margin: 0;
  font-size: 0.4rem;
  line-height: 2.375;
  font-weight: 400;
  color: #142233;
}

.advLeadText {
  color: #333;
  font-size: 0.18rem;
  line-height: 0.4rem;
  text-align: left;
}

.advLeadText p {
  margin: 0;
}

.advLeadText p:not(:last-child) {
  margin-bottom: 0.1rem;
}

.advBody {
  padding: 1rem 0 1.5rem;
}

/* 原站页面模板用内联样式覆盖了 line-height 与左右内边距 */
.advBody .industryItem .titHead h2 {
  line-height: 1.5;
  padding: 0 15px;
  margin: 0;
}

/* 说明卡片里是成段文字（原站的 dd 是图标栅格，这里用不到） */
.advBody .industryItem .infobox p {
  margin: 0;
  font-size: 0.18rem;
  line-height: 0.3rem;
  color: #333;
}

.advBody .industryItem .infobox p + p {
  margin-top: 0.1rem;
}

/* ---- 页尾图片墙 ---- */
.advPhotoList {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 -0.2rem -0.45rem;
  padding: 0;
  list-style: none;
}

.advPhotoList .itemhover {
  overflow: hidden;
}

.advPhotoList .imgbox {
  background: #f6f7f9;
}

.advPhotoList .imgbox img {
  transition: transform 0.6s ease;
}

.advPhotoList .item:hover .imgbox img {
  transform: scale(1.04);
}

.advPhotoList .ti {
  padding: 0.04rem 0;
  box-sizing: border-box;
  font-size: 0.22rem;
  line-height: 0.3rem;
  color: #333;
  text-align: center;
}

@media (max-width: 991px) {
  .advLeadSec {
    padding-top: 30px;
  }

  .advLead h2 {
    font-size: 24px;
    line-height: 1.6;
  }

  .advLeadText {
    font-size: 15px;
    line-height: 26px;
  }

  .advLead {
    margin-bottom: 24px;
  }

  .advBody {
    padding: 24px 0 40px;
  }

  .advBody .industryItem .infobox p {
    font-size: 15px;
    line-height: 26px;
  }

  .advPhotoList .ti {
    font-size: 15px;
    line-height: 22px;
    min-height: 46px;
  }
}

@media (max-width: 640px) {
  .advPhotoList .item {
    width: 50%;
  }
}

/* ------------------------------------------------------------------ 列表卡片配图
   原站口径（2026-11-11 用 puppeteer 实测 www.hnks.com）：

   行业应用列表（?cat=102 / ?cat=104）
     桌面 1440/1920：.postimg 死高 200px，图片 width/height 100% 强制拉满
     移动 390：死高 180px
   产品中心列表（?cat=132 / ?cat=122）
     1440 → 282×158、1920 → 326×183，是 16:9 等比，max-height:200px 只在更宽时封顶

   page-cat.css 里 .postimg 只有 max-height:200px，图片高不够时容器跟着缩，
   封面比例不一致（行业案例封面从 1400×365 到 1400×932 都有）就会高低参差，
   所以这里改成「容器定高 + 图片 cover 填满」。 */

.postli .postimg {
  overflow: hidden;
  max-height: none;
  height: 200px;
}

.postli .postimg img {
  display: block;
  width: 100%;
  height: 100%;
  /* 覆盖 orig 的 min-width/min-height:100%，否则窄图会被撑出容器 */
  min-width: 0;
  min-height: 0;
  object-fit: cover;
}

/* 产品中心沿用原站的 16:9 等比（等价 1440 下 158px），宽屏时最多 200px。
   用 .proCard 而不是 .proContent 区分：catch-all 的文章列表也包在 .proContent 里，
   按容器选会把它一起改成等比。 */
.postli.proCard .postimg {
  height: auto;
  aspect-ratio: 16 / 9;
  max-height: 200px;
}

.postli.proCard .postimg img {
  height: 100%;
}

@media (max-width: 767px) {
  .postli .postimg {
    height: 180px;
  }

  /* 手机上一列铺满，等比图高 176px，仍在 180 以内，保持等比更好看 */
  .postli.proCard .postimg {
    height: auto;
  }
}
