.cp-wrapper {
	background-color: #ffffff;
	padding: 3.5rem 0; /* py-14 */
	border-top: 1px solid #e2e8f0; /* border-y border-slate-200 */
	border-bottom: 1px solid #e2e8f0;
}

.cp-container {
	max-width: 1536px; /* max-w-screen-2xl */
	margin-left: auto;
	margin-right: auto;
	padding-left: 2rem; /* px-8 */
	padding-right: 2rem;
}

.cp-header {
	text-align: center;
	margin-bottom: 2.5rem; /* mb-10 */
}

.cp-subtitle {
	font-size: 0.75rem; /* text-xs */
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 2px; /* tracking-[2px] */
	font-weight: 600; /* font-semibold */
	color: #047857; /* text-emerald-700 */
}

.cp-title {
	margin-top: 0.5rem; /* mt-2 */
	font-size: 1.875rem;
	font-weight: 700;
	color: #0f172a;
}

.cp-grid {
	display: grid;
	gap: 1.25rem; /* gap-5 */
	max-width: 72rem; /* max-w-6xl */
	margin-left: auto;
	margin-right: auto;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px) {
	.cp-grid.cp-cols-2, .cp-grid.cp-cols-3, .cp-grid.cp-cols-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.cp-grid.cp-cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.cp-grid.cp-cols-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr)); /* lg:grid-cols-4 */
	}
}

.cp-card {
	background-color: #f8fafc; /* bg-slate-50 */
	border: 1px solid #f1f5f9; /* border-slate-100 */
	padding: 1.75rem; /* p-7 */
	border-radius: 1.5rem; /* rounded-3xl */
	transition: all 0.3s ease;
}

.cp-icon-wrap {
	width: 2.25rem; /* w-9 */
	height: 2.25rem; /* h-9 */
	background-color: #d1fae5; /* bg-emerald-100 */
	color: #047857; /* text-emerald-700 */
	border-radius: 1rem; /* rounded-2xl */
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem; /* mb-5 */
	font-size: 1rem;
}

.cp-icon-wrap svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.cp-item-title {
	font-weight: 600; /* font-semibold */
	font-size: 1.125rem; /* text-lg */
	line-height: 1.75rem;
	margin-bottom: 0.625rem; /* mb-2.5 */
	color: #0f172a;
	margin-top: 0;
}

.cp-item-desc {
	font-size: 0.875rem; /* text-sm */
	line-height: 1.25rem;
	color: #475569; /* text-slate-600 */
	margin: 0;
}