.hero {
	width: 100%;
	margin: 0 auto;
	/* 固定 rem 随宽度缩放，但无法匹配视口高度；2K 等屏下至少铺满一屏 */
	min-height: max(8.77rem, 100vh);
	min-height: max(8.77rem, 100dvh);
	position: relative;
}

.hero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	min-height: 100%;
	z-index: 0;
	/* 兜底色写在 .hero-bg 上，避免盖住背景图 */
	background-color: #141418;
}

.hero-bg-img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.hero-content {
	padding-top: 2.6rem;
	position: relative;
	z-index: 1;
}

.hero-title {
	font-weight: 300;
	font-size: 0.6rem;
	color: #FFFFFF;
	line-height: 0.9rem;
	font-synthesis: none;
}

.hero-buttons {
	display: flex;
	align-items: center;
	margin-top: 2rem;
	font-size: 0.21rem;
	color: #FAFBFC;
}

.hero-buttons img {
	width: 0.26rem;
	height: 0.17rem;
}

.hero-buttons .btn {
	width: 4.1rem;
	height: 0.64rem;
	line-height: 0.64rem;
	background: #FE0000;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 0.22rem;
	margin-right: 0.2rem;
	cursor: pointer;
	transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease, transform 250ms ease;
}

.hero-buttons .btn1 {
	width: 4.1rem;
	height: 0.64rem;
	line-height: 0.64rem;
	border: 0.01rem solid #aaaaab;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 0.22rem;
	cursor: pointer;
	transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease;
}

.hero-buttons .btn:hover {
	background: transparent;
	border: 0.01rem solid #aaaaab;
	color: #FAFBFC;
}

.hero-buttons .btn1:hover {
	background: #FE0000;
	border: 0.01rem solid transparent;
	color: #FAFBFC;
}

@media (prefers-reduced-motion: reduce) {
	.hero-buttons .btn,
	.hero-buttons .btn1 {
		transition: none;
	}
}

.business-section {
	width: 100%;
	height: 8.5rem;
	background: #FFFFFF;
}

.business-wrapper {
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-top: 0.96rem;
}

.business-wrapper .section-title {
	font-weight: 300;
	font-size: 0.64rem;
	color: #000000;
	line-height: 0.8rem;
}

.business-wrapper .section-desc {
	font-weight: 300;
	font-size: 0.26rem;
	color: #333333;
	line-height: 0.4rem;
	margin-top: 1.11rem;
}

.section-btn {
	font-size: 0.16rem;
	color: #FF0000;
	margin-top: 1.15rem;
	cursor: pointer;
}

.business-contents{
	width: 13rem;
}

.business-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}

.business-item {
	width: 30%;
	margin-bottom: 0.71rem;
}

.business-item-content {
	margin-top: 0.48rem;
}

.business-item-icon{
	width: 0.88rem;
	height: 0.88rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.business-item-icon img{
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}

.business-item-title {
	font-size: 0.26rem;
	color: #101010;
}

.business-item-list {
	/* font-family: 'IBMPlexSansSC-ExtraLight'; */
	font-weight: normal;
	font-size: 0.16rem;
	color: #000000;
	line-height: 0.3rem;
	margin-top: 0.2rem;
}

.stats-section {
	width: 100%;
	height: 7.5rem;
	position: relative;
}

.stats-section .stats-section-img {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	background-color: #1a2233;
}

.stats-section .stats-section-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.stats-section > .container {
	position: relative;
	z-index: 1;
}

.stats-content {
	padding-top: 0.75rem;
	width: 100%;
}

.stats-content .section-title {
	font-weight: 300;
	font-size: 0.64rem;
	color: #FFFFFF;
}

.stats-content .stats-desc {
	font-weight: normal;
	font-size: 0.22rem;
	color: #FFFFFF;
	line-height: 0.5rem;
	margin-top: 0.32rem;
}

.stats-grid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 0.95rem;
	width: 100%;
}

.stat-number {
	height: 0.9rem;
	line-height: 0.9rem;
	background: linear-gradient(to bottom, #FF0000, #823FFE);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-weight: 300;
	font-size: 1rem;
}

.stat-label {
	font-weight: 300;
	font-size: 0.2rem;
	color: #FFFFFF;
}

.cases-section {
	width: 100%;
}

.cases-section .section-header {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 0.99rem;
}

.cases-section .section-title {
	font-weight: 300;
	font-size: 0.64rem;
	color: #000000;
}

.cases-section .section-subtitle {
	font-weight: normal;
	font-size: 0.36rem;
	color: #000000;
	margin: 0;
}

/* 项目案例：在统一版心内做交错布局（左二右一 / 左一右二），仅随 rem 缩放，不改列数 */
.cases-section .cases-grid {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.cases-section .cases-grid .cases-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	width: 100%;
}

.cases-section .cases-grid .case-stack {
	display: flex;
	flex-direction: column;
	width: 100%;
}

/*
  格子宽高比与设计稿一致（半列约 860×406、高卡 860×812），高度由列宽推导，
  与 object-fit:contain 配合：若导出图同为该比例则整图铺满格子、无留白裁切。
*/
.cases-section .cases-grid .case-item1 {
	width: 100%;
	height: auto;
	aspect-ratio: 860 / 406;
	min-height: 0;
	position: relative;
	overflow: hidden;
}

.cases-section .cases-grid .case-item2 {
	width: 100%;
	height: auto;
	aspect-ratio: 860 / 812;
	min-height: 0;
	position: relative;
	overflow: hidden;
}

.cases-section .cases-grid .case-image-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	/* contain 时与素材比例不一致会出现留白，用浅灰统一观感 */
	background-color: #f5f5f5;
}

.cases-section .cases-grid .case-item1 .case-image {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	object-fit: contain;
	object-position: center;
	z-index: 0;
	transition: transform 400ms ease;
	will-change: transform;
}

.cases-section .cases-grid .case-item2 .case-image {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	object-fit: contain;
	object-position: center;
	z-index: 0;
	transition: transform 400ms ease;
	will-change: transform;
}

.cases-section .cases-grid .case-item1:hover .case-image,
.cases-section .cases-grid .case-item2:hover .case-image {
	transform: scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
	.cases-section .cases-grid .case-item1 .case-image,
	.cases-section .cases-grid .case-item2 .case-image {
		transition: none;
	}
	.cases-section .cases-grid .case-item1:hover .case-image,
	.cases-section .cases-grid .case-item2:hover .case-image {
		transform: none;
	}
}

.case-image-wrapper .case-logo {
	width: auto;
	height: 0.45rem;
	position: absolute;
	left: 0.5rem;
	bottom: 0.68rem;
	z-index: 1;
}

.case-image-wrapper div {
	font-weight: 400;
	font-size: 0.22rem;
	color: #FFFFFF;
	position: absolute;
	left: 0.5rem;
	bottom: 0.2rem;
	z-index: 1;
}

/* 首页案例：仅展示背景图，logo / 文案暂时隐藏 */
.cases-section .cases-grid .case-logo,
.cases-section .cases-grid .case-image-wrapper > div {
	display: none !important;
}

.dynamics {
	width: 100%;
}

.dynamics-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 0.98rem;
}

.dynamics-header .dynamics-title {
	font-weight: 300;
	font-size: 0.64rem;
	color: #000000;
}

.dynamics-header .dynamics-btn {
	font-size: 0.16rem;
	color: #010101;
	text-decoration: none;
	cursor: pointer;
}

.dynamics-grid {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: nowrap;
	margin-top: 0.46rem;
	width: 100%;
}

.dynamics-grid> :last-child {
	border-right: 0.01rem solid #E6E6E6;
}

/* 一行最多 4 条：每条 25% 版宽，避免单条 5rem 导致仅 2 条就占过半 */
.dynamics-item {
	flex: 0 0 25%;
	width: 25%;
	max-width: 25%;
	min-width: 0;
	box-sizing: border-box;
	border-left: 0.01rem solid #E6E6E6;
	border-bottom: 0.01rem solid #E6E6E6;
	overflow: hidden;
}

.dynamics-item .dynamics-image {
	display: block;
	width: 100%;
	height: 3.26rem;
	transition: transform 400ms ease;
	will-change: transform;
}

.dynamics-item:hover .dynamics-image {
	transform: scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
	.dynamics-item .dynamics-image {
		transition: none;
	}
	.dynamics-item:hover .dynamics-image {
		transform: none;
	}
}

.dynamics-item .dynamics-item-title {
	/* height: 1.2rem; */ /* 移除固定高度，让内容自然撑开 */
	padding: 0.4rem 0.29rem 0;
	font-size: 0.25rem;
	color: #000000;
	line-height: 0.32rem;
	min-height: 1rem; /* 略减，避免单行标题下留白过大 */
}

.dynamics-item .dynamics-item-desc {
	font-weight: 300;
	font-size: 0.2rem;
	color: #000000;
	line-height: 0.32rem;
	padding: 0 0.29rem 0;
	margin-top: 0.4rem;
}

.dynamics-item .dynamics-arrow {
	display: block;
	width: 0.22rem;
	height: 0.14rem;
	margin-top: 0.4rem;
	margin-left: 0.29rem;
	margin-bottom: 0.3rem;
}

.scheme {
	width: 100%;
	height: 5rem;
	border-top: 0.01rem solid #E6E6E6;
	border-bottom: 0.01rem solid #E6E6E6;
	margin-top: 1.27rem;
}

.scheme .scheme-title {
	font-weight: 300;
	font-size: 0.64rem;
	color: #000000;
	margin-top: 1.2rem;
}

.scheme .scheme-desc {
	font-weight: 300;
	font-size: 0.24rem;
	color: #333333;
	line-height: 0.3rem;
	margin-top: 0.25rem;
}

.scheme .scheme-btns {
	display: flex;
	align-items: center;
	margin-top: 0.25rem;
}

.scheme .scheme-btns .btn1 {
	width: 2.45rem;
	height: 0.5rem;
	background: #FE0000;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: normal;
	font-size: 0.17rem;
	color: #FFFFFF;
	cursor: pointer;
	transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease, transform 250ms ease;
}

.scheme .scheme-btns .btn2 {
	width: 2.45rem;
	height: 0.5rem;
	border: 0.01rem solid #E6E6E6;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: normal;
	font-size: 0.17rem;
	color: #000000;
	margin-left: 0.2rem;
	cursor: pointer;
	transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease;
}

.scheme .scheme-btns .btn1:hover {
	background: transparent;
	border: 0.01rem solid #E6E6E6;
	color: #000000;
}

.scheme .scheme-btns .btn2:hover {
	background: #FE0000;
	border: 0.01rem solid transparent;
	color: #FFFFFF;
}

@media (prefers-reduced-motion: reduce) {
	.scheme .scheme-btns .btn1,
	.scheme .scheme-btns .btn2 {
		transition: none;
	}
}

.scheme .scheme-btns .btn1 .scheme-arrow {
	width: 0.2rem;
	margin-left: 0.6rem;
}

.scheme .scheme-btns .btn2 .scheme-arrow {
	width: 0.2rem;
	margin-left: 0.6rem;
}

/* scheme 按钮：移入/移出切换不同箭头 */
.scheme .scheme-btns .btn1:hover .scheme-arrow {
	content: url("https://junhe.oss-cn-beijing.aliyuncs.com/new_web/img/pc-index/hei-arrow.png");
}

.scheme .scheme-btns .btn2:hover .scheme-arrow {
	content: url("https://junhe.oss-cn-beijing.aliyuncs.com/new_web/img/pc-index/btn-arrow.png");
}

/* 轻量动效：禁止 opacity:0，否则 IO 未回调前首屏（含白字 Banner）会整片不可见 */
.reveal {
	opacity: 1;
	transform: translateY(0.14rem);
	transition: transform 600ms ease;
	will-change: transform;
}

.reveal.is-visible {
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.reveal {
		transform: none;
		transition: none;
	}
}

/* PC 端布局不因视口宽度改变列数，仅随 adapter-manager 的 rem 缩放；窄屏样式由 h5-* 页面承担 */

@media (max-width: 768px) {
	/* 调整业务部分布局 */
	.business-item {
		width: 100%;
	}
	
	/* 调整动态部分布局 */
	.dynamics-grid {
		flex-wrap: wrap;
	}

	.dynamics-item {
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
		border-right: none;
		border-left: none;
	}
	
	/* 调整统计部分布局 */
	.stat-item {
		width: 100%;
	}
	
	/* 调整按钮大小 */
	.hero-buttons .btn,
	.hero-buttons .btn1 {
		width: 100%;
		margin-right: 0;
		margin-bottom: 0.2rem;
	}
	
	.hero-buttons {
		flex-direction: column;
		align-items: flex-start;
	}
	
	/* 调整标题大小 */
	.hero-title {
		font-size: 0.4rem;
		line-height: 0.6rem;
	}
	
	.business-wrapper .section-title,
	.stats-content .section-title,
	.cases-section .section-title,
	.dynamics-header .dynamics-title,
	.scheme .scheme-title {
		font-size: 0.4rem;
		line-height: 0.5rem;
	}
}
