/* promo section */
.section-promo {
	padding: 3rem 0;
}

.section-promo .content-container > .flex-box {
	align-items: center;
	gap: 1.5rem;
	margin: 0 auto 0 0;
}

.section-promo .content-container > .flex-box > div {
	width: 100%;
}

.section-promo .content-container > .flex-box .promo-media {
	align-items: center;
	overflow: hidden;
	width: 16rem;
}

.section-promo .content-container > .flex-box .promo-media .promo-video {
	aspect-ratio: 1 / 1;
	box-sizing: border-box;
	position: relative;
	width: 16rem;
}

.section-promo .content-container > .flex-box .promo-media .video-circle, 
.section-promo .content-container > .flex-box .promo-media .video-square {
	aspect-ratio: 1 / 1;
	border-radius: 100vw;
	overflow: hidden;
}

.section-promo .content-container > .flex-box .promo-media .promo-video video, 
.section-promo .content-container > .flex-box .promo-media .promo-image img {
	aspect-ratio: 1 / 1;
	border: 1px solid var(--color-border);
	display: block;
	left: 0;
	object-fit: cover;
	overflow: hidden;
	position: absolute;
	width: 16rem;
	top: 0;
	z-index: 0;
}

.section-promo .content-container > .flex-box .promo-media .promo-video .video-circle video, 
.section-promo .content-container > .flex-box .promo-media.promo-image-circle {
	border-radius: 100vw;
}

.section-promo .content-container > .flex-box .promo-media .promo-image {
	position: relative;
	width: 16rem;
	height: 16rem;
}

.section-promo .content-container > .flex-box .promo-media .promo-image-circle img {
	border-radius: 100vw;
}

.section-promo .content-container > .flex-box .promo-logo-image {
	padding: 0 0 1rem 0;
}

.section-promo .content-container > .flex-box .promo-logo-image img {
	display: block;
	width: auto;
}

.section-promo h2 {
	font-family: var(--font-header);
	font-weight: var(--font-weight-light);
	letter-spacing: 0;
	line-height: 1.2;
	margin-bottom: 0.5rem;
	text-align: left;
	text-transform: none;
}

.section-promo h2 span {
	font-weight: var(--font-weight-semibold);
}

.section-promo p {
	font-family: var(--font-body);
	font-weight: var(--font-weight-normal);
}

.section-promo p:last-of-type {
	margin-bottom: 0;
}

.section-promo p:last-of-type + .block-link {
	margin-top: 1.5rem;
}

@media (min-width: 48rem) { /* 768 px */
	.section-promo .content-container > .flex-box {
		gap: 3rem;
	}

	.section-promo .content-container > .flex-box > div:last-of-type {
		flex: 1;
		width: auto;
	}
}