.mfs-slider {
	--mfs-height: 370px;
	--mfs-overlay-color: #47687b;
	--mfs-overlay-opacity: .7;
	--mfs-speed: 300ms;
	position: relative;
	width: 100%;
	min-height: var(--mfs-height);
	overflow: hidden;
}

.mfs-track,
.mfs-slide {
	min-height: var(--mfs-height);
}

.mfs-slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 36px 60px;
	background-position: center 35%;
	background-size: cover;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--mfs-speed) ease, visibility var(--mfs-speed) ease;
}

.mfs-slide.is-active {
	z-index: 1;
	opacity: 1;
	visibility: visible;
}

.mfs-video,
.mfs-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.mfs-video {
	object-fit: cover;
}

.mfs-overlay {
	background: var(--mfs-overlay-color);
	opacity: var(--mfs-overlay-opacity);
}

.mfs-content {
	position: relative;
	z-index: 2;
	max-width: 900px;
	text-align: center;
	color: #fff;
}

.mfs-content p {
	margin-left: 0;
	margin-right: 0;
}

.mfs-eyebrow {
	display: block;
	font-size: 1.6rem;
	font-weight: 300;
	text-transform: uppercase;
}

.mfs-title {
	margin-top: .35rem;
	margin-bottom: 0;
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.2;
}

.mfs-subtitle {
	font-size: 1.8rem;
	font-weight: 300;
	letter-spacing: .02em;
}

.mfs-arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	width: 44px;
	height: 52px;
	padding: 0;
	border: 0;
	background: rgba(0, 0, 0, .25);
	color: #fff;
	font-size: 38px;
	line-height: 1;
	transform: translateY(-50%);
	cursor: pointer;
}

.mfs-arrow:hover,
.mfs-arrow:focus-visible {
	background: rgba(0, 0, 0, .55);
}

.mfs-arrow:disabled {
	opacity: .35;
	cursor: default;
}

.mfs-previous { left: 12px; }
.mfs-next { right: 12px; }

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

.mfs-dots button {
	width: 11px;
	height: 11px;
	padding: 0;
	border: 1px solid #fff;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.mfs-dots button[aria-current="true"] {
	background: #fff;
}

@media (max-width: 767px) {
	.mfs-slide { padding: 32px 42px; }
	.mfs-eyebrow { font-size: 1.1rem; }
	.mfs-title { font-size: 1.65rem; }
	.mfs-subtitle { font-size: 1.2rem; }
	.mfs-arrow { width: 34px; }
}

@media (prefers-reduced-motion: reduce) {
	.mfs-slide { transition: none; }
}
