/* =========================================================
   Zhonggon Child — 首页（仅 front-page 加载）
   ========================================================= */

/* ---------- ① Hero ---------- */
.zg-hero {
	background:
		radial-gradient(900px 400px at 85% -10%, rgba(0, 183, 212, 0.22), transparent 60%),
		radial-gradient(700px 380px at 8% 110%, rgba(21, 96, 232, 0.3), transparent 60%),
		linear-gradient(160deg, var(--zg-navy) 0%, var(--zg-navy-2) 100%);
	color: #fff;
	padding: 84px 0 92px;
	position: relative;
	overflow: hidden;
}
.zg-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 44px 44px;
	pointer-events: none;
}
.zg-hero-inner {
	position: relative;
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: 48px;
	align-items: center;
}
.zg-hero-badge {
	display: inline-block;
	font-size: 13px;
	letter-spacing: 2px;
	font-weight: 600;
	color: var(--zg-cyan);
	border: 1px solid rgba(0, 183, 212, 0.45);
	background: rgba(0, 183, 212, 0.1);
	border-radius: 999px;
	padding: 5px 16px;
	margin-bottom: 20px;
}
.zg-hero-title {
	font-size: 40px;
	line-height: 1.28;
	margin: 0 0 16px;
	font-weight: 800;
}
.zg-hero-sub {
	font-size: 17px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.78);
	margin: 0 0 28px;
	max-width: 560px;
}
.zg-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }
.zg-hero-trust {
	display: flex;
	gap: 22px;
	list-style: none;
	margin: 26px 0 0;
	padding: 0;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.66);
}

/* Hero 机柜可视化 */
.zg-hero-visual { display: flex; justify-content: center; }
.zg-rack {
	width: 100%;
	max-width: 330px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 12px;
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	backdrop-filter: blur(4px);
}
.zg-rack-row {
	display: flex;
	align-items: center;
	gap: 10px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 7px;
	padding: 12px 14px;
	font-size: 11px;
	letter-spacing: 1px;
	color: rgba(255, 255, 255, 0.6);
}
.zg-rack-row.zg-row-hot { color: #ff9d5c; border-color: rgba(255, 122, 26, 0.4); justify-content: center; }
.zg-rack-row.zg-row-cool { color: #56d9f0; border-color: rgba(0, 183, 212, 0.4); justify-content: center; }
.zg-rack-label { margin-left: auto; }
.zg-led {
	width: 9px; height: 9px;
	border-radius: 50%;
	background: #37e07c;
	box-shadow: 0 0 8px rgba(55, 224, 124, 0.8);
	animation: zg-blink 2.4s infinite;
}
.zg-led-cyan { background: var(--zg-cyan); box-shadow: 0 0 8px rgba(0, 183, 212, 0.8); animation-delay: 1.2s; }
@keyframes zg-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }

@media (max-width: 900px) {
	.zg-hero { padding: 60px 0 64px; }
	.zg-hero-inner { grid-template-columns: 1fr; }
	.zg-hero-title { font-size: 30px; }
	.zg-hero-visual { display: none; }
}

/* ---------- ② 服务卡片 ---------- */
.zg-card-service { text-align: left; }
.zg-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(21, 96, 232, 0.1), rgba(0, 183, 212, 0.12));
	font-size: 24px;
	margin-bottom: 16px;
}

/* ---------- ③ 数据统计 ---------- */
.zg-stats {
	background: linear-gradient(120deg, var(--zg-blue) 0%, var(--zg-cyan-d) 100%);
	padding: 44px 0;
	color: #fff;
}
.zg-stats .zg-grid { gap: 12px; }
.zg-stat { text-align: center; padding: 8px 6px; }
.zg-stat-num {
	display: block;
	font-size: 40px;
	font-weight: 800;
	line-height: 1.1;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}
.zg-stat-label { font-size: 14px; color: rgba(255, 255, 255, 0.85); }

/* ---------- ④ 产品体系 ---------- */
.zg-card-cat { display: block; text-decoration: none; }
.zg-card-cat h3 { color: var(--zg-navy); font-size: 16px; }
.zg-card-cat:hover h3 { color: var(--zg-blue); }
.zg-card-product .zg-card-thumb { display: block; margin: -26px -26px 16px; }
.zg-card-product .zg-card-thumb img {
	width: 100%;
	height: 190px;
	object-fit: cover;
	display: block;
	border-radius: var(--zg-radius) var(--zg-radius) 0 0;
}
.zg-thumb-ph {
	height: 190px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 52px;
	color: #cfe0ef;
	background: linear-gradient(135deg, #eaf3fb, #ddeaf6);
	border-radius: var(--zg-radius) var(--zg-radius) 0 0;
}
.zg-product-grid { margin-top: 34px; }

/* ---------- ⑤ 维保体系 ---------- */
.zg-split {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 56px;
	align-items: center;
}
.zg-split-copy h2 { font-size: 30px; color: var(--zg-navy); margin: 6px 0 12px; }
.zg-split-copy p { color: var(--zg-muted); line-height: 1.8; }
.zg-steps {
	list-style: none;
	margin: 22px 0 28px;
	padding: 0;
	counter-reset: zgstep;
}
.zg-steps li {
	position: relative;
	padding: 10px 0 10px 46px;
	border-bottom: 1px dashed var(--zg-line);
	counter-increment: zgstep;
	font-size: 15px;
	line-height: 1.7;
}
.zg-steps li::before {
	content: counter(zgstep);
	position: absolute;
	left: 0;
	top: 12px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--zg-grad);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.zg-gauge {
	background: #fff;
	border: 1px solid var(--zg-line);
	border-radius: 14px;
	padding: 30px;
	box-shadow: var(--zg-shadow);
}
.zg-gauge-item { margin-bottom: 20px; font-size: 14px; color: var(--zg-ink); font-weight: 600; }
.zg-gauge-item:last-child { margin-bottom: 0; }
.zg-gauge-bar {
	display: block;
	height: 10px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--zg-blue), var(--zg-cyan));
	width: var(--w, 50%);
	margin-bottom: 8px;
	position: relative;
	overflow: hidden;
}
.zg-gauge { background: #fff; }
.zg-gauge .zg-gauge-item span:last-child { color: var(--zg-muted); font-weight: 500; }

@media (max-width: 900px) {
	.zg-split { grid-template-columns: 1fr; gap: 32px; }
	.zg-split-copy h2 { font-size: 25px; }
}

/* ---------- ⑧ CTA ---------- */
.zg-cta {
	background:
		radial-gradient(600px 300px at 90% 0%, rgba(0, 183, 212, 0.25), transparent 60%),
		var(--zg-navy);
	color: #fff;
	padding: 64px 0;
	text-align: center;
}
.zg-cta h2 { font-size: 30px; margin: 0 0 10px; }
.zg-cta p { color: rgba(255, 255, 255, 0.75); margin: 0 0 26px; }
.zg-cta-inner .zg-hero-cta { justify-content: center; }
