:root{
	--bg:#050816;
	--bg-deep:#030510;
	--bg-soft:#0a1027;
	--bg-elevated:#0b1230;
	--surface:rgba(16,24,58,.72);
	--surface-soft:rgba(10,17,43,.66);
	--surface-strong:#10183a;
	--surface-hover:rgba(25,37,82,.82);
	--line:rgba(139,161,230,.16);
	--line-strong:rgba(59,130,246,.3);
	--text:#f7f8ff;
	--text-bright:#fff;
	--text-soft:#b8c2e2;
	--text-muted:#8692b8;
	--blue:#3b82f6;
	--violet:#a855f7;
	--magenta:#ec4899;
	--primary:#3b82f6;
	--primary-rgb:59,130,246;
	--aurora-gradient:linear-gradient(105deg,var(--blue),var(--violet) 62%,var(--magenta));
	--panel-gradient:linear-gradient(145deg,rgba(18,28,66,.84),rgba(7,12,33,.74));
	--radius-ui:6px;
	--radius-sm:var(--radius-ui);
	--radius-md:var(--radius-ui);
	--radius-lg:var(--radius-ui);
	--shadow-glow:0 24px 80px rgba(59,130,246,.2),0 0 40px rgba(168,85,247,.12);
	--header-height:76px;
	/* 全站严格使用五级文字体系。 */
	--type-caption:12px;
	--type-body:16px;
	--type-title:22px;
	--type-heading:clamp(30px,3vw,38px);
	--type-display:clamp(44px,5vw,72px);
}

*,*::before,*::after{
	box-sizing:border-box;
}

html{
	scroll-behavior:smooth;
	background:var(--bg);
	color-scheme:dark;
}

body{
	min-width:320px;
	margin:0;
	background:
		radial-gradient(circle at 7% 10%,rgba(59,130,246,.18),transparent 28rem),
		radial-gradient(circle at 92% 26%,rgba(168,85,247,.15),transparent 30rem),
		radial-gradient(circle at 45% 84%,rgba(59,130,246,.06),transparent 36rem),
		var(--bg);
	color:var(--text);
	font-family:Inter,"SF Pro Display","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
	font-size:var(--type-body);
	line-height:1.7;
	-webkit-font-smoothing:antialiased;
}

body::before{
	position:fixed;
	inset:0;
	z-index:-1;
	pointer-events:none;
	content:"";
	background:conic-gradient(from 210deg at 72% -20%,rgba(59,130,246,.09),rgba(59,130,246,.04),rgba(168,85,247,.11),rgba(236,72,153,.04),rgba(59,130,246,.09));
	filter:blur(50px);
}

main{
	display:block;
	min-height:55vh;
}

a{
	color:inherit;
	text-decoration:none;
	transition:color .22s ease,opacity .22s ease,transform .22s ease,background-color .22s ease,box-shadow .22s ease;
}

a:hover{
	color:var(--primary);
	text-decoration:none;
}

button,input,select,textarea{
	font:inherit;
}

:where(input,select,textarea){
	border:1px solid var(--line);
	border-radius:var(--radius-ui);
	background:rgba(7,12,33,.82);
	color:var(--text);
	caret-color:var(--primary);
}

:where(input,textarea)::placeholder{
	color:var(--text-muted);
	opacity:1;
}

:where(input,select,textarea):hover{
	border-color:rgba(59,130,246,.24);
}

:where(input,select,textarea):focus{
	border-color:var(--line-strong);
	box-shadow:0 0 0 3px rgba(59,130,246,.08),0 0 24px rgba(59,130,246,.1);
}

select option{
	background:var(--bg-elevated);
	color:var(--text);
}

:focus-visible{
	outline:3px solid var(--primary);
	outline-offset:4px;
}

img{
	max-width:100%;
}

.sr-only{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}

.skip-link{
	position:fixed;
	left:16px;
	top:12px;
	z-index:2000;
	transform:translateY(-140%);
	padding:10px 16px;
	border-radius:var(--radius-ui);
	border:1px solid var(--line-strong);
	background:var(--surface-strong);
	color:var(--text-bright);
	box-shadow:var(--shadow-glow);
}

.skip-link:focus{
	transform:translateY(0);
}

.container{
	width:min(calc(100% - clamp(32px,4vw,72px)),1760px);
	max-width:1760px;
	margin-right:auto;
	margin-left:auto;
}

.site-header{
	position:sticky;
	top:0;
	z-index:1000;
	height:var(--header-height);
	border-bottom:1px solid rgba(126,148,225,.08);
	background:rgba(3,5,16,.78);
	box-shadow:0 18px 60px rgba(0,0,0,.2);
	backdrop-filter:blur(22px) saturate(130%);
	-webkit-backdrop-filter:blur(22px) saturate(130%);
}

.site-header::after{
	position:absolute;
	left:5%;
	right:5%;
	bottom:0;
	height:1px;
	content:"";
	background:linear-gradient(90deg,transparent,rgba(59,130,246,.32),rgba(168,85,247,.28),transparent);
}

.site-header__inner{
	display:flex;
	align-items:center;
	gap:30px;
	height:100%;
}

.site-brand{
	display:inline-flex;
	align-items:center;
	flex:none;
	color:var(--text-bright);
}

.site-brand:hover{
	color:var(--text-bright);
}

.site-brand__logo{
	display:block;
	width:180px;
	height:50px;
	background-image:url('/static/img/logo.svg');
	background-position:83.2% 46%;
	background-repeat:no-repeat;
	background-size:300% auto;
}

.site-nav{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	flex:1;
	gap:4px;
	height:100%;
}

.site-nav__group{
	position:relative;
	height:100%;
}

.site-nav__link{
	position:relative;
	display:flex;
	align-items:center;
	height:100%;
	padding:0 14px;
	color:var(--text-soft);
	font-size:var(--type-body);
	font-weight:600;
	white-space:nowrap;
}

.site-nav__link::after{
	position:absolute;
	left:50%;
	bottom:13px;
	width:0;
	height:3px;
	border-radius:var(--radius-ui);
	content:"";
	background:linear-gradient(90deg,var(--blue),var(--primary));
	box-shadow:0 0 18px rgba(59,130,246,.65);
	transform:translateX(-50%);
	transition:width .24s ease;
}

.site-nav__link:hover,.site-nav__link.is-active{
	color:var(--text-bright);
}

.site-nav__link:hover::after,.site-nav__link.is-active::after{
	width:28px;
}

.site-nav__submenu{
	position:absolute;
	left:50%;
	top:calc(100% - 5px);
	display:grid;
	min-width:174px;
	padding:10px;
	border:1px solid var(--line);
	border-radius:var(--radius-ui);
	background:rgba(10,16,39,.96);
	box-shadow:var(--shadow-glow);
	opacity:0;
	pointer-events:none;
	transform:translate(-50%,12px) scale(.97);
	transition:opacity .2s ease,transform .2s ease;
}

.site-nav__submenu a{
	padding:9px 12px;
	border-radius:var(--radius-ui);
	color:var(--text-soft);
	white-space:nowrap;
}

.site-nav__submenu a:hover{
	background:linear-gradient(90deg,rgba(59,130,246,.16),rgba(168,85,247,.14));
	color:var(--text-bright);
}

.site-nav__submenu a.is-active{
	background:rgba(59,130,246,.07);
	color:var(--primary);
}

.site-nav__group:hover .site-nav__submenu,.site-nav__group:focus-within .site-nav__submenu{
	opacity:1;
	pointer-events:auto;
	transform:translate(-50%,0) scale(1);
}

.site-header__phone{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	flex:none;
	line-height:1.2;
}

.site-header__phone span{
	color:var(--text-muted);
	font-size:var(--type-caption);
}

.site-header__phone strong{
	margin-top:4px;
	color:var(--text-bright);
	font-size:var(--type-body);
	font-variant-numeric:tabular-nums;
	text-shadow:0 0 18px rgba(59,130,246,.42);
}

.site-nav-toggle{
	display:none;
	position:relative;
	width:44px;
	height:44px;
	padding:10px;
	border:0;
	border-radius:var(--radius-ui);
	background:rgba(59,130,246,.14);
	border:1px solid var(--line);
	color:var(--text-bright);
}

.site-nav-toggle img{
	position:absolute;
	left:10px;
	top:10px;
	width:24px;
	height:24px;
	filter:brightness(0) invert(1);
	transition:transform .22s ease,opacity .22s ease;
}

.site-nav-toggle__close{
	opacity:0;
	transform:scale(.7) rotate(-45deg);
}

.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__open{
	opacity:0;
	transform:scale(.7) rotate(45deg);
}

.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__close{
	opacity:1;
	transform:none;
}

.button,.btn-info{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:0 22px;
	border:0;
	border-radius:var(--radius-ui);
	font-weight:700;
}

.button:not(.button--primary),.btn-default{
	border:1px solid var(--line);
	background:rgba(16,24,58,.58);
	color:var(--text)!important;
	box-shadow:inset 0 1px rgba(255,255,255,.04);
}

.button:not(.button--primary):hover,.btn-default:hover{
	border-color:var(--line-strong);
	background:var(--surface-hover);
	color:var(--text-bright)!important;
	box-shadow:0 12px 30px rgba(3,5,16,.28),0 0 22px rgba(59,130,246,.12);
	transform:translateY(-2px);
}

.button--primary,.btn-info{
	background:var(--aurora-gradient);
	box-shadow:0 14px 34px rgba(59,130,246,.3),0 0 30px rgba(168,85,247,.18);
	color:#fff!important;
}

.button--primary:hover,.btn-info:hover{
	color:#fff;
	transform:translateY(-2px);
	box-shadow:0 18px 46px rgba(59,130,246,.38),0 0 34px rgba(168,85,247,.26);
}

.breadcrumb{
	margin:0;
	padding:22px 0 8px;
	border-bottom:1px solid rgba(134,146,184,.08);
	background:linear-gradient(90deg,rgba(59,130,246,.035),transparent 42%);
	color:var(--text-muted);
}

.breadcrumb a{
	color:var(--text-soft);
}

.breadcrumb a:hover{
	color:var(--primary);
}

.breadcrumb-item+.breadcrumb-item::before{
	color:var(--text-muted);
}

.breadcrumb-item.active{
	color:var(--text-muted);
}

.about-hero{
	position:relative;
	min-height:480px;
	overflow:hidden;
	background:
		linear-gradient(120deg,rgba(5,8,22,.96),rgba(10,16,39,.68)),
		radial-gradient(circle at 75% 35%,rgba(168,85,247,.36),transparent 28rem);
}

.about-hero::before{
	position:absolute;
	inset:auto -12% -68% 38%;
	height:520px;
	content:"";
	border-radius:50%;
	background:conic-gradient(from 180deg,var(--blue),var(--violet),var(--magenta),var(--primary),var(--blue));
	filter:blur(105px);
	opacity:.22;
}

.about-hero__orb{
	position:absolute;
	right:9%;
	top:50%;
	width:clamp(190px,28vw,410px);
	aspect-ratio:1;
	border-radius:50%;
	background:
		radial-gradient(circle at 34% 26%,rgba(255,255,255,.8),transparent 5%),
		conic-gradient(from 210deg,var(--primary),var(--blue) 24%,var(--violet) 52%,var(--magenta) 74%,var(--primary));
	box-shadow:inset -36px -42px 70px rgba(5,8,22,.55),0 0 90px rgba(59,130,246,.35),0 0 150px rgba(168,85,247,.23);
	filter:saturate(120%);
	transform:translateY(-42%);
}

.about-hero__orb::before,.about-hero__orb::after{
	position:absolute;
	inset:-14%;
	content:"";
	border:1px solid rgba(59,130,246,.32);
	border-radius:48% 52% 50% 50%;
	transform:rotate(28deg) scaleY(.45);
	box-shadow:0 0 32px rgba(59,130,246,.2);
}

.about-hero__orb::after{
	inset:-27%;
	border-color:rgba(168,85,247,.28);
	transform:rotate(-18deg) scaleY(.52);
}

.about-hero__content{
	position:relative;
	z-index:2;
	max-width:680px;
	padding:78px 0 96px;
}

.about-hero__label{
	margin:0 0 16px;
	color:var(--primary);
	font-size:var(--type-body);
	font-weight:750;
	letter-spacing:.16em;
	text-shadow:0 0 18px rgba(59,130,246,.48);
}

.about-hero__content h1{
	max-width:760px;
	margin:0;
	font-size:var(--type-display);
	font-weight:800;
	line-height:.98;
	letter-spacing:-.055em;
	text-wrap:balance;
	text-shadow:0 0 42px rgba(59,130,246,.18);
}

.about-hero__content>p:last-child{
	max-width:650px;
	margin:26px 0 0;
	color:var(--text-soft);
	font-size:var(--type-body);
	line-height:1.9;
}

.site-footer{
	position:relative;
	margin-top:0;
	padding:72px 0 30px;
	overflow:hidden;
	border-top:1px solid rgba(126,148,225,.1);
	background:
		radial-gradient(circle at 12% 0,rgba(59,130,246,.13),transparent 28rem),
		radial-gradient(circle at 88% 110%,rgba(168,85,247,.1),transparent 30rem),
		var(--bg-deep);
}

.site-footer__glow{
	position:absolute;
	left:8%;
	top:-220px;
	width:520px;
	height:390px;
	border-radius:50%;
	background:conic-gradient(from 90deg,var(--blue),var(--violet),var(--magenta),var(--primary),var(--blue));
	filter:blur(120px);
	opacity:.22;
}

.site-footer__inner{
	position:relative;
	display:grid;
	grid-template-columns:minmax(260px,1fr) 1.4fr;
	gap:80px;
}

.site-footer__lead p{
	max-width:390px;
	margin:22px 0;
	color:var(--text-soft);
}

.site-footer__phone{
	display:block;
	margin-bottom:20px;
	font-size:var(--type-title);
	font-weight:750;
	font-variant-numeric:tabular-nums;
	letter-spacing:-.03em;
	text-shadow:0 0 22px rgba(59,130,246,.35);
}

.site-footer__nav{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:28px;
}

.site-footer__nav h2{
	margin:0 0 18px;
	color:var(--text-bright);
	font-size:var(--type-body);
}

.site-footer__nav a{
	display:block;
	margin:9px 0;
	color:var(--text-muted);
}

.site-footer__legal{
	display:flex;
	justify-content:space-between;
	gap:20px;
	margin-top:54px;
	padding-top:24px;
	border-top:1px solid rgba(134,146,184,.16);
	color:var(--text-muted);
	font-size:var(--type-caption);
}

.mobile-call{
	display:none;
}

.media-fallback{
	background-color:#0c1431!important;
	background-position:center!important;
	background-size:cover!important;
	object-fit:cover;
}

.cutStr{
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.cutStr_2,.cutStr_3,.cutStr_4{
	display:-webkit-box;
	overflow:hidden;
	-webkit-box-orient:vertical;
}

.cutStr_2{-webkit-line-clamp:2;}
.cutStr_3{-webkit-line-clamp:3;}
.cutStr_4{-webkit-line-clamp:4;}

.numberFont{
	font-variant-numeric:tabular-nums;
}

.commonFenye{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:8px;
	padding:34px 0;
}

.commonFenye>*{
	display:grid;
	place-items:center;
	min-width:38px;
	height:38px;
	padding:0 11px;
	border:1px solid var(--line);
	border-radius:var(--radius-ui);
	background:rgba(16,24,58,.66);
	color:var(--text-soft);
}

.commonFenye>a.active,.commonFenye>a.active:hover{
	background:linear-gradient(135deg,var(--blue),var(--violet));
	color:#fff;
	box-shadow:0 8px 24px rgba(59,130,246,.28);
}

.commonFenye>a[disabled],.commonFenye>a.morePage{
	opacity:.45;
	pointer-events:none;
}

.clear{
	clear:both;
}

.mobileFenge{
	height:1px;
	margin:20px 0;
	background:linear-gradient(90deg,transparent,rgba(134,146,184,.24),transparent);
}

@media (max-width:1100px){
	.site-header__inner{
		gap:18px;
	}

	.site-nav__link{
		padding:0 9px;
	}

	.site-header__phone{
		display:none;
	}
}

@media (max-width:820px){
	:root{
		--header-height:68px;
	}

	body{
		padding-bottom:58px;
	}

	.container{
		width:min(100% - 32px,1200px);
	}

	.site-header__inner{
		justify-content:space-between;
	}

	.site-brand__logo{
		width:150px;
		height:42px;
	}

	.site-nav-toggle{
		display:block;
		order:3;
	}

	.site-nav{
		position:fixed;
		left:16px;
		right:16px;
		top:calc(var(--header-height) + 10px);
		display:block;
		height:auto;
		max-height:calc(100vh - var(--header-height) - 32px);
		padding:14px;
		overflow:auto;
		border:1px solid var(--line);
		border-radius:var(--radius-ui);
		background:rgba(7,11,29,.98);
		box-shadow:var(--shadow-glow);
		opacity:0;
		pointer-events:none;
		transform:translateY(-12px) scale(.98);
		transition:opacity .22s ease,transform .22s ease;
	}

	.site-nav.is-open{
		opacity:1;
		pointer-events:auto;
		transform:translateY(0) scale(1);
	}

	.site-nav__group{
		height:auto;
	}

	.site-nav__link{
		height:46px;
		padding:0 12px;
		border-radius:var(--radius-ui);
	}

	.site-nav__link::after{
		display:none;
	}

	.site-nav__link.is-active{
		background:linear-gradient(90deg,rgba(59,130,246,.18),rgba(168,85,247,.14));
	}

	.site-nav__submenu{
		position:static;
		display:grid;
		grid-template-columns:repeat(2,minmax(0,1fr));
		min-width:0;
		padding:0 8px 8px 20px;
		border:0;
		border-radius:0;
		background:none;
		box-shadow:none;
		opacity:1;
		pointer-events:auto;
		transform:none;
	}

	.site-nav__submenu a{
		padding:7px 8px;
		font-size:var(--type-body);
	}

	.site-footer{
		padding:52px 0 24px;
	}

	.site-footer__inner{
		grid-template-columns:1fr;
		gap:46px;
	}

	.site-footer__nav{
		gap:20px;
	}

	.site-footer__legal{
		flex-direction:column;
		margin-top:36px;
	}

	.mobile-call{
		position:fixed;
		left:12px;
		right:12px;
		bottom:max(10px,env(safe-area-inset-bottom));
		z-index:900;
		display:flex;
		align-items:center;
		justify-content:center;
		height:48px;
		border-radius:var(--radius-ui);
		background:linear-gradient(105deg,var(--blue),var(--violet),var(--magenta));
		box-shadow:0 12px 38px rgba(59,130,246,.46);
		color:#fff!important;
		font-weight:750;
	}

	.about-hero{
		min-height:420px;
	}

	.about-hero__orb{
		right:-16%;
		top:48%;
		opacity:.56;
	}

	.about-hero__content{
		padding:62px 0 80px;
	}

	.about-hero__content h1{
		max-width:88%;
		font-size:var(--type-display);
	}

	.about-hero__content>p:last-child{
		max-width:88%;
		font-size:var(--type-body);
	}
}

@media (max-width:540px){
	.site-footer__nav{
		grid-template-columns:1fr 1fr;
	}

	.site-footer__nav>div:last-child{
		grid-column:1/-1;
	}
}

.ui-arrow{
	display:inline-block;
	width:1.15em;
	height:1.15em;
	flex:0 0 auto;
	vertical-align:-.18em;
	background:currentColor;
	-webkit-mask:url('/icons/arrow-right.svg') center/contain no-repeat;
	mask:url('/icons/arrow-right.svg') center/contain no-repeat;
}

.ui-arrow--back{
	transform:rotate(180deg);
}

.ui-arrow--diagonal{
	transform:rotate(-45deg);
}

/* 列表分页统一使用首页、前后页、尾页和主色当前页。 */
.site-pagination.site-pagination{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
	align-items:center;
	gap:16px;
}

.site-pagination.site-pagination>div{
	display:flex;
	align-items:center;
	gap:6px;
}

.site-pagination.site-pagination .site-pagination__edge--next{
	justify-content:flex-end;
}

.site-pagination.site-pagination a{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:36px;
	height:36px;
	padding:0 10px;
	gap:5px;
	border-radius:var(--radius-ui);
	color:var(--text-soft);
	font-size:var(--type-caption);
	font-weight:400;
	text-decoration:none;
}

.site-pagination.site-pagination .site-pagination__first::before,
.site-pagination.site-pagination .site-pagination__last::after{
	display:inline-block;
	width:1.25em;
	height:1em;
	content:"";
	background:currentColor;
	-webkit-mask:
		url('/icons/arrow-right.svg') left center/.82em no-repeat,
		url('/icons/arrow-right.svg') right center/.82em no-repeat;
	mask:
		url('/icons/arrow-right.svg') left center/.82em no-repeat,
		url('/icons/arrow-right.svg') right center/.82em no-repeat;
}

.site-pagination.site-pagination .site-pagination__first::before{
	transform:rotate(180deg);
}

.site-pagination.site-pagination .site-pagination__edge a{
	border:1px solid rgba(126,148,225,.28);
	background:rgba(16,24,58,.54);
}

.site-pagination.site-pagination a:hover{
	border-color:rgba(var(--primary-rgb),.46);
	color:var(--primary);
}

.site-pagination.site-pagination .site-pagination__numbers a.is-active{
	background:rgba(var(--primary-rgb),.13);
	box-shadow:0 0 20px rgba(var(--primary-rgb),.12);
	color:var(--primary);
	font-weight:700;
}

.site-pagination.site-pagination .is-disabled{
	opacity:.35;
	pointer-events:none;
}

.site-pagination.site-pagination .site-pagination__numbers>span{
	color:var(--text-muted);
}

@media (max-width:767px){
	.site-pagination.site-pagination{
		display:flex;
		justify-content:center;
		flex-wrap:wrap;
		gap:10px 12px;
	}

	.site-pagination.site-pagination>div{
		justify-content:center;
	}

	.venue-pages>a::before,
	.catalog-pages .page-edge::before,
	.case-pages>a::before,
	.insight-pages>a::before{
		content:none!important;
	}
}

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{
		scroll-behavior:auto!important;
		animation-duration:.01ms!important;
		animation-iteration-count:1!important;
		transition-duration:.01ms!important;
	}
}
