.xcgl-page {
	margin-top: 180px;
	min-width: 1320px;
	background: #ffffff;
	color: #17263a;
	font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

.xcgl-container {
	width: 1180px;
	margin: 0 auto;
}

.xcgl-hero {
	min-height: 450px;
	background: url("../../images/xcgl/site-hero-bg.png") no-repeat center center;
	background-size: cover;
	overflow: hidden;
}

.hero-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 450px;
}

.hero-copy {
	width: 540px;
}

.hero-copy h1 {
	margin: 0 0 18px;
	font-size: 44px;
	font-weight: 800;
	line-height: 1.1;
	color: #004b9e;
	letter-spacing: 0;
	text-shadow: 0 5px 12px rgba(0, 75, 158, 0.12);
}

.hero-copy h2 {
	margin: 0 0 26px;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.35;
	color: #263a55;
}

.hero-copy p {
	width: 515px;
	margin: 0;
	font-size: 15px;
	line-height: 1.9;
	color: #5a6a7e;
}

.hero-actions,
.leader-actions {
	display: flex;
	gap: 28px;
	margin-top: 34px;
}

.btn-outline,
.btn-primary,
.module-btn,
.faq-more,
.faq-head a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-decoration: none;
	cursor: pointer;
}

.btn-outline,
.btn-primary {
	min-width: 128px;
	height: 38px;
	padding: 0 18px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
}

.btn-outline {
	color: #0a65c6;
	background: #ffffff;
	border: 1px solid #0a65c6;
	box-shadow: 0 8px 18px rgba(20, 83, 147, 0.08);
}

.btn-primary {
	color: #ffffff;
	background: linear-gradient(90deg, #35c9ff 0%, #0068d8 100%);
	border: 0;
	box-shadow: 0 8px 18px rgba(18, 168, 255, 0.24);
}

.hero-media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 580px;
	height: 300px;
}

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

.play-mark {
	position: absolute;
	z-index: 3;
	left: 50%;
	top: 50%;
	width: 58px;
	height: 58px;
	margin: -29px 0 0 -29px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.42);
}

.play-mark::before {
	content: "";
	position: absolute;
	left: 24px;
	top: 18px;
	border-top: 11px solid transparent;
	border-bottom: 11px solid transparent;
	border-left: 17px solid #ffffff;
}

.partner-carousel {
	padding: 34px 0 54px;
	background: #ffffff;
	overflow: hidden;
}

.partner-title {
	font-size: 18px;
	font-weight: 500;
	line-height: 28px;
	text-align: center;
	color: #4d5968;
}

.value-section {
	padding: 18px 0 84px;
	background: #ffffff;
}

.section-title {
	margin: 0 0 58px;
	font-size: 32px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	color: #004b9e;
	letter-spacing: 0;
}

.value-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px;
}

.value-item {
	text-align: center;
}

.value-item img {
	display: block;
	width: 200px;
	height: 200px;
	margin: 0 auto 20px;
	object-fit: contain;
}

.value-item h3 {
	margin: 0 0 14px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
	color: #1d2b3d;
}

.value-item p {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
	color: #48596d;
}

.module-section {
	padding: 72px 0;
	background: #ffffff;
}

.module-section-blue {
	background: #edf7ff;
}

.module-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 62px;
}

.module-reverse {
	flex-direction: row-reverse;
}

.module-media {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 560px;
	width: 560px;
	height: 280px;
}

.module-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.module-copy {
	width: 500px;
}

.module-copy h2 {
	margin: 0 0 28px;
	font-size: 28px;
	font-weight: 800;
	line-height: 1.2;
	color: #004b9e;
	letter-spacing: 0;
}

.module-copy p {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.8;
	color: #22344d;
}

.module-copy strong {
	font-weight: 800;
	color: #1b2c42;
}

.module-btn {
	width: 96px;
	height: 32px;
	margin-top: 8px;
	border-radius: 18px;
	background: linear-gradient(90deg, #35c9ff 0%, #0068d8 100%);
	color: #ffffff;
	font-size: 13px;
	font-weight: 600;
	box-shadow: 0 8px 16px rgba(18, 168, 255, 0.22);
}

.module-btn::after {
	content: "";
	width: 6px;
	height: 6px;
	margin-left: 7px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	transform: rotate(45deg);
}

.leader-section {
	padding: 70px 0 66px;
	text-align: center;
	background: #ffffff;
}

.leader-section h2 {
	margin: 0 0 10px;
	font-size: 26px;
	font-weight: 800;
	color: #004b9e;
	letter-spacing: 0;
}

.leader-section h3 {
	margin: 0 0 24px;
	font-size: 22px;
	font-weight: 700;
	color: #004b9e;
}

.leader-section p {
	width: 820px;
	margin: 0 auto;
	font-size: 15px;
	line-height: 1.85;
	color: #5a6b80;
}

.leader-actions {
	justify-content: center;
}

.faq-section {
	padding: 72px 0 86px;
	background:
		radial-gradient(circle at 78% 28%, rgba(255, 255, 255, 0.9), transparent 26%),
		linear-gradient(135deg, #e5f7ff 0%, #f6fbff 55%, #e4f5ff 100%);
}

.faq-head {
	position: relative;
	margin-bottom: 48px;
	text-align: center;
}

.faq-head h2 {
	margin: 0;
	font-size: 32px;
	font-weight: 800;
	color: #004b9e;
}

.faq-head a,
.faq-more {
	width: 110px;
	height: 30px;
	border-radius: 16px;
	background: linear-gradient(90deg, #35c9ff 0%, #0068d8 100%);
	color: #ffffff;
	font-size: 12px;
	font-weight: 600;
	box-shadow: 0 8px 16px rgba(18, 168, 255, 0.2);
}

.faq-head a {
	position: absolute;
	right: 70px;
	top: 8px;
}

.faq-list {
	width: 860px;
	margin: 0 auto;
}

.faq-item {
	margin-bottom: 18px;
	border-radius: 6px;
	background: #ffffff;
	box-shadow: 0 4px 10px rgba(32, 87, 148, 0.2);
	font-size: 14px;
	color: #3b4b5f;
	overflow: hidden;
	transition: box-shadow 0.2s ease;
}

.faq-item.active {
	box-shadow: 0 8px 18px rgba(32, 87, 148, 0.24);
}

.faq-question {
	position: relative;
	min-height: 40px;
	padding: 10px 52px 10px 22px;
	line-height: 20px;
	box-sizing: border-box;
	cursor: pointer;
}

.faq-question::before {
	content: "?";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-right: 8px;
	border: 1px solid #8597ac;
	border-radius: 50%;
	font-size: 12px;
	line-height: 18px;
	color: #5d7188;
}

.faq-question::after {
	content: "";
	position: absolute;
	right: 22px;
	top: 15px;
	width: 8px;
	height: 8px;
	border-right: 2px solid #8194aa;
	border-bottom: 2px solid #8194aa;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.faq-item.active .faq-question::after {
	top: 18px;
	transform: rotate(225deg);
}

.faq-answer {
	display: none;
	padding: 0 52px 18px 48px;
	font-size: 13px;
	line-height: 1.8;
	color: #5b6d82;
}

.faq-item.active .faq-answer {
	display: block;
}

.faq-more {
	margin: 6px 142px 0 auto;
}

#modalForm.modal-data {
	background:
		radial-gradient(circle at 42% 38%, rgba(28, 169, 255, 0.2), transparent 26%),
		rgba(9, 24, 44, 0.58);
	backdrop-filter: blur(4px);
}

#modalForm .modalform-from {
	width: 640px !important;
	min-height: 420px;
	height: auto !important;
	max-height: calc(100vh - 64px);
	left: 50% !important;
	top: 50% !important;
	margin-left: -320px !important;
	margin-top: 0 !important;
	transform: translateY(-50%);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 28px 70px rgba(6, 42, 85, 0.32);
	overflow: hidden;
}

#modalForm .modalform-from .close {
	position: absolute;
	z-index: 3;
	right: 18px;
	top: 18px;
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.18);
	color: #ffffff;
	font-size: 0;
	line-height: 30px;
	text-align: center;
	opacity: 1;
	cursor: pointer;
}

#modalForm .modalform-from .close::before,
#modalForm .modalform-from .close::after {
	content: "";
	position: absolute;
	left: 9px;
	top: 14px;
	width: 12px;
	height: 2px;
	border-radius: 2px;
	background: #ffffff;
}

#modalForm .modalform-from .close::before {
	transform: rotate(45deg);
}

#modalForm .modalform-from .close::after {
	transform: rotate(-45deg);
}

#modalForm .modalform-from .modalform-from-header {
	position: relative;
	width: 100%;
	height: 92px;
	padding: 26px 74px 0 34px;
	border-radius: 18px 18px 0 0;
	background:
		radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.3), transparent 22%),
		linear-gradient(100deg, #58d6ff 0%, #1598f5 52%, #0068d8 100%);
	color: #ffffff;
	font-size: 22px;
	font-weight: 700;
	line-height: 28px;
	text-align: left;
	box-sizing: border-box;
}

#modalForm .modalform-from .modalform-from-header::after {
	content: "提交后，专属顾问将尽快与您联系";
	display: block;
	margin-top: 8px;
	font-size: 13px;
	font-weight: 400;
	line-height: 18px;
	color: rgba(255, 255, 255, 0.86);
}

#modalForm .modalform-from .form {
	height: auto !important;
	max-height: calc(100vh - 236px);
	padding: 28px 42px 18px;
	overflow: auto;
	box-sizing: border-box;
}

#modalForm .modalform-from .form .input-item {
	display: flex;
	align-items: center;
	height: 46px;
	margin-bottom: 16px;
}

#modalForm .modalform-from .form .description-input {
	align-items: flex-start;
	height: 88px !important;
}

#modalForm .modalform-from .form .input-item .form-label {
	flex: 0 0 104px;
	width: 104px;
	padding-right: 16px;
	text-align: right;
	box-sizing: border-box;
}

#modalForm .modalform-from .form .input-item .form-label .label {
	font-size: 15px;
	color: #33445c;
}

#modalForm .modalform-from .form .input-item .form-label .input-item-required {
	margin-right: 3px;
	color: #ff4b55;
}

#modalForm .modalform-from input,
#modalForm .modalform-from textarea {
	width: 430px;
	border: 1px solid #dce8f5;
	border-radius: 8px;
	background: #f8fbff;
	color: #24364d;
	font-size: 15px;
	box-sizing: border-box;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

#modalForm .modalform-from input {
	height: 46px;
	line-height: 46px;
	padding: 0 14px;
}

#modalForm .modalform-from textarea {
	height: 88px;
	padding: 10px 14px;
	line-height: 22px;
	resize: none;
}

#modalForm .modalform-from input:focus,
#modalForm .modalform-from textarea:focus {
	border-color: #12a8ff;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(18, 168, 255, 0.12);
	outline: none;
}

#modalForm .modalform-from .input-item-piccode input {
	flex: 0 0 276px;
	width: 276px;
	float: none;
	border-radius: 8px 0 0 8px;
}

#modalForm .modalform-from .input-item-piccode .form-label {
	float: none;
}

#modalForm .modalform-from .input-item-piccode .piccode-img {
	flex: 0 0 154px;
	width: 154px;
	height: 46px;
	float: none;
	border: 1px solid #dce8f5;
	border-left: 0;
	border-radius: 0 8px 8px 0;
	background: #ffffff;
	box-sizing: border-box;
	overflow: hidden;
}

#modalForm .modalform-from .input-item-piccode .piccode-img img {
	width: 152px;
	height: 44px;
}

#modalForm .modalform-from .input-item-vertycode input {
	flex: 0 0 292px;
	width: 292px;
	border-radius: 8px 0 0 8px;
}

#modalForm .modalform-from .input-item-vertycode .signin-phone-code {
	flex: 0 0 138px;
	width: 138px;
	height: 46px;
	margin-left: 0;
	border: 0;
	border-radius: 0 8px 8px 0;
	background: linear-gradient(90deg, #edf8ff 0%, #eaf3ff 100%);
	color: #0068d8;
	font-size: 14px;
	font-weight: 600;
	line-height: 46px;
	box-sizing: border-box;
}

#modalForm .modalform-from .input-item-vertycode .signin-phone-code[disabled] {
	color: #8293a8;
	background: #eef3f8;
	cursor: not-allowed;
}

#modalForm .modalForm-other-form {
	padding-top: 4px;
}

#modalForm .modalform-from .modalform-from-button {
	width: 430px;
	height: 48px;
	margin: 0 0 28px 146px;
	border-radius: 24px;
	background: linear-gradient(90deg, #35c9ff 0%, #1598f5 52%, #0068d8 100%);
	box-shadow: 0 12px 24px rgba(18, 168, 255, 0.26);
	color: #ffffff;
	font-size: 17px;
	font-weight: 700;
	line-height: 48px;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

#modalForm .modalform-from .modalform-from-button:hover {
	background: linear-gradient(90deg, #35c9ff 0%, #1598f5 52%, #0068d8 100%);
	box-shadow: 0 14px 28px rgba(18, 168, 255, 0.34);
	transform: translateY(-1px);
}

/* 20260601 product detail alignment */
.xcgl-page { min-width: 0; }
.xcgl-container { width: min(88vw, 1320px); }
.xcgl-page .hero-inner { display: grid; grid-template-columns: minmax(420px, 0.92fr) minmax(520px, 1.08fr); column-gap: clamp(72px, 6vw, 104px); align-items: center; justify-content: initial; min-height: 440px; }
.xcgl-page .hero-copy { grid-column: 1; width: 100%; max-width: 520px; }
.xcgl-page .hero-copy p { width: auto; max-width: 520px; }
.xcgl-page .hero-media { grid-column: 2; justify-self: end; width: 100%; max-width: 620px; height: 330px; box-sizing: border-box; overflow: hidden; }
.xcgl-page .hero-media img, .xcgl-page .hero-media video, .xcgl-page .hero-screen video { display: block; width: 100%; height: 100%; object-fit: contain; }
.xcgl-page .module-inner { display: grid; grid-template-columns: minmax(420px, 0.92fr) minmax(520px, 1.08fr); column-gap: clamp(72px, 6vw, 104px); align-items: center; justify-content: initial; gap: 0; }
.xcgl-page .module-media, .xcgl-page .module-inner > img { grid-column: 1; grid-row: 1; justify-self: start; width: 100%; max-width: 560px; height: 260px; box-sizing: border-box; object-fit: contain; }
.xcgl-page .module-media img, .xcgl-page .module-inner > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.xcgl-page .module-reverse .module-media, .xcgl-page .module-reverse > img { grid-column: 2; justify-self: end; }
.xcgl-page .module-copy { grid-column: 2; grid-row: 1; justify-self: end; width: 100%; max-width: 520px; }
.xcgl-page .module-reverse .module-copy { grid-column: 1; justify-self: start; }


/* 20260602 faq buttons right align */
.faq-section .faq-head{width:860px !important;max-width:100%;margin-left:auto !important;margin-right:auto !important;}
.faq-section .faq-head a{right:0 !important;}
.faq-section .faq-more{display:flex !important;margin:6px calc((100% - 860px) / 2) 0 auto !important;}

/* 20260602 detail hero and faq width */
.hero-inner{min-height:620px !important;}
.personnel-hero,.bid-hero,.budget-hero,.inquiry-hero,.contract-hero,.material-hero,.device-hero,.progress-hero,.quality-safety-hero,.xcgl-hero,.tax-hero,.capital-hero,.document-hero,.joint-fund-hero{min-height:620px !important;}
.faq-section{background:url("../../images/faq-banner-bg.png") no-repeat center center !important;background-size:100% 100% !important;}
.faq-section .faq-head,.faq-section .faq-list{width:min(88vw, 1320px) !important;max-width:1320px !important;}
.faq-section .faq-head{margin-left:auto !important;margin-right:auto !important;}
.faq-section .faq-head a{right:0 !important;}
.faq-section .faq-more{display:flex !important;margin:6px max(calc((100% - min(88vw, 1320px)) / 2), 0px) 0 auto !important;}

/* 20260602 leader section width */
.leader-section > div{width:min(88vw, 1320px) !important;max-width:1320px !important;margin-left:auto !important;margin-right:auto !important;}
.leader-section p{width:100% !important;max-width:1320px !important;}
