/* swiper */
@import url("swiper.css");
/* .animated */
@import url("animate.css");

:root {
	--nav-height: 72px;
}

.tabs,
.section-tabs,
.news-tabs,
.case-tabs,
.home-case-tabs {
    display: flex;
    align-items: center;
    gap: 24px;
    margin: 0 0 20px;
    padding: 0;
}
@media (max-width: 768px) {
    .home-case-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .home-case-tabs .tab {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}

.tabs .tab,
.section-tabs .tab,
.news-tabs .tab,
.case-tabs .tab,
.home-case-tabs .tab,
.label {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 999px;
	color: #4d525a;
	text-decoration: none;
	transition: color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.tabs .tab:hover,
.section-tabs .tab:hover,
.news-tabs .tab:hover,
.case-tabs .tab:hover,
.home-case-tabs .tab:hover {
	color: #2575fc;
	background: rgba(37, 117, 252, 0.08);
}

.tabs .tab.active,
.section-tabs .tab.active,
.news-tabs .tab.active,
.case-tabs .tab.active,
.home-case-tabs .tab.active {
	color: #fff;
	background: linear-gradient(90deg, #2575fc 0%, #5562ff 100%);
	box-shadow: 0 6px 16px rgba(37, 117, 252, 0.25);
}

/* 客户案例分类过滤隐藏状态 */
.case .swiper-slide.is-hidden {
	display: none !important;
}

.case-group .case {
	display: none;
}

.case-group .case.active {
	display: block;
	width: 100%;
}
.pages{
		margin-top: 24px;
}
.pagination,.pages{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;

}

.pagination .page ,.pagination>span,.pagination>a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 14px;
	border-radius: 4px;
	border: 1px solid #e5e7eb;
	color: #4d525a;
	background: #fff;
	text-decoration: none;
	transition: color .2s ease, background-color .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.pagination .page:hover,.pagination>span:hover,.pagination>a:hover {
	color: #2575fc;
	border-color: #cdd6f6;
	background: rgba(37, 117, 252, 0.06);
}

.pagination .page.active ,.pagination>span.current,.pagination>a.current{
	color: #fff;
	border-color: transparent;
	background: linear-gradient(90deg, #2575fc 0%, #5562ff 100%);
	box-shadow: 0 6px 16px rgba(37, 117, 252, 0.25);
}

.pagination .page.disabled ,.pagination>span.disabled,.pagination>a.disabled{
	pointer-events: none;
	opacity: 0.5;
}
.pages .jump-section{
	display: flex;
	align-items: center;
	justify-content: center;
}

body {
	font-size: 16px;
}

a {
	text-decoration: none !important;
	outline: none;
}

.mb-10 {
	margin-bottom: 10px;
}

.mb-20 {
	margin-bottom: 20px;
}

.mb-30 {
	margin-bottom: 30px;
}
.mb-40{
	margin-bottom: 40px;
}
.mb-50{
	margin-bottom: 50px;
}
.mt50 {
	margin-top: 50px;
}

.mt72 {
	margin-top: 72px;
}

.mr-30 {
	margin-right: 30px;
}
.mt-20{
	margin-top: 20px;
}

.fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
	transition: all 0.3s;
}

.t70 {

	top: 70px;

}

.mt100 {
	margin-top: 100px;
}

.ptb30 {
	padding: 30px 0;
}

.ptb40 {
	padding: 40px 0;
}

.ptb50 {
	padding: 50px 0;
}

.ptb80 {
	padding: 80px 0;
}

.bg-a {
	background-image: linear-gradient(12deg, #FFFFFF 61%, #AEFFBC 100%);
	background-image: linear-gradient(5deg, #FFFFFF 56%, #AEFFBC 100%);
}

.bg-b {
	background-image: linear-gradient(5deg, #e9faff 56%, #D4F3FF 100%);

}

.bg-c {
	background-image: linear-gradient(-8deg, rgba(255, 255, 255, 0.00) 66%, #b8ffdf 100%);
}

.bg-d {
	background-image: linear-gradient(-5deg, #FFFFFF 54%, #fffae6 100%);
}

.bg-ocean {
	background-image: linear-gradient(to right, #6a11cb 0%, #2575fc 100%);
}

.bg-e {
	background-image: linear-gradient(to top, #7028e4 0%, #e5b2ca 100%);
}

.img-block {
	display: block;
	width: 100%;
	user-select: none;
	-webkit-user-select: none;
}

.news-list,
.home-news-list,
ul.list-text {
    min-height: 420px;
    height: 420px;
    overflow: hidden;
}

@media (max-width: 768px) {

	.news-list,
	.home-news-list,
	ul.list-text {
		height: auto;
	}
}

.news-list li,
.home-news-list li,
ul.list-text li {
	margin: 0 0 14px;
	padding: 0;
}


.news-list li>a,
.home-news-list li>a,
ul.list-text li>a {
    color: #333;
    display: block;
    padding: 16px;
    border-radius: 4px;
    transition: background-color .15s ease;
    position: relative;
}


.news-list h3,
.home-news-list h3,
ul.list-text h3 {
	margin: 0;
	font-size: 20px
}

.news-list p,
.home-news-list p,
ul.list-text p {
	margin: 0;
	margin-top: 10px;
	line-height: 1.6;
	color: #999;
	overflow: hidden;
	max-height: 0;
	transition: max-height .18s ease;
}

.news-list li.active p,
.home-news-list li.active p,
ul.list-text li.active p,
.news-list li>a:hover p,
.home-news-list li>a:hover p,
ul.list-text li>a:hover p {
	max-height: var(--desc-h, 240px);
}

/* 首页新闻列表：p 单行省略，禁用展开动画 */
.home-news-list{
	padding-top: 16px;
}
.home-news-list p {
    display: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-news-list li.active p,
.home-news-list li.is-hover p {
    display: block;
    margin-top: 10px;
}

.home-news-list .meta {
    font-size: 12px;
    color: #9aa0a6;
    white-space: nowrap;
    display: none;
    margin-top: 8px;
}

/* 预留底部空间，避免与 p 重叠 */
/* 默认不预留底部空间，确保仅标题高度 */

.home-news-list li>a { padding-bottom: 0; }

/* 悬停或激活时为 meta 预留空间，避免重叠 */
.home-news-list li>a {
    transition: background .25s ease, box-shadow .25s ease, transform .3s ease;
    will-change: transform, box-shadow;
    contain: layout paint;
    transform: translateZ(0);
}

.home-news-list li>a:hover {
    background: #fafafa;
    box-shadow: 0 4px 10px rgba(37, 117, 252, 0.08);
    transform: translateY(-1px);
}

.home-news-list .meta .category {
    color: #9aa0a6;
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background-color: #eee;
    padding: 4px 8px;
    border-radius: 4px;
}

.home-news-list .meta .date {
    color: #9aa0a6;
    flex: none;
    margin-left: 8px;
    white-space: nowrap;
}

.home-news-list li.active .meta,
.home-news-list li.is-hover .meta {
    display: block;
}

/* 统一项间距，避免因布局属性动画造成晃动 */
.news-list li,
.home-news-list li,
ul.list-text li {
    margin-bottom: 12px;
}

.news-picture li>a {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 16px;
    border-radius: 12px;
    color: #333;
    background: #fff;
    transition: background .25s ease, box-shadow .25s ease, transform .3s ease;
    will-change: transform, box-shadow;
}

.news-picture li>a img {
    display: block;
    flex: none;
    width: 220px;
    height: 160px;
    object-fit: cover;
    border-radius: 12px;
}

.news-picture li>a .info {
	padding: 30px 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-picture li>a:hover {
    background: #fafafa;
    box-shadow: 0 4px 10px rgba(37, 117, 252, 0.08);
    transform: translateY(-1px);
}

.news-picture h3 {
    margin: 0;
    font-size: 22px;
}

.news-picture p {
    margin: 10px 0 0;
    line-height: 1.7;
    color: #666;
}

.news-picture .meta {
    font-size: 12px;
    color: #9aa0a6;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.news-picture .meta .category {
    color: #9aa0a6;
    background-color: #eee;
    padding: 4px 8px;
    border-radius: 4px;
}

.news-picture .meta .date {
    color: #9aa0a6;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .news-picture li>a {
        flex-direction: column;
        gap: 12px;
    }
    .news-picture li>a img {
        width: 100%;
        height: 200px;
        border-radius: 12px;
    }
}

.banner-image {

	position: relative;
}

.banner-image img {
	/* 	display: block; */
	width: 100%;
	user-select: none;
	-webkit-user-select: none;

}

.banner-image::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	/* background-color: #333; */
	z-index: 99;


}

.header {
	background-color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
}

.main-wrapper.hd .header {
	background-color: rgba(0, 0, 0, 0.3);
}

.header.light,
.header:hover,
.main-wrapper.hd {
	background-color: transparent !important;
	box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.10);


}

.header.light,
.header:hover {
	/* margin: 10px; */
	border-radius: 0.625rem;
	transition: all .3s;

}

.header.light::after,
.header:hover::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	-webkit-backdrop-filter: blur(0px);
	backdrop-filter: blur(0px);
	-webkit-transition: all 0.4s, -webkit-backdrop-filter 0s;
	transition: all 0.4s, -webkit-backdrop-filter 0s;
	-o-transition: all 0.4s, backdrop-filter 0s;
	transition: all 0.4s, backdrop-filter 0s;
	transition: all 0.4s, backdrop-filter 0s, -webkit-backdrop-filter 0s;
	background: rgba(255, 255, 255, 0.5);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	z-index: -1;
	/* border-radius: 15px; */
}

/* .home_container.active::after, .home_container.on1::after, .home_container.hover1::after {
    background: rgba(255, 255, 255, 0.5);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
 */








.header .navbar-brand {
	text-indent: -999em;
	display: inline-block;
	width: 122px;
	height: 72px;
	background: url("/files/images/logo.png") no-repeat center;
	background-size: 92px auto;
	outline: none;
	position: relative;
}
.header .navbar-brand::after{
	content: "";
	display: block;
	width: 60px;
	height: 40px;
	background: url("/files/images/5th.png") no-repeat center;
	background-size:32px auto;
	position: absolute;
	right: -40px;
	top: 15px;
}

.about .header .navbar-brand,
.help .header .navbar-brand,
.contact .header .navbar-brand,
.cases .header .navbar-brand,
.news .header .navbar-brand,
.vertical .header .navbar-brand,
.detail .header .navbar-brand {
	background-image: url("/files/images/logo_light.png") !important;
}

.about .header.light .navbar-brand,
.about .header:hover .navbar-brand {
	background-image: url("/files/images/logo_light.png") !important;
}

.header.light .navbar-brand,
.header:hover .navbar-brand {
	background-image: url("/files/images/logo_light.png") !important;
}

.header .navbar-brand.light {
	background-image: url("/files/images/logo_light.png");
}



.header .navbar-right>ul>li>a,
.header .navbar-right>ul>li>span {
	line-height: 72px;
	color: #333;
	margin-left: 15px;
}

.tel {
	font-family: initial;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
}

.phone-icon {
	display: inline-block;
	background: url("/files/images/tel.png") no-repeat 24px center;
	background-image: url("/files/images/tel-white.png");
	background-size: 24px auto;
	/* padding-left: 50px; */
	width: 24px;
	height: 24px;
}

.header.light .phone-icon,
.header:hover .phone-icon {
	background-image: url("/files/images/tel.png");
}

/* 定义电话图标的样式 */
.phone-icon {
	position: relative;
	/*  width: 50px;
            height: 50px; */
	/* background-color: #4CAF50; */
	border-radius: 50%;

	cursor: pointer;
	overflow: hidden;
	animation: shake 0.8s infinite;
	/* 直接应用动画 */
}

/* 电话手柄的样式 */
.phone-icon::before {
	content: '';
	position: absolute;
	width: 20px;
	height: 30px;
	/* background-color: white; */
	border-radius: 10%;
	transform: rotate(45deg);
}

/* 定义动画关键帧 */
@keyframes shake {
	0% {
		transform: rotate(0deg);
	}

	25% {
		transform: rotate(15deg);
	}

	50% {
		transform: rotate(-5deg);
	}

	75% {
		transform: rotate(-15deg);
	}

	100% {
		transform: rotate(-5deg);
	}
}

.apply {
	background-color: #2575fc;
	color: #fff !important;
	display: inline-block;
	padding: 4px 6px;
	border-radius: 4px;
	line-height: 32px !important;
}

.main-wrapper.hd .header .navbar-brand {
	background-image: url("/files/images/logo.png");
}

.main-wrapper.hd .header .navbar-right>ul>li>a {
	color: #F5F5F5;
}

.main-wrapper.hd .header .dropmenu>a {
	color: #F5F5F5;
}

.main-wrapper.hd .header:hover .dropmenu>a {
	color: #333 !important;
}

.main-wrapper.hd .header.light .navbar-right a,
.main-wrapper.hd .header:hover .navbar-right a,
.header.light .navbar-right a,
.header:hover .navbar-right a {
	color: #333;
}




.header .navbar-nav {
	list-style: none;
}

.header .navbar-right {
	padding-right: 15px;
}

.header .navbar-nav.navbar-right {
	margin-right: 50px;
}

.header .navbar-right ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;

}


/* 导航菜单 */
.navbar-nav .dropmenu {
	position: relative;
}

.navbar-nav .dropmenu>a {
	display: block;
	line-height: 72px;
}

.navbar-nav .dropmenu ul {
	list-style: none;
	display: none;
	position: absolute;
	top: 72px;
	left: 0;
	background-color: #fff;
	padding: 12px 0px;
	margin: 0;
	width: 180px;

	box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.10);
	z-index: 9999;
}

.navbar-nav .dropmenu ul li a {
	display: block;
	color: #000;
	line-height: 50px;
	text-align: center;
	text-decoration: none;
}

.navbar-nav .dropmenu ul li:hover {
	background-color: #DAE5F9;
}






.caret {
	border-radius: 4px;
	transition: transform 0.3s linear;
}

/* button */
.button-primary {
	background-color: #5562FF;
	color: #fff !important;
	line-height: 32px;
	display: inline-block;
	padding: 8px 14px;

}

.circle24 {
	border-radius: 24px;
}

.navbar {
	border: none !important;
}

/* 锚点 */
.anchors {
	height: 50px;
	line-height: 50px;
	background: rgb(241 239 255 / 50%);
	;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

.anchors .list-inline {
	display: flex;
	gap: 12px;
	align-items: center;
	overflow-x: auto;
	white-space: nowrap;
	padding: 0 12px;
	margin: 0;
}

.anchors .list-inline::-webkit-scrollbar {
	display: none;
}

.anchors li {
	position: relative;
}

.anchors li .progress-bar {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 2px;
	background: #2575fc;
	z-index: -1;
	opacity: 0;
}

.anchors li a {
	display: block;
	padding: 0 16px;
	color: #333;
	position: relative;
	border-radius: 24px;
	transition: color .2s ease, background-color .2s ease;
}

/* .anchors li.active a {  color: #fff; } */

.progress-bar {
	width: 0%;
	height: 4px;
	background-image: linear-gradient(120deg, #f093fb 0%, #f5576c 100%);
	background-image: linear-gradient(to top, #f3e7e9 0%, #e3eeff 99%, #e3eeff 100%);
	background-image: linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%);
	position: relative;
}

.anchors li.active .progress-bar {
	opacity: 1;
	transition: width 0.25s ease-out;
	will-change: width;
}

.anchors li.active a {
	color: #000;
	font-weight: 700;
}

.anchors li .progress-bar::after {
	display: none;
}

.anchors li.active .progress-bar::after {
	content: '';
	display: block;
	width: 100%;
	height: 46px;
	background-color: rgba(201, 222, 255, 0.5);
	position: absolute;
	top: -46px;
	left: 0;
	right: 0;
	z-index: -1;
}

.section {
	min-height: 600px;
	/* border: 1px solid #ccc; */
	/* margin: 10px 0; */
}

/* 栏目标题 */
.column-title,
.section-title {
	font-size: 34px;
	font-weight: bold;
	line-height: 50px;
	margin-bottom: 10px;
	position: relative;
}

.column-title .more,
.section-title .more {
	border: 1px solid #000;
	position: absolute;
	right: 0;
	font-size: 16px;
	line-height: 40px;
	border-radius: 20px;
	padding: 0 12px;
	color: #000;
	z-index: 9999;
}

.column-title-description,
.section-subtitle {
	margin-bottom: 30px;
	font-size: 18px;
	color: #666;
}

/* 上一个/下一个按钮 */
.button-next,
.button-prev {
	display: block;
	width: 45px;
	height: 45px;
	background-size: 45px auto !important;
}

.button-next {
	background-image: url("/files/images/button-next.png");
}

.button-prev {
	background-image: url("/files/images/button-prev.png");
}

.button-prev.swiper-button-disabled,
.button-next.swiper-button-disabled {
	opacity: 0.3;
}

.footer {
	background-color: #0f1115;
	padding: 40px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.footer .copyright {
	color: #9aa0a6;
}

.footer .footer-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 12px;
}

.footer .footer-brand {
	font-size: 18px;
	font-weight: 700;
	color: #ffffff;
	text-indent: -999em;
	width: 120px;
	height: 40px;
	background: no-repeat center;
	background-image: url("/files/images/logo.png");
	background-size: auto 32px;
}

.footer .footer-columns {
	display: grid;
	grid-template-columns: repeat(4, minmax(160px, 1fr));
	gap: 16px 24px;
	width: 100%;
}

.footer .footer-title {
	margin: 0 0 8px 0;
	font-size: 14px;
	color: #ffffff;
}

.footer .footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 12px;
}

.footer .footer-links li a {
	display: inline-block;
	padding: 6px 8px;
	color: #9aa0a6;
	text-decoration: none;
	transition: color .2s ease;
}

.footer .footer-links li a:hover {
	color: #ffffff;
}

.footer .footer-links li+li::before {
	content: '·';
	color: #4d525a;
	margin-right: 4px;
}

.footer .footer-bottom {
	margin-top: 12px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer .footer-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	padding-bottom: 16px;
	margin-bottom: 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer .nav-item {
	display: inline-block;
}

.footer .nav-link {
	color: #9aa0a6;
	padding: 4px 8px;
	text-decoration: none;
	transition: color .2s ease;
}

.footer .nav-link:hover {
	color: #ffffff;
}

.footer .beian {
	margin: 0;
	font-size: 13px;
	color: #9aa0a6;
}

@media (max-width: 768px) {
	.footer .footer-bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.footer .footer-links {
		flex-wrap: wrap;
		gap: 8px 12px;
	}
}

.footer .lang-select {
	appearance: none;
	-webkit-appearance: none;
	background-color: #151820;
	border: 1px solid rgba(255, 255, 255, 0.08);
	color: #c7cbd1;
	border-radius: 6px;
	padding: 6px 12px;
	font-size: 12px;
}

.expand-collapse {
	display: inline-block;
	width: 40px;
	height: 40px;
	text-indent: -999em;
	background-color: transparent;
	border: none;
	color: transparent;
	position: relative;
	transition: all 0.3s;
}

.expand-collapse::after,
.expand-collapse::before {
	content: '';
	display: block;
	background-color: #333;
	position: absolute;
}

.expand-collapse::before {
	height: 1px;
	width: 24px;
	top: 19px;
	left: 8px;

}

.expand-collapse::after {
	width: 1px;
	height: 24px;
	top: 8px;
	left: 19px;

}




/* 菜单效果 */



.nav-list {
	list-style: none;
	display: flex;
	gap: 1rem;
	justify-content: flex-end;
	margin-top: 10px;
	padding-right: 40px;
}

.dropmenu {
	position: relative;
}

.menu-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	background: transparent;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	font-size: 1rem;
	color: #333;
	transition: all 0.3s ease;
	text-decoration: none;
}

.menu-item:hover {
	background: rgba(102, 126, 234, 0.1);
	color: #667eea;
}



.submenu {
	position: absolute;
	top: 100%;
	left: 0;
	background: white;
	border-radius: 8px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
	padding: 0.5rem;
	min-width: 150px;
	display: none;
	z-index: 1000;
}

.submenu-item {
	padding: 0.75rem 1rem;
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.3s ease;
	color: #333;
	text-decoration: none;
	display: block;
	opacity: 0;
	transform: translateY(-10px);
}

.submenu-item:hover {
	background: rgba(102, 126, 234, 0.1);
	color: #667eea;
}

.navbar {
	margin-bottom: 0;
}

.nav-list .dropmenu>a {
	line-height: 40px;
	font-size: 16px;
	/* font-weight: bold; */
}

.header.light .nav-list .dropmenu>a {
	color: #333;
}

.more-button,
.section-cta {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 30px;
}

.more-button>a,
.section-cta>a {
	display: block;
	border: 1px solid #2575fc;
	font-size: 16px;
}



.swiper-pagination .swiper-pagination-bullet {
	width: 40px;
	height: 4px;
	border-radius: 0px;
	opacity: 0.5;
	background: rgba(219, 219, 219, 0.5);
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	width: 40px;
	border-radius: 0px;
	opacity: 1;
	background-color: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.nav-toggle {
	display: none;
	width: 40px;
	height: 40px;
	border: none;
	background: transparent;
	position: relative;
	margin-left: 12px;
}

.nav-toggle::before,
.nav-toggle::after {
	content: '';
	position: absolute;
	left: 8px;
	right: 8px;
	height: 2px;
	background: #333;
	transition: transform .3s ease;
}

.nav-toggle::before {
	top: 14px;
}

.nav-toggle::after {
	top: 24px;
}

.nav-toggle[aria-expanded="true"]::before {
	transform: translateY(5px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"]::after {
	transform: translateY(-5px) rotate(-45deg);
}

@media (max-width: 768px) {
	.nav-toggle {
		display: inline-block;
	}

	.nav-list {
		position: fixed;
		top: 72px;
		left: 0;
		right: 0;
		background: #fff;
		display: none;
		flex-direction: column;
		gap: 0;
		padding: 8px 12px;
		box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
		z-index: 1000;
		margin: 0;
	}

	.nav-list.open {
		display: flex;
	}

	.nav-list .dropmenu>a {
		line-height: 48px;
		padding: 0 12px;
	}

	.submenu {
		position: static;
		background: transparent;
		box-shadow: none;
		padding: 0 0 8px 0;
		min-width: auto;
		margin: 0 12px;
		border-left: 2px solid #eee;
		display: none;
	}

	.submenu-item {
		opacity: 1;
		transform: none;
		padding-left: 12px;
		line-height: 38px;
	}

	.dropmenu.open .caret {
		transform: rotate(180deg);
	}

	.nav-backdrop {
		position: fixed;
		top: 72px;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.35);
		display: none;
		z-index: 900;
	}

	.nav-backdrop.show {
		display: block;
	}
}

body.no-scroll {
	overflow: hidden;
}

.contact-info {
	padding-top: 10px;
}

.contact-item {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	margin-bottom: 12px;
}

.contact-item .label {
	font-size: 14px;
	color: #666;
	margin-right: 12px;
	padding: 0;
}

.contact-item .value {
	font-size: 28px;
	font-weight: 700;
	color: #2575fc;
	text-decoration: none;
}

.contact-item.email .value {
	font-size: 28px;
	color: #2F80ED;
	word-break: break-all;
}

.contact-info .address {
	margin-top: 14px;
	color: #333;
	line-height: 1.8;
}

.map-rounded {
	border-top-right-radius: 30px;
	border-bottom-left-radius: 30px;
}

@media (max-width: 768px) {
	.contact-item .value {
		font-size: 28px;
	}

	.contact-item.email .value {
		font-size: 28px;
	}
}

/* 移动端右侧区域布局压缩与对齐 */
@media (max-width: 768px) {
	.navbar .container {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		padding-left: 15px;
		padding-right: 15px;
	}

	.navbar-hd {
		flex: 0 0 auto;
	}

	.navbar-right {
		display: flex;
		align-items: center;
		gap: 8px;
		margin-top: 0;
		padding-right: 0;
		margin-left: auto;
	}

	/* 清除全局右侧内边距，保证右缘 15px */
	.header .navbar-right { padding-right: 0; }

	.navbar-right ul {
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.header .navbar-brand {
		width: 98px;
		height: 72px;
		background-size: 80px auto;
	}

	.header .navbar-right>ul>li>a {
		line-height: 72px;
	}

	.nav-toggle {
		width: 36px;
		height: 36px;
	}

	.apply {
		font-size: 12px;
		line-height: 28px !important;
		padding: 0 10px;
	}

	.tel {
		font-size: 0;
	}

	.tel .phone-icon {
		width: 24px;
		height: 24px;
		display: inline-block;
	}
}

.about-hero,
.news-hero,
.cases-hero,
.vertical-hero,
.help-hero {
	position: relative;
	min-height: 280px;
	color: #fff;
	overflow: hidden;
}

.about-hero .hero-bg,
.about-hero .about-hero-bg,
.news-hero .hero-bg,
.news-hero .about-hero-bg,
.cases-hero .hero-bg,
.cases-hero .about-hero-bg,
.vertical-hero .hero-bg,
.vertical-hero .about-hero-bg,
.help-hero .hero-bg,
.help-hero .about-hero-bg {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-position: center;
	filter: brightness(0.75);
}

.about-hero::after,
.news-hero::after,
.cases-hero::after,
.vertical-hero::after,
.help-hero::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 160px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%);
}

.about-hero .hero-content,
.news-hero .hero-content,
.cases-hero .hero-content,
.vertical-hero .hero-content,
.help-hero .hero-content {
	position: relative;
	padding: 0;
	max-width: 720px;
	min-height: calc(390px + var(--nav-height, 72px));
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.about-hero .hero-content p,
.news-hero .hero-content p,
.cases-hero .hero-content p,
.vertical-hero .hero-content p,
.help-hero .hero-content p {
	font-size: 18px;
	margin: 10px 0 0;
}

.about-hero .hero-title,
.news-hero .hero-title,
.cases-hero .hero-title,
.vertical-hero .hero-title,
.help-hero .hero-title {
	font-size: 42px;
	margin: 0;
}

.about-hero.section,
.news-hero.section,
.cases-hero.section,
.vertical-hero.section,
.help-hero.section {
	height: calc(390px + var(--nav-height, 72px));
}
