/* ==========================================================
   RockPlus MOM 页面样式 —— 与官网全局样式(style.css / style2.css)及 GEMLink 页面保持一致
   字体   : Noto Sans SC
   字号   : 标题36 / 卡片标题20 / 正文16 / 说明14（移动端 18 / 16 / 14）
   颜色   : 品牌蓝 #014099，标题 #191919，正文 #666，交替背景 #f9f9f9
   容器   : 与 .max-width 相同（1280px，<1700 为90%，<1500 为87%）
   所有选择器以 .mom-page 前缀隔离，不影响全局
   ========================================================== */
.mom-page {
	clear: both;
	margin-top: 86px;           /* 顶部菜单固定 86px（移动端 50px），原 banner 已并入首屏 */
	--brand: #014099;
	--brand-hover: #004bb5;
	--brand-grad: linear-gradient(#004bb5, #01419a);
	--brand-soft: #dfecff;
	--accent: #e60012;          /* 官网强调红，仅用于架构图核心块 */
	--title: #191919;
	--sub: #333333;
	--body: #666666;
	--muted: #999999;
	--bg-alt: #f9f9f9;
	--shadow: 0 0 10px rgba(0,0,0,.1);
	--shadow-hover: 0 4px 18px rgba(1,64,153,.18);
	color: var(--body);
	background: #fff;
	font-family: 'Noto Sans SC', "Microsoft YaHei", "PingFang SC", sans-serif;
	font-size: 16px;
	line-height: 30px;
}

	.mom-page *,
	.mom-page *::before,
	.mom-page *::after {
		box-sizing: border-box;
		font-family: inherit;
	}

	.mom-page a {
		color: inherit;
		text-decoration: none;
	}

	.mom-page .container {
		width: 1280px;
		margin: 0 auto;
	}

	.mom-page section h1,
	.mom-page section h2,
	.mom-page section h3,
	.mom-page section p {
		margin-top: 0;
		font-weight: normal;
	}

	.mom-page section h1,
	.mom-page section h2 {
		color: var(--title);
		font-size: 36px;
		line-height: 46px;
		margin-bottom: 20px;
	}

	.mom-page section h3 {
		color: var(--sub);
		font-size: 20px;
		line-height: 28px;
		margin-bottom: 12px;
	}

	.mom-page section p {
		margin-bottom: 0;
	}

	.mom-page .lead {
		font-size: 16px;
		color: var(--body);
		max-width: 860px;
	}

	.mom-page .muted {
		color: var(--body);
	}

	/* 区块 */
	.mom-page .section {
		padding: 100px 0;
	}

		.mom-page .section.soft {
			background: var(--bg-alt);
		}

		.mom-page .section.dark {
			background-image: var(--brand-grad);
		}

	.mom-page .section-head {
		max-width: 860px;
		margin: 0 auto 46px;
		text-align: center;
	}

		.mom-page .section-head .lead {
			margin: 0 auto;
		}

	.mom-page .eyebrow {
		display: block;
		color: var(--brand);
		font-size: 14px;
		line-height: 20px;
		letter-spacing: .12em;
		text-transform: uppercase;
		margin-bottom: 10px;
	}

		.mom-page .eyebrow::before {
			display: none;
		}

	.mom-page .dark section h2,
	.mom-page .section.dark h2,
	.mom-page .section.dark h3 {
		color: #fff;
	}

	.mom-page .section.dark .lead {
		color: rgba(255,255,255,.88);
	}

	.mom-page .section.dark .eyebrow {
		color: rgba(255,255,255,.85) !important;
	}

	/* 按钮：官网胶囊按钮 */
	.mom-page .btn {
		min-width: 140px;
		height: 40px;
		padding: 0 32px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 6px;
		border-radius: 20px;
		font-size: 16px;
		line-height: 1;
		border: 1px solid transparent;
		transition: .2s ease;
	}

		.mom-page .btn.primary {
			color: #fff;
			background-image: var(--brand-grad);
		}

			.mom-page .btn.primary:hover {
				background: var(--brand-hover);
			}

		.mom-page .btn.ghost {
			color: var(--brand);
			background: #fff;
			border-color: var(--brand);
		}

			.mom-page .btn.ghost:hover {
				color: #fff;
				background: var(--brand);
			}

		.mom-page .btn.white {
			background: #fff;
			color: var(--brand);
		}

			.mom-page .btn.white:hover {
				background: var(--brand-soft);
			}

	.mom-page .actions {
		display: flex;
		gap: 16px;
		flex-wrap: wrap;
	}

	/* 首屏 */
	.mom-page .hero {
		background: linear-gradient(180deg, #fff 0%, #fff 55%, #f3f7fd 100%);
		border-top: 1px solid #eef1f6;
		padding: 90px 0 100px;
	}

		.mom-page .hero h1 {
			margin: 0 0 10px;
			color: var(--brand);
			font-size: 56px;
			line-height: 66px;
			font-weight: bold;
			letter-spacing: -.01em;
		}

		.mom-page .hero h2 {
			font-size: 30px;
			line-height: 40px;
			margin-bottom: 16px;
			color: var(--title);
		}

	.mom-page .hero-grid {
		display: grid;
		grid-template-columns: 46% 54%;
		gap: 66px;
		align-items: center;
	}

	.mom-page .hero-copy p {
		font-size: 16px;
		line-height: 30px;
		color: var(--body);
		margin-bottom: 32px;
	}

	.mom-page .hero-tags {
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
		margin-top: 30px;
	}

	.mom-page .tag {
		border: 1px solid var(--brand);
		background: #fff;
		color: var(--brand);
		border-radius: 16px;
		padding: 3px 16px;
		font-size: 14px;
		line-height: 24px;
	}

	.mom-page .dashboard {
		position: relative;
		background: #fff;
		padding: 22px;
		box-shadow: var(--shadow);
	}

	.mom-page .dash-top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 0 14px;
		border-bottom: 1px solid #e5e5e5;
	}

	.mom-page .dots {
		display: flex;
		gap: 6px;
	}

		.mom-page .dots i {
			display: block;
			width: 8px;
			height: 8px;
			border-radius: 50%;
			background: #dcdcdc;
		}

			.mom-page .dots i:first-child {
				background: var(--brand);
			}

	.mom-page .dash-title {
		font-size: 12px;
		color: var(--muted);
		letter-spacing: .06em;
	}

	.mom-page .dash-grid {
		display: grid;
		grid-template-columns: 1.1fr .9fr;
		gap: 14px;
		margin-top: 14px;
	}

	.mom-page .panel {
		background: var(--bg-alt);
		padding: 16px;
	}

		.mom-page .panel h4 {
			font-size: 14px;
			line-height: 20px;
			font-weight: normal;
			margin: 0 0 12px;
			color: var(--body);
		}

	.mom-page .trend {
		height: 126px;
		overflow: hidden;
	}

		.mom-page .trend svg {
			width: 100%;
			height: 100%;
		}

		.mom-page .trend stop {
			stop-color: #014099;
		}

		.mom-page .trend polyline {
			stroke: #014099;
		}

		.mom-page .trend line[stroke-dasharray] {
			stroke: #999;
		}

		.mom-page .trend path {
			fill: rgba(1,64,153,.12);
		}

	.mom-page .kpis {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.mom-page .mini {
		padding: 12px;
		background: var(--bg-alt);
	}

		.mom-page .mini b {
			display: block;
			font-size: 20px;
			line-height: 26px;
			font-weight: normal;
			color: var(--brand);
		}

		.mom-page .mini span {
			font-size: 14px;
			line-height: 20px;
			color: var(--body);
		}

	.mom-page .table-row {
		display: grid;
		grid-template-columns: 1.2fr .8fr .7fr;
		gap: 8px;
		font-size: 14px;
		line-height: 22px;
		padding: 8px 0;
		border-bottom: 1px solid #e5e5e5;
		color: var(--body);
	}

		.mom-page .table-row b {
			font-weight: normal;
			color: var(--sub);
		}

		.mom-page .table-row:last-child {
			border: 0;
		}

	.mom-page .status {
		display: inline-flex;
		align-items: center;
		gap: 5px;
		color: var(--brand);
	}

		.mom-page .status::before {
			content: "";
			width: 6px;
			height: 6px;
			border-radius: 50%;
			background: var(--brand);
		}

	.mom-page .float-card {
		position: absolute;
		background: #fff;
		box-shadow: var(--shadow);
		padding: 10px 14px;
		font-size: 14px;
		line-height: 22px;
		color: var(--body);
	}

		.mom-page .float-card b {
			font-weight: normal;
			color: var(--brand);
		}

	.mom-page .f1 {
		left: -28px;
		bottom: 62px;
	}

	.mom-page .f2 {
		right: -20px;
		top: 88px;
	}

	/* 数据条：品牌蓝色带 */
	.mom-page .metric-strip {
		background-image: var(--brand-grad);
	}

	.mom-page .metric-grid {
		display: grid;
		grid-template-columns: repeat(4,1fr);
	}

	.mom-page .metric {
		text-align: center;
		padding: 40px 20px;
		border-right: 1px solid rgba(255,255,255,.2);
	}

		.mom-page .metric:last-child {
			border-right: 0;
		}

		.mom-page .metric strong {
			display: block;
			font-size: 20px;
			line-height: 28px;
			font-weight: normal;
			color: #fff;
			margin-bottom: 4px;
		}

		.mom-page .metric span {
			font-size: 14px;
			line-height: 22px;
			color: rgba(255,255,255,.85);
		}

	/* 通用卡片 */
	.mom-page .cards4,
	.mom-page .cap-grid,
	.mom-page .connect-grid {
		display: grid;
		grid-template-columns: repeat(4,1fr);
		gap: 24px;
	}

	.mom-page .challenge,
	.mom-page .cap,
	.mom-page .scene {
		background: #fff;
		box-shadow: var(--shadow);
		transition: .25s ease;
	}

		.mom-page .challenge:hover,
		.mom-page .cap:hover,
		.mom-page .scene:hover {
			box-shadow: var(--shadow-hover);
		}

			.mom-page .challenge:hover h3,
			.mom-page .cap:hover h3,
			.mom-page .scene:hover h3 {
				color: var(--brand);
			}

	.mom-page .challenge {
		padding: 32px 28px;
		min-height: 250px;
	}

	/* 序号：无底色大号数字 + 短横线，悬停时横线延展 */
	.mom-page .num {
		position: relative;
		display: block;
		padding-bottom: 14px;
		margin-bottom: 20px;
		color: var(--brand);
		font-size: 40px;
		line-height: 44px;
		font-weight: bold;
		letter-spacing: .02em;
	}

		.mom-page .num::after {
			content: "";
			position: absolute;
			left: 0;
			bottom: 0;
			width: 28px;
			height: 3px;
			background: var(--brand);
			transition: width .3s ease;
		}

	.mom-page .challenge:hover .num::after {
		width: 60px;
	}

	.mom-page .challenge p,
	.mom-page .cap p,
	.mom-page .scene p,
	.mom-page .connect p {
		font-size: 16px;
		line-height: 28px;
		color: var(--body);
	}

	/* 平台架构：品牌蓝底 */
	.mom-page .architecture {
		margin-top: 46px;
		background-image: var(--brand-grad);
		padding: 40px;
		color: #fff;
	}

	.mom-page .arch-title {
		display: flex;
		justify-content: space-between;
		gap: 30px;
		align-items: flex-end;
		margin-bottom: 26px;
	}

		.mom-page .arch-title > div > div {
			font-size: 14px !important;
			line-height: 20px;
			color: rgba(255,255,255,.85) !important;
			letter-spacing: .12em !important;
			margin-bottom: 8px !important;
		}

		.mom-page .arch-title h3 {
			color: #fff !important;
			font-size: 20px !important;
			line-height: 28px;
			margin: 0 !important;
		}

		.mom-page .arch-title p {
			color: rgba(255,255,255,.88) !important;
			max-width: 560px;
			font-size: 16px;
			line-height: 28px !important;
			margin: 0;
		}

	.mom-page .arch-row,
	.mom-page .arch-data {
		display: grid;
		grid-template-columns: repeat(6,1fr);
		gap: 12px;
	}

	.mom-page .arch-box {
		text-align: center;
		padding: 14px 8px;
		background: #fff;
		color: var(--sub);
		font-size: 16px;
		line-height: 24px;
	}

		.mom-page .arch-box small {
			font-size: 14px;
			color: var(--brand);
		}

	.mom-page .arch-core {
		margin: 14px 0;
		padding: 20px;
		text-align: center;
		font-size: 20px;
		line-height: 28px;
		background: var(--accent);
		border: 1px solid var(--accent);
		color: #fff;
	}

	.mom-page .arch-data div {
		padding: 10px;
		text-align: center;
		background: rgba(255,255,255,.1);
		font-size: 14px;
		line-height: 22px;
		color: #fff;
	}

	.mom-page .arch-devices {
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
		margin-top: 18px;
	}

		.mom-page .arch-devices span {
			font-size: 14px;
			line-height: 24px;
			padding: 3px 16px;
			border: 1px solid rgba(255,255,255,.6);
			border-radius: 16px;
			color: #fff;
		}

	/* 核心能力 */
	.mom-page .cap {
		padding: 30px 26px;
		border-top: 3px solid var(--brand);
		min-height: 260px;
	}

	.mom-page .cap-id {
		font-size: 14px;
		line-height: 20px;
		letter-spacing: .04em;
		color: var(--brand);
		margin-bottom: 14px;
	}

	/* 质量趋势 */
	.mom-page .quality-grid {
		display: grid;
		grid-template-columns: 42% 58%;
		gap: 58px;
		align-items: center;
	}

	.mom-page .quote {
		border-left: 3px solid var(--brand);
		background: #fff;
		padding: 18px 22px;
		font-size: 16px;
		line-height: 28px;
		color: var(--sub);
		margin: 28px 0;
	}

	.mom-page .flow {
		background: #fff;
		padding: 26px;
		box-shadow: var(--shadow);
	}

	.mom-page .flow-step {
		display: flex;
		align-items: center;
		gap: 16px;
		position: relative;
		padding: 12px 8px;
	}

		.mom-page .flow-step:not(:last-child)::after {
			content: "";
			position: absolute;
			width: 1px;
			height: 22px;
			background: var(--brand-soft);
			left: 28px;
			bottom: -11px;
		}

	.mom-page .flow-dot {
		width: 40px;
		height: 40px;
		flex: 0 0 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: var(--brand-soft);
		color: var(--brand);
		font-size: 16px;
	}

	.mom-page .flow-step b {
		display: block;
		font-size: 16px;
		line-height: 24px;
		font-weight: normal;
		color: var(--sub);
	}

	.mom-page .flow-step span {
		font-size: 14px;
		line-height: 22px;
		color: var(--body);
	}

	/* 仪器接入（蓝底） */
	.mom-page .connect {
		border: 1px solid rgba(255,255,255,.35);
		background: rgba(255,255,255,.08);
		padding: 30px 26px;
		min-height: 230px;
		transition: .25s ease;
	}

		.mom-page .connect:hover {
			background: rgba(255,255,255,.16);
		}

		.mom-page .connect .code {
			font-size: 14px;
			line-height: 20px;
			letter-spacing: .08em;
			color: rgba(255,255,255,.85);
			margin-bottom: 14px;
		}

		.mom-page .connect p {
			color: rgba(255,255,255,.88);
		}

	/* 典型场景 */
	.mom-page .scene-grid {
		display: grid;
		grid-template-columns: repeat(5,1fr);
		gap: 20px;
	}

	.mom-page .scene {
		padding: 28px 22px;
		min-height: 210px;
	}

		.mom-page .scene .line {
			width: 34px;
			height: 3px;
			background: var(--brand);
			margin-bottom: 20px;
		}

		.mom-page .scene h3 {
			font-size: 20px;
		}

		.mom-page .scene p {
			font-size: 14px;
			line-height: 24px;
		}

	/* 客户案例 */
	.mom-page .case {
		display: grid;
		grid-template-columns: 52% 48%;
		box-shadow: var(--shadow);
		background: #fff;
	}

	.mom-page .case-copy {
		padding: 44px 40px;
	}

		.mom-page .case-copy h2 {
			font-size: 30px;
			line-height: 38px;
		}

		.mom-page .case-copy p {
			color: var(--body);
			font-size: 16px;
			line-height: 28px;
		}

	.mom-page .case-tags {
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
		margin-top: 24px;
	}

		.mom-page .case-tags span {
			font-size: 14px;
			line-height: 24px;
			border: 1px solid var(--brand);
			color: var(--brand);
			padding: 3px 16px;
			border-radius: 16px;
		}

	.mom-page .case-visual {
		background-image: var(--brand-grad);
		min-height: 420px;
		padding: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.mom-page .matrix {
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: 12px;
		width: 100%;
		max-width: 420px;
	}

	.mom-page .mcell {
		min-height: 92px;
		border: 1px solid rgba(255,255,255,.4);
		background: rgba(255,255,255,.1);
		padding: 14px;
		color: #fff;
	}

		.mom-page .mcell b {
			display: block;
			font-size: 16px;
			line-height: 24px;
			font-weight: normal;
		}

		.mom-page .mcell span {
			font-size: 14px;
			line-height: 20px;
			color: rgba(255,255,255,.85);
		}

		.mom-page .mcell:nth-child(5) {
			background: #fff;
			color: var(--brand);
		}

			.mom-page .mcell:nth-child(5) span {
				color: var(--body);
			}

	/* 常见问题：使用 style2.css 的 cp_section6，此处只补充副标题与清除浮动 */
	.mom-page .cp_section6 .faq-lead {
		text-align: center;
		margin: -22px 0 46px;
		font-size: 16px;
		line-height: 30px;
		color: #666;
	}

	/* 底部 CTA */
	.mom-page .cta {
		clear: both;
		padding: 80px 0;
		background-image: var(--brand-grad);
		color: #fff;
	}

	.mom-page .cta-inner {
		display: flex;
		justify-content: space-between;
		gap: 40px;
		align-items: center;
	}

	.mom-page .cta h2 {
		color: #fff;
		font-size: 30px;
		line-height: 40px;
		margin-bottom: 10px;
	}

	.mom-page .cta p {
		margin: 0;
		color: rgba(255,255,255,.88);
	}

	/* 滚动淡入 */
	.mom-page .reveal {
		opacity: 0;
		transform: translateY(20px);
		transition: opacity .65s ease, transform .65s ease;
	}

		.mom-page .reveal.show {
			opacity: 1;
			transform: none;
		}

@media (max-width: 1700px) {
	.mom-page .container {
		width: 90%;
	}
}

@media (max-width: 1500px) {
	.mom-page .container {
		width: 87%;
	}

	.mom-page .hero h1 {
		font-size: 46px;
		line-height: 54px;
	}

	.mom-page .hero h2 {
		font-size: 26px;
		line-height: 36px;
	}
}

/* 1300px 以下顶部菜单高度为 70px，抵消默认的 86px 让位，避免出现 16px 空隙 */
@media (max-width: 1300px) {
	.mom-page {
		margin-top: 70px;
	}
}

@media (max-width: 1280px) {
	.mom-page .cards4,
	.mom-page .cap-grid,
	.mom-page .connect-grid {
		grid-template-columns: repeat(2,1fr);
	}

	.mom-page .scene-grid {
		grid-template-columns: repeat(3,1fr);
	}

	.mom-page .hero-grid {
		gap: 40px;
	}
}

@media (max-width: 1024px) {
	.mom-page .container {
		width: 100%;
		padding: 0 15px;
	}

	.mom-page .section {
		padding: 30px 0;
	}

	.mom-page {
		margin-top: 50px;
	}

	.mom-page .hero {
		padding: 30px 0;
	}

		.mom-page .hero h1 {
			font-size: 30px;
			line-height: 38px;
		}

		.mom-page .hero h2 {
			font-size: 18px;
			line-height: 26px;
		}

		.mom-page .num {
			font-size: 28px;
			line-height: 32px;
			padding-bottom: 10px;
			margin-bottom: 12px;
		}

	.mom-page section h1,
	.mom-page section h2 {
		font-size: 18px;
		line-height: 24px;
		margin-bottom: 12px;
	}

	.mom-page section h3,
	.mom-page .scene h3 {
		font-size: 16px;
		line-height: 24px;
		margin-bottom: 8px;
	}

	.mom-page,
	.mom-page .lead,
	.mom-page .hero-copy p,
	.mom-page .challenge p,
	.mom-page .cap p,
	.mom-page .scene p,
	.mom-page .connect p,
	.mom-page .case-copy p,
	.mom-page .quote,
	.mom-page .arch-title p {
		font-size: 14px !important;
		line-height: 24px !important;
	}

	.mom-page .hero-grid,
	.mom-page .quality-grid,
	.mom-page .case {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.mom-page .section-head {
		margin-bottom: 20px;
	}

	.mom-page .btn {
		min-width: 100px;
		height: 34px;
		padding: 0 22px;
		font-size: 14px;
		border-radius: 17px;
	}

	.mom-page .metric-grid {
		grid-template-columns: repeat(2,1fr);
	}

	.mom-page .metric {
		padding: 20px 10px;
	}

		.mom-page .metric:nth-child(2) {
			border-right: 0;
		}

		.mom-page .metric:nth-child(-n+2) {
			border-bottom: 1px solid rgba(255,255,255,.2);
		}

		.mom-page .metric strong {
			font-size: 16px;
		}

	.mom-page .challenge,
	.mom-page .cap,
	.mom-page .scene,
	.mom-page .connect {
		min-height: 0;
		padding: 18px 14px;
	}

	.mom-page .architecture {
		padding: 18px 14px;
	}

	.mom-page .arch-title {
		display: block;
	}

	.mom-page .arch-row,
	.mom-page .arch-data {
		grid-template-columns: repeat(3,1fr);
	}

	.mom-page .case-copy {
		padding: 20px 14px;
	}

		.mom-page .case-copy h2 {
			font-size: 18px;
			line-height: 24px;
		}

	.mom-page .case-visual {
		min-height: 0;
		padding: 20px 14px;
	}

	.mom-page .cp_section6 .faq-lead {
		margin: -2px 0 14px;
		font-size: 14px;
		line-height: 24px;
	}

	.mom-page .cta {
		padding: 30px 0;
	}

	.mom-page .cta-inner {
		display: block;
	}

	.mom-page .cta h2 {
		font-size: 18px;
		line-height: 26px;
	}

	.mom-page .cta .actions {
		margin-top: 18px;
	}

	.mom-page .f1,
	.mom-page .f2 {
		display: none;
	}
}

@media (max-width: 768px) {
	.mom-page .cards4,
	.mom-page .cap-grid,
	.mom-page .connect-grid,
	.mom-page .scene-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.mom-page .arch-row,
	.mom-page .arch-data {
		grid-template-columns: repeat(2,1fr);
	}

	.mom-page .dash-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================
   MOM 专属组件（沿用 MES 页面组件）
   ========================================================== */
/* 首屏看板：工单进度条 */
.mom-page .bar-row {
	display: grid;
	grid-template-columns: 96px 1fr 44px;
	gap: 10px;
	align-items: center;
	font-size: 14px;
	line-height: 22px;
	padding: 6px 0;
	color: var(--body);
}

.mom-page .bar {
	height: 8px;
	background: #e5e5e5;
	overflow: hidden;
}

	.mom-page .bar i {
		display: block;
		height: 100%;
		background-image: var(--brand-grad);
	}

.mom-page .bar-row em {
	font-style: normal;
	color: var(--brand);
	text-align: right;
}

/* 首屏看板：工序链 */
.mom-page .chain {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

	.mom-page .chain span {
		flex: 1 1 0;
		min-width: 56px;
		text-align: center;
		font-size: 14px;
		line-height: 22px;
		padding: 6px 4px;
		background: #fff;
		border-top: 3px solid var(--brand);
		color: var(--sub);
	}

		.mom-page .chain span.stop {
			border-top-color: var(--accent);
			color: var(--accent);
		}

.mom-page .status.stop {
	color: var(--accent);
}

	.mom-page .status.stop::before {
		background: var(--accent);
	}

/* 工单生命周期 */
.mom-page .lifecycle {
	display: grid;
	grid-template-columns: repeat(7,1fr);
	gap: 0;
	margin-bottom: 46px;
}

.mom-page .lc-step {
	position: relative;
	background: #fff;
	box-shadow: var(--shadow);
	padding: 24px 14px 22px;
	text-align: center;
	margin-right: 14px;
}

	.mom-page .lc-step:last-child {
		margin-right: 0;
	}

	.mom-page .lc-step:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 50%;
		right: -14px;
		width: 14px;
		height: 2px;
		background: var(--brand);
	}

	.mom-page .lc-step b {
		display: block;
		font-size: 28px;
		line-height: 34px;
		color: var(--brand);
		margin-bottom: 6px;
	}

	.mom-page .lc-step h3 {
		font-size: 18px;
		line-height: 26px;
		margin: 0 0 4px;
	}

	.mom-page .lc-step span {
		display: block;
		font-size: 14px;
		line-height: 22px;
		color: var(--body);
	}

/* 通用列数变体 */
.mom-page .cols3 {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
}

.mom-page .cols4 {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 24px;
}

.mom-page .cols5 {
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: 20px;
}

.mom-page .feature {
	background: #fff;
	box-shadow: var(--shadow);
	padding: 30px 26px;
	border-top: 3px solid var(--brand);
	transition: .25s ease;
}

	.mom-page .feature:hover {
		box-shadow: var(--shadow-hover);
	}

		.mom-page .feature:hover h3 {
			color: var(--brand);
		}

	.mom-page .feature p {
		font-size: 16px;
		line-height: 28px;
	}

/* 流程管控：路线示意 */
.mom-page .route {
	background: #fff;
	box-shadow: var(--shadow);
	padding: 28px;
}

.mom-page .route-title {
	font-size: 14px;
	line-height: 20px;
	color: var(--muted);
	letter-spacing: .06em;
	margin-bottom: 18px;
}

.mom-page .route-main {
	display: flex;
	align-items: stretch;
	gap: 10px;
}

.mom-page .node {
	flex: 1 1 0;
	text-align: center;
	padding: 14px 6px;
	background: var(--bg-alt);
	border-top: 3px solid var(--brand);
	font-size: 16px;
	line-height: 24px;
	color: var(--sub);
}

	.mom-page .node small {
		display: block;
		font-size: 14px;
		color: var(--muted);
	}

	.mom-page .node.judge {
		background: var(--brand-soft);
		color: var(--brand);
	}

.mom-page .route-branch {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 14px;
}

.mom-page .branch {
	padding: 14px 16px;
	font-size: 14px;
	line-height: 24px;
	color: var(--body);
	background: var(--bg-alt);
	border-left: 3px solid var(--brand);
}

	.mom-page .branch b {
		display: block;
		font-weight: normal;
		font-size: 16px;
		color: var(--brand);
	}

	.mom-page .branch.ng {
		border-left-color: var(--accent);
	}

		.mom-page .branch.ng b {
			color: var(--accent);
		}

/* 工艺建模五层 */
.mom-page .model {
	margin-top: 46px;
}

.mom-page .model .feature {
	padding: 24px 20px;
}

	.mom-page .model .feature small {
		display: block;
		font-size: 14px;
		line-height: 20px;
		color: var(--brand);
		letter-spacing: .04em;
		margin-bottom: 10px;
	}

	.mom-page .model .feature p {
		font-size: 14px;
		line-height: 24px;
	}

/* 防错：拦截示例（蓝底） */
.mom-page .intercept {
	margin-top: 46px;
	display: grid;
	grid-template-columns: 40% 60%;
	gap: 40px;
	align-items: center;
}

	.mom-page .intercept h3 {
		font-size: 26px;
		line-height: 36px;
	}

	.mom-page .intercept p {
		color: rgba(255,255,255,.88);
		font-size: 16px;
		line-height: 28px;
	}

.mom-page .alert-list {
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.35);
	padding: 10px 24px;
}

.mom-page .alert-item {
	display: grid;
	grid-template-columns: 22px 150px 1fr;
	gap: 10px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid rgba(255,255,255,.2);
	font-size: 14px;
	line-height: 22px;
	color: rgba(255,255,255,.88);
}

	.mom-page .alert-item:last-child {
		border-bottom: 0;
	}

	.mom-page .alert-item i {
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background: var(--accent);
		box-shadow: 0 0 0 4px rgba(230,0,18,.3);
	}

	.mom-page .alert-item b {
		font-weight: normal;
		color: #fff;
		font-size: 16px;
	}

/* 追溯：正反向链路 */
.mom-page .trace-chains {
	margin-top: 46px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.mom-page .trace-chain {
	background: #fff;
	box-shadow: var(--shadow);
	padding: 28px;
}

	.mom-page .trace-chain h3 {
		color: var(--brand);
	}

	.mom-page .trace-chain .chain span {
		min-width: 70px;
	}

	.mom-page .trace-chain p {
		margin-top: 16px;
		font-size: 14px;
		line-height: 24px;
	}

/* 接入方式卡片标签 */
.mom-page .cap.plain {
	min-height: 220px;
}

@media (max-width: 1280px) {
	.mom-page .cols4,
	.mom-page .cols5 {
		grid-template-columns: repeat(2,1fr);
	}

	.mom-page .lifecycle {
		grid-template-columns: repeat(4,1fr);
		row-gap: 14px;
	}

	.mom-page .lc-step:nth-child(4)::after {
		display: none;
	}
}

@media (max-width: 1024px) {
	.mom-page .cols3 {
		grid-template-columns: 1fr;
	}

	.mom-page .intercept,
	.mom-page .trace-chains {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.mom-page .intercept h3 {
		font-size: 18px;
		line-height: 26px;
	}

	.mom-page .feature,
	.mom-page .model .feature,
	.mom-page .cap.plain {
		min-height: 0;
		padding: 18px 14px;
	}

	.mom-page .feature p,
	.mom-page .intercept p {
		font-size: 14px;
		line-height: 24px;
	}

	.mom-page .route,
	.mom-page .trace-chain {
		padding: 16px 14px;
	}

	.mom-page .route-main {
		flex-wrap: wrap;
	}

	.mom-page .node {
		flex: 1 1 28%;
	}

	.mom-page .alert-item {
		grid-template-columns: 18px 1fr;
	}

		.mom-page .alert-item span {
			grid-column: 2;
		}

	.mom-page .lifecycle {
		margin-bottom: 20px;
	}
}

@media (max-width: 768px) {
	.mom-page .cols4,
	.mom-page .cols5,
	.mom-page .lifecycle {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.mom-page .lc-step {
		margin-right: 0;
	}

		.mom-page .lc-step::after {
			display: none;
		}

	.mom-page .route-branch {
		grid-template-columns: 1fr;
	}
}

/* QMS：模块卡片“典型记录”与要点列表 */
.mom-page .cap .rec {
	display: block;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px dashed #dcdcdc;
	font-size: 14px;
	line-height: 22px;
	color: var(--muted);
}

.mom-page .cap.module {
	min-height: 300px;
}

.mom-page .feature ul {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

	.mom-page .feature ul li {
		position: relative;
		padding-left: 16px;
		font-size: 14px;
		line-height: 26px;
		color: var(--body);
	}

		.mom-page .feature ul li::before {
			content: "";
			position: absolute;
			left: 0;
			top: 11px;
			width: 6px;
			height: 6px;
			background: var(--brand);
		}

@media (max-width: 1024px) {
	.mom-page .cap.module {
		min-height: 0;
	}
}

/* MOM：品牌标语、子系统卡片、理念、智能体、技术标签 */
.mom-page .hero .slogan {
	display: block;
	margin: 0 0 18px;
	color: var(--accent);
	font-size: 22px;
	line-height: 32px;
	letter-spacing: .3em;
	font-weight: bold;
}

.mom-page .philosophy {
	max-width: 960px;
	margin: 0 auto;
	text-align: center;
}

	.mom-page .philosophy .big {
		font-size: 34px;
		line-height: 48px;
		color: #fff;
		margin: 0 0 22px;
	}

	.mom-page .philosophy p {
		color: rgba(255,255,255,.88);
		font-size: 16px;
		line-height: 30px;
	}

.mom-page .pillars {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
	margin-top: 46px;
}

.mom-page .pillar {
	border: 1px solid rgba(255,255,255,.35);
	background: rgba(255,255,255,.08);
	padding: 28px 26px;
}

	.mom-page .pillar h3 {
		color: #fff;
	}

	.mom-page .pillar p {
		font-size: 16px;
		line-height: 28px;
		color: rgba(255,255,255,.88);
	}

.mom-page .sys-grid {
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: 20px;
}

.mom-page .sys {
	display: flex;
	flex-direction: column;
	background: #fff;
	box-shadow: var(--shadow);
	border-top: 3px solid var(--brand);
	padding: 28px 22px;
	transition: .25s ease;
}

	.mom-page .sys:hover {
		box-shadow: var(--shadow-hover);
	}

		.mom-page .sys:hover h3 {
			color: var(--brand);
		}

	.mom-page .sys .cap-id {
		font-size: 14px;
		color: var(--brand);
		letter-spacing: .04em;
	}

	.mom-page .sys h3 {
		margin: 6px 0 4px;
	}

	.mom-page .sys .slogan-s {
		font-size: 14px;
		line-height: 22px;
		color: var(--muted);
		margin-bottom: 14px;
	}

	.mom-page .sys ul {
		margin: 0 0 20px;
		padding: 0;
		list-style: none;
		flex: 1;
	}

		.mom-page .sys ul li {
			position: relative;
			padding-left: 16px;
			font-size: 14px;
			line-height: 26px;
			color: var(--body);
		}

			.mom-page .sys ul li::before {
				content: "";
				position: absolute;
				left: 0;
				top: 11px;
				width: 6px;
				height: 6px;
				background: var(--brand);
			}

	.mom-page .sys .more {
		color: var(--brand);
		font-size: 16px;
	}

.mom-page .agent {
	background: #fff;
	box-shadow: var(--shadow);
	padding: 26px 24px;
	border-left: 3px solid var(--brand);
}

	.mom-page .agent .role {
		font-size: 14px;
		line-height: 20px;
		color: var(--brand);
		margin-bottom: 8px;
	}

	.mom-page .agent p {
		font-size: 14px;
		line-height: 24px;
	}

.mom-page .tech-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

	.mom-page .tech-tags span {
		font-size: 14px;
		line-height: 22px;
		padding: 2px 12px;
		border: 1px solid var(--brand);
		color: var(--brand);
		border-radius: 14px;
		background: #fff;
	}

@media (max-width: 1500px) {
	.mom-page .sys-grid {
		grid-template-columns: repeat(3,1fr);
	}
}

@media (max-width: 1024px) {
	.mom-page .pillars {
		grid-template-columns: 1fr;
	}

	.mom-page .philosophy .big {
		font-size: 20px;
		line-height: 30px;
	}

	.mom-page .hero .slogan {
		font-size: 16px;
		letter-spacing: .2em;
	}

	.mom-page .sys {
		padding: 18px 14px;
	}
}

@media (max-width: 768px) {
	.mom-page .sys-grid {
		grid-template-columns: 1fr;
	}
}


/* English page: normal letter-spacing for slogan */
.mom-page .hero .slogan.slogan-en {
	letter-spacing: .04em;
	font-size: 20px;
}

/* MOM：banner 标签链接 */
.mom-page a.tag {
	transition: .2s ease;
}

	.mom-page a.tag:hover {
		color: #fff;
		background: var(--brand);
	}

/* MOM：五大系统区块（重点区域）—— 蓝色渐变底 + 整卡可点击 */
.mom-page #modules {
	position: relative;
	background: linear-gradient(180deg, #eaf2ff 0%, #f6f9ff 55%, #fff 100%);
	overflow: hidden;
}

	.mom-page #modules::before {
		content: "";
		position: absolute;
		inset: 0;
		background-image: radial-gradient(rgba(1,64,153,.09) 1px, transparent 1px);
		background-size: 22px 22px;
		pointer-events: none;
	}

	.mom-page #modules .container {
		position: relative;
	}

	.mom-page #modules .section-head h2 {
		color: var(--brand);
	}

.mom-page .sys {
	position: relative;
	padding: 0;
	border-top: 0;
	overflow: hidden;
	box-shadow: 0 6px 22px rgba(1,64,153,.12);
}

	.mom-page .sys:hover {
		transform: translateY(-6px);
		box-shadow: 0 14px 34px rgba(1,64,153,.28);
	}

	.mom-page .sys .sys-head {
		background-image: var(--brand-grad);
		padding: 26px 22px 22px;
		color: #fff;
	}

	.mom-page .sys .cap-id {
		display: block;
		color: #fff;
		font-size: 40px;
		line-height: 44px;
		font-weight: bold;
		letter-spacing: .04em;
	}

	.mom-page .sys .sys-head h3 {
		color: #fff;
		margin: 6px 0 0;
	}

	.mom-page .sys:hover h3 {
		color: #fff;
	}

	.mom-page .sys .slogan-s {
		margin: 0;
		color: rgba(255,255,255,.85);
	}

	.mom-page .sys .sys-body {
		display: flex;
		flex-direction: column;
		flex: 1;
		padding: 22px;
	}

	.mom-page .sys .more {
		font-size: 16px;
	}

		.mom-page .sys .more::after {
			content: "";
			position: absolute;
			inset: 0;
		}

	.mom-page .sys:hover .more {
		color: var(--accent);
	}

@media (max-width: 1024px) {
	.mom-page .sys .cap-id {
		font-size: 28px;
		line-height: 32px;
	}

	.mom-page .sys .sys-head {
		padding: 16px 14px;
	}

	.mom-page .sys .sys-body {
		padding: 14px;
	}
}
