.centered-media {
	position: relative;
	margin-bottom: var(--space-12);
	container-type: inline-size;
	text-align: center;
	color: var(--black);
}

.centered-media .widget-inner {
	max-width: 992px;
	padding: 0 20px;
	margin: 0 auto;
}

.centered-media .header {
	max-width: 736px;
	margin: 0 auto 40px;
}

.centered-media .title {
	margin-bottom: 15px;
	font-family: var(--font-body);
	font-weight: bold;
	font-size: 2.5rem;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: inherit;
}

.centered-media .desc {
	margin: 0;
	font-family: var(--font-body);
	font-weight: normal;
	font-size: var(--text-base);
	line-height: 1.5;
	letter-spacing: 0.02em;
	color: inherit;
}

.centered-media .media {
	position: relative;
	width: 100%;
	aspect-ratio: 350 / 359;
	border-radius: 20px;
	background: hsl(0, 0, 0.25);
	overflow: hidden;
}

.centered-media .fallback,
.centered-media .fallback .slide-img {
	position: absolute;
	inset: 0;
}

.centered-media .fallback {
	z-index: 4;
	opacity: 1;
	visibility: visible;
	transition:
		opacity var(--transition-appendix),
		visibility var(--transition-appendix);
}

.centered-media.video-loaded .fallback {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.centered-media .fallback .slide-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.centered-media .video-control.playback {
	position: absolute;
	inset: 50% auto auto 50%;
	z-index: 3;
	translate: -50% -50%;
	display: flex;
	justify-content: center;
}

.centered-media .video-control.playback i {
	display: none;
}

.centered-media.playing .video-control::before {
	opacity: 0;
}

.centered-media.playing .video-control::after {
	opacity: 1;
}

.centered-media .video {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	min-width: 100%;
	min-height: 100%;
	cursor: pointer;
	transition: opacity var(--transition-appendix);
	height: 100%;
	width: auto;
}

.centered-media .video[poster] {
	object-fit: cover;
}

@container (min-width: 46.5em) {
	.centered-media .widget-inner {
		padding: 0 80px;
	}

	.centered-media .title {
		margin-bottom: 20px;
		font-size: 3.125rem;
	}

	.centered-media .desc {
		font-size: var(--text-xl);
	}

	.centered-media .media {
		aspect-ratio: 584 / 329;
	}
}

@media (min-width: 80em) {
	.centered-media {
		margin-bottom: var(--space-20);
	}
}

@container (min-width: 80em) {
	.centered-media .title {
		font-size: 3.75rem;
	}

	.centered-media .media {
		aspect-ratio: 832 / 468;
	}
}