.callout-masonry {
	margin-bottom: 80px;
	padding-top: 80px;
}

.callout-masonry-heading {
	margin-bottom: 68px;
	text-align: center;
}

.callout-masonry-card {
	margin-bottom: 60px;
}

.callout-masonry-card__img {
	position: relative;
	margin-bottom: 20px;
	padding-top: 100%;
}

.callout-masonry-card__img::before {
	position: absolute;
	content: '';
	top: -20px;
	left: -20px;
	width: 100%;
	height: 100%;
	background: url('../../assets/images/callout-masonry-card-decor.svg')
		no-repeat top left;
	z-index: -1;
}

.callout-masonry-card__img img {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.callout-masonry-card__title {
	position: relative;
	margin-bottom: 16px;
	font-size: clamp(
		24px,
		calc(24px + calc(11 * (100vw - 390px) / 1050)),
		35px
	);
	text-decoration: none;
	color: var(--color-theme-primary);
	padding-right: 40px;
	display: block;

	&:after {
		display: inline-block;
		content: '';
		margin-left: 10px;
		width: 30px;
		height: 30px;
		background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30" fill="none"><circle cx="15" cy="15" r="14.25" fill="%2313294B" stroke="%2313294B" stroke-width="1.5"/><path d="M8.82422 15.0011H20.9396M20.9396 15.0011L16.3242 10.3857M20.9396 15.0011L16.3242 19.6165" stroke="white" stroke-width="1.5"/></svg>')
			no-repeat center;
		transform: translateY(5px);
		transition: transform 0.3s ease-in-out;
		will-change: transform;
	}

	&:hover,
	&:focus {
		&::after {
			transform: translate(5px, 5px);
		}
	}
}

@media only screen and (min-width: 768px) {
	.callout-masonry {
		margin-bottom: 110px;
		padding-top: 120px;
	}

	.callout-masonry-heading {
		margin-bottom: 120px;
		text-align: left;
		width: calc(50% - 10px);
	}

	.callout-masonry-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-gap: 20px;
	}

	.callout-masonry-card__img {
		margin-bottom: 40px;
	}

	.callout-masonry-card:nth-child(odd) .callout-masonry-card__img::before {
		top: -61px;
		left: auto;
		right: -90px;
		width: 270px;
		height: 320px;
		background-position: top right;
	}

	.callout-masonry-card:nth-child(even) .callout-masonry-card__img::before {
		content: none;
	}

	.callout-masonry-card:nth-child(even) {
		transform: translateY(-200px);
	}

	.callout-masonry-card:nth-child(even) .callout-masonry-card__inner {
		padding-left: 40px;
	}
}
