/* ==========================================================
   RockPlus iBox 页面样式 —— 与官网全局样式(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%）
   所有选择器以 .ibox-page 前缀隔离，不影响全局
   ========================================================== */
.ibox-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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	/* 按钮：官网胶囊按钮 */
	.ibox-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;
	}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	.ibox-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);
	}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	/* 序号：无底色大号数字 + 短横线，悬停时横线延展 */
	.ibox-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;
	}

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

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

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

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

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

		.ibox-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;
		}

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

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

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

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

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

	.ibox-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;
	}

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

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

		.ibox-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;
		}

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

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

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

	.ibox-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;
	}

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

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

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

	.ibox-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;
	}

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

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

	/* 仪器接入（蓝底） */
	.ibox-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;
	}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* ==========================================================
   iBox 专属组件（沿用 MES 页面组件）
   ========================================================== */
/* 首屏看板：工单进度条 */
.ibox-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);
}

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

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

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

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

	.ibox-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);
	}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ibox-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);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.ibox-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);
}

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

	.ibox-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);
	}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* QMS：模块卡片“典型记录”与要点列表 */
.ibox-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);
}

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

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

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

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

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

/* iBox：三阶段卡片 —— 三阶段横向卡片 */
.ibox-page .stages {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
}

.ibox-page .stage {
	position: relative;
	background: #fff;
	box-shadow: var(--shadow);
	border-top: 3px solid var(--brand);
	padding: 30px 28px 28px;
	transition: .25s ease;
}

	.ibox-page .stage:hover {
		box-shadow: var(--shadow-hover);
	}

	.ibox-page .stage:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 50%;
		right: -17px;
		width: 10px;
		height: 10px;
		border-top: 2px solid var(--brand);
		border-right: 2px solid var(--brand);
		transform: rotate(45deg);
	}

.ibox-page .stage-no {
	font-size: 40px;
	line-height: 44px;
	font-weight: bold;
	color: var(--brand);
	margin-bottom: 6px;
}

.ibox-page .stage p {
	font-size: 16px;
	line-height: 28px;
	min-height: 112px;
}

.ibox-page .stage-steps {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px dashed #dcdcdc;
}

	.ibox-page .stage-steps span {
		font-size: 14px;
		line-height: 24px;
		padding: 2px 14px;
		border: 1px solid var(--brand);
		border-radius: 14px;
		color: var(--brand);
	}

@media (max-width: 1024px) {
	.ibox-page .stages {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ibox-page .stage {
		padding: 18px 14px;
	}

		.ibox-page .stage::after {
			display: none;
		}

	.ibox-page .stage-no {
		font-size: 28px;
		line-height: 32px;
	}

	.ibox-page .stage p {
		min-height: 0;
		font-size: 14px;
		line-height: 24px;
	}
}

/* iBox：图片展示 */
.ibox-page .gallery {
	background: #fff;
	box-shadow: var(--shadow);
	padding: 22px;
}

.ibox-page .gallery-main {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f3f7fd;
	aspect-ratio: 3 / 2;
	overflow: hidden;
}

	.ibox-page .gallery-main img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		display: block;
	}

.ibox-page .gallery-thumbs {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 12px;
	margin-top: 12px;
}

.ibox-page .thumb {
	padding: 0;
	border: 2px solid transparent;
	background: #f3f7fd;
	cursor: pointer;
	transition: .2s ease;
}

	.ibox-page .thumb img {
		display: block;
		width: 100%;
		aspect-ratio: 3 / 2;
		object-fit: contain;
	}

	.ibox-page .thumb:hover,
	.ibox-page .thumb.on {
		border-color: var(--brand);
	}

/* iBox：参数表 */
.ibox-page .spec-table,
.ibox-page .compare-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	box-shadow: var(--shadow);
}

	.ibox-page .spec-table th,
	.ibox-page .spec-table td,
	.ibox-page .compare-table th,
	.ibox-page .compare-table td {
		padding: 18px 24px;
		border-bottom: 1px solid #ececec;
		text-align: left;
		vertical-align: top;
		font-size: 16px;
		line-height: 28px;
		font-weight: normal;
	}

	.ibox-page .spec-table th {
		width: 200px;
		color: var(--brand);
		background: var(--brand-soft);
		white-space: nowrap;
	}

	.ibox-page .spec-table tr:last-child th,
	.ibox-page .spec-table tr:last-child td,
	.ibox-page .compare-table tr:last-child td {
		border-bottom: 0;
	}

	.ibox-page .spec-table td ol {
		margin: 0;
		padding-left: 20px;
	}

	.ibox-page .compare-table thead th {
		background-image: var(--brand-grad);
		color: #fff;
	}

	.ibox-page .compare-table tbody td:first-child {
		color: var(--brand);
		white-space: nowrap;
	}

/* iBox：协议区 */
.ibox-page .proto {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 58px;
	align-items: center;
}

.ibox-page .proto ul {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

	.ibox-page .proto ul li {
		position: relative;
		padding-left: 16px;
		font-size: 16px;
		line-height: 30px;
		color: var(--body);
	}

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

.ibox-page .signal {
	background: #fff;
	box-shadow: var(--shadow);
	padding: 28px;
}

.ibox-page .signal-row {
	display: grid;
	grid-template-columns: 1fr 120px 1fr;
	gap: 10px;
	align-items: center;
	text-align: center;
	font-size: 16px;
}

	.ibox-page .signal-row .node {
		padding: 16px 6px;
	}

.ibox-page .signal-lines {
	font-size: 14px;
	line-height: 22px;
	color: var(--brand);
}

	.ibox-page .signal-lines b {
		display: block;
		font-weight: normal;
	}

	.ibox-page .signal-lines i {
		display: block;
		height: 2px;
		background: var(--brand);
		margin: 4px 0 10px;
	}

	.ibox-page .signal-lines i.rev {
		background: var(--accent);
	}

	.ibox-page .signal-lines b.rev {
		color: var(--accent);
	}

.ibox-page .signal-note {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px dashed #dcdcdc;
	font-size: 14px;
	line-height: 24px;
	color: var(--muted);
}

@media (max-width: 1024px) {
	.ibox-page .proto {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ibox-page .spec-table th {
		width: 96px;
		white-space: normal;
	}

	.ibox-page .spec-table th,
	.ibox-page .spec-table td,
	.ibox-page .compare-table th,
	.ibox-page .compare-table td {
		padding: 12px 12px;
		font-size: 14px;
		line-height: 24px;
	}

	.ibox-page .gallery {
		padding: 12px;
	}

	.ibox-page .signal {
		padding: 16px 14px;
	}

	.ibox-page .signal-row {
		grid-template-columns: 1fr 80px 1fr;
	}

	.ibox-page .compare-table tbody td:first-child {
		white-space: normal;
	}
}

.ibox-page .cols2 {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 24px;
}

@media (max-width: 1024px) {
	.ibox-page .cols2 {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

/* iBox：SMEMA → HERMES 转换 */
.ibox-page .bridge {
	margin-top: 46px;
	display: grid;
	grid-template-columns: 44% 56%;
	gap: 40px;
	align-items: center;
	background-image: var(--brand-grad);
	padding: 40px;
	color: #fff;
}

	.ibox-page .bridge h3 {
		color: #fff;
		font-size: 26px;
		line-height: 36px;
	}

	.ibox-page .bridge p {
		color: rgba(255,255,255,.9);
		font-size: 16px;
		line-height: 28px;
	}

.ibox-page .bridge-flow {
	display: grid;
	grid-template-columns: 1fr 28px 1fr 28px 1fr;
	gap: 6px;
	align-items: center;
	text-align: center;
}

	.ibox-page .bridge-flow .node {
		background: #fff;
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 16px 8px;
	}

		.ibox-page .bridge-flow .node.judge {
			background: var(--accent);
			color: #fff;
			border-top-color: #fff;
		}

			.ibox-page .bridge-flow .node.judge small {
				color: rgba(255,255,255,.9);
			}

.ibox-page .bridge-arrow {
	color: #fff;
	font-size: 22px;
}

@media (max-width: 1024px) {
	.ibox-page .bridge {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 18px 14px;
	}

		.ibox-page .bridge h3 {
			font-size: 18px;
			line-height: 26px;
		}

		.ibox-page .bridge p {
			font-size: 14px;
			line-height: 24px;
		}

	.ibox-page .bridge-flow {
		grid-template-columns: 1fr;
	}

	.ibox-page .bridge-arrow {
		transform: rotate(90deg);
	}
}

/* iBox：API 双方式 */
.ibox-page .feature ul {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

	.ibox-page .feature ul li {
		position: relative;
		padding-left: 16px;
		font-size: 14px;
		line-height: 26px;
		color: var(--body);
	}

		.ibox-page .feature ul li::before {
			content: "";
			position: absolute;
			left: 0;
			top: 11px;
			width: 6px;
			height: 6px;
			background: var(--brand);
		}

.ibox-page .api-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: start;
}

.ibox-page .api-block {
	background: #fff;
	box-shadow: var(--shadow);
	border-top: 3px solid var(--brand);
	padding: 32px 30px;
	min-width: 0;
}

	.ibox-page .api-block h3 {
		font-size: 22px;
	}

	.ibox-page .api-block .compare-table {
		margin: 18px 0;
		box-shadow: none;
		border: 1px solid #ececec;
	}

		.ibox-page .api-block .compare-table th,
		.ibox-page .api-block .compare-table td {
			padding: 10px 14px;
			font-size: 14px;
			line-height: 24px;
		}

		.ibox-page .api-block .compare-table tbody td:first-child {
			white-space: normal;
		}

.ibox-page .api-tag {
	display: inline-block;
	font-size: 14px;
	line-height: 24px;
	padding: 0 14px;
	margin-bottom: 10px;
	color: #fff;
	background-image: var(--brand-grad);
	border-radius: 12px;
}

.ibox-page code {
	font-family: Consolas, "Courier New", monospace;
	font-size: 13px;
	color: var(--brand);
	background: var(--brand-soft);
	padding: 1px 6px;
	word-break: break-all;
}

.ibox-page pre.code {
	margin: 18px 0 0;
	padding: 18px 20px;
	background: #0f2a57;
	color: #dbe8ff;
	font-family: Consolas, "Courier New", monospace;
	font-size: 13px;
	line-height: 22px;
	overflow-x: auto;
	white-space: pre;
}

	.ibox-page pre.code .c {
		color: #7fb0ff;
	}

.ibox-page .frame {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 14px 0 8px;
}

	.ibox-page .frame .f {
		flex: 1 1 0;
		min-width: 72px;
		text-align: center;
		padding: 8px 6px;
		font-size: 14px;
		line-height: 22px;
		background: var(--bg-alt);
		border-top: 3px solid var(--brand);
		color: var(--sub);
	}

		.ibox-page .frame .f.h {
			background: var(--brand-soft);
			color: var(--brand);
			font-family: Consolas, monospace;
		}

.ibox-page .frame-note {
	font-size: 14px;
	line-height: 24px;
	color: var(--muted);
}

@media (max-width: 1280px) {
	.ibox-page .api-tabs {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 1024px) {
	.ibox-page .api-block {
		padding: 16px 14px;
	}

		.ibox-page .api-block h3 {
			font-size: 18px;
		}

	.ibox-page pre.code {
		padding: 12px;
		font-size: 12px;
	}
}
