:root {
	--soft-bg: #F0F2F0;
	--pine: #0D2A22;
	--gold: #C5A059;
	--gold-bright: #E8D0A1;
	--gold-dark: #8E6D31;
	--gold-light: #F1D9A7;
	--ivory: #F9F9F7;
	--text-main: #1A1A1A;
	--white: #ffffff;
	--light-gold: rgba(197, 160, 89, 0.15);
	--glass: rgba(255, 255, 255, 0.8);
	--border-soft: rgba(13, 42, 34, 0.08);
	--border-light: rgba(13, 42, 34, 0.08);
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: "PingFang SC", "Hiragino Sans GB", "Source Han Serif CN", serif;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--ivory);
	color: var(--text-main);
	line-height: 1.7;
}

/* ------------ 导航栏 ------------ */
.navbar {
	position: fixed;
	top: 0;
	width: 100%;
	height: 90px;
	background: rgba(13, 42, 34, 0.98);
	backdrop-filter: blur(15px);
	z-index: 1000;
	border-bottom: 3px solid var(--gold);
}

.nav-container {
	max-width: 1400px;
	margin: 0 auto;
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px;
}

/* --- LOGO --- */
.qs-logo a {
	display: flex;
	align-items: center;
	gap: 15px;
	text-decoration: none;
}

.qs-logo img {
	display: block;
	position: relative;
	top: 3px;
	height: 80px;
}

.qs-logo:hover {
	transform: translateY(-1px);
}

.nav-links {
	display: flex;
	list-style: none;
}

.nav-links li {
	margin-left: 20px;
}

.nav-links a {
	text-decoration: none;
	color: #fff;
	font-size: 14px;
	letter-spacing: 1px;
	padding: 8px 20px;
	border-radius: 100px;
	transition: all 0.3s ease;
}

.nav-links a.active {
	background: var(--gold);
	color: var(--pine) !important;
	font-weight: bold;
}

.nav-links a:hover:not(.active) {
	background: rgba(255, 255, 255, 0.1);
}

/* 手机菜单逻辑 */
#menu-btn {
	display: none;
}

.menu-icon {
	display: none;
	cursor: pointer;
	color: var(--gold);
	font-size: 28px;
}

@media (max-width: 1024px) {
	.nav-links {
		position: fixed;
		top: 90px;
		left: -100%;
		width: 100%;
		height: 0;
		overflow: hidden;
		flex-direction: column;
		background: var(--pine);
		transition: 0.4s;
	}

	#menu-btn:checked ~ .nav-links {
		height: 100vh;
		left: 0;
		padding-top: 50px;
	}

	.nav-links li {
		margin: 20px 0;
		text-align: center;
	}

	.menu-icon {
		display: block;
	}
}

.pine-bg {
	padding: 30px 0;
	background-color: var(--pine);
	color: var(--white);
}

.soft-bg {
	padding: 30px 0;
	background-color: var(--soft-bg);
}

.white-bg {
	padding: 30px 0;
	background-color: var(--white);
}

/* ------------ 走马灯 ------------ */
.carousel-out {
	max-width: 1400px;
	margin: 90px auto 10px;
	padding: 0 20px;
}

.carousel-box {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.1);
}

.carousel-box .carousel-slides {
	display: flex;
	transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

.carousel-box .carousel-slide {
	flex-shrink: 0;
	width: 100%;
	aspect-ratio: 2490 / 1020;
	object-fit: cover;
	overflow: hidden;
}

.carousel-box .carousel-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.carousel-box .nav-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 60px;
	height: 60px;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	cursor: pointer;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.carousel-box:hover .nav-btn {
	opacity: 1;
	visibility: visible;
}

.carousel-box .prev-btn {
	left: 40px;
	transform: translate(-20px, -50%);
}

.carousel-box .next-btn {
	right: 40px;
	transform: translate(20px, -50%);
}

.carousel-box:hover .prev-btn {
	transform: translate(0, -50%);
}

.carousel-box:hover .next-btn {
	transform: translate(0, -50%);
}

.carousel-box .nav-btn:hover {
	background: var(--gold);
	border-color: var(--gold);
	box-shadow: 0 0 20px rgba(197, 160, 89, 0.4);
}

.carousel-box .nav-btn svg {
	fill: #fff;
	width: 24px;
	height: 24px;
}

/* 轮播点容器 */
.carousel-box .carousel-dots {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 12px;
	z-index: 10;
	padding: 12px 24px;
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(0, 0, 0, 0.05);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 10px 15px -3px rgba(0, 0, 0, 0.03);
	border-radius: 100px;
	visibility: hidden;
}

.carousel-box .dot {
	width: 10px;
	height: 10px;
	background: #E5E5E5;
	border-radius: 50%;
	cursor: pointer;
	position: relative;
	transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.carousel-box .dot::after {
	content: '';
	position: absolute;
	inset: -10px;
	border-radius: 50%;
}

.carousel-box .dot:hover {
	background: var(--gold);
	opacity: 0.6;
	transform: scale(1.2);
}

.carousel-box .dot.active {
	width: 32px;
	height: 8px;
	background: var(--gold);
	border-radius: 100px;
	opacity: 1;
	transform: scale(1);
	box-shadow: 0 4px 10px rgba(197, 160, 89, 0.3);
}

.carousel-box .dot.active {
	background: var(--gold);
	width: 30px;
	border-radius: 6px;
	transform: scale(1);
	box-shadow: 0 2px 10px rgba(197, 160, 89, 0.4);
}

@media (prefers-color-scheme: light) {
	.carousel-box .carousel-dots {
		background: rgba(255, 255, 255, 0.6);
		border: 1px solid rgba(13, 42, 34, 0.15);
	}
}

@media (max-width: 768px) {
	.carousel-box .carousel-slide {
		height: 240px;
	}

	.carousel-box .nav-btn {
		display: none;
	}
}

/* ------------ 首页-企业介绍 ------------ */
.qs-info {
	max-width: 1400px;
	margin: 90px auto 50px;
	padding: 0 20px;
	position: relative;
}

.qs-info .bg-art {
	position: absolute;
	top: -50px;
	right: -20px;
	width: 600px;
	height: 600px;
	background: linear-gradient(135deg, #e2e2df 0%, #d6d6d2 100%);
	border-radius: 80px;
	transform: rotate(-5deg);
	z-index: 0;
	opacity: 0.5;
	box-shadow: inset 0 0 100px rgba(255, 255, 255, 0.5);
}

.qs-info .intro-card {
	position: relative;
	z-index: 1;
	background: var(--glass);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border-radius: 50px;
	border: 1px solid rgba(255, 255, 255, 0.4);
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	min-height: 600px;
	overflow: hidden;
	box-shadow: 0 40px 100px rgba(13, 42, 34, 0.05);
}

.qs-info .content-side {
	padding: 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.qs-info .label-group {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 30px;
}

.qs-info .since-tag {
	background: var(--pine);
	color: var(--gold);
	padding: 4px 12px;
	border-radius: 4px;
	font-weight: 900;
	font-size: 12px;
	letter-spacing: 1px;
}

.qs-info .seo-keywords {
	font-size: 13px;
	color: var(--gold);
	letter-spacing: 2px;
	font-weight: bold;
}

.qs-info h1 {
	font-size: 46px;
	color: var(--pine);
	margin: 0 0 25px 0;
	line-height: 1.2;
	font-weight: 900;
}

.qs-info .main-text {
	font-size: 18px;
	line-height: 2;
	color: #333;
	margin-bottom: 40px;
	text-align: justify;
}

.qs-info .main-text strong {
	color: var(--pine);
	position: relative;
	z-index: 1;
	padding: 0 4px;
}

.qs-info .main-text strong::after {
	content: '';
	position: absolute;
	bottom: 4px;
	left: 0;
	width: 100%;
	height: 8px;
	background: rgba(197, 160, 89, 0.2);
	z-index: -1;
}

.qs-info .visual-side {
	background: var(--pine);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

/* 模拟金属光泽的圆形物体 */
.qs-info .metal-circle {
	width: 380px;
	height: 380px;
	background: linear-gradient(135deg, #1a3a31 0%, #0D2A22 50%, #1a3a31 100%);
	border-radius: 50%;
	border: 1px solid rgba(197, 160, 89, 0.3);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 50px 100px rgba(0, 0, 0, 0.5);
	transition: transform 0.6s ease;
}

.qs-info .metal-bom {
	position: absolute;
	border: 1px dashed rgba(197, 160, 89, 0.2);
	width: 85%;
	height: 85%;
	border-radius: 50%;
}

.qs-info .intro-card:hover .metal-circle {
	transform: scale(1.05) rotate(5deg);
}

/* 内部核心图标 */
.qs-info .core-icon {
	text-align: center;
	color: var(--gold);
}

.qs-info .core-icon .big-num {
	font-size: 50px;
	font-weight: 900;
	display: block;
	line-height: 1;
	margin-bottom: 10px;
}

.qs-info .core-icon .big-info {
	letter-spacing: 5px;
	font-size: 12px;
	opacity: 0.8;
}

/* 动态扫光按钮 */
.qs-info .action-btn {
	display: inline-block;
	padding: 18px 45px;
	background: var(--pine);
	color: var(--white);
	text-decoration: none;
	border-radius: 50px;
	font-weight: bold;
	letter-spacing: 2px;
	position: relative;
	overflow: hidden;
	transition: all 0.3s;
	border: 1px solid var(--pine);
}

.qs-info .action-btn:hover {
	background: var(--white);
	color: var(--pine);
	box-shadow: 0 10px 30px rgba(13, 42, 34, 0.15);
}

/* --- 鼠标响应效果：全局光随影动 --- */
.qs-info .intro-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
	transition: 0.8s;
	z-index: 5;
	pointer-events: none;
}

.qs-info .intro-card:hover::before {
	left: 100%;
}

@media (max-width: 1400px) {
	.qs-info {
		margin-top: 40px;
	}

	.qs-info .bg-art {
		display: none;
	}
}

@media (max-width: 1024px) {
	.qs-info .intro-card {
		grid-template-columns: 1fr;
	}

	.qs-info .visual-side {
		height: 300px;
	}

	.qs-info .content-side {
		padding: 40px 20px 20px;
	}

	.qs-info h1 {
		font-size: 32px;
	}
}

/* --- header --- */
.header-box {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
}

.header-box .line {
	height: 1px;
	flex: 1;
	max-width: 150px;
	background: linear-gradient(to right, transparent, var(--gold), transparent);
}

.header-box .title-wrap {
	text-align: center;
}

.header-box h2 {
	font-size: 36px;
	color: var(--pine);
	margin: 0;
	font-weight: 900;
	letter-spacing: 4px;
}

.header-box .en {
	font-size: 12px;
	color: var(--gold);
	letter-spacing: 5px;
	font-weight: bold;
	text-transform: uppercase;
}

/* ------------ cap-box ------------ */
.cap-box {
	max-width: 1400px;
	margin: 20px auto;
	padding: 0 20px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
}

.cap-box .cap-card {
	position: relative;
	background: var(--white);
	border-radius: 35px;
	padding: 50px;
	overflow: hidden;
	border: 1px solid var(--border-light);
	transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
	display: flex;
	flex-direction: column;
	cursor: pointer;
}

.cap-box .cap-card:hover {
	transform: translateY(-12px);
	border-color: var(--gold);
	box-shadow: 0 40px 80px rgba(13, 42, 34, 0.08);
}

.cap-box .cap-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 30px;
}

.cap-box .cap-img-box {
	width: 132px;
	height: 90px;
	border-radius: 15px;
	overflow: hidden;
	border: 2px solid #f0f0f0;
	flex-shrink: 0;
	transition: 0.5s;
	background: #eee;
}

.cap-box .cap-img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 0.8s;
}

.cap-box .cap-card:hover .cap-img-box {
	border-color: var(--gold);
	transform: translateY(-5px) scale(1.05);
}

.cap-box .cap-num {
	font-size: 48px;
	font-family: 'Arial Black', sans-serif;
	font-weight: 900;
	color: rgba(13, 42, 34, 0.04);
	margin-top: -10px;
}

.cap-box .cap-content h3 {
	font-size: 26px;
	color: var(--pine);
	margin: 0 0 15px 0;
	font-weight: 800;
}

.cap-box .cap-zh {
	font-size: 15px;
	color: #444;
	line-height: 1.8;
	margin-bottom: 15px;
	text-align: justify;
}

.cap-box .cap-en {
	font-size: 12px;
	color: #999;
	line-height: 1.5;
	font-family: Arial, sans-serif;
	padding-top: 15px;
	border-top: 1px solid #f5f5f5;
}

.cap-box .cap-card:hover .cap-en {
	color: var(--gold);
	border-top-color: rgba(197, 160, 89, 0.3);
}

@media (max-width: 1024px) {
	.cap-box {
		grid-template-columns: 1fr;
	}

	.cap-box .cap-card {
		padding: 30px 20px 20px;
	}
}

/* ------------ page-title ------------ */
.services-box {
	max-width: 1400px;
	margin: 40px auto;
	padding: 0 20px;
}

/* --- 紧凑网格 --- */
.services-grid-compact {
	margin-top: 15px;
	display: grid;
	grid-template-columns: repeat(4, 1fr); /* 4列 */
	gap: 15px; /* 缩小间距 */
}

.service-mini-card {
	background: var(--white);
	height: 100px; /* 显著降低高度 */
	border-radius: 16px;
	padding: 0 25px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	border: 1px solid rgba(13, 42, 34, 0.05);
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	position: relative;
	cursor: pointer;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
	overflow: hidden;
}

/* 悬停效果：向右平移并变色 */
.service-mini-card:hover {
	background: var(--pine);
	transform: translateX(8px);
	box-shadow: 0 15px 30px rgba(13, 42, 34, 0.12);
	border-color: var(--pine);
}

/* 左侧装饰色块 */
.service-mini-card::after {
	content: '';
	position: absolute;
	left: 0;
	top: 25%;
	height: 50%;
	width: 4px;
	background: var(--gold);
	border-radius: 0 4px 4px 0;
	transition: 0.3s;
}

.service-mini-card:hover::after {
	height: 100%;
	top: 0;
}

.services-box .mini-name {
	font-size: 19px;
	font-weight: 700;
	color: var(--pine);
	letter-spacing: 1px;
	z-index: 2;
	transition: 0.3s;
}

.service-mini-card:hover .mini-name {
	color: var(--white);
	transform: translateX(5px);
}

/* 装饰性水印：微缩编号 */
.services-box .mini-index {
	position: absolute;
	right: 15px;
	bottom: -5px;
	font-size: 40px;
	font-weight: 900;
	color: rgba(13, 42, 34, 0.03);
	font-style: italic;
	transition: 0.3s;
}

.service-mini-card:hover .mini-index {
	color: rgba(197, 160, 89, 0.1);
	transform: translateY(-5px);
}

@media (max-width: 1024px) {
	.services-grid-compact {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.services-grid-compact {
		grid-template-columns: 1fr;
	}

	.service-mini-card {
		height: 80px;
	}
}

/* ------------ 精品案例 ------------ */
.showcase-section {
	max-width: 1400px;
	margin: 20px auto;
	padding: 0 20px;
}

.case-grid {
	margin-top: 20px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
}

.case-item {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 24px;
	overflow: hidden;
	text-decoration: none;
	display: block;
	background: #f0f0f0;
	isolation: isolate;
}

.case-img-wrap {
	width: 100%;
	height: 100%;
	transition: transform 1.2s cubic-bezier(0.2, 1, 0.3, 1);
}

.case-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.case-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top,
	rgba(13, 42, 34, 0.95) 0%,
	rgba(13, 42, 34, 0.4) 50%,
	transparent 100%);
	opacity: 0;
	transition: opacity 0.5s ease;
	z-index: 1;
}

.case-info {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 40px;
	box-sizing: border-box;
	z-index: 2;
	color: var(--white);
	transform: translateY(20px);
	opacity: 0;
	transition: all 0.6s cubic-bezier(0.2, 1, 0.3, 1);
}

.case-item:hover .case-img-wrap {
	transform: scale(1.1);
}

.case-item:hover .case-overlay {
	opacity: 1;
}

.case-item:hover .case-info {
	opacity: 1;
	transform: translateY(0);
}

.case-tag {
	font-size: 12px;
	color: var(--gold);
	letter-spacing: 2px;
	font-weight: bold;
	display: block;
	margin-bottom: 8px;
}

.case-title {
	font-size: 26px;
	font-weight: 800;
	margin: 0 0 12px 0;
}

.case-desc {
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
	max-width: 85%;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media (max-width: 768px) {
	.case-grid {
		grid-template-columns: 1fr;
	}

	.case-info {
		padding: 25px;
	}

	.case-title {
		font-size: 22px;
	}
}

/* ------------ 首页底部 ------------ */
.index-footer {
	background: #0D2A22;
	color: #ffffff;
	padding: 80px 0 40px;
	position: relative;
	overflow: hidden;
	font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
}

.index-footer .footer-box {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 30px;
	position: relative;
	z-index: 5;
}

.index-footer .footer-main-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 120px;
	margin-bottom: 60px;
}

.index-footer .manifesto-text {
	font-size: 14px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.7);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding-bottom: 15px;
}

.index-footer .manifesto-text strong {
	color: var(--gold);
}

.index-footer .since-box {
	display: flex;
	align-items: center;
	gap: 15px;
	padding-top: 20px;
}

.index-footer .since-year {
	border: 1px solid var(--gold);
	padding: 4px 10px;
	color: var(--gold);
	font-weight: 900;
	border-radius: 4px;
}

.index-footer .since-title {
	font-size: 16px;
	font-weight: 800;
}

.index-footer .since-btm {
	font-size: 12px;
	opacity: 0.4;
	font-weight: 400;
}

.index-footer .column-header {
	margin-bottom: 20px;
}

.index-footer .column-header .en-tag {
	font-size: 11px;
	color: #C5A059;
	letter-spacing: 3px;
	display: block;
	margin-bottom: 8px;
	font-weight: 800;
}

.index-footer .column-header h3 {
	font-size: 24px;
	font-weight: 800;
	margin: 0;
	letter-spacing: 1px;
}

.index-footer .address {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.6);
	margin-bottom: 20px;
	line-height: 1.6;
}

.index-footer .contact-item {
	margin-bottom: 25px;
}

.index-footer .contact-item .label {
	display: block;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.4);
	margin-bottom: 8px;
}

.index-footer .contact-item .label small {
	color: #C5A059;
	margin-left: 8px;
	font-weight: 800;
	letter-spacing: 1px;
}

.index-footer .phone-link {
	display: block;
	font-size: 22px;
	font-weight: 700;
	color: #C5A059;
	text-decoration: none;
	line-height: 1.4;
	transition: 0.3s;
}

.index-footer .phone-link:hover {
	color: #ffffff;
	transform: translateX(5px);
}

.index-footer .footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding-top: 30px;
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.3);
}

.index-footer .footer-bg-watermark {
	position: absolute;
	right: 20px;
	bottom: -40px;
	font-size: 160px;
	font-weight: 900;
	color: rgba(255, 255, 255, 0.02);
	pointer-events: none;
	user-select: none;
}

@media (max-width: 1024px) {
	.index-footer .footer-bg-watermark {
		font-size: 64px;
		bottom: -20px;
	}

	.index-footer .footer-main-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.index-footer .footer-column {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.index-footer .since-box, .index-footer .footer-column:last-child {
		display: none;
	}
}

/* ------------ page-title ------------ */
.page-title {
	padding: 100px 0 40px;
	text-align: center;
}

.page-title h1 {
	display: inline-block;
	font-size: 52px;
	font-weight: 900;
	letter-spacing: 12px;
}

.page-title h2 {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 5px;
	color: var(--gold);
}

/* ------------ 关于秋松 ------------ */
.main-about {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
}

.main-about .stats-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.main-about .stat-card {
	background: #fff;
	border-radius: 40px;
	padding: 60px 40px;
	text-align: center;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.03);
	border: 1px solid #eee;
	transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	position: relative;
	overflow: hidden;
	cursor: pointer;
}

.main-about .stat-card:hover {
	transform: translateY(-15px) scale(1.02);
	box-shadow: 0 40px 80px rgba(13, 42, 34, 0.15);
	border-color: #C5A059;
}

.main-about .stat-num {
	font-size: 48px;
	font-family: Arial, serif;
	font-weight: 900;
	color: var(--gold);
	margin-bottom: 10px;
}

.main-about .stat-label {
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 2px;
}

.main-about .stat-en {
	font-size: 11px;
	color: #999;
	margin-top: 5px;
	text-transform: uppercase;
}

@media (max-width: 1024px) {
	.main-about .stats-grid {
		grid-template-columns: 1fr;
		margin-top: 40px;
	}
}

.main-brand {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin: 30px auto;
}

.main-brand .story-block {
	position: relative;
	background: var(--white);
	border-radius: 30px;
	padding: 60px 80px;
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, 0.05);
	transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
	cursor: pointer;
	text-align: left;
}

.main-brand .story-block:hover {
	transform: translateY(-12px) scale(1.01);
	box-shadow: 0 30px 60px rgba(13, 42, 34, 0.15);
}

.main-brand .story-block::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 50%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(197, 160, 89, 0.1), transparent);
	transition: none;
	z-index: 1;
}

.main-brand .story-block:hover::before {
	left: 150%;
	transition: all 0.8s ease-in-out;
}

.main-brand .story-block::after {
	content: '';
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	border-top: 2px solid var(--gold);
	border-right: 2px solid var(--gold);
	opacity: 0.3;
	transition: 0.5s;
}

.main-brand .story-block:hover::after {
	opacity: 1;
	width: 60px;
	height: 60px;
}

.main-brand .content-box {
	position: relative;
	z-index: 2;
}

.main-brand .label-wrap {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 20px;
}

.main-brand .gold-line {
	width: 40px;
	height: 2px;
	background: var(--gold);
	transition: width 0.5s ease;
}

.main-brand .story-block:hover .gold-line {
	width: 80px;
}

.main-brand .en-tag {
	font-size: 12px;
	color: var(--gold);
	letter-spacing: 4px;
	text-transform: uppercase;
	font-weight: bold;
}

.main-brand .story-block h2 {
	font-size: 36px;
	color: var(--pine);
	margin-bottom: 25px;
	line-height: 1.2;
	font-weight: 800;
}

.main-brand .zh-desc {
	font-size: 18px;
	color: #333;
	line-height: 1.8;
	max-width: 85%;
	margin-bottom: 20px;
	text-align: justify;
}

.main-brand .en-desc {
	font-size: 14px;
	color: #999;
	line-height: 1.6;
	font-family: "Arial", sans-serif;
	font-style: italic;
	border-left: 2px solid var(--light-gold);
	padding-left: 20px;
	transition: all 0.5s;
}

.main-brand .story-block:hover .en-desc {
	color: var(--pine);
	border-left-color: var(--gold);
}

.main-brand .watermark {
	position: absolute;
	bottom: -30px;
	right: 40px;
	font-size: 120px;
	font-weight: 900;
	color: rgba(13, 42, 34, 0.03);
	pointer-events: none;
	text-transform: uppercase;
	z-index: 0;
	transition: 0.5s;
}

.main-brand .story-block:hover .watermark {
	transform: scale(1.1) translateY(-10px);
	color: rgba(197, 160, 89, 0.05);
}

@media (max-width: 768px) {
	.main-brand .story-block {
		padding: 40px 20px;
	}

	.main-brand .story-block h2 {
		font-size: 24px;
	}

	.main-brand .zh-desc {
		max-width: 100%;
		font-size: 16px;
	}
}

/* ------------ 期待合作 ------------ */
.coop-invite {
	background: var(--pine);
	border-radius: 60px;
	padding: 60px;
	color: #fff;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.coop-invite h2 {
	font-size: 42px;
	margin-bottom: 30px;
	color: var(--gold);
}

.coop-invite p {
	font-size: 18px;
	opacity: 0.8;
	margin-bottom: 40px;
	letter-spacing: 1px;
}

.coop-btn {
	display: inline-block;
	padding: 18px 50px;
	border: 1px solid var(--gold);
	color: var(--gold);
	text-decoration: none;
	border-radius: 100px;
	font-weight: bold;
	transition: 0.3s;
}

.coop-btn:hover {
	background: var(--gold);
	color: var(--pine);
}

.coop-foot {
	margin-top: 40px;
	font-size: 12px;
	color: var(--gold);
	letter-spacing: 5px;
	opacity: 0.5;
}

@media (max-width: 768px) {
	.coop-invite {
		padding: 40px 20px;
	}

	.coop-invite h2 {
		font-size: 32px;
	}
}

/* ------------ 智造基石 ------------ */
.main-strength {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
}

.main-strength .base-wrapper {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-bottom: 30px;
}

.main-strength .base-card {
	background: var(--white);
	border-radius: 40px;
	padding: 50px;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	gap: 40px;
	transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
	border: 1px solid rgba(0, 0, 0, 0.05);
	cursor: pointer;
}

.main-strength .base-card:hover {
	transform: translateY(-15px);
	box-shadow: 0 30px 60px rgba(13, 42, 34, 0.15);
	border-color: var(--gold);
}

.main-strength .base-num {
	position: absolute;
	right: 30px;
	top: -20px;
	font-size: 180px;
	font-family: Arial, sans-serif;
	font-weight: 900;
	color: rgba(13, 42, 34, 0.04);
	z-index: 1;
	transition: 0.5s;
}

.main-strength .base-card:hover .base-num {
	color: rgba(197, 160, 89, 0.1);
	transform: scale(1.1);
}

.main-strength .base-img {
	width: 132px;
	height: 90px;
	border-radius: 15px;
	overflow: hidden;
	flex-shrink: 0;
	z-index: 2;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
	border: 2px solid #fff;
}

.main-strength .base-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 0.5s;
}

.main-strength .base-card:hover .base-img img {
	transform: scale(1.1);
}

.main-strength .base-info {
	z-index: 2;
	flex-grow: 1;
}

.main-strength .base-info h3 {
	font-size: 26px;
	font-weight: 900;
	margin-bottom: 12px;
	color: var(--pine);
	display: flex;
	align-items: center;
	gap: 15px;
}

.main-strength .base-info h3::before {
	content: "";
	width: 30px;
	height: 2px;
	background: var(--gold);
}

.main-strength .base-info h3 span {
	font-size: 15px;
	color: var(--gold);
	font-weight: 300;
	opacity: 0.8;
	font-style: italic;
}

.main-strength .base-info p {
	font-size: 16px;
	color: #555;
	line-height: 1.8;
	text-align: justify;
	margin-bottom: 8px;
}

.main-strength .base-info .en-text {
	font-size: 13px;
	color: var(--gold);
	font-family: Arial, serif;
	opacity: 0.7;
	letter-spacing: 0.5px;
}

@media (max-width: 768px) {
	.main-strength .base-card {
		flex-direction: column;
		padding: 40px 20px;
		text-align: center;
	}

	.main-strength .base-info h3 {
		flex-direction: column;
		justify-content: center;
		gap: 10px;
	}

	.main-strength .base-info h3 span {
		display: block;
		position: relative;
		top: -10px;
	}

	.main-strength .base-num {
		font-size: 120px;
		top: 0;
	}
}

/* ------------ 产品展示 ------------ */
.gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-bottom: 30px;
}

.gallery-item {
	position: relative;
	aspect-ratio: 132 / 90;
	background: var(--white);
	border-radius: 24px;
	overflow: hidden;
	cursor: pointer;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.gallery-item::before {
	content: '';
	position: absolute;
	top: 0;
	left: -150%;
	width: 100%;
	height: 100%;
	background: linear-gradient(120deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 70%);
	transition: all 0.8s ease;
	z-index: 2;
}

.gallery-item:hover::before {
	left: 150%;
}

.gallery-item:hover img {
	transform: scale(1.1);
}

/* --- 预览层 --- */
#viewerOverlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(13, 42, 34, 0.98);
	display: none;
	z-index: 9999;
	justify-content: center;
	align-items: center;
	backdrop-filter: blur(15px);
	user-select: none;
	overflow: hidden;
}

#viewerOverlay .viewer-container {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: grab;
}

#viewerOverlay #viewerImg {
	max-width: 85%;
	max-height: 85%;
	transition: transform 0.1s ease-out;
	box-shadow: 0 0 60px rgba(0, 0, 0, 0.5);
	border-radius: 4px;
}

#viewerOverlay .v-btn {
	position: absolute;
	background: rgba(255, 255, 255, 0.08);
	border: none;
	cursor: pointer;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.3s;
	z-index: 10001;
}

#viewerOverlay .v-btn:hover {
	background: var(--gold);
	transform: scale(1.1);
}

#viewerOverlay .v-btn svg {
	width: 26px;
	height: 26px;
	fill: white;
}

#viewerOverlay .btn-close {
	top: 40px;
	right: 40px;
	width: 50px;
	height: 50px;
}

#viewerOverlay .btn-prev {
	left: 40px;
	width: 60px;
	height: 60px;
}

#viewerOverlay .btn-next {
	right: 40px;
	width: 60px;
	height: 60px;
}

#viewerOverlay .toolbar {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(255, 255, 255, 0.1);
	padding: 8px 20px;
	border-radius: 50px;
	display: flex;
	gap: 15px;
	z-index: 10001;
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

#viewerOverlay .tool-btn {
	background: none;
	border: none;
	cursor: pointer;
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	transition: 0.2s;
}

#viewerOverlay .tool-btn:hover {
	background: rgba(255, 255, 255, 0.2);
}

#viewerOverlay .tool-btn svg {
	width: 22px;
	height: 22px;
	fill: white;
}

#viewerOverlay .tool-tip {
	position: absolute;
	top: -35px;
	font-size: 12px;
	background: var(--gold);
	padding: 2px 8px;
	border-radius: 4px;
	display: none;
}

#viewerOverlay .tool-btn:hover .tool-tip {
	display: block;
}

@media (max-width: 1024px) {
	.gallery-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.gallery-grid {
		grid-template-columns: 1fr;
	}
}

/* ------------ 精品案例 ------------ */
.main-cases {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
}

.main-cases .portfolio-list {
	display: flex;
	flex-direction: column;
	gap: 60px;
	margin-bottom: 30px;
}

.main-cases .portfolio-item {
	display: grid;
	grid-template-columns: 1fr 1fr; /* 左右各占一半 */
	background: var(--white);
	border-radius: 40px;
	overflow: hidden;
	transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	border: 1px solid rgba(0, 0, 0, 0.03);
	min-height: 450px;
}

.main-cases .portfolio-item:nth-child(even) .item-visual {
	order: 2;
}

.main-cases .portfolio-item:nth-child(even) .item-content {
	order: 1;
}

.main-cases .portfolio-item:hover {
	transform: translateY(-10px);
	box-shadow: 0 40px 80px rgba(13, 42, 34, 0.12);
	border-color: var(--gold);
}

.main-cases .item-visual {
	position: relative;
	overflow: hidden;
	background: #eee;
}

.main-cases .item-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.main-cases .portfolio-item:hover .item-visual img {
	transform: scale(1.1);
}

.main-cases .item-num {
	position: absolute;
	top: 40px;
	left: 40px;
	font-size: 120px;
	font-family: Arial, sans-serif;
	font-weight: 900;
	color: rgba(255, 255, 255, 0.3);
	line-height: 0.8;
	z-index: 2;
	pointer-events: none;
}

.main-cases .portfolio-item:nth-child(even) .item-num {
	left: auto;
	right: 40px;
}

.main-cases .item-content {
	padding: 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	transition: all 0.6s ease;
}

.main-cases .item-content .en-title {
	font-size: 13px;
	color: var(--gold);
	letter-spacing: 4px;
	margin-bottom: 15px;
	font-weight: bold;
}

.main-cases .item-content h2 {
	font-size: 40px;
	font-weight: 900;
	margin-bottom: 25px;
	position: relative;
}

.main-cases .item-content h2::after {
	content: "";
	display: block;
	width: 50px;
	height: 3px;
	background: var(--gold);
	margin-top: 15px;
}

.main-cases .item-content p {
	font-size: 18px;
	color: #555;
	line-height: 1.8;
	text-align: justify;
	margin-bottom: 40px;
}

.main-cases .btn-view {
	display: inline-block;
	width: fit-content;
	padding: 15px 45px;
	border: 1px solid var(--pine);
	text-decoration: none;
	color: var(--pine);
	border-radius: 100px;
	font-weight: bold;
	font-size: 14px;
	transition: 0.3s;
}

.main-cases .btn-view:hover {
	background: var(--pine);
	color: var(--gold);
}

@media (max-width: 1024px) {
	.main-cases .portfolio-item {
		grid-template-columns: 1fr;
	}

	.main-cases .portfolio-item:nth-child(even) .item-visual {
		order: 1;
	}

	.main-cases .portfolio-item:nth-child(even) .item-content {
		order: 2;
	}

	.main-cases .item-content {
		padding: 40px 20px;
	}

	.main-cases .item-num {
		font-size: 80px;
	}
}

/* ------------ 联系我们 ------------ */
.main-contact {
	max-width: 1400px;
	margin: 140px auto 0;
	padding: 0 20px;
}

/* --- 合作邀请板块样式 --- */
.main-contact .cooperation-wrap {
	margin: 30px auto;
	padding: 0;
}

.main-contact .cooperation-card {
	background: #ffffff;
	border-radius: 40px;
	padding: 40px 30px;
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(224, 210, 180, 0.4);
	box-shadow: 0 20px 50px rgba(13, 42, 34, 0.03);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.main-contact .cooperation-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 20%;
	height: 60%;
	width: 4px;
	background: var(--gold);
	border-radius: 0 4px 4px 0;
}

.main-contact .coop-text-area {
	max-width: 800px;
	position: relative;
	z-index: 2;
}

.main-contact .coop-title {
	font-size: 38px;
	font-weight: 900;
	color: var(--pine);
	margin-bottom: 12px;
	letter-spacing: 2px;
}

.main-contact .coop-title span {
	color: var(--gold);
	font-size: 16px;
	display: block;
	margin-bottom: 10px;
	letter-spacing: 4px;
	font-weight: normal;
}

.main-contact .coop-desc {
	font-size: 18px;
	color: #666;
	line-height: 1.8;
	letter-spacing: 1px;
}

.main-contact .coop-bg-icon {
	font-size: 150px;
	font-family: Arial, sans-serif;
	font-weight: 900;
	color: rgba(197, 160, 89, 0.05);
	position: absolute;
	right: 40px;
	user-select: none;
}

@media (max-width: 968px) {
	.main-contact .cooperation-card {
		flex-direction: column;
		text-align: center;
		padding: 30px 15px;
	}

	.main-contact .coop-title {
		font-size: 28px;
	}

	.main-contact .coop-bg-icon {
		display: none;
	}

	.main-contact .cooperation-card::before {
		display: none;
	}
}

/* ------------ contact-box ------------ */
.contact-box {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
}

.contact-box .contact-card {
	background: var(--white);
	border-radius: 24px;
	padding: 45px;
	position: relative;
	overflow: hidden;
	border: 1px solid var(--border-soft);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	display: flex;
	flex-direction: column;
}

.contact-box .contact-card:hover {
	transform: translateY(-8px);
	border-color: var(--gold);
	box-shadow: 0 20px 40px rgba(13, 42, 34, 0.12);
}

.contact-box .contact-card::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6px;
	background: var(--pine);
	opacity: 0.8;
}

.contact-box .contact-card:hover::after {
	background: var(--gold);
}

.contact-box .card-header {
	margin-bottom: 30px;
	border-bottom: 1px solid #f0f0f0;
	padding-bottom: 20px;
}

.contact-box .card-header h3 {
	font-size: 24px;
	color: var(--pine);
	font-weight: 800;
	margin-bottom: 8px;
}

.contact-box .card-header p {
	font-size: 15px;
	color: #666;
	line-height: 1.5;
}

.contact-box .contact-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.contact-box .contact-list .info-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.contact-box .contact-list .info-label {
	font-size: 14px;
	color: var(--gold);
	letter-spacing: 1.5px;
	font-weight: bold;
	opacity: 0.9;
}

.contact-box .contact-list .info-value, .contact-box .contact-list .info-value a {
	font-size: 18px;
	color: var(--pine);
	font-weight: 700;
	font-family: 'Helvetica Neue', Arial, sans-serif;
	text-decoration: none;
	transition: 0.3s;
}

.contact-box .contact-list .info-value:hover {
	color: var(--gold-dark);
	transform: translateX(5px);
}

.contact-box .contact-list .info-value.tel {
	font-size: 19px;
	letter-spacing: 0.5px;
}

.contact-box .contact-list .contact-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(120deg, transparent, rgba(197, 160, 89, 0.15), transparent);
	transition: 0.6s;
	z-index: 1;
}

.contact-box .contact-card:hover::before {
	left: 100%;
}

@media (max-width: 900px) {
	.contact-box {
		grid-template-columns: 1fr;
	}

	.contact-box .contact-card {
		padding: 30px;
		text-align: center;
	}

	.contact-box .contact-card::after {
		bottom: auto;
		width: 100%;
		height: 6px;
	}

	.contact-box .contact-list {
		grid-template-columns: 1fr;
	}
}

/* --------------- 通用底部 --------------- */
.site-footer {
	margin-top: 30px;
	background: #fff;
}

.footer-vision {
	max-width: 1400px;
	margin: 0 auto;
	padding: 100px 40px;
	text-align: center;
	border-top: 1px solid #eee;
}

.footer-vision .vision-main {
	font-size: 32px;
	font-weight: 900;
	color: var(--pine);
	letter-spacing: 12px;
	margin-bottom: 25px;
	position: relative;
	display: inline-block;
}

.footer-vision .vision-main::after {
	content: '';
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 3px;
	background: var(--gold);
}

.footer-vision .vision-sub {
	font-size: 16px;
	color: var(--gold);
	letter-spacing: 5px;
	margin-top: 40px;
	opacity: 0.9;
}

@media (max-width: 1024px) {
	.main-contact .contact-grid {
		grid-template-columns: 1fr;
		gap: 80px;
	}

	.main-contact .address-text {
		font-size: 28px;
	}

	.main-contact .phone-main {
		font-size: 36px;
	}
}

@media (max-width: 768px) {
	.footer-vision .vision-main {
		font-size: 20px;
		letter-spacing: 0;
	}
}

/* --------------- 有质感的底部 --------------- */
.f-box {
	background-color: var(--pine);
	color: white;
	padding: 60px 20px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.f-box .watermark {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 12vw;
	font-weight: 900;
	color: rgba(197, 160, 89, 0.04);
	white-space: nowrap;
	letter-spacing: 20px;
	pointer-events: none;
	text-transform: uppercase;
}

.f-box .content {
	position: relative;
	z-index: 2;
	text-align: center;
}

.f-box .corner-deco {
	position: absolute;
	width: 40px;
	height: 40px;
	border: 2px solid var(--gold);
	opacity: 0.5;
}

.f-box .top-left {
	top: 20px;
	left: 20px;
	border-right: none;
	border-bottom: none;
}

.f-box .bottom-right {
	bottom: 20px;
	right: 20px;
	border-left: none;
	border-top: none;
}

.f-box .years-highlight {
	font-size: 40px;
	font-weight: 100;
	color: var(--gold);
	margin: 10px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

.f-box .years-highlight::before, .f-box .years-highlight::after {
	content: "";
	height: 1px;
	width: 100px;
	background: var(--gold);
}

.f-box .slogan {
	background: linear-gradient(135deg, var(--gold-dark), var(--gold-light) 50%, var(--gold-dark));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	letter-spacing: 12px;
	font-weight: 600;
	margin: 20px 0;
	font-size: 28px;
}

.f-box .copyright {
	margin-top: 15px;
	font-size: 16px;
	letter-spacing: 2px;
}

@media (max-width: 1024px) {
	.f-box .slogan {
		letter-spacing: 0;
		font-size: 26px;
	}
}