@charset "UTF-8";
/* ==========================================================================
   CXJN 浼佷笟瀹樼綉涓绘牱寮?   鐗堝紡鍙傜収鍗庝负瀹樼綉瑙嗚浣撶郴锛氬浐瀹氶《鏍?+ 閫氭爮宸ㄥ箷 + 妯″潡鍖栧垎鏍?+ 鍗＄墖缃戞牸 + 鏁版嵁甯?   閰嶈壊閲囩敤浼佷笟鑷湁绉戞妧钃?/ 鑳芥簮缁?   鐩綍锛?     01 璁捐鍙橀噺
     02 鍩虹閲嶇疆涓庢帓鐗?     03 甯冨眬涓庨€氱敤缁勪欢
     04 椤堕儴宸ュ叿鏉′笌涓诲鑸?     05 棣栭〉宸ㄥ箷 Hero
     06 鏁版嵁甯?     07 鏍稿績涓氬姟鍗＄墖
     08 妗堜緥鍗＄墖
     09 鍥炬枃宸﹀彸浜ゆ浛妯″潡
     10 璧勮川鑽ｈ獕 / Logo 澧?     11 鏂伴椈鍗＄墖
     12 鍐呴〉 Banner 涓庨潰鍖呭睉
     13 鍐呴〉妯″潡锛堟柟妗堣鎯?/ 妗堜緥璇︽儏 / 鍒楄〃椤碉級
     14 琛ㄥ崟
     15 椤佃剼涓庢偓娴鏈?     16 鍒嗛〉 / 渚ц竟鏍?/ 鏉傞」
     17 鍝嶅簲寮?   ========================================================================== */

/* ============ 01 璁捐鍙橀噺 ============ */
:root {
	/* 品牌色：取自长新杰能官方 Logo 实际像素 —— 蓝 #0080C8 / 绿 #68B828 / 金 #E89018 */
	--c-primary: #0080C8;
	--c-primary-dark: #005F96;
	--c-primary-light: #E6F4FB;
	--c-primary-hover: #006BA8;
	--c-accent: #68B828;
	--c-accent-dark: #4E8F1C;
	--c-accent-light: #F0F8E6;
	--c-gold: #E89018;
	--c-gold-dark: #C2760D;
	--c-gold-light: #FDF3E3;
	--c-highlight: #E89018;

	/* 涓€ц壊闃讹紙瀵瑰簲鍗庝负瀹樼綉鐨勯粦鐧界伆浣撶郴锛?*/
	--c-black: #000000;
	--c-ink: #111111;
	--c-text: #1A1A1A;
	--c-text-sub: #4D4D4D;
	--c-text-mute: #737373;
	--c-text-light: #9A9A9A;
	--c-line: #E4E4E4;
	--c-line-soft: #EFEFEF;
	--c-bg: #FFFFFF;
	--c-bg-soft: #F5F7FA;
	--c-bg-grey: #FAFAFA;
	--c-bg-dark: #0B0F14;
	--c-bg-dark-2: #14191F;

	/* 瀹瑰櫒涓庢爡鏍?*/
	--container: 1200px;
	--container-wide: 1440px;
	--gutter: 24px;
	--col-gap: 24px;

	/* 瀛楀彿灞傜骇 */
	--fs-hero: 56px;
	--fs-h1: 44px;
	--fs-h2: 38px;
	--fs-h3: 24px;
	--fs-h4: 20px;
	--fs-lg: 18px;
	--fs-body: 16px;
	--fs-sm: 14px;
	--fs-xs: 12px;

	/* 琛岄珮涓庡瓧閲嶏紙涓枃姝ｆ枃 1.95 鏄崕涓鸿川鎰熺殑鍏抽敭锛?*/
	--lh-tight: 1.18;
	--lh-title: 1.4;
	--lh-body: 1.95;
	--fw-normal: 400;
	--fw-medium: 500;
	--fw-bold: 700;

	/* 鐣欑櫧鑺傚 */
	--sp-1: 4px;
	--sp-2: 8px;
	--sp-3: 12px;
	--sp-4: 16px;
	--sp-5: 24px;
	--sp-6: 32px;
	--sp-7: 40px;
	--sp-8: 56px;
	--sp-9: 72px;
	--sp-10: 96px;
	--section-py: 88px;
	--section-py-sm: 64px;

	/* 褰㈢姸涓庨槾褰?*/
	--radius-sm: 2px;
	--radius: 4px;
	--radius-lg: 8px;
	--radius-pill: 999px;
	--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);
	--shadow: 0 6px 24px rgba(0, 0, 0, .08);
	--shadow-lg: 0 14px 44px rgba(0, 0, 0, .12);
	--shadow-nav: 0 1px 0 rgba(0, 0, 0, .06), 0 4px 18px rgba(0, 0, 0, .05);

	/* 鍔ㄦ晥 */
	--ease: cubic-bezier(.22, .61, .36, 1);
	--dur-fast: .18s;
	--dur: .3s;
	--dur-slow: .55s;

	/* 瀵艰埅灏哄 */
	--topbar-h: 34px;
	--nav-h: 72px;
	--nav-h-sm: 62px;
}

/* ============ 02 鍩虹閲嶇疆涓庢帓鐗?============ */
*,
*::before,
*::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--nav-h) + 16px);
}

body {
	margin: 0;
	font-family: "HarmonyOS Sans SC", "HarmonyOS Sans", "Source Han Sans SC", "Noto Sans SC",
		"PingFang SC", "Microsoft YaHei", "寰蒋闆呴粦", "Helvetica Neue", Arial, sans-serif;
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	color: var(--c-text);
	background: var(--c-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

body.nav-open { overflow: hidden; }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 var(--sp-4);
	font-weight: var(--fw-bold);
	line-height: var(--lh-title);
	color: var(--c-ink);
	letter-spacing: -.01em;
}
h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
h4 { font-size: var(--fs-h4); }
h5 { font-size: var(--fs-lg); }
h6 { font-size: var(--fs-body); }

p { margin: 0 0 var(--sp-4); }
p:last-child { margin-bottom: 0; }

a {
	color: var(--c-primary);
	text-decoration: none;
	transition: color var(--dur-fast) var(--ease);
}
a:hover { color: var(--c-primary-hover); }

img { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }
ul, ol { margin: 0 0 var(--sp-4); padding-left: 1.4em; }
li { margin-bottom: var(--sp-2); }

strong { font-weight: var(--fw-bold); color: var(--c-ink); }
small { font-size: var(--fs-xs); }

hr {
	border: 0;
	border-top: 1px solid var(--c-line);
	margin: var(--sp-8) 0;
}

blockquote {
	margin: var(--sp-6) 0;
	padding: var(--sp-5) var(--sp-6);
	background: var(--c-bg-soft);
	border-left: 3px solid var(--c-primary);
	color: var(--c-text-sub);
	font-size: var(--fs-lg);
}
blockquote p:last-child { margin-bottom: 0; }

code, pre {
	font-family: Consolas, Monaco, "Courier New", monospace;
	font-size: var(--fs-sm);
	background: var(--c-bg-soft);
	border-radius: var(--radius-sm);
}
code { padding: 2px 6px; }
pre { padding: var(--sp-5); overflow: auto; }

::selection { background: var(--c-primary); color: #fff; }

:focus-visible {
	outline: 2px solid var(--c-primary);
	outline-offset: 2px;
}

/* 鏃犻殰纰嶉殣钘?*/
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}

.skip-link:focus {
	position: fixed; top: 8px; left: 8px; z-index: 9999;
	width: auto; height: auto; clip: auto;
	background: #fff; color: var(--c-primary);
	padding: 10px 16px; border-radius: var(--radius);
	box-shadow: var(--shadow);
}

/* ============ 03 甯冨眬涓庨€氱敤缁勪欢 ============ */
.container {
	width: 100%;
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter);
}
.container--wide { max-width: var(--container-wide); }
.container--narrow { max-width: 900px; }

.section { padding: var(--section-py) 0; }
.section--tight { padding: var(--section-py-sm) 0; }
.section--soft { background: var(--c-bg-soft); }
.section--grey { background: var(--c-bg-grey); }
.section--dark { background: var(--c-bg-dark); color: #fff; }
.section--dark h2, .section--dark h3, .section--dark h4 { color: #fff; }

.section-head {
	position: relative;
	margin-bottom: var(--sp-8);
	max-width: 820px;
}
.section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.section-head--left { text-align: left; }

.section-eyebrow {
	margin: 0 0 var(--sp-3);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--c-primary);
}
.section-head--light .section-eyebrow { color: #6FB4FF; }

.section-title {
	margin: 0 0 var(--sp-4);
	font-size: var(--fs-h2);
	font-weight: var(--fw-bold);
	line-height: var(--lh-title);
	letter-spacing: -.01em;
}

.section-subtitle {
	margin: 0;
	font-size: var(--fs-lg);
	color: var(--c-text-mute);
	line-height: 1.8;
}
.section-head--light .section-subtitle { color: rgba(255, 255, 255, .72); }

.section-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--sp-4);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	color: var(--c-primary);
}
.section-head--light .section-link { color: #6FB4FF; }
.section-link .arrow { transition: transform var(--dur) var(--ease); }
.section-link:hover .arrow { transform: translateX(4px); }

/* 鎸夐挳 */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 30px;
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	line-height: 1;
	border: 1px solid transparent;
	border-radius: var(--radius-pill);
	cursor: pointer;
	transition: all var(--dur) var(--ease);
	white-space: nowrap;
	text-align: center;
}
.btn--sm { min-height: 36px; padding: 0 20px; font-size: var(--fs-sm); }
.btn--lg { min-height: 54px; padding: 0 38px; font-size: var(--fs-lg); }

.btn--primary {
	background: var(--c-primary);
	border-color: var(--c-primary);
	color: #fff;
}
.btn--primary:hover {
	background: var(--c-primary-hover);
	border-color: var(--c-primary-hover);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(10, 95, 204, .28);
}

.btn--accent {
	background: var(--c-accent);
	border-color: var(--c-accent);
	color: #fff;
}
.btn--accent:hover { background: var(--c-accent-dark); border-color: var(--c-accent-dark); color: #fff; }

.btn--ghost {
	background: transparent;
	border-color: var(--c-primary);
	color: var(--c-primary);
}
.btn--ghost:hover { background: var(--c-primary); color: #fff; }

.btn--ghost-light {
	background: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .7);
	color: #fff;
	backdrop-filter: blur(2px);
}
.btn--ghost-light:hover {
	background: #fff;
	border-color: #fff;
	color: var(--c-ink);
}

.btn--text {
	min-height: auto;
	padding: 0;
	border: 0;
	background: none;
	color: var(--c-primary);
	border-radius: 0;
}
.btn--text:hover { color: var(--c-primary-hover); }
.btn--text::after {
	content: "鈫?;
	margin-left: 6px;
	transition: transform var(--dur) var(--ease);
}
.btn--text:hover::after { transform: translateX(4px); }

/* 鏍囩 */
.tag {
	display: inline-block;
	padding: 3px 10px;
	font-size: var(--fs-xs);
	line-height: 1.6;
	color: var(--c-primary);
	background: var(--c-primary-light);
	border-radius: var(--radius-sm);
}
.tag--ghost {
	color: var(--c-text-mute);
	background: transparent;
	border: 1px solid var(--c-line);
}
.tag--accent { color: var(--c-accent-dark); background: var(--c-accent-light); }

/* 閫氱敤鍥炬爣 */
.icon { display: block; }

/* ============ 04 椤堕儴宸ュ叿鏉′笌涓诲鑸?============ */
.topbar {
	height: var(--topbar-h);
	background: var(--c-bg-soft);
	border-bottom: 1px solid var(--c-line-soft);
	font-size: var(--fs-xs);
	color: var(--c-text-mute);
}
.topbar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}
.topbar-slogan { margin: 0; letter-spacing: .02em; }
.topbar-links { display: flex; align-items: center; gap: var(--sp-5); }
.topbar-tel {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--c-text-sub);
	font-weight: var(--fw-medium);
}
.topbar-tel:hover { color: var(--c-primary); }
.topbar-diagnosis { color: var(--c-primary); font-weight: var(--fw-medium); }
.topbar-diagnosis:hover { text-decoration: underline; }

.site-header {
	position: sticky;
	top: 0;
	z-index: 900;
	background: rgba(255, 255, 255, .96);
	backdrop-filter: saturate(180%) blur(12px);
	transition: box-shadow var(--dur) var(--ease), background var(--dur) var(--ease);
}
.site-header.is-stuck,
body:not(.is-home) .site-header { box-shadow: var(--shadow-nav); }
.site-header.is-stuck { background: rgba(255, 255, 255, .98); }

.header-inner {
	display: flex;
	align-items: center;
	gap: var(--sp-5);
	height: var(--nav-h);
}

/* 鍝佺墝 */
.site-branding { flex: 0 0 auto; }
.brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--c-primary);
}
.brand:hover { color: var(--c-primary); }
.brand-mark { display: flex; color: var(--c-primary); }
.brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.brand-cn {
	font-size: 21px;
	font-weight: var(--fw-bold);
	color: var(--c-ink);
	letter-spacing: .02em;
}
.brand-en {
	font-size: 10px;
	letter-spacing: .16em;
	color: var(--c-text-light);
	text-transform: uppercase;
}
.brand--footer .brand-cn { color: #fff; }
.brand--footer .brand-en { color: rgba(255, 255, 255, .5); }
.brand--footer .brand-mark { color: #6FB4FF; }
.custom-logo-link img { max-height: 52px; width: auto; }

/* 真实 Logo 图片版 */
.brand--img { display: block; }
.brand-logo {
	display: block;
	width: auto;
	height: 52px;
	max-height: 52px;
	transition: opacity var(--dur) var(--ease);
}
.brand--img:hover .brand-logo { opacity: .88; }
.brand--footer .brand-logo { height: 46px; max-height: 46px; }

/* 涓诲鑸?*/
.primary-nav { flex: 1 1 auto; display: flex; justify-content: flex-end; }
.primary-nav .menu {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.primary-nav .menu > li {
	position: relative;
	margin: 0;
}
.primary-nav .menu > li > a {
	position: relative;
	display: block;
	padding: 0 16px;
	height: var(--nav-h);
	line-height: var(--nav-h);
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	color: var(--c-text);
	white-space: nowrap;
}
.primary-nav .menu > li > a::after {
	content: "";
	position: absolute;
	left: 16px; right: 16px;
	bottom: 0;
	height: 2px;
	background: var(--c-primary);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--dur) var(--ease);
}
.primary-nav .menu > li:hover > a,
.primary-nav .menu > li > a:hover,
.primary-nav .menu > li.current-menu-item > a,
.primary-nav .menu > li.current-menu-ancestor > a,
.primary-nav .menu > li.current_page_item > a,
.primary-nav .menu > li.current_page_ancestor > a { color: var(--c-primary); }
.primary-nav .menu > li:hover > a::after,
.primary-nav .menu > li.current-menu-item > a::after,
.primary-nav .menu > li.current-menu-ancestor > a::after,
.primary-nav .menu > li.current_page_item > a::after,
.primary-nav .menu > li.current_page_ancestor > a::after { transform: scaleX(1); }

/* 涓嬫媺鑿滃崟 */
.primary-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(6px);
	min-width: 240px;
	margin: 0;
	padding: 10px 0;
	list-style: none;
	background: #fff;
	border-radius: 0 0 var(--radius) var(--radius);
	box-shadow: var(--shadow);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur);
	z-index: 20;
}
.primary-nav .menu > li:hover > .sub-menu,
.primary-nav .menu > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}
.primary-nav .sub-menu li { margin: 0; }
.primary-nav .sub-menu a {
	display: block;
	padding: 10px 22px;
	font-size: var(--fs-sm);
	color: var(--c-text-sub);
	white-space: normal;
}
.primary-nav .sub-menu a:hover {
	background: var(--c-bg-soft);
	color: var(--c-primary);
}

/* 澶撮儴鍙充晶鍔ㄤ綔 */
.header-actions { display: flex; align-items: center; gap: var(--sp-4); flex: 0 0 auto; }
.header-search {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px; height: 36px;
	border-radius: 50%;
	color: var(--c-text-sub);
}
.header-search:hover { background: var(--c-bg-soft); color: var(--c-primary); }

/* 姹夊牎鎸夐挳 */
.nav-toggle {
	display: none;
	align-items: center;
	gap: 8px;
	padding: 8px 4px;
	background: none;
	border: 0;
	cursor: pointer;
	color: var(--c-text);
}
.nav-toggle-bar {
	position: relative;
	display: block;
	width: 22px; height: 2px;
	background: currentColor;
	transition: transform var(--dur) var(--ease), opacity var(--dur-fast) var(--ease);
}
.nav-toggle-bar + .nav-toggle-bar { margin-top: 5px; }
.nav-toggle-text {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
}

.nav-scrim {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .45);
	z-index: 890;
	opacity: 0;
	transition: opacity var(--dur) var(--ease);
}
.nav-scrim.is-visible { opacity: 1; }

/* ============ 05 棣栭〉宸ㄥ箷 Hero ============ */
.hero {
	position: relative;
	background: var(--c-bg-dark);
	overflow: hidden;
}
.hero-slides { position: relative; }
.hero-slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	min-height: 640px;
	background-size: cover;
	background-position: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .9s var(--ease), visibility .9s;
}
.hero-slide:first-child { position: relative; }
.hero-slide.is-active { opacity: 1; visibility: visible; z-index: 2; }
.hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(4, 16, 33, .88) 0%, rgba(4, 16, 33, .62) 42%, rgba(4, 16, 33, .22) 100%);
}
.hero-content {
	position: relative;
	z-index: 3;
	max-width: 720px;
	padding-top: var(--sp-9);
	padding-bottom: var(--sp-9);
	color: #fff;
}
.hero-title {
	margin: 0 0 var(--sp-5);
	font-size: var(--fs-hero);
	font-weight: var(--fw-bold);
	line-height: var(--lh-tight);
	color: #fff;
	letter-spacing: -.02em;
	text-shadow: 0 2px 24px rgba(0, 0, 0, .3);
}
.hero-subtitle {
	margin: 0 0 var(--sp-7);
	max-width: 560px;
	font-size: 20px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .88);
}
.hero-actions { display: flex; flex-wrap: wrap; gap: var(--sp-4); }

.hero-dots {
	position: absolute;
	left: 50%;
	bottom: 32px;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 5;
}
.hero-dot {
	width: 32px; height: 3px;
	padding: 0;
	border: 0;
	border-radius: var(--radius-pill);
	background: rgba(255, 255, 255, .38);
	cursor: pointer;
	transition: background var(--dur) var(--ease), width var(--dur) var(--ease);
}
.hero-dot.is-active { width: 52px; background: #fff; }

.hero-scroll {
	position: absolute;
	right: var(--gutter);
	bottom: 28px;
	z-index: 5;
	font-size: var(--fs-xs);
	letter-spacing: .16em;
	color: rgba(255, 255, 255, .6);
	writing-mode: vertical-rl;
}

/* ============ 06 鏁版嵁甯?============ */
.stats-band {
	position: relative;
	z-index: 10;
	background: var(--c-primary);
	color: #fff;
}
.stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.stat {
	padding: var(--sp-7) var(--sp-5);
	text-align: center;
	border-right: 1px solid rgba(255, 255, 255, .16);
}
.stat:last-child { border-right: 0; }
.stat-num {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 4px;
	margin: 0 0 6px;
	font-weight: var(--fw-bold);
	line-height: 1;
}
.stat-value {
	font-size: 44px;
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
	color: #fff;
}
.stat-unit { font-size: var(--fs-lg); font-weight: var(--fw-medium); opacity: .9; }
.stat-desc {
	margin: 0;
	font-size: var(--fs-sm);
	color: rgba(255, 255, 255, .82);
	letter-spacing: .04em;
}

/* ============ 07 鏍稿績涓氬姟鍗＄墖 ============ */
.business-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--col-gap);
}
.biz-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	overflow: hidden;
	color: var(--c-text);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.biz-card:hover {
	transform: translateY(-4px);
	border-color: transparent;
	box-shadow: var(--shadow-lg);
	color: var(--c-text);
}
.biz-card-img {
	display: block;
	height: 190px;
	background-size: cover;
	background-position: center;
	transition: transform var(--dur-slow) var(--ease);
}

.biz-card-body {
	position: relative;
	display: block;
	padding: var(--sp-6) var(--sp-5) var(--sp-5);
}
.biz-card-icon {
	position: absolute;
	top: -32px;
	left: var(--sp-5);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px; height: 64px;
	background: #fff;
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	color: var(--c-primary);
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.biz-card:hover .biz-card-icon { background: var(--c-primary); color: #fff; }
.biz-card-title {
	display: block;
	margin: 22px 0 10px;
	font-size: var(--fs-h4);
	font-weight: var(--fw-bold);
	color: var(--c-ink);
	line-height: 1.4;
}
.biz-card-desc {
	display: block;
	font-size: var(--fs-sm);
	line-height: 1.8;
	color: var(--c-text-mute);
}
.biz-card-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--sp-5);
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	color: var(--c-primary);
}
.biz-card:hover .biz-card-more .arrow { transform: translateX(4px); }
.biz-card-more .arrow { transition: transform var(--dur) var(--ease); }

/* ============ 08 妗堜緥鍗＄墖 ============ */
.case-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--col-gap);
}
.case-grid + .case-grid { margin-top: var(--col-gap); }
/* 鍙樹綋锛氫粎鐢ㄤ簬璇箟鏍囪锛岃瑙夌敱 .case-card--light 鎵挎媴 */
.case-grid--light { }
.case-card {
	display: flex;
	flex-direction: column;
	background: var(--c-bg-dark-2);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: var(--radius);
	overflow: hidden;
	color: rgba(255, 255, 255, .78);
	transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.case-card:hover {
	transform: translateY(-4px);
	border-color: rgba(111, 180, 255, .5);
	color: #fff;
	box-shadow: 0 18px 44px rgba(0, 0, 0, .4);
}
.case-card-media { position: relative; display: block; overflow: hidden; }
.case-card-media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform var(--dur-slow) var(--ease);
}

.case-card-rate {
	position: absolute;
	left: 0; bottom: 0;
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	padding: 10px 16px;
	background: var(--c-accent);
	color: #fff;
	font-size: var(--fs-xs);
	letter-spacing: .02em;
}
.case-card-rate strong { font-size: 22px; color: #fff; line-height: 1; }
.case-card-body { display: block; padding: var(--sp-5); }
.case-card-tags { display: flex; gap: 8px; margin-bottom: var(--sp-3); }
.case-card-title {
	display: block;
	margin-bottom: var(--sp-3);
	font-size: var(--fs-h4);
	font-weight: var(--fw-bold);
	color: #fff;
	line-height: 1.45;
}
.case-card-desc {
	display: block;
	font-size: var(--fs-sm);
	line-height: 1.8;
	color: rgba(255, 255, 255, .66);
}
.case-card-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--sp-5);
	font-size: var(--fs-sm);
	color: #6FB4FF;
}
.case-card:hover .case-card-more .arrow { transform: translateX(4px); }
.case-card-more .arrow { transition: transform var(--dur) var(--ease); }

.case-card-data {
	display: block;
	margin-bottom: var(--sp-3);
	font-size: var(--fs-sm);
	color: rgba(255, 255, 255, .8);
	font-variant-numeric: tabular-nums;
}

/* 娴呰壊鑳屾櫙涓嬬殑妗堜緥鍗＄墖锛堟渚嬪垪琛ㄩ〉锛?*/
.case-card--light {
	background: #fff;
	border-color: var(--c-line);
	color: var(--c-text-sub);
}
.case-card--light:hover { border-color: var(--c-primary); box-shadow: var(--shadow-lg); color: var(--c-text); }
.case-card--light .case-card-title { color: var(--c-ink); }
.case-card--light .case-card-desc { color: var(--c-text-mute); }
.case-card--light .case-card-data { color: var(--c-text-sub); }
.case-card--light .case-card-more { color: var(--c-primary); }

/* ============ 09 鍥炬枃宸﹀彸浜ゆ浛妯″潡 ============ */
.split-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--sp-10);
	align-items: center;
}
.split-row + .split-row { margin-top: var(--sp-10); }
.split-row--reverse .split-media { order: 2; }
.split-row--reverse .split-text { order: 1; }
.split-row--top { align-items: start; }

.split-media { position: relative; }
.split-media img {
	width: 100%;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
}
.split-title {
	margin: var(--sp-3) 0 var(--sp-4);
	font-size: var(--fs-h3);
	font-weight: var(--fw-bold);
	line-height: 1.4;
}
.split-desc {
	margin: 0 0 var(--sp-5);
	font-size: var(--fs-body);
	line-height: 1.9;
	color: var(--c-text-sub);
}

.check-list { margin: 0 0 var(--sp-5); padding: 0; list-style: none; }
.check-list li {
	position: relative;
	padding-left: 30px;
	margin-bottom: var(--sp-3);
	font-size: var(--fs-body);
	color: var(--c-text-sub);
	line-height: 1.8;
}
.check-list li::before {
	content: "";
	position: absolute;
	left: 0; top: 9px;
	width: 16px; height: 9px;
	border-left: 2px solid var(--c-accent);
	border-bottom: 2px solid var(--c-accent);
	transform: rotate(-45deg);
}

/* ============ 10 璧勮川鑽ｈ獕 / Logo 澧?============ */
.split-media--certs {
	position: relative;
	min-height: 460px;
}
.cert-img {
	position: absolute;
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	border: 1px solid var(--c-line);
	background: #fff;
}
.cert-img--1 { top: 0; left: 0; width: 58%; z-index: 3; }
.cert-img--2 { top: 12%; right: 0; width: 50%; z-index: 2; }
.cert-img--3 { bottom: 0; left: 22%; width: 54%; z-index: 1; }

.honor-list { margin: 0; padding: 0; list-style: none; }
.honor-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: var(--sp-3) 0;
	border-bottom: 1px dashed var(--c-line);
	font-size: var(--fs-body);
}
.honor-list li:last-child { border-bottom: 0; }
.honor-dot {
	flex: 0 0 auto;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--c-accent);
}
.honor-name { color: var(--c-text); font-weight: var(--fw-medium); }
.honor-from {
	margin-left: auto;
	font-size: var(--fs-sm);
	color: var(--c-text-light);
	white-space: nowrap;
}

.logo-wall {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--c-line-soft);
	border: 1px solid var(--c-line-soft);
}
.logo-wall-item {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: var(--sp-6) var(--sp-5);
	background: #fff;
	min-height: 120px;
}
.logo-wall-item img {
	max-height: 52px;
	width: auto;
	filter: grayscale(1);
	opacity: .6;
	transition: filter var(--dur) var(--ease), opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.logo-wall-item:hover img { filter: grayscale(0); opacity: 1; }

/* ============ 11 鏂伴椈鍗＄墖 ============ */
.news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--col-gap);
}
.news-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	overflow: hidden;
	color: var(--c-text);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.news-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); color: var(--c-text); }
.news-card-media { display: block; overflow: hidden; }
.news-card-media img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform var(--dur-slow) var(--ease);
}

.news-card-body { display: block; padding: var(--sp-5); }
.news-card-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}
.news-card-date {
	display: block;
	font-size: var(--fs-xs);
	color: var(--c-text-light);
	letter-spacing: .04em;
}
.news-card-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--sp-4);
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	color: var(--c-primary);
}
.news-card-more .arrow { transition: transform var(--dur) var(--ease); }
.news-card:hover .news-card-more .arrow { transform: translateX(4px); }
.news-card-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-bottom: 10px;
	font-size: var(--fs-lg);
	font-weight: var(--fw-bold);
	color: var(--c-ink);
	line-height: 1.5;
	min-height: 2.9em;
}
.news-card-desc {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: var(--fs-sm);
	line-height: 1.8;
	color: var(--c-text-mute);
}

/* ============ 12 鍐呴〉 Banner 涓庨潰鍖呭睉 ============ */
.page-banner {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 360px;
	background-size: cover;
	background-position: center;
	background-color: var(--c-bg-dark);
}
.page-banner-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(4, 16, 33, .86) 0%, rgba(4, 16, 33, .58) 55%, rgba(4, 16, 33, .3) 100%);
}
.page-banner-inner {
	position: relative;
	z-index: 2;
	padding-top: var(--sp-9);
	padding-bottom: var(--sp-9);
	color: #fff;
}
.page-banner-title {
	margin: 0 0 var(--sp-3);
	font-size: var(--fs-h1);
	font-weight: var(--fw-bold);
	color: #fff;
	line-height: 1.2;
}
.page-banner-sub {
	margin: 0 0 var(--sp-5);
	max-width: 640px;
	font-size: var(--fs-lg);
	color: rgba(255, 255, 255, .84);
	line-height: 1.8;
}

.breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: var(--fs-sm);
	color: rgba(255, 255, 255, .7);
}
.breadcrumb a { color: rgba(255, 255, 255, .7); }
.breadcrumb a:hover { color: #fff; }
.breadcrumb-sep { opacity: .5; }
.breadcrumb-current { color: #fff; }

/* ============ 13 鍐呴〉妯″潡 ============ */
.page-lead {
	max-width: 880px;
	margin: 0 auto var(--sp-8);
	font-size: var(--fs-lg);
	line-height: 1.9;
	color: var(--c-text-sub);
	text-align: center;
}

.entry-content { font-size: var(--fs-body); line-height: 1.95; color: var(--c-text-sub); }
.entry-content > * + * { margin-top: var(--sp-5); }
.entry-content h2 {
	margin-top: var(--sp-9);
	margin-bottom: var(--sp-5);
	padding-left: 16px;
	font-size: 28px;
	border-left: 4px solid var(--c-primary);
	line-height: 1.4;
}
.entry-content h3 {
	margin-top: var(--sp-7);
	margin-bottom: var(--sp-4);
	font-size: var(--fs-h3);
}
.entry-content h4 { font-size: var(--fs-h4); }
.entry-content p { margin: 0 0 var(--sp-5); }
.entry-content ul, .entry-content ol { padding-left: 1.4em; }
.entry-content li { margin-bottom: var(--sp-3); line-height: 1.9; }
.entry-content img { border-radius: var(--radius); margin: var(--sp-6) 0; }
.entry-content a { text-decoration: underline; text-underline-offset: 3px; }
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: var(--sp-6) 0;
	font-size: var(--fs-sm);
}
.entry-content th, .entry-content td {
	padding: 12px 16px;
	border: 1px solid var(--c-line);
	text-align: left;
}
.entry-content th { background: var(--c-bg-soft); font-weight: var(--fw-bold); color: var(--c-ink); }
.entry-content tr:nth-child(even) td { background: var(--c-bg-grey); }

/* 鏂规璇︽儏锛氭暟鎹崱 */
.spec-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--col-gap);
	margin: var(--sp-8) 0;
}
.spec-card {
	padding: var(--sp-6);
	background: var(--c-bg-soft);
	border-radius: var(--radius);
	border-top: 3px solid var(--c-primary);
}
.spec-card--accent { border-top-color: var(--c-accent); }
.spec-card-label {
	margin: 0 0 8px;
	font-size: var(--fs-sm);
	color: var(--c-text-mute);
	letter-spacing: .04em;
}
.spec-card-value {
	margin: 0 0 6px;
	font-size: 34px;
	font-weight: var(--fw-bold);
	color: var(--c-primary);
	line-height: 1.2;
}
.spec-card--accent .spec-card-value { color: var(--c-accent); }
.spec-card-note { margin: 0; font-size: var(--fs-xs); color: var(--c-text-light); }

/* 鏂规璇︽儏锛氶棶棰樺満鏅?/ 鎶€鏈墜娈?*/
.prose-block {
	margin: var(--sp-8) 0;
	padding: var(--sp-7) var(--sp-8);
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
}
.prose-block h2 { margin-top: 0; }
.tech-list { counter-reset: tech; margin: 0; padding: 0; list-style: none; }
.tech-list li {
	position: relative;
	counter-increment: tech;
	padding: var(--sp-4) 0 var(--sp-4) 56px;
	border-bottom: 1px dashed var(--c-line);
	line-height: 1.9;
	color: var(--c-text-sub);
}
.tech-list li:last-child { border-bottom: 0; }
.tech-list li::before {
	content: counter(tech, decimal-leading-zero);
	position: absolute;
	left: 0; top: var(--sp-4);
	font-size: var(--fs-h4);
	font-weight: var(--fw-bold);
	color: var(--c-primary);
	opacity: .5;
	letter-spacing: .02em;
}

/* 鏈嶅姟娴佺▼ */
.flow-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--sp-5);
	margin: var(--sp-7) 0 0;
	padding: 0;
	list-style: none;
	counter-reset: flow;
}
.flow-grid li {
	position: relative;
	counter-increment: flow;
	margin: 0;
	padding: var(--sp-6) var(--sp-4) var(--sp-5);
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	text-align: center;
}
.flow-grid li:nth-child(3n)::after { display: none; }
.flow-grid li::before {
	content: counter(flow);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px; height: 38px;
	margin: 0 auto var(--sp-4);
	border-radius: 50%;
	background: var(--c-primary);
	color: #fff;
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
}
.flow-grid li::after {
	content: "";
	position: absolute;
	top: 34px; right: -14px;
	width: 12px; height: 2px;
	background: var(--c-line);
}
.flow-grid li:last-child::after { display: none; }
.flow-step-title {
	display: block;
	margin-bottom: 6px;
	font-weight: var(--fw-bold);
	color: var(--c-ink);
}
.flow-step-desc { display: block; font-size: var(--fs-xs); color: var(--c-text-mute); line-height: 1.7; }

/* 瀵规瘮鏌辩姸鍥?*/
.compare-chart {
	margin: var(--sp-8) 0;
	padding: var(--sp-7);
	background: var(--c-bg-soft);
	border-radius: var(--radius);
}
.compare-chart-title {
	margin-bottom: var(--sp-6);
	font-size: var(--fs-h4);
	font-weight: var(--fw-bold);
	color: var(--c-ink);
	text-align: center;
}
.compare-bars {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: var(--sp-9);
	height: 300px;
	padding-top: var(--sp-6);
}
.compare-bar {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	width: 120px;
	height: 100%;
}
.compare-value {
	margin-bottom: 8px;
	font-size: var(--fs-h4);
	font-weight: var(--fw-bold);
	color: var(--c-text);
	font-variant-numeric: tabular-nums;
}
.compare-value--after { color: var(--c-accent); }
.compare-col {
	display: block;
	width: 100%;
	min-height: 4px;
	border-radius: var(--radius-sm) var(--radius-sm) 0 0;
	transition: height .8s var(--ease);
}
.compare-col--before { background: linear-gradient(180deg, #9AA5B1, #6B7684); }
.compare-col--after { background: linear-gradient(180deg, var(--c-accent), var(--c-accent-dark)); }
.compare-label {
	margin-top: 10px;
	font-size: var(--fs-sm);
	color: var(--c-text-mute);
}
.compare-rate {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	align-self: center;
	padding: var(--sp-4) var(--sp-6);
	background: #fff;
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
}
.compare-rate-label { font-size: var(--fs-xs); color: var(--c-text-mute); }
.compare-rate-num {
	font-size: 30px;
	font-weight: var(--fw-bold);
	color: var(--c-accent);
	line-height: 1.2;
}

/* 妗堜緥瀹㈡埛璇勪环 */
.case-quote {
	margin: var(--sp-8) 0 0;
	padding: var(--sp-7) var(--sp-8);
	background: var(--c-primary-light);
	border-radius: var(--radius);
	border-left: 4px solid var(--c-primary);
}
.case-quote p {
	margin: 0 0 var(--sp-4);
	font-size: var(--fs-lg);
	line-height: 1.9;
	color: var(--c-text);
}
.case-quote-from { font-size: var(--fs-sm); color: var(--c-text-mute); }

/* 妗堜緥鍏冧俊鎭潯 */
.case-meta {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	margin: 0 0 var(--sp-8);
	background: var(--c-line);
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	overflow: hidden;
}
.case-meta-item { padding: var(--sp-5); background: #fff; }
.case-meta-label { display: block; font-size: var(--fs-xs); color: var(--c-text-light); margin-bottom: 4px; }
.case-meta-value { display: block; font-size: var(--fs-lg); font-weight: var(--fw-bold); color: var(--c-ink); }
.case-meta-value--accent { color: var(--c-accent); }

/* 鍒楄〃椤电瓫閫?*/
.filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-2);
	margin-bottom: var(--sp-7);
	padding-bottom: var(--sp-5);
	border-bottom: 1px solid var(--c-line);
}
.filter-bar a {
	padding: 8px 18px;
	font-size: var(--fs-sm);
	color: var(--c-text-sub);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-pill);
}
.filter-bar a:hover { border-color: var(--c-primary); color: var(--c-primary); }
.filter-bar a.is-active { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }

/* 鏂规鍒楄〃锛堟í鍚戝浘鏂囧崱锛?*/
.solution-list { display: grid; gap: var(--col-gap); }
.solution-item {
	display: grid;
	grid-template-columns: 380px 1fr;
	gap: var(--sp-7);
	align-items: center;
	padding: var(--sp-5);
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.solution-item:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); }
.solution-item-media { overflow: hidden; border-radius: var(--radius); }
.solution-item-media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform var(--dur-slow) var(--ease);
}

.solution-item-icon { color: var(--c-primary); margin-bottom: var(--sp-3); }
.solution-item-title {
	margin: 0 0 var(--sp-3);
	font-size: var(--fs-h3);
	font-weight: var(--fw-bold);
	line-height: 1.4;
}
.solution-item-title a { color: var(--c-ink); }
.solution-item-title a:hover { color: var(--c-primary); }
.solution-item-desc { margin: 0 0 var(--sp-4); font-size: var(--fs-body); color: var(--c-text-sub); line-height: 1.9; }
.solution-item-metrics { display: flex; gap: var(--sp-6); margin-bottom: var(--sp-5); }
.solution-metric-label { display: block; font-size: var(--fs-xs); color: var(--c-text-light); }
.solution-metric-value { display: block; font-size: var(--fs-h4); font-weight: var(--fw-bold); color: var(--c-primary); }

/* 鍏徃绠€浠嬶細鏃堕棿杞?*/
.timeline { position: relative; margin: var(--sp-8) 0 0; padding: 0 0 0 40px; list-style: none; }
.timeline::before {
	content: "";
	position: absolute;
	left: 10px; top: 8px; bottom: 8px;
	width: 2px;
	background: linear-gradient(180deg, var(--c-primary), var(--c-accent));
}
.timeline li {
	position: relative;
	margin-bottom: var(--sp-7);
	padding-left: var(--sp-6);
}
.timeline li:last-child { margin-bottom: 0; }
.timeline li::before {
	content: "";
	position: absolute;
	left: -36px; top: 6px;
	width: 14px; height: 14px;
	border-radius: 50%;
	background: #fff;
	border: 3px solid var(--c-primary);
}
.timeline-year {
	display: inline-block;
	margin-bottom: 6px;
	font-size: var(--fs-h3);
	font-weight: var(--fw-bold);
	color: var(--c-primary);
	line-height: 1;
}
.timeline-title { display: block; margin-bottom: 6px; font-size: var(--fs-lg); font-weight: var(--fw-bold); color: var(--c-ink); }
.timeline-desc { display: block; font-size: var(--fs-sm); color: var(--c-text-mute); line-height: 1.9; }

/* 璧勮川鐓х墖澧?*/
.cert-wall {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--col-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.cert-wall li { margin: 0; }
.cert-wall img {
	width: 100%;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	background: #fff;
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.cert-wall li:hover img { transform: translateY(-4px); box-shadow: var(--shadow-lg); }

/* 鏂囧寲鐞嗗康涓夋爮 */
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--col-gap); }
.value-card {
	padding: var(--sp-7) var(--sp-6);
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	text-align: center;
}
.value-card-icon { display: flex; justify-content: center; margin-bottom: var(--sp-4); color: var(--c-primary); }
.value-card-title { margin: 0 0 var(--sp-3); font-size: var(--fs-h3); font-weight: var(--fw-bold); }
.value-card-desc { margin: 0; font-size: var(--fs-sm); color: var(--c-text-mute); line-height: 1.9; }

/* 鎷涜仒宀椾綅鍗?*/
.job-card {
	margin-bottom: var(--sp-6);
	padding: var(--sp-7);
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
}
.job-card-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-4);
	padding-bottom: var(--sp-5);
	margin-bottom: var(--sp-5);
	border-bottom: 1px solid var(--c-line);
}
.job-card-title { margin: 0; font-size: var(--fs-h3); font-weight: var(--fw-bold); }
.job-card-meta { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-left: auto; }
.job-card-body h3 { margin: var(--sp-6) 0 var(--sp-3); font-size: var(--fs-lg); }
.job-card-body h3:first-child { margin-top: 0; }

/* 鑱旂郴椤典俊鎭崱 */
.contact-grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: var(--sp-9); align-items: start; }
.contact-info { display: grid; gap: var(--sp-5); }
.contact-item {
	display: flex;
	gap: var(--sp-4);
	padding: var(--sp-5);
	background: var(--c-bg-soft);
	border-radius: var(--radius);
}
.contact-qr {
	flex: 0 0 auto;
	width: 96px; height: 96px;
	border-radius: var(--radius);
	background: #fff;
	padding: 4px;
	border: 1px solid var(--c-line);
}
.contact-item-icon { flex: 0 0 auto; color: var(--c-primary); }
.contact-item-label { display: block; font-size: var(--fs-xs); color: var(--c-text-light); margin-bottom: 2px; }
.contact-item-value { display: block; font-size: var(--fs-body); color: var(--c-text); font-weight: var(--fw-medium); line-height: 1.7; }
.contact-item-value a { color: var(--c-text); }
.contact-item-value a:hover { color: var(--c-primary); }
.map-embed {
	margin-top: var(--sp-6);
	border-radius: var(--radius);
	overflow: hidden;
	border: 1px solid var(--c-line);
	background: var(--c-bg-soft);
	min-height: 320px;
}
.map-embed img { width: 100%; }

/* ============ 14 琛ㄥ崟 ============ */
.form-card {
	padding: var(--sp-8);
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
}
.form-card--dark { background: var(--c-bg-dark-2); border-color: rgba(255, 255, 255, .12); }
.form-title { margin: 0 0 var(--sp-3); font-size: var(--fs-h3); font-weight: var(--fw-bold); }
.form-desc { margin: 0 0 var(--sp-6); font-size: var(--fs-sm); color: var(--c-text-mute); line-height: 1.8; }

.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-5); }
.form-field { margin-bottom: var(--sp-5); }
.form-field label {
	display: block;
	margin-bottom: 8px;
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	color: var(--c-text);
}
.form-field .req { color: #D93025; margin-left: 2px; }
.form-field input[type="text"],
.form-field input[type="tel"],
.form-field input[type="email"],
.form-field select,
.form-field textarea {
	width: 100%;
	padding: 12px 16px;
	font-family: inherit;
	font-size: var(--fs-body);
	color: var(--c-text);
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
	outline: none;
	border-color: var(--c-primary);
	box-shadow: 0 0 0 3px rgba(10, 95, 204, .12);
}
.form-field textarea { min-height: 110px; resize: vertical; }
.form-field input[type="file"] {
	width: 100%;
	padding: 10px 0;
	font-size: var(--fs-sm);
	color: var(--c-text-mute);
}
.form-hint { display: block; margin-top: 6px; font-size: var(--fs-xs); color: var(--c-text-light); }
.form-consent { display: flex; align-items: flex-start; gap: 8px; font-size: var(--fs-xs); color: var(--c-text-mute); }
.form-consent input { margin-top: 4px; }
.form-actions { margin-top: var(--sp-6); }
.form-actions .btn { width: 100%; }
.form-hp { position: absolute !important; left: -9999px; opacity: 0; height: 0; overflow: hidden; }
.form-message {
	display: none;
	margin-top: var(--sp-5);
	padding: 14px 18px;
	border-radius: var(--radius);
	font-size: var(--fs-sm);
	line-height: 1.7;
}
.form-message.is-visible { display: block; }
.form-message.is-success { background: var(--c-accent-light); color: var(--c-accent-dark); border: 1px solid var(--c-accent); }
.form-message.is-error { background: #FDECEA; color: #B3261E; border: 1px solid #F3B7B1; }
.form-message.is-loading { background: var(--c-bg-soft); color: var(--c-text-mute); border: 1px solid var(--c-line); }

/* ============ 15 椤佃剼涓庢偓娴鏈?============ */
.site-footer { background: var(--c-bg-dark); color: rgba(255, 255, 255, .72); }

.footer-cta { background: linear-gradient(100deg, var(--c-primary-dark), var(--c-primary) 55%, #1478E8); }
.footer-cta-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-7);
	padding: var(--sp-9) var(--gutter);
}
.footer-cta-text { max-width: 620px; }
.footer-cta-title { margin: 0 0 var(--sp-3); font-size: var(--fs-h2); color: #fff; }
.footer-cta-desc { margin: 0; font-size: var(--fs-body); color: rgba(255, 255, 255, .86); line-height: 1.8; }
.footer-cta-actions { display: flex; flex-wrap: wrap; gap: var(--sp-4); }
.footer-cta .btn--primary { background: #fff; border-color: #fff; color: var(--c-primary); }
.footer-cta .btn--primary:hover { background: rgba(255, 255, 255, .88); border-color: transparent; color: var(--c-primary-dark); }

.footer-main { padding: var(--sp-10) 0 var(--sp-8); }
.footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.3fr;
	gap: var(--sp-8);
}
.footer-brand { min-width: 0; }
.footer-col { min-width: 0; }
.footer-desc {
	margin: var(--sp-5) 0 var(--sp-6);
	font-size: var(--fs-sm);
	line-height: 1.9;
	color: rgba(255, 255, 255, .58);
}
.footer-qr { display: flex; align-items: center; gap: var(--sp-4); }
.footer-qr img {
	width: 92px; height: 92px;
	border-radius: var(--radius);
	background: #fff;
	padding: 4px;
}
.footer-qr-text { font-size: var(--fs-xs); line-height: 1.8; color: rgba(255, 255, 255, .55); }

.footer-col-title {
	margin: 0 0 var(--sp-5);
	font-size: var(--fs-body);
	font-weight: var(--fw-bold);
	color: #fff;
	letter-spacing: .02em;
}
.footer-list { margin: 0; padding: 0; list-style: none; }
.footer-list li { margin-bottom: var(--sp-3); }
.footer-list a {
	font-size: var(--fs-sm);
	color: rgba(255, 255, 255, .64);
	line-height: 1.7;
}
.footer-list a:hover { color: #fff; }
.footer-list--contact li { display: flex; gap: 10px; }
.footer-contact { min-width: 0; }
.footer-label {
	flex: 0 0 56px;
	font-size: var(--fs-sm);
	color: rgba(255, 255, 255, .4);
}
.footer-value { font-size: var(--fs-sm); color: rgba(255, 255, 255, .72); line-height: 1.7; }

.footer-bottom { border-top: 1px solid rgba(255, 255, 255, .1); }
.footer-bottom-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-4);
	padding: var(--sp-5) var(--gutter);
}
.footer-copy, .footer-meta { margin: 0; font-size: var(--fs-xs); color: rgba(255, 255, 255, .45); }
.footer-meta { display: flex; align-items: center; gap: 8px; }
.footer-meta a { color: rgba(255, 255, 255, .45); }
.footer-meta a:hover { color: #fff; }
.footer-meta-sep { opacity: .4; }

/* 鎮诞瀹㈡湇 */
.float-service {
	position: fixed;
	right: 20px;
	bottom: 96px;
	z-index: 950;
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: flex-end;
}
.float-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	width: 58px; height: 58px;
	padding: 0;
	background: #fff;
	color: var(--c-text-sub);
	border: 1px solid var(--c-line);
	border-radius: 50%;
	box-shadow: var(--shadow);
	cursor: pointer;
	font-size: 11px;
	font-family: inherit;
	transition: all var(--dur) var(--ease);
}
.float-btn:hover { color: var(--c-primary); border-color: var(--c-primary); transform: translateY(-2px); }
.float-btn--main { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.float-btn--main:hover { background: var(--c-primary-hover); color: #fff; border-color: var(--c-primary-hover); }
.float-btn--top { opacity: 0; visibility: hidden; }
.float-btn--top.is-visible { opacity: 1; visibility: visible; }

.float-panel {
	position: absolute;
	right: 70px;
	bottom: 0;
	width: 260px;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg);
	overflow: hidden;
}
.float-panel-head {
	padding: 12px 18px;
	background: var(--c-primary);
	color: #fff;
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
}
.float-panel-body { padding: var(--sp-5); text-align: center; }
.float-qr { margin: 0 auto var(--sp-3); border-radius: var(--radius); }
.float-panel-tip { margin: 0; font-size: var(--fs-xs); color: var(--c-text-mute); line-height: 1.8; }
.float-qq {
	display: inline-block;
	margin-top: var(--sp-4);
	padding: 8px 20px;
	font-size: var(--fs-sm);
	color: #fff;
	background: var(--c-primary);
	border-radius: var(--radius-pill);
}

/* ============ 16 鍒嗛〉 / 渚ц竟鏍?/ 鏉傞」 ============ */
.cxjn-pagination { margin: var(--sp-9) 0 0; }
.cxjn-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}
.cxjn-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px; height: 42px;
	padding: 0 14px;
	font-size: var(--fs-sm);
	color: var(--c-text-sub);
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
}
.cxjn-pagination .page-numbers:hover { border-color: var(--c-primary); color: var(--c-primary); }
.cxjn-pagination .page-numbers.current {
	background: var(--c-primary);
	border-color: var(--c-primary);
	color: #fff;
}

.empty-state {
	padding: var(--sp-10) var(--sp-5);
	text-align: center;
	color: var(--c-text-mute);
	background: var(--c-bg-soft);
	border-radius: var(--radius);
}

/* 璇︽儏椤靛竷灞€ */
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--sp-9); align-items: start; }
.detail-main { min-width: 0; }
.detail-main > * + * { margin-top: var(--sp-7); }
.detail-aside { position: sticky; top: calc(var(--nav-h) + 24px); }
.aside-card {
	padding: var(--sp-6);
	background: var(--c-bg-soft);
	border-radius: var(--radius);
	margin-bottom: var(--sp-5);
}
.aside-card h3 { margin: 0 0 var(--sp-4); font-size: var(--fs-lg); }
.aside-list { margin: 0; padding: 0; list-style: none; }
.aside-list li { margin-bottom: 4px; }
.aside-list a {
	display: block;
	padding: 10px 14px;
	font-size: var(--fs-sm);
	color: var(--c-text-sub);
	border-radius: var(--radius);
	transition: all var(--dur-fast) var(--ease);
}
.aside-list a:hover { background: #fff; color: var(--c-primary); }
.aside-list li.is-current a { background: var(--c-primary); color: #fff; }
.aside-cta { background: var(--c-primary); color: #fff; text-align: center; }
.aside-cta h3 { color: #fff; }
.aside-cta p { font-size: var(--fs-sm); color: rgba(255, 255, 255, .82); line-height: 1.8; margin-bottom: var(--sp-5); }
.aside-cta .btn { width: 100%; background: #fff; border-color: #fff; color: var(--c-primary); }
.aside-cta .btn:hover { background: rgba(255, 255, 255, .88); color: var(--c-primary-dark); }

/* 涓婁竴绡囦笅涓€绡?*/
.post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-5); margin-top: var(--sp-9); }
.post-nav a {
	padding: var(--sp-5);
	background: var(--c-bg-soft);
	border-radius: var(--radius);
	color: var(--c-text-sub);
	font-size: var(--fs-sm);
	line-height: 1.7;
}
.post-nav a:hover { background: var(--c-primary-light); color: var(--c-primary); }
.post-nav-label { display: block; font-size: var(--fs-xs); color: var(--c-text-light); margin-bottom: 4px; }
.post-nav--next { text-align: right; }

/* 鐩稿叧鎺ㄨ崘 */
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--col-gap); margin-top: var(--sp-6); }

/* 鎼滅储缁撴灉 */
.search-form { display: flex; gap: var(--sp-3); max-width: 520px; }
.search-form input[type="search"] {
	flex: 1 1 auto;
	padding: 12px 16px;
	font-family: inherit;
	font-size: var(--fs-body);
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
}

/* 璇︽儏椤靛ご鍥?*/
.post-hero { margin: 0 0 var(--sp-7); }
.post-hero img { width: 100%; border-radius: var(--radius); }

/* 404 */
.error-404 { padding: var(--sp-10) 0; text-align: center; }
.error-404-code {
	margin: 0;
	font-size: 120px;
	font-weight: var(--fw-bold);
	line-height: 1;
	color: var(--c-primary);
	opacity: .16;
}
.error-404-title { margin: var(--sp-4) 0 var(--sp-5); font-size: var(--fs-h2); }
.error-404-desc { max-width: 520px; margin: 0 auto var(--sp-7); color: var(--c-text-mute); line-height: 1.9; }
.error-404-actions { display: flex; flex-wrap: wrap; gap: var(--sp-4); justify-content: center; }

/* 婊氬姩鍏ュ満鍔ㄧ敾锛堝厠鍒讹級 */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; transition: none; }
	html { scroll-behavior: auto; }
	* { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ============ 17 鍝嶅簲寮?============ */
@media (max-width: 1280px) {
	:root {
		--container: 1140px;
		--fs-hero: 48px;
		--fs-h1: 38px;
		--fs-h2: 32px;
		--section-py: 72px;
	}
	.split-row { gap: var(--sp-8); }
	.detail-layout { grid-template-columns: minmax(0, 1fr) 290px; gap: var(--sp-7); }
}

@media (max-width: 1080px) {
	:root {
		--container: 960px;
		--fs-hero: 40px;
		--fs-h2: 28px;
		--sp-10: 72px;
		--section-py: 64px;
	}
	.primary-nav .menu > li > a { padding: 0 11px; font-size: var(--fs-sm); }
	.header-cta { display: none; }
	.business-grid, .case-grid, .news-grid, .related-grid, .value-grid { grid-template-columns: repeat(2, 1fr); }
	.footer-grid { grid-template-columns: 1fr 1fr; gap: var(--sp-7); }
	.logo-wall { grid-template-columns: repeat(3, 1fr); }
	.cert-wall { grid-template-columns: repeat(3, 1fr); }
	.flow-grid { grid-template-columns: repeat(2, 1fr); }
	.flow-grid li::after { display: none; }
	.solution-item { grid-template-columns: 300px 1fr; gap: var(--sp-6); }
	.detail-layout { grid-template-columns: 1fr; }
	.detail-aside { position: static; }
}

/* 绉诲姩绔鑸紑鍏筹細<= 980px */
@media (max-width: 980px) {
	:root {
		--nav-h: var(--nav-h-sm);
		--fs-hero: 34px;
		--fs-h1: 30px;
		--fs-h2: 25px;
		--fs-h3: 20px;
		--fs-h4: 18px;
		--fs-lg: 16px;
		--section-py: 52px;
		--sp-10: 56px;
		--sp-9: 48px;
		--gutter: 18px;
	}

	.topbar { display: none; }

	.nav-toggle { display: flex; margin-left: auto; }

	.primary-nav {
		position: fixed;
		top: 0; right: 0;
		width: min(84vw, 360px);
		height: 100vh;
		height: 100dvh;
		padding: 76px var(--sp-5) var(--sp-8);
		background: #fff;
		box-shadow: -10px 0 40px rgba(0, 0, 0, .16);
		overflow-y: auto;
		transform: translateX(102%);
		transition: transform var(--dur) var(--ease);
		z-index: 895;
		display: block;
	}
	.primary-nav.is-open { transform: none; }
	.primary-nav .menu { display: block; }
	.primary-nav .menu > li { border-bottom: 1px solid var(--c-line-soft); }
	.primary-nav .menu > li > a {
		height: auto;
		line-height: 1.6;
		padding: 16px 0;
		font-size: var(--fs-lg);
		font-weight: var(--fw-medium);
	}
	.primary-nav .menu > li > a::after { display: none; }
	.primary-nav .sub-menu {
		position: static;
		transform: none;
		opacity: 1;
		visibility: visible;
		box-shadow: none;
		padding: 0 0 12px;
		min-width: 0;
		border-radius: 0;
	}
	.primary-nav .sub-menu a { padding: 9px 0 9px 14px; font-size: var(--fs-sm); }

	body.nav-open .nav-toggle-bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	body.nav-open .nav-toggle-bar:nth-child(2) { opacity: 0; }
	body.nav-open .nav-toggle-bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	.header-search { display: none; }

	.hero-slide { min-height: 480px; }
	.hero-content { padding-top: var(--sp-8); padding-bottom: var(--sp-8); }
	.hero-subtitle { font-size: var(--fs-body); margin-bottom: var(--sp-6); }
	.hero-actions .btn { min-height: 44px; padding: 0 22px; font-size: var(--fs-sm); }
	.hero-dots { bottom: 20px; }

	.stats-grid { grid-template-columns: repeat(2, 1fr); }
	.stat { padding: var(--sp-5) var(--sp-4); border-bottom: 1px solid rgba(255, 255, 255, .16); }
	.stat:nth-child(2n) { border-right: 0; }
	.stat:nth-last-child(-n+2) { border-bottom: 0; }
	.stat-value { font-size: 34px; }

	.business-grid, .case-grid, .news-grid, .related-grid, .value-grid, .cert-wall { grid-template-columns: 1fr; }
	.logo-wall { grid-template-columns: repeat(2, 1fr); }
	.logo-wall-item { min-height: 96px; padding: var(--sp-5) var(--sp-4); }

	.section-head { margin-bottom: var(--sp-7); }

	.split-row { grid-template-columns: 1fr; gap: var(--sp-6); }
	.split-row--reverse .split-media { order: 0; }
	.split-row--reverse .split-text { order: 0; }
	.split-row + .split-row { margin-top: var(--sp-9); }
	.split-media--certs { min-height: 340px; }

	.solution-item { grid-template-columns: 1fr; }
	.solution-item-metrics { flex-wrap: wrap; gap: var(--sp-5); }

	.flow-grid { grid-template-columns: repeat(2, 1fr); }
	.spec-grid { grid-template-columns: 1fr; }
	.case-meta { grid-template-columns: repeat(2, 1fr); }

	.prose-block { padding: var(--sp-6) var(--sp-5); }
	.compare-bars { gap: var(--sp-6); height: 240px; }
	.compare-bar { width: 88px; }

	.contact-grid { grid-template-columns: 1fr; gap: var(--sp-7); }
	.form-row { grid-template-columns: 1fr; gap: 0; }
	.form-card { padding: var(--sp-6) var(--sp-5); }

	.footer-cta-inner { padding: var(--sp-8) var(--gutter); }
	.footer-cta-title { font-size: var(--fs-h2); }
	.footer-grid { grid-template-columns: 1fr; gap: var(--sp-7); }
	.footer-main { padding: var(--sp-8) 0 var(--sp-6); }
	.footer-bottom-inner { flex-direction: column; align-items: flex-start; gap: var(--sp-2); }

	.float-service { right: 12px; bottom: 80px; }
	.float-btn { width: 50px; height: 50px; font-size: 10px; }
	.float-panel { right: 0; bottom: 60px; }

	.post-nav { grid-template-columns: 1fr; }
	.timeline { padding-left: 28px; }
	.timeline li { padding-left: var(--sp-5); }
	.timeline li::before { left: -30px; }
}

@media (max-width: 480px) {
	:root { --fs-hero: 28px; --fs-h1: 26px; }
	.stat-value { font-size: 30px; }
	.hero-slide { min-height: 420px; }
	.hero-actions { flex-direction: column; align-items: stretch; }
	.hero-actions .btn { width: 100%; }
	.footer-cta-actions { flex-direction: column; align-items: stretch; }
	.footer-cta-actions .btn { width: 100%; }
}

/* 鎵撳嵃 */
@media print {
	.topbar, .site-header, .float-service, .site-footer, .hero-actions, .form-card { display: none !important; }
	body { font-size: 12pt; color: #000; }
	a { color: #000; text-decoration: underline; }
}

/* 地图链接（点击在高德地图中查看与导航） */
.map-link { position: relative; display: block; }
.map-link img { display: block; width: 100%; transition: opacity var(--dur) var(--ease); }
.map-link:hover img { opacity: .9; }
.map-link-tip {
	position: absolute;
	left: 50%;
	bottom: 18px;
	transform: translateX(-50%);
	padding: 10px 22px;
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	color: #fff;
	background: rgba(0, 128, 200, .94);
	border-radius: var(--radius-pill);
	box-shadow: 0 6px 20px rgba(0, 0, 0, .22);
	white-space: nowrap;
}
.map-link:hover .map-link-tip { background: var(--c-primary-hover); }

/* ===== 股东与关联公司 ===== */
.partner-link-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--col-gap);
}
.partner-link-card {
	display: flex;
	align-items: center;
	gap: var(--sp-5);
	padding: var(--sp-6);
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.partner-link-card:hover {
	transform: translateY(-3px);
	border-color: var(--c-primary);
	box-shadow: var(--shadow-lg);
}
.partner-link-mark { flex: 0 0 auto; color: var(--c-primary); }
.partner-link-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.partner-link-name { font-size: var(--fs-lg); font-weight: var(--fw-bold); color: var(--c-ink); line-height: 1.5; }
.partner-link-url { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); color: var(--c-primary); }
.partner-link-url .arrow { transition: transform var(--dur) var(--ease); }
.partner-link-url:hover .arrow { transform: translateX(4px); }
.partner-link-url--pending { color: var(--c-text-light); }
@media (max-width: 980px) { .partner-link-grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   ===== 首页视觉升级 =====
   A 六字业务锚点带 / B 双核心业务大卡 / C 案例数据徽章 / D 五大核心技术
   E 太阳能蒸汽深色分栏 / F 行业图标网格与客户跑马灯
   仅新增类名，不改动上方既有规则；图标全部内联 SVG，无外部资源。
   ========================================================================== */

/* ---------- A. 「光 / 冷 / 热 / 电 / 风 / 储」业务锚点带 ---------- */
.chain-shell {
	position: relative;
	overflow: hidden;
	padding: var(--sp-9) var(--sp-8) var(--sp-8);
	border-radius: var(--radius-lg);
	background-color: var(--c-bg-dark);
	background-image:
		radial-gradient(120% 78% at 6% 0%, rgba(0, 128, 200, .40) 0%, rgba(0, 128, 200, 0) 58%),
		radial-gradient(96% 76% at 102% 104%, rgba(104, 184, 40, .28) 0%, rgba(104, 184, 40, 0) 62%),
		linear-gradient(135deg, #061520 0%, var(--c-bg-dark) 48%, #0A1A12 100%);
	box-shadow: var(--shadow-lg);
}
.chain-shell .section-head { margin-bottom: var(--sp-8); }
.chain-shell .section-title { color: #fff; }
.chain-shell .section-subtitle { color: rgba(255, 255, 255, .72); }

/* 品牌蓝 → 品牌绿 水平渐变装饰线 */
.chain-rule {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--c-primary) 0%, #3FA9DE 42%, var(--c-accent) 100%);
}

.chain-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: var(--sp-4);
	margin: 0;
	padding: 0;
	list-style: none;
}
.chain-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: var(--sp-5) var(--sp-3) var(--sp-6);
	text-align: center;
	background: rgba(255, 255, 255, .035);
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: var(--radius);
	transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.chain-item:hover {
	background: rgba(255, 255, 255, .075);
	border-color: rgba(111, 180, 255, .45);
	box-shadow: 0 14px 34px rgba(0, 0, 0, .34);
}

/* 六边形徽章：外层描边 + 内层底板；悬停底色反转为品牌色、图标变白、上移 2px */
.chain-badge {
	position: relative;
	display: grid;
	place-items: center;
	width: 76px;
	height: 88px;
	margin-bottom: var(--sp-3);
	transition: transform var(--dur) var(--ease);
}
.chain-item:hover .chain-badge { transform: translateY(-2px); }
.chain-badge::before,
.chain-badge::after {
	content: "";
	position: absolute;
	clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
	transition: background-color var(--dur) var(--ease);
}
.chain-badge::before { inset: 0; background-color: rgba(0, 128, 200, .62); }
.chain-badge::after { inset: 2px; background-color: #0F1E29; }
.chain-item:hover .chain-badge::before { background-color: var(--c-accent); }
.chain-item:hover .chain-badge::after { background-color: var(--c-primary); }
.chain-badge svg {
	position: relative;
	z-index: 2;
	color: #9AD6F4;
	transition: color var(--dur) var(--ease);
}
.chain-item:hover .chain-badge svg { color: #fff; }

.chain-char {
	display: block;
	font-size: 46px;
	font-weight: var(--fw-bold);
	line-height: 1.1;
	letter-spacing: .06em;
	color: #fff;
}
@supports (background-clip: text) or (-webkit-background-clip: text) {
	.chain-char {
		background-image: linear-gradient(150deg, #FFFFFF 0%, #C6E7FB 46%, #D2EDB6 100%);
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
	}
}
.chain-label {
	display: block;
	margin-top: 4px;
	font-size: var(--fs-sm);
	line-height: 1.7;
	color: rgba(255, 255, 255, .74);
}

/* ---------- B. 双核心业务：两张带真实照片的大卡 ---------- */
.duo-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--col-gap);
	margin-bottom: var(--sp-9);
}
.duo-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.duo-card:hover {
	transform: translateY(-4px);
	border-color: rgba(0, 128, 200, .38);
	box-shadow: var(--shadow-lg);
}
.duo-media {
	position: relative;
	display: flex;
	align-items: flex-end;
	aspect-ratio: 16 / 9;
	min-height: 210px;
	background-color: var(--c-bg-dark-2);
	background-size: cover;
	background-position: center;
}
.duo-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(180deg, rgba(0, 95, 150, .14) 0%, rgba(0, 95, 150, .46) 52%, rgba(5, 22, 34, .9) 100%);
	transition: opacity var(--dur) var(--ease);
	opacity: 1;
}
.duo-card:hover .duo-media::after { opacity: .88; }
.duo-media-inner {
	position: relative;
	z-index: 2;
	padding: var(--sp-5) var(--sp-6);
}
.duo-en {
	display: block;
	margin: 0 0 2px;
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
	letter-spacing: .26em;
	color: rgba(255, 255, 255, .78);
}
.duo-title {
	margin: 0;
	font-size: 30px;
	line-height: 1.3;
	letter-spacing: .04em;
	color: #fff;
}
.duo-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: var(--sp-6) var(--sp-6) var(--sp-5);
}
.duo-lead {
	margin: 0 0 var(--sp-5);
	font-size: var(--fs-sm);
	line-height: 1.9;
	color: var(--c-text-sub);
}
.duo-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px var(--sp-4);
	margin: 0 0 var(--sp-5);
	padding: 0;
	list-style: none;
}
.duo-list li {
	position: relative;
	padding-left: 20px;
	font-size: var(--fs-sm);
	line-height: 1.7;
	color: var(--c-text);
}
.duo-list li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 9px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background-color: var(--c-primary);
	box-shadow: 0 0 0 3px var(--c-primary-light);
}
.duo-list--green li::before {
	background-color: var(--c-accent);
	box-shadow: 0 0 0 3px var(--c-accent-light);
}
.duo-metric {
	margin: auto 0 var(--sp-4);
	padding: var(--sp-4) var(--sp-5);
	font-size: var(--fs-xs);
	line-height: 1.85;
	color: var(--c-text-mute);
	background: var(--c-bg-soft);
	border-left: 3px solid var(--c-primary);
}
.duo-card--building .duo-metric { border-left-color: var(--c-accent); }
.duo-metric strong { color: var(--c-ink); }
.duo-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: flex-start;
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	color: var(--c-primary);
}
.duo-more .arrow { transition: transform var(--dur) var(--ease); }
.duo-card:hover .duo-more .arrow { transform: translateX(4px); }

/* ---------- C. 案例卡片：品牌渐变压暗 + 左下大号数据徽章 ---------- */
.case-grid--showcase .case-card-media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: linear-gradient(180deg, rgba(0, 128, 200, .30) 0%, rgba(11, 15, 20, .3) 42%, rgba(11, 15, 20, .9) 100%);
	transition: opacity var(--dur) var(--ease);
	opacity: 1;
}
.case-grid--showcase .case-card:hover .case-card-media::after { opacity: .86; }
.case-grid--showcase .case-badge {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 22px 12px 18px;
	border-radius: 0 var(--radius) 0 0;
	color: #fff;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .3);
}
.case-grid--showcase .case-badge.is-gold { background-image: linear-gradient(135deg, var(--c-gold) 0%, var(--c-gold-dark) 100%); }
.case-grid--showcase .case-badge.is-green { background-image: linear-gradient(135deg, var(--c-accent) 0%, var(--c-accent-dark) 100%); }
.case-grid--showcase .case-badge-num {
	display: flex;
	align-items: baseline;
	gap: 3px;
	font-size: 34px;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
}
.case-grid--showcase .case-badge-unit { font-size: var(--fs-sm); font-weight: var(--fw-medium); }
.case-grid--showcase .case-badge-label {
	font-size: var(--fs-xs);
	letter-spacing: .06em;
	color: rgba(255, 255, 255, .9);
}
.case-grid--showcase .case-card-client {
	display: block;
	margin-bottom: 4px;
	font-size: 21px;
	font-weight: var(--fw-bold);
	line-height: 1.45;
	color: #fff;
}
.case-grid--showcase .case-card-project {
	display: block;
	margin-bottom: var(--sp-3);
	font-size: var(--fs-xs);
	line-height: 1.7;
	color: rgba(255, 255, 255, .52);
}
.case-grid--showcase .case-more-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--sp-4);
	padding: 8px 18px;
	font-size: var(--fs-sm);
	color: #fff;
	background-color: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .24);
	border-radius: var(--radius-pill);
	transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.case-grid--showcase .case-card:hover .case-more-btn {
	background-color: var(--c-primary);
	border-color: var(--c-primary);
}

/* ---------- D. 五大热能回收核心技术：线框序号 + 图标 + 悬停竖条 ---------- */
.core-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: var(--col-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.core-card {
	position: relative;
	grid-column: span 2;
	overflow: hidden;
	padding: var(--sp-6) var(--sp-6) var(--sp-7);
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.core-card:nth-child(4),
.core-card:nth-child(5) { grid-column: span 3; }
.core-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background-image: linear-gradient(180deg, var(--c-primary) 0%, var(--c-accent) 100%);
	opacity: 0;
	transition: opacity var(--dur) var(--ease);
}
.core-card:hover {
	transform: translateY(-4px);
	border-color: rgba(0, 128, 200, .3);
	box-shadow: var(--shadow-lg);
}
.core-card:hover::before { opacity: 1; }
.core-num {
	display: block;
	font-size: 34px;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: .02em;
	color: rgba(0, 128, 200, .16);
	-webkit-text-stroke: 1.2px rgba(0, 128, 200, .5);
}
.core-icon {
	display: block;
	margin: var(--sp-5) 0 var(--sp-4);
	color: var(--c-primary);
}
.core-card:hover .core-icon { color: var(--c-primary-hover); }
.core-title {
	margin: 0 0 var(--sp-3);
	font-size: var(--fs-h4);
	font-weight: var(--fw-bold);
	line-height: 1.5;
}
.core-desc {
	margin: 0;
	font-size: var(--fs-sm);
	line-height: 1.9;
	color: var(--c-text-mute);
}

/* ---------- E. 前沿技术 · 太阳能蒸汽（深色左右分栏） ---------- */
.solar-band {
	position: relative;
	overflow: hidden;
	background-image:
		radial-gradient(88% 66% at 4% 0%, rgba(0, 128, 200, .34) 0%, rgba(0, 128, 200, 0) 60%),
		radial-gradient(72% 60% at 100% 100%, rgba(232, 144, 24, .18) 0%, rgba(232, 144, 24, 0) 62%);
}
.solar-split {
	display: grid;
	grid-template-columns: 1.02fr 1fr;
	gap: var(--sp-10);
	align-items: start;
}
.solar-title {
	margin: var(--sp-2) 0 0;
	font-size: 44px;
	font-weight: var(--fw-bold);
	line-height: 1.25;
	letter-spacing: .02em;
	color: #fff;
}
.solar-en {
	margin: 0 0 var(--sp-5);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	letter-spacing: .3em;
	color: rgba(255, 255, 255, .48);
}
.solar-desc {
	margin: 0 0 var(--sp-7);
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	color: rgba(255, 255, 255, .74);
}
.solar-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sp-4);
}
.solar-stat {
	padding: var(--sp-5) var(--sp-5) var(--sp-6);
	background: rgba(255, 255, 255, .045);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--radius);
	transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.solar-stat:hover {
	background: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .22);
}
.solar-stat-num {
	display: flex;
	align-items: baseline;
	margin: 0;
	font-size: 60px;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
}
.solar-stat--gold .solar-stat-num { color: var(--c-gold); }
.solar-stat--green .solar-stat-num { color: var(--c-accent); }
.solar-stat-unit {
	margin-left: 4px;
	font-size: 24px;
	font-weight: var(--fw-medium);
}
.solar-stat-label {
	margin: var(--sp-3) 0 0;
	font-size: var(--fs-sm);
	line-height: 1.8;
	color: rgba(255, 255, 255, .7);
}
.solar-photo {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius);
}
.solar-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.solar-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(180deg, rgba(11, 15, 20, 0) 42%, rgba(11, 15, 20, .7) 100%);
}
.solar-tech {
	display: grid;
	gap: var(--sp-4);
	margin-top: var(--sp-4);
}
.solar-tech-card {
	padding: var(--sp-5);
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: var(--radius);
	transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}
.solar-tech-card:hover {
	transform: translateY(-2px);
	background: rgba(255, 255, 255, .07);
	border-color: rgba(111, 180, 255, .45);
}
.solar-tech-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sp-3);
	margin: 0 0 var(--sp-3);
}
.solar-tech-key {
	padding: 3px 10px;
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
	letter-spacing: .1em;
	color: #06210D;
	background-color: var(--c-accent);
	border-radius: var(--radius-pill);
}
.solar-tech-key--alt {
	color: #04202F;
	background-color: #6FB4FF;
}
.solar-tech-name {
	font-size: var(--fs-lg);
	font-weight: var(--fw-bold);
	color: #fff;
}
.solar-tech-note {
	margin: 0;
	font-size: var(--fs-sm);
	line-height: 1.9;
	color: rgba(255, 255, 255, .7);
}

/* ---------- F1. 服务行业：图标卡片网格 ---------- */
.ind-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--sp-4);
	margin: 0 0 var(--sp-9);
	padding: 0;
	list-style: none;
}
.ind-card {
	display: flex;
	align-items: flex-start;
	gap: var(--sp-4);
	padding: var(--sp-5);
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.ind-card:hover {
	transform: translateY(-3px);
	border-color: rgba(0, 128, 200, .35);
	box-shadow: var(--shadow);
}
.ind-icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	color: var(--c-primary);
	background-color: var(--c-primary-light);
	border-radius: var(--radius);
	transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.ind-card:hover .ind-icon {
	background-color: var(--c-primary);
	color: #fff;
}
.ind-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.ind-name {
	font-size: var(--fs-lg);
	font-weight: var(--fw-bold);
	line-height: 1.5;
	color: var(--c-ink);
}
.ind-pain {
	margin-top: 2px;
	font-size: var(--fs-sm);
	line-height: 1.75;
	color: var(--c-text-mute);
}

/* ---------- F2. 客户跑马灯（纯 CSS 动画，悬停暂停） ---------- */
.client-band {
	padding-top: var(--sp-7);
	border-top: 1px solid var(--c-line);
}
.client-band-title {
	margin: 0 0 var(--sp-5);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	letter-spacing: .18em;
	color: var(--c-text-mute);
	text-align: center;
}
.client-marquee {
	position: relative;
	overflow: hidden;
	padding: var(--sp-2) 0;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.client-track {
	display: flex;
	width: max-content;
	animation: cxjn-client-marquee 42s linear infinite;
}
.client-marquee:hover .client-track,
.client-marquee:focus-within .client-track { animation-play-state: paused; }
.client-set {
	display: flex;
	gap: var(--sp-4);
	margin: 0;
	padding: 0 var(--sp-4) 0 0;
	list-style: none;
}
.client-chip {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 22px;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-pill);
	white-space: nowrap;
	transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.client-chip:hover {
	transform: translateY(-2px);
	border-color: rgba(0, 128, 200, .4);
	box-shadow: var(--shadow-sm);
}
.client-mark {
	display: grid;
	place-items: center;
	color: var(--c-primary);
}
.client-name {
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	letter-spacing: .02em;
	color: var(--c-text);
}
@keyframes cxjn-client-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* ---------- 首页视觉升级：响应式 ---------- */
@media (max-width: 1080px) {
	.chain-shell { padding: var(--sp-8) var(--sp-6) var(--sp-7); }
	.chain-grid { grid-template-columns: repeat(3, 1fr); }
	.duo-media { min-height: 180px; }
	.core-grid { grid-template-columns: repeat(2, 1fr); }
	.core-card,
	.core-card:nth-child(4),
	.core-card:nth-child(5) { grid-column: span 1; }
	.core-card:nth-child(5) { grid-column: span 2; }
	.ind-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.solar-split { grid-template-columns: 1fr; gap: var(--sp-8); }
	.solar-title { font-size: 38px; }
	.solar-stat-num { font-size: 52px; }
}

@media (max-width: 980px) {
	.chain-grid { grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }
	.chain-item { padding: var(--sp-4) var(--sp-2) var(--sp-5); }
	.chain-badge { width: 64px; height: 74px; }
	.chain-badge svg { width: 30px; height: 30px; }
	.chain-char { font-size: 38px; }
	.chain-label { font-size: var(--fs-xs); }
	.duo-grid { grid-template-columns: 1fr; }
	.duo-list { gap: 8px var(--sp-3); }
	.case-grid--showcase .case-badge-num { font-size: 30px; }
	.core-grid { grid-template-columns: repeat(2, 1fr); gap: var(--sp-4); }
	.core-card,
	.core-card:nth-child(4) { grid-column: span 1; }
	.core-card:nth-child(5) { grid-column: span 2; }
	.core-card { padding: var(--sp-5); }
	.solar-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.solar-tech-name { font-size: var(--fs-body); }
	.ind-grid { gap: var(--sp-3); }
}

@media (max-width: 480px) {
	.chain-shell { padding: var(--sp-7) var(--sp-4) var(--sp-6); border-radius: var(--radius); }
	.chain-grid { grid-template-columns: repeat(2, 1fr); }
	.chain-char { font-size: 34px; }
	.chain-badge { width: 58px; height: 67px; }
	.chain-badge svg { width: 26px; height: 26px; }
	.duo-title { font-size: 24px; }
	.duo-list { grid-template-columns: 1fr; }
	.duo-body { padding: var(--sp-5); }
	.core-grid { grid-template-columns: 1fr; }
	.core-card,
	.core-card:nth-child(5) { grid-column: span 1; }
	.solar-title { font-size: 30px; }
	.solar-stats { grid-template-columns: 1fr; }
	.solar-stat-num { font-size: 46px; }
	.ind-grid { grid-template-columns: 1fr; }
	.client-chip { padding: 10px 16px; }
	.client-name { font-size: var(--fs-sm); }
}

/* 减少动效：跑马灯停住并允许手动横向滚动 */
@media (prefers-reduced-motion: reduce) {
	.client-track { animation: none !important; }
	.client-marquee {
		overflow-x: auto;
		-webkit-mask-image: none;
		mask-image: none;
	}
}

/* ---------- 附带修复：资质证书拼贴被 .split-media img{width:100%} 覆盖 ----------
   原规则 .cert-img--1/2/3 的宽度（58% / 50% / 54%）特异性低于 .split-media img，
   导致三张证书被放大到整列宽度、向上溢出并盖住「太阳能蒸汽」区块的下半部分。
   这里仅按原有设计意图把宽度与阴影还原，不改动其它任何规则。 */
.split-media--certs .cert-img {
	width: auto;
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
}
.split-media--certs .cert-img--1 { width: 58%; }
.split-media--certs .cert-img--2 { width: 50%; }
.split-media--certs .cert-img--3 { width: 54%; }
/* 宽度还原后证书拼贴需要更高的容器（平板段），否则 bottom:0 的证书仍会向上溢出；
   小屏按原 340px 比例回落。 */
@media (max-width: 980px) {
	.split-media--certs { min-height: 680px; }
}
@media (max-width: 480px) {
	.split-media--certs { min-height: 380px; }
}

/* ==========================================================================
   18 首页视觉升级（追加块 · 仅覆盖模块 A/B/C/D，不改动以上任何既有规则）

   A. 成功案例：图片必须渲染 + 品牌渐变压暗 + 左下大号数据徽章 + 等高卡片
   B. 前沿技术 · 太阳能蒸汽：深色张力区块（大数字 + 通栏大图 + 技术卡）
   C. 热能回收五大核心技术：线框序号 + 手写 SVG 图标 + 非对称网格
   D. 六字业务带（光冷热电风储）+ 双核心业务六图标

   选择器一律带足够的上下文（如 .section--cases .case-grid--showcase），
   靠特异性覆盖旧规则，避免使用 !important，也不修改既有声明。
   ========================================================================== */

/* ---------- A. 精选案例：真实照片必显 + 徽章与客户名 ---------- */

/* 1) 图片容器：固定 16:10 比例，图片绝对定位铺满并 cover，绝不拉伸变形 */
.section--cases .case-grid--showcase .case-card-media {
	position: relative;
	display: block;
	flex: none;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background-color: var(--c-bg-dark-2);
	isolation: isolate;
}
.section--cases .case-grid--showcase .case-card-media img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	object-position: center;
	transition: transform var(--dur-slow) var(--ease);
}
.section--cases .case-grid--showcase .case-card:hover .case-card-media img {
	transform: scale3d(1.045, 1.045, 1);
}

/* 2) 品牌色渐变遮罩：上端品牌蓝、下端深蓝黑，保证白色徽章与客户名可读 */
.section--cases .case-grid--showcase .case-media-veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background-image: linear-gradient(
		178deg,
		rgba(0, 128, 200, .34) 0%,
		rgba(8, 18, 28, .30) 40%,
		rgba(8, 14, 22, .88) 100%
	);
}
.section--cases .case-grid--showcase .case-card:hover .case-media-veil { opacity: .88; }

/* 3) 图上客户名：右上角小标签 */
.section--cases .case-grid--showcase .case-media-client {
	position: absolute;
	top: var(--sp-4);
	right: var(--sp-4);
	z-index: 3;
	max-width: calc(100% - 32px);
	padding: 5px 12px;
	font-size: var(--fs-xs);
	font-weight: var(--fw-medium);
	line-height: 1.6;
	letter-spacing: .04em;
	color: #fff;
	background-color: rgba(9, 18, 27, .52);
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: var(--radius-pill);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* 4) 左下角大号数据徽章 */
.section--cases .case-grid--showcase .case-badge {
	z-index: 3;
	min-width: 168px;
	max-width: calc(100% - 24px);
	gap: 3px;
	padding: 12px 22px 13px 20px;
	border-radius: 0 var(--radius) 0 0;
	box-shadow: 0 14px 32px rgba(0, 0, 0, .38);
}
.section--cases .case-grid--showcase .case-badge-num {
	font-size: 38px;
	letter-spacing: -.03em;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .2);
}
/* 实色兜底：万一 background-image 未生效，徽章也不会变成透明底 */
.section--cases .case-grid--showcase .case-badge.is-gold { background-color: var(--c-gold-dark); }
.section--cases .case-grid--showcase .case-badge.is-green { background-color: var(--c-accent-dark); }
.section--cases .case-grid--showcase .case-badge-unit { font-size: var(--fs-body); }
.section--cases .case-grid--showcase .case-badge-label {
	margin-top: 2px;
	font-size: var(--fs-xs);
	letter-spacing: .08em;
	opacity: .94;
}

/* 5) 等高卡片：媒体区固定比例后，三张卡由网格自动等高，正文贴齐底部 */
.section--cases .case-grid--showcase .case-card-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1 1 auto;
	padding: var(--sp-5) var(--sp-5) var(--sp-6);
}
.section--cases .case-grid--showcase .case-card-tags { margin: var(--sp-3) 0 0; }
.section--cases .case-grid--showcase .case-card-desc {
	margin-top: var(--sp-3);
	color: rgba(255, 255, 255, .62);
}
.section--cases .case-grid--showcase .case-more-btn {
	align-self: flex-start;
	margin-top: auto;
	margin-bottom: 0;
	padding-top: 9px;
	padding-bottom: 9px;
}
.section--cases .case-grid--showcase .case-card:hover .case-more-btn {
	background-color: var(--c-primary);
	border-color: var(--c-primary);
	box-shadow: 0 8px 22px rgba(0, 128, 200, .38);
}

/* ---------- B. 前沿技术 · 太阳能蒸汽：深色张力区块 ---------- */
.solar-band { position: relative; }
/* 顶部蓝 → 绿 4px 渐变装饰线 */
.solar-band .solar-rule {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 4px;
	z-index: 2;
	background-image: linear-gradient(90deg, var(--c-primary) 0%, #3FA9DE 44%, var(--c-accent) 100%);
}
.solar-band .solar-split {
	grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
	gap: var(--sp-9);
	align-items: stretch;
}
.solar-band .solar-title {
	margin: var(--sp-2) 0 0;
	font-size: 52px;
	line-height: 1.14;
	letter-spacing: .02em;
}
.solar-band .solar-en {
	margin-bottom: var(--sp-5);
	font-size: var(--fs-body);
	letter-spacing: .34em;
	color: rgba(255, 255, 255, .42);
}
.solar-band .solar-desc { margin-bottom: var(--sp-7); max-width: 34em; }

/* 超大数字卡：64-72px */
.solar-band .solar-stat {
	position: relative;
	overflow: hidden;
	padding: var(--sp-6) var(--sp-5) var(--sp-6);
	background-image: linear-gradient(160deg, rgba(255, 255, 255, .085) 0%, rgba(255, 255, 255, .028) 100%);
	border-color: rgba(255, 255, 255, .15);
}
.solar-band .solar-stat-num {
	font-size: 68px;
	letter-spacing: -.035em;
	line-height: .96;
}
.solar-band .solar-stat-unit { margin-left: 5px; font-size: 25px; }
.solar-band .solar-stat:hover { border-color: rgba(255, 255, 255, .26); }
.solar-band .solar-stat--gold {
	box-shadow: inset 0 2px 0 0 var(--c-gold);
	background-image: linear-gradient(160deg, rgba(232, 144, 24, .14) 0%, rgba(232, 144, 24, .02) 100%);
}
.solar-band .solar-stat--green {
	box-shadow: inset 0 2px 0 0 var(--c-accent);
	background-image: linear-gradient(160deg, rgba(104, 184, 40, .14) 0%, rgba(104, 184, 40, .02) 100%);
}

/* 右侧大图：撑满区块高度，图上品牌渐变压暗 + 左下浮层标签 */
.solar-band .solar-photo {
	position: relative;
	height: 100%;
	min-height: 420px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: var(--radius-lg);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .46);
}
.solar-band .solar-photo img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	object-position: center 38%;
}
.solar-band .solar-photo-veil {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(
		196deg,
		rgba(0, 128, 200, .30) 0%,
		rgba(11, 15, 20, .12) 42%,
		rgba(11, 15, 20, .86) 100%
	);
}
.solar-band .solar-photo-tag {
	position: absolute;
	left: var(--sp-5);
	bottom: var(--sp-5);
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 12px 20px 13px;
	background-color: rgba(9, 18, 27, .56);
	border: 1px solid rgba(255, 255, 255, .2);
	border-left: 3px solid var(--c-accent);
	border-radius: 0 var(--radius) var(--radius) 0;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.solar-band .solar-photo-tag-en {
	font-size: 11px;
	font-weight: var(--fw-bold);
	letter-spacing: .2em;
	color: var(--c-accent);
}
.solar-band .solar-photo-tag-cn {
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	color: #fff;
}

/* 大图下方通栏技术卡：半透明白边 */
.solar-band .solar-tech {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--col-gap);
	margin-top: var(--sp-8);
}
.solar-band .solar-tech-card {
	padding: var(--sp-6);
	background-color: rgba(255, 255, 255, .055);
	border-color: rgba(255, 255, 255, .18);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
.solar-band .solar-tech-card:hover {
	background-color: rgba(255, 255, 255, .09);
	border-color: rgba(255, 255, 255, .34);
	transform: translateY(-3px);
}
.solar-band .solar-tech-note { font-size: var(--fs-sm); line-height: 1.95; color: rgba(255, 255, 255, .74); }

/* ---------- C. 热能回收五大核心技术：序号 + 图标 + 非对称网格 ---------- */
.core-grid { align-items: stretch; }
.core-card {
	display: flex;
	flex-direction: column;
	padding-top: var(--sp-7);
}
/* 第 1 张横跨两列，突出最核心的「热能网络优化技术」 */
.core-card--lead {
	grid-column: span 2;
	padding: var(--sp-8) var(--sp-7) var(--sp-7);
	background-image: linear-gradient(158deg, var(--c-primary-light) 0%, #FFFFFF 58%);
	border-color: rgba(0, 128, 200, .26);
}
.core-card--lead .core-head {
	display: flex;
	align-items: center;
	gap: var(--sp-6);
	margin-bottom: var(--sp-5);
}
.core-card--lead .core-num { margin-bottom: 0; }
.core-card--lead .core-icon { margin: 0; }
/* 大号线框序号 */
.core-num {
	margin-bottom: var(--sp-4);
	font-size: 54px;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: .01em;
	color: rgba(0, 128, 200, .13);
	-webkit-text-stroke: 1.6px rgba(0, 128, 200, .5);
}
@supports not ((-webkit-text-stroke: 1px #000)) {
	.core-num { color: rgba(0, 128, 200, .34); }
}
.core-card--lead .core-num { font-size: 64px; }

.core-icon { margin: var(--sp-4) 0 var(--sp-4); color: var(--c-primary); }
.core-icon svg { display: block; }
.core-title { margin-bottom: var(--sp-3); }
.core-desc { flex: 1 1 auto; }

/* 底部业务标签行 */
.core-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: var(--sp-5) 0 0;
	padding-top: var(--sp-4);
	border-top: 1px dashed var(--c-line);
}
.core-card--lead .core-tags { border-top-color: rgba(0, 128, 200, .22); }
.core-tag {
	padding: 4px 10px;
	font-size: var(--fs-xs);
	line-height: 1.6;
	letter-spacing: .02em;
	color: var(--c-text-sub);
	background-color: var(--c-bg-soft);
	border: 1px solid var(--c-line-soft);
	border-radius: var(--radius-pill);
	white-space: nowrap;
}
.core-card--lead .core-tag {
	color: var(--c-primary-dark);
	background-color: rgba(255, 255, 255, .8);
	border-color: rgba(0, 128, 200, .24);
}
.core-card:hover { transform: translateY(-3px); }
.core-card:hover .core-icon { color: var(--c-primary-hover); }
.core-card:hover .core-tag { border-color: rgba(0, 128, 200, .34); }

/* 卡片内部的上移不改动外框，避免与左侧竖条错位 */

/* ---------- D1. 六字业务带：突出重点，不平铺 ---------- */
.chain-item {
	position: relative;
	padding: var(--sp-6) var(--sp-4) var(--sp-6);
	overflow: hidden;
}
.chain-index {
	position: absolute;
	top: 10px;
	right: 12px;
	font-size: 26px;
	font-weight: var(--fw-bold);
	line-height: 1;
	letter-spacing: .01em;
	color: rgba(255, 255, 255, .09);
	-webkit-text-stroke: 1px rgba(154, 214, 244, .26);
}
.chain-badge { margin-bottom: var(--sp-3); }
/* 徽章下方的品牌色短横线 */
.chain-rule-short {
	display: block;
	width: 30px;
	height: 3px;
	margin: 9px 0 11px;
	border-radius: 2px;
	background-image: linear-gradient(90deg, var(--c-primary) 0%, var(--c-accent) 100%);
	transition: width var(--dur) var(--ease), background-image var(--dur) var(--ease);
}
.chain-item:hover .chain-rule-short {
	width: 46px;
	background-image: linear-gradient(90deg, var(--c-accent) 0%, var(--c-primary) 100%);
}
.chain-label {
	margin-top: 0;
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	line-height: 1.6;
	color: rgba(255, 255, 255, .86);
	transition: color var(--dur) var(--ease);
}
.chain-key {
	display: block;
	margin-top: 8px;
	padding-top: 9px;
	width: 100%;
	font-size: var(--fs-xs);
	line-height: 1.7;
	color: #9AD6F4;
	border-top: 1px solid rgba(255, 255, 255, .1);
	transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.chain-item:hover .chain-label { color: #fff; }
.chain-item:hover .chain-key { color: #FFFFFF; border-top-color: rgba(111, 180, 255, .5); }

/* ---------- D2. 双核心业务：六个解决方案图标换新 ---------- */
.biz-card-icon { width: 60px; height: 60px; }
.biz-card:hover .biz-card-icon { background: var(--c-primary); color: #fff; box-shadow: 0 10px 24px rgba(0, 128, 200, .34); }
.biz-card-title { margin-top: 26px; }

/* ---------- 响应式：1080 / 980 / 480 ---------- */
@media (max-width: 1080px) {
	.solar-band .solar-split { grid-template-columns: 1fr; gap: var(--sp-8); }
	.solar-band .solar-photo { min-height: 340px; height: 340px; }
	.solar-band .solar-title { font-size: 44px; }
	.solar-band .solar-stat-num { font-size: 58px; }
	.chain-key { font-size: 11px; }
}

@media (max-width: 980px) {
	/* 案例卡片在平板段变两列，图片比例略降，保证文案区不被压扁 */
	.section--cases .case-grid--showcase .case-card-media { aspect-ratio: 16 / 10; }
	.section--cases .case-grid--showcase .case-badge-num { font-size: 32px; }
	.section--cases .case-grid--showcase .case-badge { min-width: 148px; padding: 10px 18px 11px 16px; }
	.section--cases .case-grid--showcase .case-media-client { top: var(--sp-3); right: var(--sp-3); }

	.solar-band .solar-photo { min-height: 320px; height: 320px; }
	.solar-band .solar-photo-tag { left: var(--sp-4); bottom: var(--sp-4); }
	.solar-band .solar-tech { grid-template-columns: 1fr; margin-top: var(--sp-6); }
	.solar-band .solar-tech-card { padding: var(--sp-5); }

	.core-num { font-size: 46px; }
	.core-card--lead { grid-column: span 2; padding: var(--sp-7) var(--sp-6) var(--sp-6); }
	.core-card--lead .core-num { font-size: 54px; }

	.chain-grid { gap: 10px; }
	.chain-item { padding: var(--sp-5) var(--sp-3) var(--sp-5); }
	.chain-index { font-size: 22px; }
	.chain-key { font-size: 10px; }
	.chain-rule-short { width: 24px; margin: 8px 0 9px; }
}

@media (max-width: 480px) {
	.section--cases .case-grid--showcase .case-card-media { aspect-ratio: 3 / 2; }
	.section--cases .case-grid--showcase .case-badge-num { font-size: 28px; }
	.section--cases .case-grid--showcase .case-badge { min-width: 0; width: 100%; padding: 9px 14px 10px; border-radius: 0; }
	.section--cases .case-grid--showcase .case-card-body { padding: var(--sp-5) var(--sp-4) var(--sp-5); }
	.section--cases .case-grid--showcase .case-media-client { top: 10px; right: 10px; font-size: 11px; padding: 4px 9px; }

	.solar-band .solar-title { font-size: 32px; }
	.solar-band .solar-en { letter-spacing: .22em; }
	.solar-band .solar-stat-num { font-size: 46px; }
	.solar-band .solar-stat-unit { font-size: 18px; }
	.solar-band .solar-photo { height: 240px; min-height: 240px; }
	.solar-band .solar-photo-tag-cn { font-size: var(--fs-sm); }

	/* 六字带在手机上折成两列：徽章缩小、序号淡出、关键数字换行 */
	.chain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.chain-item { padding: var(--sp-4) 10px var(--sp-4); }
	.chain-index { font-size: 18px; top: 8px; right: 8px; }
	.chain-rule-short { width: 20px; height: 2px; }
	.chain-label { font-size: var(--fs-xs); }
	.chain-key { font-size: 10px; line-height: 1.6; margin-top: 6px; padding-top: 7px; }

	.core-card,
	.core-card--lead { padding: var(--sp-5) var(--sp-4) var(--sp-5); }
	.core-num,
	.core-card--lead .core-num { font-size: 40px; -webkit-text-stroke-width: 1.2px; }
	.core-card--lead .core-head { gap: var(--sp-4); margin-bottom: var(--sp-4); }
	.core-tags { margin-top: var(--sp-4); padding-top: var(--sp-3); }
	.core-tag { font-size: 11px; padding: 3px 8px; }

	.biz-card-icon { width: 54px; height: 54px; }
	.biz-card-title { margin-top: 22px; }
}

/* 减少动效：关闭图片放大与卡片位移 */
@media (prefers-reduced-motion: reduce) {
	.section--cases .case-grid--showcase .case-card:hover .case-card-media img,
	.core-card:hover,
	.solar-band .solar-tech-card:hover { transform: none; }
}

/* ==========================================================================
   ===== 公司简介 · 团队与现场（12 列错落拼贴）=====
   桌面节奏：2 张大图（16:9）→ 4 张小图（4:3）→ 1 大 + 1 中 → 3 张中图 → 通栏（21:9）
   仅新增 .site-grid / .site-card / .site-cap 三个类，不改动既有规则。
   ========================================================================== */
.site-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--col-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-card {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius);
	background-color: var(--c-bg-dark-2);
}
.site-card--hero { grid-column: span 6; aspect-ratio: 16 / 9; }
.site-card--quarter { grid-column: span 3; aspect-ratio: 4 / 3; }
.site-card--wide { grid-column: span 8; aspect-ratio: 16 / 9; }
.site-card--third { grid-column: span 4; aspect-ratio: 4 / 3; }
.site-card--strip { grid-column: span 12; aspect-ratio: 21 / 9; }

.site-card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: filter var(--dur) var(--ease);
}
.site-card:hover img { filter: brightness(1.08); }

/* 说明文字：半透明遮罩上的小字，悬停上移显现 */
.site-cap {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	padding: var(--sp-7) var(--sp-4) var(--sp-3);
	background-image: linear-gradient(180deg, rgba(11, 15, 20, 0) 0%, rgba(11, 15, 20, .6) 60%, rgba(11, 15, 20, .8) 100%);
	pointer-events: none;
}
.site-cap-text {
	display: block;
	font-size: var(--fs-xs);
	line-height: 1.7;
	color: rgba(255, 255, 255, .92);
	opacity: .84;
	transform: translateY(6px);
	transition: transform var(--dur) var(--ease), opacity var(--dur) var(--ease);
}
.site-cap-text::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 2px;
	margin-right: 8px;
	vertical-align: middle;
	background-color: var(--c-accent);
}
.site-card:hover .site-cap-text { opacity: 1; transform: translateY(0); }

/* 平板：两列（大图保持 16:9，通栏仍占满一行） */
@media (max-width: 1080px) {
	.site-grid { grid-template-columns: repeat(2, 1fr); }
	.site-card,
	.site-card--quarter,
	.site-card--wide,
	.site-card--third { grid-column: span 1; aspect-ratio: 4 / 3; }
	.site-card--hero { aspect-ratio: 16 / 9; }
	.site-card--strip { grid-column: span 2; aspect-ratio: 21 / 9; }
}

/* 手机：单列 */
@media (max-width: 480px) {
	.site-grid { grid-template-columns: 1fr; gap: var(--sp-4); }
	.site-card,
	.site-card--hero,
	.site-card--quarter,
	.site-card--wide,
	.site-card--third,
	.site-card--strip { grid-column: span 1; aspect-ratio: 4 / 3; }
	.site-card--strip { aspect-ratio: 16 / 9; }
	.site-cap { padding: var(--sp-6) var(--sp-3) var(--sp-2); }
}


/* ==========================================================================
   19 公司简介：通栏导语 + 2x2 实景图组（解决右侧大片空白）
   ========================================================================== */
.profile-lead { max-width: 980px; }
.entry-content--lead { font-size: var(--fs-lg); line-height: 1.95; }
.entry-content--lead > p { margin-bottom: var(--sp-5); }

.profile-shots {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--col-gap);
	margin: var(--sp-9) 0 0;
	padding: 0;
	list-style: none;
}
.profile-shots li {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius);
	background: var(--c-bg-soft);
}
.profile-shots img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: opacity var(--dur) var(--ease);
}
.profile-shot-cap {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 26px 16px 14px;
	font-size: var(--fs-xs);
	line-height: 1.6;
	color: #fff;
	background: linear-gradient(180deg, rgba(3, 13, 30, 0) 0%, rgba(3, 13, 30, .82) 100%);
}
.profile-shots li:hover img { opacity: .88; }

/* ==========================================================================
   20 资质荣誉：整齐网格 + 名称与编号 + 可点击查看大图
   ========================================================================== */
.cert-wall {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--sp-6) var(--col-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.cert-wall > li.cert-item {
	display: flex;
	flex-direction: column;
	margin: 0;
}
.cert-item-figure {
	position: relative;
	display: block;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.cert-item-figure img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: top center;
}
.cert-item-zoom {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 22px 12px 10px;
	font-size: var(--fs-xs);
	text-align: center;
	color: #fff;
	background: linear-gradient(180deg, rgba(3, 13, 30, 0) 0%, rgba(3, 13, 30, .78) 100%);
	opacity: 0;
	transition: opacity var(--dur) var(--ease);
}
.cert-item-figure:hover {
	transform: translateY(-4px);
	border-color: var(--c-primary);
	box-shadow: var(--shadow-lg);
}
.cert-item-figure:hover .cert-item-zoom { opacity: 1; }
.cert-item-name {
	display: block;
	margin-top: var(--sp-4);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	color: var(--c-ink);
	line-height: 1.6;
}
.cert-item-no {
	display: block;
	margin-top: 4px;
	font-size: var(--fs-xs);
	color: var(--c-text-light);
	line-height: 1.6;
}
.cert-wall-note {
	margin: var(--sp-7) 0 0;
	font-size: var(--fs-sm);
	color: var(--c-text-mute);
	text-align: center;
	line-height: 1.9;
}

/* 平板 / 手机 */
@media (max-width: 1080px) {
	.profile-shots { grid-template-columns: repeat(2, 1fr); }
	.cert-wall { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 980px) {
	.profile-lead { max-width: none; }
	.cert-wall { grid-template-columns: repeat(2, 1fr); gap: var(--sp-5) var(--sp-4); }
	.cert-item-name { font-size: var(--fs-xs); }
}
@media (max-width: 480px) {
	.profile-shots { grid-template-columns: 1fr; }
}

/* ===== 21 团队与现场：错落拼贴 ===== */
/* 12 列错落网格 + figure/figcaption 图片说明；跨 7 列用 16:9，跨 5 列用 4:3，跨 4 列用 1:1。
   宽高比一律交给 aspect-ratio，不写死 height。 */
.team-gallery {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--col-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.team-item { margin: 0; }
.team-figure {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius);
	background: var(--c-bg-soft);
}
.team-figure img {
	display: block;
	width: 100%;
	object-fit: cover;
	transition: filter var(--dur) var(--ease);
}
.team-item--span7 { grid-column: span 7; }
.team-item--span5 { grid-column: span 5; }
.team-item--span4 { grid-column: span 4; }
.team-item--span7 .team-figure img { aspect-ratio: 16 / 9; }
.team-item--span5 .team-figure img { aspect-ratio: 4 / 3; }
.team-item--span4 .team-figure img { aspect-ratio: 1 / 1; }
/* 说明文字：半透明深色渐变遮罩压在图片底部，白字 13px，与 .profile-shot-cap 同一手法。 */
.team-cap {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 30px 16px 14px;
	font-size: 13px;
	line-height: 1.6;
	color: #fff;
	background: linear-gradient(180deg, rgba(3, 13, 30, 0) 0%, rgba(3, 13, 30, .82) 100%);
	transition: transform var(--dur) var(--ease);
}
/* 悬停：图片轻微变亮 + 说明文字上移 2px（不使用 scale）。 */
.team-item:hover .team-figure img { filter: brightness(1.08); }
.team-item:hover .team-cap { transform: translateY(-2px); }

@media (max-width: 1080px) {
	.team-gallery { grid-template-columns: repeat(6, 1fr); }
	.team-item--span7,
	.team-item--span5,
	.team-item--span4 { grid-column: span 3; }
	.team-item--span7 .team-figure img,
	.team-item--span5 .team-figure img,
	.team-item--span4 .team-figure img { aspect-ratio: 4 / 3; }
}
@media (max-width: 980px) {
	.team-gallery { grid-template-columns: repeat(2, 1fr); }
	.team-item--span7,
	.team-item--span5,
	.team-item--span4 { grid-column: auto; }
	.team-cap { font-size: 12px; }
}
@media (max-width: 480px) {
	.team-gallery { grid-template-columns: 1fr; }
}

/* ===== 22 双核心业务：子技术列表线性图标 ===== */
/* 内联 SVG 取代 .duo-list 原来的 ::before 圆点；六个图形同为 0 0 48 48 / 1.75 线宽 / round 端点。
   图标颜色继承列表项文字色，列表项 hover 时转为 --c-primary。 */
.duo-list li::before { content: none; }
.duo-list li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding-left: 0;
}
.duo-list-icon {
	display: block;
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	color: inherit;
	transition: color var(--dur) var(--ease);
}
.duo-list-text {
	flex: 1 1 auto;
	min-width: 0;
}
.duo-list li:hover .duo-list-icon { color: var(--c-primary); }


/* ==========================================================================
   22 顶部栏与主导航 · 重做（覆盖 18.x 的旧顶栏规则）
   目标：干净的三段式一行版式 —— [Logo] [导航居中] [热线 + 按钮]
   ========================================================================== */

/* --- 顶部信息条：浅灰极简，只放一句品牌语 + 电话 + 联系我们 --- */
.topbar {
	height: 38px;
	background: #F7F9FB;
	border-bottom: 1px solid var(--c-line-soft);
}
.topbar-inner { display: flex; align-items: center; justify-content: space-between; height: 100%; }
.topbar-slogan {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 13px;
	letter-spacing: .08em;
	color: var(--c-text-mute);
}
.topbar-slogan::before {
	content: "";
	display: block;
	width: 3px;
	height: 13px;
	border-radius: 2px;
	background: linear-gradient(180deg, var(--c-primary), var(--c-accent));
}
.topbar-links { display: flex; align-items: center; gap: 20px; }
.topbar-tel {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	font-weight: var(--fw-medium);
	color: var(--c-text-sub);
}
.topbar-tel svg { color: var(--c-primary); }
.topbar-tel:hover { color: var(--c-primary); }
.topbar-tel-num { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.topbar-contact { font-size: 13px; color: var(--c-text-mute); }
.topbar-contact:hover { color: var(--c-primary); }
.topbar-sep, .topbar-cta, .topbar-mail { display: none; }

/* --- 主导航条 --- */
.site-header { background: #fff; }
.header-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 24px;
	height: 74px;
}
.site-branding { justify-self: start; }
.brand-logo { height: 42px; max-height: 42px; }
.site-header.is-stuck .brand-logo { height: 38px; max-height: 38px; }

.primary-nav { justify-self: center; display: block; }
.primary-nav .menu { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.primary-nav .menu > li > a {
	display: block;
	height: 74px;
	line-height: 74px;
	padding: 0 17px;
	font-size: 15.5px;
	font-weight: var(--fw-medium);
	color: var(--c-text);
	white-space: nowrap;
	transition: color var(--dur-fast) var(--ease);
}
.primary-nav .menu > li > a::after {
	left: 17px; right: 17px;
	height: 2px;
	background: var(--c-primary);
}
.site-header.is-stuck .primary-nav .menu > li > a { height: 60px; line-height: 60px; }

/* --- 右侧动作区 --- */
.header-actions { justify-self: end; display: flex; align-items: center; gap: 14px; }
.header-tel {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 0 4px;
	color: var(--c-text-sub);
}
.header-tel-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px; height: 34px;
	border-radius: 50%;
	background: var(--c-primary-light);
	color: var(--c-primary);
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.header-tel-num {
	font-size: 16px;
	font-weight: var(--fw-bold);
	color: var(--c-ink);
	font-variant-numeric: tabular-nums;
	letter-spacing: .01em;
	line-height: 1.2;
}
.header-tel:hover .header-tel-icon { background: var(--c-primary); color: #fff; }
.header-tel:hover .header-tel-num { color: var(--c-primary); }

.header-cta {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 42px;
	padding: 0 22px;
	border-radius: var(--radius-pill);
	font-size: 14.5px;
	font-weight: var(--fw-medium);
	color: var(--c-primary);
	background: transparent;
	border: 1px solid var(--c-primary);
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.header-cta-arrow { transition: transform var(--dur) var(--ease); }
.header-cta:hover { background: var(--c-primary); color: #fff; }
.header-cta:hover .header-cta-arrow { transform: translateX(3px); }

@media (max-width: 1280px) {
	.primary-nav .menu > li > a { padding: 0 12px; font-size: 14.5px; }
	.primary-nav .menu > li > a::after { left: 12px; right: 12px; }
	.header-tel-text { display: none; }
}
@media (max-width: 1080px) {
	.header-tel { display: none; }
}
@media (max-width: 980px) {
	.topbar { display: none; }
	.header-inner { display: flex; height: var(--nav-h-sm); }
	.site-branding { margin-right: auto; }
	.brand-logo { height: 38px; }
	.primary-nav {
		position: fixed;
		top: 0; right: 0;
		width: min(84vw, 360px);
		height: 100vh; height: 100dvh;
		padding: 76px var(--sp-5) var(--sp-8);
		background: #fff;
		box-shadow: -10px 0 40px rgba(0,0,0,.16);
		overflow-y: auto;
		transform: translateX(102%);
		transition: transform var(--dur) var(--ease);
		z-index: 895;
	}
	.primary-nav.is-open { transform: none; }
	.primary-nav .menu { display: block; }
	.primary-nav .menu > li { border-bottom: 1px solid var(--c-line-soft); }
	.primary-nav .menu > li > a { height: auto; line-height: 1.6; padding: 15px 0; font-size: 16px; }
	.primary-nav .menu > li > a::after { display: none; }
	.nav-drawer-head { display: block; }
	.nav-drawer-foot { display: flex; }
	.header-cta { display: none; }
}
@media (min-width: 981px) {
	.nav-drawer-head, .nav-drawer-foot { display: none; }
}


/* ==========================================================================
   23 双核心业务：技术清单视觉分层（解决"六个板块太单调"）
   ========================================================================== */
.duo-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-7); }

.duo-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.duo-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--c-primary); }

.duo-media {
	position: relative;
	height: 250px;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: flex-end;
}
.duo-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(150deg, rgba(0, 95, 150, .90) 0%, rgba(2, 20, 40, .82) 62%, rgba(2, 20, 40, .58) 100%);
}
.duo-card--building .duo-media::after {
	background: linear-gradient(150deg, rgba(78, 143, 28, .88) 0%, rgba(2, 26, 32, .82) 62%, rgba(2, 26, 32, .58) 100%);
}
.duo-media-inner { position: relative; z-index: 2; padding: var(--sp-7) var(--sp-7) var(--sp-6); color: #fff; }
.duo-en {
	display: block;
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: var(--fw-bold);
	letter-spacing: .22em;
	color: rgba(255, 255, 255, .72);
}
.duo-title { margin: 0 0 8px; font-size: 32px; font-weight: var(--fw-bold); color: #fff; line-height: 1.2; }
.duo-sub { margin: 0; font-size: var(--fs-sm); color: rgba(255, 255, 255, .82); line-height: 1.7; }

.duo-body { padding: var(--sp-7); flex: 1 1 auto; }
.duo-list-label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 var(--sp-5);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	color: var(--c-ink);
	letter-spacing: .02em;
}
.duo-list-label::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--c-line); }

/* 技术清单：卡片化 + 大号图标容器（原来是纯文字列表，太单调） */
.duo-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.duo-list li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 13px 14px;
	font-size: var(--fs-sm);
	line-height: 1.6;
	color: var(--c-text-sub);
	background: var(--c-bg-soft);
	border-radius: var(--radius);
	border-left: 3px solid transparent;
	transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.duo-list li::before { display: none; }
.duo-list li:hover {
	background: #fff;
	border-left-color: var(--c-primary);
	color: var(--c-ink);
	box-shadow: var(--shadow-sm);
}
.duo-card--building .duo-list li:hover { border-left-color: var(--c-accent); }
.duo-list .duo-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	background: var(--c-primary-light);
	color: var(--c-primary);
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.duo-card--building .duo-list .duo-ico { background: var(--c-accent-light); color: var(--c-accent-dark); }
.duo-list li:hover .duo-ico { background: var(--c-primary); color: #fff; }
.duo-card--building .duo-list li:hover .duo-ico { background: var(--c-accent); color: #fff; }
.duo-list .duo-ico svg { width: 19px; height: 19px; }

.duo-foot {
	margin: var(--sp-6) 0 0;
	padding-top: var(--sp-5);
	border-top: 1px dashed var(--c-line);
	font-size: var(--fs-xs);
	color: var(--c-text-mute);
	line-height: 1.8;
}
.duo-card .btn { margin: var(--sp-6) var(--sp-7) var(--sp-7); align-self: flex-start; }

/* ==========================================================================
   24 已交付客户 Logo 墙（带标识 + 跑马灯）
   ========================================================================== */
.client-strip { margin-top: var(--sp-8); }
.client-strip-label {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 var(--sp-5);
	font-size: var(--fs-sm);
	font-weight: var(--fw-bold);
	color: var(--c-ink);
}
.client-strip-label::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--c-line); }

.client-marquee {
	position: relative;
	overflow: hidden;
	padding: var(--sp-2) 0;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
}
.client-track {
	display: flex;
	align-items: center;
	gap: var(--sp-6);
	width: max-content;
	animation: cxjn-client-scroll 42s linear infinite;
}
.client-marquee:hover .client-track { animation-play-state: paused; }
@keyframes cxjn-client-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
.client-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 232px;
	height: 96px;
	padding: 0 18px;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.client-logo img { max-width: 100%; max-height: 62px; width: auto; height: auto; }
.client-logo:hover { border-color: var(--c-primary); box-shadow: var(--shadow); }
@media (prefers-reduced-motion: reduce) {
	.client-track { animation: none; }
	.client-marquee { overflow-x: auto; }
}

/* ==========================================================================
   25 公司简介「我们能解决什么问题」：加卡片层次
   ========================================================================== */
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--col-gap); }
.value-card {
	position: relative;
	padding: var(--sp-7) var(--sp-6) var(--sp-6);
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	text-align: left;
	overflow: hidden;
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.value-card::before {
	content: "";
	position: absolute;
	left: 0; top: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--c-primary), var(--c-accent));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--dur) var(--ease);
}
.value-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: transparent; }
.value-card:hover::before { transform: scaleX(1); }
.value-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	margin: 0 0 var(--sp-5);
	border-radius: 14px;
	background: var(--c-primary-light);
	color: var(--c-primary);
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.value-card:hover .value-card-icon { background: var(--c-primary); color: #fff; }
.value-card-title { margin: 0 0 var(--sp-3); font-size: var(--fs-h4); font-weight: var(--fw-bold); text-align: left; }
.value-card-desc { margin: 0; font-size: var(--fs-sm); color: var(--c-text-mute); line-height: 1.9; text-align: left; }

/* ==========================================================================
   26 新闻卡片配图：统一 16:9，避免出现空图
   ========================================================================== */
.news-card-media { position: relative; display: block; overflow: hidden; background: var(--c-bg-soft); }
.news-card-media img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

@media (max-width: 1080px) {
	.duo-grid { grid-template-columns: 1fr; }
	.duo-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.value-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
	.duo-media { height: 200px; }
	.duo-title { font-size: 26px; }
	.duo-body { padding: var(--sp-6) var(--sp-5); }
	.duo-list { grid-template-columns: 1fr; }
	.value-grid { grid-template-columns: 1fr; }
	.client-logo { width: 190px; height: 82px; }
}


/* ==========================================================================
   27 底部 CTA · 全国服务热线（突出电话，去掉冗长说明）
   ========================================================================== */
.footer-cta-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-7); }
.footer-cta-contact { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-6); }
.footer-cta-tel { display: flex; flex-direction: column; gap: 2px; }
.footer-cta-tel-label {
	font-size: var(--fs-xs);
	letter-spacing: .16em;
	color: rgba(255, 255, 255, .72);
}
.footer-cta-tel-num {
	font-size: 34px;
	font-weight: var(--fw-bold);
	line-height: 1.15;
	color: #fff;
	font-variant-numeric: tabular-nums;
	letter-spacing: .01em;
}
.footer-cta-tel:hover .footer-cta-tel-num { color: #FFE9B8; }
.footer-cta .btn--ghost-light { height: 48px; }

/* 招聘页开场导语 */
.jobs-lead {
	font-size: var(--fs-lg);
	line-height: 1.95;
	color: var(--c-text-sub);
}

@media (max-width: 980px) {
	.footer-cta-contact { width: 100%; }
	.footer-cta-tel-num { font-size: 27px; }
	.footer-cta .btn--ghost-light { width: 100%; }
}


/* ==========================================================================
   28 已交付客户 Logo（图片版，替换原来的文字 chip）
   ========================================================================== */
.client-band-title {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 var(--sp-6);
	font-size: var(--fs-h4);
	font-weight: var(--fw-bold);
	color: var(--c-ink);
}
.client-band-title::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--c-line); }

.client-chip {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 200px;
	height: 84px;
	margin: 0;
	padding: 0 14px;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.client-chip:hover { border-color: var(--c-primary); box-shadow: var(--shadow-sm); }
.client-logo-img {
	display: block;
	max-width: 100%;
	max-height: 56px;
	width: auto;
	height: auto;
}

/* ==========================================================================
   29 顶部栏精修：导航更透气、右侧动作区更均衡
   ========================================================================== */
/* 顶部信息条：字号与字距更克制，右侧电话与「联系我们」之间加细分隔 */
.topbar-inner { gap: 16px; }
.topbar-links { gap: 16px; }
.topbar-links > * + * { position: relative; }
.topbar-links > * + *::before {
	content: "";
	position: absolute;
	left: -8px;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 12px;
	background: var(--c-line);
}

/* 主导航：加大左右内边距与字距，让七项读起来更从容 */
.primary-nav .menu { gap: 4px; }
.primary-nav .menu > li > a { padding: 0 19px; letter-spacing: .01em; }
.primary-nav .menu > li > a::after { left: 19px; right: 19px; }

/* 右侧动作区：热线块与按钮之间加竖向细分隔，视觉更稳 */
.header-actions { gap: 16px; }
.header-tel { padding-right: 16px; border-right: 1px solid var(--c-line); }

/* 屏宽不足时逐级收敛，避免挤压导航 */
@media (max-width: 1360px) {
	.primary-nav .menu > li > a { padding: 0 14px; font-size: 15px; }
	.primary-nav .menu > li > a::after { left: 14px; right: 14px; }
	.header-tel-num { font-size: 15px; }
	.header-cta { padding: 0 18px; font-size: 14px; }
}
@media (max-width: 1200px) {
	.header-tel-text { display: none; }
	.header-tel { padding-right: 12px; }
	.primary-nav .menu > li > a { padding: 0 11px; font-size: 14.5px; }
	.primary-nav .menu > li > a::after { left: 11px; right: 11px; }
}
@media (max-width: 1080px) {
	.header-tel { display: none; }
	.primary-nav .menu > li > a { padding: 0 9px; font-size: 14px; }
	.primary-nav .menu > li > a::after { left: 9px; right: 9px; }
}


/* ==========================================================================
   30 六大方案卡片 · 真图版（替换原来的纯色块）
   ========================================================================== */
.business-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--col-gap); }

.biz-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: var(--radius-lg);
	overflow: hidden;
	color: var(--c-text);
	box-shadow: none;
	transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.biz-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--c-primary); color: var(--c-text); }

.biz-card-media { position: relative; display: block; overflow: hidden; background: var(--c-bg-soft); }
.biz-card-media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: opacity var(--dur) var(--ease);
}
.biz-card:hover .biz-card-media img { opacity: .92; }
.biz-card-veil {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(3, 13, 30, .30) 0%, rgba(3, 13, 30, 0) 42%, rgba(3, 13, 30, .52) 100%);
}
.biz-card-num {
	position: absolute;
	top: 14px;
	left: 16px;
	font-size: 30px;
	font-weight: var(--fw-bold);
	line-height: 1;
	color: #fff;
	opacity: .92;
	font-variant-numeric: tabular-nums;
	letter-spacing: -.02em;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .35);
}

.biz-card-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: var(--sp-6) var(--sp-6) var(--sp-5); }
.biz-card-head { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 12px; }
.biz-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: var(--c-primary-light);
	color: var(--c-primary);
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.biz-card:hover .biz-card-icon { background: var(--c-primary); color: #fff; }
.biz-card-title {
	display: block;
	font-size: var(--fs-lg);
	font-weight: var(--fw-bold);
	line-height: 1.45;
	color: var(--c-ink);
}
.biz-card-desc {
	display: block;
	flex: 1 1 auto;
	margin-bottom: var(--sp-5);
	font-size: var(--fs-sm);
	line-height: 1.85;
	color: var(--c-text-mute);
}
.biz-card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: var(--sp-4);
	border-top: 1px solid var(--c-line-soft);
}
.biz-card-metric {
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
	color: var(--c-primary);
	background: var(--c-primary-light);
	padding: 5px 11px;
	border-radius: var(--radius-pill);
	white-space: nowrap;
}
.biz-card-more { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-sm); font-weight: var(--fw-medium); color: var(--c-text-sub); }
.biz-card-more .arrow { transition: transform var(--dur) var(--ease); }
.biz-card:hover .biz-card-more { color: var(--c-primary); }
.biz-card:hover .biz-card-more .arrow { transform: translateX(4px); }

@media (max-width: 1080px) { .business-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 980px) { .business-grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   31 顶部栏彻底重做：去掉独立信息条，Logo + 导航 + 热线合并为一行
   ========================================================================== */
.topbar { display: none !important; }

.header-inner {
	display: flex !important;
	align-items: center;
	gap: 0;
	height: 78px;
}
.site-branding { flex: 0 0 auto; margin-right: 44px; }

.primary-nav {
	flex: 1 1 auto;
	display: flex !important;
	justify-content: flex-start;
	min-width: 0;
}
.primary-nav .menu { gap: 0; }
.primary-nav .menu > li > a {
	height: 78px;
	line-height: 78px;
	padding: 0 15px;
	font-size: 15.5px;
	font-weight: var(--fw-medium);
	color: var(--c-text);
}
.primary-nav .menu > li > a::after { left: 15px; right: 15px; }
.site-header.is-stuck .primary-nav .menu > li > a { height: 64px; line-height: 64px; }

.header-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 18px; margin-left: 28px; }
.header-tel { border-right: 0; padding-right: 0; }
.header-tel-icon { width: 36px; height: 36px; }
.header-tel-num { font-size: 17px; }
.header-cta { height: 44px; padding: 0 24px; font-size: 15px; }

/* 顶部信息条内容并入页脚之前的过渡：保证品牌语仍有落点 */
@media (max-width: 1380px) {
	.site-branding { margin-right: 26px; }
	.primary-nav .menu > li > a { padding: 0 12px; font-size: 15px; }
	.primary-nav .menu > li > a::after { left: 12px; right: 12px; }
	.header-actions { margin-left: 18px; gap: 14px; }
	.header-tel-num { font-size: 15.5px; }
}
@media (max-width: 1200px) {
	.header-tel-text { display: none; }
	.header-cta { padding: 0 18px; font-size: 14px; }
	.primary-nav .menu > li > a { padding: 0 10px; font-size: 14.5px; }
	.primary-nav .menu > li > a::after { left: 10px; right: 10px; }
}
@media (max-width: 1080px) {
	.header-tel { display: none; }
	.site-branding { margin-right: 18px; }
	.primary-nav .menu > li > a { padding: 0 8px; font-size: 14px; }
	.primary-nav .menu > li > a::after { left: 8px; right: 8px; }
}
@media (max-width: 980px) {
	.header-inner { height: var(--nav-h-sm); }
	.site-branding { margin-right: auto; }
	.primary-nav { flex: 0 0 auto; }
}


/* ==========================================================================
   32 Logo 区品牌语（顶部信息条取消后，品牌语并入 Logo 右侧）
   ========================================================================== */
.site-branding { display: flex; align-items: center; gap: 16px; }
.brand-tagline {
	position: relative;
	padding-left: 16px;
	font-size: 12.5px;
	line-height: 1.5;
	letter-spacing: .1em;
	color: var(--c-text-mute);
	white-space: nowrap;
}
.brand-tagline::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 22px;
	background: var(--c-line);
}
@media (max-width: 1380px) { .brand-tagline { font-size: 12px; letter-spacing: .06em; } }
@media (max-width: 1200px) { .brand-tagline { display: none; } }


/* ==========================================================================
   33 顶部导航防重叠修复
   问题：7 个菜单项 + 电话块 + 按钮在 1440px 下横向空间不足，末两项与电话重叠。
   策略：① 右侧只保留一个按钮，去掉重复的电话块 ② 导航允许收缩、禁止换行溢出
        ③ 逐步收紧 padding 与字号 ④ 极窄时把导航交给移动端抽屉
   ========================================================================== */
.header-inner { display: flex !important; align-items: center; gap: 0; height: 78px; overflow: visible; }
.site-branding { flex: 0 1 auto; margin-right: 32px; min-width: 0; }
.primary-nav { flex: 1 1 auto; min-width: 0; display: flex !important; justify-content: flex-start; }
.primary-nav .menu { display: flex; align-items: center; flex-wrap: nowrap; gap: 0; }
.primary-nav .menu > li { flex: 0 0 auto; }
.primary-nav .menu > li > a {
	display: block;
	height: 78px;
	line-height: 78px;
	padding: 0 13px;
	font-size: 15px;
	white-space: nowrap;
}
.primary-nav .menu > li > a::after { left: 13px; right: 13px; }
.site-header.is-stuck .primary-nav .menu > li > a { height: 64px; line-height: 64px; }

.header-actions { flex: 0 0 auto; margin-left: 20px; display: flex; align-items: center; }
.header-tel { display: none !important; }
.header-cta { height: 42px; padding: 0 20px; font-size: 14.5px; white-space: nowrap; }

/* 逐级收紧，保证任何宽度下都不重叠 */
@media (max-width: 1500px) {
	.site-branding { margin-right: 24px; }
	.primary-nav .menu > li > a { padding: 0 11px; font-size: 14.5px; }
	.primary-nav .menu > li > a::after { left: 11px; right: 11px; }
	.header-actions { margin-left: 14px; }
	.header-cta { padding: 0 18px; font-size: 14px; }
}
@media (max-width: 1340px) {
	.brand-tagline { display: none; }
	.primary-nav .menu > li > a { padding: 0 9px; font-size: 14px; }
	.primary-nav .menu > li > a::after { left: 9px; right: 9px; }
}
@media (max-width: 1180px) {
	.primary-nav .menu > li > a { padding: 0 7px; font-size: 13.5px; }
	.primary-nav .menu > li > a::after { left: 7px; right: 7px; }
	.header-cta { padding: 0 15px; font-size: 13px; height: 38px; }
}
/* 再窄就切换移动端抽屉（汉堡菜单） */
@media (max-width: 1080px) {
	.header-inner { height: var(--nav-h-sm); }
	.site-branding { margin-right: auto; }
	.primary-nav { flex: 0 0 auto; }
	.header-actions { margin-left: 12px; }
}

/* ============ 18 首页改版新增：主视觉海报 / 解决方案卡片 / 股东与关联公司 ============ */

/* ---- 18.1 通栏主视觉（企业介绍首页整幅画面，图上不叠字） ---- */
.hero--poster {
	min-height: 0;
	background: var(--c-bg-dark);
}
.hero--poster .hero-slides {
	position: relative;
}
.hero--poster .hero-slide {
	display: block;
	position: relative;
	background-image: none !important;
}
.hero-poster-img {
	display: block;
	width: 100%;
	height: auto;
}
.hero--poster .hero-overlay,
.hero--poster .hero-content,
.hero--poster .hero-dots {
	display: none;
}

/* 主视觉下方的来电条 */
.hero-cta-bar {
	background: linear-gradient(90deg, var(--c-primary-dark) 0%, var(--c-primary) 55%, var(--c-accent-dark) 100%);
	color: #fff;
}
.hero-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 16px 0;
	flex-wrap: wrap;
}
.hero-cta-text {
	margin: 0;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: #fff;
}
.hero-cta-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.hero-cta-phone {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.04em;
	text-decoration: none;
	padding: 6px 2px;
	border-bottom: 2px solid rgba(255, 255, 255, 0.45);
	transition: border-color 0.2s;
}
.hero-cta-phone:hover {
	border-bottom-color: #fff;
}
.hero-cta-phone-icon {
	display: inline-flex;
	color: rgba(255, 255, 255, 0.9);
}
.hero-cta-bar .btn-primary {
	background: #fff;
	color: var(--c-primary-dark);
	border-color: #fff;
}
.hero-cta-bar .btn-primary:hover {
	background: var(--c-primary-light);
	border-color: var(--c-primary-light);
}

/* ---- 18.2 三大解决方案 + 零碳工业园 ---- */
.section--plans {
	background: var(--c-bg-soft);
}
.plan-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
	margin-top: 38px;
}
.plan-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 10px;
	padding: 28px 24px 22px;
	text-decoration: none;
	color: inherit;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.plan-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 3px;
	background: linear-gradient(90deg, var(--c-primary), var(--c-accent));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.28s ease;
}
.plan-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(0, 95, 150, 0.13);
	border-color: var(--c-primary);
}
.plan-card:hover::before {
	transform: scaleX(1);
}
.plan-card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 18px;
}
.plan-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 12px;
	background: var(--c-primary-light);
	color: var(--c-primary);
}
.plan-card-no {
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
	color: #E8EEF3;
	letter-spacing: 0.02em;
}
.plan-card-name {
	font-size: 17px;
	font-weight: 700;
	color: var(--c-text);
	line-height: 1.45;
	min-height: 50px;
}
.plan-card-desc {
	margin-top: 10px;
	font-size: 13.5px;
	line-height: 1.75;
	color: var(--c-text-mute);
	flex: 1;
}
.plan-card-metric {
	margin-top: 16px;
	padding: 10px 12px;
	border-radius: 6px;
	background: var(--c-accent-light);
	border-left: 3px solid var(--c-accent);
	font-size: 13px;
	font-weight: 700;
	color: var(--c-accent-dark);
	line-height: 1.6;
}
.plan-card-more {
	margin-top: 16px;
	font-size: 13px;
	font-weight: 600;
	color: var(--c-primary);
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.plan-card-more .arrow {
	transition: transform 0.22s ease;
}
.plan-card:hover .plan-card-more .arrow {
	transform: translateX(4px);
}

/* ---- 18.3 股东与关联公司（公司标识 + 定位 + 简介） ---- */
.section--group {
	background: var(--c-bg-soft);
}
.group-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 18px;
	margin-top: 38px;
}
.group-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 10px;
	padding: 24px 20px;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.group-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(0, 95, 150, 0.12);
	border-color: var(--c-primary);
}
.group-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 62px;
	margin-bottom: 16px;
	border-radius: 8px;
	background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%);
}
.group-logo-mark {
	font-size: 17px;
	font-weight: 800;
	color: #fff;
	letter-spacing: 0.16em;
	text-indent: 0.16em;
}
.group-name {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--c-text);
	line-height: 1.5;
}
.group-tag {
	margin-top: 8px;
	display: inline-block;
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--c-primary-light);
	color: var(--c-primary-dark);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.group-desc {
	margin-top: 12px;
	font-size: 12.5px;
	line-height: 1.78;
	color: var(--c-text-mute);
}

/* ---- 18.4 响应式 ---- */
@media (max-width: 1180px) {
	.plan-grid { grid-template-columns: repeat(2, 1fr); }
	.group-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 760px) {
	.hero-cta-inner { flex-direction: column; align-items: flex-start; gap: 12px; padding: 14px 0; }
	.hero-cta-text { font-size: 17px; }
	.hero-cta-phone { font-size: 18px; }
	.plan-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 26px; }
	.plan-card { padding: 22px 18px 18px; }
	.plan-card-name { min-height: 0; }
	.group-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 26px; }
	.group-card { padding: 18px 14px; }
	.group-logo { height: 52px; margin-bottom: 12px; }
	.group-logo-mark { font-size: 15px; }
}

/* ============ 19 公司简介：核心业务（工业节能 / 建筑节能 / 零碳工业园） ============ */
.section--core {
	background: var(--c-bg-soft);
}
.core-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 38px;
}
.core-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 12px;
	padding: 30px 28px 26px;
	position: relative;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.core-card::after {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
}
.core-card--industry::after {
	background: linear-gradient(90deg, var(--c-primary), #3FA9E0);
}
.core-card--building::after {
	background: linear-gradient(90deg, var(--c-accent), #9BD05C);
}
.core-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 34px rgba(0, 95, 150, 0.12);
	border-color: var(--c-primary);
}
.core-card-head {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.core-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 12px;
	background: var(--c-primary-light);
	color: var(--c-primary);
	flex: none;
}
.core-card--building .core-card-icon {
	background: var(--c-accent-light);
	color: var(--c-accent-dark);
}
.core-card-title {
	font-size: 21px;
	font-weight: 700;
	color: var(--c-text);
	letter-spacing: 0.02em;
}
.core-card-sub {
	display: block;
	width: 100%;
	margin-top: -6px;
	font-size: 13px;
	color: var(--c-text-mute);
}
.core-list {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
.core-list li {
	padding: 7px 14px;
	border-radius: 6px;
	background: var(--c-bg-soft);
	border: 1px solid var(--c-line-soft);
	font-size: 13.5px;
	color: var(--c-text-sub);
	line-height: 1.4;
}
.core-card--industry .core-list li {
	background: var(--c-primary-light);
	border-color: rgba(0, 128, 200, 0.16);
	color: var(--c-primary-dark);
}
.core-card--building .core-list li {
	background: var(--c-accent-light);
	border-color: rgba(104, 184, 40, 0.2);
	color: var(--c-accent-dark);
}
.core-card-foot {
	margin: auto 0 0;
	padding-top: 16px;
	border-top: 1px dashed var(--c-line);
	font-size: 12.5px;
	line-height: 1.85;
	color: var(--c-text-mute);
}

/* 零碳工业园 */
.core-park {
	display: grid;
	grid-template-columns: 1fr 260px;
	gap: 30px;
	align-items: center;
	margin-top: 24px;
	padding: 38px 40px;
	border-radius: 12px;
	background: linear-gradient(120deg, #06345F 0%, #0B5FA5 52%, #16794A 100%);
	color: #fff;
	overflow: hidden;
	position: relative;
}
.core-park::before {
	content: "";
	position: absolute;
	right: -80px;
	top: -80px;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(104, 184, 40, 0.32) 0%, rgba(104, 184, 40, 0) 70%);
}
.core-park-body {
	position: relative;
}
.core-park-eyebrow {
	margin: 0 0 12px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #A8E06A;
}
.core-park-title {
	margin: 0 0 14px;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.45;
	color: #fff;
}
.core-park-desc {
	margin: 0 0 20px;
	font-size: 14.5px;
	line-height: 1.9;
	color: rgba(255, 255, 255, 0.86);
	max-width: 760px;
}
.core-park-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.core-park-tags li {
	padding: 6px 14px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.34);
	background: rgba(255, 255, 255, 0.1);
	font-size: 12.5px;
	color: #fff;
	line-height: 1.4;
}
.core-park-visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.42);
}

@media (max-width: 1180px) {
	.core-grid { grid-template-columns: 1fr; }
	.core-park { grid-template-columns: 1fr; padding: 30px 26px; }
	.core-park-visual { display: none; }
}
@media (max-width: 760px) {
	.core-card { padding: 24px 20px 20px; }
	.core-card-title { font-size: 19px; }
	.core-park { padding: 26px 20px; border-radius: 10px; }
	.core-park-title { font-size: 20px; }
	.core-park-desc { font-size: 13.5px; }
}

/* ==================================================================
   成功案例列表页：案例清单表 + 行业分组 + 大号节能数据徽章
   （2026-10 按最新《企业介绍》PPT 重做成功案例栏目时新增）
   ================================================================== */

/* ---------- 案例清单表 ---------- */
.case-list-block { margin-bottom: var(--sp-10); }
.case-list-block .section-head { margin-bottom: var(--sp-6); }

.case-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--c-line);
	border-radius: var(--radius);
	background: #fff;
}
.case-table {
	width: 100%;
	min-width: 900px;
	border-collapse: collapse;
	font-size: var(--fs-sm);
	line-height: 1.7;
}
.case-table th,
.case-table td {
	padding: 14px 16px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--c-line-soft);
}
.case-table thead th {
	background: var(--c-bg-soft);
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
	letter-spacing: .06em;
	color: var(--c-text-sub);
	white-space: nowrap;
	border-bottom: 1px solid var(--c-line);
}
.case-table tbody tr:last-child td { border-bottom: 0; }
.case-table tbody tr { transition: background-color var(--dur) var(--ease); }
.case-table tbody tr:hover { background: #FAFCFF; }
.case-table .case-table-idx {
	width: 62px;
	color: var(--c-text-light);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.case-table .case-table-client {
	min-width: 200px;
	font-weight: var(--fw-medium);
	color: var(--c-ink);
}
.case-table .case-table-client a { color: var(--c-primary-dark); }
.case-table .case-table-client a:hover { color: var(--c-primary); text-decoration: underline; }
.case-table .case-table-saving {
	min-width: 260px;
	color: var(--c-text-sub);
}
.case-table .case-table-saving::before {
	content: "";
	display: inline-block;
	width: 3px;
	height: 14px;
	margin-right: 10px;
	vertical-align: -2px;
	background: var(--c-accent);
	border-radius: 2px;
}
.case-table-note {
	margin: var(--sp-3) 0 0;
	font-size: var(--fs-xs);
	line-height: 1.8;
	color: var(--c-text-light);
}

/* ---------- 行业分组小标题 ---------- */
.case-group + .case-group { margin-top: var(--sp-10); }
.case-group-head {
	display: flex;
	align-items: flex-end;
	gap: var(--sp-6);
	margin-bottom: var(--sp-6);
}
.case-group-head-text { flex: 1 1 auto; min-width: 0; }
.case-group-eyebrow {
	display: block;
	margin-bottom: 8px;
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
	letter-spacing: .14em;
	color: var(--c-primary);
}
.case-group-title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin: 0 0 10px;
	font-size: var(--fs-h3);
	font-weight: var(--fw-bold);
	line-height: 1.35;
	color: var(--c-ink);
}
.case-group-count {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
	letter-spacing: .02em;
	color: #fff;
	background: var(--c-primary);
	border-radius: var(--radius-pill);
	font-variant-numeric: tabular-nums;
}
.case-group-desc {
	margin: 0;
	font-size: var(--fs-sm);
	line-height: 1.8;
	color: var(--c-text-mute);
}
.case-group-rule {
	flex: 0 0 auto;
	width: 120px;
	height: 3px;
	margin-bottom: 14px;
	background: linear-gradient(90deg, var(--c-accent) 0%, rgba(0, 168, 112, 0) 100%);
	border-radius: 2px;
}

/* ---------- 卡片上的大号节能数据徽章 ---------- */
.case-card-badge {
	position: absolute;
	left: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 1px;
	padding: 11px 20px 12px 16px;
	background: rgba(10, 95, 204, .95);
	border-left: 5px solid var(--c-accent);
	border-radius: 0 var(--radius) 0 0;
	color: #fff;
	max-width: 92%;
}
.case-card-badge-label {
	font-size: 11px;
	line-height: 1.2;
	letter-spacing: .16em;
	color: rgba(255, 255, 255, .82);
}
.case-card-badge-num {
	display: flex;
	align-items: baseline;
	gap: 5px;
	font-size: 30px;
	font-weight: var(--fw-bold);
	line-height: 1.05;
	letter-spacing: -.01em;
	font-variant-numeric: tabular-nums;
	color: #fff;
	white-space: nowrap;
}
.case-card-badge-unit {
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	letter-spacing: 0;
	color: rgba(255, 255, 255, .9);
}
.case-card--light .case-card-badge { box-shadow: 0 6px 18px rgba(10, 95, 204, .22); }

/* ---------- 卡片正文里的项目类型与节能效果行 ---------- */
.case-card--light .case-card-project { color: var(--c-text-light); }
.case-card-rate-line {
	display: block;
	margin-bottom: var(--sp-3);
	padding: 9px 12px;
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	line-height: 1.7;
	color: var(--c-primary-dark);
	background: var(--c-primary-light);
	border-left: 3px solid var(--c-primary);
	border-radius: 0 var(--radius) var(--radius) 0;
}
.case-card-rate-label {
	display: inline-block;
	margin-right: 8px;
	font-size: 11px;
	font-weight: var(--fw-bold);
	letter-spacing: .1em;
	color: var(--c-text-mute);
}

@media (max-width: 900px) {
	.case-group-head { flex-direction: column; align-items: flex-start; gap: var(--sp-3); }
	.case-group-rule { display: none; }
	.case-card-badge-num { font-size: 26px; }
	.case-card-badge { padding: 9px 16px 10px 13px; border-left-width: 4px; }
}
@media (max-width: 560px) {
	.case-table th, .case-table td { padding: 12px 13px; }
	.case-group-title { font-size: var(--fs-h4); }
	.case-card-badge-num { font-size: 24px; }
	.case-card-badge { max-width: 100%; }
}

/* ---------- 案例详情页：节能数据大号徽章 ---------- */
.case-hero {
	display: flex;
	align-items: center;
	gap: var(--sp-6);
	margin: 0 0 var(--sp-8);
	padding: var(--sp-5) var(--sp-6);
	background: #fff;
	border: 1px solid var(--c-line);
	border-left: 5px solid var(--c-primary);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
}
.case-hero-badge {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 14px 26px 15px 20px;
	background: var(--c-primary);
	border-left: 5px solid var(--c-accent);
	border-radius: var(--radius);
	color: #fff;
}
.case-hero-badge-label {
	font-size: 11px;
	line-height: 1.2;
	letter-spacing: .16em;
	color: rgba(255, 255, 255, .82);
}
.case-hero-badge-num {
	display: flex;
	align-items: baseline;
	gap: 6px;
	font-size: 44px;
	font-weight: var(--fw-bold);
	line-height: 1.05;
	letter-spacing: -.01em;
	font-variant-numeric: tabular-nums;
	color: #fff;
	white-space: nowrap;
}
.case-hero-badge-unit {
	font-size: var(--fs-body);
	font-weight: var(--fw-medium);
	letter-spacing: 0;
	color: rgba(255, 255, 255, .9);
}
.case-hero-text { flex: 1 1 auto; min-width: 0; }
.case-hero-rate {
	margin: 0 0 6px;
	font-size: var(--fs-h4);
	font-weight: var(--fw-bold);
	line-height: 1.5;
	color: var(--c-ink);
}
.case-hero-type {
	margin: 0 0 8px;
	font-size: var(--fs-sm);
	line-height: 1.7;
	color: var(--c-text-sub);
}
.case-hero-note {
	margin: 0;
	font-size: var(--fs-xs);
	line-height: 1.8;
	color: var(--c-text-light);
}

@media (min-width: 901px) {
	.case-meta { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
	.case-hero { flex-direction: column; align-items: stretch; gap: var(--sp-4); padding: var(--sp-5) var(--sp-5); }
	.case-hero-badge { align-self: flex-start; }
	.case-hero-badge-num { font-size: 36px; }
}

/* ============ 20 资质荣誉：分组证书墙 ============ */
.cert-group {
	margin-top: 44px;
}
.cert-group:first-of-type {
	margin-top: 34px;
}
.cert-group-title {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 20px;
	padding-left: 14px;
	border-left: 4px solid var(--c-primary);
	font-size: 17px;
	font-weight: 700;
	color: var(--c-text);
	line-height: 1.5;
}
.cert-group-name {
	font-size: 17px;
	font-weight: 700;
	color: var(--c-text);
}
.cert-group-note {
	font-size: 13px;
	font-weight: 400;
	color: var(--c-text-mute);
}
.cert-group-count {
	margin-left: auto;
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--c-primary-light);
	color: var(--c-primary-dark);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.cert-item-desc {
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.6;
	color: var(--c-text-light);
}

@media (max-width: 760px) {
	.cert-group { margin-top: 32px; }
	.cert-group-title { font-size: 15.5px; gap: 8px; padding-left: 11px; }
	.cert-group-name { font-size: 15.5px; }
	.cert-group-note { width: 100%; font-size: 12px; }
	.cert-group-count { display: none; }
}

/* ============ 22 方案卡片改版：实拍图 + 图标徽章 ============ */
.plan-grid {
	gap: 20px;
	margin-top: 40px;
}
.plan-card {
	padding: 0;
	border-radius: 12px;
	overflow: hidden;
}
.plan-card::before {
	display: none;
}
.plan-card-photo {
	position: relative;
	display: block;
	height: 150px;
	overflow: hidden;
	background: var(--c-bg-dark);
}
.plan-card-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}
.plan-card:hover .plan-card-photo img {
	transform: scale(1.06);
}
.plan-card-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(6, 30, 55, 0.05) 0%, rgba(6, 30, 55, 0.62) 100%);
}
.plan-card-no {
	position: absolute;
	top: 14px;
	right: 16px;
	z-index: 2;
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
	color: rgba(255, 255, 255, 0.85);
	letter-spacing: 0.02em;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}
.plan-card-icon {
	position: absolute;
	left: 16px;
	bottom: 14px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--c-primary);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
.plan-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 20px 22px 22px;
}
.plan-card-name {
	font-size: 16.5px;
	font-weight: 700;
	line-height: 1.5;
	min-height: 50px;
	color: var(--c-text);
}
.plan-card-desc {
	margin-top: 9px;
	font-size: 13px;
	line-height: 1.75;
	color: var(--c-text-mute);
	flex: 1;
}
.plan-card-metric {
	margin-top: 14px;
	padding: 9px 12px;
	border-radius: 6px;
	background: var(--c-primary-light);
	border-left: 3px solid var(--c-primary);
	font-size: 12.5px;
	font-weight: 700;
	color: var(--c-primary-dark);
	line-height: 1.6;
}
.plan-card-more {
	margin-top: 14px;
}
.plan-card:hover {
	box-shadow: 0 16px 36px rgba(0, 95, 150, 0.16);
}

@media (max-width: 760px) {
	.plan-card-photo { height: 132px; }
	.plan-card-body { padding: 16px 16px 18px; }
	.plan-card-name { font-size: 15.5px; min-height: 0; }
}

/* ============ 23 合作模式与客户采购流程 ============ */
.model-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 38px;
}
.model-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 12px;
	padding: 56px 28px 26px;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.model-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
}
.model-card--emc::before {
	background: linear-gradient(90deg, var(--c-primary), #3FA9E0);
}
.model-card--hosting::before {
	background: linear-gradient(90deg, var(--c-accent), #9BD05C);
}
.model-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 34px rgba(0, 95, 150, 0.12);
	border-color: var(--c-primary);
}
.model-card-badge {
	position: absolute;
	top: 22px;
	left: 28px;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--c-primary-light);
	color: var(--c-primary-dark);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.model-card--hosting .model-card-badge {
	background: var(--c-accent-light);
	color: var(--c-accent-dark);
}
.model-card-title {
	margin: 0 0 14px;
	font-size: 20px;
	font-weight: 700;
	color: var(--c-text);
	line-height: 1.45;
}
.model-card-desc {
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.9;
	color: var(--c-text-sub);
}
.model-card-points {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px dashed var(--c-line);
	padding-top: 16px;
}
.model-card-points li {
	position: relative;
	padding-left: 16px;
	margin-bottom: 9px;
	font-size: 13px;
	line-height: 1.75;
	color: var(--c-text-mute);
}
.model-card-points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--c-primary);
	opacity: 0.55;
}
.model-card--hosting .model-card-points li::before {
	background: var(--c-accent);
}
.model-card-points b {
	color: var(--c-text-sub);
	font-weight: 600;
	margin-right: 6px;
}

/* 采购流程 */
.procure-title {
	margin: 52px 0 24px;
	padding-left: 14px;
	border-left: 4px solid var(--c-primary);
	font-size: 19px;
	font-weight: 700;
	color: var(--c-text);
	line-height: 1.5;
}
.procure-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}
.procure-step {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--c-line);
	border-radius: 10px;
	padding: 24px 22px 22px;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.procure-step:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 26px rgba(0, 95, 150, 0.1);
	border-color: var(--c-primary);
}
.procure-step::after {
	content: "→";
	position: absolute;
	right: -13px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 15px;
	font-weight: 700;
	color: var(--c-primary);
	opacity: 0.45;
	z-index: 2;
}
.procure-step:nth-child(3n)::after,
.procure-step:last-child::after {
	display: none;
}
.procure-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin-bottom: 14px;
	border-radius: 10px;
	background: var(--c-primary-light);
	color: var(--c-primary-dark);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.02em;
}
.procure-name {
	font-size: 15px;
	font-weight: 700;
	color: var(--c-text);
	line-height: 1.5;
}
.procure-desc {
	margin-top: 8px;
	font-size: 12.5px;
	line-height: 1.78;
	color: var(--c-text-mute);
}
.procure-note {
	margin: 26px 0 0;
	padding: 16px 20px;
	border-radius: 8px;
	background: var(--c-primary-light);
	border-left: 4px solid var(--c-primary);
	font-size: 13px;
	line-height: 1.85;
	color: var(--c-primary-dark);
}

@media (max-width: 1180px) {
	.procure-steps { grid-template-columns: repeat(2, 1fr); }
	.procure-step:nth-child(3n)::after { display: block; }
	.procure-step:nth-child(2n)::after,
	.procure-step:last-child::after { display: none; }
}
@media (max-width: 760px) {
	.model-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 26px; }
	.model-card { padding: 52px 20px 20px; }
	.model-card-title { font-size: 18px; }
	.procure-steps { grid-template-columns: 1fr; gap: 12px; }
	.procure-step::after { display: none !important; }
	.procure-title { font-size: 17px; margin-top: 38px; }
}

/* ============ 24 服务行业卡片：实拍图头图 ============ */
.ind-grid {
	gap: 18px;
}
.ind-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 0;
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
	border: 1px solid var(--c-line);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.ind-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(0, 95, 150, 0.13);
	border-color: var(--c-primary);
}
.ind-photo {
	position: relative;
	display: block;
	height: 108px;
	overflow: hidden;
	background: var(--c-bg-dark);
}
.ind-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}
.ind-card:hover .ind-photo img {
	transform: scale(1.07);
}
.ind-photo-mask {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(6, 30, 55, 0) 35%, rgba(6, 30, 55, 0.55) 100%);
}
.ind-photo .ind-icon {
	position: absolute;
	left: 14px;
	bottom: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 9px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--c-primary);
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18);
}
.ind-body {
	display: block;
	padding: 16px 18px 18px;
}
.ind-name {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: var(--c-text);
	line-height: 1.5;
}
.ind-pain {
	display: block;
	margin-top: 7px;
	font-size: 12.5px;
	line-height: 1.75;
	color: var(--c-text-mute);
}

@media (max-width: 760px) {
	.ind-photo { height: 92px; }
	.ind-body { padding: 13px 14px 15px; }
	.ind-name { font-size: 14px; }
}

/* ============ 25 股东与关联公司：真实 Logo ============ */
.group-logo--img {
	background: #fff;
	border: 1px solid var(--c-line-soft);
	padding: 10px 12px;
}
.group-logo--img img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}
.group-logo-mark {
	font-size: 17px;
	font-weight: 800;
	color: #fff;
	letter-spacing: 0.16em;
	text-indent: 0.16em;
}
.group-card {
	min-height: 100%;
}
.group-desc {
	flex: 1;
}

@media (max-width: 760px) {
	.group-logo--img { padding: 8px 10px; }
}

/* ============ 26 合作模式：改为三栏 ============ */
.model-grid--three {
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.model-grid--three .model-card {
	padding: 56px 24px 24px;
}
.model-grid--three .model-card-title {
	font-size: 18px;
}
.model-grid--three .model-card-desc {
	font-size: 13.5px;
	line-height: 1.85;
}
.model-card--epc::before {
	background: linear-gradient(90deg, var(--c-gold), #F2B75C);
}
.model-card--epc .model-card-badge {
	background: var(--c-gold-light);
	color: var(--c-gold-dark);
}
.model-card--epc .model-card-points li::before {
	background: var(--c-gold);
}

@media (max-width: 1180px) {
	.model-grid--three { grid-template-columns: 1fr; }
	.model-grid--three .model-card { padding: 52px 22px 22px; }
}

/* ============ 23 资质荣誉：分组折叠（查看更多 / 收起） ============ */
.cert-item.is-hidden {
	display: none !important;
}
.cert-group-more {
	margin-top: 26px;
	text-align: center;
}
.cert-more-btn {
	min-width: 200px;
}
.cert-more-btn[aria-expanded="true"] {
	background: var(--c-primary);
	border-color: var(--c-primary);
	color: #fff;
}
@media (max-width: 760px) {
	.cert-group-more { margin-top: 20px; }
	.cert-more-btn { width: 100%; min-width: 0; }
}
