/* B 方案 — 工程 HUD 详情页（浅色版） */

/* Hero 底缘面包屑叠层（原 products-purepoint.css，工程页独立保留） */
main.pp-products-page > .page-hero .menu,
main.pp-products-page > .page-hero ~ .menu {
	position: relative;
	z-index: 5;
}

body.pp-engineering-detail-page .menu__crumb {
	color: var(--pp-eng-line);
}

body.pp-engineering-detail-page .menu__crumb--current {
	color: var(--pp-eng-line);
}

body.pp-engineering-detail-page .menu__crumb-sep {
	color: rgba(var(--pp-eng-line-rgb), 0.45);
}

body.pp-engineering-detail-page .menu__crumb-icon {
	color: var(--pp-eng-line);
}

body.pp-engineering-detail-page .menu__crumb--link:hover {
	color: var(--pp-eng-line-dark);
}

body.pp-engineering-detail-page {
	/* 流体版心：与全站一致 1450px，小屏随视口收缩 */
	--pp-eng-shell-max: 1450px;
	--pp-eng-shell-gutter: 1.5rem;
	--pp-eng-panel-pad: 28px;
	--pp-eng-panel-pad-x: var(--pp-eng-panel-pad);
	--pp-eng-panel-pad-y: var(--pp-eng-panel-pad);
	--pp-eng-title-gap: 20px;
	--pp-eng-radius: var(--radius, 5px);
	--pp-eng-tabs-pinned-height: 56px;
	--container-max: var(--pp-eng-shell-max);
	--page-shell-max: var(--pp-eng-shell-max);
	--page-shell-gutter: var(--pp-eng-shell-gutter);
	--container-gutter: var(--pp-eng-shell-gutter);
	--page-shell-width: min(var(--page-shell-max), calc(100vw - var(--page-shell-gutter) * 2));
	--page-shell-content-width: max(0px, calc(var(--page-shell-width) - var(--page-shell-gutter) * 2));
	--site-container-width: var(--page-shell-width);
	--kh-shell-max: var(--page-shell-max);
	--pp-shell: var(--page-shell-max);
	--pp-gutter: var(--pp-eng-shell-gutter);
	/* 首屏产品图展示框 880×520（22:13） */
	--pp-eng-hero-img-w: min(880px, var(--page-shell-content-width));
	--pp-eng-hero-img-h: calc(var(--pp-eng-hero-img-w) * 520 / 880);
	--pp-eng-hero-visual-pad: clamp(16px, 2vw, 28px);
	--pp-eng-hero-col-w: var(--pp-eng-hero-img-w);
	font-family: Inter, 'Segoe UI', system-ui, sans-serif;
	background: #ffffff;
	color: #1a2332;
	-webkit-font-smoothing: antialiased;
	--pp-eng-line: #1d5198;
	--pp-eng-line-light: #2a6bb5;
	--pp-eng-line-dark: #163d72;
	--pp-eng-line-rgb: 29, 81, 152;
	--pp-eng-line-glow: rgba(var(--pp-eng-line-rgb), 0.35);
	--pp-eng-line-border: rgba(var(--pp-eng-line-rgb), 0.45);
	--pp-eng-text: #0c1424;
	--pp-eng-text-muted: #5c6470;
	--pp-eng-surface: #f8f9fb;
	--pp-eng-surface-alt: #eef1f6;
	--pp-eng-border: rgba(12, 20, 36, 0.14);
	--pp-eng-border-divider: rgba(12, 20, 36, 0.1);
	--pp-eng-shadow-inset: 0 0 0 1px rgba(12, 20, 36, 0.06) inset;
	--pp-eng-shadow-sm: 0 2px 8px rgba(12, 20, 36, 0.06);
	--pp-eng-shadow-md: 0 4px 16px rgba(12, 20, 36, 0.06);
	--pp-eng-shadow-lg: 0 8px 24px rgba(12, 20, 36, 0.08);
	--pp-eng-shadow-panel: 0 8px 32px rgba(12, 20, 36, 0.08);
	--pp-eng-shadow-up: 0 -8px 24px rgba(12, 20, 36, 0.08);
	--pp-eng-gold: var(--site-brand-orange, #e05a00);
	--pp-eng-gold-soft: rgba(var(--pp-eng-orange-rgb), 0.12);
	--pp-eng-gold-border: rgba(var(--pp-eng-orange-rgb), 0.35);
	--pp-eng-orange: var(--site-brand-orange, #e05a00);
	--pp-eng-orange-hover: #c44e00;
	--pp-eng-orange-rgb: 224, 90, 0;
	--pp-orange: var(--pp-eng-orange);
	/* overflow-x:hidden 会阻断 position:sticky，工程页改用 clip */
	overflow-x: clip;
}

.pp-eng-detail {
	background: linear-gradient(180deg, #ffffff 0%, #f4f6fa 50%, #ffffff 100%);
}

/* 工程详情页：全站版心统一（以核心优势 .pp-shell 为基准，左右外边距一致） */
body.pp-engineering-detail-page .pp-shell,
body.pp-engineering-detail-page .menu__inner,
body.pp-engineering-detail-page .page-hero__content,
body.pp-engineering-detail-page .site-footer-legacy .container,
body.pp-engineering-detail-page .container {
	width: var(--page-shell-width);
	max-width: var(--page-shell-max);
	margin-inline: auto;
	padding-inline: var(--page-shell-gutter);
	box-sizing: border-box;
}

/* 直出区块（参数 / 下载 / 售后）：标题靠 shell 左缘；折叠类标题保持 trigger 内边距 */
body.pp-engineering-detail-page #pp-eng-specs > .pp-shell > .pp-eng-section-title,
body.pp-engineering-detail-page #pp-eng-downloads > .pp-shell > .pp-eng-section-title,
body.pp-engineering-detail-page #pp-eng-downloads > .pp-shell > .pp-eng-section-lead,
body.pp-engineering-detail-page #pp-eng-service > .pp-shell > .pp-eng-section-title {
	padding-inline: 0;
	box-sizing: border-box;
}

body.pp-engineering-detail-page .pp-eng-hud {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

.pp-eng-section--first {
	padding-top: 48px;
}

/* —— HUD 面板（浅色） —— */
.pp-eng-section {
	padding: 32px 0;
}

.pp-eng-hud {
	position: relative;
	padding: var(--pp-eng-panel-pad-y) var(--pp-eng-panel-pad-x);
	background: #ffffff;
	border: 1px solid var(--pp-eng-line-border);
	border-radius: var(--pp-eng-radius);
	box-shadow: var(--pp-eng-shadow-inset), var(--pp-eng-shadow-panel);
}

.pp-eng-hud__bracket {
	position: absolute;
	width: 24px;
	height: 24px;
	border-color: var(--pp-eng-line);
	border-style: solid;
	opacity: 0.9;
	pointer-events: none;
}

.pp-eng-hud__bracket--tl {
	top: 6px;
	left: 6px;
	border-width: 3px 0 0 3px;
}

.pp-eng-hud__bracket--tr {
	top: 6px;
	right: 6px;
	border-width: 3px 3px 0 0;
}

.pp-eng-hud__bracket--bl {
	bottom: 6px;
	left: 6px;
	border-width: 0 0 3px 3px;
}

.pp-eng-hud__bracket--br {
	bottom: 6px;
	right: 6px;
	border-width: 0 3px 3px 0;
}

.pp-eng-hud__scanline {
	display: none;
}

/* 首屏两栏 + 产品图展示框锁定 880×540（比例 44:27；图源建议同比例，异比例仅框内留白） */
.pp-eng-hero__grid {
	display: grid;
	grid-template-columns: minmax(380px, 440px) var(--pp-eng-hero-col-w);
	gap: 28px;
	align-items: start;
}

.pp-eng-kicker {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pp-eng-orange);
}

.pp-eng-kicker__bar {
	display: inline-block;
	width: 3px;
	height: 22px;
	background: var(--pp-eng-line);
	box-shadow: none;
}

.pp-eng-section-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 var(--pp-eng-title-gap);
	font-size: clamp(20px, 2.5vw, 26px);
	line-height: 1.25;
	font-weight: 700;
	color: var(--pp-eng-line);
}

.pp-eng-section-title > .pp-eng-kicker__bar {
	height: 22px;
	align-self: center;
	flex-shrink: 0;
}

.pp-eng-points {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.pp-eng-points li {
	display: flex;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--pp-eng-border);
	font-size: 13px;
	line-height: 1.55;
	color: #3a4556;
}

.pp-eng-points__idx {
	flex-shrink: 0;
	font-size: 11px;
	font-weight: 700;
	color: var(--pp-eng-orange);
}

.pp-eng-metrics {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 8px;
}

.pp-eng-metric__head {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
	font-size: 12px;
	color: #5c6470;
}

.pp-eng-metric__head strong {
	color: #0c1424;
	font-weight: 700;
}

.pp-eng-metric__track {
	height: 6px;
	background: #eef1f6;
	border-radius: 999px;
	overflow: hidden;
	border: 1px solid var(--pp-eng-border-divider);
}

.pp-eng-metric__fill {
	height: 100%;
	background: linear-gradient(90deg, var(--pp-eng-line-dark) 0%, var(--pp-eng-line) 50%, var(--pp-eng-line-light) 100%);
	border-radius: 999px;
	transition: width 0.6s ease;
}

.pp-eng-hero__center {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	width: var(--pp-eng-hero-col-w);
	max-width: var(--pp-eng-hero-col-w);
	min-width: 0;
	flex-shrink: 0;
}

.pp-eng-hero__figure {
	width: var(--pp-eng-hero-img-w);
	margin: 0;
}

.pp-eng-hero__visual {
	position: relative;
	width: var(--pp-eng-hero-img-w);
	height: var(--pp-eng-hero-img-h);
	box-sizing: border-box;
	padding: 0;
	background: #eef1f6;
	border: none;
	border-radius: var(--pp-eng-radius) var(--pp-eng-radius) 0 0;
	overflow: hidden;
}

.pp-eng-hero__visual-inner {
	position: relative;
	width: 100%;
	height: 100%;
}

.pp-eng-hero__img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease;
}

.pp-eng-hero__img.is-active {
	opacity: 1;
	visibility: visible;
}

.pp-eng-hero__nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--pp-eng-border);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: #0c1424;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(12, 20, 36, 0.12);
	transform: translateY(-50%);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pp-eng-hero__nav:hover {
	border-color: rgba(var(--pp-eng-orange-rgb), 0.55);
	box-shadow: 0 6px 16px rgba(12, 20, 36, 0.16);
}

.pp-eng-hero__nav svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pp-eng-hero__nav--prev {
	left: 12px;
}

.pp-eng-hero__nav--next {
	right: 12px;
}

.pp-eng-hero__caption {
	margin: 14px 0 0;
	font-size: 14px;
	font-weight: 600;
	color: #3a4556;
	text-align: center;
}

.pp-eng-spec-scroll {
	max-height: 420px;
	overflow: auto;
	scrollbar-color: rgba(var(--pp-eng-line-rgb), 0.45) #eef1f6;
}

.pp-eng-spec-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
}

.pp-eng-spec-table th,
.pp-eng-spec-table td {
	padding: 9px 12px;
	text-align: left;
	border-bottom: 1px solid var(--pp-eng-border);
	vertical-align: top;
}

.pp-eng-spec-table th {
	width: 42%;
	font-weight: 600;
	color: #5c6470;
	background: #f8f9fb;
}

.pp-eng-spec-table td {
	color: #1a2332;
}

.pp-eng-spec-table thead th {
	background: rgba(var(--pp-eng-orange-rgb), 0.12);
	color: var(--pp-eng-orange);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.pp-eng-spec-table__meta td {
	color: var(--pp-eng-orange);
	font-weight: 600;
}

.pp-eng-spec-table--wide th {
	width: 32%;
}

.pp-eng-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--pp-eng-border);
}

.pp-eng-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 44px;
	padding: 11px 22px;
	border: 1px solid transparent;
	border-radius: var(--pp-eng-radius);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.pp-eng-btn:focus {
	outline: none;
}

.pp-eng-btn:focus-visible {
	outline: 2px solid rgba(var(--pp-eng-line-rgb), 0.35);
	outline-offset: 2px;
}

.pp-eng-btn--primary {
	background: var(--pp-eng-orange);
	border-color: var(--pp-eng-orange);
	color: #fff;
	box-shadow: var(--pp-eng-shadow-sm);
}

.pp-eng-btn--primary:hover {
	background: var(--pp-eng-orange-hover);
	border-color: var(--pp-eng-orange-hover);
	box-shadow: 0 4px 12px rgba(12, 20, 36, 0.12);
}

.pp-eng-btn--ghost {
	border-color: rgba(12, 20, 36, 0.15);
	color: #0c1424;
	background: #fff;
	box-shadow: none;
}

.pp-eng-btn--ghost:hover {
	border-color: rgba(var(--pp-eng-orange-rgb), 0.45);
	color: var(--pp-eng-orange);
	background: rgba(var(--pp-eng-orange-rgb), 0.04);
}

.pp-eng-btn--link {
	color: #5c6470;
	padding-inline: 8px;
}

.pp-eng-btn--link:hover {
	color: var(--pp-eng-orange);
}

/* 锚点 Tab — 滚动越过哨兵后 JS 切换 fixed 吸顶 */
.pp-eng-tabs-sentinel {
	height: 0;
	margin: 0;
	padding: 0;
}

.pp-eng-tabs-placeholder {
	height: 0;
}

.pp-eng-tabs {
	position: relative;
	z-index: 1000;
	padding: 12px 0;
	background: rgba(255, 255, 255, 0.96);
	border-bottom: 1px solid transparent;
	backdrop-filter: blur(8px);
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pp-eng-tabs.is-pinned {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1000;
	border-bottom-color: var(--pp-eng-border);
	box-shadow: var(--pp-eng-shadow-md);
}

.pp-eng-section[id] {
	scroll-margin-top: calc(var(--pp-eng-tabs-pinned-height, 56px) + 12px);
}

.pp-eng-tabs ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pp-eng-tabs a {
	display: block;
	padding: 8px 16px;
	border: 1px solid var(--pp-eng-border-divider);
	border-radius: var(--pp-eng-radius);
	font-size: 13px;
	font-weight: 600;
	color: #5c6470;
	text-decoration: none;
	background: #f8f9fb;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.pp-eng-tabs a:hover {
	border-color: rgba(var(--pp-eng-orange-rgb), 0.55);
	color: var(--pp-eng-orange);
	background: rgba(var(--pp-eng-orange-rgb), 0.08);
}

.pp-eng-tabs a.is-active,
.pp-eng-side-nav__list a.is-active {
	border-color: var(--pp-eng-line);
	color: var(--pp-eng-line-dark);
	background: rgba(var(--pp-eng-line-rgb), 0.08);
	font-weight: 700;
}

/* —— 折叠面板（内容保留在 DOM，利于 SEO） —— */
.pp-eng-collapse {
	margin: 0;
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
	background: #fff;
	overflow: hidden;
}

.pp-eng-collapse--sub {
	margin-top: 20px;
}

#pp-eng-faq .pp-eng-collapse--sub {
	margin-top: 0;
}

.pp-eng-collapse__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: var(--pp-eng-panel-pad-y) var(--pp-eng-panel-pad-x) var(--pp-eng-title-gap);
	cursor: pointer;
	list-style: none;
	user-select: none;
}

.pp-eng-collapse__trigger::-webkit-details-marker {
	display: none;
}

.pp-eng-collapse__trigger--sub {
	background: #f8f9fb;
	padding: 12px var(--pp-eng-panel-pad-x);
}

.pp-eng-collapse__trigger--sub .pp-eng-collapse__title {
	line-height: 1.25;
}

.pp-eng-collapse__title {
	margin: 0 !important;
	flex: 1;
	min-width: 0;
}

.pp-eng-collapse__hint {
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 600;
	color: var(--pp-eng-text-muted);
}

.pp-eng-collapse__hint-when-open {
	display: none;
}

.pp-eng-collapse[open] .pp-eng-collapse__hint-when-closed {
	display: none;
}

.pp-eng-collapse[open] .pp-eng-collapse__hint-when-open {
	display: inline;
}

.pp-eng-collapse:not([open]) .pp-eng-collapse__hint-when-closed::after {
	content: ' +';
}

.pp-eng-collapse[open] .pp-eng-collapse__hint {
	color: var(--pp-eng-line-dark);
}

.pp-eng-collapse[open] .pp-eng-collapse__hint-when-open::after {
	content: ' −';
}

.pp-eng-collapse__panel {
	padding: 0 var(--pp-eng-panel-pad-x) var(--pp-eng-panel-pad-y);
}

/* 产品特点 / 应用场景：内容与卡片留出间距 */
.pp-eng-collapse--sub:has(.pp-eng-features) .pp-eng-collapse__panel,
.pp-eng-collapse--sub:has(.pp-eng-apps) .pp-eng-collapse__panel {
	padding-top: var(--pp-eng-title-gap);
}

.pp-eng-features,
.pp-eng-apps {
	padding-top: 4px;
}

/* 工程详情页：隐藏全站右侧悬浮条，改用独立侧栏 */
body.pp-engineering-detail-page .floating-actions {
	display: none !important;
}

/* —— 产品详情独立右侧栏 —— */
.pp-eng-side-nav {
	display: none;
}

@media (min-width: 1280px) {
	.pp-eng-side-nav {
		display: flex;
		flex-direction: column;
		position: fixed;
		top: calc(var(--pp-header-clearance, 100px) + 16px);
		right: 0.8rem;
		z-index: 100001;
		width: 176px;
		max-height: calc(100vh - var(--pp-header-clearance, 100px) - 32px);
		padding: 14px 12px;
		border: 1px solid var(--pp-eng-border);
		border-radius: var(--pp-eng-radius);
		background: rgba(255, 255, 255, 0.98);
		backdrop-filter: blur(10px);
		box-shadow: var(--pp-eng-shadow-panel);
		overflow: auto;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateX(10px);
		transition:
			opacity 0.22s ease,
			visibility 0.22s ease,
			transform 0.22s ease;
	}

	.pp-eng-side-nav.is-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateX(0);
	}

	.pp-eng-side-nav__label {
		margin: 0 0 10px;
		padding: 0 6px;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--pp-eng-text-muted);
	}

	.pp-eng-side-nav__sections {
		flex: 1;
		min-height: 0;
		overflow: auto;
	}

	.pp-eng-side-nav__list {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.pp-eng-side-nav__list a {
		display: block;
		padding: 7px 8px;
		border-left: 2px solid transparent;
	border-radius: 0 var(--pp-eng-radius) var(--pp-eng-radius) 0;
		font-size: 12px;
		line-height: 1.4;
		font-weight: 500;
		color: var(--pp-eng-text-muted);
		text-decoration: none;
		transition:
			color 0.2s ease,
			border-color 0.2s ease,
			background 0.2s ease;
	}

	.pp-eng-side-nav__list a:hover {
		color: var(--pp-eng-orange);
		background: rgba(var(--pp-eng-orange-rgb), 0.08);
	}

	.pp-eng-side-nav__list a.is-active {
		border-left-color: var(--pp-eng-line);
		padding-left: 10px;
	}

	.pp-eng-side-nav__actions {
		display: flex;
		flex-direction: column;
		gap: 8px;
		margin-top: 12px;
		padding-top: 12px;
		border-top: 1px solid var(--pp-eng-border);
		flex-shrink: 0;
	}

	.pp-eng-side-nav__quote,
	.pp-eng-side-nav__top {
		width: 100%;
		justify-content: center;
	}

	.pp-eng-side-nav__top {
		gap: 6px;
	}

	.pp-eng-side-nav__top-icon {
		display: block;
		width: 16px;
		height: 16px;
		flex-shrink: 0;
	}

	@media (prefers-reduced-motion: reduce) {
		.pp-eng-side-nav {
			transform: none;
			transition: opacity 0.15s ease, visibility 0.15s ease;
		}
	}
}

/* —— 核心参数高亮 —— */
.pp-eng-spec-highlight {
	color: var(--pp-eng-orange);
	font-weight: 600;
	background: transparent;
}

.pp-eng-spec-row--key th {
	background: #f8f9fb;
	color: #5c6470;
	font-weight: 600;
}

.pp-eng-spec-row--key td {
	background: transparent;
	color: var(--pp-eng-orange);
	font-weight: 600;
}

/* —— 结构三图 —— */
.pp-eng-diagrams-stack {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.pp-eng-diagrams {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

/* Split series — same HUD palette as AIO (blue line + orange accent) */
.pp-eng-split-badge {
	display: inline-block;
	margin: 0 0 12px;
	padding: 4px 12px;
	border: 1px solid var(--pp-eng-gold-border);
	border-radius: 999px;
	background: var(--pp-eng-gold-soft);
	color: var(--pp-eng-orange);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.pp-eng-variant-table th:last-child,
.pp-eng-variant-table td:last-child {
	color: var(--pp-eng-orange);
	font-weight: 600;
}

.pp-eng-structure-photometry-title {
	margin: 8px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--pp-eng-border-divider);
	color: var(--pp-eng-line);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.03em;
}

.pp-eng-diagram {
	margin: 0;
	text-align: center;
}

.pp-eng-diagram__frame {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 320 / 240;
	min-height: 240px;
	padding: 0;
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
	background: #eef1f6;
	overflow: hidden;
	cursor: zoom-in;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pp-eng-diagram__frame:hover {
	border-color: rgba(30, 64, 175, 0.35);
	box-shadow: var(--pp-eng-shadow-lg);
}

.pp-eng-diagram__frame:focus-visible {
	outline: 2px solid rgba(30, 64, 175, 0.55);
	outline-offset: 2px;
}

.pp-eng-diagram__frame img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	border-radius: 0;
	pointer-events: none;
}

.pp-eng-diagram figcaption {
	margin-top: 12px;
	font-size: 12px;
	font-weight: 600;
	color: var(--pp-eng-orange);
	letter-spacing: 0.04em;
}

/* —— 结构图 Lightbox —— */
body.pp-eng-diagram-lightbox-open {
	overflow: hidden;
}

.pp-eng-diagram-lightbox {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: grid;
	place-items: center;
	padding: 24px;
}

.pp-eng-diagram-lightbox[hidden] {
	display: none;
}

.pp-eng-diagram-lightbox__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(8, 14, 28, 0.92);
	cursor: pointer;
}

.pp-eng-diagram-lightbox__panel {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(96vw, 1280px);
	max-height: calc(100vh - 48px);
	max-height: calc(100dvh - 48px);
}

.pp-eng-diagram-lightbox__figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin: 0;
}

.pp-eng-diagram-lightbox__img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: min(78vh, 860px);
	max-height: min(78dvh, 860px);
	object-fit: contain;
	border-radius: var(--pp-eng-radius);
	background: #0c1424;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
}

.pp-eng-diagram-lightbox__caption {
	margin-top: 16px;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	text-align: center;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
}

.pp-eng-diagram-lightbox__counter {
	margin: 8px 0 0;
	font-size: 12px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.72);
}

.pp-eng-diagram-lightbox__close {
	position: absolute;
	top: -8px;
	right: -8px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	background: rgba(12, 20, 36, 0.88);
	color: #fff;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.pp-eng-diagram-lightbox__close:hover {
	border-color: rgba(var(--pp-eng-orange-rgb), 0.55);
	color: var(--pp-eng-orange);
	background: rgba(12, 20, 36, 0.96);
}

.pp-eng-diagram-lightbox__close svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
}

.pp-eng-diagram-lightbox__nav {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	background: rgba(12, 20, 36, 0.88);
	color: #fff;
	cursor: pointer;
	transform: translateY(-50%);
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.pp-eng-diagram-lightbox__nav:hover {
	border-color: rgba(var(--pp-eng-orange-rgb), 0.55);
	color: var(--pp-eng-orange);
	background: rgba(12, 20, 36, 0.96);
}

.pp-eng-diagram-lightbox__nav svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pp-eng-diagram-lightbox__nav--prev {
	left: -56px;
}

.pp-eng-diagram-lightbox__nav--next {
	right: -56px;
}

@media (max-width: 960px) {
	.pp-eng-diagram-lightbox {
		padding: 16px;
	}

	.pp-eng-diagram-lightbox__nav--prev {
		left: 8px;
	}

	.pp-eng-diagram-lightbox__nav--next {
		right: 8px;
	}

	.pp-eng-diagram-lightbox__close {
		top: 8px;
		right: 8px;
	}
}

/* —— 特点 / 场景 —— */
.pp-eng-subtitle {
	margin: 28px 0 var(--pp-eng-title-gap);
	font-size: 16px;
	font-weight: 700;
	color: var(--pp-eng-line);
}

.pp-eng-features__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.pp-eng-feature {
	padding: var(--pp-eng-panel-pad-y) var(--pp-eng-panel-pad-x);
	background: #fff;
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
	box-shadow: var(--pp-eng-shadow-md);
}

.pp-eng-feature h4 {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 700;
	color: var(--pp-eng-orange);
}

.pp-eng-feature p {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: #5c6470;
}

.pp-eng-apps ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pp-eng-apps li {
	padding: 8px 14px;
	border: 1px solid rgba(var(--pp-eng-orange-rgb), 0.35);
	border-radius: var(--pp-eng-radius);
	font-size: 13px;
	color: #3a4556;
	background: rgba(var(--pp-eng-orange-rgb), 0.08);
}

/* —— 案例图 —— */
.pp-eng-cases {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.pp-eng-case {
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
	aspect-ratio: 640 / 360;
	background: #eef1f6;
	box-shadow: var(--pp-eng-shadow-md);
}

.pp-eng-case img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* —— FAQ —— */
.pp-eng-faq {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.pp-eng-faq__item {
	padding: 0 var(--pp-eng-panel-pad-x);
	background: #fff;
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
}

.pp-eng-faq__item summary {
	padding: var(--pp-eng-panel-pad-y) 0;
	font-size: 14px;
	font-weight: 600;
	color: #0c1424;
	cursor: pointer;
	list-style: none;
}

.pp-eng-faq__item summary::-webkit-details-marker {
	display: none;
}

.pp-eng-faq__item p {
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.65;
	color: #5c6470;
}

/* —— CTA —— */
.pp-eng-cta {
	padding: 56px 0 80px;
	background: linear-gradient(180deg, #f4f6fa 0%, #fff 100%);
	border-top: 1px solid var(--pp-eng-border);
}

.pp-eng-cta__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 28px;
	text-align: center;
}

.pp-eng-cta__head .pp-eng-section-title {
	display: block;
	width: 100%;
	max-width: 720px;
	margin: 0 0 var(--pp-eng-title-gap);
	text-align: center;
}

.pp-eng-cta__head .pp-eng-kicker__bar {
	display: block;
	width: 32px;
	height: 3px;
	margin: 0 auto 14px;
	background: var(--pp-eng-line);
	box-shadow: none;
}

.pp-eng-cta__lead {
	margin: 0;
	max-width: 720px;
	text-align: center;
}

.pp-eng-cta__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}

.pp-eng-cta-panel {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: var(--pp-eng-panel-pad-y) var(--pp-eng-panel-pad-x);
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
	background: #fff;
	box-shadow: var(--pp-eng-shadow-md);
	text-align: left;
}

.pp-eng-cta-panel__tag {
	display: inline-block;
	align-self: flex-start;
	margin-bottom: 14px;
	padding: 4px 10px;
	border: 1px solid var(--pp-eng-gold-border);
	border-radius: var(--pp-eng-radius);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pp-eng-gold);
	background: var(--pp-eng-gold-soft);
}

.pp-eng-cta-panel h3 {
	margin: 0 0 10px;
	font-size: clamp(20px, 2.2vw, 24px);
	font-weight: 700;
	color: var(--pp-eng-text);
}

.pp-eng-cta-panel > p {
	margin: 0 0 20px;
	max-width: none;
	font-size: 14px;
	line-height: 1.65;
	color: var(--pp-eng-text-muted);
}

.pp-eng-cta-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 20px;
}

.pp-eng-cta-stats div {
	padding: 12px 10px;
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
	background: var(--pp-eng-surface);
}

.pp-eng-cta-stats dt {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pp-eng-text-muted);
}

.pp-eng-cta-stats dd {
	margin: 6px 0 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--pp-eng-text);
}

.pp-eng-inquiry-form {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
	margin: 0;
}

.pp-eng-inquiry-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.pp-eng-inquiry-form__full {
	grid-column: 1 / -1;
}

.pp-eng-inquiry-form label span {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	font-weight: 600;
	color: var(--pp-eng-text-muted);
}

.pp-eng-inquiry-form input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
	background: #fff;
	color: var(--pp-eng-text);
	font-size: 14px;
}

.pp-eng-inquiry-form input:focus {
	outline: 2px solid rgba(var(--pp-eng-line-rgb), 0.35);
	border-color: var(--pp-eng-line-border);
}

.pp-eng-cta-panel__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	margin-top: auto;
	padding-top: 4px;
}

.pp-eng-cta-panel__actions .pp-eng-btn {
	flex: 1 1 160px;
}

.pp-eng-cta-panel--layout .pp-eng-cta-panel__actions {
	margin-top: 4px;
}

/* —— 移动端 sticky —— */
.pp-eng-sticky {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	padding: 12px 0 calc(12px + env(safe-area-inset-bottom));
	background: rgba(255, 255, 255, 0.96);
	border-top: 1px solid var(--pp-eng-border-divider);
	box-shadow: var(--pp-eng-shadow-up);
	backdrop-filter: blur(10px);
}

.pp-eng-sticky__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.pp-eng-sticky__inner p {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	color: #0c1424;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pp-eng-sticky .pp-eng-btn {
	flex-shrink: 0;
	padding: 10px 18px;
	font-size: 13px;
}

.pp-eng-section-lead {
	margin: 0 0 var(--pp-eng-title-gap);
	max-width: 720px;
	color: var(--pp-eng-text-muted);
	font-size: 15px;
	line-height: 1.6;
}

.pp-eng-note {
	margin: 0 0 12px;
	font-size: 13px;
	color: var(--pp-eng-text-muted);
}

.pp-eng-section--compact {
	padding-top: 0;
}

/* Downloads */
.pp-eng-downloads__tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 16px;
}

.pp-eng-downloads__tab {
	padding: 6px 14px;
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
	font-size: 12px;
	font-weight: 600;
	color: var(--pp-eng-text-muted);
	background: var(--pp-eng-surface);
}

.pp-eng-downloads__tab.is-active {
	background: var(--pp-eng-gold-soft);
	color: var(--pp-eng-gold);
	border-color: var(--pp-eng-gold-border);
}

.pp-eng-downloads__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.pp-eng-download-card {
	padding: var(--pp-eng-panel-pad-y) var(--pp-eng-panel-pad-x);
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
	background: #fff;
	box-shadow: var(--pp-eng-shadow-md);
}

.pp-eng-download-card h3 {
	margin: 0 0 8px;
	font-size: 15px;
	color: var(--pp-eng-text);
}

.pp-eng-download-card p {
	margin: 0 0 12px;
	font-size: 13px;
	color: var(--pp-eng-text-muted);
}

.pp-eng-download-card--wide {
	grid-column: 1 / -1;
}

.pp-eng-btn--sm {
	padding: 8px 14px;
	font-size: 13px;
}

/* Certificates — WebP 800×1120 (5:7)，桌面单排 6 张；结构图见 process-engineering-page-images.mjs */
body.pp-engineering-detail-page #pp-eng-certs .pp-eng-certs {
	display: grid;
	width: 100%;
	grid-template-columns: 1fr;
	gap: clamp(12px, 2vw, 20px);
}

@media (min-width: 540px) {
	body.pp-engineering-detail-page #pp-eng-certs .pp-eng-certs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	body.pp-engineering-detail-page #pp-eng-certs .pp-eng-certs {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 12px;
	}
}

.pp-eng-cert {
	margin: 0;
	min-width: 0;
	width: 100%;
}

.pp-eng-cert__frame {
	display: block;
	width: 100%;
	padding: 0;
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
	background: #fff;
	cursor: pointer;
	overflow: hidden;
	aspect-ratio: 215 / 301;
	box-shadow: var(--pp-eng-shadow-md);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pp-eng-cert__frame:hover {
	border-color: var(--pp-eng-line-border);
	box-shadow: var(--pp-eng-shadow-lg);
}

.pp-eng-cert__frame img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center top;
	pointer-events: none;
}

.pp-eng-cert figcaption {
	margin-top: 8px;
	font-size: 12px;
	font-weight: 600;
	color: var(--pp-eng-text-muted);
	text-align: center;
}

.pp-eng-certs__actions {
	display: flex;
	justify-content: center;
	margin-top: 20px;
}

/* Components */
.pp-eng-components__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.pp-eng-component {
	padding: var(--pp-eng-panel-pad-y) var(--pp-eng-panel-pad-x);
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
	background: #fff;
	box-shadow: var(--pp-eng-shadow-md);
}

.pp-eng-component h4 {
	margin: 0 0 6px;
	font-size: 14px;
	color: var(--pp-eng-text);
}

.pp-eng-component__brand {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--pp-eng-gold);
}

.pp-eng-component__spec {
	margin: 0;
	font-size: 12px;
	line-height: 1.5;
	color: var(--pp-eng-text-muted);
}

/* Compare table */
.pp-eng-compare-scroll {
	overflow-x: auto;
}

.pp-eng-compare-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.pp-eng-compare-table th,
.pp-eng-compare-table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--pp-eng-border);
	text-align: left;
	vertical-align: middle;
}

.pp-eng-compare-table thead th {
	background: var(--pp-eng-gold-soft);
	color: var(--pp-eng-gold);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.pp-eng-compare-table tbody th {
	color: var(--pp-eng-text-muted);
	font-weight: 600;
	background: var(--pp-eng-surface);
}

.pp-eng-compare-table td {
	color: var(--pp-eng-text);
}

.pp-eng-compare-table tr.is-current {
	background: rgba(var(--pp-eng-line-rgb), 0.06);
}

.pp-eng-compare-badge {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 6px;
	border-radius: var(--pp-eng-radius);
	background: var(--pp-eng-orange);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	vertical-align: middle;
}

/* Service */
.pp-eng-service-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	align-items: stretch;
}

.pp-eng-service-grid--paired {
	align-items: stretch;
}

.pp-eng-service-grid__title {
	margin: 0 0 var(--pp-eng-title-gap);
}

.pp-eng-service-grid__title--split {
	padding-left: 28px;
	border-left: 1px solid var(--pp-eng-border);
}

.pp-eng-service-pair {
	display: contents;
}

.pp-eng-service-pair__cell {
	display: flex;
	align-items: stretch;
	min-height: 100%;
	border-bottom: 1px solid var(--pp-eng-border);
}

.pp-eng-service-pair:last-child .pp-eng-service-pair__cell {
	border-bottom: 0;
}

.pp-eng-service-pair__cell--warranty {
	font-size: 12px;
	line-height: 1.55;
}

.pp-eng-service-pair__label {
	flex: 0 0 32%;
	padding: 9px 12px;
	font-weight: 600;
	color: #5c6470;
	background: #f8f9fb;
}

.pp-eng-service-pair__value {
	flex: 1;
	min-width: 0;
	padding: 9px 12px;
	color: #1a2332;
}

.pp-eng-service-pair__cell--extra {
	gap: 10px;
	align-items: flex-start;
	padding: 9px 12px 9px 28px;
	border-left: 1px solid var(--pp-eng-border);
	font-size: 13px;
	line-height: 1.55;
	color: var(--pp-eng-text);
}

.pp-eng-service-pair__cell--extra .pp-eng-service-extras__mark {
	margin-top: 0.45em;
}

.pp-eng-service-col {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 0;
}

.pp-eng-service-grid:has(.pp-eng-service-col:only-child) {
	grid-template-columns: 1fr;
}

.pp-eng-service-col + .pp-eng-service-col {
	padding-left: 28px;
	border-left: 1px solid var(--pp-eng-border);
}

.pp-eng-subtitle--inset {
	margin: 0 0 var(--pp-eng-title-gap);
	font-size: 15px;
}

.pp-eng-service-col .pp-eng-spec-table {
	flex: 1;
}

body.pp-engineering-detail-page .pp-eng-service-extras__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.pp-engineering-detail-page .pp-eng-service-extras__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid var(--pp-eng-border);
	font-size: 13px;
	line-height: 1.55;
	color: var(--pp-eng-text);
}

body.pp-engineering-detail-page .pp-eng-service-extras__item:last-child {
	border-bottom: 0;
}

body.pp-engineering-detail-page .pp-eng-service-extras__mark {
	display: block;
	flex-shrink: 0;
	width: 6px;
	height: 6px;
	margin-top: 0.5em;
	border-radius: 50%;
	background: var(--pp-eng-line);
	box-shadow: 0 0 6px var(--pp-eng-line-glow);
}

body.pp-engineering-detail-page .pp-eng-service-extras__text {
	flex: 1;
	min-width: 0;
}

/* Videos */
.pp-eng-videos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 20px;
}

.pp-eng-video-card__poster {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 1px solid var(--pp-eng-border);
	border-radius: var(--pp-eng-radius);
	background: var(--pp-eng-surface-alt);
	cursor: pointer;
	overflow: hidden;
}

.pp-eng-video-card__poster img {
	display: block;
	width: 100%;
	aspect-ratio: 480 / 270;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

.pp-eng-video-card__poster--light {
	background: var(--pp-eng-surface-alt);
}

.pp-eng-video-card__poster--light img {
	object-fit: contain;
	background: var(--pp-eng-surface-alt);
}

.pp-eng-video-card__play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--pp-eng-orange);
	box-shadow: 0 4px 16px rgba(var(--pp-eng-orange-rgb), 0.35);
}

.pp-eng-video-card__play::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 54%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 10px 0 10px 16px;
	border-color: transparent transparent transparent #fff;
}

.pp-eng-video-card h3 {
	margin: 10px 0 4px;
	font-size: 15px;
	color: var(--pp-eng-text);
}

.pp-eng-video-card p {
	margin: 0 0 10px;
	font-size: 13px;
	color: var(--pp-eng-text-muted);
}

.pp-eng-video-lightbox__panel {
	position: relative;
	width: min(960px, 92vw);
	margin: 5vh auto;
	padding: 12px;
	background: #0c1424;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--pp-eng-radius);
}

.pp-eng-video-lightbox__body video,
.pp-eng-video-lightbox__body iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	background: #000;
}

.pp-eng-video-lightbox[hidden] {
	display: none !important;
}

.pp-eng-video-lightbox:not([hidden]) {
	position: fixed;
	inset: 0;
	z-index: 1200;
	background: rgba(8, 14, 28, 0.92);
}

.pp-eng-video-lightbox__close {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 2;
}

/* CTA inquiry forms — styles above under .pp-eng-cta */
.pp-eng-logistics,
.pp-eng-components,
.pp-eng-compare {
	margin-top: 28px;
}

/* —— 响应式 —— */
@media (max-width: 1100px) {
	.pp-eng-hero__grid {
		grid-template-columns: 1fr;
	}

	.pp-eng-hero__center {
		order: -1;
		width: 100%;
		max-width: var(--pp-eng-hero-img-w);
	}

	.pp-eng-hero__figure {
		width: 100%;
		max-width: var(--pp-eng-hero-img-w);
		margin-inline: auto;
	}

	.pp-eng-hero__visual {
		width: 100%;
		height: auto;
		aspect-ratio: 880 / 520;
		max-height: var(--pp-eng-hero-img-h);
	}

	.pp-eng-hero__visual-inner,
	.pp-eng-hero__visual img,
	.pp-eng-hero__img {
		width: 100%;
		height: 100%;
		max-height: var(--pp-eng-hero-img-h);
	}

	.pp-eng-spec-scroll {
		max-height: none;
	}

	.pp-eng-diagrams {
		grid-template-columns: 1fr;
	}

	.pp-eng-features__grid {
		grid-template-columns: 1fr;
	}

	.pp-eng-downloads__grid,
	.pp-eng-components__grid,
	.pp-eng-videos,
	.pp-eng-service-grid,
	.pp-eng-cta__grid {
		grid-template-columns: 1fr;
	}

	.pp-eng-service-grid__title--split,
	.pp-eng-service-pair__cell--extra {
		padding-left: 12px;
		border-left: 0;
	}

	.pp-eng-service-pair__cell--extra {
		border-top: 0;
	}

	.pp-eng-service-grid--paired .pp-eng-service-pair__cell--extra {
		margin-top: 0;
		padding-top: 9px;
		border-top: 1px solid var(--pp-eng-border);
	}

	.pp-eng-service-grid--paired .pp-eng-service-pair:first-child .pp-eng-service-pair__cell--extra {
		border-top: 0;
	}

	.pp-eng-service-col + .pp-eng-service-col {
		margin-top: 24px;
		padding-top: 24px;
		padding-left: 0;
		border-left: 0;
		border-top: 1px solid var(--pp-eng-border);
	}

	.pp-eng-cta-stats {
		grid-template-columns: 1fr;
	}

	.pp-eng-inquiry-form__row {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.pp-eng-tabs a {
		padding: 6px 12px;
		font-size: 12px;
	}

	.pp-eng-cases {
		grid-template-columns: 1fr;
	}

	.pp-eng-sticky {
		display: block;
	}

	body.pp-engineering-detail-page {
		padding-bottom: calc(72px + env(safe-area-inset-bottom));
	}

	.pp-eng-hero__actions {
		flex-direction: column;
	}

	.pp-eng-hero__actions .pp-eng-btn {
		width: 100%;
	}
}
