/* Hero 通栏海报轮播 */
#hero.hero-banner {
	position: relative;
	width: 100%;
	height: 750px;
	overflow: hidden;
	background: var(--navy);
}

.hero-slider {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.hero-track {
	display: flex;
	height: 100%;
	transition: transform .5s ease;
	will-change: transform;
}

.hero-slide {
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
}

.hero-slide-link {
	display: block;
	width: 100%;
	height: 100%;
}

.hero-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.hero-arrow {
	position: absolute;
	top: 50%;
	z-index: 4;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	background: rgba(255, 255, 255, .18);
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .3s, visibility .3s, background .25s;
	backdrop-filter: blur(4px);
}

#hero.hero-banner:hover .hero-arrow {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.hero-arrow:hover {
	background: var(--blue);
}

.hero-arrow-prev {
	left: 100px;
}

.hero-arrow-next {
	right: 100px;
}

.hero-dots {
	position: absolute;
	bottom: 32px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	z-index: 3;
}

.hero-dot {
	width: 24px;
	height: 3px;
	border: none;
	padding: 0;
	background: rgba(255, 255, 255, .35);
	cursor: pointer;
	transition: all .3s;
}

.hero-dot.on {
	width: 42px;
	background: var(--blue-mid);
}

.site-front.site-main {
	min-height: 0;
}

@media (max-width: 1100px) {
	#hero.hero-banner {
		height: auto;
		min-height: 520px;
		aspect-ratio: 16 / 7;
	}

	.hero-dots {
		bottom: 24px;
	}

	.hero-arrow {
		width: 42px;
		height: 42px;
		font-size: 18px;
	}

	.hero-arrow-prev {
		left: 80px;
	}

	.hero-arrow-next {
		right: 80px;
	}
}

@media (max-width: 640px) {
	#hero.hero-banner {
		min-height: 420px;
		aspect-ratio: 4 / 3;
	}

	.hero-dots {
		bottom: 16px;
	}

	.hero-arrow {
		width: 36px;
		height: 36px;
		font-size: 16px;
	}

	.hero-arrow-prev {
		left: 60px;
	}

	.hero-arrow-next {
		right: 60px;
	}
}
