
		:root {
			--blue: #2AA5DC;
			--blue-d: #1B8EC5;
			--blue-l: #52BFEF;
			--sand: #E8C95A;
			--sand-l: #F2DC82;
			--coral: #F06858;
			--coral-l: #F58E82;
			--dark: #163A50;
			--dark2: #1E4D68;
			--text: #1A2E3F;
			--text-l: #6A8FA8;
			--bg: #F5FBFF;
			--bg2: #E8F4FB;
			--bg3: #D4EAF6;
			--border: #C4DEF0;
			--white: #FFFFFF;
			--r: 14px;
			--tr: .35s ease;
			--shadow: 0 4px 20px rgba(22, 58, 80, .07);
			--shadow-lg: 0 12px 48px rgba(22, 58, 80, .1);
		}

		*,
		*::before,
		*::after {
			margin: 0;
			padding: 0;
			box-sizing: border-box
		}

		html {
			scroll-behavior: smooth;
			scroll-padding-top: 80px
		}

		body {
			font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
			color: var(--text);
			background: var(--bg);
			line-height: 1.7;
			overflow-x: hidden
		}

		a {
			text-decoration: none;
			color: inherit;
			transition: var(--tr)
		}

		ul {
			list-style: none
		}

		img {
			max-width: 100%;
			display: block
		}

		/* 海浪纹背景 */
		.wave-bg {
			background-image:
				repeating-linear-gradient(0deg, transparent, transparent 19px, rgba(42, 165, 220, .03) 19px, rgba(42, 165, 220, .03) 20px),
				repeating-linear-gradient(90deg, transparent, transparent 19px, rgba(42, 165, 220, .03) 19px, rgba(42, 165, 220, .03) 20px);
		}

		/* 贝壳圆纹装饰 */
		.shell-decor {
			position: relative
		}

		.shell-decor::before {
			content: '';
			position: absolute;
			top: -90px;
			right: -90px;
			width: 280px;
			height: 280px;
			border-radius: 50%;
			border: 2px dashed rgba(232, 201, 90, .12);
			box-shadow:
				inset 0 0 0 32px transparent, inset 0 0 0 34px rgba(232, 201, 90, .05),
				inset 0 0 0 64px transparent, inset 0 0 0 66px rgba(232, 201, 90, .03),
				inset 0 0 0 96px transparent, inset 0 0 0 98px rgba(232, 201, 90, .02);
			pointer-events: none;
		}

		.container {
			max-width: 1300px;
			margin: 0 auto;
			padding: 0 28px
		}

		.sec-hd {
			text-align: center;
			margin-bottom: 60px
		}

		.sec-hd h2 {
			font-size: 38px;
			font-weight: 900;
			color: var(--dark);
			letter-spacing: 3px;
			margin-bottom: 10px
		}

		.sec-hd p {
			font-size: 16px;
			color: var(--text-l);
			letter-spacing: 1px
		}

		.sec-hd .bar {
			width: 56px;
			height: 4px;
			margin: 18px auto 0;
			border-radius: 2px;
			background: linear-gradient(90deg, var(--blue), var(--sand))
		}

		.badge {
			display: inline-block;
			padding: 7px 22px;
			background: linear-gradient(135deg, var(--blue), var(--blue-d));
			color: #fff;
			font-size: 12px;
			font-weight: 700;
			letter-spacing: 3px;
			border-radius: 24px;
			margin-bottom: 14px
		}

		.reveal {
			opacity: 0;
			transform: translateY(28px);
			transition: opacity .7s, transform .7s
		}

		.reveal.on {
			opacity: 1;
			transform: translateY(0)
		}

		.btn {
			display: inline-flex;
			align-items: center;
			gap: 8px;
			padding: 14px 38px;
			border-radius: 50px;
			font-size: 15px;
			font-weight: 600;
			cursor: pointer;
			border: none;
			transition: var(--tr);
			letter-spacing: 1px
		}

		.btn-g {
			background: linear-gradient(135deg, var(--blue), var(--blue-d));
			color: #fff;
			box-shadow: 0 6px 24px rgba(42, 165, 220, .3)
		}

		.btn-g:hover {
			transform: translateY(-3px);
			box-shadow: 0 8px 32px rgba(42, 165, 220, .4)
		}

		.btn-o {
			background: transparent;
			color: #fff;
			border: 2px solid rgba(255, 255, 255, .5)
		}

		.btn-o:hover {
			border-color: var(--sand);
			background: rgba(232, 201, 90, .1)
		}

		/* ===== 导航 ===== */
		.nav {
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			z-index: 1000;
			height: 76px;
			transition: var(--tr)
		}

		.nav.sticky {
			background: rgba(22, 58, 80, .93);
			backdrop-filter: blur(14px);
			box-shadow: 0 2px 24px rgba(0, 0, 0, .1)
		}

		.nav .container {
			display: flex;
			align-items: center;
			justify-content: space-between;
			height: 100%
		}

		.logo {
			display: flex;
			align-items: center;
			gap: 14px
		}

		.logo-icon {
			width: 44px;
			height: 44px;
			border-radius: 50%;
			background: linear-gradient(135deg, var(--blue), var(--sand));
			display: flex;
			align-items: center;
			justify-content: center;
			font-weight: 900;
			color: #fff;
			font-size: 18px;
			box-shadow: 0 2px 12px rgba(42, 165, 220, .3)
		}

		.logo-txt {
			color: #fff;
			font-size: 17px;
			font-weight: 700;
			letter-spacing: 2px
		}

		.logo-txt span {
			display: block;
			font-size: 10px;
			font-weight: 400;
			opacity: .65;
			letter-spacing: 1px
		}

		.links {
			display: flex;
			gap: 6px;
			align-items: center
		}

		.links a {
			color: rgba(255, 255, 255, .78);
			font-size: 13.5px;
			padding: 8px 16px;
			border-radius: 8px;
			letter-spacing: 1px;
			font-weight: 500
		}

		.links a:hover,
		.links a.cur {
			color: #fff;
			background: rgba(42, 165, 220, .3)
		}

		.mob-btn {
			display: none;
			flex-direction: column;
			gap: 5px;
			cursor: pointer;
			padding: 8px
		}

		.mob-btn span {
			width: 22px;
			height: 2px;
			background: #fff;
			border-radius: 2px
		}

		/* ===== Hero ===== */
		.hero {
			position: relative;
			height: 100vh;
			min-height: 640px;
			overflow: hidden
		}

		.hero .slide {
			position: absolute;
			inset: 0;
			opacity: 0;
			transition: opacity 1.2s
		}

		.hero .slide.on {
			opacity: 1
		}

		.hero .slide img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			filter: brightness(.42) saturate(1.2)
		}

		.hero .overlay {
			position: absolute;
			inset: 0;
			background: linear-gradient(180deg, rgba(22, 58, 80, .15) 0%, rgba(22, 58, 80, .05) 40%, rgba(22, 58, 80, .7) 100%)
		}

		.hero-c {
			position: absolute;
			top: 44%;
			left: 31%;
			transform: translate(-50%, -50%);
			text-align: center;
			color: #fff;
			z-index: 2;
			width: 90%;
			max-width: 820px
		}

		.hero-yr {
			font-size: 17px;
			letter-spacing: 10px;
			opacity: .8;
			margin-bottom: 18px;
			font-weight: 300
		}

		.hero-t {
			font-size: clamp(30px, 5.5vw, 58px);
			font-weight: 900;
			letter-spacing: 5px;
			line-height: 1.2;
			margin-bottom: 14px;
			text-shadow: 0 4px 30px rgba(0, 0, 0, .25)
		}

		.hero-t em {
			font-style: normal;
			background: linear-gradient(135deg, var(--sand-l), var(--sand));
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			background-clip: text
		}

		.hero-s {
			font-size: clamp(15px, 2.2vw, 21px);
			letter-spacing: 8px;
			opacity: .85;
			margin-bottom: 38px;
			font-weight: 300
		}

		.hero-btns {
			display: flex;
			gap: 16px;
			justify-content: center;
			flex-wrap: wrap
		}

		.hero-arr {
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			z-index: 3;
			width: 54px;
			height: 54px;
			border-radius: 50%;
			background: rgba(255, 255, 255, .12);
			backdrop-filter: blur(8px);
			border: 1px solid rgba(255, 255, 255, .2);
			color: #fff;
			font-size: 20px;
			cursor: pointer;
			display: flex;
			align-items: center;
			justify-content: center;
			transition: var(--tr)
		}

		.hero-arr:hover {
			background: rgba(42, 165, 220, .5);
			border-color: var(--blue)
		}

		.hero-arr.l {
			left: 28px
		}

		.hero-arr.r {
			right: 28px
		}

		.hero-dots {
			position: absolute;
			bottom: 140px;
			left: 50%;
			transform: translateX(-50%);
			z-index: 3;
			display: flex;
			gap: 10px
		}

		.hero-dots i {
			width: 28px;
			height: 4px;
			border-radius: 2px;
			background: rgba(255, 255, 255, .25);
			cursor: pointer;
			transition: var(--tr)
		}

		.hero-dots i.on {
			background: var(--sand);
			width: 42px
		}

		.hero-wave {
			position: absolute;
			bottom: 64px;
			left: 0;
			right: 0;
			z-index: 1;
			pointer-events: none;
			opacity: .12
		}

		.hero-wave svg {
			width: 100%;
			height: 90px
		}

		.cd-bar {
			position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			z-index: 3;
			background: linear-gradient(135deg, rgba(22, 58, 80, .88), rgba(27, 142, 197, .82));
			backdrop-filter: blur(12px);
			border-top: 1px solid rgba(232, 201, 90, .2)
		}

		.cd-inner {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 44px;
			padding: 22px 0;
			flex-wrap: wrap
		}

		.cd-lbl {
			color: var(--sand);
			font-size: 13px;
			letter-spacing: 3px;
			font-weight: 700
		}

		.cd-items {
			display: flex;
			gap: 12px;
			align-items: center
		}

		.cd-item {
			text-align: center;
			background: rgba(255, 255, 255, .08);
			border-radius: 10px;
			padding: 8px 14px;
			min-width: 70px;
			border: 1px solid rgba(255, 255, 255, .1)
		}

		.cd-num {
			display: block;
			font-size: 32px;
			font-weight: 900;
			color: #fff;
			line-height: 1
		}

		.cd-unit {
			font-size: 11px;
			color: rgba(255, 255, 255, .5);
			letter-spacing: 2px;
			margin-top: 3px
		}

		.cd-sep {
			color: var(--sand);
			font-size: 26px;
			font-weight: 300;
			opacity: .5
		}

		/* ===== 新闻 ===== */
		.news {
			padding: 100px 0;
			background: var(--bg)
		}

		.news-top {
			display: grid;
			grid-template-columns: 1.1fr 1fr;
			gap: 28px;
			margin-bottom: 28px
		}

		.n-main {
			position: relative;
			border-radius: var(--r);
			overflow: hidden;
			cursor: pointer
		}

		.n-main img {
			width: 100%;
			aspect-ratio: 16/10;
			object-fit: cover;
			transition: transform .6s
		}

		.n-main:hover img {
			transform: scale(1.06)
		}

		.n-main-ov {
			position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			padding: 30px;
			background: linear-gradient(transparent, rgba(22, 58, 80, .88))
		}

		.n-tag {
			display: inline-block;
			padding: 4px 14px;
			background: var(--blue);
			color: #fff;
			font-size: 11px;
			border-radius: 4px;
			font-weight: 700;
			margin-bottom: 10px;
			letter-spacing: 1px
		}

		.n-tag.hot {
			background: var(--coral)
		}

		.n-main-t {
			color: #fff;
			font-size: 21px;
			font-weight: 700;
			line-height: 1.45;
			margin-bottom: 6px
		}

		.n-main-d {
			color: rgba(255, 255, 255, .55);
			font-size: 12px
		}

		.n-side {
			display: flex;
			flex-direction: column;
			gap: 14px
		}

		.n-card {
			display: flex;
			gap: 16px;
			padding: 16px;
			background: var(--white);
			border-radius: var(--r);
			border: 1px solid var(--border);
			transition: var(--tr);
			cursor: pointer
		}

		.n-card:hover {
			box-shadow: var(--shadow);
			transform: translateY(-3px);
			border-color: var(--blue)
		}

		.n-card img {
			width: 130px;
			height: 96px;
			border-radius: 10px;
			object-fit: cover;
			flex-shrink: 0
		}

		.n-card-b {
			flex: 1;
			display: flex;
			flex-direction: column;
			justify-content: space-between
		}

		.n-card-t {
			font-size: 14.5px;
			font-weight: 600;
			line-height: 1.45;
			display: -webkit-box;
			-webkit-line-clamp: 2;
			-webkit-box-orient: vertical;
			overflow: hidden
		}

		.n-card-d {
			font-size: 12px;
			color: var(--text-l)
		}

		.news-bot {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 20px
		}

		.n-sm {
			padding: 22px;
			background: var(--white);
			border-radius: var(--r);
			border: 1px solid var(--border);
			transition: var(--tr);
			cursor: pointer;
			position: relative;
			overflow: hidden
		}

		.n-sm::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 4px;
			height: 100%;
			background: linear-gradient(180deg, var(--blue), var(--sand));
			border-radius: 0 2px 2px 0;
			opacity: 0;
			transition: var(--tr)
		}

		.n-sm:hover {
			box-shadow: var(--shadow);
			border-color: var(--sand)
		}

		.n-sm:hover::before {
			opacity: 1
		}

		.n-sm-tag {
			font-size: 11px;
			color: var(--coral);
			font-weight: 700;
			margin-bottom: 8px;
			letter-spacing: 1px
		}

		.n-sm-t {
			font-size: 14px;
			font-weight: 600;
			line-height: 1.5;
			margin-bottom: 8px;
			display: -webkit-box;
			-webkit-line-clamp: 2;
			-webkit-box-orient: vertical;
			overflow: hidden
		}

		.n-sm-d {
			font-size: 12px;
			color: var(--text-l)
		}

		/* ===== 场馆 ===== */
		.venues {
			padding: 100px 0;
			background: var(--bg2);
			position: relative
		}

		.venues::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			height: 3px;
			background: linear-gradient(90deg, transparent, var(--blue), var(--sand), var(--blue), transparent);
			opacity: .5
		}

		.v-grid {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 24px
		}

		.v-card {
			background: var(--white);
			border-radius: var(--r);
			overflow: hidden;
			border: 1px solid var(--border);
			transition: var(--tr);
			cursor: pointer
		}

		.v-card:hover {
			box-shadow: var(--shadow-lg);
			transform: translateY(-5px)
		}

		.v-img {
			position: relative;
			overflow: hidden
		}

		.v-img img {
			width: 100%;
			height: 200px;
			object-fit: cover;
			transition: transform .6s
		}

		.v-card:hover .v-img img {
			transform: scale(1.07)
		}

		.v-img::after {
			content: '';
			position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			height: 50%;
			background: linear-gradient(transparent, var(--white));
			pointer-events: none
		}

		.v-num {
			position: absolute;
			top: 14px;
			left: 14px;
			width: 32px;
			height: 32px;
			border-radius: 50%;
			background: var(--blue);
			color: #fff;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 13px;
			font-weight: 800;
			z-index: 1
		}

		.v-body {
			padding: 18px 22px 22px
		}

		.v-name {
			font-size: 17px;
			font-weight: 700;
			margin-bottom: 8px;
			display: flex;
			align-items: center;
			gap: 8px
		}

		.v-name::before {
			content: '';
			width: 4px;
			height: 18px;
			background: linear-gradient(180deg, var(--blue), var(--sand));
			border-radius: 2px;
			flex-shrink: 0
		}

		.v-addr {
			font-size: 12.5px;
			color: var(--text-l);
			margin-bottom: 12px
		}

		.v-tags {
			display: flex;
			flex-wrap: wrap;
			gap: 6px
		}

		.v-tag {
			padding: 3px 10px;
			background: rgba(42, 165, 220, .08);
			color: var(--blue-d);
			font-size: 11px;
			border-radius: 4px;
			font-weight: 600
		}

		/* ===== 城市 ===== */
		.cities {
			padding: 100px 0;
			background: var(--bg)
		}

		.c-grid {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 18px
		}

		.c-card {
			position: relative;
			border-radius: var(--r);
			overflow: hidden;
			aspect-ratio: 3/4;
			cursor: pointer
		}

		.c-card img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: transform .7s
		}

		.c-card:hover img {
			transform: scale(1.12)
		}

		.c-ov {
			position: absolute;
			inset: 0;
			background: linear-gradient(transparent 35%, rgba(22, 58, 80, .88));
			transition: var(--tr)
		}

		.c-card:hover .c-ov {
			background: linear-gradient(transparent 15%, rgba(42, 165, 220, .65))
		}

		.c-info {
			position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			padding: 22px;
			color: #fff;
			z-index: 1
		}

		.c-name {
			font-size: 22px;
			font-weight: 800;
			letter-spacing: 3px
		}

		.c-desc {
			font-size: 11.5px;
			opacity: 0;
			transform: translateY(8px);
			transition: var(--tr);
			margin-top: 4px;
			letter-spacing: 1px
		}

		.c-card:hover .c-desc {
			opacity: .9;
			transform: translateY(0)
		}

		.c-badge {
			position: absolute;
			top: 14px;
			right: 14px;
			padding: 4px 10px;
			background: rgba(42, 165, 220, .78);
			color: #fff;
			font-size: 10px;
			font-weight: 700;
			border-radius: 4px;
			letter-spacing: 1px;
			z-index: 1;
			backdrop-filter: blur(4px)
		}

		/* ===== 公告 ===== */
		.notices {
			padding: 100px 0;
			background: var(--bg2);
			position: relative
		}

		.notices::after {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			height: 3px;
			background: linear-gradient(90deg, transparent, var(--coral), var(--sand), var(--coral), transparent);
			opacity: .35
		}

		.nt-layout {
			display: grid;
			grid-template-columns: 5fr 3fr;
			gap: 36px
		}

		.nt-list {
			display: flex;
			flex-direction: column
		}

		.nt-item {
			display: flex;
			gap: 18px;
			padding: 18px 0;
			border-bottom: 1px solid var(--border);
			cursor: pointer;
			transition: var(--tr);
			align-items: flex-start
		}

		.nt-item:hover {
			padding-left: 14px
		}

		.nt-item:hover .nt-title {
			color: var(--blue)
		}

		.nt-date {
			flex-shrink: 0;
			width: 56px;
			padding: 8px 6px;
			background: var(--white);
			border-radius: 10px;
			border: 1px solid var(--border);
			text-align: center
		}

		.nt-day {
			font-size: 26px;
			font-weight: 900;
			color: var(--blue);
			line-height: 1
		}

		.nt-mon {
			font-size: 10px;
			color: var(--text-l);
			margin-top: 2px
		}

		.nt-body {
			flex: 1
		}

		.nt-tag {
			display: inline-block;
			padding: 2px 8px;
			font-size: 10.5px;
			border-radius: 3px;
			font-weight: 700;
			margin-bottom: 6px
		}

		.nt-tag.imp {
			background: rgba(240, 104, 88, .08);
			color: var(--coral)
		}

		.nt-tag.reg {
			background: rgba(42, 165, 220, .08);
			color: var(--blue)
		}

		.nt-tag.rec {
			background: rgba(232, 201, 90, .1);
			color: #B89A2E
		}

		.nt-title {
			font-size: 15px;
			font-weight: 600;
			line-height: 1.55;
			transition: var(--tr)
		}

		.nt-side {
			display: flex;
			flex-direction: column;
			gap: 18px
		}

		.nt-quick {
			background: linear-gradient(135deg, var(--blue), var(--blue-d));
			border-radius: var(--r);
			padding: 30px;
			color: #fff;
			text-align: center;
			position: relative;
			overflow: hidden
		}

		.nt-quick::before {
			content: '';
			position: absolute;
			top: -30px;
			right: -30px;
			width: 100px;
			height: 100px;
			border-radius: 50%;
			border: 20px solid rgba(255, 255, 255, .06);
			pointer-events: none
		}

		.nt-quick h3 {
			font-size: 20px;
			font-weight: 700;
			margin-bottom: 6px
		}

		.nt-quick p {
			font-size: 13px;
			opacity: .78;
			margin-bottom: 18px;
			line-height: 1.7
		}

		.nt-quick .btn {
			background: rgba(255, 255, 255, .14);
			color: #fff;
			border: 1px solid rgba(255, 255, 255, .3);
			padding: 10px 26px;
			font-size: 13px
		}

		.nt-quick .btn:hover {
			background: rgba(255, 255, 255, .24)
		}

		.nt-cal {
			background: var(--white);
			border-radius: var(--r);
			padding: 22px;
			border: 1px solid var(--border)
		}

		.nt-cal h4 {
			font-size: 15px;
			font-weight: 700;
			margin-bottom: 14px;
			color: var(--dark);
			display: flex;
			align-items: center;
			gap: 6px
		}

		.cal-ev {
			display: flex;
			gap: 10px;
			align-items: flex-start;
			padding: 9px 0;
			border-bottom: 1px solid var(--border)
		}

		.cal-ev:last-child {
			border-bottom: none
		}

		.cal-dot {
			width: 8px;
			height: 8px;
			border-radius: 50%;
			margin-top: 6px;
			flex-shrink: 0
		}

		.cal-dot.r {
			background: var(--coral)
		}

		.cal-dot.b {
			background: var(--blue)
		}

		.cal-dot.y {
			background: var(--sand)
		}

		.cal-ev-txt {
			font-size: 13px;
			line-height: 1.5
		}

		.cal-ev-txt span {
			display: block;
			font-size: 11px;
			color: var(--text-l)
		}

		/* ===== 精彩瞬间 ===== */
		.moments {
			padding: 100px 0;
			background: linear-gradient(160deg, #1E4D68, #245878, #1E4D68);
			color: #fff;
			position: relative;
			overflow: hidden
		}

		.moments::before {
			content: '';
			position: absolute;
			inset: 0;
			background-image: repeating-linear-gradient(60deg, transparent, transparent 24px, rgba(42, 165, 220, .03) 24px, rgba(42, 165, 220, .03) 25px), repeating-linear-gradient(-60deg, transparent, transparent 24px, rgba(42, 165, 220, .03) 24px, rgba(42, 165, 220, .03) 25px);
			pointer-events: none
		}

		.moments .sec-hd h2 {
			color: #fff
		}

		.moments .sec-hd p {
			color: rgba(255, 255, 255, .5)
		}

		.m-grid {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			grid-auto-rows: 200px;
			gap: 10px
		}

		.m-item {
			position: relative;
			border-radius: var(--r);
			overflow: hidden;
			cursor: pointer
		}

		.m-item:first-child {
			grid-column: span 2;
			grid-row: span 2
		}

		.m-item img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: transform .6s
		}

		.m-item:hover img {
			transform: scale(1.1)
		}

		.m-item::after {
			content: '';
			position: absolute;
			inset: 0;
			background: linear-gradient(transparent 55%, rgba(22, 58, 80, .7));
			opacity: 0;
			transition: var(--tr)
		}

		.m-item:hover::after {
			opacity: 1
		}

		.m-cap {
			position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			padding: 14px;
			color: #fff;
			font-size: 13px;
			font-weight: 600;
			z-index: 1;
			transform: translateY(8px);
			opacity: 0;
			transition: var(--tr)
		}

		.m-item:hover .m-cap {
			transform: translateY(0);
			opacity: 1
		}

		/* ===== 合作伙伴 ===== */
		.partners {
			padding: 80px 0;
			background: var(--bg)
		}

		.p-grid {
			display: grid;
			grid-template-columns: repeat(5, 1fr);
			gap: 20px
		}

		.p-card {
			background: var(--white);
			border: 1px solid var(--border);
			border-radius: var(--r);
			padding: 28px 16px;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			gap: 10px;
			transition: var(--tr);
			cursor: pointer;
			min-height: 125px;
			position: relative;
			overflow: hidden
		}

		.p-card::after {
			content: '';
			position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			height: 3px;
			background: linear-gradient(90deg, var(--blue), var(--sand));
			transform: scaleX(0);
			transition: var(--tr)
		}

		.p-card:hover {
			box-shadow: var(--shadow);
			transform: translateY(-3px);
			border-color: var(--sand)
		}

		.p-card:hover::after {
			transform: scaleX(1)
		}

		.p-logo {
			width: 56px;
			height: 56px;
			border-radius: 14px;
			display: flex;
			align-items: center;
			justify-content: center;
			font-weight: 900;
			font-size: 20px;
			color: #fff;
			box-shadow: 0 4px 12px rgba(0, 0, 0, .08)
		}

		.p-name {
			font-size: 13.5px;
			font-weight: 600;
			color: var(--text);
			letter-spacing: .5px
		}

		.p-lv {
			font-size: 10.5px;
			color: var(--text-l);
			letter-spacing: 1px
		}

		/* ===== 页脚 ===== */
		.foot {
			background: var(--dark);
			color: rgba(255, 255, 255, .7);
			padding: 60px 0 0
		}

		.foot-grid {
			display: grid;
			grid-template-columns: 2.2fr 1fr 1fr 1fr;
			gap: 40px;
			margin-bottom: 44px
		}

		.foot-brand h3 {
			color: #fff;
			font-size: 20px;
			font-weight: 800;
			letter-spacing: 2px;
			margin-bottom: 14px
		}

		.foot-brand h3 em {
			font-style: normal;
			color: var(--sand)
		}

		.foot-brand p {
			font-size: 13.5px;
			line-height: 1.85;
			margin-bottom: 18px
		}

		.foot-soc {
			display: flex;
			gap: 10px
		}

		.foot-soc a {
			width: 38px;
			height: 38px;
			border-radius: 50%;
			background: rgba(255, 255, 255, .08);
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 13px;
			color: rgba(255, 255, 255, .55);
			transition: var(--tr)
		}

		.foot-soc a:hover {
			background: var(--blue);
			color: #fff
		}

		.foot-col h4 {
			color: #fff;
			font-size: 14px;
			font-weight: 600;
			margin-bottom: 18px;
			letter-spacing: 2px;
			position: relative;
			padding-bottom: 10px
		}

		.foot-col h4::after {
			content: '';
			position: absolute;
			bottom: 0;
			left: 0;
			width: 20px;
			height: 2px;
			background: var(--blue-l);
			border-radius: 1px
		}

		.foot-col a {
			display: block;
			font-size: 13.5px;
			padding: 5px 0;
			transition: var(--tr)
		}

		.foot-col a:hover {
			color: var(--sand-l);
			padding-left: 6px
		}

		.foot-btm {
			border-top: 1px solid rgba(255, 255, 255, .08);
			padding: 22px 0;
			display: flex;
			justify-content: space-between;
			align-items: center;
			flex-wrap: wrap;
			gap: 10px;
			font-size: 12.5px
		}

		/* 回顶 */
		.btt {
			position: fixed;
			bottom: 30px;
			right: 30px;
			width: 48px;
			height: 48px;
			border-radius: 50%;
			background: var(--blue);
			color: #fff;
			border: none;
			cursor: pointer;
			font-size: 18px;
			display: flex;
			align-items: center;
			justify-content: center;
			box-shadow: 0 4px 16px rgba(42, 165, 220, .3);
			transition: var(--tr);
			opacity: 0;
			transform: translateY(20px);
			z-index: 999
		}

		.btt.show {
			opacity: 1;
			transform: translateY(0)
		}

		.btt:hover {
			background: var(--blue-d);
			transform: translateY(-3px)
		}

		/* 响应式 */
		@media(max-width:1024px) {
			.links {
				display: none;
				position: fixed;
				top: 76px;
				left: 0;
				right: 0;
				background: rgba(22, 58, 80, .97);
				flex-direction: column;
				padding: 16px;
				gap: 2px;
				backdrop-filter: blur(14px)
			}

			.links.open {
				display: flex
			}

			.links a {
				padding: 12px 18px
			}

			.mob-btn {
				display: flex
			}

			.news-top {
				grid-template-columns: 1fr
			}

			.n-side {
				flex-direction: row;
				overflow-x: auto
			}

			.n-card {
				min-width: 260px
			}

			.news-bot {
				grid-template-columns: 1fr
			}

			.v-grid {
				grid-template-columns: repeat(2, 1fr)
			}

			.c-grid {
				grid-template-columns: repeat(2, 1fr)
			}

			.nt-layout {
				grid-template-columns: 1fr
			}

			.m-grid {
				grid-template-columns: repeat(2, 1fr);
				grid-auto-rows: 180px
			}

			.m-item:first-child {
				grid-column: span 2;
				grid-row: span 1
			}

			.p-grid {
				grid-template-columns: repeat(3, 1fr)
			}

			.foot-grid {
				grid-template-columns: 1fr 1fr
			}
		}

		@media(max-width:640px) {
			.hero-t {
				font-size: 26px;
				letter-spacing: 2px
			}

			.hero-s {
				font-size: 13px;
				letter-spacing: 4px
			}

			.cd-inner {
				gap: 16px
			}

			.cd-item {
				min-width: 54px;
				padding: 6px 8px
			}

			.cd-num {
				font-size: 24px
			}

			.sec-hd h2 {
				font-size: 26px
			}

			.v-grid,
			.c-grid {
				grid-template-columns: 1fr
			}

			.p-grid {
				grid-template-columns: repeat(2, 1fr)
			}

			.foot-grid {
				grid-template-columns: 1fr
			}

			.n-side {
				flex-direction: column
			}

			.n-card {
				min-width: auto
			}
		}

		@keyframes fadeUp {
			from {
				opacity: 0;
				transform: translateY(20px)
			}

			to {
				opacity: 1;
				transform: translateY(0)
			}
		}

		.hero-c {
			animation: fadeUp 1s ease .3s both
		}

		.cd-bar {
			animation: fadeUp .8s ease .5s both
		}
