.mck-elementor {

	.image-banner {
		contain: paint;

		@media (width >= 720px) {
			display: grid;
			place-content: center;
		}

		@media (width > 1920px) {
			background-color: var(--color-primary-opacity-10);
		}

		.image-banner__image {
			--image-border-radius: 80px;
			aspect-ratio: 1.5/1;
			border-top-right-radius: var(--image-border-radius);
			contain: paint;
			margin-inline: auto;
			width: 100%;

			@media (width >= 720px) {
				aspect-ratio: 2/1;
			}

			@media (width >= 1024px) {
				--image-border-radius: 160px;
				aspect-ratio: unset;
				border-radius: var(--img-border-radius, 0 var(--image-border-radius) 0 0);
				inset: 0;
				position: absolute;
				z-index: 0;
			}

			img {
				height: 100%;
				object-fit: cover;
				object-position: center;
				width: 100%;
			}
		}

		.image-banner__inner {
			margin-inline: auto;
			position: relative;
			--width: min(var(--site-width-wide), 100%);
			width: var(--width);
			z-index: 1;

			@media (width >= 1024px) {
				display: grid;
				gap: 20px;
				grid-template-areas: var(--grid-align, "content .");
				grid-template-columns: 1fr 1fr;
				padding: 100px 20px;
			}

			.image-banner__content {
				padding: 50px 20px;
		
				@media (width >= 1024px) {
					background-color: var(--color-white);
					border: 1px solid var(--color-primary-stroke);
					border-radius: var(--border-radius--md);
					box-shadow: 0 4px 25px 0 #0000001f;
					grid-area: content;
					justify-self: var(--content-align, end);
					padding: 48px;
					width: min(410px, 100%);
				}

				.section-heading {
					display: flex;
					flex-flow: column;
					align-items: start;
					margin-inline: auto;
					width: min(var(--site-width-narrow), 100%);
					padding: unset;

					.section-heading__eyebrow {
						font-size: 14px;
						font-weight: 500;
						letter-spacing: 2px;
						line-height: 20px;
						margin-block-end: 14px;
						text-transform: uppercase;
					}

					.dash {
						margin-block-end: 22px;
					}

					.section-heading__heading {
						font-size: 34px;
						text-wrap: balance;

						&:not(:only-child) {
							margin-block-end: 16px;
						}
					}
				}

				.section-heading--left {
					width: min(var(--site-width-wide), 100%);
				}
			
				.section-heading--left > * {
					max-width: 800px;
				}
			}
		}
	}

	.image-banner__align-right {
		--grid-align: ". content";
		--img-border-radius: var(--image-border-radius) 0 0 0;
		--content-align: end;
	}

	.image-banner__align-left {
		--grid-align: "content .";
		--img-border-radius: 0 var(--image-border-radius) 0 0;
		--content-align: start;
	}
}