.kulube-grid {
	--kulube-navy: #081721;
	--kulube-ink: #333333;
	--kulube-muted: #5d6877;
	--kulube-tint: #eef1f4;
	--kulube-radius: 26px;

	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 36px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: Poppins, sans-serif;
}

.kulube-card {
	margin: 0;
	padding: 0;
	min-width: 0;
}

.kulube-card__link,
.kulube-card__link:hover,
.kulube-card__link:focus {
	display: block;
	color: var(--kulube-ink);
	text-decoration: none;
}

.kulube-card__media {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: var(--kulube-radius);
	background: var(--kulube-tint);
}

.kulube-card__img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	border-radius: 0 !important;
	transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.kulube-card__body {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 6px 0 8px;
}

.kulube-card__text {
	display: block;
	min-width: 0;
}

.kulube-card__title {
	display: block;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--kulube-navy);
}

.kulube-card__summary {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.35;
	color: var(--kulube-muted);
}

.kulube-card__go {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--kulube-tint);
	color: var(--kulube-navy);
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.kulube-card__link:hover .kulube-card__img,
.kulube-card__link:focus-visible .kulube-card__img {
	transform: scale(1.05);
}

.kulube-card__link:hover .kulube-card__go,
.kulube-card__link:focus-visible .kulube-card__go {
	background: var(--kulube-navy);
	color: #ffffff;
	transform: translateX(3px);
}

.kulube-card__link:focus-visible {
	outline: 2px solid var(--kulube-navy);
	outline-offset: 6px;
	border-radius: var(--kulube-radius);
}

@media (max-width: 1024px) {
	.kulube-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 30px 20px;
	}
}

@media (max-width: 600px) {
	.kulube-grid {
		--kulube-radius: 18px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 14px;
	}

	.kulube-card__body {
		padding: 12px 2px 0 4px;
	}

	.kulube-card__title {
		font-size: 16px;
	}

	.kulube-card__summary {
		font-size: 12.5px;
	}

	.kulube-card__go {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kulube-card__img,
	.kulube-card__go {
		transition: none;
	}
}
