
.progressive-image-high-res,
.progressive-image-placeholder {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: var(--img-poi, center center);
}
@layer {
	.progressive-image-container {
		position: relative;
		width: var(--img-width-sm, var(--img-width));
		aspect-ratio: var(--img-aspect-sm, var(--img-aspect));
		overflow: hidden;
	}

	.progressive-image-placeholder,
	.progressive-image-high-res,
	.progressive-image-error-overlay,
	.progressive-image-error-content {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}

	.progressive-image-high-res {
		opacity: 0;
		transition: opacity 700ms ease-in-out;
	}

	.progressive-image-placeholder,
	.progressive-image-high-res,
	.progressive-image-error-overlay {
		width: 100%;
		height: 100%;
	}

	.progressive-image-error-overlay {
		display: none;
		z-index: 20;
		opacity: 0;
		transition: opacity 700ms ease-in-out;
	}

	.progressive-image-error-content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background-color: rgba(0, 0, 0, 0.4);
		text-align: center;
		padding: 1rem;
	}

	.progressive-image-error-title {
		color: #a3e635;
		font-size: 3.75rem;
		line-height: 1;
		font-weight: 900;
		margin-bottom: 1rem;
	}

	.progressive-image-error-message {
		color: white;
		font-size: 1.5rem;
		line-height: 2rem;
		font-weight: 700;
		max-width: 24rem;
		letter-spacing: -0.025em;
	}
}