@font-face {
	font-family: "Rubik, Rubik";
	src: url("../font/HarmonyOS_Sans_SC_Regular.ttf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

.hrats_sfge {
	width: 100%;
	height: 480px;
	background: #003255;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	align-content: center;
	padding-left: 128px;
	box-sizing: border-box;
}

.hrats_sfge_name {
	font-weight: bold;
	font-size: 90px;
	color: #FFFCFC;
}

.hrats_sfge_cent {
	font-family: 'Rubik, Rubik';
	font-weight: bold;
	font-size: 45px;
	color: #FFFCFC;
	margin-top: 30px;
}

.imstf {
	margin-top: 0;
}

.imassg {
	width: 100%;
	height: 105px;
	background: #D9D9D9;
}

.roe_dimf p {
	color: #000000;
}

.search-section {
	background-color: #e5e5e5;
	padding: 30px 20px;
	text-align: center;
}

.search-title {
	color: #003366;
	font-size: 40px;
	font-weight: 700;
	margin: 0;
	margin-bottom: 30px;
}

.search-container {
	display: inline-flex;
	align-items: center;
	background-color: #ffffff;
	border: 1px solid #e0e0e0;
	padding: 8px 12px;
	width: 100%;
	max-width: 786px;
}

.search-icon {
	width: 41.25px;
	height: 41.25px;
	margin-left: 30px;
}

.search-input {
	border: none;
	outline: none;
	background: transparent;
	flex: 1;
	font-size: 24px;
	color: #333333;
	margin-left: 30px;
}

.search-input::placeholder {
	color: #999999;
	opacity: 1;
}

.technical-library {
	width: 85%;
	margin: 40px auto;
}

.library-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}

.library-header h2 {
	color: #003366;
	font-size: 56px;
	font-weight: 700;
	margin: 0;
}

.visit-library {
	color: #003366;
	text-decoration: underline;
	font-size: 30px;
	font-weight: 600;
}

.visit-library:hover {
	color: #0071c5;
}

.library-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.library-card {
	background: #E5E5E6;
	box-shadow: 0px 8px 8px 0px rgba(0, 0, 0, 0.25);
	padding: 15px 20px;
	border-radius: 4px;
	display: flex;
	align-items: center;
	gap: 15px;
	cursor: pointer;
	transition: background-color 0.3s ease;
	transition: transform 0.3s ease;
	transform-origin: center;
}

.library-card:hover {
	background-color: #d5d5d5;
	transform: scale(1.02);
}

.card-icon img {
	width: 84.38px;
	height: 84.38px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.card-text {
	flex: 1;
	color: #000;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.3;
}

.card-arrow {
	width: 18px;
	height: 40px;
	margin-left: auto;
}

/* 视频模块主容器：深蓝色背景，匹配原图 */
.latest-videos {
	background-color: #006BB7;
	padding: 40px 20px;
}

.videos-header {
	width: 85%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 60px;
}

.videos-header h2 {
	font-family: 'Rubik, Rubik';
	font-weight: bold;
	font-size: 56px;
	color: #FFFCFC;
	margin: 0;
}

.watch-more {
	font-family: 'Rubik, Rubik';
	font-weight: bold;
	font-size: 30px;
	color: #FFFCFC;
	text-decoration-line: underline;
	text-transform: none;
}

.watch-more:hover {
	color: #e0e0e0;
}

.videos-grid {
	width: 85%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 80px;
}

.video-item {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}

.video-player {
	width: 399.38px;
	height: 234.38px;
	background-color: #000000;
	cursor: pointer;
	object-fit: cover;
}

.video-desc {
	flex: 1;
	background-color: #FFFFFF;
	padding: 15px 20px;
	color: #333333;
	box-shadow: 0px 8px 8px 0px rgba(0, 0, 0, 0.25);
	font-family: 'Rubik, Rubik';
	font-weight: 400;
	font-size: 23px;
	color: #000000;
	line-height: 1.5;
}

.cta-containers {
	width: 100%;
	background-color: #E5E5E6;
	padding-top: 30px;
	padding-bottom: 30px;
	box-sizing: border-box;
}

/* 手机端（原1986rpx → 993px，符合常规响应式断点） */
@media (max-width: 993px) {
	.hrats_sfge {
		width: 100%;
		height: 180px;
		background: #003255;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		align-content: center;
		padding-left: 20px;
		box-sizing: border-box;
	}

	.hrats_sfge_name {
		font-weight: bold;
		font-size: 20px;
		color: #FFFCFC;
	}

	.hrats_sfge_cent {
		font-family: 'Rubik, Rubik';
		font-weight: bold;
		font-size: 20px;
		color: #FFFCFC;
		margin-top: 20px;
	}

	.imassg {
		width: 100%;
		height: 105px;
		background: #D9D9D9;
	}

	.roe_dimf p {
		color: #000000;
		text-align: center;
	}

	.software-content h3 {
		font-family: 'Rubik, Rubik';
		font-weight: bold;
		font-size: 20px;
		color: #003255;
		text-align: left;
		margin-bottom: 20px;
		margin: 0;
	}

	.software-content h4 {
		font-family: 'Rubik, Rubik';
		font-weight: 400;
		font-size: 20px;
		color: #000000;
		margin-bottom: 20px;
	}

	.search-title {
		color: #003366;
		font-size: 20px;
		font-weight: 700;
		margin: 0;
		margin-bottom: 20px;
	}

	.search-container {
		display: inline-flex;
		align-items: center;
		background-color: #ffffff;
		border: 1px solid #e0e0e0;
		padding: 8px 0px;
		width: 100%;
	}

	.search-icon {
		width: 21.25px;
		height: 21.25px;
		margin-left: 10px;
	}

	.search-input {
		border: none;
		outline: none;
		background: transparent;
		flex: 1;
		font-size: 20px;
		color: #333333;
		margin-left: 10px;
	}
	
	.search-section {
		background-color: #e5e5e5;
		padding: 30px 12px;
		text-align: center;
	}
	
	.software-sections {
	    background-color: #fff;
	    padding: 0px 0px;
		padding-bottom: 20px;
	}
	
	.library-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 30px;
	}
	
	.library-header h2 {
		color: #003366;
		font-size: 20px;
		font-weight: 700;
		margin: 0;
	}
	
	.visit-library {
		color: #003366;
		text-decoration: underline;
		font-size: 20px;
		font-weight: 600;
	}
	
	.technical-library {
		width: 100%;
		margin: 20px auto;
		padding-left: 10px;
		padding-right: 10px;
		box-sizing: border-box;
	}
	.library-card {
		background: #E5E5E6;
		box-shadow: 0px 8px 8px 0px rgba(0, 0, 0, 0.25);
		padding: 15px 20px;
		border-radius: 4px;
		display: flex;
		align-items: center;
		gap: 15px;
		cursor: pointer;
		transition: background-color 0.3s ease;
		transition: transform 0.3s ease;
		transform-origin: center;
	}
	
	.library-card:hover {
		background-color: #d5d5d5;
		transform: scale(1.02);
	}
	.card-icon img {
		width: 34.38px;
		height: 34.38px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.card-text {
		flex: 1;
		color: #000;
		font-size: 15px;
		font-weight: 600;
		line-height: 1.3;
		text-align: center;
	}
	
	.library-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.card-arrow {
		width: 8px;
		height: 20px;
	}
	
	.videos-header {
		width: 100%;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 20px;
	}
	
	.videos-header h2 {
		font-family: 'Rubik, Rubik';
		font-weight: bold;
		font-size: 20px;
		color: #FFFCFC;
		margin: 0;
	}
	
	.watch-more {
		font-family: 'Rubik, Rubik';
		font-weight: bold;
		font-size: 20px;
		color: #FFFCFC;
		text-decoration-line: underline;
		text-transform: none;
	}
	
	.watch-more:hover {
		color: #e0e0e0;
	}
	
	.videos-grid {
		width: 100%;
		margin: 0 auto;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 20px;
	}
	
	.video-player {
		width: 299.38px;
		height: 234.38px;
		background-color: #000000;
		cursor: pointer;
		object-fit: cover;
	}
	.video-desc {
		flex: 1;
		background-color: #FFFFFF;
		padding: 15px 20px;
		color: #333333;
		box-shadow: 0px 8px 8px 0px rgba(0, 0, 0, 0.25);
		font-family: 'Rubik, Rubik';
		font-weight: 400;
		font-size: 20px;
		color: #000000;
		line-height: 1.5;
	}
	.video-item {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
	}
	
	.browse-all-links {
		font-family: 'Rubik, Rubik';
		font-weight: bold;
		font-size: 20px;
		color: #FFFCFC;
		text-align: left;
		font-style: normal;
		text-decoration-line: underline;
		text-transform: none;
		transition: transform 0.3s ease;
		transform-origin: center;
		margin: 0;
	}
	
	
	.carousel-headersss h2 {
		font-family: 'Rubik, Rubik';
		font-weight: bold;
		font-size: 20px;
		color: #003255;
		text-align: left;
		margin: 0;
		padding-left: 10px;
		box-sizing: border-box;
	}
	
	.explore-moresss {
		font-family: 'Rubik, Rubik';
		font-weight: bold;
		font-size: 20px;
		color: #003255;
		text-align: left;
		text-decoration-line: underline;
		transition: transform 0.3s ease;
		transform-origin: center;
		margin: 0;
		padding-right: 10px;
		box-sizing: border-box;
	}
	
	.explore-moresss:hover {
		text-decoration: underline;
		transform: scale(1.1);
	}
}