/* Mobile compatibility layer. Loaded after the legacy styles so desktop rules stay unchanged. */
@media screen and (max-width: 750px) {
	html {
		-webkit-text-size-adjust: 100%;
		text-size-adjust: 100%;
	}

	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	img {
		max-width: 100%;
	}

	a,
	button {
		touch-action: manipulation;
	}

	/* Header */
	.home-container .header-view {
		height: 104px;
		padding: 0 12px;
		line-height: normal;
		overflow: visible;
		background: rgba(255, 255, 255, .96);
		box-shadow: 0 1px 0 rgba(13, 37, 62, .07);
		backdrop-filter: blur(10px);
	}

	.home-container .header-view .maxW1300 {
		position: relative;
		display: block;
		width: 100%;
		height: 104px;
	}

	.home-container .header-view .menu-ul {
		display: flex;
		width: 100%;
		height: 104px;
		padding: 60px 0 0;
		box-sizing: border-box;
		flex: 0 0 auto;
		align-items: flex-start;
		justify-content: center;
		gap: 24px;
	}

	.home-container .header-view .menu-ul .item {
		display: block !important;
		height: 44px;
		padding: 0 6px;
		font-size: 14px;
		line-height: 44px;
		white-space: nowrap;
	}

	.home-container .header-view .logo {
		position: absolute;
		top: 0;
		left: 0;
		height: 60px;
		padding: 0;
		font-size: 16px;
		line-height: 60px;
	}

	.home-container .header-view .logo a {
		align-items: center;
		white-space: nowrap;
	}

	.home-container .header-view .logo img {
		width: 30px;
		height: 30px;
		margin: 15px 8px 0 0;
	}

	.home-container .header-view .logo span {
		white-space: nowrap;
	}

	.home-container .header-view .right {
		position: absolute;
		top: 0;
		right: 0;
		width: auto;
		height: 60px;
		gap: 0;
	}

	.home-container .header-view .call {
		display: none !important;
	}

	.home-container .header-view .right-btn {
		gap: 8px;
	}

	.home-container .header-view .right-btn .btn {
		min-width: 64px;
		height: 36px;
		line-height: 35px;
		padding: 0 10px;
		border-radius: 18px;
		font-size: 12px;
		white-space: nowrap;
	}

	.header-spacer {
		height: 104px !important;
	}

	/* Keep the mobile contact entry attached to the rail above the bottom consult bar. */
	.contact-widget {
		top: auto;
		right: 0;
		bottom: 108px;
		transform: none;
	}

	.contact-widget .cw-rail {
		width: 56px;
		border-radius: 14px 0 0 14px;
		overflow: hidden;
		background: #386AFD;
		box-shadow: 0 6px 20px rgba(56, 106, 253, .28);
	}

	.contact-widget .cw-toggle {
		width: 56px;
		height: auto;
		min-height: 108px;
		padding: 12px 8px 14px;
		border-radius: 0;
	}

	.contact-widget .cw-toggle-icon {
		width: 28px;
		height: 28px;
		padding: 5px;
		margin: 0 0 10px;
	}

	.contact-widget .cw-toggle-txt {
		display: block;
		font-size: 14px;
		line-height: 1.25;
		letter-spacing: 1px;
		writing-mode: vertical-lr;
	}

	.contact-widget .cw-tips {
		display: none;
	}

	.contact-widget .cw-panel {
		top: auto;
		right: calc(100% + 10px);
		bottom: 0;
		width: calc(100vw - 88px);
		max-width: 310px;
		padding: 18px;
		border-radius: 10px;
		transform: translateX(8px) translateY(8px) scale(.98);
	}

	.contact-widget.open .cw-panel {
		transform: translateX(0) translateY(0) scale(1);
	}

	.contact-widget .cw-panel:after {
		top: auto;
		right: -7px;
		bottom: 20px;
		transform: rotate(45deg);
	}

	.contact-widget .cw-close {
		top: 8px;
		right: 8px;
		width: 36px;
		height: 36px;
		font-size: 24px;
	}

	.contact-widget .cw-head {
		padding: 0 40px 12px 0;
	}

	.contact-widget .cw-title {
		font-size: 18px;
	}

	.contact-widget .cw-subtitle {
		font-size: 12px;
	}

	.contact-widget .cw-qr-wrap {
		width: 174px;
		padding: 8px;
		margin: 14px auto 8px;
	}

	.contact-widget .cw-qr {
		width: 156px;
		height: 156px;
	}

	.contact-widget .cw-note {
		margin-bottom: 12px;
		font-size: 12px;
	}

	.contact-widget .cw-phones {
		padding-top: 12px;
	}

	.contact-widget .cw-phones-label {
		margin-bottom: 7px;
		font-size: 11px;
	}

	.contact-widget .cw-phone {
		min-height: 40px;
		padding: 7px 8px;
		border-radius: 7px;
		font-size: 14px;
	}

	.contact-widget .cw-phone + .cw-phone {
		margin-top: 7px;
	}

	.contact-widget .cw-phone-icon {
		flex-basis: 26px;
		width: 26px;
		height: 26px;
		margin-right: 8px;
	}

	.contact-widget .cw-phone-icon img {
		width: 14px;
		height: 14px;
	}

	.fixed-to-top {
		right: 20px;
		bottom: 172px;
		width: 40px;
	}

	/* Home hero */
	.home-container .home-mod-1 {
		height: auto;
		min-height: 0;
		padding-bottom: 34px;
		background: #EAF0FF;
	}

	.home-container .home-mod-1 .maxW1300 {
		display: flex;
		flex-direction: column;
		overflow: visible !important;
	}

	.home-container .home-mod-1 .contain {
		order: 1;
		width: 100%;
		height: auto;
		padding: 122px 20px 16px;
		box-sizing: border-box;
		text-align: center;
	}

	.home-container .home-mod-1 .contain .mod-tit {
		padding: 0 !important;
		font-size: 27px;
		line-height: 1.35;
		text-wrap: balance;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.home-container .home-mod-1 .contain p {
		max-width: 560px;
		margin: 0 auto;
		font-size: 14px !important;
		line-height: 1.8;
	}

	.home-container .home-mod-1 .contain .btn {
		width: 200px;
		height: 50px;
		line-height: 50px;
		margin: 24px auto 16px;
		font-size: 18px;
	}

	.home-container .home-mod-1 .mod-img {
		position: static !important;
		order: 2;
		display: block;
		width: min(100%, 420px);
		height: auto;
		margin: 0 auto;
	}

	/* Shared home headings */
	.home-container .mod-tit {
		padding: 42px 16px 28px;
	}

	.home-container .mod-tit .f30 {
		font-size: 25px !important;
		line-height: 1.4;
	}

	.home-container .mod-tit .f18 {
		margin-top: 12px !important;
		font-size: 14px !important;
		line-height: 1.7;
	}

	/* AI exploration */
	.home-container .home-mod-2,
	.home-container .home-mod-3,
	.home-container .home-mod-4,
	.home-container .home-mod-6 {
		padding-right: 16px;
		padding-left: 16px;
		box-sizing: border-box;
	}

	.home-container .home-mod-2 .left-mod {
		width: 100%;
		padding: 20px 16px 12px;
		border-width: 2px;
	}

	.home-container .home-mod-2 .left-mod .title-box {
		font-size: 18px;
		line-height: 1.55;
	}

	.home-container .home-mod-2 .left-mod > .f16,
	.home-container .home-mod-2 .guide-ul {
		font-size: 14px;
		line-height: 1.7;
	}

	.home-container .home-mod-2 .guide-ul .item {
		width: 100%;
		height: auto !important;
		min-height: 104px;
		margin: 12px 0;
		padding: 14px !important;
	}

	.home-container .home-mod-2 .guide-ul .item h4 {
		padding: 0 0 8px;
		font-size: 16px;
	}

	.home-container .home-mod-2 .guide-ul .item p {
		font-size: 13px;
		line-height: 1.65;
	}

	.home-container .home-mod-2 .right-ul {
		width: 100%;
		padding: 20px 0 0 !important;
		gap: 12px;
	}

	.home-container .home-mod-2 .right-ul li {
		width: calc(50% - 6px) !important;
		height: 138px !important;
		padding: 16px 12px !important;
		margin-bottom: 0;
	}

	.home-container .home-mod-2 .right-ul li h4 {
		font-size: 15px;
		line-height: 1.4;
	}

	.home-container .home-mod-2 .right-ul li p {
		font-size: 12px;
		line-height: 1.6;
	}

	.home-container .home-mod-2 .right-ul li.btn {
		height: 96px !important;
	}

	.home-container .home-mod-2 .right-ul li.btn img {
		right: 12px;
		width: 52px;
	}

	.home-container .home-mod-2 .right-ul li.btn a {
		font-size: 18px !important;
	}

	/* Service scenarios */
	.home-container .home-mod-3 .mod-con {
		font-size: 14px;
		line-height: 1.7;
	}

	.home-container .home-mod-3 .box h3 {
		font-size: 20px !important;
		line-height: 1.45;
	}

	.home-container .home-mod-3 .lg-box {
		padding: 20px 16px;
	}

	.home-container .home-mod-3 .small-box {
		padding: 20px 16px;
	}

	.home-container .home-mod-3 .small-box ul,
	.home-container .home-mod-3 .lg-box ul {
		font-size: 13px;
		line-height: 1.7;
	}

	/* Home news */
	.home-container .home-mod-4 h3 .f26 {
		font-size: 18px !important;
	}

	.home-container .home-mod-4 h3 .f18 {
		font-size: 13px !important;
	}

	.home-container .home-mod-4 .left-mod,
	.home-container .home-mod-4 .right-mod {
		width: 100%;
	}

	.home-container .home-mod-4 .news-lg .contain {
		width: calc(100% - 112px);
		padding: 0 10px;
	}

	.home-container .home-mod-4 .news-lg .img-box {
		width: 100px;
		height: 80px;
	}

	.home-container .home-mod-4 .news-lg .name,
	.home-container .home-mod-4 .news-s .name,
	.home-container .home-mod-4 .right-mod .name {
		font-size: 14px !important;
		line-height: 1.5;
	}

	.home-container .home-mod-4 .news-lg p,
	.home-container .home-mod-4 .news-s p {
		font-size: 12px;
		line-height: 1.6;
	}

	.home-container .home-mod-4 .right-mod .news-item .name {
		width: auto !important;
	}

	.home-container .home-mod-4 .right-mod .news-item span {
		font-size: 12px !important;
	}

	/* Keep the bottom consultation CTA visible while leaving page space for it. */
	.home-container .home-mod-6 {
		padding-bottom: 120px !important;
	}

	.home-container .home-mod-6 .btn-box {
		gap: 12px;
	}

	.home-container .home-mod-6 .btn-box .btn {
		width: calc(50% - 6px);
		height: 48px;
		line-height: 48px;
		font-size: 15px;
	}

	.home-container .fixed-bottom-consult,
	.home-container .fixed-bottom-consult.isFixed {
		position: fixed !important;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 25;
		height: auto;
		min-height: 76px;
		margin: 0;
		padding: 10px 16px;
		border-radius: 16px 16px 0 0;
		box-shadow: 0 -6px 20px rgba(13, 37, 62, .12);
		box-sizing: border-box;
	}

	.home-container .fixed-bottom-consult .maxW1200 {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		height: auto !important;
	}

	.home-container .fixed-bottom-consult .left {
		width: auto;
		flex: 1 1 auto;
		padding-top: 0;
		text-align: left;
	}

	.home-container .fixed-bottom-consult .left .f28 {
		font-size: 16px !important;
		line-height: 1.5;
	}

	.home-container .fixed-bottom-consult .left .f20 {
		display: none;
	}

	.home-container .fixed-bottom-consult .btn {
		flex: 0 0 128px;
		width: 128px;
		height: 44px;
		line-height: 44px;
		margin: 0;
		font-size: 15px;
	}

	.home-container .home-mod-6 .bg-img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* Shared breadcrumbs */
	.crumbs {
		display: block;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		padding: 14px 16px 0;
		font-size: 12px;
		line-height: 1.7;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* News list */
	.home-container .news-banner {
		min-height: 150px;
	}

	.home-container .news-banner .bg-img {
		display: block;
		width: 100%;
		height: 150px;
		object-fit: cover;
	}

	.home-container .news-banner .contain {
		top: 0;
		left: 0;
		width: 100%;
		height: 150px;
	}

	.home-container .news-banner h1 {
		font-size: 26px;
		line-height: 1.35;
	}

	.home-container .news-banner p {
		font-size: 14px;
		line-height: 1.6;
	}

	.home-container .news-main {
		gap: 20px;
		padding: 24px 0 !important;
	}

	.home-container .news-main .left,
	.home-container .news-main .right,
	.home-container .news-main .left-contain {
		width: 100%;
		padding: 0 16px;
		box-sizing: border-box;
	}

	.home-container .news-main .news-box .news-item {
		padding: 16px 0;
	}

	.home-container .news-main .news-box .news-item > a {
		align-items: flex-start;
	}

	.home-container .news-main .news-box .news-item .img-box {
		flex: 0 0 112px;
		width: 112px;
		height: 75px;
		aspect-ratio: 3 / 2;
		align-self: flex-start;
		margin-right: 12px;
	}

	.home-container .news-main .news-box .news-item .img-box img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.home-container .news-main .news-box .news-item .con {
		width: calc(100% - 124px);
		height: auto;
		padding-bottom: 0;
	}

	.home-container .news-main .news-box .news-item .con h2 {
		display: -webkit-box;
		margin-bottom: 7px;
		font-size: 16px !important;
		line-height: 1.45;
		white-space: normal;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.home-container .news-main .news-box .news-item .con p {
		display: -webkit-box;
		font-size: 12px;
		line-height: 1.55;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.home-container .news-main .news-box .news-item .bottom {
		position: static;
		margin-top: 8px;
		font-size: 11px;
		line-height: 1.5;
	}

	.pagination {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 24px 0 0;
	}

	.pagination .pg-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 38px;
		height: 38px;
		line-height: 38px;
		padding: 0 10px;
		margin: 3px;
		font-size: 14px;
	}

	.home-container .news-main .right {
		padding-top: 20px;
	}

	.home-container .news-main .right .title {
		font-size: 20px !important;
	}

	.home-container .news-main .news-hot li a {
		font-size: 14px !important;
		line-height: 1.6;
	}

	/* Article */
	.home-container .news-main .left-contain {
		padding: 20px 16px !important;
	}

	.home-container .news-main .left-contain .title {
		font-size: 24px !important;
		line-height: 1.42;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.home-container .news-main .left-contain .author-view {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 14px;
		padding: 14px 0 0;
		margin: 0;
		font-size: 13px !important;
		line-height: 1.6;
	}

	.home-container .news-main .left-contain .author-view div {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
	}

	.home-container .news-main .left-contain .author-view span[style] {
		padding-left: 0 !important;
	}

	.home-container .news-main .left-contain .author-view .f12 {
		font-size: 12px !important;
	}

	.home-container .news-main .left-contain .ql-editor {
		font-size: 16px !important;
		line-height: 1.9 !important;
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.home-container .news-main .left-contain .ql-editor img {
		display: block;
		width: auto;
		max-width: 100%;
		height: auto;
		margin: 16px auto;
	}

	.home-container .news-main .left-contain .ql-editor table {
		display: block;
		width: 100%;
		overflow-x: auto;
		white-space: nowrap;
	}

	.home-container .article-faq {
		padding: 16px;
		margin: 24px 0;
	}

	.home-container .article-faq h2 {
		font-size: 20px !important;
	}

	.home-container .article-faq .faq-q,
	.home-container .article-faq .faq-a {
		font-size: 14px !important;
		line-height: 1.8;
	}

	.home-container .news-main .left-contain .operate-box {
		flex-direction: column;
		gap: 10px !important;
	}

	.home-container .news-main .left-contain .operate-box .btn {
		width: 100% !important;
		padding: 10px 12px;
		box-sizing: border-box;
		font-size: 13px !important;
	}

	.home-container .news-main .left-contain .news-box-tj li {
		padding: 16px 12px 12px 18px;
	}

	.home-container .news-main .left-contain .news-box-tj h3 {
		font-size: 14px !important;
		line-height: 1.55;
	}

	.home-container .news-main .left-contain .news-box-tj p {
		margin-top: 8px;
		font-size: 11px !important;
	}

	/* About */
	.home-container .about-banner {
		margin-top: 0;
	}

	.home-container .about-banner .bg-img {
		display: block;
		width: 100%;
		height: 170px;
		object-fit: cover;
	}

	.home-container .about-banner h1 {
		font-size: 28px;
		line-height: 1.35;
	}

	.home-container .about-banner p {
		font-size: 14px;
		line-height: 1.7;
	}

	.home-container .about-box {
		padding: 0;
	}

	.home-container .about-main {
		padding: 16px !important;
	}

	.home-container .about-main .introduce-mod {
		display: block;
	}

	.home-container .about-main .introduce-mod .txt-box {
		width: 100%;
		padding: 8px 0 18px;
		font-size: 14px;
		line-height: 1.8;
	}

	.home-container .about-main .introduce-mod .txt-box h2 {
		font-size: 22px !important;
		line-height: 1.4;
	}

	.home-container .about-main .introduce-mod .txt-box ul {
		margin: 14px 0;
		padding-left: 18px;
		line-height: 1.8;
	}

	.home-container .about-main .introduce-mod .txt-box li {
		margin-bottom: 10px;
	}

	.home-container .about-main .introduce-mod img {
		display: block;
		width: 100%;
		height: auto;
		margin-top: 10px;
		border-radius: 12px;
	}

	.home-container .about-main .mission-mod {
		padding: 0 16px 20px;
		margin-top: 24px;
		border-radius: 16px;
	}

	.home-container .about-main .mission-mod .mod-tit {
		padding: 26px 0 20px;
	}

	.home-container .about-main .mission-mod .mod-tit .f38 {
		font-size: 24px !important;
		line-height: 1.4;
	}

	.home-container .about-main .mission-mod .mod-tit .f18 {
		margin-top: 12px !important;
		font-size: 14px !important;
		line-height: 1.7;
	}

	.home-container .about-main .mission-mod ul li {
		width: 100%;
		height: auto !important;
		min-height: 0;
		padding: 18px;
		font-size: 14px;
		line-height: 1.75;
	}

	/* 404 */
	.page-404 {
		padding: 72px 20px 100px;
	}

	.page-404 .code {
		font-size: 56px !important;
		line-height: 1.1;
	}

	.page-404 p {
		font-size: 14px !important;
		line-height: 1.8;
	}

	/* Footer */
	.home-container .footer-box {
		padding: 28px 16px 180px;
		font-size: 13px;
	}

	.home-container .footer-box .contain {
		padding: 0;
	}

	.home-container .footer-box .contain > .w-flex {
		flex-direction: column;
		gap: 20px;
	}

	.home-container .footer-box .left-box {
		font-size: 14px;
		line-height: 1.7;
	}

	.home-container .footer-box .left-box .line-box {
		display: block;
		margin: 0 0 14px;
	}

	.home-container .footer-box .left-box h6 {
		margin-bottom: 2px;
		font-size: 13px;
	}

	.home-container .footer-box .left-box p,
	.home-container .footer-box .left-box .f26 {
		margin: 0;
		font-size: 18px !important;
		line-height: 1.55;
		word-break: break-all;
	}

	.home-container .footer-box .right-box {
		justify-content: flex-start;
		width: 100%;
		margin-top: 4px;
	}

	.home-container .footer-box .right-box img {
		width: 110px !important;
		height: 110px !important;
	}

	.home-container .footer-box .right-box p {
		font-size: 12px !important;
	}

	.home-container .footer-box .copyText {
		padding: 20px 0 0 !important;
		margin: 24px 0 0;
		font-size: 12px !important;
		line-height: 1.7;
	}

	.home-container .footer-box .copyText .yqLike {
		margin: 0 0 12px;
		padding: 0;
		font-size: 12px;
		line-height: 1.7;
	}
}

@media screen and (max-width: 359px) {
	.home-container .header-view {
		padding: 0 8px;
	}

	.home-container .header-view .menu-ul {
		gap: 16px;
	}

	.home-container .header-view .logo {
		font-size: 15px;
	}

	.home-container .header-view .logo img {
		width: 28px;
		height: 28px;
		margin-top: 16px;
	}

	.home-container .fixed-bottom-consult .maxW1200 {
		gap: 10px;
	}

	.home-container .fixed-bottom-consult .left .f28 {
		font-size: 15px !important;
	}

	.home-container .fixed-bottom-consult .btn {
		flex-basis: 110px;
		width: 110px;
	}

	.home-container .header-view .right-btn {
		gap: 6px;
	}

	.home-container .header-view .right-btn .btn {
		min-width: 58px;
		padding: 0 8px;
		font-size: 11px;
	}

	.home-container .home-mod-1 .contain {
		padding-right: 16px;
		padding-left: 16px;
	}

	.home-container .home-mod-1 .contain .mod-tit {
		font-size: 24px;
	}

	.home-container .home-mod-2 .right-ul li {
		width: 100% !important;
	}

	.contact-widget .cw-panel {
		width: calc(100vw - 76px);
	}
}
