/* ----- 全局重置 & 变量 ----- */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

:root {
	--bg-light: #F4F9FF;
	--card-white: rgba(255, 255, 255, 0.9);
	--glass-edge: rgba(255,255,255,0.5);
	--primary-dark: #0A2540;
	--primary-soft: #1D3B5C;
	--accent-blue: #2B6EF0;
	--accent-glow: #5B8DEF;
	--accent-soft: rgba(43, 110, 240, 0.1);
	--text-main: #112B42;
	--text-secondary: #2F4A6E;
	--border-light: #DAE5F5;
	--shadow-focus: 0 30px 50px -20px rgba(0,60,130,0.4);
	--shadow-card: 0 20px 35px -10px rgba(18, 52, 106, 0.15);
	--border-radius-card: 36px;
	--transition: all 0.5s cubic-bezier(0.23, 0.98, 0.32, 1);
	--nav-height: 80px;
}

body {
	font-family: 'Inter', sans-serif;
	background-color: var(--bg-light);
	color: var(--text-main);
	line-height: 1.5;
	overflow-x: hidden;
	padding-top: var(--nav-height);
}

        /* ---------- 全屏背景板块基座 ---------- */
.full-width {
	width: 100%;
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	isolation: isolate;
}

.full-width::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 30% 40%, rgba(255,255,255,0.5) 0%, rgba(245, 250, 255, 0.9) 90%);
	backdrop-filter: blur(1px);
	z-index: -1;
}

.full-width::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(43,110,240,0.08) 1px, transparent 1px),
                linear-gradient(90deg, rgba(43,110,240,0.08) 1px, transparent 1px);
	background-size: 50px 50px;
	pointer-events: none;
	z-index: -1;
}

.hero-bg {
	background-image: url('https://ai.yjsba.com/images/banner1.jpg');
}

.advantage-bg {
	background-image: url('https://images.unsplash.com/photo-1581092335871-4c7c9e3f2827?q=80&w=2069&auto=format&fit=crop');
}

.compare-bg {
	background-image: url('https://images.unsplash.com/photo-1581092918056-0c4c3acd5c9f?q=80&w=2070&auto=format&fit=crop');
}

.tech-bg {
	background-image: url('https://images.unsplash.com/photo-1581091226033-df4c7e9a8f1b?q=80&w=2070&auto=format&fit=crop');
}

.domains-bg {
	background-image: url('https://images.unsplash.com/photo-1581092160607-ee2274c2b3b6?q=80&w=2070&auto=format&fit=crop');
}

.testimonial-bg {
	background-image: url('https://images.unsplash.com/photo-1581092454275-7c5d6f1f2c2a?q=80&w=2070&auto=format&fit=crop');
}

.cta-bg {
	background-image: url('https://ai.yjsba.com/images/banner2.jpg');
}

.container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
	position: relative;
	z-index: 3;
}

section {
	padding: 100px 0;
	position: relative;
}

        /* ---------- 移动端全局调整 ---------- */
@media (max-width: 768px) {
	:root {
		--nav-height: 70px;
		--border-radius-card: 28px;
	}

	.container {
		padding: 0 20px;
	}

	section {
		padding: 70px 0;
	}

	.full-width {
		background-attachment: scroll;
	}
}

        /* ---------- 导航栏 (修正版) ---------- */
.navbar {
	position: fixed;
	top: 0;
	width: 100%;
	height: var(--nav-height);
	background: rgba(255,255,255,0.85);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(255,255,255,0.6);
	z-index: 1000;
	display: flex;
	align-items: center;
	box-shadow: 0 10px 30px -10px rgba(0,20,50,0.1);
}

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

        /* Logo 图片样式 - 使用绝对URL */
.logo a {
	display: flex;
	align-items: center;
	text-decoration: none;
	height: 50px;
}

.logo img {
    height: 70px;
    width: auto;
    max-width: 400px;
    object-fit: contain;
}

@media (max-width: 480px) {
	.logo img {
		height: 34px;
	}
}

.nav-menu {
	display: flex;
	gap: 28px;
	list-style: none;
	align-items: center;
	margin: 0;
	padding: 0;
}

.nav-menu a {
	text-decoration: none;
	font-weight: 550;
	color: var(--text-main);
	transition: 0.2s;
	font-size: 1rem;
	position: relative;
	white-space: nowrap;
}

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

.nav-menu a::after {
	content: '';
	position: absolute;
	bottom: -6px;
	left: 0;
	width: 0%;
	height: 2px;
	background: var(--accent-blue);
	transition: 0.3s;
}

.nav-menu a:hover::after {
	width: 100%;
}

        /* 专家咨询按钮 */
/*.nav-menu li:last-child a {*/
/*	background: var(--accent-blue);*/
/*	color: white;*/
/*	padding: 8px 22px;*/
/*	border-radius: 40px;*/
/*	font-weight: 600;*/
/*	box-shadow: 0 8px 20px -8px var(--accent-blue);*/
/*}*/

/*.nav-menu li:last-child a:hover {*/
/*	background: var(--primary-soft);*/
/*}*/

/*.nav-menu li:last-child a::after {*/
/*	display: none;*/
/*}*/

        /* 下拉菜单 (AI检测领域) */
.dropdown {
	position: relative;
}

.dropdown-toggle {
	display: flex;
	align-items: center;
	gap: 4px;
}

.dropdown-toggle i {
	font-size: 0.8rem;
	transition: transform 0.2s;
}

.dropdown:hover .dropdown-toggle i {
	transform: rotate(180deg);
}

.dropdown-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%);
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-radius: 28px;
	padding: 20px 25px;
	min-width: 580px;
	width: max-content;
	box-shadow: var(--shadow-card);
	border: 1px solid rgba(255,255,255,0.7);
	display: none;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px 20px;
	z-index: 1001;
	transition: none;
}

.dropdown-menu::before {
	content: '';
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid rgba(255,255,255,0.95);
	filter: drop-shadow(0 -4px 4px rgba(0,0,0,0.02));
}

.dropdown:hover .dropdown-menu {
	display: grid;
}

.dropdown-menu li {
	list-style: none;
	width: 100%;
}

.dropdown-menu a {
	white-space: nowrap;
	padding: 8px 15px;
	border-radius: 40px;
	background: rgba(43,110,240,0.03);
	border: 1px solid transparent;
	transition: 0.2s;
	display: block;
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--text-main);
	text-align: center;
}

.dropdown-menu a:hover {
	background: white;
	border-color: var(--accent-blue);
	color: var(--accent-blue);
	box-shadow: 0 4px 12px rgba(43,110,240,0.2);
}

.dropdown-menu a::after {
	display: none;
}

        /* 搜索框 */
.search-item {
	display: flex;
	align-items: center;
}

.search-form {
	display: flex;
	align-items: center;
	background: rgba(255, 255, 255, 0.6);
	border-radius: 60px;
	border: 1px solid rgba(43,110,240,0.2);
	overflow: hidden;
	transition: 0.3s;
	backdrop-filter: blur(5px);
}

.search-form:hover {
	background: white;
	border-color: var(--accent-blue);
	box-shadow: 0 4px 12px rgba(43,110,240,0.1);
}

.search-form input {
	background: transparent;
	border: none;
	padding: 8px 0 8px 18px;
	font-size: 0.95rem;
	width: 160px;
	outline: none;
	color: var(--text-main);
}

.search-form input::placeholder {
	color: #6a7f9f;
	font-weight: 400;
}

.search-form button {
	background: transparent;
	border: none;
	padding: 8px 16px 8px 8px;
	cursor: pointer;
	color: var(--accent-blue);
	font-size: 1.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.2s;
}

.search-form button:hover {
	color: var(--primary-dark);
}

.hamburger {
	display: none;
	font-size: 2rem;
	background: none;
	border: none;
	color: var(--primary-dark);
	cursor: pointer;
}

        /* 平板及移动端导航重绘 (修正滚动与收起问题) */
@media (max-width: 1200px) {
	.nav-menu {
		gap: 20px;
	}

	.search-form input {
		width: 130px;
	}
}

@media (max-width: 1000px) {
	.nav-container {
		padding: 0 24px;
	}

	.logo img {
		height: 38px;
	}

	.nav-menu {
		position: absolute;
		top: var(--nav-height);
		left: 0;
		width: 100%;
		background: rgba(255,255,255,0.98);
		backdrop-filter: blur(16px);
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.4s ease;
		border-radius: 0 0 30px 30px;
		box-shadow: var(--shadow-card);
		padding: 0;
	}

	.nav-menu.active {
		max-height: calc(100vh - var(--nav-height) - 20px);
 /* 允许滚动 */
		overflow-y: auto;
		padding: 15px 0 25px;
	}

	.nav-menu li {
		width: 100%;
		text-align: left;
		padding: 0 25px;
	}

	.nav-menu a {
		display: block;
		padding: 15px 0;
		font-size: 1.1rem;
		border-bottom: 1px solid var(--border-light);
		white-space: normal;
	}

	.nav-menu li:last-child a {
		background: transparent;
		color: var(--accent-blue);
		box-shadow: none;
		border-bottom: none;
		text-align: center;
		margin-top: 5px;
		border: 2px solid var(--accent-blue);
		border-radius: 40px;
		padding: 12px 0;
	}
            /* 移动端下拉菜单调整 */
	.dropdown {
		width: 100%;
	}

	.dropdown-menu {
		position: static;
		transform: none;
		background: transparent;
		backdrop-filter: none;
		box-shadow: none;
		border: none;
		padding: 0 0 0 20px;
		min-width: auto;
		width: 100%;
		display: none;
		grid-template-columns: 1fr;
		gap: 5px;
		margin: 5px 0 10px;
	}

	.dropdown-menu::before {
		display: none;
	}

	.dropdown-menu a {
		background: rgba(43,110,240,0.05);
		border: none;
		padding: 12px 15px;
		border-radius: 30px;
		font-size: 1rem;
		border-bottom: none;
	}

	.dropdown.active .dropdown-menu {
		display: grid;
	}

	.dropdown-toggle i {
		margin-left: auto;
	}
            /* 搜索框移动端全宽 */
	.search-item {
		width: 100%;
		padding: 15px 0;
	}

	.search-form {
		width: 100%;
	}

	.search-form input {
		width: 1fr;
		flex: 1;
	}

	.hamburger {
		display: block;
	}
}

@media (max-width: 480px) {
	.logo img {
		height: 32px;
	}

	.nav-container {
		padding: 0 16px;
	}
}

        /* ---------- 动画/文本/通用 ---------- */
.animate-item {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.9s cubic-bezier(0.2, 0.9, 0.1, 1), transform 0.9s ease;
}

.animate-item.visible {
	opacity: 1;
	transform: translateY(0);
}

.section-tag {
	display: inline-block;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--accent-blue);
	background: rgba(43,110,240,0.12);
	padding: 8px 22px;
	border-radius: 50px;
	margin-bottom: 20px;
	backdrop-filter: blur(4px);
	border: 1px solid rgba(43,110,240,0.2);
}

.section-title {
	font-size: 3.2rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--primary-dark);
	margin-bottom: 24px;
	text-shadow: 0 2px 8px rgba(255,255,255,0.5);
}

.section-title span {
	color: var(--accent-blue);
	position: relative;
	display: inline-block;
}

.section-title span::after {
	content: '';
	position: absolute;
	bottom: 10px;
	left: 0;
	width: 100%;
	height: 10px;
	background: rgba(43,110,240,0.2);
	z-index: -1;
	border-radius: 20px;
}

.section-desc {
	font-size: 1.2rem;
	color: var(--text-secondary);
	max-width: 780px;
	margin-bottom: 50px;
	line-height: 1.6;
	text-shadow: 0 1px 4px rgba(255,255,255,0.6);
}

@media (max-width: 768px) {
	.section-title {
		font-size: 2.4rem;
	}

	.section-desc {
		font-size: 1.1rem;
		margin-bottom: 40px;
	}

	.section-tag {
		font-size: 0.9rem;
		padding: 6px 18px;
	}
}

@media (max-width: 480px) {
	.section-title {
		font-size: 2rem;
	}
}

        /* 图标修正 */
i[class^="fa-"], i[class*=" fa-"] {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
}

        /* 核心技术板块修复：图标与标题同行 */
.tech-card {
	background: rgba(255,255,255,0.8);
	backdrop-filter: blur(12px);
	border-radius: var(--border-radius-card);
	padding: 40px 35px;
}

.tech-card:hover {
	background: white;
}

.tech-header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
}

.tech-header .tech-icon {
	font-size: 2.5rem;
	color: var(--accent-blue);
	width: 3.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tech-header h3 {
	font-size: 2rem;
	margin: 0;
	line-height: 1.2;
}

.tech-list {
	list-style: none;
	padding: 0;
}

.tech-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 1.1rem;
	margin-bottom: 16px;
}

.tech-list li i {
	width: 1.8rem;
	font-size: 1.4rem;
	flex-shrink: 0;
	color: var(--accent-blue);
	line-height: 1.4;
}

@media (max-width: 768px) {
	.tech-header h3 {
		font-size: 1.8rem;
	}
}

        /* 其他模块保持不变 */
.feature-icon i, .compare-header i {
	font-size: inherit;
	width: 1.2em;
}

.compare-item, .domain-features li, .mindmap-node {
	display: flex;
	align-items: flex-start;
	gap: 0.8rem;
}

.compare-item .fa-circle-check {
	color: #27AE60 !important;
}

.compare-item .fa-circle-xmark {
	color: #E74C3C !important;
}

.mindmap-node i {
	background: white;
	padding: 15px;
	border-radius: 60px;
	box-shadow: 0 10px 20px -5px var(--accent-blue);
	color: var(--accent-blue);
	width: 3.5rem;
	height: 3.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.8rem;
}

.compare-header i {
	font-size: 3rem;
	width: auto;
}

.btn i {
	margin-left: 8px;
	font-size: 1.1rem;
}

.hero {
	min-height: 80vh;
	display: flex;
	align-items: center;
}

.hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(145deg, rgba(0,20,40,0.6), rgba(0,10,20,0.8)) !important;
	backdrop-filter: blur(1px);
	z-index: -1;
}

.hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(43,110,240,0.08) 1px, transparent 1px),
                linear-gradient(90deg, rgba(43,110,240,0.08) 1px, transparent 1px);
	background-size: 50px 50px;
	pointer-events: none;
	z-index: -1;
}

.hero h1 {
	font-size: 4rem;
	font-weight: 800;
	line-height: 1.1;
	color: white;
	text-shadow: 0 4px 20px rgba(0,0,0,0.5);
}

.hero p {
	font-size: 1.4rem;
	margin: 25px 0 40px;
	color: rgba(255,255,255,0.95);
	text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

.hero-buttons {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.btn {
	display: inline-block;
	padding: 16px 40px;
	border-radius: 60px;
	font-weight: 600;
	font-size: 1.1rem;
	text-decoration: none;
	transition: var(--transition);
	border: 2px solid transparent;
	white-space: nowrap;
}

.btn-primary {
	background: var(--accent-blue);
	color: white;
	box-shadow: 0 15px 30px -8px var(--accent-blue);
}

.btn-primary:hover {
	background: #0A2540;
	transform: translateY(-5px);
}

.btn-outline {
	background: transparent;
	border-color: white;
	color: white;
}

.btn-outline:hover {
    background: #598aea;
    color: var(--accent-blue);
    border-color: white;
}

.floating-icon {
	position: absolute;
	right: 5%;
	bottom: 10%;
	font-size: 14rem;
	color: rgba(255,255,255,0.1);
	animation: float 7s infinite;
	pointer-events: none;
}

@keyframes float {
	0% {
		transform: translateY(0) rotate(0);
	}

	50% {
		transform: translateY(-30px) rotate(5deg);
	}
}

@media (max-width: 768px) {
	.hero h1 {
		font-size: 2.8rem;
	}

	.hero p {
		font-size: 1.2rem;
		margin: 20px 0 30px;
	}

	.btn {
		padding: 14px 30px;
		font-size: 1rem;
	}

	.floating-icon {
		font-size: 10rem;
		bottom: 5%;
	}
}

@media (max-width: 480px) {
	.hero h1 {
		font-size: 2.2rem;
	}

	.hero-buttons {
		flex-direction: column;
		align-items: flex-start;
	}

	.btn {
		width: 100%;
		text-align: center;
	}
}

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

.feature-card {
	background: rgba(255,255,255,0.8);
	backdrop-filter: blur(12px);
	border-radius: var(--border-radius-card);
	padding: 40px 30px;
	box-shadow: var(--shadow-card);
	border: 1px solid rgba(255,255,255,0.7);
	transition: var(--transition);
}

.feature-card:hover {
	transform: translateY(-12px);
	background: white;
}

.feature-icon {
	font-size: 3.2rem;
	color: var(--accent-blue);
	margin-bottom: 20px;
}

.feature-card h3 {
	font-size: 2rem;
	margin-bottom: 15px;
}

.feature-card p {
	font-size: 1rem;
	color: var(--text-secondary);
}

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

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

	.feature-card h3 {
		font-size: 1.8rem;
	}
}

.compare-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

.compare-card {
	background: rgba(255,255,255,0.8);
	backdrop-filter: blur(10px);
	border-radius: var(--border-radius-card);
	padding: 40px 30px;
	border-top: 6px solid var(--accent-blue);
	transition: var(--transition);
}

.compare-card.manual {
	border-top-color: #FF9F4B;
}

.compare-card:hover {
	background: white;
}

.compare-item {
	font-size: 1.1rem;
	margin-bottom: 18px;
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

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

.tech-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
}

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

.domains-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 20px;
	margin-top: 40px;
}

.domain-card {
	aspect-ratio: 1 / 1.8;
	background-size: cover !important;
	background-position: center !important;
	border-radius: 30px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 20px 15px 18px;
	color: white;
	text-shadow: 0 2px 10px rgba(0,0,0,0.8);
	box-shadow: 0 20px 30px -12px rgba(0,0,0,0.3);
	transition: var(--transition);
	border: 2px solid transparent;
	overflow: hidden;
	isolation: isolate;
	background-color: #1a3a5f;
}

.domain-card:nth-child(1) {
	background-image: url('https://ai.yjsba.com/images/qczz.jpg');
}

.domain-card:nth-child(2) {
	background-image: url('https://ai.yjsba.com/images/dzyj.jpg');
}

.domain-card:nth-child(3) {
	background-image: url('https://ai.yjsba.com/images/spbz.jpg');
}

.domain-card:nth-child(4) {
	background-image: url('https://ai.yjsba.com/images/ylyy.jpg');
}

.domain-card:nth-child(5) {
	background-image: url('https://ai.yjsba.com/images/jsjg.jpg');
}

.domain-card:nth-child(6) {
	background-image: url('https://ai.yjsba.com/images/slzs.jpg');
}

.domain-card:nth-child(7) {
	background-image: url('https://ai.yjsba.com/images/fzfz.jpg');
}

.domain-card:nth-child(8) {
	background-image: url('https://ai.yjsba.com/images/gfny.jpg');
}

.domain-card:nth-child(9) {
	background-image: url('https://ai.yjsba.com/images/ldc.jpg');
}

.domain-card:nth-child(10) {
	background-image: url('https://ai.yjsba.com/images/bdt.jpg');
}

.domain-card:nth-child(11) {
	background-image: url('https://ai.yjsba.com/images/wlfj.jpg');
}

.domain-card:nth-child(12) {
	background-image: url('https://ai.yjsba.com/images/nyjx.jpg');
}

.domain-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(0,20,45,0.85) 0%, rgba(0,10,20,0.6) 70%);
	border-radius: 30px;
	z-index: 0;
	transition: 0.3s;
	pointer-events: none;
}

.domain-card:hover::before {
	opacity: 0;
}

.domain-card:hover {
	background: var(--accent-blue) !important;
	transform: translateY(-8px);
	border-color: white;
}

.domain-name {
	font-size: 1.5rem;
	font-weight: 700;
	z-index: 2;
	line-height: 1.2;
	margin-bottom: 10px;
}

.domain-features {
	z-index: 2;
	font-size: 0.9rem;
	list-style: none;
	padding-left: 0;
	margin-bottom: 10px;
}

.domain-features li {
	margin-bottom: 6px;
	display: flex;
	align-items: flex-start;
	gap: 6px;
}

.domain-features i {
	font-size: 1rem;
	width: 1.2rem;
	color: white;
}

.domain-btn {
	z-index: 2;
	background: white;
	color: var(--primary-dark);
	border: none;
	padding: 10px 0;
	width: 100%;
	border-radius: 40px;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	display: block;
	transition: 0.2s;
	margin-top: 8px;
	font-size: 0.9rem;
	text-shadow: none;
}

.domain-card:hover .domain-btn {
	background: var(--primary-dark);
	color: white;
}

@media (max-width: 1200px) {
	.domains-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (max-width: 900px) {
	.domains-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 600px) {
	.domains-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
}

.testimonials-list {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.testimonial-card {
	display: flex;
	align-items: stretch;
	background: rgba(255,255,255,0.8);
	backdrop-filter: blur(16px);
	border-radius: 50px;
	box-shadow: var(--shadow-card);
	border: 1px solid rgba(255,255,255,0.6);
	transition: var(--transition);
}

.testimonial-card:hover {
	background: white;
}

.testimonial-card:nth-child(odd) {
	flex-direction: row;
}

.testimonial-card:nth-child(even) {
	flex-direction: row-reverse;
}

.testimonial-photo {
	flex: 0 0 28%;
	max-width: 28%;
	align-self: flex-end;
	margin-top: -40px;
	border-radius: 40px;
	overflow: hidden;
	border: 4px solid white;
	box-shadow: 0 20px 30px -12px rgba(0,0,0,0.3);
	aspect-ratio: 3/4;
}

.testimonial-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.testimonial-content {
	flex: 1;
	padding: 30px 35px;
}

.testimonial-name {
	font-size: 2rem;
	font-weight: 700;
	color: var(--primary-dark);
}

.testimonial-role {
	font-size: 1.2rem;
	color: var(--accent-blue);
	margin-bottom: 15px;
}

.testimonial-quote {
	font-size: 1.1rem;
	color: var(--text-secondary);
	line-height: 1.6;
	margin-bottom: 15px;
}

@media (max-width: 900px) {
	.testimonial-card {
		flex-direction: column !important;
		margin-top: 50px;
		border-radius: 40px;
	}

	.testimonial-photo {
		flex: 0 0 auto;
		max-width: 70%;
		width: 70%;
		margin: -40px auto 0;
	}

	.testimonial-content {
		text-align: center;
		padding: 25px 20px 30px;
	}
}

.mindmap-module {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px 30px;
	margin-bottom: 50px;
	padding: 30px 20px;
	background: rgba(255,255,255,0.3);
	backdrop-filter: blur(12px);
	border-radius: 60px;
	border: 1px dashed var(--accent-blue);
}

.mindmap-node {
	min-width: 70px;
}

.mindmap-node i {
	width: 3rem;
	height: 3rem;
	font-size: 1.5rem;
	padding: 12px;
}

.mindmap-node span {
	font-size: 1rem;
	padding: 4px 12px;
	background: rgba(255,255,255,0.7);
	border-radius: 60px;
}

.cta-section {
	text-align: center;
	color: white;
}

.cta-section::before {
	background: linear-gradient(145deg, rgba(0,0,0,0.7), rgba(0,0,0,0.85)) !important;
}

.cta-section h2 {
	font-size: 3.2rem;
	color: white;
	text-shadow: 0 4px 15px rgba(0,0,0,0.5);
}

.cta-section p {
	color: white;
	text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

.btn-group {
	display: flex;
	gap: 20px;
	justify-content: center;
	flex-wrap: wrap;
	margin: 25px 0 20px;
}

.btn-cta {
	background: white;
	color: var(--primary-dark);
}

.btn-cta:hover {
	background: var(--accent-glow);
	color: white;
}

@media (max-width: 768px) {
	.cta-section h2 {
		font-size: 2.4rem;
	}

	.btn-group {
		flex-direction: column;
	}
}

        /* 页脚文字颜色调亮 */
.footer {
	background: #0B1A2F;
	color: #E0F0FF;
 /* 更亮的蓝白色 */
	padding: 40px 0;
	text-align: center;
	text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

.footer p {
	font-size: 0.95rem;
}

.footer a {
	color: var(--accent-glow);
}

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

    .cta-buttons-wrapper {
        display: flex;
        gap: 20px;
        justify-content: center;
        flex-wrap: wrap;
        margin: 25px 0 20px;
    }
    .btn-tooltip {
        position: relative;
        display: inline-block;
    }
    .btn-tooltip .tooltip-content {
        visibility: hidden;
        opacity: 0;
        position: absolute;
        bottom: calc(100% + 12px);
        left: 50%;
        transform: translateX(-50%);
        background: white;
        color: var(--primary-dark);
        padding: 12px 20px;
        border-radius: 40px;
        box-shadow: 0 15px 30px -8px rgba(0,0,0,0.3);
        font-weight: 600;
        font-size: 1.2rem;
        white-space: nowrap;
        border: 1px solid var(--accent-blue);
        transition: opacity 0.2s, visibility 0.2s;
        z-index: 10;
    }
    .btn-tooltip .tooltip-content::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -8px;
        border-width: 8px;
        border-style: solid;
        border-color: white transparent transparent transparent;
        filter: drop-shadow(0 2px 2px rgba(0,0,0,0.1));
    }
    .btn-tooltip:hover .tooltip-content {
        visibility: visible;
        opacity: 1;
    }

    /* 二维码弹窗样式 */
    .tooltip-content.qr-tooltip {
        padding: 15px;
        border-radius: 24px;
        white-space: normal;
        text-align: center;
        bottom: calc(100% + 18px);
    }
    .tooltip-content.qr-tooltip img {
        width: 150px;
        height: 150px;
        display: block;
        border-radius: 16px;
        margin-bottom: 5px;
    }
    .tooltip-content.qr-tooltip span {
        font-size: 0.9rem;
        color: var(--text-secondary);
        display: block;
    }
    .tooltip-content.qr-tooltip::after {
        border-color: white transparent transparent transparent;
    }

    /* 移动端调整（可选） */
    @media (max-width: 768px) {
        .btn-tooltip .tooltip-content {
            font-size: 1rem;
            padding: 10px 16px;
        }
        .tooltip-content.qr-tooltip img {
            width: 120px;
            height: 120px;
        }
    }
    /* 按钮样式沿用原有 btn 类，此处仅定义包裹层 */
    .btn-group {
        display: flex;
        gap: 20px;
        justify-content: center;
        flex-wrap: wrap;
        margin: 25px 0 20px;
    }
    
    
        /* ---------- 全屏背景板块基座 ---------- */
        .full-width {
            width: 100%;
            position: relative;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            background-attachment: fixed;
            isolation: isolate;
        }

        .full-width::before {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at 30% 40%, rgba(255,255,255,0.5) 0%, rgba(245, 250, 255, 0.9) 90%);
            backdrop-filter: blur(1px);
            z-index: -1;
        }

        .full-width::after {
            content: '';
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(43,110,240,0.08) 1px, transparent 1px),
                linear-gradient(90deg, rgba(43,110,240,0.08) 1px, transparent 1px);
            background-size: 50px 50px;
            pointer-events: none;
            z-index: -1;
        }

        /* 列表页头部背景 */
        .list-header-bg { background-image: url('https://ai.yjsba.com/images/banner1.jpg'); }

        .container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 40px;
            position: relative;
            z-index: 3;
        }

        section {
            padding: 80px 0;
            position: relative;
        }

        /* ---------- 移动端全局调整 ---------- */
        @media (max-width: 768px) {
            .container {
                padding: 0 20px;
            }
            section {
                padding: 60px 0;
            }
            .full-width {
                background-attachment: scroll;
            }
        }

        /* ---------- 动画/文本/通用 ---------- */
        .animate-item {
            opacity: 0;
            transform: translateY(40px);
            transition: opacity 0.9s cubic-bezier(0.2, 0.9, 0.1, 1), transform 0.9s ease;
        }
        .animate-item.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .section-tag {
            display: inline-block;
            font-size: 1rem;
            font-weight: 600;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--accent-blue);
            background: rgba(43,110,240,0.12);
            padding: 8px 22px;
            border-radius: 50px;
            margin-bottom: 20px;
            backdrop-filter: blur(4px);
            border: 1px solid rgba(43,110,240,0.2);
        }

        .section-title {
            font-size: 3rem;
            font-weight: 800;
            line-height: 1.2;
            color: var(--primary-dark);
            margin-bottom: 20px;
            text-shadow: 0 2px 8px rgba(255,255,255,0.5);
        }
        .section-title span {
            color: var(--accent-blue);
            position: relative;
            display: inline-block;
        }
        .section-title span::after {
            content: '';
            position: absolute;
            bottom: 8px;
            left: 0;
            width: 100%;
            height: 10px;
            background: rgba(43,110,240,0.2);
            z-index: -1;
            border-radius: 20px;
        }

        .section-desc {
            font-size: 1.2rem;
            color: var(--text-secondary);
            max-width: 700px;
            margin-bottom: 40px;
            line-height: 1.6;
            text-shadow: 0 1px 4px rgba(255,255,255,0.6);
        }

        @media (max-width: 768px) {
            .section-title { font-size: 2.4rem; }
            .section-desc { font-size: 1.1rem; }
        }

        /* ---------- 列表页头部 ---------- */
        .list-header {
            min-height: 40vh;
            display: flex;
            align-items: center;
            text-align: center;
            color: white;
        }
        .list-header::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(145deg, rgba(0,20,40,0.7), rgba(0,10,20,0.9)) !important;
            backdrop-filter: blur(1px);
            z-index: -1;
        }
        .list-header .section-title,
        .list-header .section-desc {
            color: white;
            text-shadow: 0 4px 15px rgba(0,0,0,0.5);
        }
        .list-header .section-desc {
            color: rgba(255,255,255,0.9);
        }

        /* ---------- 列表网格卡片 ---------- */
        .case-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
            margin-top: 30px;
        }

        .case-card {
            background: var(--card-white);
            backdrop-filter: blur(12px);
            border-radius: var(--border-radius-card);
            overflow: hidden;
            box-shadow: var(--shadow-card);
            border: 1px solid var(--border-light);
            transition: var(--transition);
            display: flex;
            flex-direction: column;
        }
        .case-card:hover {
            transform: translateY(-12px);
            box-shadow: var(--shadow-focus);
            background: white;
            border-color: var(--accent-blue);
        }
        .case-img {
            width: 100%;
            aspect-ratio: 16 / 9;
            background-size: cover;
            background-position: center;
            background-color: #ddd;
        }
        .case-content {
            padding: 30px 25px 25px;
            flex: 1;
            display: flex;
            flex-direction: column;
        }
        .case-tag {
            display: inline-block;
            background: var(--accent-soft);
            color: var(--accent-blue);
            font-size: 0.8rem;
            font-weight: 600;
            padding: 4px 14px;
            border-radius: 30px;
            margin-bottom: 15px;
            align-self: flex-start;
            border: 1px solid rgba(43,110,240,0.2);
        }
        .case-title {
            font-size: 1.6rem;
            font-weight: 700;
            margin-bottom: 10px;
            color: var(--primary-dark);
        }
        .case-title a {
            color: inherit;
            text-decoration: none;
            transition: color 0.2s;
        }
        .case-title a:hover {
            color: var(--accent-blue);
            text-decoration: underline;
        }
        .case-desc {
            color: var(--text-secondary);
            font-size: 0.95rem;
            line-height: 1.5;
            margin-bottom: 20px;
            flex: 1;
        }

        /* ----- 卡片底部：meta + 咨询按钮 同一行 (新样式) ----- */
        .case-footer {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;  /* 大屏时左右分布 */
            align-items: center;
            gap: 12px 8px;                  /* 行列间隙 */
            border-top: 1px solid var(--border-light);
            padding-top: 15px;
            margin-top: 5px;                 /* 与上方描述保持一点距离 */
        }

        .case-meta {
            display: flex;
            align-items: center;
            gap: 15px;
            font-size: 0.9rem;
            color: var(--text-secondary);
            flex-wrap: wrap;                 /* 允许内部换行 */
        }

        .case-meta i {
            color: var(--accent-blue);
            width: 1.2rem;
        }

        /* 咨询按钮容器 */
        .consult-wrap {
            position: relative;
            display: inline-block;
        }

        .consult-btn {
            background: var(--accent-blue);
            color: white;
            border: none;
            border-radius: 40px;
            padding: 10px 24px;
            font-weight: 600;
            font-size: 0.95rem;
            cursor: pointer;
            transition: var(--transition);
            box-shadow: 0 6px 14px -6px var(--accent-blue);
            border: 1px solid rgba(255,255,255,0.3);
            display: inline-flex;
            align-items: center;
            gap: 6px;
            white-space: nowrap;            /* 防止按钮文字换行 */
        }

        .consult-btn i {
            font-size: 1rem;
        }

        .consult-btn:hover {
            background: var(--primary-soft);
            transform: scale(1.02);
            box-shadow: 0 10px 20px -8px var(--primary-soft);
        }

        /* 悬浮弹层 */
        .consult-popup {
            position: absolute;
            bottom: 100%;          /* 显示在按钮上方 */
            left: -50px;
            background: white;
            border-radius: 24px;
            padding: 18px 15px;
            box-shadow: 0 15px 35px -10px rgba(0,30,70,0.4);
            border: 1px solid var(--border-light);
            width: 200px;
            text-align: center;
            pointer-events: none;
            opacity: 0;
            transform: translateY(10px) scale(0.95);
            transition: opacity 0.25s ease, transform 0.3s ease;
            z-index: 1100;
            margin-bottom: 12px;
        }
        .consult-wrap:hover .consult-popup {
            opacity: 1;
            transform: translateY(0) scale(1);
            pointer-events: none;
        }
        .consult-popup p {
            font-weight: 600;
            color: var(--primary-dark);
            margin-bottom: 12px;
            font-size: 1rem;
            background: var(--accent-soft);
            padding: 6px 10px;
            border-radius: 40px;
            border: 1px solid rgba(43,110,240,0.2);
        }
        .consult-popup img {
            width: 120px;
            height: 120px;
            border-radius: 16px;
            border: 1px solid var(--border-light);
            background: white;
            padding: 6px;
            object-fit: cover;
            margin-bottom: 5px;
        }
        .consult-popup .qr-hint {
            font-size: 0.75rem;
            color: var(--text-secondary);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 4px;
        }

        /* 移动端微调 */
        @media (max-width: 600px) {
            .consult-popup {
                left: -30px;  /* 避免右侧溢出 */
            }
            /* 当按钮换行时，让它左对齐更自然（space-between已处理） */
        }

        @media (max-width: 992px) {
            .case-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 640px) {
            .case-grid { grid-template-columns: 1fr; }
            .case-title { font-size: 1.4rem; }
            .consult-btn { white-space: normal; }  /* 极小屏允许按钮文字折行 */
        }

        /* ---------- 分页组件 ---------- */
        .pagination {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 12px;
            margin-top: 60px;
            flex-wrap: wrap;
        }
        .pagination a, .pagination span {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background: white;
            color: var(--text-main);
            text-decoration: none;
            font-weight: 600;
            box-shadow: 0 5px 15px -5px rgba(0,0,0,0.1);
            transition: var(--transition);
            border: 1px solid var(--border-light);
        }
        .pagination a:hover {
            background: var(--accent-blue);
            color: white;
            border-color: var(--accent-blue);
            transform: scale(1.05);
        }
        .pagination .active {
            background: var(--accent-blue);
            color: white;
            border-color: var(--accent-blue);
            box-shadow: 0 8px 20px -8px var(--accent-blue);
        }
        .pagination .prev, .pagination .next {
            width: auto;
            padding: 0 25px;
            border-radius: 40px;
            gap: 8px;
        }
        .pagination .prev i, .pagination .next i {
            font-size: 1rem;
        }
        @media (max-width: 480px) {
            .pagination a, .pagination span {
                width: 40px;
                height: 40px;
                font-size: 0.9rem;
            }
            .pagination .prev, .pagination .next {
                width: auto;
                padding: 0 18px;
            }
        }

        /* ---------- 右侧悬浮按钮 ---------- */
        .floating-buttons {
            position: fixed;
            right: 30px;
            bottom: 30px;
            display: flex;
            flex-direction: column;
            gap: 15px;
            z-index: 999;
        }
        .float-btn {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background: var(--accent-blue);
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.8rem;
            box-shadow: 0 10px 25px -5px var(--accent-blue);
            transition: var(--transition);
            border: 2px solid white;
            text-decoration: none;
        }
        .float-btn:hover {
            transform: scale(1.1) translateY(-5px);
            background: var(--primary-dark);
            box-shadow: 0 15px 30px -5px var(--primary-dark);
        }
        .float-btn i {
            transition: transform 0.3s;
        }
        .float-btn:hover i {
            transform: rotate(10deg);
        }
        .float-btn.top {
            background: white;
            color: var(--accent-blue);
            border: 2px solid var(--accent-blue);
            box-shadow: 0 5px 15px -5px rgba(0,0,0,0.2);
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s;
        }
        .float-btn.top.show {
            opacity: 1;
            visibility: visible;
        }
        @media (max-width: 768px) {
            .floating-buttons {
                right: 20px;
                bottom: 20px;
            }
            .float-btn {
                width: 50px;
                height: 50px;
                font-size: 1.5rem;
            }
        }
        
        
            /* 详情页头部背景 */
    .detail-header-bg { background-image: url('https://ai.yjsba.com/images/banner3.jpg'); }

    .container {
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 40px;
        position: relative;
        z-index: 3;
    }

    section {
        padding: 40px 0;
        position: relative;
    }

    /* 桌面端加大内边距 */
    @media (min-width: 768px) {
        .container {
            padding: 0 40px;
        }
        section {
            padding: 60px 0;
        }
    }

    /* 动画 - 默认可见，确保内容始终显示 */
    .animate-item {
        opacity: 1;
        transform: translateY(0);
        transition: opacity 0.9s ease, transform 0.9s ease;
    }

    .section-tag {
        display: inline-block;
        font-size: 1rem;
        font-weight: 600;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--accent-blue);
        background: rgba(43,110,240,0.12);
        padding: 8px 22px;
        border-radius: 50px;
        margin-bottom: 20px;
        border: 1px solid rgba(43,110,240,0.2);
    }

    .section-title {
        font-size: 2.4rem;
        font-weight: 800;
        line-height: 1.2;
        color: var(--primary-dark);
        margin-bottom: 20px;
        text-shadow: 0 2px 8px rgba(255,255,255,0.5);
    }

    .section-title span {
        color: var(--accent-blue);
        position: relative;
        display: inline-block;
    }

    .section-title span::after {
        content: '';
        position: absolute;
        bottom: 8px;
        left: 0;
        width: 100%;
        height: 10px;
        background: rgba(43,110,240,0.2);
        z-index: -1;
        border-radius: 20px;
    }

    .section-desc {
        font-size: 1.1rem;
        color: var(--text-secondary);
        max-width: 700px;
        margin-bottom: 30px;
        line-height: 1.6;
    }

    @media (min-width: 768px) {
        .section-title {
            font-size: 3rem;
        }
        .section-desc {
            font-size: 1.2rem;
            margin-bottom: 40px;
        }
    }

    /* 详情页头部 */
    .detail-header {
        min-height: 40vh;
        display: flex;
        align-items: center;
        text-align: center;
        color: white;
    }

    .detail-header::before {
        background: linear-gradient(145deg, rgba(0,20,40,0.8), rgba(0,10,20,0.95)) !important;
    }

    .detail-header .section-title,
    .detail-header .section-desc {
        color: white;
        text-shadow: 0 4px 15px rgba(0,0,0,0.5);
    }

    .meta-info {
        display: flex;
        justify-content: center;
        gap: 15px 25px;
        color: rgba(255,255,255,0.9);
        font-size: 0.95rem;
        flex-wrap: wrap;
    }

    .meta-info i {
        margin-right: 6px;
        color: var(--accent-glow);
    }

    /* 正文卡片 */
    .detail-card {
        background: var(--card-white);
        border-radius: var(--border-radius-card);
        padding: 30px 20px;
        box-shadow: var(--shadow-card);
        border: 1px solid var(--border-light);
        margin-bottom: 40px;
    }

    @media (min-width: 768px) {
        .detail-card {
            padding: 50px;
            margin-bottom: 50px;
        }
    }

    .detail-card p {
        margin-bottom: 1.5rem;
        font-size: 1rem;
        color: var(--text-secondary);
        line-height: 1.7;
    }

    .detail-card h2 {
        font-size: 1.8rem;
        font-weight: 700;
        color: var(--primary-dark);
        margin: 30px 0 15px;
        padding-bottom: 8px;
        border-bottom: 3px solid var(--accent-soft);
        position: relative;
    }

    .detail-card h2::before {
        content: '';
        position: absolute;
        bottom: -3px;
        left: 0;
        width: 70px;
        height: 3px;
        background: var(--accent-blue);
        border-radius: 3px;
    }

    .detail-card h3 {
        font-size: 1.4rem;
        color: var(--primary-soft);
        margin: 25px 0 15px;
    }

    .detail-card .quote {
        font-style: italic;
        padding: 25px 25px 25px 45px;
        background: var(--accent-soft);
        border-radius: 30px;
        margin: 30px 0;
        position: relative;
        border: 1px solid rgba(43,110,240,0.2);
    }

    .detail-card .quote i {
        color: var(--accent-blue);
        font-size: 1.8rem;
        opacity: 0.3;
        position: absolute;
        left: 15px;
        top: 20px;
    }

    .detail-card .quote p {
        margin-bottom: 0;
        font-size: 1.1rem;
    }

    .detail-img {
        width: 100%;
        max-height: 500px;
        object-fit: cover;
        border-radius: 24px;
        margin: 25px 0;
        box-shadow: var(--shadow-card);
    }

    /* 咨询按钮 */
    .consult-section {
        display: flex;
        flex-wrap: wrap;
        gap: 15px;
        margin: 35px 0 20px;
        padding-top: 20px;
        border-top: 2px dashed var(--border-light);
    }

    .consult-item {
        position: relative;
        display: inline-block;
    }

    .consult-btn {
        background: var(--accent-blue);
        color: white;
        border: none;
        border-radius: 60px;
        padding: 12px 28px;
        font-weight: 600;
        font-size: 1rem;
        cursor: pointer;
        transition: var(--transition);
        box-shadow: 0 6px 14px -6px var(--accent-blue);
        border: 1px solid rgba(255,255,255,0.3);
        display: inline-flex;
        align-items: center;
        gap: 8px;
        white-space: nowrap;
    }

    .consult-btn i {
        font-size: 1.1rem;
    }

    .consult-btn:hover {
        background: var(--primary-soft);
        transform: scale(1.02);
    }

    .consult-item.wechat .consult-btn {
        background: #07C160;
        box-shadow: 0 6px 14px -6px #07C160;
    }

    .consult-item.wechat .consult-btn:hover {
        background: #059e4d;
    }

    .consult-popup {
        position: absolute;
        bottom: 100%;
        left: 0;
        transform: translateY(10px) scale(0.95);
        background: white;
        border-radius: 20px;
        padding: 15px;
        box-shadow: 0 15px 30px -10px rgba(0,0,0,0.2);
        border: 1px solid var(--border-light);
        width: 160px;
        text-align: center;
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.2s, transform 0.2s;
        z-index: 100;
        margin-bottom: 10px;
    }

    .consult-item:hover .consult-popup {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

    .consult-popup p {
        font-weight: 600;
        color: var(--primary-dark);
        margin-bottom: 10px;
        font-size: 1rem;
        background: var(--accent-soft);
        padding: 6px 10px;
        border-radius: 30px;
    }

    .consult-popup img {
        width: 100px;
        height: 100px;
        border-radius: 12px;
        border: 1px solid var(--border-light);
        background: white;
        padding: 5px;
        margin-bottom: 5px;
    }

    .consult-popup .qr-hint {
        font-size: 0.75rem;
        color: var(--text-secondary);
    }

    @media (max-width: 600px) {
        .consult-btn {
            white-space: normal;
            padding: 10px 20px;
        }
        .consult-popup {
            left: 50%;
            transform: translateX(-50%) translateY(10px) scale(0.95);
            width: 150px;
        }
        .consult-item:hover .consult-popup {
            transform: translateX(-50%) translateY(0) scale(1);
        }
    }

    /* 相关推荐 */
    .related-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 20px;
    }

    @media (min-width: 640px) {
        .related-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 25px;
        }
    }

    @media (min-width: 992px) {
        .related-grid {
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
        }
    }

    .related-card {
        background: white;
        border-radius: 24px;
        overflow: hidden;
        box-shadow: var(--shadow-card);
        border: 1px solid var(--border-light);
        transition: var(--transition);
    }

    .related-card:hover {
        transform: translateY(-6px);
        box-shadow: var(--shadow-focus);
        border-color: var(--accent-blue);
    }

    .related-img {
        width: 100%;
        aspect-ratio: 16 / 9;
        background-size: cover;
        background-position: center;
    }

    .related-content {
        padding: 18px 18px 22px;
    }

    .related-tag {
        font-size: 0.75rem;
        color: var(--accent-blue);
        background: var(--accent-soft);
        display: inline-block;
        padding: 4px 10px;
        border-radius: 20px;
        margin-bottom: 10px;
    }

    .related-title {
        font-size: 1.2rem;
        font-weight: 700;
        margin-bottom: 8px;
        color: var(--primary-dark);
    }

    .related-meta {
        font-size: 0.8rem;
        color: var(--text-secondary);
    }

    .related-meta i {
        color: var(--accent-blue);
        width: 1.1rem;
    }

    /* 右侧悬浮按钮 */
    .floating-buttons {
        position: fixed;
        right: 16px;
        bottom: 16px;
        display: flex;
        flex-direction: column;
        gap: 12px;
        z-index: 999;
    }

    .float-btn {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background: var(--accent-blue);
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        box-shadow: 0 8px 18px -6px var(--accent-blue);
        transition: var(--transition);
        border: 2px solid white;
        text-decoration: none;
    }

    .float-btn:hover {
        transform: scale(1.1);
        background: var(--primary-dark);
    }

    .float-btn.top {
        background: white;
        color: var(--accent-blue);
        border: 2px solid var(--accent-blue);
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s;
    }

    .float-btn.top.show {
        opacity: 1;
        visibility: visible;
    }

    @media (min-width: 768px) {
        .float-btn {
            width: 56px;
            height: 56px;
            font-size: 1.6rem;
        }
    }
    
       /* 悬浮卡片容器：固定定位，右侧垂直居中 */
    .floating-card {
      position: fixed;
      right: 24px;
      top: 50%;
      transform: translateY(-50%);
      z-index: 9999;
      font-family: 'Inter', sans-serif;
    }

    /* ----- PC/平板 卡片样式 (宽度适中，玻璃效果) ----- */
    .pc-card {
      width: 150px;
      background: var(--card-white);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid var(--border-light);
      border-radius: 32px;
      box-shadow: var(--shadow-card);
      padding: 10px 5px;
      display: flex;
      flex-direction: column;
      gap: 20px;
      transition: var(--transition);
    }
    .pc-card:hover {
      background: rgba(255,255,255,0.98);
      box-shadow: 0 30px 40px -15px rgba(43,110,240,0.3);
      border-color: var(--accent-blue);
    }

    .card-title1 {
      font-weight: 600;
      font-size: 1rem;
      letter-spacing: 1px;
      color: var(--accent-blue);
      text-transform: uppercase;
      border-bottom: 1px dashed var(--border-light);
      padding-bottom: 12px;
      text-align: center;
    }

    .phone-row {
      display: flex;
      align-items: center;
      gap: 12px;
      background: var(--accent-soft);
      padding: 5px 5px;
      border-radius: 60px;
      border: 1px solid rgba(43,110,240,0.15);
      font-weight: 600;
      color: var(--primary-dark);
      font-size: 1rem;
    }
    .phone-row i {
      color: var(--accent-blue);
      font-size: 1rem;
      width: 8px;
      text-align: center;
    }
    .phone-row span {
      word-break: keep-all;
    }

    .wechat-row {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      text-align: center;
    }
    .wechat-row i {
      font-size: 2rem;
      color: #07C160; /* 微信绿 */
      background: white;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 6px 12px -6px rgba(0,0,0,0.1);
      border: 1px solid #e0e0e0;
    }
    .qr-wrapper {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
    }
    .qr-wrapper img {
      width: 120px;
      height: 120px;
      border-radius: 20px;
      border: 2px solid white;
      box-shadow: 0 8px 18px -8px rgba(0,0,0,0.2);
      background: white;
      padding: 6px;
    }
    .qr-wrapper span {
      font-size: 0.85rem;
      color: var(--text-secondary);
      background: var(--accent-soft);
      padding: 5px 12px;
      border-radius: 40px;
    }

    .back-to-top {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      background: var(--primary-dark);
      color: white;
      padding: 12px 10px;
      border-radius: 50px;
      font-weight: 500;
      font-size: 0.95rem;
      cursor: pointer;
      transition: var(--transition);
      border: 1px solid rgba(255,255,255,0.2);
      margin-top: 4px;
    }
    .back-to-top i {
      font-size: 1.2rem;
    }
    .back-to-top:hover {
      background: var(--accent-blue);
      transform: translateY(-3px);
    }

    /* ----- 移动端按钮组 (默认隐藏，屏幕≤768px时显示) ----- */
    .mobile-buttons {
      display: none;
      flex-direction: column;
      gap: 16px;
    }
    .mobile-btn {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background: var(--accent-blue);
      color: white;
      border: 2px solid white;
      box-shadow: 0 10px 20px -8px rgba(0,50,120,0.5);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.8rem;
      cursor: pointer;
      transition: var(--transition);
      text-decoration: none;
      border: none;
      outline: none;
    }
    .mobile-btn:nth-child(2) { background: #07C160; } /* 微信按钮绿色 */
    .mobile-btn:nth-child(3) { background: var(--primary-dark); } /* 回到顶部深色 */
    .mobile-btn:hover {
      transform: scale(1.08);
    }

    /* 移动端弹窗 (微信二维码弹窗) */
    .popup-overlay {
      display: none;
      position: fixed;
      top: 0; left: 0; width: 100%; height: 100%;
      background: rgba(0,0,0,0.5);
      backdrop-filter: blur(4px);
      align-items: center;
      justify-content: center;
      z-index: 10000;
    }
    .popup-content {
      background: white;
      border-radius: 40px;
      padding: 30px 25px;
      text-align: center;
      max-width: 300px;
      box-shadow: 0 30px 50px -20px black;
      position: relative;
      animation: fadeIn 0.2s ease;
    }
    .popup-content img {
      width: 180px;
      height: 180px;
      border-radius: 24px;
      border: 2px solid var(--border-light);
      padding: 8px;
      background: white;
      margin-bottom: 15px;
    }
    .popup-content p {
      font-size: 1.2rem;
      font-weight: 600;
      color: var(--primary-dark);
      margin-bottom: 20px;
    }
    .close-popup {
      background: var(--accent-blue);
      color: white;
      border: none;
      border-radius: 40px;
      padding: 12px 30px;
      font-size: 1rem;
      font-weight: 600;
      cursor: pointer;
      border: 1px solid white;
      box-shadow: 0 8px 16px -8px var(--accent-blue);
      transition: 0.2s;
    }
    .close-popup:hover {
      background: var(--primary-dark);
    }
    @keyframes fadeIn {
      from { opacity: 0; transform: scale(0.9); }
      to { opacity: 1; transform: scale(1); }
    }

    /* 响应式切换 */
    @media (max-width: 768px) {
      .pc-card {
        display: none;
      }
      .mobile-buttons {
        display: flex;
      }
      /* 移动端稍微调整右边距 */
      .floating-card {
        right: 16px;
      }
    }

    /* 平板调整 (769px - 1024px 让卡片稍小一点) */
    @media (min-width: 769px) and (max-width: 1024px) {
      .pc-card {
        width: 200px;
        padding: 20px 16px;
      }
      .qr-wrapper img {
        width: 100px;
        height: 100px;
      }
      .phone-row {
        padding: 8px 12px;
        font-size: 0.9rem;
      }
    }

    /* 确保所有图标正常展示 */
    .fa-solid, .fa-brands {
      pointer-events: none; /* 按钮点击仍有效 */
    }
    /* 移动端按钮内图标居中 */
    .mobile-btn i {
      pointer-events: none;
    }
    /* 点击区域 */
    .back-to-top, .mobile-btn {
      cursor: pointer;
    }
    
    a {
  text-decoration: none;
}

.related-title a{
    color: var(--primary-dark);
}

/* 修复水平滚动问题 */
    html, body {
        max-width: 100%;
        overflow-x: hidden;
        position: relative;
    }
    
    /* ===== 列表卡片网格（紧凑版）===== */
.detail-card ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);  /* 默认一行四个 */
  gap: 16px;                /* 适当减小间距 */
  margin: 1.5rem 0;
  padding: 0;
  list-style: none;
}

.detail-card li {
  background: #ffffff;
  border: 1px solid var(--border-light, #DAE5F5);
  border-radius: 16px;      /* 圆角略微缩小 */
  padding: 1rem 0.8rem;     /* 内边距大幅减小 */
  box-shadow: 0 4px 12px -6px rgba(43, 110, 240, 0.2);
  transition: all 0.3s ease;
  color: var(--text-secondary, #2F4A6E);
  font-size: 0.95rem;       /* 字体稍小 */
  line-height: 1.4;
  text-align: left;         /* 左对齐更适合长内容 */
  word-break: break-word;
}

/* 移除默认标记 */
.detail-card li::before {
  display: none;
}

/* 悬浮效果保持，但更轻盈 */
.detail-card li:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px -12px var(--accent-blue, #2B6EF0);
  border-color: var(--accent-blue, #2B6EF0);
  background: white;
}

/* 平板端：每行两个 */
@media (max-width: 992px) {
  .detail-card ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

/* 手机端：每行一个 */
@media (max-width: 576px) {
  .detail-card ul {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .detail-card li {
    padding: 0.9rem 0.8rem;
  }
}

/* 如果 li 内部有标题/段落，统一间距 */
.detail-card li * {
  margin: 0.25rem 0;
}