@charset "utf-8";

/* ===== 首页 hero2 ===== */
.zh-hero2 { position: relative; background: #0b0d10; }
.zh-hero-wipe { position: relative; overflow: hidden; display: flex; align-items: center; min-height: calc(100vh - var(--zh-hh, 0px)); }
.zh-hero-wipe .zh-pm-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; animation: zhKenBurns 18s ease-in-out infinite alternate; }
@keyframes zhKenBurns { 0% { transform: scale(1); } 100% { transform: scale(1.14); } }
.zh-hero2-mask { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(11, 13, 16, .78) 0%, rgba(11, 13, 16, .42) 38%, rgba(11, 13, 16, 0) 78%); }
.zh-hero-link { position: absolute; inset: 0; z-index: 2; display: block; }
.zh-hero2-inner { position: relative; z-index: 3; padding: 6.4rem 1.6rem; pointer-events: none; } /* 宽度走 zh-container(96%/max169rem),勿写 width:100% 擑破版心 */
.zh-hero-txt { max-width: 62rem; opacity: 0; transform: translateY(2.4rem); transition: opacity .5s ease, transform .5s ease; }
.zh-hero-txt.in { opacity: 1; transform: none; }
.zh-hero-txt .zh-hero-tag { display: inline-block; padding: .6rem 1.6rem; border-radius: 2rem; background: rgba(254, 118, 16, .18); color: var(--zh-orange); font-size: 1.4rem; letter-spacing: .2rem; }
.zh-hero-txt h2 { margin-top: 1.6rem; font-size: 3.2rem; line-height: 1.4; color: #fff; font-weight: 700; }
.zh-hero-txt p { margin-top: 1.6rem; font-size: 1.6rem; line-height: 1.9; color: #c6cfd8; }
.zh-hero-actions { display: flex; flex-wrap: wrap; gap: 1.6rem; margin-top: 3.2rem; pointer-events: auto; }
.zh-hero-feats { position: relative; z-index: 3; display: none; grid-template-columns: 1fr; margin-top: -6rem; padding: 1.6rem; background: #fff; border-radius: 1.6rem; box-shadow: 0 1.2rem 4rem rgba(27, 38, 49, .14); }
.zh-hero-feat { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; row-gap: .6rem; align-items: center; padding: 1rem 0; }
.zh-hero-feat + .zh-hero-feat { border-top: .1rem solid var(--zh-line); }
.zh-hero-feat > i.ico { grid-area: 1 / 1; font-size: 3rem; color: var(--zh-blue); transition: color .3s ease; }
.zh-hero-feat h3 { grid-area: 1 / 2; font-size: 2rem; color: var(--zh-ink); transition: color .3s ease; }
.zh-hero-feat p { grid-column: 1 / -1; font-size: 1.5rem; line-height: 1.8; color: var(--zh-mute); }
.zh-hero-feat .arr { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; justify-content: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; border: .1rem solid var(--zh-line); color: var(--zh-mute); transition: all .3s ease; }
.zh-hero-feat .arr i { font-size: 1.4rem; }
.zh-hero-feat:hover > i.ico { color: var(--zh-orange); }
.zh-hero-feat:hover h3 { color: var(--zh-blue); }
.zh-hero-feat:hover .arr { background: var(--zh-blue); border-color: var(--zh-blue); color: #fff; }

/* ===== 产品中心 ===== */
.zh-prod-layout { display: flex; flex-direction: column; gap: 2rem; }
.zh-prod-side { display: flex; flex-direction: column; padding: 2.4rem 2rem; background: #fff; border-radius: 1rem; box-shadow: 0 .2rem 1.2rem rgba(39, 51, 66, .06); }
.zh-prod-side-head h2 { font-size: 2.6rem; line-height: 1.4; color: var(--zh-ink); }
.zh-prod-side-head p { margin-top: .8rem; font-size: 1.4rem; line-height: 1.8; color: var(--zh-body); }
.zh-prod-cats { display: flex; gap: .6rem; margin: 2rem 0; overflow-x: auto; scrollbar-width: none; }
.zh-prod-cats::-webkit-scrollbar { display: none; }
.zh-prod-cats li { flex: 0 0 auto; }
.zh-prod-cats button { display: flex; align-items: center; justify-content: center; gap: .6rem; padding: 1rem 1.8rem; border: 0; border-radius: .6rem; background: var(--zh-bg); font-size: 1.6rem; color: var(--zh-body); white-space: nowrap; cursor: pointer; transition: all .3s ease; }
.zh-prod-cats button i { display: none; font-size: 1.4rem; opacity: 0; transform: translateX(-.4rem); transition: all .3s ease; } /* 手机端隐藏箭头免占位,文字才居中 */
.zh-prod-cats button:hover { background: #e8eefb; color: var(--zh-blue); }
.zh-prod-cats button.active { background: linear-gradient(135deg, #0046C7, #0039A6); color: #fff; }
.zh-prod-cats button.active i { opacity: 1; transform: translateX(0); }
.zh-prod-side-more { display: inline-flex; align-items: center; gap: .6rem; margin-top: auto; font-size: 1.6rem; font-weight: 600; color: var(--zh-orange-d); }
.zh-prod-side-more i { transition: transform .3s ease; }
.zh-prod-side-more:hover i { transform: translateX(.4rem); }
.zh-prod-main { min-width: 0; }
.zh-prod-panel { display: none; }
.zh-prod-panel.active { display: block; animation: zhFadeUp .45s ease; }
.zh-prod-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
.zh-prod-item { display: block; overflow: hidden; background: #fff; border-radius: .8rem; box-shadow: 0 .2rem 1rem rgba(39, 51, 66, .08); transition: transform .4s ease, box-shadow .4s ease; }
.zh-prod-item:hover { transform: translateY(-.6rem); box-shadow: 0 1rem 2.4rem rgba(0, 70, 199, .18); }
.zh-prod-item-img { position: relative; display: block; overflow: hidden; }
.zh-prod-item-img img { display: block; width: 100%; height: auto; transform: translateZ(0); backface-visibility: hidden; transition: transform .6s ease; }
.zh-prod-item:hover .zh-prod-item-img img { transform: scale(1.08) translateZ(0); }
.zh-prod-item-img i { position: absolute; right: 1.2rem; bottom: 1.2rem; display: flex; align-items: center; justify-content: center; width: 3.6rem; height: 3.6rem; background: var(--zh-orange); color: #fff; border-radius: 50%; font-size: 1.8rem; opacity: 0; transform: translateY(1rem); transition: all .4s ease; }
.zh-prod-item:hover .zh-prod-item-img i { opacity: 1; transform: translateY(0); }
.zh-prod-item-name { display: block; padding: 1.2rem 1.4rem; font-size: 1.6rem; font-weight: 600; color: var(--zh-ink); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ===== 案例图片墙 ===== */
.zh-casewall-sec { overflow: hidden; }
.zh-casewall { position: relative; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.zh-casewall-cell { position: relative; display: block; overflow: hidden; border-radius: .8rem; }
.zh-casewall-cell img { display: block; width: 100%; height: auto; transform: translateZ(0); backface-visibility: hidden; transition: transform 1.2s ease; }
.zh-casewall-cell:hover img { transform: scale(1.1) translateZ(0); }
.zh-casewall-cap { position: absolute; inset: auto 0 0 0; padding: 1.6rem 1.2rem 1rem; background: linear-gradient(transparent, rgba(27, 38, 49, .8)); color: #fff; font-size: 1.4rem; font-weight: 600; letter-spacing: 0; }
.zh-casewall-foot { margin-top: 2.4rem; text-align: center; }
.zh-casewall-more { display: inline-flex; align-items: center; gap: .8rem; margin-top: 2.2rem; padding: 1.1rem 2.8rem; background: linear-gradient(135deg, #FE7610, #E56A0D); color: #fff; border-radius: 9rem; font-size: 1.6rem; font-weight: 600; transition: all .3s ease; }
.zh-casewall-more:hover { transform: translateY(-.2rem); box-shadow: 0 .8rem 2rem rgba(254, 118, 16, .4); }
.zh-casewall-more i { font-size: 1.4rem; }

/* ===== 通用网格 ===== */
.zh-grid { display: grid; gap: 2rem; grid-template-columns: 1fr; }
.zh-grid-2 { grid-template-columns: 1fr; }
.zh-grid-3 { grid-template-columns: 1fr; }

/* ===== 为什么选择我们 ===== */
.zh-why-grid { display: grid; gap: 2rem; grid-template-columns: repeat(2, 1fr); }
.zh-why-item { position: relative; padding: 2.4rem 2rem 2.4rem 2.4rem; background: #fff; border: .1rem solid var(--zh-line); border-radius: .6rem; transition: all .3s ease; overflow: hidden; }
.zh-why-item:hover { transform: translateY(-.4rem); border-color: var(--zh-orange); box-shadow: 0 1rem 2.4rem rgba(27, 38, 49, .1); }
.zh-why-item .no { position: absolute; right: 1.2rem; top: .6rem; font-size: 4rem; font-weight: 700; color: var(--zh-bg); font-family: Arial, sans-serif; }
.zh-why-item h3 { position: relative; font-size: 1.8rem; color: var(--zh-ink); padding-left: 1.4rem; }
.zh-why-item h3::before { content: ""; position: absolute; left: 0; top: .5rem; bottom: .5rem; width: .4rem; border-radius: .2rem; background: var(--zh-orange); }
.zh-why-item p { margin-top: 1rem; font-size: 1.4rem; line-height: 2; }
.zh-why-item > i.ico { display: block; margin-bottom: 1.4rem; font-size: 3.2rem; color: var(--zh-blue); transition: color .3s ease; }
.zh-why-item:hover > i.ico { color: var(--zh-orange); }
/* why 卡 icon+标题同行 */
.zh-why-inline .zh-why-item { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; align-items: center; padding: 1.6rem; }
.zh-why-inline .zh-why-item > i.ico { grid-area: 1 / 1; margin-bottom: 0; font-size: 2.8rem; }
.zh-why-inline .zh-why-item > h3 { grid-area: 1 / 2; }
.zh-why-inline .zh-why-item > p { grid-column: 1 / -1; margin-top: .8rem; }

/* ===== 应用场景 ===== */
.zh-scenes-grid { display: grid; gap: 2rem; grid-template-columns: 1fr; }
.zh-scene { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: .6rem; overflow: hidden; }
.zh-scene img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.4); transform: translateZ(0); backface-visibility: hidden; transition: filter .5s ease, transform .5s ease; }
.zh-scene:hover img { filter: grayscale(0); transform: scale(1.06) translateZ(0); }
.zh-scene::after { content: ""; position: absolute; inset: 0; border: .2rem solid transparent; border-radius: .6rem; transition: border-color .4s ease; pointer-events: none; }
.zh-scene:hover::after { border-color: var(--zh-orange); }
.zh-scene figcaption { position: absolute; inset: auto 0 0 0; padding: 3rem 1.6rem 1.4rem; background: linear-gradient(transparent, rgba(27, 38, 49, .88)); color: #fff; font-size: 1.8rem; font-weight: 600; }
.zh-scene figcaption::after { content: ""; display: block; width: 0; height: .2rem; margin-top: .6rem; background: var(--zh-orange); transition: width .4s ease; }
.zh-scene:hover figcaption::after { width: 4rem; }

/* ===== 服务流程 ===== */
.zh-process { counter-reset: zhstep; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.6rem; }
.zh-process li { position: relative; padding: 2rem 1.8rem; background: #fff; border: .1rem solid var(--zh-line); border-radius: .6rem; margin-bottom: 0; text-align: center; }
.zh-process li::before { counter-increment: zhstep; content: "0" counter(zhstep); position: absolute; right: 1.4rem; top: 1.2rem; font-size: 3rem; font-weight: 700; color: rgba(0, 70, 199, .12); font-family: Arial, sans-serif; }
/* 步骤 icon + 流动虚线导引 */
.zh-process li .ico { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 5.2rem; height: 5.2rem; margin: 0 auto 1.4rem; border-radius: 50%; background: linear-gradient(135deg, var(--zh-blue), var(--zh-blue-d)); color: #fff; font-size: 2.4rem; box-shadow: 0 .6rem 1.6rem rgba(0, 70, 199, .24); transition: transform .3s ease; }
.zh-process li:hover .ico { transform: translateY(-.4rem); }
/* 弧线骑跨相邻两卡中线 */
.zh-process li::after { content: ""; display: none; position: absolute; left: 50%; margin-left: -.2rem; bottom: calc(100% + .6rem); box-sizing: border-box; width: calc(100% + 2rem); height: 2.6rem; border: .2rem dashed rgba(0, 70, 199, .4); border-bottom: 0; border-radius: 50% 50% 0 0 / 100% 100% 0 0; pointer-events: none; }
.zh-process li .ico::after { content: ""; display: none; position: absolute; top: -3.2rem; left: 50%; margin-left: -.8rem; border: .6rem solid transparent; border-top: .8rem solid var(--zh-blue); border-bottom: 0; animation: zhArrowPulse 1.6s ease-in-out infinite; }
.zh-process li p::after { content: ""; display: none; position: absolute; bottom: -3.2rem; left: 50%; margin-left: -.8rem; border: .6rem solid transparent; border-bottom: .8rem solid var(--zh-blue); border-top: 0; animation: zhArrowPulse 1.6s ease-in-out infinite; }
@keyframes zhArrowPulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
.zh-process li h3 { font-size: 1.8rem; color: var(--zh-ink); }
.zh-process li p { position: relative; margin-top: .6rem; font-size: 1.4rem; }

/* ===== 新闻 + FAQ 双栏 ===== */
.zh-nf { display: grid; gap: 3.2rem; }
.zh-nf-col h3 { display: flex; align-items: center; justify-content: space-between; font-size: 2rem; color: var(--zh-ink); padding-bottom: 1.2rem; border-bottom: .2rem solid var(--zh-line); }
.zh-nf-col h3 a { font-size: 1.4rem; font-weight: 400; color: var(--zh-blue); }
.zh-news-line { display: flex; flex-direction: column; gap: 1rem; padding: 1.4rem 0; border-bottom: .1rem dashed var(--zh-line); }
.zh-news-line:hover h4 { color: var(--zh-blue); }
.zh-news-line h4 { font-size: 1.6rem; line-height: 1.6; color: var(--zh-ink); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.zh-news-line time { font-size: 1.4rem; color: var(--zh-mute); }
.zh-faq-line { padding: 1.2rem 0; border-bottom: .1rem dashed var(--zh-line); }
.zh-faq-line a { display: flex; gap: .8rem; font-size: 1.6rem; color: var(--zh-body); line-height: 1.8; }
.zh-faq-line a:hover { color: var(--zh-blue); }
.zh-faq-line a::before { content: "Q"; flex: 0 0 auto; width: 2.2rem; height: 2.2rem; margin-top: .2rem; border-radius: .4rem; background: var(--zh-bg); color: var(--zh-blue); font-weight: 700; font-size: 1.4rem; display: inline-flex; align-items: center; justify-content: center; }
.zh-nf-col .zh-news-line:last-child, .zh-nf-col .zh-faq-line:last-child { border-bottom: 0; }

/* ===== 内页:归档筛选头 ===== */
.zh-archive-head { display: flex; flex-wrap: wrap; gap: 1.6rem; align-items: center; justify-content: space-between; margin: 2rem 0 3.2rem; }
.zh-browse-label { font-size: 1.8rem; color: var(--zh-ink); }
.zh-filter-links { display: flex; gap: .8rem; flex-wrap: wrap; }
.zh-filter-links a { display: inline-flex; align-items: center; justify-content: center; height: 4rem; padding: 0 2rem; border-radius: 2rem; font-size: 1.4rem; color: var(--zh-ink); background: var(--zh-bg); transition: all .3s ease; }
.zh-filter-links a:hover, .zh-filter-links a.active { background: var(--zh-blue); color: #fff; }
.zh-archive-layout { display: grid; gap: 3.2rem; }
.zh-archive-layout > * { min-width: 0; } /* grid 子项默认 min-width:auto 会被正文宽图擑宽致右侧裁切 */
.zh-side-card { background: #fff; border: .1rem solid var(--zh-line); border-radius: .6rem; padding: 2.2rem 2rem; margin-bottom: 2.4rem; }
.zh-side-card h3 { position: relative; padding-bottom: 1rem; margin-bottom: 1.6rem; font-size: 1.8rem; color: var(--zh-ink); }
.zh-side-card h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 3.2rem; height: .3rem; border-radius: .2rem; background: var(--zh-orange); }
.zh-side-card.side-cta { background: linear-gradient(135deg, #0046C7, #0039A6); border: 0; color: #fff; }
.zh-side-card.side-cta h3 { color: #fff; }
.zh-side-card.side-cta h3::after { background: var(--zh-orange); }
.zh-side-card.side-cta p { font-size: 1.4rem; color: #c8d6ee; margin-bottom: 1.6rem; }
.zh-side-card.side-cta .zh-btn { width: 100%; }
.zh-side-tel { font-size: 2rem; font-weight: 700; color: #fff; display: block; margin-bottom: 1.2rem; }
.zh-side-list li { padding: .8rem 0; border-bottom: .1rem dashed var(--zh-line); font-size: 1.6rem; }
.zh-side-list li:last-child { border-bottom: 0; }
.zh-side-list li a:hover { color: var(--zh-blue); padding-left: .4rem; }

/* ===== 内页:正文内容区 ===== */
.zh-content { font-size: 1.6rem; line-height: 2; color: var(--zh-body); }
.zh-content h1 { font-size: 2.6rem; color: var(--zh-ink); margin: 2.4rem 0 1.6rem; line-height: 1.6; }
.zh-content h2 { font-size: 2.2rem; color: var(--zh-ink); margin: 2.4rem 0 1.4rem; padding-left: 1.2rem; border-left: .4rem solid var(--zh-blue); line-height: 1.6; }
.zh-content h3 { font-size: 2rem; color: var(--zh-ink); margin: 2rem 0 1.2rem; }
.zh-content h4, .zh-content h5 { font-size: 1.8rem; color: var(--zh-ink); margin: 1.6rem 0 1rem; }
.zh-content p { margin-bottom: 1.6rem; }
.zh-content ul, .zh-content ol { margin: 0 0 1.6rem 2.4rem; }
.zh-content ul { list-style: disc; }
.zh-content ol { list-style: decimal; }
.zh-content li { margin-bottom: .6rem; }
.zh-content img { border-radius: .6rem; margin: 1rem 0; max-width: 100%; height: auto; }
.zh-content pre { display: block; max-width: 100%; overflow-x: auto; }
.zh-content table { width: 100%; max-width: 100%; } /* display:block 会让内部匿名 table 缩成内容宽,铺不满 100% */
.zh-content { overflow-wrap: break-word; }
.zh-content figure, .zh-content iframe, .zh-content video, .zh-content embed { max-width: 100%; }
.zh-content a { color: var(--zh-blue); }
.zh-content a:hover { color: var(--zh-orange); }
.zh-content table { margin: 1.6rem 0; font-size: 1.6rem; border: .1rem solid var(--zh-line); }
.zh-content table th, .zh-content table td { padding: 1rem 1.4rem; border: .1rem solid var(--zh-line); text-align: left; }
.zh-content table thead th { background: linear-gradient(135deg, #0046C7, #34495E); color: #fff; font-weight: 600; }
.zh-content table tr:nth-child(even) td { background: var(--zh-bg); }
.zh-table-wrap { overflow-x: auto; }
.zh-table-wrap table { min-width: 56rem; } /* 手机端窄屏时 wrapper 内横滚 */

/* ===== 产品详情 ===== */
.zh-pd-top { display: grid; gap: 2.8rem; }
/* 防 Swiper 撑爆轨道 */
.zh-pd-gallery, .zh-pd-info { min-width: 0; }
.zh-pd-gallery { max-width: 100rem; }
.zh-pd-gallery .swiper { width: 100%; border-radius: .8rem; overflow: hidden; background: var(--zh-bg); }
.zh-pd-gallery .swiper-slide img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.zh-pd-thumbs { display: flex; gap: 1rem; margin-top: 1.2rem; overflow-x: auto; }
.zh-pd-thumbs img { width: 11rem; aspect-ratio: 16 / 10; object-fit: cover; border-radius: .4rem; border: .2rem solid transparent; cursor: pointer; transition: all .3s ease; }
.zh-pd-thumbs img.active, .zh-pd-thumbs img:hover { border-color: var(--zh-orange); }
.zh-pd-info h1 { font-size: 2.4rem; line-height: 1.6; color: var(--zh-ink); }
.zh-pd-info .intro { margin: 1.2rem 0 2rem; font-size: 1.6rem; color: var(--zh-body); }
.zh-pd-badges { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.6rem 0 1.2rem; }
.zh-pd-badges span { padding: .3rem 1.2rem; border-radius: .3rem; font-size: 1.4rem; background: var(--zh-blue); color: #fff; }
.zh-pd-badges span.hot { background: rgba(254, 118, 16, .12); color: var(--zh-orange-d); }
.zh-pd-badges span.tag { color: #fff; }
.zh-pd-info table { width: 100%; font-size: 1.4rem; border-collapse: collapse; border: .1rem solid var(--zh-line); }
.zh-pd-info table th, .zh-pd-info table td { padding: .9rem 1.2rem; border: .1rem solid var(--zh-line); text-align: left; }
.zh-pd-info table th { width: 34%; background: var(--zh-bg); color: var(--zh-ink); font-weight: 600; }
.zh-pd-actions { display: flex; flex-wrap: wrap; gap: 1.4rem; margin-top: 2.4rem; }

/* ===== 产品次导航 ===== */
.zh-subnav { background: #fff; border-bottom: .1rem solid var(--zh-line); }
.zh-subnav ul { display: flex; gap: .6rem; overflow-x: auto; padding: 1.2rem 0; -webkit-overflow-scrolling: touch; }
.zh-subnav ul li { flex: 0 0 auto; }
.zh-subnav ul a { display: inline-flex; align-items: center; gap: .6rem; padding: .8rem 1.8rem; border-radius: 2rem; font-size: 1.6rem; color: var(--zh-body); background: var(--zh-bg); white-space: nowrap; transition: all .3s ease; }
.zh-subnav ul a i { font-size: 1.6rem; }
.zh-subnav ul a:hover { color: var(--zh-blue); background: rgba(0, 70, 199, .1); }
.zh-subnav ul a.active { color: #fff; background: linear-gradient(135deg, #0046C7, #0039A6); }

/* ===== 产品详情 tabs ===== */
.zh-pdtabs { margin-top: 4rem; }
.zh-pdtabs-nav { display: flex; flex-wrap: wrap; gap: .4rem; border-bottom: .2rem solid var(--zh-line); }
.zh-pdtabs-nav button { display: inline-flex; align-items: center; justify-content: center; gap: .8rem; flex: 0 0 calc(50% - .2rem); padding: 1.2rem 2.2rem; border: 0; border-bottom: .3rem solid transparent; margin-bottom: -.2rem; background: none; font-size: 1.6rem; font-weight: 600; color: var(--zh-mute); cursor: pointer; transition: all .3s ease; }
.zh-pdtabs-nav button i { font-size: 1.8rem; }
.zh-pdtabs-nav button:hover { color: var(--zh-blue); }
.zh-pdtabs-nav button.active { color: var(--zh-blue); border-bottom-color: var(--zh-orange); }
.zh-pdtabs-panel { display: none; padding-top: 3.2rem; }
.zh-pdtabs-panel.active { display: block; animation: zhFadeUp .4s ease; }
@keyframes zhFadeUp { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: none; } }
.zh-pd-custom { margin-top: 2.4rem; padding-top: 2.4rem; border-top: .1rem solid var(--zh-line); }
/* 应用场景 */
.zh-pd-apps { display: grid; gap: 2rem; grid-template-columns: 1fr; }
.zh-pd-app { position: relative; background: #fff; border: .1rem solid var(--zh-line); border-radius: .6rem; overflow: hidden; transition: all .3s ease; }
.zh-pd-app:hover { transform: translateY(-.4rem); border-color: var(--zh-orange); box-shadow: 0 1rem 2.4rem rgba(27, 38, 49, .12); }
.zh-pd-app-img { aspect-ratio: 4 / 3; overflow: hidden; }
.zh-pd-app-img img { width: 100%; height: 100%; object-fit: cover; transform: translateZ(0); backface-visibility: hidden; transition: transform .5s ease; }
.zh-pd-app:hover .zh-pd-app-img img { transform: scale(1.06) translateZ(0); }
.zh-pd-app-body { padding: 1.6rem 1.8rem; }
.zh-pd-app-body h3 { font-size: 1.8rem; color: var(--zh-ink); }
.zh-pd-app-body h3 a:hover { color: var(--zh-blue); }
.zh-pd-app-body .en { margin-top: .2rem; font-size: 1.4rem; color: var(--zh-mute); }
.zh-pd-app-body .desc { margin-top: .8rem; font-size: 1.4rem; color: var(--zh-body); line-height: 1.8; }
.zh-pd-app-link { position: absolute; inset: 0; }
/* 为何选择 */
.zh-pd-why { display: grid; gap: 2rem; grid-template-columns: 1fr; }
.zh-pd-why-item { position: relative; padding: 2.4rem 2rem; background: var(--zh-bg); border-radius: .6rem; border-left: .4rem solid var(--zh-blue); overflow: hidden; transition: all .3s ease; }
.zh-pd-why-item:hover { background: #fff; border-left-color: var(--zh-orange); box-shadow: 0 1rem 2.4rem rgba(27, 38, 49, .1); transform: translateY(-.3rem); }
.zh-pd-why-item .no { position: absolute; right: 1.4rem; top: .6rem; font-size: 3.6rem; font-weight: 700; color: rgba(0, 70, 199, .1); font-family: Arial, sans-serif; }
.zh-pd-why-item h3 { font-size: 1.8rem; color: var(--zh-ink); display: flex; align-items: center; gap: .8rem; }
.zh-pd-why-item h3 i { color: var(--zh-orange); font-size: 2rem; }
.zh-pd-why-item p { margin-top: 1rem; font-size: 1.4rem; line-height: 2; color: var(--zh-body); }
/* 包装运输 */
.zh-pd-pack h3 { display: flex; align-items: center; gap: .8rem; font-size: 2rem; color: var(--zh-ink); margin: 2.8rem 0 1.4rem; }
.zh-pd-pack h3:first-child { margin-top: 0; }
.zh-pd-pack h3 i { color: var(--zh-blue); }
.zh-pd-pack p { font-size: 1.6rem; line-height: 2; color: var(--zh-body); }
.zh-pd-pack ul { margin: 1rem 0 0 2rem; list-style: disc; }
.zh-pd-pack ul li { font-size: 1.6rem; line-height: 2; color: var(--zh-body); margin-bottom: .6rem; }
.zh-pd-pack-gal { display: grid; gap: 1.6rem; grid-template-columns: repeat(2, 1fr); margin-bottom: 1rem; }
.zh-pd-pack-gal figure { margin: 0; }
.zh-pd-pack-gal img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: .6rem; }
.zh-pd-pack-gal figcaption { margin-top: .6rem; font-size: 1.4rem; color: var(--zh-mute); text-align: center; }
.zh-pd-pack table { width: 100%; font-size: 1.6rem; border-collapse: collapse; border: .1rem solid var(--zh-line); }
.zh-pd-pack table th, .zh-pd-pack table td { padding: 1rem 1.4rem; border: .1rem solid var(--zh-line); text-align: left; }
.zh-pd-pack table thead th { background: linear-gradient(135deg, #0046C7, #34495E); color: #fff; font-weight: 600; }
.zh-pd-pack table tr:nth-child(even) td { background: var(--zh-bg); }
/* 常见问题 */
.zh-pd-faq-item { padding: 2rem 0; border-bottom: .1rem dashed var(--zh-line); }
.zh-pd-faq-item:last-child { border-bottom: 0; }
.zh-pd-faq-item .q { position: relative; padding-left: 3.4rem; font-size: 1.8rem; color: var(--zh-ink); line-height: 1.6; }
.zh-pd-faq-item .q::before { content: "Q"; position: absolute; left: 0; top: 0; width: 2.4rem; height: 2.4rem; border-radius: .5rem; background: linear-gradient(135deg, #0046C7, #0039A6); color: #fff; font-size: 1.4rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.zh-pd-faq-item .a { margin-top: 1rem; padding-left: 3.4rem; font-size: 1.6rem; }

/* ===== 内页:文章头 ===== */
.zh-article-head h1 { font-size: 2.4rem; line-height: 1.6; color: var(--zh-ink); }
.zh-article-meta { display: flex; flex-wrap: wrap; gap: 1.6rem; margin-top: 1.2rem; padding-bottom: 1.6rem; border-bottom: .1rem solid var(--zh-line); font-size: 1.4rem; color: var(--zh-mute); }
.zh-article-meta a:hover { color: var(--zh-blue); }
.zh-article-meta.bar .m:nth-child(-n+2) { display: none; } /* 手机端只留浏览量+返回列表 */
.zh-article-meta .back { margin-left: auto; }
/* 新闻详情 meta 条 */
.zh-article-meta.bar { align-items: center; gap: 2.4rem; margin-top: 2rem; padding: 1.6rem 2.4rem; background: var(--zh-bg); border-bottom: 0; border-radius: .8rem; }
.zh-article-meta.bar .m { display: flex; align-items: center; gap: .8rem; }
.zh-article-meta.bar .m + .m { border-left: 0; padding-left: 0; } /* 手机前项隐藏,兄弟选择器仍命中致空左线,桌面 992 恢复 */
.zh-article-meta.bar .m b { color: var(--zh-ink); font-weight: 600; }
.zh-article-meta.bar .m > i { color: var(--zh-blue); font-size: 1.6rem; }
.zh-article-meta.bar .back { margin-left: auto; display: inline-flex; align-items: center; gap: .8rem; color: var(--zh-ink); font-weight: 600; }
.zh-article-meta.bar .back i { display: inline-flex; align-items: center; justify-content: center; width: 2.8rem; height: 2.8rem; border-radius: 50%; background: var(--zh-blue); color: #fff; font-size: 1.2rem; transition: background-color .3s ease; }
.zh-article-meta.bar .back:hover i { background: var(--zh-blue-d); }
/* 上一篇/下一篇 */
.zh-pn { display: flex; flex-direction: column; gap: 1.2rem; margin-top: 3.2rem; padding: 2rem 2.4rem; background: var(--zh-bg); border-radius: .8rem; font-size: 1.4rem; color: var(--zh-mute); }
.zh-pn-item { display: flex; align-items: baseline; gap: .8rem; min-width: 0; }
.zh-pn-item + .zh-pn-item { border-top: .1rem solid var(--zh-line); padding-top: 1.2rem; }
.zh-pn-item a, .zh-pn-item .none { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zh-pn-item a { color: var(--zh-ink); font-weight: 600; }
.zh-pn-item a:hover { color: var(--zh-blue); }
.zh-article-body { margin-top: 2.4rem; }

/* ===== 联系页 ===== */
.zh-ccard-sec { background: var(--zh-bg); }
.zh-ccard { display: flex; flex-direction: column; gap: 2rem; }
.zh-ccard-info, .zh-ccard-form { padding: 2.8rem 2.2rem; background: #fff; border-radius: 1.6rem; box-shadow: 0 .2rem 1.6rem rgba(27, 38, 49, .06); }
.zh-ccard-title { font-size: 2.4rem; line-height: 1.4; color: var(--zh-ink); }
.zh-ccard-sub { margin-top: 1rem; font-size: 1.4rem; line-height: 1.8; color: var(--zh-body); }
/* 联系列表 */
.zh-ccard-list { margin: 2.4rem 0; }
.zh-ccard-list li { display: flex; align-items: center; gap: 1rem; padding: 1.2rem 0; border-bottom: .1rem solid var(--zh-line); }
.zh-ccard-list li:last-child { border-bottom: 0; }
.zh-ccard-list li > i { flex: 0 0 auto; font-size: 2rem; color: var(--zh-blue); }
.zh-ccard-list .lb { flex: 0 0 7.2rem; font-size: 1.4rem; color: var(--zh-mute); }
.zh-ccard-list .vl { flex: 1 1 auto; font-size: 1.6rem; font-weight: 600; color: var(--zh-ink); word-break: break-all; transition: color .3s ease; }
.zh-ccard-list a.vl:hover { color: var(--zh-orange); }
/* 微信二维码胶囊按钮 */
.zh-ccard-qr { position: relative; display: inline-flex; align-items: center; gap: .8rem; height: 4.6rem; padding: 0 2.2rem; border: .1rem solid var(--zh-ink); border-radius: 4.6rem; background: transparent; font-size: 1.6rem; font-weight: 600; color: var(--zh-ink); cursor: pointer; transition: all .3s ease; }
.zh-ccard-qr > i.icon-weixin { font-size: 1.8rem; color: var(--zh-orange); transition: color .3s ease; }
.zh-ccard-qr > i.icon-right { font-size: 1.2rem; transition: transform .3s ease; }
.zh-ccard-qr:hover { background: var(--zh-ink); border-color: var(--zh-ink); color: #fff; }
.zh-ccard-qr:hover > i.icon-weixin { color: #fff; }
.zh-ccard-qr:hover > i.icon-right { transform: translate(.4rem, -.4rem); }
.zh-ccard-qr-pop { position: absolute; left: 0; bottom: calc(100% + 1.2rem); z-index: 20; padding: 1rem; background: #fff; border-radius: 1rem; box-shadow: 0 1rem 2.8rem rgba(27, 38, 49, .2); opacity: 0; visibility: hidden; transform: translateY(1rem); transition: all .3s ease; }
.zh-ccard-qr-pop img { display: block; width: 14rem; height: auto; border-radius: .4rem; }
.zh-ccard-qr:hover .zh-ccard-qr-pop, .zh-ccard-qr:focus .zh-ccard-qr-pop { opacity: 1; visibility: visible; transform: translateY(0); }
/* 底部强调小卡 */
.zh-ccard-glass { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; margin-top: 2.4rem; }
.zh-ccard-glass .glass-item { padding: 1.6rem; background: var(--zh-bg); border-left: .4rem solid var(--zh-blue); border-radius: .8rem; }
.zh-ccard-glass .glass-item b { display: block; font-size: 1.6rem; color: var(--zh-ink); }
.zh-ccard-glass .glass-item span { display: block; margin-top: .4rem; font-size: 1.2rem; color: var(--zh-mute); }
.zh-ccard-form h2 { font-size: 2.2rem; color: var(--zh-ink); }
.zh-ccard-form .sub { margin: .8rem 0 2.4rem; font-size: 1.4rem; color: var(--zh-mute); }

/* ===== 关于我们首屏 ===== */
.zh-about-split { display: grid; grid-template-columns: 1fr; }
.zh-about-left, .zh-about-right { display: flex; align-items: center; justify-content: center; padding: 5.6rem 0; }
.zh-about-left { background: var(--zh-bg); }
.zh-about-right { position: relative; overflow: hidden; background: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(135deg, #273342, #1B2631); background-size: 4rem 4rem, 4rem 4rem, auto; animation: zhAboutGrid 30s linear infinite; }
/* 漂浮光晕 */
.zh-about-right::before, .zh-about-right::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.zh-about-right::before { width: 46rem; height: 46rem; left: -12rem; top: -10rem; background: radial-gradient(circle, rgba(0,70,199,.5), transparent 70%); animation: zhAboutGlowA 14s ease-in-out infinite alternate; }
.zh-about-right::after { width: 40rem; height: 40rem; right: -10rem; bottom: -12rem; background: radial-gradient(circle, rgba(254,118,16,.32), transparent 70%); animation: zhAboutGlowB 18s ease-in-out infinite alternate; }
.zh-about-right .zh-about-inner { position: relative; z-index: 1; }
@keyframes zhAboutGrid { from { background-position: 0 0, 0 0, 0 0; } to { background-position: 4rem 4rem, 4rem 4rem, 0 0; } }
@keyframes zhAboutGlowA { from { transform: translate(0, 0) scale(1); } to { transform: translate(6rem, 4rem) scale(1.15); } }
@keyframes zhAboutGlowB { from { transform: translate(0, 0) scale(1.1); } to { transform: translate(-5rem, -4rem) scale(.95); } }
@media (prefers-reduced-motion: reduce) { .zh-about-right, .zh-about-right::before, .zh-about-right::after { animation: none; } }
.zh-about-inner { width: 96%; max-width: 169rem; }
.zh-about-title { font-size: 2.8rem; line-height: 1.2; font-weight: 700; color: var(--zh-ink); }
.zh-about-tag { margin-top: 2.4rem; font-size: 1.6rem; color: var(--zh-body); }
.zh-about-body { margin-top: 3.2rem; }
.zh-about-body p { font-size: 1.6rem; line-height: 2; color: var(--zh-body); text-indent: 2em;}
.zh-about-body p + p { margin-top: 2.4rem; }
.zh-about-right h2 { font-size: 2.6rem; line-height: 1.4; color: #fff; }
.zh-about-right .en-sub { margin-top: 1.2rem; font-size: 1.6rem; color: #8B9BAB; }
.zh-about-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-top: 4.8rem; padding: 4.8rem 0; border-top: .1rem solid rgba(255, 255, 255, .16); border-bottom: .1rem solid rgba(255, 255, 255, .16); }
.zh-about-stat { display: flex; flex-direction: column; justify-content: center; }
.zh-about-stat b { font-size: 3.8rem; line-height: 1; font-weight: 700; color: #fff; white-space: nowrap; }
.zh-about-stat b i { font-style: normal; font-size: 1.6rem; color: var(--zh-orange); margin-left: .2rem; }
.zh-about-stat--area b { font-size: 2.8rem; }
.zh-about-stat--area b i { font-size: 1.4rem; }
.zh-about-stat strong { display: block; margin-top: .8rem; font-size: 1.6rem; color: #fff; white-space: nowrap; }
.zh-about-stat .en { display: block; margin-top: .2rem; font-size: 1.2rem; color: #8B9BAB; }
/* ===== 公司环境照片墙 ===== */
.zh-env-sec { background: #fff; padding: 6.4rem 0; }
.zh-env-intro { max-width: 70rem; margin: 0 auto 4.8rem; font-size: 1.6rem; line-height: 2; color: var(--zh-body); text-align: center; }
.zh-env-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
.zh-env-col { display: flex; flex-direction: column; gap: 2rem; }
.zh-env-row { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.zh-env-cell { position: relative; margin: 0; overflow: hidden; border-radius: .8rem; aspect-ratio: 4 / 3; }
.zh-env-cell img { display: block; width: 100%; height: 100%; object-fit: cover; transform: translateZ(0); backface-visibility: hidden; transition: transform .6s ease; }
.zh-env-cell:hover img { transform: scale(1.05) translateZ(0); }
.zh-env-cell video { display: block; width: 100%; height: 100%; object-fit: cover; cursor: pointer; }
.zh-env-cell--v916 { aspect-ratio: 9 / 16; background: #1B2631; }
.zh-env-cell--v169 { aspect-ratio: 16 / 9; background: #1B2631; }
.zh-env-title { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #0046C7, #0039A6); }
.zh-env-title h2 { font-size: 3.2rem; line-height: 1.5; color: #fff; text-align: center; }
/* ===== 视频灯箱 ===== */
.zh-videobox { position: fixed; inset: 0; z-index: 998; display: none; align-items: center; justify-content: center; background: rgba(27, 38, 49, .92); }
.zh-videobox--on { display: flex; }
.zh-videobox video { max-width: 92%; max-height: 86vh; border-radius: .8rem; background: #1B2631; }
.zh-videobox-close { position: absolute; top: 2.4rem; right: 2.4rem; width: 4.4rem; height: 4.4rem; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .16); color: #fff; font-size: 2.8rem; line-height: 1; cursor: pointer; transition: all .3s ease; }
.zh-videobox-close:hover { background: #FE7610; transform: rotate(90deg); }

/* ===== 关于我们 company-outline 滚动视觉 ===== */
.zh-outline { position: relative; height: 140vh; background: var(--zh-bg); }
.zh-outline-stage { position: sticky; top: 0; height: 100vh; overflow: hidden; }
/* slogan 两层(深/白) */
.zh-outline-slogan { position: absolute; top: 50%; left: calc((1 - var(--prox, 0) * 1.2) * 100%); margin: 0; font-size: 6vw; font-weight: 700; line-height: 1.2; letter-spacing: .2rem; white-space: nowrap; transform: translate(calc(var(--prox, 0) * -100%), -50%); transition: transform .1s linear; pointer-events: none; }
.zh-outline-slogan--dark { z-index: 1; color: var(--zh-ink); }
.zh-outline-slogan--light { z-index: 3; color: #fff; }
/* 圆形窗口图层 */
.zh-outline-layer { position: absolute; inset: 0; z-index: 2; overflow: hidden; background: var(--zh-ink-d); clip-path: circle(calc(8% + var(--prox, 0) * 70%) at 50% 50%); }
/* 拼图:奇偶行反向横移 */
.zh-outline-mosaic { position: absolute; top: 50%; left: 50%; display: flex; flex-direction: column; gap: 1.4rem; transform: translate(-50%, -50%) rotate(-6deg) scale(1.6); }
.zh-outline-row { display: flex; gap: 1.4rem; transition: transform .1s linear; will-change: transform; }
.zh-outline-row:nth-child(odd) { transform: translateX(calc(15% - 30% * var(--pro, 0))); }
.zh-outline-row:nth-child(even) { transform: translateX(calc(-15% + 30% * var(--pro, 0))); }
.zh-outline-cell { flex: 0 0 auto; width: 30vw; border-radius: 1.6rem; overflow: hidden; box-shadow: 0 .6rem 2rem rgba(27, 38, 49, .28); }
.zh-outline-cell img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
/* 暗角 */
.zh-outline-vignette { position: absolute; inset: 0; z-index: 2; background: linear-gradient(135deg, rgba(27, 38, 49, .68), rgba(0, 70, 199, .42)); opacity: 0; transition: opacity .5s ease; }
.zh-outline.is-act .zh-outline-vignette { opacity: 1; }

/* ===== Hub / FAQ ===== */
.zh-hub-cats { display: grid; gap: 1.6rem; grid-template-columns: 1fr; }
.zh-hub-cat { background: #fff; border: .1rem solid var(--zh-line); border-radius: .6rem; overflow: hidden; }
.zh-hub-cat > a, .zh-hub-cat > button { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 1.6rem 2rem; background: none; border: 0; font-size: 1.8rem; font-weight: 600; color: var(--zh-ink); cursor: pointer; text-align: left; }
.zh-hub-cat > a:hover, .zh-hub-cat > button:hover { color: var(--zh-blue); }
.zh-hub-cat .cnt { font-size: 1.4rem; color: var(--zh-mute); font-weight: 400; }
.zh-hub-cat ul { display: none; border-top: .1rem solid var(--zh-bg); padding: .8rem 2rem 1.6rem; }
.zh-hub-cat.open ul { display: block; }
.zh-hub-cat ul li { padding: .8rem 0; border-bottom: .1rem dashed var(--zh-line); }
.zh-hub-cat ul li:last-child { border-bottom: 0; }
.zh-hub-cat ul li a { font-size: 1.6rem; color: var(--zh-body); }
.zh-hub-cat ul li a:hover { color: var(--zh-blue); }
.zh-faq-answer { margin-top: 2rem; padding: 2.4rem; background: var(--zh-bg); border-radius: .6rem; }

/* Hub 模块入口卡 */
.zh-hub-grid { display: grid; gap: 2rem; grid-template-columns: 1fr; }
.zh-hub-card { display: block; padding: 3.2rem 2.8rem; background: #fff; border: .1rem solid var(--zh-line); border-radius: .8rem; transition: all .3s ease; }
.zh-hub-card:hover { transform: translateY(-.4rem); border-color: var(--zh-orange); box-shadow: 0 1rem 2.4rem rgba(27, 38, 49, .1); }
.zh-hub-card .zh-hub-ico { display: inline-flex; width: 5.2rem; height: 5.2rem; border-radius: 1.2rem; background: linear-gradient(135deg, #0046C7, #0039A6); color: #fff; align-items: center; justify-content: center; margin-bottom: 1.6rem; }
.zh-hub-card .zh-hub-ico i { font-size: 2.6rem; line-height: 1; }
.zh-hub-card h2 { font-size: 2rem; color: var(--zh-ink); }
.zh-hub-card p { margin-top: .8rem; font-size: 1.4rem; line-height: 2; }
.zh-hub-card .zh-hub-more { display: inline-block; margin-top: 1.6rem; font-size: 1.4rem; color: var(--zh-blue); }
.zh-hub-card.is-coming { opacity: .66; }
.zh-hub-card .zh-hub-badge { display: inline-block; margin-top: 1.6rem; padding: .3rem 1.2rem; border-radius: .3rem; background: var(--zh-bg); color: var(--zh-mute); font-size: 1.4rem; }

/* FAQ 页内搜索 + 手风琴 */
.zh-faq-search { display: block; width: 100%; max-width: 56rem; height: 4.8rem; margin: 0 auto 2.8rem; padding: 0 1.8rem; border: .1rem solid var(--zh-line); border-radius: 2.4rem; font-size: 1.6rem; background: #fff; }
.zh-faq-search:focus { outline: 0; border-color: var(--zh-blue); }
.zh-acc-item { background: #fff; border: .1rem solid var(--zh-line); border-radius: .6rem; margin-bottom: 1.2rem; overflow: hidden; transition: border-color .3s ease; }
.zh-acc-item.open { border-color: var(--zh-blue); }
.zh-acc-q { display: flex; align-items: center; gap: 1.2rem; width: 100%; padding: 1.6rem 2rem; background: none; border: 0; text-align: left; cursor: pointer; font-size: 1.6rem; font-weight: 600; color: var(--zh-ink); line-height: 1.6; }
.zh-acc-q .no { flex: 0 0 auto; width: 3rem; height: 3rem; border-radius: .6rem; background: var(--zh-bg); color: var(--zh-blue); font-size: 1.4rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.zh-acc-q .arr { flex: 0 0 auto; margin-left: auto; width: 1rem; height: 1rem; border-right: .2rem solid var(--zh-mute); border-bottom: .2rem solid var(--zh-mute); transform: rotate(45deg) translateY(-.2rem); transition: transform .3s ease; }
.zh-acc-item.open .zh-acc-q .arr { transform: rotate(225deg) translateY(-.2rem); border-color: var(--zh-blue); }
.zh-acc-a { display: none; padding: 0 2rem 2rem 6.2rem; }
.zh-acc-item.open .zh-acc-a { display: block; }
.zh-acc-a .zh-content { font-size: 1.6rem; }
.zh-acc-more { display: inline-block; margin-top: 1rem; font-size: 1.4rem; color: var(--zh-blue); }
.zh-acc-more:hover { color: var(--zh-orange); }
.zh-faq-noresult { display: none; text-align: center; padding: 3.2rem 0; color: var(--zh-mute); }

/* ===== 服务页:介绍正文 ===== */
.zh-svc-content { max-width: 96rem; margin: 0 auto 4.8rem; }

/* ===== 服务页:我们的优势 ===== */
.zh-adv-grid { display: grid; gap: 2rem; grid-template-columns: 1fr; }
.zh-adv-item { display: grid; grid-template-columns: auto 1fr; column-gap: 1.6rem; align-items: center; padding: 2rem 1.6rem; background: #fff; border: .1rem solid var(--zh-line); border-radius: .8rem; text-align: left; transition: all .3s ease; }
.zh-adv-item:hover { transform: translateY(-.4rem); border-color: var(--zh-orange); box-shadow: 0 1rem 2.4rem rgba(27, 38, 49, .1); }
.zh-adv-ico { grid-row: 1 / 3; width: 4.8rem; height: 4.8rem; margin: 0; object-fit: contain; }
.zh-adv-item h3 { grid-column: 2; font-size: 1.8rem; color: var(--zh-ink); }
.zh-adv-item p { grid-column: 2; margin-top: .4rem; font-size: 1.4rem; line-height: 2; }

/* ===== 服务页:合作客户 logo 墙 ===== */
/* item 只控宽度(阴影来自 PNG) */
.zh-partners { overflow: hidden; }
.zh-mq { display: flex; flex-direction: column; }
.zh-mq-row { overflow: hidden; }
.zh-mq-track { display: flex; flex-wrap: nowrap; width: max-content; }
.zh-mq-track.is-ready { animation: zhMqScroll 42s linear infinite; }
.zh-mq-row:nth-child(even) .zh-mq-track.is-ready { animation-direction: reverse; }
.zh-mq:hover .zh-mq-track.is-ready { animation-play-state: paused; }
.zh-mq-item { flex: 0 0 auto; width: 26rem; }
.zh-mq-item img { display: block; width: 100%; height: auto; }
@keyframes zhMqScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ===== 服务页:OEM/ODM 定制 ===== */
.zh-oem-grid { display: grid; grid-template-columns: 1fr; gap: 1.6rem; }
.zh-oem-item { display: flex; align-items: flex-start; gap: 1.6rem; padding: 2.4rem 2rem; background: #fff; border: .1rem solid var(--zh-line); border-radius: 1.2rem; transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.zh-oem-item:hover { border-color: var(--zh-orange); box-shadow: 0 .6rem 1.6rem rgba(27, 38, 49, .08); transform: translateY(-.2rem); }
.zh-oem-item .ico { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 4.8rem; height: 4.8rem; border-radius: 50%; background: rgba(254, 118, 16, .1); color: var(--zh-orange); font-size: 2.2rem; transition: background-color .3s ease, color .3s ease; }
.zh-oem-item:hover .ico { background: var(--zh-orange); color: #fff; }
.zh-oem-item h3 { font-size: 1.8rem; color: var(--zh-ink); }
.zh-oem-item p { margin-top: .8rem; font-size: 1.4rem; line-height: 1.8; color: var(--zh-body); }
.zh-oem-foot { margin-top: 3.2rem; text-align: center; }
.zh-oem-foot p { margin-top: 1.2rem; font-size: 1.4rem; color: var(--zh-mute); }

/* ===== 服务页:定制 CTA ===== */
.zh-svc-cta { background: linear-gradient(135deg, #273342, #1B2631); }
.zh-svc-cta .zh-container { display: flex; flex-direction: column; gap: 2.8rem; align-items: center; text-align: center; }
.zh-svc-cta-main h2 { font-size: 2.6rem; line-height: 1.4; color: #fff; }
.zh-svc-cta-main p { margin-top: 1.2rem; font-size: 1.6rem; color: #c8d6ee; }
.zh-svc-cta-actions { display: flex; flex-wrap: wrap; gap: 1.6rem; justify-content: center; margin-top: 2.4rem; }
.zh-svc-cta-qr { flex: 0 0 auto; width: 15rem; padding: 1.2rem; background: #fff; border-radius: .8rem; text-align: center; }
.zh-svc-cta-qr img { border-radius: .4rem; }
.zh-svc-cta-qr p { margin-top: .6rem; font-size: 1.2rem; color: var(--zh-mute); }

/* ===== 404 ===== */
.zh-404 { padding: 8rem 0; background: linear-gradient(rgba(244, 247, 251, .88), rgba(244, 247, 251, .88)), url(../images/inbg.jpg) center / cover no-repeat; text-align: center; }
.zh-404 h1 { font-size: 2.6rem; line-height: 1.6; color: var(--zh-ink); }
.zh-404 h1::after { content: ""; display: block; width: 5.6rem; height: .6rem; margin: 1.2rem auto 0; border-radius: .3rem; background: linear-gradient(90deg, var(--zh-orange), var(--zh-orange-d)); }
.zh-404 p { margin: 1.6rem 0 2.4rem; color: var(--zh-mute); }
.zh-search-form { display: flex; max-width: 56rem; margin: 0 auto 3.2rem; }
.zh-search-form input { flex: 1; height: 4.8rem; padding: 0 1.8rem; border: .1rem solid var(--zh-line); border-radius: .4rem 0 0 .4rem; font-size: 1.6rem; }
.zh-search-form input:focus { outline: 0; border-color: var(--zh-blue); }
.zh-search-form button { height: 4.8rem; padding: 0 2.8rem; border: 0; border-radius: 0 .4rem .4rem 0; background: var(--zh-blue); color: #fff; font-size: 1.6rem; cursor: pointer; }
.zh-search-form button:hover { background: var(--zh-blue-d); }

/* ===== 内页:行业洞察两栏列表 ===== */
.zh-newslist { display: grid; gap: 1.6rem; }
.zh-newslist-item { display: block; padding: 2.4rem 2rem; background: #fff; border: .1rem solid var(--zh-line); border-radius: .6rem; transition: border-color .3s ease, box-shadow .3s ease; }
.zh-newslist-item:hover { border-color: var(--zh-orange); box-shadow: 0 .8rem 2rem rgba(27, 38, 49, .08); }
.zh-newslist-item time { font-size: 1.2rem; letter-spacing: .1rem; color: var(--zh-mute); }
.zh-newslist-item h3 { margin-top: .8rem; font-size: 1.8rem; line-height: 1.6; color: var(--zh-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .3s ease; }
.zh-newslist-item:hover h3 { color: var(--zh-blue); }
.zh-newslist-item p { margin-top: 1rem; font-size: 1.4rem; line-height: 1.8; color: var(--zh-body); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.zh-newslist-item .more { display: inline-block; margin-top: 1.4rem; font-size: 1.4rem; color: var(--zh-blue); }
.zh-newslist-item .more::after { content: " \203A"; display: inline-block; transition: transform .3s ease; }
.zh-newslist-item:hover .more::after { transform: translateX(.4rem); }
/* 滚动显现 */
.zh-reveal.is-visible-hide { opacity: 0; transform: translateY(2.4rem); }
.zh-reveal.is-visible-show { opacity: 1; transform: translateY(0); transition: opacity .6s ease, transform .6s ease, border-color .3s ease, box-shadow .3s ease; }

/* ===== 内页:公司新闻图卡列表 ===== */
.zh-bloglist { display: grid; gap: 2rem; grid-template-columns: 1fr; }
.zh-blogitem { display: block; }
.zh-blogitem .imgbox { display: block; aspect-ratio: 16 / 10; border-radius: 1.2rem; overflow: hidden; background: var(--zh-bg); }
.zh-blogitem .imgbox img { width: 100%; height: 100%; object-fit: cover; transform: translateZ(0); backface-visibility: hidden; transition: transform 1s ease; }
.zh-blogitem:hover .imgbox img { transform: scale(1.05) translateZ(0); }
.zh-blogitem .infobox { display: block; padding: 1.6rem 0 0; }
.zh-blogitem h3 { font-size: 1.8rem; line-height: 1.4; color: var(--zh-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: font-weight .3s ease; }
.zh-blogitem:hover h3 { font-weight: 700; }
.zh-blogitem .bar { display: flex; align-items: center; gap: .8rem; margin-top: 1.2rem; font-size: 1.4rem; color: var(--zh-mute); }

/* ===== 新闻 FAQ 列表 ===== */
.zh-faqlist { display: grid; gap: 2rem; grid-template-columns: 1fr; }
.zh-faq-item { position: relative; display: flex; align-items: flex-start; gap: 1.6rem; padding: 2.8rem 2.4rem; background: var(--zh-bg); border-radius: 1rem; overflow: hidden; transition: all .3s ease; }
/* hover 左侧蓝竖条展开 */
.zh-faq-item::before { content: ""; position: absolute; left: 0; top: 0; width: .4rem; height: 100%; background: linear-gradient(180deg, var(--zh-blue-l), var(--zh-blue)); transform: scaleX(0); transform-origin: left; transition: transform .4s ease; }
.zh-faq-item:hover { transform: translateY(-.4rem); background: #fff; box-shadow: 0 1rem 2.4rem rgba(27, 38, 49, .1); }
.zh-faq-item:hover::before { transform: scaleX(1); }
.zh-faq-item .q { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; margin-top: .2rem; border-radius: 50%; background: var(--zh-ink); color: #fff; font-size: 1.4rem; font-weight: 700; transition: background-color .3s ease; }
.zh-faq-item:hover .q { background: var(--zh-blue); }
.zh-faq-item .info { flex: 1; min-width: 0; }
.zh-faq-item h3 { font-size: 1.8rem; line-height: 1.4; color: var(--zh-ink); }
.zh-faq-item p { margin-top: 1.4rem; font-size: 1.4rem; line-height: 1.8; color: var(--zh-body); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.zh-faq-item .plus { display: flex; align-items: center; justify-content: center; width: 3.6rem; height: 3.6rem; margin-top: 2rem; border: .1rem solid rgba(27, 38, 49, .12); border-radius: 50%; font-size: 1.6rem; color: var(--zh-ink); transition: all .3s ease; }
.zh-faq-item:hover .plus { background: var(--zh-blue); border-color: var(--zh-blue); color: #fff; transform: rotate(90deg); }

/* ===== 封面 digest 块头 ===== */
.zh-digest-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1.6rem; margin: 4.8rem 0 2.4rem; }
.zh-archive-head + .zh-digest-head { margin-top: 0; }
.zh-digest-head h2 { padding-left: 1.2rem; border-left: .4rem solid var(--zh-orange); font-size: 2.4rem; color: var(--zh-ink); }
.zh-digest-head a { font-size: 1.4rem; color: var(--zh-blue); transition: color .3s ease; }
.zh-digest-head a:hover { color: var(--zh-blue-d); }

/* ===== 联系页底部 contact-start ===== */
.zh-contact-start { padding: 6rem 0 8rem; background: var(--zh-bg); overflow: hidden; }
.zh-contact-start .zh-container { position: relative; }
.zh-cs-main { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; text-align: center; }
.zh-contact-start h2 { font-size: 2.6rem; line-height: 1.4; color: var(--zh-ink); }
.zh-contact-start p { margin-top: 1.6rem; font-size: 1.6rem; color: var(--zh-body); }
.zh-contact-start p a { color: inherit; transition: color .3s ease; }
.zh-contact-start p a:hover { color: var(--zh-blue); }
.zh-cs-actions { display: flex; flex-direction: column; gap: 1.6rem; width: 100%; max-width: 34rem; margin-top: 4rem; }
.zh-cs-btn { display: inline-flex; align-items: center; justify-content: center; height: 5.2rem; border-radius: 5.2rem; font-size: 1.6rem; font-weight: 600; transition: all .3s ease; }
.zh-cs-btn.solid { background: var(--zh-ink-d); border: .1rem solid var(--zh-ink-d); color: #fff; }
.zh-cs-btn.solid:hover { background: var(--zh-blue); border-color: var(--zh-blue); transform: translateY(-.2rem); }
.zh-cs-btn.ghost { background: transparent; border: .1rem solid var(--zh-ink); color: var(--zh-ink); }
.zh-cs-btn.ghost:hover { background: var(--zh-ink); color: #fff; transform: translateY(-.2rem); }
/* 漂浮圆形头像(移动端隐藏) */
.zh-cs-cover { display: none; position: absolute; z-index: 1; border-radius: 50%; overflow: hidden; animation: zh-cs-float 6s ease-in-out infinite; }
.zh-cs-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.zh-cs-cover.c1 { left: 4%; top: 12%; width: 15rem; height: 15rem; }
.zh-cs-cover.c2 { right: 3%; top: 10%; width: 12rem; height: 12rem; animation-delay: -1.5s; }
.zh-cs-cover.c3 { left: 24%; top: 58%; width: 10rem; height: 10rem; animation-delay: -3s; }
.zh-cs-cover.c4 { right: 8%; top: 58%; width: 9rem; height: 9rem; animation-delay: -2s; }
.zh-cs-cover.c5 { left: 66%; top: 76%; width: 9rem; height: 9rem; animation-delay: -4s; }
@keyframes zh-cs-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1.6rem); } }
/* 头像错峰淡入 */
.zh-cs-cover.zh-reveal.is-visible-show { transition: opacity .8s ease; }
.zh-cs-cover.c2.zh-reveal.is-visible-show { transition-delay: .12s; }
.zh-cs-cover.c3.zh-reveal.is-visible-show { transition-delay: .24s; }
.zh-cs-cover.c4.zh-reveal.is-visible-show { transition-delay: .36s; }
.zh-cs-cover.c5.zh-reveal.is-visible-show { transition-delay: .48s; }

/* ===== 案例中心 ===== */
.zh-caselist { display: grid; gap: 2.4rem; grid-template-columns: 1fr; margin: 0; padding: 0; list-style: none; }
.zh-caseitem > a { display: block; background: #fff; border-radius: 1.2rem; overflow: hidden; box-shadow: 0 .2rem 1.2rem rgba(27, 38, 49, .06); transition: transform .4s ease, box-shadow .4s ease; }
.zh-caseitem:hover > a { transform: translateY(-.6rem); box-shadow: 0 1.2rem 2.8rem rgba(27, 38, 49, .14); }
.zh-caseitem .imgbox { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--zh-bg); }
.zh-caseitem .imgbox img { width: 100%; height: 100%; object-fit: cover; transform: translateZ(0); backface-visibility: hidden; transition: transform .8s ease; }
.zh-caseitem:hover .imgbox img { transform: scale(1.08) translateZ(0); }
.zh-caseitem .mask { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(0, 70, 199, .55), rgba(27, 38, 49, .55)); opacity: 0; transition: opacity .4s ease; }
.zh-caseitem .mask i { color: #fff; font-size: 3rem; transform: translateY(1rem); transition: transform .4s ease; }
.zh-caseitem:hover .mask { opacity: 1; }
.zh-caseitem:hover .mask i { transform: translateY(0); }
.zh-caseitem .infobox { display: block; padding: 1.8rem 2rem 2rem; }
.zh-caseitem h3 { font-size: 1.8rem; line-height: 1.4; font-weight: 700; color: var(--zh-ink); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; transition: color .3s ease; }
.zh-caseitem:hover h3 { color: var(--zh-blue); }
.zh-caseitem p { margin-top: .8rem; font-size: 1.4rem; line-height: 1.6; color: var(--zh-mute); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.zh-caseitem .zh-case-country i { margin-right: .6rem; font-size: 1.4rem; color: var(--zh-orange); }
/* AOS 式错峰入场 */
.zh-caseitem:nth-child(3n+2).zh-reveal.is-visible-show { transition-delay: .12s; }
.zh-caseitem:nth-child(3n).zh-reveal.is-visible-show { transition-delay: .24s; }

/* ===== 北欧极简样板(.zh-nordic) ===== */
/* 板块 */
.zh-nordic .zh-sec { padding: 6.4rem 0; }
.zh-nordic .zh-sec-alt { background: #fff; }
.zh-nordic > .zh-sec + .zh-sec { border-top: .1rem solid var(--zh-line); }

/* 板块头 */
.zh-nordic .zh-sec-head { margin-bottom: 4rem; text-align: left; }
.zh-nordic .zh-sec-head h2 { padding-bottom: 0; font-size: 2.6rem; font-weight: 600; letter-spacing: 0; }
.zh-nordic .zh-sec-head h2::after { display: none; }
.zh-nordic .zh-sec-head p { margin-top: 1rem; max-width: 62rem; font-size: 1.6rem; }

/* 按钮 */
.zh-nordic .zh-btn { border-radius: .2rem; font-weight: 500; }
.zh-nordic .zh-btn-primary { background: var(--zh-blue); }
.zh-nordic .zh-btn-primary:hover { background: var(--zh-blue-d); transform: none; box-shadow: none; filter: none; }
.zh-nordic .zh-btn-accent { background: var(--zh-orange); }
.zh-nordic .zh-btn-accent:hover { background: var(--zh-orange-d); transform: none; box-shadow: none; filter: none; }
.zh-nordic .zh-btn-ghost { border-color: var(--zh-line); color: var(--zh-ink); }
.zh-nordic .zh-btn-ghost:hover { background: var(--zh-ink); border-color: var(--zh-ink); color: #fff; }

/* 卡片 */
.zh-nordic .zh-card { border-radius: .4rem; }
.zh-nordic .zh-card-img::after { display: none; }
.zh-nordic .zh-card:hover { transform: none; border-color: var(--zh-line); box-shadow: 0 .8rem 2rem rgba(27, 38, 49, .07); }
.zh-nordic .zh-card:hover .zh-card-img img { transform: none; }

/* 为何选择 */
.zh-nordic .zh-why-item { padding: 2.6rem 0 0; background: transparent; border: 0; border-top: .2rem solid var(--zh-line); border-radius: 0; }
.zh-nordic .zh-why-item:hover { transform: none; box-shadow: none; border-top-color: var(--zh-blue); }
.zh-nordic .zh-why-item .no { position: static; display: block; margin-bottom: 1.2rem; font-size: 1.4rem; font-weight: 700; letter-spacing: .1rem; color: var(--zh-blue); }
.zh-nordic .zh-why-item h3 { padding-left: 0; }
.zh-nordic .zh-why-item h3::before { display: none; }

/* 优势 */
.zh-nordic .zh-adv-item { padding: 2.4rem .8rem; background: transparent; border: 0; border-radius: 0; text-align: left; }
.zh-nordic .zh-adv-item:hover { transform: none; border-color: transparent; box-shadow: none; }
.zh-nordic .zh-adv-ico { margin: 0 0 2rem; }

/* 服务流程 */
.zh-nordic .zh-process li { padding: 2.2rem 0 0; background: transparent; border: 0; border-top: .1rem solid var(--zh-line); border-radius: 0; }
.zh-nordic .zh-process li::before { color: rgba(39, 51, 66, .14); }
.zh-nordic .zh-process li p::after { bottom: -1.2rem; }

/* 定制 CTA */
.zh-nordic .zh-svc-cta { background: var(--zh-ink-d); }
