:root {
	--zs-green: #23a453;
	--zs-green-dark: #148340;
	--zs-green-soft: #e9f8ee;
	--zs-navy: #081c2b;
	--zs-navy-2: #102f45;
	--zs-ink: #17232d;
	--zs-muted: #5e6d78;
	--zs-line: #dfe6ea;
	--zs-soft: #f3f7f8;
	--zs-white: #fff;
	--zs-orange: #dc7b18;
	--zs-radius: 4px;
	--zs-shadow: 0 20px 55px rgba(8, 28, 43, .12);
	--zs-container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--zs-ink); background: var(--zs-white); font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", Arial, sans-serif; font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.zs-nav-open { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { color: var(--zs-navy); line-height: 1.22; font-weight: 800; letter-spacing: -.025em; }
h1 { font-size: clamp(2.35rem, 5vw, 4rem); }
h2 { font-size: clamp(1.85rem, 3.4vw, 3rem); }
h3 { font-size: 1.22rem; }
p { margin-bottom: 1.2em; }
svg { width: 1.25em; height: 1.25em; flex: 0 0 auto; }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; overflow: hidden; position: absolute !important; word-wrap: normal !important; }
.zs-skip-link { position: fixed; left: 16px; top: -100px; z-index: 99999; background: var(--zs-green); color: #fff; padding: 10px 16px; }
.zs-skip-link:focus { top: 16px; }
.zs-container { width: min(calc(100% - 40px), var(--zs-container)); margin-left: auto; margin-right: auto; }
.zs-main { min-height: 60vh; }
.zs-section { padding: 96px 0; }
.zs-section--tint { background: var(--zs-soft); }
.zs-section--dark { background: var(--zs-navy); color: rgba(255,255,255,.78); }
.zs-section--dark h2, .zs-section--dark h3 { color: #fff; }
.zs-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 14px; color: var(--zs-green-dark); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.zs-eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.zs-eyebrow--light { color: #72dd98; }
.zs-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--zs-green-dark); font-weight: 800; }
.zs-text-link svg { transition: transform .25s ease; }
.zs-text-link:hover { color: var(--zs-green); }
.zs-text-link:hover svg { transform: translateX(4px); }
.zs-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 10px 22px; border: 1px solid transparent; border-radius: var(--zs-radius); font-weight: 800; line-height: 1.2; text-align: center; }
.zs-btn svg { transition: transform .25s ease; }
.zs-btn:hover svg { transform: translateX(3px); }
.zs-btn--primary { background: var(--zs-green); color: #fff; box-shadow: 0 10px 24px rgba(35,164,83,.24); }
.zs-btn--primary:hover { background: var(--zs-green-dark); color: #fff; transform: translateY(-2px); }
.zs-btn--outline { color: var(--zs-navy); border-color: #bdc9d0; background: transparent; }
.zs-btn--outline:hover { color: var(--zs-green-dark); border-color: var(--zs-green); }
.zs-btn--ghost-light { color: #fff; border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.05); }
.zs-btn--ghost-light:hover { color: #fff; border-color: rgba(255,255,255,.72); background: rgba(255,255,255,.1); }
.zs-btn--large { min-height: 54px; padding-left: 28px; padding-right: 28px; }
.zs-btn--wide { width: 100%; }

/* Header */
.zs-topbar { background: #061621; color: rgba(255,255,255,.76); font-size: .78rem; }
.zs-topbar__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.zs-topbar__contacts, .zs-topbar__right { display: flex; align-items: center; gap: 22px; }
.zs-topbar__contacts span, .zs-topbar__contacts a, .zs-topbar__hours { display: inline-flex; align-items: center; gap: 7px; }
.zs-topbar a:hover { color: #fff; }
.zs-topbar svg { width: 15px; height: 15px; color: #68d994; }
.zs-language-switcher { display: flex; align-items: center; }
.zs-language-switcher > * { margin: 0 !important; }
.zs-language-switcher select { min-height: 28px; padding: 2px 26px 2px 9px; color: #fff; background: #102d40; border: 1px solid rgba(255,255,255,.18); border-radius: 3px; font-size: .76rem; }
.zs-language-switcher .zs-lang__toggle { color: #fff; }
.zs-language-switcher .zs-lang__panel .zs-lang__item { color: #10293b; }
.zs-language-switcher .zs-lang__panel .zs-lang__item:hover,
.zs-language-switcher .zs-lang__panel .zs-lang__item:focus-visible { color: var(--zs-green-dark); }
.zs-language-switcher .zs-lang__panel .zs-lang__item.is-current { color: var(--zs-green-dark); }
/* 语言切换：PC 放在顶部黑条右侧，移动端放在菜单栏一行 */
.zs-topbar .zs-language-switcher { display: flex; }

/* 语言切换器：顶栏按钮 + 下拉面板（数据来自 Voxfor 插件，外观由主题控制） */
.zs-lang { position: relative; }
.zs-lang__toggle { display: inline-flex; align-items: center; gap: 7px; min-height: 28px; padding: 4px 11px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #fff; font-family: inherit; font-size: .76rem; font-weight: 700; line-height: 1; cursor: pointer; transition: background-color .2s ease, border-color .2s ease; }
.zs-lang__toggle:hover, .zs-lang__toggle:focus-visible { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.42); color: #fff; outline: none; }
.zs-language-switcher .zs-lang__toggle { color: #fff; }
.zs-lang__flag { width: 20px; height: 15px; flex: none; display: block; border-radius: 2px; box-shadow: 0 0 0 1px rgba(4,20,32,.28); }
.zs-lang__current { max-width: 112px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zs-lang__caret { width: 13px; height: 13px; flex: none; transition: transform .2s ease; }
.zs-lang.is-open .zs-lang__caret { transform: rotate(180deg); }
.zs-lang__panel { position: absolute; top: calc(100% + 9px); right: 0; z-index: 1200; display: none; width: 236px; max-height: 330px; padding: 6px; overflow-y: auto; background: #fff; border: 1px solid rgba(8,28,43,.08); border-radius: 12px; box-shadow: 0 20px 46px rgba(6,25,40,.24); }
.zs-lang.is-open .zs-lang__panel { display: block; }
.zs-lang__item { display: flex; align-items: center; gap: 9px; padding: 7px 9px; border-radius: 8px; color: #10293b; font-size: .8rem; font-weight: 600; text-decoration: none; }
.zs-lang__item:hover, .zs-lang__item:focus-visible { background: #eef5f9; color: var(--zs-green-dark); outline: none; }
.zs-lang__item.is-current { background: rgba(35,164,83,.1); color: var(--zs-green-dark); }
.zs-lang__item.is-current::after { content: "\2713"; margin-left: auto; color: var(--zs-green-dark); font-weight: 800; }

/* 移动端菜单里的语言列表 */
.zs-lang-block { margin: 0 0 22px; padding-bottom: 20px; border-bottom: 1px solid var(--zs-line); }
.zs-lang-block__title { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; color: var(--zs-ink); font-size: .82rem; font-weight: 800; }
.zs-lang-block__icon { width: 16px; height: 16px; flex: none; color: var(--zs-green-dark); }
.zs-lang-block__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; max-height: 252px; padding-right: 4px; overflow-y: auto; }
.zs-lang-block__item { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 7px 9px; background: #fff; border: 1px solid var(--zs-line); border-radius: 8px; color: var(--zs-ink); font-size: .79rem; font-weight: 600; text-decoration: none; }
.zs-lang-block__item:hover { border-color: var(--zs-green); color: var(--zs-green-dark); }
.zs-lang-block__item.is-current { border-color: var(--zs-green); box-shadow: inset 0 0 0 1px var(--zs-green); }
.zs-lang-block__item .zs-lang__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* 移动端：语言按钮与汉堡菜单同一行 */
.zs-header-lang { display: none; }
.zs-header-lang .zs-lang__toggle { color: var(--zs-navy); background: #fff; border-color: var(--zs-line); }
.zs-header-lang .zs-lang__toggle:hover,
.zs-header-lang .zs-lang__toggle:focus-visible { color: var(--zs-green-dark); background: var(--zs-soft); border-color: var(--zs-green); }
.zs-header-lang .zs-lang__panel { width: min(260px, calc(100vw - 32px)); }

@media (max-width: 1280px) {
	.zs-topbar .zs-language-switcher { display: none; }
	.zs-header-lang { display: block; }
}

@media (max-width: 520px) {
	.zs-lang__toggle { padding: 4px 9px; }
	.zs-lang__panel { width: min(78vw, 236px); }
}
.zs-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.98); border-bottom: 1px solid var(--zs-line); box-shadow: 0 5px 20px rgba(8,28,43,.04); }
.zs-header--static { position: relative; top: auto; }
.zs-header.is-scrolled { box-shadow: 0 8px 28px rgba(8,28,43,.12); }
.zs-header__inner { min-height: 84px; display: flex; align-items: center; gap: 28px; }
.zs-brand-wrap { flex: 0 0 auto; }
.zs-brand { display: inline-flex; align-items: center; gap: 12px; }
.custom-logo-link { display: block; }
.custom-logo { max-height: 62px; width: auto; }
.zs-brand__mark { position: relative; width: 42px; height: 42px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; padding: 7px; background: var(--zs-navy); border-radius: 3px; transform: skewX(-7deg); }
.zs-brand__mark i { display: block; background: var(--zs-green); border-radius: 1px; }
.zs-brand__mark i:nth-child(2) { opacity: .76; }
.zs-brand__mark i:nth-child(3) { opacity: .45; }
.zs-brand__copy { display: flex; flex-direction: column; line-height: 1.18; }
.zs-brand__copy strong { max-width: 270px; color: var(--zs-navy); font-size: 1.09rem; font-weight: 900; letter-spacing: -.03em; }
.zs-brand__copy small { margin-top: 5px; color: #72818a; font-size: .57rem; font-weight: 800; letter-spacing: .12em; }
.zs-primary-nav { margin-left: auto; }
.zs-menu { display: flex; align-items: center; gap: 27px; margin: 0; padding: 0; list-style: none; }
.zs-menu > li { position: relative; }
.zs-menu > li > a { display: flex; align-items: center; min-height: 84px; color: #273944; font-size: .94rem; font-weight: 800; }
.zs-menu > li > a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 0; height: 3px; background: var(--zs-green); transition: left .25s ease, right .25s ease; }
.zs-menu > li:hover > a, .zs-menu > li.current-menu-item > a { color: var(--zs-green-dark); }
.zs-menu > li:hover > a::after, .zs-menu > li.current-menu-item > a::after { left: 0; right: 0; }
.zs-menu .sub-menu { position: absolute; left: -18px; top: 100%; min-width: 220px; margin: 0; padding: 10px 0; list-style: none; background: #fff; border-top: 3px solid var(--zs-green); box-shadow: var(--zs-shadow); opacity: 0; visibility: hidden; transform: translateY(10px); transition: .22s ease; }
.zs-menu li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.zs-menu .sub-menu a { display: block; padding: 10px 18px; color: #43525c; font-size: .9rem; }
.zs-menu .sub-menu a:hover { color: var(--zs-green-dark); background: var(--zs-green-soft); }
.zs-header__actions { display: flex; align-items: center; gap: 10px; }
.zs-nav-toggle { display: none; width: 46px; height: 46px; align-items: center; justify-content: center; color: var(--zs-navy); background: #fff; border: 1px solid var(--zs-line); border-radius: 3px; }
.zs-nav-toggle svg { width: 24px; height: 24px; }
.zs-nav-toggle__close { display: none; }
.zs-nav-open .zs-nav-toggle__open { display: none; }
.zs-nav-open .zs-nav-toggle__close { display: block; }
.zs-mobile-nav { display: none; }
.zs-mobile-submenu-toggle { display: none; }

/* PC：语言切换固定在顶部黑条右侧 */
@media (min-width: 1281px) {
	.zs-topbar__right { gap: 16px; }
	.zs-topbar .zs-lang__toggle { min-height: 26px; padding: 3px 10px; font-size: .74rem; }
	.zs-topbar .zs-lang__panel { top: calc(100% + 7px); }
}

/* Hero */
.zs-hero { position: relative; min-height: 720px; display: flex; align-items: center; overflow: hidden; background: #061722; color: rgba(255,255,255,.76); }
.zs-hero__media, .zs-hero__overlay { position: absolute; inset: 0; }
.zs-hero__media { background-position: center; background-size: cover; transform: scale(1.01); }
.zs-hero__media--built { background: radial-gradient(circle at 78% 45%, rgba(35,164,83,.38), transparent 27%), radial-gradient(circle at 18% 78%, rgba(32,111,160,.28), transparent 30%), linear-gradient(135deg,#071925 0%,#0c2638 52%,#071923 100%); }
.zs-hero__media--built::before { content: ""; position: absolute; inset: 0; opacity: .26; background-image: linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.09) 1px, transparent 1px); background-size: 58px 58px; transform: perspective(440px) rotateX(54deg) scale(1.4) translateY(10%); transform-origin: bottom; }
.zs-hero__media--built span { position: absolute; right: -8%; bottom: -12%; width: 66%; height: 54%; border: 1px solid rgba(255,255,255,.14); background: linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,0)); clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%, 0 46%); }
.zs-hero__overlay { background: linear-gradient(90deg, rgba(3,15,24,.98) 0%, rgba(3,17,27,.88) 44%, rgba(3,17,27,.42) 74%, rgba(3,17,27,.56) 100%); }
.zs-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.02fr) minmax(450px,.98fr); align-items: center; gap: 58px; padding-top: 78px; padding-bottom: 74px; }
.zs-hero__copy { max-width: 660px; }
.zs-hero h1 { margin-bottom: 24px; color: #fff; font-size: clamp(2.8rem, 5vw, 4.55rem); letter-spacing: -.045em; }
.zs-hero h1 em { display: block; margin-top: 12px; color: #68df95; font-style: normal; font-size: .52em; letter-spacing: .02em; }
.zs-hero__copy > p { max-width: 610px; margin-bottom: 32px; color: rgba(255,255,255,.76); font-size: 1.08rem; }
.zs-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.zs-hero__proof { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.16); }
.zs-hero__proof span { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.72); font-size: .87rem; font-weight: 700; }
.zs-hero__proof svg { color: #5ddb8e; }
.zs-hero__visual { position: relative; }
.zs-machine-panel { position: relative; padding: 16px 16px 0; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 30px 70px rgba(0,0,0,.33); backdrop-filter: blur(8px); }
.zs-machine-panel::before, .zs-machine-panel::after { content: ""; position: absolute; width: 34px; height: 34px; border-color: #69dc96; border-style: solid; }
.zs-machine-panel::before { left: -8px; top: -8px; border-width: 2px 0 0 2px; }
.zs-machine-panel::after { right: -8px; bottom: -8px; border-width: 0 2px 2px 0; }
.zs-machine-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 2px 2px 13px; color: rgba(255,255,255,.68); font-size: .67rem; font-weight: 800; letter-spacing: .1em; }
.zs-machine-panel__head i { padding: 3px 8px; color: #7ee7a7; background: rgba(35,164,83,.16); border: 1px solid rgba(104,223,149,.3); font-style: normal; letter-spacing: 0; }
.zs-machine-panel img { width: 100%; }
.zs-machine-panel__foot { display: grid; grid-template-columns: repeat(3,1fr); background: rgba(0,0,0,.22); border-top: 1px solid rgba(255,255,255,.1); }
.zs-machine-panel__foot span { padding: 14px 12px; text-align: center; color: rgba(255,255,255,.58); font-size: .68rem; border-right: 1px solid rgba(255,255,255,.1); }
.zs-machine-panel__foot span:last-child { border-right: 0; }
.zs-machine-panel__foot strong { display: block; color: #fff; font-size: 1.12rem; }
.zs-float-card { position: absolute; display: flex; align-items: center; gap: 9px; padding: 11px 14px; color: var(--zs-navy); background: #fff; box-shadow: 0 14px 35px rgba(0,0,0,.22); font-size: .78rem; font-weight: 800; }
.zs-float-card svg { color: var(--zs-green); }
.zs-float-card--top { top: -25px; right: -24px; }
.zs-float-card--bottom { left: -32px; bottom: 66px; }

/* Content sections */
.zs-stats { position: relative; z-index: 5; background: #fff; border-bottom: 1px solid var(--zs-line); }
.zs-stats__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.zs-stat { display: flex; flex-direction: column; align-items: center; padding: 28px 20px; border-right: 1px solid var(--zs-line); }
.zs-stat:last-child { border-right: 0; }
.zs-stat strong { color: var(--zs-navy); font-size: 2rem; line-height: 1.1; letter-spacing: -.04em; }
.zs-stat span { margin-top: 6px; color: var(--zs-muted); font-size: .86rem; font-weight: 700; }
.zs-section-head { display: flex; align-items: end; justify-content: space-between; gap: 45px; margin-bottom: 48px; }
.zs-section-head > div { max-width: 760px; }
.zs-section-head h2 { margin-bottom: 0; }
.zs-section-head > p { max-width: 440px; margin-bottom: 6px; color: var(--zs-muted); }
.zs-section-head--center { justify-content: center; text-align: center; }
.zs-section-head--center > div { max-width: 760px; }
.zs-section-head--center p { margin: 16px auto 0; }
.zs-section-head--light > p { color: rgba(255,255,255,.62); }
/* Products section: 单个居中标题 + 图标分类卡片（简洁版） */
.zs-products__head { margin-bottom: 44px; text-align: center; }
.zs-products__title { position: relative; margin: 0; padding-bottom: 18px; font-size: clamp(1.7rem,2.6vw,2.25rem); }
.zs-products__title::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 56px; height: 3px; margin-left: -28px; background: linear-gradient(90deg, var(--zs-green), #6ad892); border-radius: 2px; }

/* Products showcase: dingfeng-style tabs + product grid */
.zs-products__eyebrow { display: block; margin-bottom: 10px; color: var(--zs-green); font-size: .8rem; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.zs-cat-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 34px; }
.zs-cat-tab { display: inline-block; padding: 8px 22px; background: #fff; border: 1px solid var(--zs-line); border-radius: 30px; color: var(--zs-muted); font-family: inherit; font-size: .875rem; font-weight: 700; line-height: 1.5; cursor: pointer; transition: background-color .25s ease, border-color .25s ease, color .25s ease; }
.zs-cat-tab:hover, .zs-cat-tab:focus-visible, .zs-cat-tab.is-active { background: var(--zs-green); border-color: var(--zs-green); color: #fff; outline: none; }
.zs-tab-panel.is-hidden { display: none; }
.zs-showcase-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; align-items: start; }
.zs-showcase-card { overflow: hidden; background: #fff; border: 1px solid var(--zs-line); border-radius: 10px; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.zs-showcase-card:hover { transform: translateY(-6px); border-color: var(--zs-green); box-shadow: var(--zs-shadow); }
.zs-showcase-card__visual { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #fff; }
.zs-showcase-card__visual img { position: absolute; inset: 0; width: 100%; height: 100%; padding: 8px; object-fit: contain; transition: transform .5s ease; }
.zs-showcase-card:hover .zs-showcase-card__visual img { transform: scale(1.04); }
.zs-showcase-card__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--zs-green); background: linear-gradient(135deg, #f7fbf8, #edf7f0); }
.zs-showcase-card__placeholder svg { width: 68px; height: 68px; opacity: .55; }
.zs-showcase-card__body { padding: 18px 20px 22px; }
.zs-showcase-card__body h3 { margin: 0 0 6px; font-size: 1.06rem; line-height: 1.5; }
.zs-showcase-card__body h3 a { color: var(--zs-navy); }
.zs-showcase-card__body h3 a:hover { color: var(--zs-green-dark); }
.zs-showcase-card__more { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; color: var(--zs-green-dark); font-size: .81rem; font-weight: 700; }
.zs-showcase-card__more svg { width: 15px; height: 15px; transition: transform .25s ease; }
.zs-showcase-card__more:hover svg { transform: translateX(4px); }
.zs-showcase-empty { grid-column: 1 / -1; padding: 46px 24px; text-align: center; color: var(--zs-muted); background: #fafcfa; border: 1px dashed #d6e5da; border-radius: 10px; }
.zs-showcase-empty > span { width: 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; color: var(--zs-green); background: #eef7f0; border-radius: 50%; }
.zs-showcase-empty > span svg { width: 30px; height: 30px; }
.zs-showcase-empty h3 { margin-bottom: 8px; color: var(--zs-navy); font-size: 1.1rem; }
.zs-showcase-empty p { max-width: 560px; margin: 0 auto 20px; font-size: .9rem; }
.zs-showcase-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.zs-products__more { margin-top: 40px; text-align: center; }
.zs-products__more .zs-btn { display: inline-flex; align-items: center; gap: 8px; }
@media (max-width: 1280px) {
	.zs-showcase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 700px) {
	.zs-products__head { margin-bottom: 30px; }
	.zs-products__eyebrow { font-size: .72rem; letter-spacing: .16em; }
	.zs-cat-tabs { flex-wrap: nowrap; justify-content: flex-start; margin-bottom: 24px; padding-bottom: 6px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.zs-cat-tabs::-webkit-scrollbar { display: none; }
	.zs-cat-tab { flex: 0 0 auto; padding: 7px 16px; font-size: .82rem; white-space: nowrap; }
	.zs-showcase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.zs-showcase-card__body { padding: 14px 14px 16px; }
	.zs-showcase-card__body h3 { font-size: .94rem; }
	.zs-showcase-card__more { font-size: .76rem; }
	.zs-showcase-empty { padding: 34px 18px; }
}

.zs-category-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; }
.zs-category-card { position: relative; flex: 0 1 calc((100% - 66px) / 4 - 1px); max-width: calc((100% - 66px) / 4 - 1px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-height: 190px; padding: 34px 22px; overflow: hidden; text-align: center; background: #fff; border: 1px solid var(--zs-line); border-top: 4px solid var(--accent); box-shadow: 0 12px 36px rgba(8,28,43,.05); transition: transform .3s ease, box-shadow .3s ease; }
.zs-category-card::after { content: ""; position: absolute; right: -36px; bottom: -52px; width: 150px; height: 150px; border: 22px solid color-mix(in srgb, var(--accent) 12%, transparent); border-radius: 50%; transition: transform .35s ease; }
.zs-category-card:hover { transform: translateY(-8px); box-shadow: var(--zs-shadow); }
.zs-category-card:hover::after { transform: scale(1.18); }
.zs-category-card__icon { position: relative; z-index: 1; width: 58px; height: 58px; display: flex; align-items: center; justify-content: center; color: var(--accent); background: color-mix(in srgb, var(--accent) 9%, white); border-radius: 50%; }
.zs-category-card__icon svg { width: 28px; height: 28px; }
.zs-category-card h3 { position: relative; z-index: 1; margin: 0; font-size: 1.24rem; }
.zs-category-card__arrow { position: relative; z-index: 1; display: inline-flex; align-items: center; color: var(--accent); transition: transform .3s ease; }
.zs-category-card__arrow svg { width: 20px; height: 20px; }
.zs-category-card:hover .zs-category-card__arrow { transform: translateX(5px); }
.zs-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.zs-product-card { overflow: hidden; background: #fff; border: 1px solid var(--zs-line); transition: transform .3s ease, box-shadow .3s ease; }
.zs-product-card:hover { transform: translateY(-7px); box-shadow: var(--zs-shadow); }
.zs-product-card__visual { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #eaf0f3; }
.zs-product-card__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.zs-product-card:hover .zs-product-card__visual img { transform: scale(1.05); }
.zs-product-card__badge { position: absolute; left: 16px; top: 16px; padding: 5px 10px; color: #fff; background: rgba(8,28,43,.84); font-size: .7rem; font-weight: 800; }
.zs-product-card__body { padding: 25px 25px 27px; }
.zs-product-card__model { display: block; margin-bottom: 8px; color: var(--zs-green-dark); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.zs-product-card h3 { margin-bottom: 11px; font-size: 1.23rem; }
.zs-product-card h3 a:hover { color: var(--zs-green-dark); }
.zs-product-card__body > p { min-height: 76px; color: var(--zs-muted); font-size: .9rem; }
.zs-product-card__specs { display: grid; grid-template-columns: repeat(2,1fr); margin: 20px 0; padding: 15px 0; border-top: 1px solid var(--zs-line); border-bottom: 1px solid var(--zs-line); }
.zs-product-card__specs span { display: flex; flex-direction: column; }
.zs-product-card__specs small { color: var(--zs-muted); font-size: .68rem; }
.zs-product-card__specs strong { color: var(--zs-navy); font-size: .9rem; }
.zs-machine-blueprint { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden; background-color: #e8eef1; background-image: linear-gradient(rgba(8,28,43,.055) 1px, transparent 1px), linear-gradient(90deg,rgba(8,28,43,.055) 1px, transparent 1px); background-size: 24px 24px; }
.zs-machine-blueprint::before { content: ""; position: absolute; left: 15%; right: 15%; top: 52%; height: 12px; background: var(--zs-navy); box-shadow: 0 35px 0 rgba(8,28,43,.2); }
.zs-machine-blueprint svg { position: relative; z-index: 2; width: 42%; height: 42%; color: var(--zs-green); stroke-width: 1.1; filter: drop-shadow(0 12px 16px rgba(8,28,43,.14)); }
.zs-machine-blueprint i { position: absolute; top: 36%; width: 42px; height: 42px; border: 8px solid rgba(8,28,43,.22); border-radius: 50%; }
.zs-machine-blueprint i:nth-of-type(1) { left: 18%; }
.zs-machine-blueprint i:nth-of-type(2) { right: 18%; }
.zs-machine-blueprint i:nth-of-type(3) { left: calc(50% - 21px); top: 28%; width: 30px; height: 30px; border-width: 6px; border-color: rgba(35,164,83,.34); }
.zs-product-card--placeholder .zs-product-card__visual { padding-top: 0; }
.zs-product-card--placeholder .zs-text-link { color: #87959e; cursor: default; }

.zs-application-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.zs-application-card { position: relative; min-height: 205px; padding: 27px 25px; overflow: hidden; background: #fff; border: 1px solid var(--zs-line); transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease; }
.zs-application-card:hover { transform: translateY(-5px); border-color: rgba(35,164,83,.55); box-shadow: 0 18px 42px rgba(8,28,43,.09); }
.zs-application-card > span { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; color: var(--zs-green-dark); background: var(--zs-green-soft); }
.zs-application-card h3 { margin: 22px 0 8px; }
.zs-application-card p { margin: 0; color: var(--zs-muted); font-size: .88rem; }
.zs-application-card > i { position: absolute; right: 18px; top: 14px; color: #e6ecef; font-size: 3rem; font-style: normal; font-weight: 900; line-height: 1; }
.zs-factory { background: #fff; }
.zs-factory__grid { display: grid; grid-template-columns: 1.06fr .94fr; align-items: center; gap: 70px; }
.zs-factory__visual { position: relative; min-height: 550px; }
.zs-factory__image { position: absolute; inset: 0 45px 35px 0; background: linear-gradient(145deg,rgba(5,22,33,.2),rgba(5,22,33,.84)), repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 60px), linear-gradient(135deg,#78909d,#1a3647 70%); clip-path: polygon(0 4%,95% 0,100% 94%,8% 100%); }
.zs-factory__image::before { content: ""; position: absolute; left: 13%; right: 9%; bottom: 17%; height: 42%; background: linear-gradient(#dce4e8,#8296a2); border: 12px solid #132c3d; box-shadow: 0 60px 0 -20px rgba(0,0,0,.35); clip-path: polygon(5% 20%, 18% 20%, 18% 0, 31% 0, 31% 20%, 76% 20%, 76% 45%, 100% 45%, 100% 100%, 0 100%, 0 50%, 5% 50%); }
.zs-factory__image::after { content: ""; position: absolute; left: 20%; top: 18%; width: 50%; height: 18%; background: repeating-linear-gradient(90deg,rgba(255,255,255,.75) 0 20px,transparent 20px 42px); opacity: .38; }
.zs-factory__metric { position: absolute; left: -20px; bottom: 8px; padding: 20px 25px; color: #fff; background: var(--zs-green); box-shadow: 0 18px 38px rgba(35,164,83,.25); }
.zs-factory__metric strong { display: block; font-size: 2.25rem; line-height: 1; }
.zs-factory__metric span { font-size: .78rem; }
.zs-factory__stamp { position: absolute; right: 0; top: 24px; width: 112px; height: 112px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--zs-navy); background: #fff; border: 1px solid var(--zs-line); box-shadow: var(--zs-shadow); text-align: center; font-size: .72rem; font-weight: 800; }
.zs-factory__stamp svg { width: 28px; height: 28px; color: var(--zs-green); }
.zs-factory__content h2 { margin-bottom: 22px; }
.zs-factory__content > p { color: var(--zs-muted); font-size: 1.02rem; }
.zs-capability-list { margin: 28px 0 32px; border-top: 1px solid var(--zs-line); }
.zs-capability-list > div { display: flex; align-items: flex-start; gap: 16px; padding: 17px 0; border-bottom: 1px solid var(--zs-line); }
.zs-capability-list svg { width: 24px; height: 24px; color: var(--zs-green); }
.zs-capability-list span { display: flex; flex-direction: column; color: var(--zs-muted); font-size: .88rem; }
.zs-capability-list strong { color: var(--zs-navy); font-size: 1rem; }
.zs-process { background: var(--zs-soft); }
.zs-process__grid { display: grid; grid-template-columns: repeat(5,1fr); border: 1px solid var(--zs-line); background: #fff; }
.zs-process__step { position: relative; min-height: 255px; padding: 34px 24px 30px; border-right: 1px solid var(--zs-line); }
.zs-process__step:last-child { border-right: 0; }
.zs-process__step::after { content: ""; position: absolute; right: -7px; top: 62px; z-index: 2; width: 13px; height: 13px; background: #fff; border-top: 1px solid var(--zs-line); border-right: 1px solid var(--zs-line); transform: rotate(45deg); }
.zs-process__step:last-child::after { display: none; }
.zs-process__step > span { display: inline-block; color: var(--zs-green); font-size: .78rem; font-weight: 900; letter-spacing: .12em; }
.zs-process__step h3 { margin: 28px 0 13px; }
.zs-process__step p { margin: 0; color: var(--zs-muted); font-size: .86rem; }
.zs-case-grid { display: grid; grid-template-columns: 1fr 1fr .78fr; gap: 20px; }
.zs-case-card, .zs-quote-card { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.12); }
.zs-case-card__art { min-height: 220px; background: linear-gradient(160deg,rgba(35,164,83,.42),rgba(4,19,29,.5)), repeating-linear-gradient(120deg,rgba(255,255,255,.09) 0 1px,transparent 1px 28px), #15374a; clip-path: polygon(0 0,100% 0,100% 82%,82% 100%,0 100%); }
.zs-case-card__art.is-alt { background: linear-gradient(160deg,rgba(18,105,156,.5),rgba(4,19,29,.58)), repeating-linear-gradient(60deg,rgba(255,255,255,.08) 0 1px,transparent 1px 32px), #173a4f; }
.zs-case-card > div:last-child { padding: 24px; }
.zs-case-card > div > span { color: #75df9f; font-size: .72rem; font-weight: 800; }
.zs-case-card h3 { margin: 8px 0 10px; font-size: 1.17rem; }
.zs-case-card p { margin: 0; color: rgba(255,255,255,.62); font-size: .84rem; }
.zs-quote-card { display: flex; flex-direction: column; justify-content: center; padding: 34px 30px; }
.zs-quote-card > span { color: var(--zs-green); }
.zs-quote-card > span svg { width: 38px; height: 38px; }
.zs-quote-card blockquote { margin: 22px 0; color: #fff; font-size: 1.08rem; font-weight: 700; line-height: 1.65; }
.zs-quote-card p { margin: 0; color: rgba(255,255,255,.55); font-size: .78rem; }
.zs-faq__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 75px; align-items: start; }
.zs-faq__intro { position: sticky; top: 130px; }
.zs-faq__intro p { color: var(--zs-muted); }
.zs-faq__list { border-top: 1px solid var(--zs-line); }
.zs-faq-item { border-bottom: 1px solid var(--zs-line); }
.zs-faq-item summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 46px 22px 0; color: var(--zs-navy); font-size: 1.05rem; font-weight: 800; cursor: pointer; list-style: none; }
.zs-faq-item summary::-webkit-details-marker { display: none; }
.zs-faq-item summary svg { position: absolute; right: 0; color: var(--zs-green); transition: transform .25s ease; }
.zs-faq-item[open] summary { color: var(--zs-green-dark); }
.zs-faq-item[open] summary svg { transform: rotate(180deg); }
.zs-faq-item p { padding: 0 45px 22px 0; margin: 0; color: var(--zs-muted); font-size: .92rem; }
/* chunk test */

/* Inquiry and forms */
.zs-contact { position: relative; overflow: hidden; background: linear-gradient(135deg,#eef5f2, #f7fafb 58%,#eef4f7); }
.zs-contact::before { content: ""; position: absolute; left: -140px; top: -180px; width: 460px; height: 460px; border: 80px solid rgba(35,164,83,.055); border-radius: 50%; }
.zs-inquiry-card { position: relative; display: grid; grid-template-columns: .78fr 1.22fr; gap: 0; background: #fff; box-shadow: var(--zs-shadow); }
.zs-inquiry-card__intro { position: relative; padding: 52px 46px; overflow: hidden; color: rgba(255,255,255,.7); background: var(--zs-navy); }
.zs-inquiry-card__intro::after { content: ""; position: absolute; right: -90px; bottom: -100px; width: 280px; height: 280px; border: 50px solid rgba(35,164,83,.15); border-radius: 50%; }
.zs-inquiry-card__intro h2 { margin-bottom: 20px; color: #fff; }
.zs-inquiry-card__intro > p { color: rgba(255,255,255,.67); }
.zs-inquiry-benefits { position: relative; z-index: 1; margin: 34px 0; padding: 0; list-style: none; }
.zs-inquiry-benefits li { display: flex; align-items: center; gap: 11px; margin: 15px 0; color: rgba(255,255,255,.82); font-size: .9rem; }
.zs-inquiry-benefits svg { color: #64dc92; }
.zs-inquiry-contact { position: relative; z-index: 1; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.14); }
.zs-inquiry-contact__title { margin: 0 0 14px; color: rgba(255,255,255,.6); font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.zs-inquiry-contact__list { display: grid; grid-template-columns: repeat(auto-fit,minmax(152px,1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.zs-inquiry-contact__item { display: flex; align-items: center; min-width: 0; padding: 10px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(255,255,255,.05); transition: border-color .2s ease, background .2s ease; }
.zs-inquiry-contact__item:hover { border-color: rgba(100,220,146,.45); background: rgba(100,220,146,.08); }
.zs-inquiry-contact__copy { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.zs-inquiry-contact__icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: rgba(100,220,146,.16); color: #64dc92; }
.zs-inquiry-contact__icon svg { width: 16px; height: 16px; }
.zs-inquiry-contact__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.zs-inquiry-contact__body em { color: rgba(255,255,255,.58); font-size: .7rem; font-style: normal; letter-spacing: .04em; }
.zs-inquiry-contact__body a, .zs-inquiry-contact__body strong { color: #fff; font-size: .84rem; font-weight: 700; overflow-wrap: anywhere; }
.zs-inquiry-contact__body a:hover { color: #64dc92; }
.zs-inquiry-contact__body small { color: rgba(255,255,255,.45); font-size: .66rem; }
.zs-inquiry-card__form { padding: 48px 50px; }
.zs-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.zs-form label { display: flex; flex-direction: column; gap: 6px; }
.zs-form label > span { color: #354650; font-size: .78rem; font-weight: 800; }
.zs-form input, .zs-form textarea, .zs-form select { width: 100%; min-height: 48px; padding: 11px 13px; color: var(--zs-ink); background: #fff; border: 1px solid #cfd9de; border-radius: 3px; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.zs-form textarea { resize: vertical; }
.zs-form input:focus, .zs-form textarea:focus, .zs-form select:focus { border-color: var(--zs-green); box-shadow: 0 0 0 3px rgba(35,164,83,.1); }
.zs-form-message { margin-top: 17px; }
.zs-consent { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 9px !important; margin: 16px 0 20px; color: var(--zs-muted); font-size: .76rem; }
.zs-consent input { width: 16px !important; min-height: auto !important; margin-top: 4px; accent-color: var(--zs-green); }
.zs-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.zs-form-notice { margin-bottom: 18px; padding: 12px 15px; border-left: 4px solid; font-size: .86rem; }
.zs-form-notice.is-success { color: #116b35; background: #e9f8ee; border-color: var(--zs-green); }
.zs-form-notice.is-error { color: #8d2424; background: #fff0f0; border-color: #d74545; }

/* Contact page */
.zs-contact-hero { position: relative; overflow: hidden; padding: 78px 0 92px; color: rgba(255,255,255,.72); background: radial-gradient(circle at 86% 10%, rgba(35,164,83,.24), transparent 33%), linear-gradient(115deg,#061722,#0a2638 58%,#0b3f32); }
.zs-contact-hero::after { content: ""; position: absolute; right: -130px; bottom: -220px; width: 540px; height: 540px; border: 84px solid rgba(255,255,255,.045); border-radius: 50%; }
.zs-contact-hero .zs-container { position: relative; z-index: 2; }
.zs-contact-hero .zs-breadcrumb { margin-bottom: 22px; color: rgba(255,255,255,.5); }
.zs-contact-hero .zs-breadcrumb a { color: rgba(255,255,255,.72); }
.zs-contact-hero .zs-breadcrumb a:hover { color: #fff; }
.zs-contact-hero h1 { max-width: 760px; margin-bottom: 16px; color: #fff; }
.zs-contact-hero > .zs-container > p { max-width: 720px; margin-bottom: 28px; color: rgba(255,255,255,.68); font-size: 1.02rem; }
.zs-contact-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.zs-contact-hero__stats { display: flex; flex-wrap: wrap; gap: 24px 46px; margin: 38px 0 0; padding: 24px 0 0; border-top: 1px solid rgba(255,255,255,.12); list-style: none; }
.zs-contact-hero__stats li { display: flex; flex-direction: column; gap: 2px; }
.zs-contact-hero__stats strong { color: #fff; font-size: 1.65rem; line-height: 1.1; }
.zs-contact-hero__stats span { color: rgba(255,255,255,.52); font-size: .78rem; }

.zs-contact-quick { position: relative; z-index: 3; margin-top: -44px; }
.zs-contact-quick__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.zs-contact-quick__card { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 108px; padding: 22px 20px; color: inherit; font: inherit; text-align: left; background: #fff; border: 1px solid var(--zs-line); box-shadow: 0 18px 45px rgba(8,28,43,.08); cursor: pointer; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.zs-contact-quick__card:hover { transform: translateY(-4px); border-color: rgba(35,164,83,.5); box-shadow: 0 22px 50px rgba(8,28,43,.13); }
.zs-contact-quick__icon { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; color: var(--zs-green-dark); background: var(--zs-green-soft); }
.zs-contact-quick__icon svg { width: 21px; height: 21px; }
.zs-contact-quick__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.zs-contact-quick__body em { color: var(--zs-muted); font-size: .72rem; font-style: normal; font-weight: 800; letter-spacing: .08em; }
.zs-contact-quick__body strong { color: var(--zs-navy); font-size: .95rem; white-space: nowrap; }
.zs-contact-quick__body small { color: var(--zs-green-dark); font-size: .72rem; font-weight: 700; }

.zs-contact-form-section { background: linear-gradient(135deg,#eef5f2,#f7fafb 58%,#eef4f7); }
.zs-contact-form-section .zs-section-head { margin-bottom: 38px; }
.zs-contact-form-section .zs-inquiry-card { display: block; max-width: 880px; margin: 0 auto; }
.zs-contact-form-section .zs-inquiry-card__intro { display: none; }
.zs-contact-form__points { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; margin: -16px 0 34px; padding: 0; list-style: none; }
.zs-contact-form__points li { display: inline-flex; align-items: center; gap: 8px; color: var(--zs-navy); font-size: .86rem; font-weight: 700; }
.zs-contact-form__points svg { width: 16px; height: 16px; color: var(--zs-green); }

.zs-contact-location .zs-container { display: grid; grid-template-columns: 1.02fr .98fr; gap: 56px; align-items: center; }
.zs-contact-location__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.zs-contact-location__info h2 { margin-bottom: 16px; }
.zs-contact-location__info > p { max-width: 560px; color: var(--zs-muted); }
.zs-contact-details { display: grid; gap: 16px; margin: 28px 0; padding: 0; list-style: none; }
.zs-contact-details li { display: flex; align-items: flex-start; gap: 12px; }
.zs-contact-details li > svg { width: 18px; height: 18px; margin-top: 3px; color: var(--zs-green); }
.zs-contact-details li span { display: flex; flex-direction: column; gap: 2px; color: var(--zs-muted); font-size: .88rem; }
.zs-contact-details li strong { color: var(--zs-navy); font-size: .84rem; }
.zs-contact-details li a { color: var(--zs-muted); }
.zs-contact-details li a:hover { color: var(--zs-green-dark); }
.zs-contact-location__visual { display: grid; gap: 18px; }
.zs-contact-qr-card { display: flex; align-items: center; gap: 22px; margin: 0; padding: 24px; background: var(--zs-soft); border: 1px solid var(--zs-line); }
.zs-contact-qr-card img { width: 132px; height: 132px; padding: 8px; background: #fff; border: 1px solid var(--zs-line); object-fit: contain; }
.zs-contact-qr-card figcaption { display: flex; flex-direction: column; gap: 6px; }
.zs-contact-qr-card strong { color: var(--zs-navy); font-size: 1.08rem; }
.zs-contact-qr-card span { color: var(--zs-muted); font-size: .86rem; }
.zs-contact-qr-card small { color: var(--zs-green-dark); font-size: .8rem; font-weight: 700; }
.zs-contact-trust { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--zs-line); border: 1px solid var(--zs-line); }
.zs-contact-trust div { padding: 22px 14px; background: #fff; text-align: center; }
.zs-contact-trust strong { display: block; color: var(--zs-navy); font-size: 1.45rem; line-height: 1.1; }
.zs-contact-trust span { color: var(--zs-muted); font-size: .74rem; }

.zs-contact-map-section { padding: 0 0 88px; }
.zs-contact-map-card { position: relative; min-height: 330px; display: flex; align-items: flex-end; padding: 42px; overflow: hidden; color: #fff; background: linear-gradient(115deg, rgba(6,22,33,.96), rgba(8,42,58,.88)), repeating-linear-gradient(45deg, rgba(255,255,255,.035) 0 2px, transparent 2px 20px); border: 1px solid rgba(255,255,255,.06); }
.zs-contact-map-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 80% 30%, rgba(35,164,83,.22), transparent 34%); }
.zs-contact-map-card__content { position: relative; z-index: 2; max-width: 620px; }
.zs-contact-map-card h2 { margin-bottom: 12px; color: #fff; }
.zs-contact-map-card p { color: rgba(255,255,255,.68); }
.zs-contact-map-embed { min-height: 420px; background: #e9eff2; }
.zs-contact-map-embed iframe { display: block; width: 100%; min-height: 420px; border: 0; }


/* Page, archive, and posts */
.zs-page-hero { position: relative; padding: 74px 0 68px; overflow: hidden; background: var(--zs-navy); color: rgba(255,255,255,.68); }
.zs-page-hero::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(90deg,transparent,#000); }
.zs-page-hero .zs-container { position: relative; z-index: 2; }
.zs-page-hero h1 { margin-bottom: 0; color: #fff; }
.zs-page-hero__grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 60px; }
.zs-page-hero__grid > p { max-width: 540px; margin: 0; }
.zs-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 28px; color: rgba(255,255,255,.53); font-size: .74rem; }
.zs-breadcrumb a:hover { color: #fff; }
.zs-breadcrumb span[aria-current] { color: rgba(255,255,255,.8); }
.zs-page__body { padding-top: 75px; padding-bottom: 90px; }
.zs-content { color: #3f4f59; }
.zs-content > *:first-child { margin-top: 0; }
.zs-content h2 { margin-top: 1.8em; }
.zs-content h3 { margin-top: 1.5em; }
.zs-content a { color: var(--zs-green-dark); text-decoration: underline; text-underline-offset: 3px; }
.zs-content ul, .zs-content ol { padding-left: 1.3em; }
.zs-content blockquote { margin: 2em 0; padding: 22px 28px; color: var(--zs-navy); background: var(--zs-soft); border-left: 4px solid var(--zs-green); }
.zs-content img { height: auto; }
.zs-post__layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 55px; padding-top: 68px; padding-bottom: 90px; }
.zs-post__image { margin-bottom: 35px; }
.zs-post__aside { padding: 26px; background: var(--zs-soft); border-top: 4px solid var(--zs-green); }
.zs-post__aside .search-form { display: flex; margin-bottom: 20px; }
.zs-post__aside input[type="search"] { min-width: 0; flex: 1; padding: 10px; border: 1px solid var(--zs-line); }
.zs-post__aside button { padding: 8px 14px; color: #fff; background: var(--zs-navy); border: 0; }
.zs-archive__body { padding-top: 72px; padding-bottom: 90px; }
.zs-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.zs-post-card { background: #fff; border: 1px solid var(--zs-line); }
.zs-post-card__image { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--zs-soft); }
.zs-post-card__image img { width: 100%; height: 100%; object-fit: cover; }
.zs-post-card__image > span { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--zs-green); }
.zs-post-card__image svg { width: 48px; height: 48px; }
.zs-post-card > div { padding: 24px; }
.zs-post-card__date { color: var(--zs-green-dark); font-size: .72rem; font-weight: 800; }
.zs-post-card h2, .zs-post-card h3 { margin: 9px 0 12px; font-size: 1.2rem; }
.zs-post-card p { min-height: 72px; color: var(--zs-muted); font-size: .88rem; }
.zs-post-card--text { display: flex; flex-direction: column; }
.zs-post-card--text > div { display: flex; flex: 1; flex-direction: column; padding: 26px; }
.zs-post-card--text p { min-height: 0; margin-bottom: 18px; }
.zs-post-card--text .zs-text-link { margin-top: auto; }
.zs-pagination { margin-top: 45px; }
.zs-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.zs-pagination a, .zs-pagination span { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--zs-line); }
.zs-pagination .current { color: #fff; background: var(--zs-green); border-color: var(--zs-green); }
.zs-archive-description { margin-top: 20px; color: rgba(255,255,255,.62); }
.zs-empty-state { padding: 70px 30px; text-align: center; background: var(--zs-soft); border: 1px dashed #b9c7cf; }
.zs-empty-state > span { width: 72px; height: 72px; display: inline-flex; align-items: center; justify-content: center; color: var(--zs-green); background: #fff; }
.zs-empty-state > span svg { width: 35px; height: 35px; }
.zs-empty-state h2, .zs-empty-state h3 { margin-top: 22px; }
.zs-empty-state p { max-width: 620px; margin: 0 auto 25px; color: var(--zs-muted); }
.zs-empty-state p:last-child { margin-bottom: 0; }
.zs-section--tint .zs-empty-state { background: #fff; }

/* Product archive and detail */
.zs-product-archive { padding: 48px 0 90px; }
.zs-product-archive__cats { padding: 56px 0 44px; }
.zs-product-archive__cats .zs-products__head { margin-bottom: 34px; }
.zs-product-archive__cats .zs-products__title { font-size: clamp(1.5rem,2.3vw,2rem); }
.zs-archive-note { max-width: 680px; margin: 0 auto; color: var(--zs-muted); font-size: .96rem; text-align: center; }
.zs-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 34px; padding-bottom: 24px; border-bottom: 1px solid var(--zs-line); }
.zs-filter-bar a { padding: 8px 15px; color: #52636d; background: var(--zs-soft); border: 1px solid transparent; font-size: .84rem; font-weight: 800; }
.zs-filter-bar a:hover, .zs-filter-bar a.is-active { color: #fff; background: var(--zs-green); }
.zs-product-hero { padding: 48px 0 75px; background: linear-gradient(135deg,#f3f7f8,#fff 55%,#edf4f0); }
.zs-product-hero .zs-breadcrumb { color: #7c8991; }
.zs-product-hero .zs-breadcrumb a:hover { color: var(--zs-green-dark); }
.zs-product-hero .zs-breadcrumb span[aria-current] { color: #4b5962; }
.zs-product-hero__grid { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 65px; }
.zs-product-hero__copy h1 {
	margin: 0 0 17px;
	font-size: clamp(1.8rem, 2.5vw, 2.8rem);
	line-height: 1.15;
}
.zs-product-hero__model-code { white-space: nowrap; }
.zs-product-hero__model { color: var(--zs-green-dark); font-weight: 800; }
.zs-product-hero__excerpt { color: var(--zs-muted); font-size: 1.04rem; }
.zs-product-hero__metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 28px 0; }
.zs-product-hero__metrics span { display: flex; flex-direction: column; padding: 15px 17px; background: #fff; border-left: 3px solid var(--zs-green); box-shadow: 0 8px 22px rgba(8,28,43,.06); }
.zs-product-hero__metrics small { color: var(--zs-muted); font-size: .7rem; }
.zs-product-hero__metrics strong { color: var(--zs-navy); font-size: 1.02rem; }
.zs-product-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.zs-product-hero__visual { position: relative; min-height: 480px; display: flex; align-items: center; justify-content: center; padding: 20px; background: #fff; box-shadow: var(--zs-shadow); }
.zs-product-hero__visual img { width: 100%; max-height: 520px; object-fit: contain; }
.zs-product-hero__visual .zs-machine-blueprint { min-height: 440px; }
.zs-machine-blueprint.is-large svg { width: 35%; height: 35%; }
.zs-product-hero__label { position: absolute; left: -16px; bottom: 28px; padding: 10px 15px; color: #fff; background: var(--zs-green); font-size: .75rem; font-weight: 800; }
.zs-product-detail { background: #fff; }
.zs-product-detail__grid { display: grid; grid-template-columns: minmax(0,1fr) 370px; gap: 62px; align-items: start; }
.zs-detail-block { margin-top: 70px; }
.zs-check-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 22px; padding: 0; list-style: none; }
.zs-check-grid li { display: flex; align-items: flex-start; gap: 10px; padding: 14px 16px; background: var(--zs-soft); color: #40515b; font-size: .9rem; }
.zs-check-grid svg { color: var(--zs-green); margin-top: 4px; }
.zs-tag-list { display: flex; flex-wrap: wrap; gap: 9px; padding: 0; list-style: none; }
.zs-tag-list li { padding: 9px 14px; color: var(--zs-navy); background: #edf4f0; border: 1px solid #cfdfd5; font-size: .86rem; font-weight: 700; }
.zs-option-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.zs-option-grid span { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--zs-line); font-size: .88rem; font-weight: 700; }
.zs-option-grid i { color: var(--zs-green); font-style: normal; font-weight: 900; }
.zs-product-detail__aside { position: sticky; top: 120px; }
.zs-spec-card { padding: 28px; color: #fff; background: var(--zs-navy); }
.zs-spec-card h2 { margin-bottom: 22px; color: #fff; font-size: 1.35rem; }
.zs-spec-card dl { margin: 0; }
.zs-spec-card dl > div { display: grid; grid-template-columns: 1fr 1.1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.zs-spec-card dt { color: rgba(255,255,255,.58); font-size: .78rem; }
.zs-spec-card dd { margin: 0; color: #fff; font-size: .83rem; font-weight: 700; text-align: right; }
.zs-spec-card > p { margin: 20px 0 0; color: rgba(255,255,255,.5); font-size: .72rem; }
.zs-support-card { margin-top: 18px; padding: 27px; background: var(--zs-green-soft); border: 1px solid #cfe8d8; }
.zs-support-card > svg { width: 34px; height: 34px; color: var(--zs-green); }
.zs-support-card h3 { margin: 17px 0 10px; }
.zs-support-card p { color: var(--zs-muted); font-size: .86rem; }

/* Footer and conversion elements */
.zs-footer-cta { position: relative; padding: 56px 0; overflow: hidden; color: rgba(255,255,255,.7); background: linear-gradient(115deg,#0a2638,#0b3f32); }
.zs-footer-cta::after { content: ""; position: absolute; right: 7%; top: -120px; width: 360px; height: 360px; border: 70px solid rgba(255,255,255,.045); border-radius: 50%; }
.zs-footer-cta__inner { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 45px; }
.zs-footer-cta__inner > div:first-child { max-width: 760px; }
.zs-footer-cta h2 { margin-bottom: 10px; color: #fff; font-size: clamp(1.7rem, 3vw, 2.45rem); }
.zs-footer-cta p { margin: 0; }
.zs-footer-cta__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.zs-footer { padding: 72px 0 0; color: rgba(255,255,255,.62); background: #061621; }
.zs-footer__grid { display: grid; grid-template-columns: 1.45fr .78fr .78fr 1fr; gap: 48px; }
.zs-footer__brand .zs-brand { margin-bottom: 23px; }
.zs-footer__brand .zs-brand__copy strong { color: #fff; }
.zs-footer__brand .zs-brand__copy small { color: rgba(255,255,255,.44); }
.zs-footer__brand > p { max-width: 420px; margin-bottom: 22px; color: rgba(255,255,255,.57); font-size: .89rem; }
.zs-footer__badges { display: flex; flex-wrap: wrap; gap: 9px; }
.zs-footer__badges span { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; color: rgba(255,255,255,.7); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); font-size: .72rem; font-weight: 700; }
.zs-footer__badges svg { width: 15px; height: 15px; color: #64dc92; }
.zs-footer__column h3 { margin-bottom: 20px; color: #fff; font-size: .96rem; letter-spacing: 0; }
.zs-footer__heading { margin-bottom: 20px; }
.zs-footer__toggle { display: flex; align-items: center; justify-content: flex-start; gap: 8px; width: 100%; padding: 0; color: inherit; background: none; border: 0; font: inherit; letter-spacing: inherit; text-align: left; cursor: default; }
.zs-footer__toggle svg { display: none; }
.zs-footer__panel { display: block; }
.zs-footer__menu { margin: 0; padding: 0; list-style: none; }
.zs-footer__menu li { margin: 9px 0; }
.zs-footer__menu a { color: rgba(255,255,255,.58); font-size: .84rem; }
.zs-footer__menu a:hover { color: #73df9d; }
.zs-footer__contact p { display: flex; align-items: flex-start; gap: 10px; margin: 10px 0; color: rgba(255,255,255,.57); font-size: .82rem; overflow-wrap: anywhere; }
.zs-footer__contact svg { width: 17px; height: 17px; margin-top: 4px; color: #64dc92; }
.zs-footer__contact a:hover { color: #fff; }
.zs-footer__bottom { display: flex; justify-content: space-between; gap: 25px; margin-top: 55px; padding: 23px 0; color: rgba(255,255,255,.4); border-top: 1px solid rgba(255,255,255,.09); font-size: .75rem; }
.zs-footer__bottom p { margin: 0; }
.zs-mobile-bar { display: none; }
.zs-back-top { position: fixed; right: 22px; bottom: 25px; z-index: 900; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; color: #fff; background: var(--zs-green); border: 0; box-shadow: 0 12px 28px rgba(8,28,43,.25); opacity: 0; visibility: hidden; transform: translateY(10px); transition: .25s ease; }
.zs-back-top svg { transform: rotate(-90deg); }
.zs-back-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.zs-back-top:hover { background: var(--zs-green-dark); }

/* 404 */
.zs-404 { position: relative; min-height: 620px; display: flex; align-items: center; overflow: hidden; background: linear-gradient(135deg,#f2f7f5,#fff 60%,#eef4f8); }
.zs-404::before { content: ""; position: absolute; right: -130px; top: -170px; width: 520px; height: 520px; border: 95px solid rgba(35,164,83,.07); border-radius: 50%; }
.zs-404 .zs-container { position: relative; z-index: 2; max-width: 820px; text-align: center; }
.zs-404__code { margin-bottom: -22px; color: #e3ebe8; font-size: clamp(8rem,20vw,14rem); font-weight: 900; line-height: .8; letter-spacing: -.09em; }
.zs-404 h1 { margin-bottom: 18px; }
.zs-404 > .zs-container > p { max-width: 610px; margin: 0 auto 28px; color: var(--zs-muted); }
.zs-404__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

/* Shared utility fixes */
.zs-inquiry-card.is-compact { box-shadow: none; }
.zs-inquiry-card.is-compact .zs-inquiry-card__intro, .zs-inquiry-card.is-compact .zs-inquiry-card__form { padding: 36px; }
.zs-content iframe, .zs-content video { max-width: 100%; }
.zs-content table { width: 100%; border-collapse: collapse; }
.zs-content th, .zs-content td { padding: 10px 12px; border: 1px solid var(--zs-line); text-align: left; }
.zs-search-form { display: flex; max-width: 520px; margin: 22px auto; }
.zs-search-form input[type="search"] { min-width: 0; flex: 1; min-height: 48px; padding: 10px 14px; border: 1px solid #cfd9de; }
.zs-search-form button { padding: 10px 18px; color: #fff; background: var(--zs-navy); border: 0; }
/* ===== 轮播图（图片自带文案）=====
   出图规格 4128×1088（3.79:1，≈2400×633）；
   前台按图片原比例整图铺满：不裁剪、不变形、不叠加文字与遮罩。 */
.zs-visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.zs-hero--carousel .zs-slide.is-active .zs-slide__media { animation: none; transform: none; }
.zs-hero--carousel .zs-slide__media--m { display: none; }
@media (min-width: 701px) {
	.zs-hero--carousel .zs-slide.is-active { aspect-ratio: 4128 / 1088; }
	.zs-hero--carousel .zs-slide__media { background-size: cover; background-position: center; background-repeat: no-repeat; }
}
@media (max-width: 700px) {
	.zs-hero--carousel .zs-slide__media--bg { position: relative; inset: auto; width: 100%; aspect-ratio: 4128 / 1088; background-size: cover; background-position: center; transform: none; animation: none; }
	.zs-hero--carousel .zs-slide--has-mobile .zs-slide__media--bg { display: none; }
	.zs-hero--carousel .zs-slide--has-mobile { background: #032821; }
	.zs-hero--carousel .zs-slide--has-mobile .zs-slide__media--m { display: block; position: relative; inset: auto; width: 100%; height: auto; transform: none; animation: none; }
	.zs-hero--carousel .zs-slide--has-mobile .zs-slide__media--m img { display: block; width: 100%; height: auto; aspect-ratio: auto 4 / 3; }
	.zs-hero--carousel .zs-slide__overlay { display: none; }
	.zs-hero--carousel .zs-hero__dots { bottom: 16px; }
}

@media (min-width: 1281px) and (max-width: 1280px) {
	.zs-header-lang .zs-lang__current { display: none; }
	.zs-header-lang .zs-lang__toggle { padding: 4px 9px; }
}
@media (max-width: 1200px) {
	.zs-container { width: min(calc(100% - 36px), var(--zs-container)); }
	.zs-header__inner { gap: 18px; }
	.zs-menu { gap: 18px; }
	.zs-menu > li > a { font-size: .88rem; }
	.zs-header__actions .zs-btn { padding-left: 16px; padding-right: 16px; }
	.zs-hero__inner { grid-template-columns: minmax(0,1fr) minmax(390px,.9fr); gap: 35px; }
	.zs-factory__grid { gap: 45px; }
	.zs-product-detail__grid { grid-template-columns: minmax(0,1fr) 330px; gap: 40px; }
	.zs-footer__grid { grid-template-columns: 1.35fr .8fr .8fr 1fr; gap: 30px; }
}

/* Responsive: tablet and navigation */
@media (max-width: 1280px) {
	.zs-topbar__contacts span:first-child, .zs-topbar__hours { display: none; }
	.zs-primary-nav, .zs-header__actions > .zs-btn { display: none; }
	.zs-nav-toggle { display: inline-flex; }
	.zs-header__inner { min-height: 74px; }
	.zs-mobile-nav { display: none; max-height: calc(100vh - 112px); padding: 14px 0 24px; overflow-y: auto; background: #fff; border-top: 1px solid var(--zs-line); box-shadow: 0 20px 40px rgba(8,28,43,.14); }
	.zs-nav-open .zs-mobile-nav { display: block; }
	.zs-mobile-nav .zs-menu { display: block; margin-bottom: 20px; }
	.zs-mobile-nav .zs-menu > li { position: relative; border-bottom: 1px solid var(--zs-line); }
	.zs-mobile-nav .zs-menu > li > a { min-height: 50px; padding: 9px 0; font-size: .95rem; }
	.zs-mobile-nav .zs-menu > li.has-submenu > a { padding-right: 60px; }
	.zs-mobile-nav .zs-menu > li > a::after { display: none; }
	.zs-mobile-nav .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 10px 16px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
	html.zs-js .zs-mobile-nav .zs-menu > li > .sub-menu { display: none; }
	html.zs-js .zs-mobile-nav .zs-menu > li.is-submenu-open > .sub-menu { display: block; }
	.zs-mobile-nav .sub-menu a { padding: 7px 0; }
	.zs-mobile-submenu-toggle { position: absolute; top: 0; right: 0; width: 52px; height: 50px; display: none; align-items: center; justify-content: center; padding: 0; color: var(--zs-muted); background: transparent; border: 0; border-left: 1px solid var(--zs-line); cursor: pointer; -webkit-tap-highlight-color: transparent; }
	html.zs-js .zs-mobile-nav .zs-menu > li.has-submenu > .zs-mobile-submenu-toggle { display: flex; }
	.zs-mobile-submenu-toggle::before { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translate(-2px,-2px); transition: transform .25s ease; }
	.zs-mobile-nav .zs-menu > li.is-submenu-open > .zs-mobile-submenu-toggle::before { transform: rotate(-135deg) translate(-2px,-2px); }
	.zs-mobile-nav__contact { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
	.zs-mobile-nav__contact a { display: inline-flex; align-items: center; gap: 9px; color: var(--zs-muted); font-size: .85rem; }
	.zs-mobile-nav__contact svg { color: var(--zs-green); }
	.zs-hero { min-height: auto; }
	.zs-hero__inner { grid-template-columns: 1fr; padding-top: 68px; padding-bottom: 78px; }
	.zs-hero__copy { max-width: 780px; }
	.zs-hero__visual { max-width: 760px; width: 100%; margin: 15px auto 0; }
	.zs-category-grid, .zs-product-grid, .zs-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.zs-category-card { flex: 0 1 calc((100% - 22px) / 2 - 1px); max-width: calc((100% - 22px) / 2 - 1px); min-height: 186px; }
	.zs-application-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.zs-factory__grid { grid-template-columns: 1fr; }
	.zs-factory__visual { max-width: 720px; min-height: 500px; }
	.zs-process__grid { grid-template-columns: repeat(3,1fr); }
	.zs-process__step { min-height: 220px; border-bottom: 1px solid var(--zs-line); }
	.zs-process__step:nth-child(3) { border-right: 0; }
	.zs-process__step::after { display: none; }
	.zs-case-grid { grid-template-columns: 1fr 1fr; }
	.zs-quote-card { grid-column: 1 / -1; }
	.zs-faq__grid { gap: 45px; }
	.zs-inquiry-card { grid-template-columns: .85fr 1.15fr; }
	.zs-inquiry-card__intro { padding: 42px 34px; }
	.zs-inquiry-card__form { padding: 40px 36px; }
	.zs-product-hero__grid { grid-template-columns: 1fr; gap: 40px; }
	.zs-product-hero__copy { max-width: 800px; }
	.zs-product-hero__visual { min-height: 430px; }
	.zs-product-detail__grid { grid-template-columns: 1fr; }
	.zs-product-detail__aside { position: static; }
	.zs-footer-cta__inner { align-items: flex-start; }
	.zs-footer__grid { grid-template-columns: 1.3fr 1fr 1fr; }
	.zs-footer__contact { grid-column: 1 / -1; }
	.zs-footer__contact { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
	.zs-footer__contact h3 { grid-column: 1 / -1; }
	.zs-footer__contact .zs-footer__panel { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
	.zs-footer__contact .zs-footer__panel .zs-footer__map-embed { grid-column: 1 / -1; }
}

/* Responsive: phone and small tablet */
@media (max-width: 900px) {
	.zs-section { padding: 74px 0; }
	.zs-topbar__inner { justify-content: center; }
	.zs-topbar__right { margin-left: auto; }
	.zs-hero h1 { font-size: clamp(2.45rem,8vw,3.9rem); }
	.zs-section-head { align-items: flex-start; flex-direction: column; gap: 18px; margin-bottom: 35px; }
	.zs-section-head--center { align-items: center; text-align: center; }
	.zs-section-head > p { margin-bottom: 0; }
	.zs-stats__grid { grid-template-columns: repeat(2,1fr); }
	.zs-stat:nth-child(2) { border-right: 0; }
	.zs-stat:nth-child(-n+2) { border-bottom: 1px solid var(--zs-line); }
	.zs-factory__visual { min-height: 430px; }
	.zs-process__grid { grid-template-columns: repeat(2,1fr); }
	.zs-process__step:nth-child(2n) { border-right: 0; }
	.zs-faq__grid { grid-template-columns: 1fr; }
	.zs-faq__intro { position: static; }
	.zs-inquiry-card { grid-template-columns: 1fr; }
	.zs-inquiry-card__intro, .zs-inquiry-card__form { padding: 38px 30px; }
	.zs-page-hero__grid { grid-template-columns: 1fr; gap: 20px; }
	.zs-post__layout { grid-template-columns: 1fr; }
	.zs-footer-cta__inner { flex-direction: column; }
	.zs-footer-cta__actions { justify-content: flex-start; }
}

@media (max-width: 782px) {
	body.admin-bar .zs-header { top: 46px; }
	.zs-container { width: min(calc(100% - 28px), var(--zs-container)); }
	.zs-topbar { font-size: .72rem; }
	.zs-topbar__contacts, .zs-topbar__right { gap: 12px; }
	.zs-topbar__contacts a:first-of-type { display: none; }
	.zs-language-switcher select { max-width: 112px; }
	.zs-mobile-nav { max-height: calc(100vh - 176px); padding-bottom: 56px; }
	.zs-mobile-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 950; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding-bottom: env(safe-area-inset-bottom); background: linear-gradient(180deg, #0c2637, #061722); border-top: 1px solid rgba(255,255,255,.08); box-shadow: 0 -10px 30px rgba(4,16,25,.3); }
	.zs-mobile-bar__item { position: relative; min-height: 64px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 7px 2px; border: 0; border-right: 1px solid rgba(255,255,255,.07); background: transparent; color: rgba(255,255,255,.9); font-family: inherit; font-size: .66rem; font-weight: 800; line-height: 1.1; text-align: center; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: background-color .2s ease; }
	.zs-mobile-bar__item:last-child { border-right: 0; }
	.zs-mobile-bar__item svg { width: 19px; height: 19px; padding: 7px; box-sizing: content-box; border-radius: 50%; background: rgba(255,255,255,.08); color: #7fe0a2; transition: background-color .2s ease, color .2s ease; }
	.zs-mobile-bar__item:active { background: rgba(255,255,255,.07); }
	.zs-mobile-bar__item--whatsapp svg { color: #5fdc8b; }
	.zs-mobile-bar__item--wechat svg { color: #86dd94; }
	.zs-mobile-bar__item--contact { color: #fff; }
	.zs-mobile-bar__item--contact svg { background: linear-gradient(150deg, #35c46d, #14813c); color: #fff; box-shadow: 0 4px 10px rgba(20,129,60,.38); }
	.zs-mobile-bar__item--contact:active svg { background: linear-gradient(150deg, #2aa95c, #106633); }
	.zs-back-top { right: 14px; bottom: 86px; }
	.zs-footer { padding-bottom: 66px; }
	.zs-footer__bottom { padding-bottom: 23px; }
}

/* Responsive: mobile */
@media (max-width: 700px) {
	body { font-size: 15px; }
	.zs-section { padding: 62px 0; }
	.zs-header__inner { min-height: 66px; }
	.zs-brand__mark { width: 37px; height: 37px; }
	.zs-brand__copy strong { max-width: 190px; font-size: .96rem; }
	.zs-brand__copy small { font-size: .48rem; letter-spacing: .08em; }
	.zs-custom-logo, .custom-logo { max-height: 54px; }
	.zs-topbar__contacts a:last-child { display: none; }
	.zs-topbar { display: none; } /* 手机上顶栏内容已隐藏，整条隐藏避免出现空黑条 */
	.zs-hero__inner { gap: 24px; padding-top: 54px; padding-bottom: 62px; }
	.zs-hero__copy > p { font-size: .98rem; }
	.zs-hero__actions { align-items: stretch; }
	.zs-hero__actions .zs-btn { flex: 1 1 100%; }
	.zs-hero__proof { gap: 12px 18px; }
	.zs-hero__proof span { font-size: .78rem; }
	.zs-machine-panel { padding: 10px 10px 0; }
	.zs-machine-panel__head { font-size: .58rem; }
	.zs-machine-panel__foot span { padding: 10px 6px; font-size: .58rem; }
	.zs-machine-panel__foot strong { font-size: .9rem; }
	.zs-float-card { display: none; }
	.zs-category-grid, .zs-product-grid, .zs-application-grid, .zs-post-grid { grid-template-columns: 1fr; }
	.zs-products__head { margin-bottom: 30px; }
	.zs-products__title { padding-bottom: 14px; }
	.zs-category-card { flex: 0 1 100%; max-width: 100%; flex-direction: row; justify-content: flex-start; gap: 16px; min-height: 0; padding: 18px 20px; text-align: left; }
	.zs-category-card__icon { width: 46px; height: 46px; flex: 0 0 46px; }
	.zs-category-card__icon svg { width: 22px; height: 22px; }
	.zs-category-card h3 { flex: 1 1 auto; font-size: 1.06rem; }
	.zs-category-card__arrow { margin-left: auto; }
	.zs-category-card::after { display: none; }
	.zs-product-card__body > p { min-height: 0; }
	.zs-product-card__specs { margin-bottom: 10px; }
	.zs-factory__visual { min-height: 340px; }
	.zs-factory__image { inset: 0 20px 35px 0; }
	.zs-factory__stamp { width: 88px; height: 88px; font-size: .62rem; }
	.zs-factory__metric { left: -5px; }
	.zs-process__grid { grid-template-columns: 1fr; border: 0; gap: 10px; background: transparent; }
	.zs-process__step { min-height: 0; padding: 25px 22px; border: 1px solid var(--zs-line) !important; }
	.zs-case-grid { grid-template-columns: 1fr; }
	.zs-quote-card { grid-column: auto; }
	.zs-faq-item summary { padding-top: 18px; padding-bottom: 18px; font-size: .96rem; }
	.zs-inquiry-card__intro, .zs-inquiry-card__form { padding: 30px 22px; }
	.zs-form-grid { grid-template-columns: 1fr; }
	.zs-product-hero { padding: 34px 0 55px; }
	.zs-product-hero__metrics { grid-template-columns: 1fr; }
	.zs-product-hero__visual { min-height: 320px; }
	.zs-product-hero__visual .zs-machine-blueprint { min-height: 300px; }
	.zs-product-hero__label { left: 0; bottom: 0; }
	.zs-detail-block { margin-top: 48px; }
	.zs-check-grid, .zs-option-grid { grid-template-columns: 1fr; }
	.zs-spec-card { padding: 23px 20px; }
	.zs-page-hero { padding: 55px 0 50px; }
	.zs-page__body { padding-top: 50px; padding-bottom: 60px; }
	.zs-footer-cta { padding: 45px 0; }
	.zs-footer { padding-top: 48px; }
	.zs-footer__grid { display: flex; flex-direction: column; gap: 0; }
	.zs-footer__brand { padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.09); }
	.zs-footer__brand .zs-brand { margin-bottom: 14px; }
	.zs-footer__brand > p { display: none; }
	.zs-footer__badges span { padding: 6px 9px; }
	.zs-footer__brand .zs-footer__qr.zs-footer__qr { display: none; }
	.zs-footer__contact .zs-footer__qr--mobile { display: flex; align-items: center; gap: 12px; margin: 14px 0 4px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); border-radius: 10px; }
	.zs-footer__qr--mobile img { flex: 0 0 auto; width: 72px; height: 72px; padding: 6px; background: #fff; border-radius: 8px; object-fit: contain; }
	.zs-footer__qr--mobile figcaption { display: flex; flex-direction: column; gap: 5px; margin: 0; color: rgba(255,255,255,.72); font-size: .78rem; }
	.zs-footer__qr--mobile strong { color: #fff; font-size: .9rem; }
	.zs-footer__qr--mobile span { color: #64dc92; font-weight: 700; }
	.zs-footer__column { border-bottom: 1px solid rgba(255,255,255,.09); }
	.zs-footer__column .zs-footer__heading { margin: 0; }
	.zs-footer__toggle { min-height: 52px; justify-content: space-between; cursor: pointer; }
	.zs-footer__toggle svg { display: block; width: 15px; height: 15px; color: #64dc92; transform: rotate(90deg); transition: transform .25s ease; }
	.zs-footer__column.is-open .zs-footer__toggle svg { transform: rotate(-90deg); }
	html.zs-js .zs-footer__panel { max-height: 0; padding: 0; overflow: hidden; visibility: hidden; opacity: 0; transition: max-height .3s ease, opacity .2s ease, visibility .3s ease; }
	html.zs-js .zs-footer__column.is-open .zs-footer__panel { max-height: 980px; padding-bottom: 18px; visibility: visible; opacity: 1; }
	.zs-footer__panel .zs-footer__menu li:first-child { margin-top: 0; }
	.zs-footer__panel .zs-footer__menu li:last-child { margin-bottom: 0; }
	.zs-footer__contact .zs-footer__panel { display: block; }
	.zs-footer__bottom { flex-direction: column; gap: 5px; margin-top: 24px; padding: 16px 0; font-size: .72rem; }
	.zs-404 { min-height: 520px; }
	.zs-404__code { margin-bottom: -10px; }
}

/* Responsive: compact phone */
@media (max-width: 520px) {
	.zs-topbar__right .zs-topbar__hours, .zs-topbar__contacts a:first-of-type { display: none; }
	.zs-topbar__inner { min-height: 36px; }
	.zs-language-switcher select { min-height: 26px; }
	.zs-brand__copy small { display: none; }
	.zs-mobile-nav { max-height: calc(100vh - 176px); }
	.zs-stats__grid { grid-template-columns: 1fr 1fr; }
	.zs-stat { padding: 21px 10px; }
	.zs-stat strong { font-size: 1.6rem; }
	.zs-stat span { font-size: .74rem; text-align: center; }
	.zs-section-head h2 { font-size: 1.72rem; }
	.zs-hero h1 { font-size: 2.25rem; }
	.zs-hero h1 em { font-size: .49em; }
	.zs-footer__grid { grid-template-columns: 1fr; gap: 0; }
	.zs-footer__brand, .zs-footer__contact { grid-column: auto; }
	.zs-footer-cta__actions { width: 100%; }
	.zs-footer-cta__actions .zs-btn { width: 100%; }
	.zs-404__actions .zs-btn { width: 100%; }
	.zs-pagination a, .zs-pagination span { min-width: 38px; height: 38px; padding: 0 9px; }
}

@media (max-width: 1280px) {
	.zs-contact-quick__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.zs-contact-location .zs-container { grid-template-columns: 1fr; gap: 42px; }
	.zs-contact-location__info > p { max-width: 720px; }
}
@media (max-width: 700px) {
	.zs-contact-hero { padding: 58px 0 76px; }
	.zs-contact-hero h1 { font-size: 2.1rem; }
	.zs-contact-hero__stats { gap: 18px 30px; margin-top: 30px; padding-top: 20px; }
	.zs-contact-quick { margin-top: -34px; }
	.zs-contact-quick__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.zs-contact-quick__card { min-height: 96px; padding: 17px 15px; gap: 11px; }
	.zs-contact-quick__icon { width: 42px; height: 42px; }
	.zs-contact-form-section .zs-section-head { margin-bottom: 28px; }
	.zs-contact-qr-card { gap: 16px; padding: 18px; }
	.zs-contact-qr-card img { width: 110px; height: 110px; }
	.zs-contact-map-section { padding-bottom: 62px; }
	.zs-contact-map-card { min-height: 280px; padding: 30px 24px; }
}
@media (max-width: 520px) {
	.zs-contact-hero h1 { font-size: 1.92rem; }
	.zs-contact-hero > .zs-container > p { font-size: .95rem; }
	.zs-contact-hero__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
	.zs-contact-hero__actions .zs-btn { width: 100%; padding-left: 12px; padding-right: 12px; font-size: .82rem; }
	.zs-contact-hero__actions .zs-btn:last-child { grid-column: 1 / -1; }
	.zs-contact-hero__stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; text-align: center; }
	.zs-contact-hero__stats strong { font-size: 1.25rem; }
	.zs-contact-hero__stats span { font-size: .68rem; }
	.zs-contact-quick__grid { grid-template-columns: 1fr; }
	.zs-contact-quick__card { min-height: 88px; }
	.zs-contact-qr-card { flex-direction: column; align-items: flex-start; }
	.zs-contact-map-card { min-height: 250px; padding: 26px 20px; }
}

/* WordPress and plugin compatibility */
body.admin-bar .zs-header { top: 32px; }
.zs-header.is-scrolled { top: 0; }
body.admin-bar .zs-header.is-scrolled { top: 32px; }
.voxfor-language-switcher, .voxfor-ml-language-switcher, .voxfor-language-switcher-wrap { max-width: 100%; }
.zs-language-switcher .voxfor-language-switcher { color: #fff; }
.zs-language-switcher .voxfor-language-switcher select { color: #fff; }
.zs-language-switcher .voxfor-language-switcher a { color: #fff; }
.wp-block-button__link { border-radius: var(--zs-radius); }
.alignwide { width: min(1440px, calc(100vw - 40px)); max-width: none; margin-left: auto; margin-right: auto; }
.alignfull { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}@media (min-width: 783px) {
	body.admin-bar .zs-header,
	body.admin-bar .zs-header.is-scrolled { top: 32px; }
}
@media (max-width: 782px) {
	body.admin-bar .zs-header,
	body.admin-bar .zs-header.is-scrolled { top: 46px; }
}

/* ------------------------------------------------------------------
   首页主视觉轮播图（主题设置 → 轮播图）
   ------------------------------------------------------------------ */
.zs-hero--carousel { display: block; align-items: stretch; min-height: 0; }
.zs-slides { position: relative; }
.zs-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility .8s ease; }
.zs-slide.is-active { position: relative; opacity: 1; visibility: visible; }
.zs-slide__media,
.zs-slide__overlay { position: absolute; inset: 0; }
.zs-slide__media { background-color: #061722; background-position: center; background-size: cover; transform: scale(1.04); }
.zs-slide.is-active .zs-slide__media { animation: zs-slide-pan 10s ease-out both; }
.zs-slide__media--built { background: radial-gradient(circle at 78% 45%, rgba(35,164,83,.38), transparent 27%), radial-gradient(circle at 18% 78%, rgba(32,111,160,.28), transparent 30%), linear-gradient(135deg,#071925 0%,#0c2638 52%,#071923 100%); }
.zs-slide__media--built::before { content: ""; position: absolute; inset: 0; opacity: .24; background-image: linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.09) 1px, transparent 1px); background-size: 58px 58px; transform: perspective(440px) rotateX(54deg) scale(1.4) translateY(10%); transform-origin: bottom; }
.zs-slide__media--built span { position: absolute; right: -8%; bottom: -12%; width: 60%; height: 50%; border: 1px solid rgba(255,255,255,.14); background: linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,0)); clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%, 0 46%); }
.zs-slide__overlay { background: linear-gradient(90deg, rgba(3,15,24,.94) 0%, rgba(3,17,27,.80) 44%, rgba(3,17,27,.26) 78%, rgba(3,17,27,.38) 100%); }
.zs-slide__inner { position: relative; z-index: 2; display: flex; align-items: center; min-height: 620px; padding-top: 96px; padding-bottom: 104px; }
.zs-slide__copy { max-width: 720px; }
.zs-slide h1,
.zs-slide h2 { margin-bottom: 22px; color: #fff; font-size: clamp(2.6rem,4.6vw,4.2rem); line-height: 1.06; letter-spacing: -.045em; }
.zs-slide h1 em,
.zs-slide h2 em { display: block; margin-top: 12px; color: #68df95; font-style: normal; font-size: .52em; letter-spacing: .02em; }
.zs-slide__copy > p { max-width: 620px; margin-bottom: 30px; color: rgba(255,255,255,.78); font-size: 1.06rem; }
.zs-slide.is-active .zs-slide__copy { animation: zs-slide-rise .9s ease both; }
@keyframes zs-slide-pan { from { transform: scale(1.08); } to { transform: scale(1); } }
@keyframes zs-slide-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

.zs-hero__nav { position: absolute; top: 50%; z-index: 4; display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; margin-top: -27px; padding: 0; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; background: rgba(6,23,34,.42); color: #fff; cursor: pointer; transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.zs-hero__nav:hover,
.zs-hero__nav:focus-visible { background: #20a653; border-color: transparent; transform: scale(1.05); }
.zs-hero__nav .zs-icon { width: 22px; height: 22px; }
.zs-hero__nav--prev { left: 26px; }
.zs-hero__nav--next { right: 26px; }
.zs-hero__nav--prev .zs-icon { transform: rotate(180deg); }

.zs-hero__dots { position: absolute; right: 0; bottom: 30px; left: 0; z-index: 4; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.zs-hero__dot { width: 34px; height: 4px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.34); cursor: pointer; transition: width .25s ease, background .25s ease; }
.zs-hero__dot.is-active { width: 54px; background: #20a653; }
.zs-hero__dot:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

@media (max-width: 1200px) {
	.zs-slide__inner { min-height: 580px; }
	.zs-hero__nav--prev { left: 14px; }
	.zs-hero__nav--next { right: 14px; }
}
@media (max-width: 900px) {
	.zs-slide__inner { min-height: 540px; padding-top: 84px; padding-bottom: 96px; }
	.zs-slide__copy { max-width: 640px; }
	.zs-hero__nav { width: 46px; height: 46px; margin-top: -23px; }
}
@media (max-width: 700px) {
	.zs-slide__inner { min-height: 480px; padding-top: 72px; padding-bottom: 88px; }
	.zs-slide h1,
	.zs-slide h2 { font-size: clamp(2.1rem,7.4vw,3rem); }
	.zs-slide__copy > p { font-size: .98rem; }
	.zs-slide__copy .zs-hero__actions { align-items: stretch; }
	.zs-slide__copy .zs-hero__actions .zs-btn { flex: 1 1 100%; }
	.zs-hero__nav { display: none; }
	.zs-hero__dots { bottom: 22px; }
	.zs-hero__dot { width: 26px; }
	.zs-hero__dot.is-active { width: 40px; }
}
@media (prefers-reduced-motion: reduce) {
	.zs-slide.is-active .zs-slide__media,
	.zs-slide.is-active .zs-slide__copy { animation: none; }
}

/* ===== 主题设置：Logo / 画廊 / 悬浮微信 ===== */
.zs-logo { display: inline-flex; align-items: center; min-width: 0; max-width: 100%; }
.zs-logo__pc { display: block; width: auto; max-width: 280px; max-height: 70px; }
.zs-logo__mobile { display: none; width: auto; max-width: min(180px, calc(100vw - 206px)); max-height: 45px; }
.zs-brand-wrap .zs-logo img { height: auto; }

.zs-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; margin-top: 28px; }
.zs-gallery-item { margin: 0; background: #fff; border: 1px solid var(--zs-line); border-radius: 6px; overflow: hidden; box-shadow: 0 10px 26px rgba(8,28,43,.06); }
.zs-gallery-item img { display: block; width: 100%; height: 190px; object-fit: cover; background: #f4f6f8; }
.zs-gallery-item figcaption { padding: 12px 14px; color: #46545e; font-size: .82rem; font-weight: 700; text-align: center; }
.zs-gallery--certificates .zs-gallery-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.zs-gallery--certificates .zs-gallery-item img { height: 300px; object-fit: contain; padding: 10px; background: #fff; }
.zs-gallery--snapshots .zs-gallery-item img { height: 210px; }
.zs-gallery-item__link { position: relative; display: block; }
.zs-gallery-item__link::after { content: "\2197"; position: absolute; right: 8px; bottom: 8px; display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; color: #fff; background: rgba(8,28,43,.66); border-radius: 4px; font-size: .82rem; line-height: 1; opacity: 0; transition: opacity .25s ease; }
.zs-gallery-item:hover .zs-gallery-item__link::after { opacity: 1; }
.zs-gallery-grid--centered { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.zs-gallery-grid--centered .zs-gallery-item { width: min(320px, 100%); }

.zs-footer__brand .zs-footer__qr { display: flex; align-items: center; gap: 14px; max-width: 430px; margin: 20px 0 0; padding: 12px 14px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); border-radius: 10px; }
.zs-footer__brand .zs-footer__qr img { flex: 0 0 auto; width: 96px; height: 96px; padding: 6px; background: #fff; border-radius: 8px; object-fit: contain; }
.zs-footer__brand .zs-footer__qr figcaption { display: flex; flex-direction: column; gap: 5px; margin: 0; color: rgba(255,255,255,.72); font-size: .78rem; }
.zs-footer__brand .zs-footer__qr strong { color: #fff; font-size: .9rem; }
.zs-footer__brand .zs-footer__qr span { color: #64dc92; font-weight: 700; }
.zs-footer__brand .zs-footer__qr em { color: rgba(255,255,255,.5); font-size: .74rem; font-style: normal; line-height: 1.5; }
.zs-footer__qr--mobile { display: none; }
.zs-footer__map { display: inline-flex; align-items: center; gap: 8px; }

@media (max-width: 782px) {
	.zs-logo__pc { display: none; }
	.zs-logo__mobile { display: block; }
	.zs-gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.zs-gallery-item img { height: 140px; }
	.zs-gallery--certificates .zs-gallery-item img { height: 190px; }
}
.zs-footer__map-embed { margin-top: 14px; border-radius: 6px; overflow: hidden; }
.zs-footer__map-embed iframe { display: block; width: 100%; max-width: 320px; height: 180px; border: 0; }

/* ===== 移动端「联系我们」弹出面板 ===== */
.zs-contact-sheet { position: fixed; inset: 0; z-index: 1200; visibility: hidden; transition: visibility 0s linear .34s; }
.zs-contact-sheet.is-open { visibility: visible; transition-delay: 0s; }
.zs-contact-sheet__backdrop { position: absolute; inset: 0; background: rgba(4,16,25,.55); opacity: 0; transition: opacity .3s ease; }
.zs-contact-sheet.is-open .zs-contact-sheet__backdrop { opacity: 1; }
.zs-contact-sheet__panel { position: absolute; left: 0; right: 0; bottom: 0; max-height: 88vh; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 10px 20px calc(18px + env(safe-area-inset-bottom)); background: #fff; border-radius: 20px 20px 0 0; box-shadow: 0 -18px 46px rgba(4,16,25,.28); transform: translateY(102%); transition: transform .34s cubic-bezier(.22,.61,.36,1); }
.zs-contact-sheet.is-open .zs-contact-sheet__panel { transform: translateY(0); }
.zs-contact-sheet__grip { display: block; width: 44px; height: 4px; margin: 2px auto 12px; border-radius: 999px; background: #dfe3e6; }
.zs-contact-sheet__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--zs-line); }
.zs-contact-sheet__head h2 { margin: 0; font-size: 1.06rem; color: var(--zs-navy); letter-spacing: 0; }
.zs-contact-sheet__close { flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #f2f5f7; color: #5b6b76; cursor: pointer; }
.zs-contact-sheet__close svg { width: 16px; height: 16px; }
.zs-contact-sheet__list { margin: 0 0 16px; padding: 0; list-style: none; }
.zs-contact-sheet__list li { display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; border-bottom: 1px solid #f2f4f6; }
.zs-contact-sheet__list li:last-child { border-bottom: 0; }
.zs-contact-sheet__list > li > svg { flex: 0 0 auto; box-sizing: content-box; width: 18px; height: 18px; padding: 10px; border-radius: 12px; background: var(--zs-green-soft); color: var(--zs-green-dark); }
.zs-contact-sheet__text { flex: 1 1 auto; min-width: 0; }
.zs-contact-sheet__label { display: block; margin-bottom: 3px; color: #72818a; font-size: .72rem; font-style: normal; font-weight: 800; letter-spacing: .04em; }
.zs-contact-sheet__value { display: block; color: var(--zs-navy); font-size: .92rem; font-weight: 700; line-height: 1.5; word-break: break-word; }
.zs-contact-sheet__value a { color: var(--zs-navy); }
.zs-contact-sheet__value a:hover { color: var(--zs-green); }
.zs-contact-sheet__copy { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; padding: 7px 13px; border: 1px solid var(--zs-green); border-radius: 999px; background: #fff; color: var(--zs-green-dark); font-size: .74rem; font-weight: 800; cursor: pointer; }
.zs-contact-sheet__copy svg { width: 14px; height: 14px; }
.zs-contact-sheet__copy:active { background: var(--zs-green-soft); }
.zs-contact-sheet__map { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; border-radius: 14px; background: linear-gradient(135deg, #2fbf63, #14813c); color: #fff; font-size: .95rem; font-weight: 800; box-shadow: 0 14px 28px rgba(20,129,60,.32); }
.zs-contact-sheet__map:hover, .zs-contact-sheet__map:focus { background: var(--zs-green-dark); color: #fff; }
.zs-contact-sheet__map svg { width: 18px; height: 18px; }
.zs-toast { position: fixed; left: 50%; bottom: calc(92px + env(safe-area-inset-bottom)); z-index: 1300; max-width: calc(100% - 40px); padding: 11px 18px; border-radius: 999px; background: rgba(4,16,25,.94); color: #fff; font-size: .8rem; font-weight: 700; text-align: center; opacity: 0; transform: translate(-50%, 12px); transition: opacity .22s ease, transform .22s ease; pointer-events: none; }
.zs-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
body.zs-sheet-open { overflow: hidden; }

/* 移动端：品牌区可收缩，保证语言按钮与汉堡菜单并排在一行不溢出 */
@media (max-width: 1280px) {
	.zs-brand-wrap { flex: 1 1 auto; min-width: 0; }
	.zs-brand { min-width: 0; max-width: 100%; }
	.zs-brand__copy { min-width: 0; }
	.zs-brand__copy strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.zs-header__actions { flex: 0 0 auto; }
	.zs-header-lang { flex: 0 0 auto; }
}

@media (max-width: 700px) {
	.zs-header__inner { gap: 10px; }
	.zs-header__actions { gap: 6px; }
	.zs-brand__mark { width: 34px; height: 34px; }
	.zs-brand__copy strong { font-size: .86rem; }
	.zs-header-lang .zs-lang__toggle { gap: 6px; padding: 3px 8px; font-size: .72rem; }
	.zs-header-lang .zs-lang__flag { width: 18px; height: 13px; }
	.zs-header-lang .zs-lang__caret { width: 12px; height: 12px; }
	.zs-header-lang .zs-lang__current { max-width: 74px; }
}
/* ===== Homepage about section ===== */
.zs-about { background: #fff; }
.zs-about__head { margin-bottom: 54px; }
.zs-about__grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 70px; align-items: center; }
.zs-about__media { position: relative; min-height: 500px; }
.zs-about__img { position: absolute; inset: 0 38px 38px 0; overflow: hidden; background: #0d2537; clip-path: polygon(0 4%, 95% 0, 100% 94%, 8% 100%); }
.zs-about__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(6,25,40,.02) 35%, rgba(6,25,40,.42)); pointer-events: none; }
.zs-about__img img { width: 100%; height: 100%; object-fit: cover; }
.zs-about__badge { position: absolute; left: -18px; bottom: 8px; z-index: 2; display: flex; flex-direction: column; padding: 18px 24px; color: #fff; background: var(--zs-green); box-shadow: 0 18px 38px rgba(35,164,83,.28); }
.zs-about__badge strong { font-size: 1.5rem; line-height: 1; letter-spacing: .01em; white-space: nowrap; }
.zs-about__badge span { margin-top: 4px; font-size: .78rem; font-weight: 700; }
.zs-about__stamp { position: absolute; right: 0; top: 22px; z-index: 2; width: 112px; height: 112px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--zs-navy); background: #fff; border: 1px solid var(--zs-line); box-shadow: var(--zs-shadow); text-align: center; font-size: .72rem; font-weight: 800; }
.zs-about__stamp svg { width: 28px; height: 28px; color: var(--zs-green); }
.zs-about__content h3 { margin: 0 0 18px; font-size: clamp(1.35rem,2vw,1.7rem); }
.zs-about__content > p,
.zs-about__text { margin: 0 0 22px; color: var(--zs-muted); font-size: 1.02rem; }
.zs-about__text p { margin: 0 0 15px; }
.zs-about__text p:last-child { margin-bottom: 0; }
.zs-about__points { margin: 0 0 30px; padding: 0; list-style: none; border-top: 1px solid var(--zs-line); }
.zs-about__points li { display: flex; align-items: flex-start; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--zs-line); color: var(--zs-muted); font-size: .92rem; }
.zs-about__points svg { width: 20px; height: 20px; margin-top: 3px; color: var(--zs-green); }
.zs-about__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.zs-about__download-note { display: flex; align-items: flex-start; gap: 8px; margin: 14px 0 0; padding: 10px 12px; border: 1px solid #e4eaee; border-left: 3px solid var(--zs-green); border-radius: 8px; background: #f8fbf9; color: var(--zs-muted); font-size: .84rem; line-height: 1.65; }
.zs-about__download-note svg { width: 16px; height: 16px; margin-top: 2px; color: var(--zs-green); }
@media (max-width: 600px) { .zs-about__actions { gap: 10px; } .zs-about__actions .zs-btn { min-height: 44px; } .zs-about__download-note { margin-top: 12px; padding: 9px 10px; font-size: .78rem; line-height: 1.55; } }

@media (max-width: 1280px) {
	.zs-about__grid { grid-template-columns: 1fr; gap: 46px; }
	.zs-about__media { width: 100%; max-width: 720px; min-height: 460px; }
}

@media (max-width: 700px) {
	.zs-about__media { min-height: 340px; }
	.zs-about__img { inset: 0 18px 30px 0; }
	.zs-about__stamp { width: 88px; height: 88px; font-size: .62rem; }
	.zs-about__badge { left: -6px; padding: 15px 18px; }
	.zs-about__badge strong { font-size: 1.25rem; }
	.zs-about__content h3 { font-size: 1.25rem; }
	.zs-about__actions .zs-btn { width: 100%; }
}

/* ---------- 为什么选择我们 ---------- */

.zs-why { position: relative; overflow: hidden; background: #fff; }
.zs-why::before { content: ""; position: absolute; right: -130px; top: -120px; width: 430px; height: 430px; border-radius: 50%; background: radial-gradient(circle, rgba(35,164,83,.10), rgba(35,164,83,0) 70%); pointer-events: none; }
.zs-why::after { content: ""; position: absolute; left: -150px; bottom: -180px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(8,28,43,.05), rgba(8,28,43,0) 72%); pointer-events: none; }
.zs-why > .zs-container { position: relative; z-index: 2; }
.zs-why__head { margin-bottom: 46px; }
.zs-why__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.zs-why__card { position: relative; padding: 30px 28px 32px; overflow: hidden; background: var(--zs-soft); border: 1px solid var(--zs-line); transition: transform .3s ease, border-color .3s ease, background-color .3s ease, box-shadow .3s ease; }
.zs-why__card::before { content: ""; position: absolute; left: 0; top: 0; width: 3px; height: 0; background: var(--zs-green); transition: height .35s ease; }
.zs-why__card:hover { transform: translateY(-5px); background: #fff; border-color: rgba(35,164,83,.45); box-shadow: 0 18px 42px rgba(8,28,43,.09); }
.zs-why__card:hover::before { height: 100%; }
.zs-why__card > span { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; color: var(--zs-green-dark); background: var(--zs-green-soft); border: 1px solid rgba(35,164,83,.16); }
.zs-why__card > span svg { width: 24px; height: 24px; }
.zs-why__card h3 { margin: 20px 0 10px; font-size: 1.1rem; }
.zs-why__card p { margin: 0; color: var(--zs-muted); font-size: .9rem; }
.zs-why__cta { display: flex; align-items: center; justify-content: space-between; gap: 26px; flex-wrap: wrap; margin-top: 30px; padding: 24px 30px; background: linear-gradient(120deg, var(--zs-green-soft), #fff 68%); border: 1px solid var(--zs-line); border-left: 3px solid var(--zs-green); }
.zs-why__cta p { margin: 0; color: var(--zs-navy); font-size: .96rem; }
.zs-why__cta .zs-btn { flex: 0 0 auto; }

@media (max-width: 1280px) {
	.zs-why__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.zs-why__head { margin-bottom: 34px; }
}

@media (max-width: 700px) {
	.zs-why__grid { grid-template-columns: 1fr; gap: 12px; }
	.zs-why__card { padding: 24px 22px 26px; }
	.zs-why__card h3 { margin-top: 16px; }
	.zs-why__cta { padding: 20px 22px; margin-top: 22px; }
	.zs-why__cta .zs-btn { width: 100%; }
}

/* FAQ intro button spacing */
.zs-faq__intro .zs-btn { margin-top: 10px; }

@media (max-width: 700px) {
	.zs-faq__intro .zs-btn { width: 100%; margin-top: 14px; }
}

/* FAQ: article links */
.zs-faq-item__more { color: var(--zs-green-dark); font-weight: 800; white-space: nowrap; }
.zs-faq-item__more:hover { color: var(--zs-green); }
.zs-faq__all { margin-top: 20px; }

/* FAQ: desktop 4 rows x 2 columns */
.zs-faq__grid { display: block; }
.zs-faq__intro {
	position: static;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, .95fr);
	align-items: end;
	gap: 10px 72px;
	margin-bottom: 38px;
}
.zs-faq__heading { grid-column: 1; grid-row: 1 / span 2; min-width: 0; }
.zs-faq__heading .zs-eyebrow { margin-bottom: 12px; }
.zs-faq__heading h2 { margin: 0; }
.zs-faq__lead { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; min-width: 0; }
.zs-faq__lead p { margin: 0 0 18px; color: var(--zs-muted); }
.zs-faq__lead .zs-btn { margin-top: 0; }
.zs-faq__items { min-width: 0; }
.zs-faq__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 18px;
	align-items: start;
	border-top: 0;
}
.zs-faq-item {
	position: relative;
	min-width: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--zs-line);
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(8,28,43,.045);
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.zs-faq-item:hover {
	border-color: rgba(35,164,83,.38);
	box-shadow: 0 12px 30px rgba(8,28,43,.08);
	transform: translateY(-2px);
}
.zs-faq-item[open] {
	border-color: rgba(35,164,83,.52);
	box-shadow: 0 14px 34px rgba(8,28,43,.1);
}
.zs-faq-item summary {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr) 20px;
	align-items: center;
	gap: 14px;
	min-height: 82px;
	padding: 20px 20px 20px 18px;
	font-size: 1rem;
	line-height: 1.55;
}
.zs-faq-item[open] summary { border-bottom: 1px solid var(--zs-line); }
.zs-faq-item summary svg { position: static; right: auto; width: 18px; height: 18px; }
.zs-faq-item__question { min-width: 0; overflow-wrap: anywhere; }
.zs-faq-item__number {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	color: var(--zs-green-dark);
	background: var(--zs-green-soft);
	border-radius: 50%;
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: .04em;
}
.zs-faq-item[open] .zs-faq-item__number { color: #fff; background: var(--zs-green); }
.zs-faq-item p { margin: 0; padding: 17px 22px 22px 72px; color: var(--zs-muted); font-size: .9rem; line-height: 1.75; }
.zs-faq__all { display: flex; width: max-content; min-width: 190px; margin: 24px auto 0; }

@media (max-width: 1280px) {
	.zs-faq__intro { grid-template-columns: 1fr; gap: 18px; margin-bottom: 30px; }
	.zs-faq__heading { grid-row: auto; }
	.zs-faq__lead { max-width: 720px; }
}

@media (max-width: 700px) {
	.zs-faq__intro { margin-bottom: 26px; }
	.zs-faq__lead { display: block; }
	.zs-faq__lead p { margin-bottom: 16px; }
	.zs-faq__lead .zs-btn { width: 100%; margin-top: 0; }
	.zs-faq__list { grid-template-columns: 1fr; gap: 12px; }
	.zs-faq-item summary { grid-template-columns: 36px minmax(0, 1fr) 18px; gap: 12px; min-height: 0; padding: 16px 15px; }
	.zs-faq-item__number { width: 36px; height: 36px; }
	.zs-faq-item p { padding: 15px 17px 18px 63px; }
	.zs-faq__all { width: 100%; justify-content: center; margin-top: 18px; }
}

/* Single FAQ article */
.zs-post--faq .zs-page-hero { padding-bottom: 78px; }
.zs-post--faq .zs-page-hero::before {
	content: "";
	position: absolute;
	right: -125px;
	bottom: -190px;
	width: 430px;
	height: 430px;
	border: 70px solid rgba(35,164,83,.12);
	border-radius: 50%;
}
.zs-post--faq .zs-page-hero h1 { max-width: 1040px; }
.zs-post-hero__meta {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 24px;
	margin-top: 22px;
	color: rgba(255,255,255,.65);
	font-size: .8rem;
	font-weight: 700;
}
.zs-post-hero__meta span { display: inline-flex; align-items: center; gap: 8px; }
.zs-post-hero__meta svg { width: 17px; height: 17px; color: #72dd98; }

.zs-post__layout--faq {
	grid-template-columns: minmax(0,1fr) 320px;
	gap: 34px;
	align-items: start;
	padding-top: 52px;
	padding-bottom: 95px;
}
.zs-content--faq {
	padding: 44px 48px 48px;
	background: #fff;
	border: 1px solid var(--zs-line);
	border-top: 4px solid var(--zs-green);
	border-radius: 6px;
	box-shadow: 0 18px 50px rgba(8,28,43,.07);
}
.zs-content--faq > *:first-child { margin-top: 0; }
.zs-faq-article__label {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 28px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--zs-line);
}
.zs-faq-article__label > span {
	width: 50px;
	height: 50px;
	display: grid;
	place-items: center;
	color: #fff;
	background: var(--zs-green);
	border-radius: 50%;
	box-shadow: 0 10px 22px rgba(35,164,83,.25);
}
.zs-faq-article__label > span svg { width: 24px; height: 24px; }
.zs-faq-article__label small { display: block; color: var(--zs-green-dark); font-size: .7rem; font-weight: 900; letter-spacing: .16em; }
.zs-faq-article__label strong { display: block; color: var(--zs-navy); font-size: 1.2rem; line-height: 1.3; }
.zs-content--faq p { color: var(--zs-muted); font-size: 1.03rem; line-height: 1.9; }
.zs-content--faq p:last-child { margin-bottom: 0; }
.zs-faq-article__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-top: 38px;
	padding: 24px 28px;
	background: linear-gradient(120deg,var(--zs-green-soft),#fff 72%);
	border: 1px solid rgba(35,164,83,.2);
	border-left: 4px solid var(--zs-green);
	border-radius: 4px;
}
.zs-faq-article__cta strong { display: block; margin-bottom: 4px; color: var(--zs-navy); font-size: 1rem; }
.zs-faq-article__cta p { margin: 0; font-size: .88rem; line-height: 1.65; }
.zs-post__aside--faq {
	position: sticky;
	top: 110px;
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 0;
	background: transparent;
	border: 0;
}
.zs-faq-contact-card {
	padding: 30px 26px;
	color: rgba(255,255,255,.72);
	background: linear-gradient(145deg,var(--zs-navy),#123b55);
	border-top: 4px solid var(--zs-green);
	border-radius: 6px;
	box-shadow: 0 18px 42px rgba(8,28,43,.14);
}
.zs-faq-contact-card__icon {
	width: 58px;
	height: 58px;
	display: grid;
	place-items: center;
	margin-bottom: 18px;
	color: #fff;
	background: var(--zs-green);
	border-radius: 50%;
	box-shadow: 0 10px 24px rgba(35,164,83,.28);
}
.zs-faq-contact-card__icon svg { width: 27px; height: 27px; }
.zs-faq-contact-card h3 { margin: 0 0 12px; color: #fff; font-size: 1.25rem; }
.zs-faq-contact-card p { margin: 0 0 20px; color: rgba(255,255,255,.68); font-size: .88rem; line-height: 1.75; }
.zs-faq-contact-card .zs-btn { width: 100%; }
.zs-faq-contact-card__all { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 18px; color: #8ce5ad; font-size: .86rem; font-weight: 800; }
.zs-faq-contact-card__all:hover { color: #fff; }
.zs-faq-related { padding: 26px 24px; background: #fff; border: 1px solid var(--zs-line); border-radius: 6px; box-shadow: 0 12px 32px rgba(8,28,43,.045); }
.zs-faq-related h3 { margin: 0 0 14px; font-size: 1rem; }
.zs-faq-related ul { margin: 0; padding: 0; list-style: none; }
.zs-faq-related li + li { border-top: 1px solid var(--zs-line); }
.zs-faq-related a { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 12px 0; color: #394a55; font-size: .86rem; font-weight: 700; line-height: 1.55; }
.zs-faq-related a:hover { color: var(--zs-green-dark); }
.zs-faq-related a svg { width: 16px; height: 16px; margin-top: 4px; color: var(--zs-green); }

@media (max-width: 1280px) {
	.zs-post__layout--faq { grid-template-columns: 1fr; gap: 24px; }
	.zs-post__aside--faq { position: static; display: grid; grid-template-columns: 1fr 1fr; }
	.zs-faq-related { height: 100%; }
}
@media (max-width: 700px) {
	.zs-content--faq { padding: 28px 22px 30px; }
	.zs-faq-article__label > span { width: 44px; height: 44px; }
	.zs-faq-article__label > span svg { width: 21px; height: 21px; }
	.zs-faq-article__cta { align-items: flex-start; padding: 20px; }
	.zs-faq-article__cta .zs-btn { width: 100%; }
	.zs-post__aside--faq { grid-template-columns: 1fr; }
	.zs-faq-contact-card { padding: 26px 22px; }
}

/* FAQ archive page */
.zs-faq-archive__bar { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 20px 26px; margin-bottom: 26px; background: #fff; border: 1px solid var(--zs-line); border-left: 4px solid var(--zs-green); border-radius: 6px; box-shadow: 0 10px 28px rgba(8,28,43,.05); }
.zs-faq-archive__bar p { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin: 0; color: var(--zs-muted); font-size: .94rem; }
.zs-faq-archive__bar strong { color: var(--zs-navy); font-size: 1.02rem; }
.zs-faq-archive__bar .zs-btn { flex: 0 0 auto; min-height: 44px; }
.zs-faq-archive__list { margin-top: 0; }
.zs-faq-archive__help { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); align-items: center; gap: 30px 56px; margin-top: 56px; padding: 42px 46px; border-radius: 8px; background: linear-gradient(120deg, var(--zs-navy), var(--zs-navy-2)); }
.zs-faq-archive__help .zs-eyebrow { color: #7fd3a0; }
.zs-faq-archive__help h2 { margin: 0 0 12px; color: #fff; font-size: 1.55rem; }
.zs-faq-archive__help p { margin: 0; color: rgba(255,255,255,.72); }
.zs-faq-archive__help-actions { display: grid; gap: 14px; justify-items: start; }
.zs-faq-archive__help-actions .zs-btn { width: 100%; }
.zs-faq-archive__contact { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-weight: 700; }
.zs-faq-archive__contact svg { width: 18px; height: 18px; color: #7fd3a0; }
.zs-faq-archive__contact:hover { color: #7fd3a0; }
@media (max-width: 1280px) {
	.zs-faq-archive__help { grid-template-columns: 1fr; gap: 26px; padding: 34px; }
}
@media (max-width: 700px) {
	.zs-faq-archive__bar { flex-direction: column; align-items: flex-start; gap: 16px; padding: 18px 18px 20px; }
	.zs-faq-archive__bar .zs-btn { width: 100%; }
	.zs-faq-archive__help { padding: 28px 22px; margin-top: 40px; }
	.zs-faq-archive__help h2 { font-size: 1.3rem; }
}
/* Home: "view all" button under section grids */
.zs-home__all { display: flex; justify-content: center; width: max-content; min-width: 210px; margin: 34px auto 0; }
@media (max-width: 700px) {
	.zs-home__all { width: 100%; margin-top: 24px; }
	.zs-home__all .zs-btn { width: 100%; }
}

/* Inquiry contact: email / phone / WhatsApp / WeChat cards */
.zs-inquiry-contact__list { gap: 10px; }
@media (max-width: 700px) {
	.zs-inquiry-contact__list { grid-template-columns: 1fr 1fr; gap: 8px; }
	.zs-inquiry-contact__item { padding: 9px 10px; }
	.zs-inquiry-contact__icon { width: 30px; height: 30px; }
	.zs-inquiry-contact__icon svg { width: 15px; height: 15px; }
	.zs-inquiry-contact__body a, .zs-inquiry-contact__body strong { font-size: .8rem; }
}
@media (max-width: 420px) {
	.zs-inquiry-contact__list { grid-template-columns: 1fr; }
}

/* ===== PC 右侧悬浮按钮条（WhatsApp + 返回顶部连成一体） ===== */
.zs-float-bar { position: fixed; right: 22px; top: 50%; transform: translateY(-50%); z-index: 950; display: none; flex-direction: column; width: 56px; border-radius: 14px; box-shadow: 0 14px 32px rgba(8,28,43,.3); }
@media (min-width: 1281px) {
	.zs-float-bar { display: flex; }
	.zs-back-top { display: none; }
}
.zs-float-bar__cell { position: relative; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin: 0; padding: 0; border: 0; background: var(--zs-green); color: #fff; cursor: pointer; transition: background-color .2s ease; }
.zs-float-bar__cell:first-child { border-radius: 14px 14px 0 0; }
.zs-float-bar__cell:last-child { border-radius: 0 0 14px 14px; }
.zs-float-bar__cell:only-child { border-radius: 14px; }
.zs-float-bar__cell + .zs-float-bar__cell { border-top: 1px solid rgba(255,255,255,.5); }
.zs-float-bar__cell:hover { background: var(--zs-green-dark); }
.zs-float-bar__link { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: #fff; }
.zs-float-bar__link svg { width: 26px; height: 26px; }
button.zs-float-bar__link { background: none; border: 0; padding: 0; font: inherit; }
.zs-float-bar__copy { width: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.zs-float-bar__copy:hover { text-decoration: underline; }
.zs-float-bar__cell--top svg { width: 22px; height: 22px; transform: rotate(-90deg); }
.zs-float-bar__panel { position: absolute; right: calc(100% + 12px); top: 50%; transform: translateY(-50%); width: 210px; padding: 16px; background: #fff; border: 1px solid var(--zs-line); border-radius: 12px; box-shadow: 0 20px 46px rgba(8,28,43,.22); text-align: center; opacity: 0; pointer-events: none; }
.zs-float-bar__cell--wa:hover .zs-float-bar__panel,
.zs-float-bar__cell--wechat:hover .zs-float-bar__panel { opacity: 1; pointer-events: auto; }
.zs-float-bar__cell:has(.zs-float-bar__link:focus-visible) .zs-float-bar__panel { opacity: 1; pointer-events: auto; }
.zs-float-bar__panel::after { content: ""; position: absolute; right: -7px; top: 50%; margin-top: -6px; width: 12px; height: 12px; background: #fff; border-top: 1px solid var(--zs-line); border-right: 1px solid var(--zs-line); transform: rotate(45deg); }
.zs-float-bar__label { display: block; color: var(--zs-navy); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.zs-float-bar__number { display: block; margin: 6px 0 12px; color: var(--zs-green-dark); font-size: .95rem; font-weight: 800; }
.zs-float-bar__panel img { width: 152px; height: 152px; padding: 6px; background: #fff; border: 1px solid var(--zs-line); border-radius: 8px; object-fit: contain; }
.zs-float-bar__panel p { margin: 10px 0 0; color: #5a6b76; font-size: .76rem; line-height: 1.5; }

/* ===== Case studies archive ===== */
.zs-case-archive__bar { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 20px 26px; margin-bottom: 34px; background: #fff; border: 1px solid var(--zs-line); border-left: 4px solid var(--zs-green); border-radius: 6px; box-shadow: 0 10px 28px rgba(8,28,43,.05); }
.zs-case-archive__bar p { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin: 0; color: var(--zs-muted); font-size: .94rem; }
.zs-case-archive__bar strong { color: var(--zs-navy); font-size: 1.02rem; }
.zs-case-archive__bar .zs-btn { flex: 0 0 auto; min-height: 44px; }
.zs-case-list { display: grid; gap: 30px; }
.zs-case-item { position: relative; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); overflow: hidden; background: #fff; border: 1px solid var(--zs-line); border-radius: 8px; box-shadow: 0 12px 34px rgba(8,28,43,.05); transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.zs-case-item::before { content: ""; position: absolute; left: 0; top: 0; width: 4px; height: 100%; background: var(--zs-green); opacity: 0; transition: opacity .28s ease; }
.zs-case-item:hover { transform: translateY(-4px); border-color: #c3d6cd; box-shadow: 0 22px 48px rgba(8,28,43,.12); }
.zs-case-item:hover::before { opacity: 1; }
.zs-case-item__media { position: relative; display: block; min-height: 330px; overflow: hidden; background: var(--zs-soft); }
.zs-case-item__media > img, .zs-case-item__placeholder { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.zs-case-item__placeholder { display: flex; align-items: center; justify-content: center; color: var(--zs-green); }
.zs-case-item__placeholder svg { width: 58px; height: 58px; }
.zs-case-item:hover .zs-case-item__media > img { transform: scale(1.04); }
.zs-case-item__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,28,43,.34), rgba(8,28,43,0) 46%); pointer-events: none; }
.zs-case-item__no { position: absolute; left: 22px; top: 18px; z-index: 2; color: #fff; font-size: 1.55rem; font-weight: 900; letter-spacing: .04em; text-shadow: 0 6px 18px rgba(8,28,43,.45); }
.zs-case-item__body { display: flex; flex-direction: column; justify-content: center; padding: 44px 48px; }
.zs-case-item__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-bottom: 16px; }
.zs-case-item__tag { display: inline-flex; align-items: center; padding: 5px 12px; color: var(--zs-green-dark); background: rgba(35,164,83,.1); border-radius: 999px; font-size: .7rem; font-weight: 900; letter-spacing: .1em; }
.zs-case-item__date { display: inline-flex; align-items: center; gap: 7px; color: var(--zs-muted); font-size: .78rem; font-weight: 700; }
.zs-case-item__date svg { width: 16px; height: 16px; color: var(--zs-green); }
.zs-case-item__body h2 { margin: 0 0 14px; font-size: 1.42rem; line-height: 1.38; }
.zs-case-item__body h2 a { color: var(--zs-navy); }
.zs-case-item__body h2 a:hover { color: var(--zs-green-dark); }
.zs-case-item__body p { margin: 0 0 24px; color: var(--zs-muted); font-size: .93rem; line-height: 1.85; }
.zs-case-item__link { display: inline-flex; align-items: center; gap: 9px; align-self: flex-start; margin-top: auto; color: var(--zs-green-dark); font-size: .88rem; font-weight: 800; }
.zs-case-item__link svg { width: 17px; height: 17px; transition: transform .25s ease; }
.zs-case-item__link:hover { color: var(--zs-green); }
.zs-case-item__link:hover svg { transform: translateX(4px); }
.zs-case-item:nth-child(even) .zs-case-item__media { order: 2; }
@media (max-width: 1000px) {
	.zs-case-item { grid-template-columns: 1fr; }
	.zs-case-item:nth-child(even) .zs-case-item__media { order: 0; }
	.zs-case-item__media { min-height: 0; aspect-ratio: 16/9; }
	.zs-case-item__body { padding: 34px 36px 38px; }
}
@media (max-width: 700px) {
	.zs-case-archive__bar { flex-direction: column; align-items: flex-start; gap: 16px; padding: 18px 18px 20px; }
	.zs-case-archive__bar .zs-btn { width: 100%; }
	.zs-case-list { gap: 22px; }
	.zs-case-item__media { aspect-ratio: 16/10; }
	.zs-case-item__no { left: 16px; top: 13px; font-size: 1.25rem; }
	.zs-case-item__body { padding: 26px 22px 30px; }
	.zs-case-item__body h2 { font-size: 1.2rem; }
	.zs-case-item__body p { margin-bottom: 20px; font-size: .9rem; }
}

/* ===== News centre hub (公司新闻归档) ===== */
.zs-news-hub__stats { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 22px; color: rgba(255,255,255,.66); font-size: .85rem; font-weight: 700; }
.zs-news-hub__stats strong { margin-right: 4px; color: #fff; font-size: 1.05rem; }
.zs-news-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 34px; }
.zs-news-filter a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; color: var(--zs-navy); background: #fff; border: 1px solid var(--zs-line); border-radius: 999px; font-size: .86rem; font-weight: 800; transition: color .22s ease, border-color .22s ease, background .22s ease; }
.zs-news-filter a span { color: var(--zs-muted); font-size: .76rem; font-weight: 800; }
.zs-news-filter a:hover { color: var(--zs-green-dark); border-color: var(--zs-green); }
.zs-news-filter a.is-active { color: #fff; background: var(--zs-navy); border-color: var(--zs-navy); }
.zs-news-filter a.is-active span { color: rgba(255,255,255,.7); }
.zs-news-filter a.is-active:hover { color: #fff; }
.zs-news-feature { position: relative; overflow: hidden; margin-bottom: 34px; padding: 46px 52px; background: linear-gradient(120deg, var(--zs-navy), var(--zs-navy-2)); border-radius: 8px; box-shadow: 0 20px 46px rgba(8,28,43,.14); }
.zs-news-feature::before { content: ""; position: absolute; left: 0; top: 0; width: 5px; height: 100%; background: var(--zs-green); }
.zs-news-feature::after { content: ""; position: absolute; right: -120px; bottom: -160px; width: 340px; height: 340px; border: 60px solid rgba(255,255,255,.06); border-radius: 50%; pointer-events: none; }
.zs-news-feature__body { position: relative; z-index: 2; display: flex; flex-direction: column; max-width: 940px; }
.zs-news-feature__body h2 { margin: 0 0 16px; font-size: 1.75rem; line-height: 1.42; }
.zs-news-feature__body h2 a { color: #fff; }
.zs-news-feature__body h2 a:hover { color: #7fd3a0; }
.zs-news-feature__body p { margin: 0 0 26px; color: rgba(255,255,255,.74); font-size: .98rem; line-height: 1.85; }
.zs-news-feature .zs-news-card__cat { color: #7fd3a0; background: rgba(35,164,83,.22); }
.zs-news-feature .zs-news-card__date { color: rgba(255,255,255,.62); }
.zs-news-feature .zs-text-link { color: #7fd3a0; }
.zs-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.zs-news-card { display: flex; flex-direction: column; padding: 26px 26px 24px; background: #fff; border: 1px solid var(--zs-line); border-top: 3px solid var(--zs-green); border-radius: 6px; transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease; }
.zs-news-card:hover { transform: translateY(-4px); border-color: #c9dbd2; box-shadow: 0 18px 40px rgba(8,28,43,.1); }
.zs-news-card--case { border-top-color: #0b6aa8; }
.zs-news-card--faq { border-top-color: var(--zs-orange); }
.zs-news-card__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 16px; }
.zs-news-card__cat { display: inline-flex; padding: 4px 11px; color: var(--zs-green-dark); background: rgba(35,164,83,.1); border-radius: 999px; font-size: .68rem; font-weight: 900; letter-spacing: .08em; }
.zs-news-card--case .zs-news-card__cat { color: #0a5c92; background: rgba(11,106,168,.1); }
.zs-news-card--faq .zs-news-card__cat { color: #a85a08; background: rgba(220,123,24,.14); }
.zs-news-card__date { color: var(--zs-muted); font-size: .74rem; font-weight: 700; }
.zs-news-card h3 { margin: 0 0 12px; font-size: 1.06rem; line-height: 1.5; }
.zs-news-card h3 a { color: var(--zs-navy); }
.zs-news-card h3 a:hover { color: var(--zs-green-dark); }
.zs-news-card p { margin: 0 0 20px; color: var(--zs-muted); font-size: .88rem; line-height: 1.8; }
.zs-news-card .zs-text-link { margin-top: auto; font-size: .85rem; }
@media (max-width: 1000px) {
	.zs-news-feature { padding: 36px 34px; }
	.zs-news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
	.zs-news-filter { gap: 8px; margin-bottom: 26px; }
	.zs-news-filter a { padding: 8px 14px; font-size: .8rem; }
	.zs-news-feature { margin-bottom: 26px; padding: 26px 22px; }
	.zs-news-feature__body h2 { font-size: 1.3rem; }
	.zs-news-grid { grid-template-columns: 1fr; gap: 16px; }
	.zs-news-card { padding: 22px 20px 20px; }
}

/* ---------- 关于我们页面 ---------- */

.zs-about-page .zs-about__content h2 { margin-bottom: 6px; }
.zs-about-page .zs-about__content h3 { margin: -4px 0 18px; color: var(--zs-navy); font-size: 1.04rem; font-weight: 800; letter-spacing: .01em; }
.zs-about-page .zs-gallery--snapshots.zs-gallery--about { background: var(--zs-soft); }
.zs-about-cta { position: relative; overflow: hidden; padding: 64px 0; color: rgba(255,255,255,.72); background: radial-gradient(circle at 88% 12%, rgba(35,164,83,.28), transparent 36%), linear-gradient(115deg,#061722,#0a2638 62%,#0b3f32); }
.zs-about-cta::after { content: ""; position: absolute; left: -120px; bottom: -200px; width: 420px; height: 420px; border: 66px solid rgba(255,255,255,.05); border-radius: 50%; pointer-events: none; }
.zs-about-cta__inner { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 34px; flex-wrap: wrap; }
.zs-about-cta__copy { max-width: 640px; }
.zs-about-cta__copy h2 { margin-bottom: 10px; color: #fff; font-size: clamp(1.5rem,2.6vw,2.1rem); }
.zs-about-cta__copy p { margin: 0; color: rgba(255,255,255,.66); }
.zs-about-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }

@media (max-width: 700px) {
	.zs-about-hero .zs-contact-hero__actions .zs-btn:last-child { grid-column: auto; }
	.zs-about-cta { padding: 46px 0; }
	.zs-about-cta__actions { width: 100%; }
	.zs-about-cta__actions .zs-btn { width: 100%; }
}

/* ---------- 资质证书：中间放大轮播 + 图片灯箱 ---------- */

.zs-cert-slider { position: relative; margin-top: 30px; }
.zs-cert-slider__viewport { overflow-x: auto; overflow-y: hidden; padding: 22px 0 30px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; cursor: grab; }
.zs-cert-slider__viewport::-webkit-scrollbar { display: none; }
.zs-cert-slider__viewport.is-dragging { cursor: grabbing; }
.zs-cert-slider__viewport:focus-visible { outline: 2px solid rgba(35,164,83,.55); outline-offset: 6px; }
.zs-cert-slider__track { --zs-cert-slide: 392px; display: flex; align-items: center; gap: 24px; width: max-content; min-width: 100%; padding: 0 max(calc(50% - var(--zs-cert-slide) / 2), 8px); }
.zs-cert-slider__slide { flex: 0 0 var(--zs-cert-slide); scroll-snap-align: center; }
.zs-cert-slider .zs-gallery-item { transform: scale(.92); opacity: .55; transition: transform .35s ease, opacity .35s ease, box-shadow .35s ease; }
.zs-cert-slider:not(.is-ready) .zs-cert-slider__slide:first-child .zs-gallery-item,
.zs-cert-slider__slide.is-active .zs-gallery-item { transform: scale(1); opacity: 1; box-shadow: 0 16px 38px rgba(8,28,43,.14); }
.zs-cert-slider .zs-gallery-item img { height: auto; aspect-ratio: 3 / 4; object-fit: contain; padding: 10px; background: #fff; }
.zs-cert-slider .zs-gallery-item__link { cursor: zoom-in; }
.zs-cert-slider__nav { position: absolute; top: 50%; z-index: 6; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-top: -23px; padding: 0; color: var(--zs-navy); background: #fff; border: 1px solid var(--zs-line); border-radius: 50%; box-shadow: 0 8px 24px rgba(8,28,43,.14); cursor: pointer; font-size: 1.55rem; line-height: 1; transition: color .25s ease, border-color .25s ease; }
.zs-cert-slider__nav:hover { color: var(--zs-green); border-color: rgba(35,164,83,.5); }
.zs-cert-slider__nav--prev { left: 2px; }
.zs-cert-slider__nav--next { right: 2px; }
.zs-cert-slider__nav span { display: block; margin-top: -4px; }

body.zs-lightbox-open { overflow: hidden; }
.zs-lightbox { position: fixed; inset: 0; height: 100dvh; z-index: 3000; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .25s ease, visibility 0s linear .25s; }
.zs-lightbox.is-open { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
.zs-lightbox__backdrop { position: absolute; inset: 0; background: rgba(4,18,26,.93); }
.zs-lightbox__stage { position: absolute; inset: 0; margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 58px 20px 92px; pointer-events: none; }
.zs-lightbox__image { max-width: min(1180px, 92vw); max-height: calc(100vh - 154px); max-height: calc(100dvh - 154px); width: auto; height: auto; background: #fff; border-radius: 8px; box-shadow: 0 26px 70px rgba(0,0,0,.55); cursor: grab; user-select: none; -webkit-user-drag: none; touch-action: none; transition: transform .18s ease; pointer-events: auto; }
.zs-lightbox__image.is-dragging { cursor: grabbing; transition: none; }
.zs-lightbox__caption { color: rgba(255,255,255,.76); font-size: .86rem; text-align: center; }
.zs-lightbox__bar { position: absolute; left: 50%; bottom: calc(22px + env(safe-area-inset-bottom, 0px)); z-index: 4; display: flex; align-items: center; gap: 8px; padding: 8px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); border-radius: 999px; backdrop-filter: blur(8px); transform: translateX(-50%); }
.zs-lightbox__btn { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; color: #fff; background: rgba(255,255,255,.12); border: 0; border-radius: 50%; cursor: pointer; font-size: 1.15rem; line-height: 1; transition: background .2s ease; }
.zs-lightbox__btn:hover { background: rgba(255,255,255,.24); }
.zs-lightbox__close { position: absolute; top: calc(18px + env(safe-area-inset-top, 0px)); right: calc(18px + env(safe-area-inset-right, 0px)); z-index: 7; display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; padding: 0; color: #fff; background: rgba(35,164,83,.92); border: 0; border-radius: 50%; box-shadow: 0 12px 30px rgba(0,0,0,.4); font-size: 2rem; line-height: 1; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.zs-lightbox__close span { display: block; margin-top: -4px; }
.zs-lightbox__close:hover { background: var(--zs-green); transform: scale(1.06); }

@media (max-width: 782px) {
	.zs-cert-slider__track { --zs-cert-slide: 210px; gap: 14px; }
	.zs-cert-slider__nav { width: 38px; height: 38px; margin-top: -19px; font-size: 1.25rem; }
	.zs-lightbox__stage { padding: 58px 12px 102px; }
	.zs-lightbox__image { max-height: calc(100vh - 168px); max-height: calc(100dvh - 168px); }
	.zs-lightbox__bar { gap: 6px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); padding: 6px; }
	.zs-lightbox__btn { width: 38px; height: 38px; font-size: 1.05rem; }
	.zs-lightbox__close { top: calc(12px + env(safe-area-inset-top, 0px)); right: calc(12px + env(safe-area-inset-right, 0px)); width: 48px; height: 48px; font-size: 1.85rem; }
}

/* ---------- 整机质保与售后服务 ---------- */
.zs-warranty { position: relative; background: #fff; }
.zs-warranty__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 44px; }
.zs-warranty__card { position: relative; padding: 30px 26px 32px; overflow: hidden; background: var(--zs-soft); border: 1px solid var(--zs-line); transition: transform .3s ease, border-color .3s ease, background-color .3s ease, box-shadow .3s ease; }
.zs-warranty__card::before { content: ""; position: absolute; left: 0; top: 0; width: 3px; height: 0; background: var(--zs-green); transition: height .35s ease; }
.zs-warranty__card:hover { transform: translateY(-5px); background: #fff; border-color: rgba(35,164,83,.45); box-shadow: 0 18px 42px rgba(8,28,43,.09); }
.zs-warranty__card:hover::before { height: 100%; }
.zs-warranty__icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; color: var(--zs-green-dark); background: var(--zs-green-soft); border: 1px solid rgba(35,164,83,.16); }
.zs-warranty__icon svg { width: 24px; height: 24px; }
.zs-warranty__value { display: block; margin-top: 22px; color: var(--zs-green-dark); font-size: 1.95rem; line-height: 1.1; font-weight: 800; letter-spacing: -.02em; }
.zs-warranty__value + h3 { margin-top: 8px; }
.zs-warranty__card h3 { margin: 20px 0 10px; font-size: 1.08rem; }
.zs-warranty__card p { margin: 0; color: var(--zs-muted); font-size: .9rem; }
.zs-warranty__note { display: flex; align-items: center; gap: 14px; margin-top: 30px; padding: 20px 26px; background: linear-gradient(120deg, var(--zs-green-soft), #fff 68%); border: 1px solid var(--zs-line); border-left: 3px solid var(--zs-green); }
.zs-warranty__note svg { width: 22px; height: 22px; color: var(--zs-green-dark); }
.zs-warranty__note p { margin: 0; color: var(--zs-navy); font-size: .95rem; }

@media (max-width: 1280px) {
	.zs-warranty__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 34px; }
}

@media (max-width: 700px) {
	.zs-warranty__grid { grid-template-columns: 1fr; gap: 12px; }
	.zs-warranty__card { padding: 24px 22px 26px; }
	.zs-warranty__value { margin-top: 16px; font-size: 1.7rem; }
	.zs-warranty__note { flex-direction: column; align-items: flex-start; gap: 8px; padding: 20px 22px; margin-top: 22px; }
}

/* ---------- 发展历程时间轴 ---------- */
.zs-history { position: relative; background: var(--zs-soft); overflow: hidden; }
.zs-history__track { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(196px, 1fr)); gap: 22px; margin-top: 46px; padding-top: 34px; }
.zs-history__track::before { content: ""; position: absolute; left: 7%; right: 7%; top: 11px; height: 2px; background: linear-gradient(90deg, rgba(35,164,83,.10), rgba(35,164,83,.45), rgba(35,164,83,.10)); }
.zs-history__item { position: relative; padding: 26px 24px 28px; background: #fff; border: 1px solid var(--zs-line); transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.zs-history__item::before { content: ""; position: absolute; left: 50%; top: -28px; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--zs-green); box-shadow: 0 0 0 5px rgba(35,164,83,.14); }
.zs-history__item::after { content: ""; position: absolute; left: 50%; top: -16px; width: 2px; height: 16px; margin-left: -1px; background: rgba(35,164,83,.35); }
.zs-history__item:hover { transform: translateY(-5px); border-color: rgba(35,164,83,.45); box-shadow: 0 18px 42px rgba(8,28,43,.09); }
.zs-history__year { color: var(--zs-green-dark); font-size: 1.75rem; font-weight: 800; line-height: 1; letter-spacing: -.02em; }
.zs-history__item h3 { margin: 12px 0 8px; font-size: 1.06rem; }
.zs-history__item p { margin: 0; color: var(--zs-muted); font-size: .9rem; }

@media (max-width: 1280px) {
	.zs-history__track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 22px; }
	.zs-history__track::before { display: none; }
}

@media (max-width: 700px) {
	.zs-history__track { grid-template-columns: 1fr; gap: 0; margin-top: 34px; padding-top: 0; }
	.zs-history__track::before { display: block; left: 11px; top: 14px; bottom: 34px; right: auto; width: 2px; height: auto; background: linear-gradient(180deg, rgba(35,164,83,.12), rgba(35,164,83,.45), rgba(35,164,83,.12)); }
	.zs-history__item { margin: 0 0 16px 34px; padding: 22px 20px 24px; }
	.zs-history__item::before { left: -29px; top: 28px; }
	.zs-history__item::after { display: none; }
	.zs-history__year { font-size: 1.55rem; }
}

/* ---------- 公司实拍：单行实拍条（关于我们页，位于资质荣誉上方） ---------- */
.zs-gallery--strip { background: #fff; }
.zs-gallery--strip .zs-container { position: relative; }
.zs-gallery--strip .zs-section-head { margin-bottom: 32px; }
.zs-gallery--strip .zs-gallery-grid {
	display: flex;
	flex-wrap: nowrap;
	gap: 16px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 4px 2px 14px;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: rgba(35,164,83,.45) rgba(8,28,43,.06);
}
.zs-gallery--strip .zs-gallery-grid::-webkit-scrollbar { height: 6px; }
.zs-gallery--strip .zs-gallery-grid::-webkit-scrollbar-track { background: rgba(8,28,43,.06); border-radius: 80px; }
.zs-gallery--strip .zs-gallery-grid::-webkit-scrollbar-thumb { background: rgba(35,164,83,.45); border-radius: 80px; }
.zs-gallery--strip .zs-gallery-item { flex: 0 0 248px; margin: 0; scroll-snap-align: start; cursor: grab; }
.zs-gallery--strip .zs-gallery-item:active { cursor: grabbing; }
.zs-gallery--strip.zs-gallery--snapshots .zs-gallery-item img,
.zs-gallery--strip.zs-gallery--shipments .zs-gallery-item img { width: 100%; height: 186px; object-fit: cover; }
.zs-gallery--strip .zs-gallery-item figcaption { padding: 10px 12px; font-size: .8rem; line-height: 1.45; }
.zs-strip-nav {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-top: -12px;
	padding: 0;
	color: var(--zs-navy);
	background: rgba(255,255,255,.94);
	border: 1px solid var(--zs-line);
	border-radius: 50%;
	box-shadow: 0 10px 26px rgba(8,28,43,.14);
	transition: opacity .25s ease, color .25s ease, border-color .25s ease, background-color .25s ease;
}
.zs-strip-nav span { font-size: 1.5rem; line-height: 1; }
.zs-strip-nav:hover { color: #fff; background: var(--zs-green); border-color: var(--zs-green); }
.zs-strip-nav--prev { left: -18px; }
.zs-strip-nav--next { right: -18px; }
.zs-strip-nav[hidden] { display: none; }
@media (max-width: 1280px) {
	.zs-strip-nav { display: none; }
}
@media (max-width: 700px) {
	.zs-gallery--strip .zs-gallery-grid { gap: 12px; padding-bottom: 12px; }
	.zs-gallery--strip .zs-gallery-item { flex: 0 0 72vw; }
	.zs-gallery--strip.zs-gallery--snapshots .zs-gallery-item img,
	.zs-gallery--strip.zs-gallery--shipments .zs-gallery-item img { height: 58vw; max-height: 260px; }
	.zs-gallery--strip .zs-section-head { margin-bottom: 24px; }
}

/* ---------- 公司彩页页面 ---------- */
.zs-brochure-hero .zs-brochure-hero__intro { max-width: 840px; }
.zs-brochure-hero .zs-brochure-hero__intro p { margin-bottom: 10px; color: rgba(255,255,255,.82); }
.zs-brochure-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.zs-brochure-card { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border: 1px solid var(--zs-line); border-radius: 10px; background: #fff; box-shadow: 0 8px 24px rgba(8,28,43,.06); cursor: zoom-in; transition: transform .25s ease, box-shadow .25s ease; }
.zs-brochure-card:hover { transform: translateY(-4px); box-shadow: 0 15px 34px rgba(8,28,43,.13); }
.zs-brochure-card img { display: block; width: 100%; height: auto; aspect-ratio: 1.414 / 1; object-fit: contain; background: #f4f7f8; }
.zs-brochure-card > span { display: block; padding: 8px 10px; color: var(--zs-navy); background: #f8fbf9; border-top: 1px solid var(--zs-line); font-size: .78rem; font-weight: 800; text-align: center; }
.zs-brochure-note { display: flex; align-items: flex-start; gap: 8px; max-width: 760px; margin: 24px auto 0; padding: 10px 12px; border: 1px solid #e4eaee; border-left: 3px solid var(--zs-green); border-radius: 8px; color: var(--zs-muted); background: #f8fbf9; font-size: .84rem; line-height: 1.65; }
.zs-brochure-note svg { width: 16px; height: 16px; margin-top: 2px; color: var(--zs-green); }
.zs-brochure-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.zs-brochure-modal { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; padding: 20px; }
.zs-brochure-modal.is-open { display: flex; }
.zs-brochure-modal__backdrop { position: absolute; inset: 0; background: rgba(4,14,23,.9); }
.zs-brochure-modal__dialog { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: min(1280px, 100%); max-height: 92vh; }
.zs-brochure-modal__image { display: block; width: auto; max-width: 100%; height: auto; max-height: 88vh; object-fit: contain; border-radius: 8px; background: #fff; box-shadow: 0 22px 60px rgba(0,0,0,.42); }
.zs-brochure-modal__close { position: absolute; top: -14px; right: -14px; z-index: 3; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 50%; color: var(--zs-navy); background: #fff; box-shadow: 0 6px 18px rgba(0,0,0,.24); font-size: 28px; line-height: 1; }
.zs-brochure-modal__nav { position: absolute; top: 50%; z-index: 3; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; color: var(--zs-navy); background: rgba(255,255,255,.94); box-shadow: 0 6px 18px rgba(0,0,0,.22); font-size: 34px; line-height: 1; transform: translateY(-50%); }
.zs-brochure-modal__nav--prev { left: -20px; }
.zs-brochure-modal__nav--next { right: -20px; }
.zs-brochure-modal__counter { position: absolute; bottom: -36px; left: 50%; color: #fff; font-size: .85rem; font-weight: 800; transform: translateX(-50%); }
body.zs-brochure-open { overflow: hidden; }
@media (max-width: 1280px) {
	.zs-brochure-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
}
@media (max-width: 700px) {
	.zs-brochure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.zs-brochure-card { border-radius: 7px; }
	.zs-brochure-card > span { padding: 5px 6px; font-size: .68rem; }
	.zs-brochure-note { margin-top: 18px; padding: 9px 10px; font-size: .78rem; line-height: 1.55; }
	.zs-brochure-actions { gap: 10px; margin-top: 18px; }
	.zs-brochure-actions .zs-btn { width: 100%; }
	.zs-brochure-modal { padding: 10px; }
	.zs-brochure-modal__nav { width: 42px; height: 42px; font-size: 30px; }
	.zs-brochure-modal__nav--prev { left: -4px; }
	.zs-brochure-modal__nav--next { right: -4px; }
	.zs-brochure-modal__close { top: -12px; right: -3px; width: 38px; height: 38px; font-size: 24px; }
	.zs-brochure-modal__counter { bottom: -32px; font-size: .78rem; }
}

/* ---------- 询盘电话区号字段 ---------- */
.zs-phone-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.zs-phone-field__title {
	color: #354650;
	font-size: .78rem;
	font-weight: 800;
	white-space: nowrap;
}

.zs-phone-field__inputs {
	display: grid;
	grid-template-columns: 124px minmax(0, 1fr);
	gap: 8px;
	min-width: 0;
}

.zs-phone-field__inputs label {
	gap: 0;
}

.zs-phone-field__inputs label > span {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.zs-phone-field__inputs select {
	min-width: 0;
	cursor: pointer;
	text-overflow: ellipsis;
}

.zs-wechat-field {
	min-width: 0;
}

@media (max-width: 700px) {
	.zs-phone-field {
		flex-direction: column;
		align-items: stretch;
		gap: 6px;
	}

	.zs-phone-field__title {
		align-self: flex-start;
	}

	.zs-phone-field__inputs {
		grid-template-columns: 188px minmax(0, 1fr);
	}
}

@media (max-width: 520px) {
	.zs-phone-field__inputs {
		grid-template-columns: 1fr;
	}
}

/* ===== 参数表格：宽表在自身容器内横向滚动，避免整页被撑宽 =====
   产品页的技术参数表有 5-6 列，最小内容宽度超过手机视口，
   以前会把 .zs-content 乃至整个页面一起撑出横向滚动条。 */
.zs-content {
	min-width: 0;
}

@media (max-width: 900px) {
	.zs-product-detail__grid,
	.zs-product-detail__main {
		min-width: 0;
	}

	.zs-product-detail__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.zs-content {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.zs-content table {
		width: auto;
		min-width: 100%;
	}

	.zs-content th,
	.zs-content td {
		padding: 8px 10px;
		white-space: nowrap;
	}
}

/* ---------------------------------------------------------------------------
   Category / archive hero
   The blurb sat bottom-aligned in a narrow right column, which left a large
   empty gap under the title whenever the category description was short.
   Centre the two columns, size the title down so it stops dominating the band,
   and give the blurb an accent rule so it reads as a deliberate note.
--------------------------------------------------------------------------- */
.zs-page-hero { padding: 62px 0 58px; }
.zs-page-hero h1 { font-size: clamp(1.95rem, 3.3vw, 3.05rem); letter-spacing: -.03em; }
.zs-page-hero__grid { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 24px; max-width: 980px; }
.zs-archive-description {
	margin-top: 0;
	padding-left: 22px;
	border-left: 2px solid rgba(54, 168, 92, .55);
	font-size: 1.02rem;
	line-height: 1.8;
	color: rgba(255, 255, 255, .7);
}

@media (max-width: 1280px) {
	.zs-page-hero__grid { gap: 20px; }
	.zs-page-hero__grid { max-width: none; }
	.zs-archive-description { padding-left: 18px; font-size: .98rem; }
}

@media (max-width: 700px) {
	.zs-page-hero { padding: 48px 0 44px; }
	.zs-page-hero h1 { font-size: 1.78rem; }
	.zs-archive-description { margin-top: 6px; padding-left: 16px; }
}

/* ---------------------------------------------------------------------------
   Product cards
   The body is now a flex column so the "view details" link always sits on the
   card floor and rows line up. The excerpt is clamped to three lines instead of
   being cut mid-word, and the two spec columns get a divider plus room to wrap
   so a long value no longer crowds its neighbour.
--------------------------------------------------------------------------- */
.zs-product-card { display: flex; flex-direction: column; }
.zs-product-card__body { display: flex; flex-direction: column; flex: 1 1 auto; }
.zs-product-card__body > p {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 0;
	margin-bottom: 0;
}
.zs-product-card__body > .zs-text-link { margin-top: auto; padding-top: 4px; }

.zs-product-card__specs {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 20px;
	margin-top: auto;
}
.zs-product-card__specs span { min-width: 0; }
.zs-product-card__specs span + span { padding-left: 20px; border-left: 1px solid var(--zs-line); }
.zs-product-card__specs small { letter-spacing: .02em; }
.zs-product-card__specs strong { margin-top: 4px; line-height: 1.4; overflow-wrap: anywhere; }

.zs-product-card__badge { font-size: .66rem; letter-spacing: .02em; }

/* card polish: green rule slides in on hover, lighter media panel */
.zs-product-card { position: relative; }
.zs-product-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: var(--zs-green);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .35s ease;
	z-index: 3;
}
.zs-product-card:hover::before { transform: scaleX(1); }
.zs-product-card:hover { border-color: #cfe3d6; }
.zs-product-card__visual { background: #f5f8fa; }

/* ---------------------------------------------------------------------------
   ① hero data strip  ② category switcher  ③ trust bar
--------------------------------------------------------------------------- */
.zs-hero-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 34px;
	margin-top: 26px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, .14);
}
.zs-hero-stats span { color: rgba(255, 255, 255, .58); font-size: .82rem; letter-spacing: .02em; }
.zs-hero-stats strong { display: block; margin-bottom: 3px; color: #fff; font-size: 1.06rem; font-weight: 800; letter-spacing: 0; }

.zs-cat-switch { background: #fff; border-bottom: 1px solid var(--zs-line); }
.zs-cat-switch__row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 22px;
	padding-bottom: 22px;
}
.zs-cat-switch a {
	padding: 9px 18px;
	border: 1px solid var(--zs-line);
	border-radius: 999px;
	color: var(--zs-navy);
	font-size: .86rem;
	font-weight: 700;
	transition: border-color .25s ease, background .25s ease, color .25s ease;
}
.zs-cat-switch a:hover { border-color: var(--zs-green); color: var(--zs-green-dark); background: #f4faf6; }
.zs-cat-switch a.is-active { border-color: var(--zs-green); background: var(--zs-green); color: #fff; }

.zs-trust-bar { background: #f6f9f7; border-top: 1px solid var(--zs-line); border-bottom: 1px solid var(--zs-line); }
.zs-trust-bar__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 14px 28px;
	padding-top: 26px;
	padding-bottom: 26px;
}
.zs-trust-bar__row span {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--zs-navy);
	font-size: .9rem;
	font-weight: 700;
}
.zs-trust-bar__row svg { width: 17px; height: 17px; color: var(--zs-green); flex: none; }

@media (max-width: 700px) {
	.zs-hero-stats { gap: 12px 22px; margin-top: 20px; padding-top: 18px; }
	.zs-cat-switch__row { gap: 8px; padding-top: 16px; padding-bottom: 16px; }
	.zs-cat-switch a { padding: 7px 14px; font-size: .8rem; }
	.zs-trust-bar__row { gap: 10px 18px; padding-top: 20px; padding-bottom: 20px; }
	.zs-trust-bar__row span { font-size: .84rem; }
}

/* ---------------------------------------------------------------------------
   Depth pass: brand glow on the hero, rounded cards with a resting shadow,
   softer band transitions.
--------------------------------------------------------------------------- */
.zs-page-hero--product { isolation: isolate; }
.zs-page-hero--product::before {
	content: "";
	position: absolute;
	right: -10%;
	top: -46%;
	width: 660px;
	height: 660px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(46, 168, 92, .3) 0%, rgba(46, 168, 92, 0) 68%);
	pointer-events: none;
	z-index: 1;
}
.zs-page-hero--product .zs-container { z-index: 2; }
.zs-page-hero--product::after { z-index: 0; }

.zs-hero-stats strong { position: relative; padding-left: 0; }

.zs-cat-switch { background: linear-gradient(180deg, #fbfdfc 0%, #fff 100%); }
.zs-cat-switch a.is-active { box-shadow: 0 6px 16px rgba(46, 168, 92, .28); }

.zs-product-archive { padding-top: 54px; padding-bottom: 78px; }

.zs-product-card {
	border-radius: 10px;
	box-shadow: 0 1px 2px rgba(8, 28, 43, .05);
}
.zs-product-card:hover { box-shadow: 0 18px 42px rgba(8, 28, 43, .13); }
.zs-product-card::before { border-radius: 10px 10px 0 0; }
.zs-product-card__visual { aspect-ratio: 16 / 11; border-bottom: 1px solid var(--zs-line); background: linear-gradient(160deg, #f7fafc 0%, #eef3f6 100%); }
.zs-product-card__badge { border-radius: 999px; padding: 5px 12px; background: rgba(8, 28, 43, .9); }
.zs-product-card__body { padding: 24px 24px 26px; }
.zs-product-card h3 { font-size: 1.2rem; }
.zs-product-card__specs strong { color: var(--zs-navy); }

.zs-trust-bar__row span { gap: 10px; }
.zs-trust-bar__row svg { width: 26px; height: 26px; padding: 5px; border-radius: 50%; background: rgba(46, 168, 92, .12); }

@media (max-width: 700px) {
	.zs-product-archive { padding-top: 36px; padding-bottom: 54px; }
	.zs-product-card__body { padding: 18px 18px 20px; }
	.zs-trust-bar__row svg { width: 22px; height: 22px; }
}

/* ---------------------------------------------------------------------------
   Pagination
   The theme ships .zs-pagination rules, but the markup WordPress prints for
   the_posts_pagination() carries .navigation.pagination instead, so the styles
   never matched and the links rendered bare. Scope a pill style to the archive
   containers so nothing else on the site is affected.
--------------------------------------------------------------------------- */
.zs-product-archive .navigation.pagination,
.zs-archive__body .navigation.pagination { margin-top: 52px; }

.zs-product-archive .nav-links,
.zs-archive__body .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.zs-product-archive .page-numbers,
.zs-archive__body .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 15px;
	background: #fff;
	border: 1px solid var(--zs-line);
	border-radius: 999px;
	color: var(--zs-navy);
	font-size: .9rem;
	font-weight: 700;
	line-height: 1;
	transition: border-color .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}

.zs-product-archive .page-numbers:hover,
.zs-archive__body .page-numbers:hover {
	border-color: var(--zs-green);
	background: #f4faf6;
	color: var(--zs-green-dark);
}

.zs-product-archive .page-numbers.current,
.zs-archive__body .page-numbers.current {
	border-color: var(--zs-green);
	background: var(--zs-green);
	color: #fff;
	box-shadow: 0 6px 16px rgba(46, 168, 92, .28);
}

.zs-product-archive .page-numbers.dots,
.zs-archive__body .page-numbers.dots {
	min-width: 26px;
	padding: 0 4px;
	border-color: transparent;
	background: transparent;
	color: var(--zs-muted);
}

.zs-product-archive .nav-links .prev,
.zs-product-archive .nav-links .next,
.zs-archive__body .nav-links .prev,
.zs-archive__body .nav-links .next { padding: 0 22px; }

@media (max-width: 700px) {
	.zs-product-archive .navigation.pagination,
	.zs-archive__body .navigation.pagination { margin-top: 36px; }
	.zs-product-archive .nav-links,
	.zs-archive__body .nav-links { gap: 7px; }
	.zs-product-archive .page-numbers,
	.zs-archive__body .page-numbers { min-width: 38px; height: 38px; padding: 0 11px; font-size: .84rem; }
	.zs-product-archive .nav-links .prev,
	.zs-product-archive .nav-links .next,
	.zs-archive__body .nav-links .prev,
	.zs-archive__body .nav-links .next { padding: 0 15px; }
}

/* ===============================================================
 * 头部排版修正
 * 中文菜单只有 2–4 个字，英文（及其它语言）是 2–3 个单词，
 * 原来顶栏和导航都没有禁止换行，宽度不够时就把每一项挤成两行。
 * 这里统一禁止换行并收紧间距，让英文也保持单行排版。
 * =============================================================== */
.zs-topbar__inner { gap: 16px; }
.zs-topbar__contacts,
.zs-topbar__right { gap: 16px; min-width: 0; }
.zs-topbar__contacts > span,
.zs-topbar__contacts > a,
.zs-topbar__hours { white-space: nowrap; }
.zs-topbar__contacts { flex-wrap: nowrap; }

.zs-header__inner { gap: 22px; }
.zs-primary-nav { min-width: 0; }
.zs-menu { gap: 18px; flex-wrap: nowrap; }
.zs-menu > li > a { white-space: nowrap; }
.zs-menu .sub-menu a { white-space: normal; }
.zs-btn,
.zs-btn--header { white-space: nowrap; }
.zs-logo img,
.zs-logo__pc,
.zs-logo__mobile { max-height: 52px; width: auto; }

/* 中等宽度：顶栏收起口号，给导航让位 */
@media (min-width: 1281px) and (max-width: 1200px) {
	.zs-topbar__contacts > span:first-child { display: none; }
	.zs-menu { gap: 14px; }
	.zs-menu > li > a { font-size: .88rem; }
	.zs-header__inner { gap: 16px; }
	.zs-logo img { max-height: 46px; }
}

/* 超宽屏：间距恢复宽松，观感更舒展 */
@media (min-width: 1560px) {
	.zs-menu { gap: 26px; }
	.zs-menu > li > a { font-size: .95rem; }
	.zs-topbar__contacts,
	.zs-topbar__right { gap: 22px; }
}
/* ---------------------------------------------------------------
 * 头部二次修正：英文导航整体偏宽，会顶到右边按钮上造成文字重叠。
 * 进一步压缩导航字号与间距，并给外层加换行保护 —— 万一还是放不下，
 * 元素会换到下一行，而不是压在一起。
 * ------------------------------------------------------------- */
.zs-header__inner { gap: 14px; flex-wrap: wrap; row-gap: 4px; }
.zs-brand-wrap { flex: 0 0 auto; }
.zs-primary-nav { margin-left: auto; flex: 0 1 auto; min-width: 0; }
.zs-menu { gap: 13px; }
.zs-menu > li > a { font-size: .85rem; padding: 0 2px; }
.zs-header__actions { flex: 0 0 auto; }
.zs-btn--header { min-height: 42px; padding: 9px 16px; font-size: .86rem; }
.zs-logo img,
.zs-logo__pc,
.zs-logo__mobile { max-height: 46px; width: auto; }

@media (min-width: 1560px) {
	.zs-menu { gap: 20px; }
	.zs-menu > li > a { font-size: .9rem; }
	.zs-btn--header { padding: 10px 20px; font-size: .9rem; }
}
/* ---------------------------------------------------------------
 * 首页「关于我们」：英文正文比中文长好几倍，右栏很高，
 * 左栏图片被垂直居中后就甩出大片空白。
 * 改成「顶对齐 + 吸顶跟随」：图片跟右侧文字一起滚动，空白消失。
 * ------------------------------------------------------------- */
.zs-about__grid { align-items: start; }
.zs-about__media { position: sticky; top: 110px; align-self: start; }

/* 工厂实拍那一段结构相同，一并处理 */
.zs-factory__grid { align-items: start; }
.zs-factory__grid > *:first-child { position: sticky; top: 110px; align-self: start; }

@media (max-width: 1280px) {
	.zs-about__media, .zs-factory__grid > *:first-child { position: static; }
}
/* ---------------------------------------------------------------
 * 首页「关于我们」最终方案：
 * 右侧正文（英文/其它语言）天生比中文长好几倍，左栏图片无论怎么摆都会留空。
 * 正确做法是让图片把左栏「撑满」——上下都对齐右栏文字，
 * 空白彻底消失，而且中英文自动适应（中文短 → 图变矮横构图；
 * 英文长 → 图变高竖构图）。图片用 object-fit: cover 智能裁切，不会变形。
 * ------------------------------------------------------------- */
.zs-about__grid { align-items: stretch; }
.zs-about__media { position: relative; display: flex; flex-direction: column; }

/* 工厂实拍那段结构不同，保持原样，不动它 */

/* 手机/平板单栏时不需要撑满 */

/* ---------------------------------------------------------------
 * 首页「关于我们」空白问题的正确解法
 * 图片本来就是绝对定位、铺满整个左栏的，问题不图片，而是左右两栏
 * 用了「垂直居中」对齐 —— 左栏不会被拉伸到和右栏一样高，于是上下留白。
 * 改成 stretch（拉伸对齐）：左栏自动撑到与右栏等高，图片随之铺满，
 * 空白彻底消失；而且中文短、英文长都能自动适应，不用改任何文案。
 * ------------------------------------------------------------- */
.zs-about__grid { align-items: stretch; }
.zs-about__media { position: relative; }

/* ---------------------------------------------------------------
 * 关键修正！之前第一次改的时候给左栏加了 align-self: start，
 * 这个属性的优先级高于父容器的 align-items，所以后面两次改 stretch 都被它挡住了，
 * 左栏始终没被拉伸 —— 这就是空白一直不消失的真正原因。
 * 这里用 align-self: stretch 明确覆盖掉它。
 * ------------------------------------------------------------- */
.zs-about__media { align-self: stretch; }

/* ===============================================================
 * 首页「关于我们」改为上下单栏版式
 * 左右并排时，外文正文比中文长好几倍，左栏无论怎么调都会留白、
 * 或者图片被拉得很长。改成上下排版彻底绕开这个问题：
 *   上：整行大图（固定宽高比，按原比例裁切，绝不会变形或被拉长）
 *   下：正文居中、限制行宽（一行太长会很难读）
 * 中英文都用同一套版式，观感一致，不会出现「外文有、中文没有」的尴尬。
 * =============================================================== */
.zs-about__grid { display: block; }

.zs-about__media {
	position: relative;
	width: 100%;
	max-width: none;
	min-height: 0;
	margin: 0 0 44px;
}

.zs-about__img {
	position: relative;
	inset: auto;
	width: 100%;
	height: auto;
	aspect-ratio: 21 / 9;
	min-height: 260px;
	max-height: 540px;
}

.zs-about__img img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }

/* 徽标挪到图片左下角内部，不再探出容器 */
.zs-about__badge { left: 26px; bottom: 26px; }

/* 正文：居中 + 限制行宽，长文也好读 */
.zs-about__content { max-width: 900px; margin: 0 auto; }

@media (max-width: 1280px) {
	.zs-about__img { aspect-ratio: 16 / 10; min-height: 220px; max-height: none; }
	.zs-about__badge { left: 16px; bottom: 16px; padding: 14px 18px; }
}

@media (max-width: 700px) {
	.zs-about__img { aspect-ratio: 4 / 3; }
	.zs-about__media { margin-bottom: 30px; }
}

/* ===============================================================
 * 「关于我们」图片修正（覆盖上一版的强制裁切）
 * 上一版把图片锁成 21:9 并 object-fit: cover，结果公司楼被裁掉了。
 * 这一版：图片按「原始比例完整显示」，不裁切、不变形；
 * 通过限制图片列的最大宽度来控制整体高度，避免变成一堵高墙。
 * 同时改回普通块级布局（不用 flex），杜绝文字被图片压住。
 * =============================================================== */
.zs-about__grid { display: block; }

.zs-about__media {
	position: relative;
	display: block;
	width: 100%;
	max-width: 880px;      /* 控制图片尺寸 → 高度自然合理 */
	min-height: 0;
	margin: 0 auto 46px;   /* 上下留白，与下方正文分开 */
}

.zs-about__img {
	position: relative;
	inset: auto;
	width: 100%;
	height: auto;
	min-height: 0;
	max-height: none;
	aspect-ratio: auto;    /* 取消强制比例 */
}

/* 关键：height:auto 让它按原图比例完整显示，绝不裁切 */
.zs-about__img img { display: block; width: 100%; height: auto; object-fit: initial; }

.zs-about__badge { left: 24px; bottom: 24px; }
.zs-about__content { max-width: 900px; margin: 0 auto; }

@media (max-width: 1280px) {
	.zs-about__media { max-width: 100%; margin-bottom: 34px; }
	.zs-about__badge { left: 16px; bottom: 16px; padding: 14px 18px; }
}

/* ===============================================================
 * 「关于我们」终极修正
 * 之前的来回，根源都是图片那条 position:absolute + clip-path 斜切裁剪：
 * 绝对定位让容器高度和图片实际高度对不上，斜切又让边缘压到下方文字。
 * 这次全部推倒，用最普通的文档流重排，并用 !important 钉死，避免再被
 * 其它规则干扰：
 *   1. 图片：static + 无裁剪 + height:auto  → 按原比例完整显示，绝不裁切
 *   2. 容器：relative + 块级 → 容器高度 = 图片高度，下方内容不可能被压
 *   3. 正文：relative + z-index:2 兜底 → 万一还有元素重叠，文字永远在最上层
 * =============================================================== */
.zs-about__grid { display: block !important; }

.zs-about__media {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 880px !important;
	min-height: 0 !important;
	margin: 0 auto 46px !important;
	align-self: auto !important;
}

.zs-about__img {
	position: static !important;
	inset: auto !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	clip-path: none !important;
	overflow: visible !important;
	background: transparent !important;
}

.zs-about__img img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	object-fit: initial !important;
}

/* 徽标贴在图片左下角内部 */
.zs-about__badge { position: absolute !important; left: 24px !important; bottom: 24px !important; }

/* 正文：置顶保障 + 居中限宽 */
.zs-about__content {
	position: relative !important;
	z-index: 2 !important;
	max-width: 900px !important;
	margin: 0 auto !important;
}

@media (max-width: 1280px) {
	.zs-about__media { max-width: 100% !important; margin-bottom: 34px !important; }
	.zs-about__badge { left: 16px !important; bottom: 16px !important; padding: 14px 18px !important; }
}

/* 公司名与图片再多留一点距离 */
.zs-about__media { margin-bottom: 64px !important; }

/* ===============================================================
 * 询盘表单：左右两栏改为上下排列
 * 原来是「左深色介绍 + 右表单」的两列网格。外文标题更长，左栏被压得
 * 又窄又高（一个标题折成六行）。改成上下：
 *   上：整行深色介绍带（标题限宽、优势项横排成一行）
 *   下：居中表单（限宽，字段不至于拉得过宽）
 * =============================================================== */
.zs-inquiry-card { display: block; }

.zs-inquiry-card__intro { padding: 52px 56px; }
.zs-inquiry-card__intro h2 { max-width: 880px; margin-bottom: 18px; font-size: 2.02rem; line-height: 1.22; }
.zs-inquiry-card__intro > p { max-width: 780px; }

/* 三个优势项横排，占满整行更协调 */
.zs-inquiry-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px 30px;
	margin: 28px 0 32px;
}
.zs-inquiry-benefits li { margin: 0; }

/* 联系方式已经是自适应网格，放宽单格最小宽度 */
.zs-inquiry-contact__list { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }

/* 表单限宽居中，避免字段横跨整屏 */
.zs-inquiry-card__form { max-width: 1060px; margin: 0 auto; }

@media (max-width: 1280px) {
	.zs-inquiry-card__intro { padding: 40px 32px; }
	.zs-inquiry-card__intro h2 { font-size: 1.72rem; }
	.zs-inquiry-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.zs-inquiry-card__intro { padding: 32px 22px; }
	.zs-inquiry-card__intro h2 { font-size: 1.42rem; }
	.zs-inquiry-benefits { grid-template-columns: 1fr; }
}

/* ===============================================================
 * 询盘区块美观化
 * 问题：上下两块左右边线对不齐，整块也没有轮廓，看着像拼起来的。
 * 处理：
 *   1. 整块做成一张圆角卡片（统一 16px 圆角 + 阴影 + 裁掉溢出）
 *   2. 深色介绍带的内容与下方表单「左右对齐」（同一 1060px 基准）
 *   3. 介绍带底部加一条绿色压边，作为上下两段的过渡
 *   4. 表单区上下留白放宽，不再贴着卡片边缘
 * =============================================================== */
.zs-inquiry-card {
	display: block;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: var(--zs-shadow);
}

.zs-inquiry-card__intro {
	padding: 56px max(26px, calc((100% - 1060px) / 2));
	border-bottom: 3px solid var(--zs-green);
}

/* 表单内容同样以 1060px 为基准居中，和上方介绍带对齐 */
.zs-inquiry-card__form {
	max-width: 1112px;
	margin: 0 auto;
	padding: 48px 26px 56px;
}

@media (max-width: 1280px) {
	.zs-inquiry-card__intro { padding: 40px 26px; }
	.zs-inquiry-card__form { padding: 34px 20px 40px; }
	.zs-inquiry-card { border-radius: 12px; }
}

/* ===============================================================
 * 询盘表单优化
 *   1. 选填字段的「(Optional)」小标记 —— 括号用 CSS 生成，
 *      这样每种语言只需翻译括号里的词，标点保持一致的英文括号
 *   2. 卡片改浅灰底，白色表单区更突出
 *   3. 深色介绍带收窄一点，不再压得那么重
 * =============================================================== */
.zs-optional {
	font-style: normal;
	font-size: .78em;
	font-weight: 600;
	color: #8b98a1;
	letter-spacing: .02em;
}
.zs-optional::before { content: "("; }
.zs-optional::after  { content: ")"; }
.zs-inquiry-card__intro .zs-optional,
.zs-inquiry-card__intro .zs-optional::before,
.zs-inquiry-card__intro .zs-optional::after { color: rgba(255,255,255,.5); }

.zs-inquiry-card { background: #f7f9fa; }
.zs-inquiry-card__intro { padding-top: 44px; padding-bottom: 44px; }
.zs-inquiry-card__intro h2 { font-size: 1.86rem; }
.zs-inquiry-benefits { margin: 22px 0 24px; }

/* ===============================================================
 * 阿拉伯语等长文案下，头部「获取报价」按钮折成两行
 * RTL 语言（阿拉伯语/希伯来语）在浏览器里排版方向不同，
 * 这里明确禁止按钮文字换行，并对长文案语言略收字号。
 * =============================================================== */
.zs-btn--header,
.zs-header__actions .zs-btn,
.zs-btn { white-space: nowrap !important; }

/* 阿拉伯语 / 希伯来语：按钮文字普遍更长，字号略收一点保证单行 */
html[lang="ar"] .zs-btn--header,
html[dir="rtl"] .zs-btn--header,
body[dir="rtl"] .zs-btn--header {
	font-size: .8rem !important;
	padding: 9px 14px !important;
}

/* ===============================================================
 * 从右往左语言（阿拉伯语 / 希伯来语）头部单行适配
 * 阿语导航整体比英文宽约 40%（例如「الصفحة الرئيسية」远长于 Home），
 * 结果是「获取报价」按钮被挤到第二行。这里针对 RTL 语言整体收紧：
 * 导航字号、导航间距、logo 尺寸、按钮尺寸一起缩，让它回到一行。
 * =============================================================== */
html[dir="rtl"] .zs-header__inner,
body[dir="rtl"] .zs-header__inner { gap: 10px !important; flex-wrap: nowrap !important; }

html[dir="rtl"] .zs-menu,
body[dir="rtl"] .zs-menu { gap: 9px !important; }

html[dir="rtl"] .zs-menu > li > a,
body[dir="rtl"] .zs-menu > li > a { font-size: .74rem !important; padding: 0 1px !important; }

html[dir="rtl"] .zs-btn--header,
body[dir="rtl"] .zs-btn--header {
	font-size: .74rem !important;
	padding: 8px 12px !important;
	min-height: 38px !important;
	gap: 6px !important;
}

html[dir="rtl"] .zs-logo img,
body[dir="rtl"] .zs-logo img { max-height: 40px !important; }

html[dir="rtl"] .zs-header__actions,
body[dir="rtl"] .zs-header__actions { flex: 0 0 auto !important; }

/* 万一实在塞不下，宁可让导航内部换行，也不要把按钮挤到第二行 */
html[dir="rtl"] .zs-menu,
body[dir="rtl"] .zs-menu { flex-wrap: nowrap !important; }

/* ===============================================================
 * 分类胶囊：所有语言强制单行
 * 阿语等语言分类名更长，原来会折成第二行。这里：
 *   1. 禁止换行（flex-wrap: nowrap），保证永远是一行
 *   2. 万一实在超宽，就横向滚动（而不是换行）——这是标签/胶囊行的标准做法
 *   3. RTL 语言单独收紧字号与间距，多数情况下一屏就能放下，不用滚
 * =============================================================== */
.zs-cat-switch__row {
	flex-wrap: nowrap !important;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: #cfd9d3 transparent;
	padding-bottom: 12px;
}
.zs-cat-switch__row::-webkit-scrollbar { height: 6px; }
.zs-cat-switch__row::-webkit-scrollbar-track { background: transparent; }
.zs-cat-switch__row::-webkit-scrollbar-thumb { background: #cfd9d3; border-radius: 3px; }

.zs-cat-switch a { flex: 0 0 auto; white-space: nowrap; }

html[dir="rtl"] .zs-cat-switch__row,
body[dir="rtl"] .zs-cat-switch__row { gap: 7px !important; }

html[dir="rtl"] .zs-cat-switch a,
body[dir="rtl"] .zs-cat-switch a {
	font-size: .76rem !important;
	padding: 7px 12px !important;
	white-space: nowrap !important;
}

/* ===============================================================
 * 从右往左语言（阿拉伯语/希伯来语）下的电话号码与邮箱方向修正
 * 阿拉伯语页面是 RTL，「+」和数字属于中性字符，会被浏览器按 RTL 重新排序，
 * 结果 "+86 13713137075" 显示成 "13713137075 86+" —— 客户会看错号码。
 * 用 dir="ltr" 把这些值单独隔离出来，永远按从左到右显示。
 * =============================================================== */
.zs-bidi-ltr { unicode-bidi: isolate; direction: ltr; display: inline-block; }

html[dir="rtl"] .zs-topbar__contacts a,
html[dir="rtl"] .zs-footer-contact a,
html[dir="rtl"] .zs-inquiry-contact__body a,
html[dir="rtl"] .zs-inquiry-contact__body strong,
body[dir="rtl"] .zs-topbar__contacts a,
body[dir="rtl"] .zs-footer-contact a { unicode-bidi: isolate; }

/* ===============================================================
 * 电话号码方向修正（第二版，改用最强强制）
 * 上一版用 dir="ltr" + isolate，在部分情况下仍被父级 RTL 影响。
 * 这里改用 isolate-override（隔离 + 强制方向），并同时作用于
 * 包装元素和父级链接本身，双重保险：
 *   isolate-override = 内容完全按指定方向排列，忽略继承来的 RTL
 * =============================================================== */
.zs-bidi-ltr {
	direction: ltr !important;
	unicode-bidi: isolate-override !important;
	display: inline-block !important;
}

html[dir="rtl"] .zs-topbar__contacts a,
html[dir="rtl"] .zs-footer-contact a,
html[dir="rtl"] .zs-inquiry-contact__body a,
html[dir="rtl"] .zs-inquiry-contact__body strong,
body[dir="rtl"] .zs-topbar__contacts a,
body[dir="rtl"] .zs-footer-contact a,
body[dir="rtl"] .zs-inquiry-contact__body a {
	direction: ltr !important;
	unicode-bidi: isolate-override !important;
}

/* ===============================================================
 * 【重要修正】撤销 isolate-override
 * 上一版用的 unicode-bidi: isolate-override 会把邮箱和号码的字符顺序整体反转
 * （joe@zsyhj.com 显示成 moc.jhsyz@eoj）。这里全部改回安全的 isolate，
 * 配合文本里已经写入的 LTR 方向标记（&#x200E;）来保证顺序正确。
 * =============================================================== */
.zs-bidi-ltr {
	unicode-bidi: isolate !important;
	direction: ltr !important;
	display: inline-block !important;
}

html[dir="rtl"] .zs-topbar__contacts a,
html[dir="rtl"] .zs-footer-contact a,
html[dir="rtl"] .zs-inquiry-contact__body a,
html[dir="rtl"] .zs-inquiry-contact__body strong,
body[dir="rtl"] .zs-topbar__contacts a,
body[dir="rtl"] .zs-footer-contact a,
body[dir="rtl"] .zs-inquiry-contact__body a,
body[dir="rtl"] .zs-inquiry-contact__body strong {
	unicode-bidi: isolate !important;
}
html[dir="rtl"] .zs-inquiry-contact__body strong,
body[dir="rtl"] .zs-inquiry-contact__body strong,
html[dir="rtl"] .zs-topbar__contacts .zs-bidi-ltr,
body[dir="rtl"] .zs-footer-contact .zs-bidi-ltr {
	direction: ltr !important;
}

/* ===============================================================
 * 搜索框美化
 * 原来用的是 WordPress 默认搜索表单，只给了 display:flex，
 * 输入框和按钮都保持浏览器默认长相（灰底、凸起边框），很突兀。
 * 这里做成「圆角输入框 + 绿色按钮」一体化胶囊，与网站其它按钮风格统一。
 * =============================================================== */
.search-form,
.zs-search-form {
	max-width: 100%;
	margin-bottom: 20px;
	display: flex;
	align-items: stretch;
	box-shadow: 0 6px 18px rgba(8,28,43,.06);
	border-radius: 10px;
}

.search-form .search-field,
.zs-search-form input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 50px;
	padding: 0 18px;
	border: 1px solid #d6dee3;
	border-right: 0;
	border-radius: 10px 0 0 10px;
	background: #fff;
	color: #273944;
	font-family: inherit;
	font-size: .95rem;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.search-form .search-field::placeholder,
.zs-search-form input[type="search"]::placeholder { color: #9aa7b0; }
.search-form .search-field:focus,
.zs-search-form input[type="search"]:focus {
	outline: none;
	border-color: var(--zs-green);
	box-shadow: inset 0 0 0 1px var(--zs-green);
}

.search-form .search-submit,
.zs-search-form button {
	flex: 0 0 auto;
	min-height: 50px;
	padding: 0 26px;
	border: 0;
	border-radius: 0 10px 10px 0;
	background: var(--zs-green);
	color: #fff;
	font-family: inherit;
	font-size: .95rem;
	font-weight: 800;
	letter-spacing: .02em;
	cursor: pointer;
	transition: background-color .2s ease;
}
.search-form .search-submit:hover,
.zs-search-form button:hover { background: var(--zs-green-dark); color: #fff; }

/* 搜索无结果页那个大搜索框 */
.zs-search-form { max-width: 560px; margin: 26px auto; }

/* RTL 语言里圆角方向对调 */
html[dir="rtl"] .search-form .search-field,
html[dir="rtl"] .zs-search-form input[type="search"] { border-right: 1px solid #d6dee3; border-left: 0; border-radius: 0 10px 10px 0; }
html[dir="rtl"] .search-form .search-submit,
html[dir="rtl"] .zs-search-form button { border-radius: 10px 0 0 10px; }

/* ===============================================================
 * 手机端：「关于我们」的绿色标签不再压在照片上
 * 原来标签是绝对定位浮在图片左下角，手机屏小，标签占了照片很大一块。
 * 手机端把它改成普通流：直接排在照片下方，照片完整露出，标签也不丢。
 * 桌面端维持原来的浮层设计，不受影响。
 * =============================================================== */
@media (max-width: 700px) {
	.zs-about__badge {
		position: static !important;
		display: inline-flex !important;
		left: auto !important;
		bottom: auto !important;
		margin: 14px 0 0 !important;
		padding: 12px 18px !important;
		box-shadow: 0 10px 22px rgba(35,164,83,.22) !important;
	}
	.zs-about__badge strong { font-size: 1.1rem !important; }
	.zs-about__badge span { font-size: .72rem !important; margin-top: 2px !important; }
}

/* 平板这一档（701–1024）标签也偏大，同样收一收，但保持浮在图上 */
@media (min-width: 701px) and (max-width: 1280px) {
	.zs-about__badge { padding: 13px 18px; left: 16px; bottom: 16px; }
	.zs-about__badge strong { font-size: 1.22rem; }
	.zs-about__badge span { font-size: .72rem; }
}

/* ===============================================================
 * 手机端：首页「公司新闻」只显示前 4 篇
 * 桌面端保持 6 篇，手机端把第 5、6 张卡片隐藏（数据仍然加载，
 * 只是不显示，不影响 SEO 与「查看全部新闻」）
 * =============================================================== */
@media (max-width: 700px) {
	#news .zs-news-card:nth-child(n+5),
	.zs-news .zs-news-card:nth-child(n+5) { display: none !important; }
}

/* ===============================================================
 * 手机端：首页「公司新闻」只显示前 4 篇（修正版选择器）
 * 首页新闻卡片是 .zs-post-grid 下的匿名 div，所以按位置选第 5 张起隐藏。
 * 只作用于首页新闻区块（#news），不影响案例、FAQ 等其它区块。
 * =============================================================== */
@media (max-width: 700px) {
	#news .zs-post-grid > *:nth-child(n+5) { display: none !important; }
}

/* ===============================================================
 * 手机端头部：强制单行（logo + 语言切换 + 菜单按钮）
 * 越南语等语言名较长，加上 logo 后整行超宽，被换行保护挤到了第二行。
 * 这里：头部禁止换行 + 缩小 logo + 收窄语言切换与菜单按钮。
 * =============================================================== */
@media (max-width: 1280px) {
	.zs-header__inner { flex-wrap: nowrap !important; gap: 8px !important; }
	.zs-brand-wrap { min-width: 0; flex: 1 1 auto; }
	.zs-logo img,
	.zs-logo__pc,
	.zs-logo__mobile { max-height: 34px !important; width: auto; }
	.zs-header__actions { flex: 0 0 auto !important; gap: 8px !important; }
	.zs-header-lang .zs-lang__toggle { min-height: 30px !important; padding: 3px 8px !important; }
	.zs-header-lang .zs-lang__current { max-width: 74px !important; }
	.zs-nav-toggle { width: 38px !important; height: 38px !important; }
	.zs-nav-toggle svg { width: 20px !important; height: 20px !important; }
}

@media (max-width: 520px) {
	.zs-header-lang .zs-lang__current { max-width: 56px !important; }
	.zs-logo img,
	.zs-logo__pc,
	.zs-logo__mobile { max-height: 30px !important; }
}

/* ===============================================================
 * 手机底部工具条：文字溢出修正
 * 这一排是 4 等分网格，每格只占屏幕 1/4。越南语等语言的标签很长
 * （「Liên hệ với chúng tôi」比「联系我们」长好几倍），原来的字号会顶到格子边缘。
 * 处理：字号按屏宽自适应 + 高度自动撑开 + 允许在词内换行，任何语言都不会溢出。
 * =============================================================== */
@media (max-width: 1280px) {
	.zs-mobile-bar__item {
		height: auto !important;
		min-height: 62px !important;
		padding: 7px 4px !important;
		font-size: .6rem !important;
		line-height: 1.15 !important;
		overflow-wrap: anywhere;
		word-break: break-word;
		hyphens: auto;
	}
	.zs-mobile-bar__item span { display: block; max-width: 100%; }
}

@media (max-width: 380px) {
	.zs-mobile-bar__item { font-size: .55rem !important; min-height: 58px !important; }
}

/* ===============================================================
 * 按钮在窄屏下的通用适配（彻底解决"长标签折行/溢出"）
 * 之前给所有按钮加了禁止换行，长文案（越南语「Yêu cầu báo giá」等）
 * 就会横向溢出容器。这里改成：按屏宽下调字号，让它一行就放得下；
 * 同时限制最大宽度，任何按钮都不会超出容器。
 * =============================================================== */
.zs-btn { max-width: 100%; }
.zs-btn--wide { width: 100%; }

@media (max-width: 1280px) {
	.zs-btn { font-size: .85rem !important; }
	.zs-btn--large { font-size: .88rem !important; }
}

@media (max-width: 620px) {
	.zs-btn { font-size: .8rem !important; padding-left: 16px !important; padding-right: 16px !important; }
	.zs-btn--large { font-size: .82rem !important; }
	.zs-mobile-nav .zs-btn--wide { font-size: .82rem !important; }
}

@media (max-width: 400px) {
	.zs-btn { font-size: .75rem !important; padding-left: 13px !important; padding-right: 13px !important; }
}

/* 桌面导航再收紧：部分语言菜单名远长于中文，避免整排换行把按钮挤下去 */
.zs-menu { gap: 11px !important; }
.zs-menu > li > a { font-size: .8rem !important; padding: 0 2px !important; }
@media (min-width: 1560px) {
	.zs-menu { gap: 18px !important; }
	.zs-menu > li > a { font-size: .86rem !important; }
}

/* ===============================================================
 * 桌面端：报价按钮必须和菜单同一行（禁止掉到第二行）
 * 菜单已按语言缩短、间距也收过，宽度足够。
 * 这里把"放不下就换行"的保险在桌面端关掉，从规则上钉死一行。
 * =============================================================== */
@media (min-width: 1281px) {
	.zs-header__inner { flex-wrap: nowrap !important; }
	.zs-primary-nav { min-width: 0; }
	.zs-header__actions { flex: 0 0 auto !important; }
	.zs-btn--header { flex: 0 0 auto !important; }
}

/* 撤销刚才的 nowrap —— 放不下时它会压到菜单上，比换行更糟。
   先恢复成会换行（不会重叠），真正的解法在语言文案上。 */
@media (min-width: 1281px) {
	.zs-header__inner { flex-wrap: wrap !important; row-gap: 4px; }
	.zs-header__actions { flex: 0 0 auto !important; }
}

/* ===============================================================
 * 桌面端头部改为「两排」结构（彻底解决各语言导航放不下）
 *   第一排：logo（左） + 语言切换 + 报价按钮（右）
 *   第二排：整行放主导航
 * 导航独占一行 → 任何语言的标签长度都不会再把按钮挤下去或压上来。
 * 这是 B2B 网站很常见的排法，中英文都适用。
 * =============================================================== */
@media (min-width: 1281px) {
	.zs-header__inner {
		flex-wrap: wrap !important;
		row-gap: 0 !important;
		padding-bottom: 0;
	}
	.zs-brand-wrap { order: 1; }
	.zs-header__actions { order: 2; margin-left: auto !important; flex: 0 0 auto !important; }
	.zs-primary-nav {
		order: 3;
		flex: 1 0 100% !important;
		margin-left: 0 !important;
		border-top: 1px solid var(--zs-line);
	}
	.zs-menu { gap: 24px !important; flex-wrap: wrap !important; row-gap: 0 !important; }
	.zs-menu > li > a { min-height: 50px !important; font-size: .86rem !important; }
	.zs-brand-wrap { min-height: 74px; display: flex; align-items: center; }
}

@media (min-width: 1560px) {
	.zs-menu { gap: 28px !important; }
	.zs-menu > li > a { font-size: .9rem !important; }
}

/* 桌面端第二排导航居中 */
@media (min-width: 1281px) {
	.zs-menu { justify-content: center !important; }
	.zs-primary-nav { text-align: center; }
}

/* 头部第一排宣传语：一体化浅色胶囊 + 内嵌绿色小胶囊（含 RTL 逻辑方向） */
.zs-header__promo {
	display: none;
	align-items: center;
	gap: 9px;
	margin-inline-start: 24px;
	padding-block: 5px;
	padding-inline: 5px 16px;
	border-radius: 999px;
	background: linear-gradient(120deg, #f3fbf6 0%, #eef8f2 48%, #ecf4fd 100%);
	border: 1px solid rgba(23, 132, 63, .14);
	box-shadow: 0 6px 18px rgba(15, 73, 40, .07);
	min-width: 0;
}
.zs-header__promo-hi {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	padding: 6px 15px;
	border-radius: 999px;
	background: linear-gradient(135deg, #2eb45e, #15803c);
	color: #fff;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .015em;
	line-height: 1.3;
	white-space: nowrap;
	box-shadow: 0 4px 10px rgba(21, 128, 60, .26), inset 0 1px 0 rgba(255, 255, 255, .32);
}
.zs-header__promo-txt {
	flex: 0 1 auto;
	min-width: 0;
	color: #33474f;
	font-size: .81rem;
	font-weight: 600;
	letter-spacing: .005em;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (min-width: 1281px) {
	.zs-header__promo { display: flex; }
}
@media (min-width: 1281px) and (max-width: 1500px) {
	.zs-header__promo { margin-inline-start: 16px; gap: 8px; padding-block: 4px; padding-inline: 4px 13px; }
	.zs-header__promo-hi { font-size: .73rem; padding: 5px 12px; }
	.zs-header__promo-txt { font-size: .75rem; }
}
/* 宣传语排序：必须排在 logo 之后、报价按钮之前（同一行） */
@media (min-width: 1281px) {
	.zs-brand-wrap { order: 1; }
	.zs-header__promo { order: 2; flex: 0 1 auto !important; min-width: 0; }
	.zs-header__actions { order: 3; margin-left: auto !important; flex: 0 0 auto !important; }
	.zs-primary-nav { order: 4; }
}

/* ===============================================================
 * 桌面端第一排：logo 居中？不 —— 宣传语严格居中，logo 左、按钮右
 * 用 grid 把第一排分成「左右等宽 + 中间自适应」三列，
 * 中间列放宣传语，天然就是整行正中央；导航仍独占第二排。
 * =============================================================== */
@media (min-width: 1281px) {
	.zs-header__inner {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		column-gap: 16px;
		align-items: center;
	}
	.zs-brand-wrap { grid-column: 1; grid-row: 1; justify-self: start; }
	.zs-header__promo {
		grid-column: 2; grid-row: 1;
		justify-self: center;
		margin: 0 !important;
		max-width: 100%;
	}
	.zs-header__actions { grid-column: 3; grid-row: 1; justify-self: end; margin: 0 !important; }
	.zs-primary-nav { grid-column: 1 / -1; grid-row: 2; margin: 0 !important; }
}
/* ===============================================================
 * 顶栏一次性防重叠（33 种语言通用，不再挑语言打补丁）
 * 规则：邮箱/电话/热线永远完整；口号是唯一的「可收缩项」，
 *       地方不够就用省略号收尾；语言切换器固定，永不被压、不被盖。
 * =============================================================== */
.zs-topbar__inner { flex-wrap: nowrap; gap: 14px; }
.zs-topbar__contacts {
	flex: 1 1 auto;
	min-width: 0;
	flex-wrap: nowrap !important;
	overflow: hidden;
}
.zs-topbar__contacts > * { flex: 0 0 auto; }
.zs-topbar__right { flex: 0 0 auto; }

/* 口号：可收缩 + 省略号（图标保留，文字自动省略） */
.zs-topbar__contacts > span:first-child {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 100%;
	display: inline-block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	vertical-align: middle;
}
.zs-topbar__contacts > span:first-child svg {
	vertical-align: -2px;
	margin-right: 7px;
}
/* ===============================================================
 * 常见问题（FAQ）页：问题搜索
 * 纯前端过滤，不产生新网址、不影响 SEO；33 种语言通用（含 RTL）
 * =============================================================== */
.zs-faq-search { margin: 0 0 22px; }
.zs-faq-search__field {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 560px;
	padding: 0 14px;
	border: 1px solid var(--zs-line);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(8, 28, 43, .05);
	transition: border-color .2s ease, box-shadow .2s ease;
}
.zs-faq-search__field:focus-within {
	border-color: #1f9e55;
	box-shadow: 0 0 0 3px rgba(31, 158, 85, .13), 0 8px 22px rgba(8, 28, 43, .08);
}
.zs-faq-search__field > svg { width: 18px; height: 18px; flex: 0 0 auto; color: #1f9e55; }
.zs-faq-search__input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 48px;
	border: 0;
	background: transparent;
	color: #10202a;
	font: inherit;
	font-size: .95rem;
	line-height: 1.4;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}
.zs-faq-search__input::placeholder { color: #8a99a3; }
.zs-faq-search__input::-webkit-search-cancel-button,
.zs-faq-search__input::-webkit-search-decoration { display: none; }
.zs-faq-search__clear {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #eef3f6;
	color: #5b6b74;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.zs-faq-search__clear:hover { background: #e2eaef; color: #10202a; }
.zs-faq-search__clear svg { width: 14px; height: 14px; }
.zs-faq-search__clear[hidden] { display: none; }
.zs-faq-search__status {
	margin: 10px 0 0;
	font-size: .86rem;
	font-weight: 700;
	color: #1f9e55;
}
.zs-faq-search__status:empty { display: none; }
.zs-faq-search__status.is-empty { color: #c0392b; }
.zs-faq-item.is-filtered-out { display: none !important; }


/* ===============================================================
 * 产品分类页：机型常见问题区块
 * 只展示属于本机型的问答；正文留在各自文章页，避免重复内容
 * =============================================================== */
.zs-cat-faq { padding: 58px 0 10px; margin-top: 8px; border-top: 1px solid var(--zs-line); }
.zs-cat-faq__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 22px; }
.zs-cat-faq__head h2 { margin: 8px 0 0; color: var(--zs-navy); font-size: clamp(1.3rem, 2.1vw, 1.7rem); line-height: 1.25; }
.zs-cat-faq__head .zs-btn { flex: 0 0 auto; }
.zs-cat-faq__list { margin-bottom: 0; }
@media (max-width: 782px) {
	.zs-cat-faq { padding-top: 42px; }
	.zs-cat-faq__head { flex-direction: column; align-items: flex-start; gap: 14px; }
	.zs-cat-faq__head .zs-btn { width: 100%; justify-content: center; }
}

/* ===============================================================
 * RTL（阿拉伯语 / 希伯来语）下拉面板修正
 * 原写法用物理属性 right:0，RTL 下面板会从切换按钮向左延伸，
 * 直接跑到屏幕外，看起来就是左边一大块白框 + 横向滚动条。
 * 改用逻辑属性：LTR 贴右、RTL 贴左，并且永不超出视口。
 * =============================================================== */
.zs-lang__panel {
	inset-inline-end: 0;
	inset-inline-start: auto;
	max-width: calc(100vw - 24px);
}
.zs-lang__item.is-current::after {
	margin-inline-start: auto;
	margin-left: 0;
}

/* 手机端菜单的展开箭头：RTL 下应该贴左边，否则会压住标题文字 */
html[dir="rtl"] .zs-mobile-submenu-toggle,
body[dir="rtl"] .zs-mobile-submenu-toggle {
	right: auto;
	left: 0;
	border-left: 0;
	border-right: 1px solid var(--zs-line);
}
html[dir="rtl"] .zs-mobile-nav .zs-menu > li.has-submenu > a,
body[dir="rtl"] .zs-mobile-nav .zs-menu > li.has-submenu > a {
	padding-right: 0;
	padding-left: 60px;
}
/* 通用问答：只列问题 + 链接到独立文章（不输出答案正文，避免全站重复内容） */
.zs-faq-link { display: flex; align-items: center; gap: 14px; padding: 17px 0; border-bottom: 1px solid var(--zs-line); color: var(--zs-navy); font-size: 1rem; font-weight: 700; text-decoration: none; transition: color .2s ease; }
.zs-faq-link:hover { color: var(--zs-green-dark); }
.zs-faq-link .zs-faq-item__question { flex: 1 1 auto; min-width: 0; }
.zs-faq-link__more { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; color: var(--zs-green-dark); font-size: .84rem; font-weight: 800; white-space: nowrap; }
.zs-faq-link__more .zs-icon { width: 15px; height: 15px; }
.zs-faq-link:hover .zs-faq-link__more { color: var(--zs-green); }
@media (max-width: 640px) {
	.zs-faq-link { font-size: .95rem; gap: 10px; }
	.zs-faq-link__more span { display: none; }
}