/* Rebrand blocks — skeleton shimmer while images load, fade in when ready. */
:root {
	--ms-img-loading-base: #e0dbd2;
	--ms-img-loading-shimmer: rgba(255, 255, 255, 0.55);
}

@keyframes ms-rebrand-img-shimmer {
	from {
		transform: translateX(-100%);
	}

	to {
		transform: translateX(100%);
	}
}

.ms-hdrblk__media,
.ms-imgcarousel__media,
.ms-imggallery__media,
.ms-cimgblk__hero-media,
.ms-vidblk__poster,
.ms-team__card-media,
.ms-imgcnt__media,
.ms-sectcta__bg {
	position: relative;
	overflow: hidden;
	background-color: var(--ms-img-loading-base);
}

.ms-hdrblk__media:not(.is-loaded):has(img)::after,
.ms-imgcarousel__media:not(.is-loaded):has(img)::after,
.ms-imggallery__media:not(.is-loaded):has(img)::after,
.ms-cimgblk__hero-media:not(.is-loaded):has(img)::after,
.ms-vidblk__poster:not(.is-loaded):has(img)::after,
.ms-team__card-media:not(.is-loaded):has(img)::after,
.ms-imgcnt__media:not(.is-loaded):has(img)::after,
.ms-sectcta__bg:not(.is-loaded):has(img)::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(
		90deg,
		transparent 0%,
		var(--ms-img-loading-shimmer) 45%,
		transparent 90%
	);
	animation: ms-rebrand-img-shimmer 1.25s ease-in-out infinite;
	pointer-events: none;
}

section[class^='ms-'] img[class*='__img'],
.ms-sectcta__bg-img {
	opacity: 0;
	transition: opacity 0.4s ease;
}

section[class^='ms-'] img[class*='__img'].is-loaded,
.ms-sectcta__bg-img.is-loaded {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.ms-hdrblk__media:not(.is-loaded):has(img)::after,
	.ms-imgcarousel__media:not(.is-loaded):has(img)::after,
	.ms-imggallery__media:not(.is-loaded):has(img)::after,
	.ms-cimgblk__hero-media:not(.is-loaded):has(img)::after,
	.ms-vidblk__poster:not(.is-loaded):has(img)::after,
	.ms-team__card-media:not(.is-loaded):has(img)::after,
	.ms-imgcnt__media:not(.is-loaded):has(img)::after,
	.ms-sectcta__bg:not(.is-loaded):has(img)::after {
		animation: none;
		opacity: 0.35;
	}

	section[class^='ms-'] img[class*='__img'],
	.ms-sectcta__bg-img {
		transition: none;
	}
}
