* {
   	margin: 0;
   	padding: 0;
   	box-sizing: border-box;
   	font-family: "Microsoft YaHei", sans-serif;
   }

  /* html,
   body {
   	width: 100%;
   	overflow-x: hidden;
   	margin: 0 !important;
   	padding: 0 !important;
   } */
html, body {
  width: 100%;
  margin: 0;
  padding: 0;
  /* 核心：禁止横向溢出滚动 */
  overflow-x: hidden !important;
}
   /* 主题色 */
   :root {
   	--blue: #04a3f0;
   	--orange: #ffa290;
   	--yellow: #f9dd8d;
   	--white: #fff;
   	--dark: #333;
   	--gray: #666;
   	--light: #f8f9fa;
   	--text-bg: #e6f4fd;
   }

   /* 导航 - PC端 */
   .nav {
   	width: 100%;
   	height: 75px;
   	background: var(--white);
   	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
   	position: fixed;
   	top: 0;
   	left: 0;
   	z-index: 999;
   	display: flex;
   	align-items: center;
   	justify-content: space-between;
   	padding: 0 5%;
   }

   .logo {
   	height: 50px;
   }

   .menu {
   	display: flex;
   	align-items: center;
   }

   .menu a {
   	color: var(--dark);
   	text-decoration: none;
   	margin-left: 28px;
   	font-size: 15px;
   	font-weight: 500;
   	white-space: nowrap;
   }

   .menu a:hover {
   	color: var(--blue);
   }

   /* 移动端菜单按钮 */
   .mobile-menu-btn {
   	display: none;
   	font-size: 24px;
   	background: none;
   	border: none;
   	color: #333;
   	cursor: pointer;
   }

   /*  轮播图 优化版
        .banner {
            margin-top:75px;
            width:100%;
            height:500px;
            overflow:hidden;
            position:relative;
            background:#f0f8ff;
        }
        .banner-wrap {
            width:400%;
            height:100%;
            display:flex;
            animation:banner 20s linear infinite;
            font-size:0;
        }
        .banner-item {
            width:100%;
            height:100%;
            background-size: cover !important;
            background-position: center center !important;
            background-repeat:no-repeat !important;
            display:flex;
            align-items:center;
            justify-content:center;
            color:#fff;
            font-size:36px;
            font-weight:bold;
            text-shadow:0 2px 12px rgba(0,0,0,0.6);
            flex-shrink:0;
            padding: 0 20px;
        }

        .banner1 { background-image:url(img/banner/bannerXHM001.png) !important; }
        .banner2 { background-image:url(img/banner/bannerXHM002.png) !important; }
        .banner3 { background-image:url(img/banner/bannerXHM01.png) !important; }
        .banner4 { background-image:url(img/banner/bannerXHM0011.png) !important; }

        @keyframes banner {
            0%   { transform:translateX(0); }
            23%  { transform:translateX(0); }
            25%  { transform:translateX(-100%); }
            48%  { transform:translateX(-100%); }
            50%  { transform:translateX(-200%); }
            73%  { transform:translateX(-200%); }
            75%  { transform:translateX(-300%); }
            98%  { transform:translateX(-300%); }
            100% { transform:translateX(0); }
        }
 */

   /* 轮播图 最终完美版（不会再变形） */
   .banner {
   	margin-top: 75px;
   	width: 100%;
   	height: 500px;
   	overflow: hidden;
   	position: relative;
   	background: #f0f8ff;
   }

   .banner-wrap {
   	width: 100%;
   	height: 100%;
   	position: relative;
   }

   .banner-item {
   	width: 100%;
   	height: 500px;
   	position: absolute;
   	top: 0;
   	left: 0;
   	display: flex;
   	align-items: center;
   	justify-content: center;
   	color: #fff;
   	font-size: 36px;
   	font-weight: bold;
   	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
   	padding: 0 20px;
   	opacity: 0;
   	animation: bannerAnim 20s linear infinite;
   }

   .banner-item img {
   	position: absolute;
   	width: 100%;
   	height: 100%;
   	object-fit: cover;
   	object-position: center;
   	z-index: 0;
   }

   .banner-item>span {
   	position: relative;
   	z-index: 1;
   }

   /* 轮播动画延迟，实现自动切换 */
   .banner-item:nth-child(1) {
   	animation-delay: 0s;
   }

   .banner-item:nth-child(2) {
   	animation-delay: 5s;
   }

   .banner-item:nth-child(3) {
   	animation-delay: 10s;
   }

   .banner-item:nth-child(4) {
   	animation-delay: 15s;
   }

   @keyframes bannerAnim {
   	0% {
   		opacity: 0;
   	}

   	5% {
   		opacity: 1;
   	}

   	25% {
   		opacity: 1;
   	}

   	30% {
   		opacity: 0;
   	}

   	100% {
   		opacity: 0;
   	}
   }

   /* 手机端高度 */
   @media (max-width:768px) {

   	.banner,
   	.banner-item {
   		height: 280px;
   	}

   	.banner-item {
   		font-size: 24px;
   	}
   }

   /* 通用 */
   .container {
   	width: 90%;
   	max-width: 1200px;
   	margin: 0 auto;
   	padding: 60px 0;
   }

   .title {
   	font-size: 30px;
   	color: var(--blue);
   	text-align: center;
   	margin-bottom: 15px;
   	position: relative;
   	z-index: 1;
   }

   .subtitle {
   	text-align: center;
   	color: var(--gray);
   	margin-bottom: 45px;
   	font-size: 16px;
   }

   /* 标题背景文字样式 */
   .title-wrap {
   	position: relative;
   	text-align: center;
   	margin-bottom: 15px;
   }

   .title-bg {
   	position: absolute;
   	top: 50%;
   	left: 50%;
   	transform: translate(-50%, -50%);
   	font-size: 62px;
   	font-weight: 900;
   	color: var(--text-bg);
   	z-index: 0;
   	white-space: nowrap;
   	letter-spacing: 8px;
   }

   /* 公司介绍 视频优化 */
   .about-section {
   	text-align: center;
   }

   .about-video {
   	width: 100%;
   	max-width: 800px;
   	border-radius: 16px;
   	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
   	margin-bottom: 30px;
   	outline: none;
   }

   .about-text {
   	font-size: 17px;
   	line-height: 1.9;
   	color: var(--gray);
   	max-width: 900px;
   	margin: 0 auto;
   }

   /* 课程：单张大图 */
   .course {
   	background: var(--light);
   }

   .course-single-img {
   	width: 100%;
   	border-radius: 15px;
   	box-shadow: 0 3px 15px rgba(0, 0, 0, 0.05);
   }

   /* 最新资讯 美化 + 动效 */
   .news-section {
   	background: #fff;
   }

   .news-list {
   	border-top: 1px solid #eee;
   }

   .news-item {
   	padding: 20px 25px;
   	border-bottom: 1px solid #f5f5f5;
   	display: flex;
   	justify-content: space-between;
   	align-items: center;
   	transition: all 0.3s ease;
   	border-radius: 10px;
   	margin: 8px 0;
   }

   .news-item:hover {
   	background-color: #f7fcff;
   	transform: translateX(6px);
   	box-shadow: 0 4px 12px rgba(4, 164, 240, 0.06);
   }

   .news-item a {
   	color: var(--dark);
   	text-decoration: none;
   	font-size: 16px;
   	transition: all 0.3s;
   	font-weight: 500;
   }

   .news-item a:hover {
   	color: var(--blue);
   	padding-left: 6px;
   }

   .news-date {
   	color: #999;
   	font-size: 14px;
   	white-space: nowrap;
   	margin-left: 15px;
   }

   /* 师资滚动 */
   .teacher {
   	overflow: hidden;
   }

   .teacher-track {
   	display: flex;
   	width: max-content;
   	animation: teacher 25s linear infinite;
   }

   .teacher-track:hover {
   	animation-play-state: paused;
   }

   .teacher-card {
   	width: 280px;
   	background: var(--white);
   	padding: 30px;
   	margin: 0 15px;
   	border-radius: 15px;
   	text-align: center;
   	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
   }

   .teacher-avatar {
   	width: 110px;
   	height: 110px;
   	border-radius: 50%;
   	object-fit: cover;
   	border: 4px solid var(--orange);
   	margin-bottom: 18px;
   	background: #f1f1f1;
   }

   @keyframes teacher {
   	0% {
   		transform: translateX(0);
   	}

   	100% {
   		transform: translateX(-50%);
   	}
   }

   /* 证书
        .cert-section {
            padding:60px 0;
        }
        .cert-group {
            margin-bottom:50px;
        }
        .cert-grid {
            display:grid;
            grid-template-columns:repeat(4,1fr);
            gap:20px;
        }
        .cert-item {
            height:160px;
            border-radius:10px;
            overflow:hidden;
            box-shadow:0 2px 8px rgba(0,0,0,0.06);
            background:#f1f1f1;
        }
        .cert-item img {
            width:100%;
            height:100%;
            object-fit:cover;
        } */
   /* 证书 */
   .cert-section {
   	padding: 60px 0;
   }

   .cert-group {
   	margin-bottom: 50px;
   }

   .cert-grid {
   	display: grid;
   	grid-template-columns: repeat(4, 1fr);
   	gap: 20px;
   	margin-bottom: 20px;
   }

   .cert-item {
   	border-radius: 10px;
   	overflow: hidden;
   	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
   	background: #f1f1f1;
   }

   .cert-item img {
   	width: 100%;
   	height: 100%;
   	object-fit: contain;
   	background: #fff;
   }

   /* 第一行、第二行：横版证书 */
   .cert-group:nth-child(2) .cert-grid:nth-child(2) .cert-item,
   .cert-group:nth-child(3) .cert-grid:nth-child(1) .cert-item {
   	height: 160px;
   	aspect-ratio: 4/3;
   }

   /* 第三行：竖版证书 */
   .cert-group:nth-child(3) .cert-grid:nth-child(2) .cert-item {
   	height: auto;
   	aspect-ratio: 3/4;
   }

   /* 合作单位 */
   .partner {
   	background: var(--light);
   	text-align: center;
   	padding: 60px 0;
   }

   .partner-grid {
   	display: flex;
   	justify-content: center;
   	align-items: center;
   	flex-wrap: wrap;
   	gap: 40px;
   	margin-top: 30px;
   }

   .partner-item {
   	width: 180px;
   	height: 100px;
   	display: flex;
   	align-items: center;
   	justify-content: center;
   	border-radius: 8px;
   	background: #fff;
   	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
   	background: #f1f1f1;
   }

   .partner-item img {
   	max-width: 100%;
   	max-height: 100%;
   	object-fit: contain;
   }

   /* 软件下载 */
   .download-btn-wrap {
   	text-align: center;
   	padding: 40px 0;
   	background: var(--light);
   }

   .open-download-modal {
   	padding: 12px 30px;
   	background: var(--blue);
   	color: white;
   	border: none;
   	border-radius: 8px;
   	font-size: 18px;
   	cursor: pointer;
   	transition: background 0.3s;
   }

   .open-download-modal:hover {
   	background: #038ed8;
   }

   /* 弹窗 */
   .modal-overlay {
   	position: fixed;
   	top: 0;
   	left: 0;
   	width: 100%;
   	height: 100%;
   	background: rgba(0, 0, 0, 0.7);
   	z-index: 1000;
   	display: none;
   	align-items: center;
   	justify-content: center;
   }

   .modal-content {
   	width: 90%;
   	max-width: 900px;
   	max-height: 90vh;
   	background: white;
   	border-radius: 12px;
   	padding: 30px;
   	overflow-y: auto;
   	position: relative;
   }

   .close-modal {
   	position: absolute;
   	top: 20px;
   	right: 20px;
   	font-size: 24px;
   	cursor: pointer;
   	color: var(--gray);
   	background: none;
   	border: none;
   }

   /* 下载卡片 */
   .modal-download-card {
   	background: var(--light);
   	border-radius: 8px;
   	padding: 20px;
   	margin-bottom: 15px;
   }

   .modal-download-card h3 {
   	color: var(--blue);
   	font-size: 16px;
   	margin-bottom: 8px;
   }

   .modal-download-desc {
   	color: var(--gray);
   	font-size: 13px;
   	margin-bottom: 10px;
   	line-height: 1.5;
   }

   .modal-download-tip {
   	color: #ff6b6b;
   	font-size: 12px;
   	margin-bottom: 8px;
   }

   .modal-download-links {
   	display: flex;
   	flex-wrap: wrap;
   	gap: 8px;
   }

   .modal-download-btn {
   	display: inline-block;
   	padding: 6px 12px;
   	background: var(--blue);
   	color: white;
   	text-decoration: none;
   	border-radius: 4px;
   	font-size: 13px;
   }
footer {
  /* 冲破父容器强制全屏 */
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);

  background: var(--blue);
  color: var(--white);
  padding: 60px 0 20px;
  margin: 0;
  clear: both;
}
/* 内部内容依然居中不乱 */
.footer-container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
}

.footer-col { min-width:200px; }
.footer-col h4 {
  color:var(--yellow);
  font-size:18px;
  margin-bottom:18px;
  padding-bottom:8px;
  border-bottom:2px solid var(--orange);
}
.footer-col ul { list-style:none; padding:0; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a {
  color:var(--white); text-decoration:none;
}
.footer-col ul li a:hover { color:var(--yellow); }

.footer-contact p { margin-bottom:10px; line-height:1.8; }
.footer-qrcode { text-align:center; }
.footer-qrcode img {
  width:110px;height:110px;background:var(--white);
  padding:5px;border-radius:8px;border:3px solid var(--orange);
  opacity:1 !important;
}
.copyright {
  text-align:center;margin-top:40px;padding-top:20px;
  border-top:1px solid var(--orange);color:var(--yellow);font-size:13px;
}
   /* 咨询悬浮 */
   .consult {
   	position: fixed;
   	right: 20px;
   	bottom: 50px;
   	width: 65px;
   	height: 65px;
   	background: var(--orange);
   	color: #fff;
   	border-radius: 50%;
   	display: flex;
   	align-items: center;
   	justify-content: center;
   	font-size: 14px;
   	font-weight: bold;
   	z-index: 99;
   	flex-direction: column;
   	cursor: pointer;
   	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
   }

   /* 手机适配 */
   @media (max-width:992px) {
   	.menu {
   		position: fixed;
   		top: 75px;
   		left: 0;
   		width: 100%;
   		background: #fff;
   		flex-direction: column;
   		padding: 20px 0;
   		box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
   		display: none;
   	}

   	.menu.show {
   		display: flex;
   	}

   	.menu a {
   		margin: 10px 0;
   		font-size: 16px;
   	}

   	.mobile-menu-btn {
   		display: block;
   	}
   }

   @media (max-width:768px) {
   	.banner {
   		height: 280px;
   	}

   	.banner-item {
   		font-size: 24px;
   	}

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

   	.title {
   		font-size: 24px;
   	}

   	.title-bg {
   		font-size: 40px;
   	}

   	.partner-item {
   		width: 120px;
   		height: 80px;
   	}

   	.modal-download-links {
   		flex-direction: column;
   	}

   	.footer-container {
   		flex-direction: column;
   		align-items: center;
   		text-align: center;
   	}

   	.about-video {
   		width: 95%;
   	}

   	.news-item {
   		flex-direction: column;
   		align-items: flex-start;
   		gap: 8px;
   	}

   	.news-date {
   		margin-left: 0;
   	}
   }

   img[loading="lazy"] {
   	opacity: 0;
   	transition: opacity 0.3s ease-in-out;
   }

   img[loading="lazy"].loaded {
   	opacity: 1;
   }
