/* Step Cards — frontend */
.csc-section {
	background: var(--csc-section-bg, #0d0d10);
	padding: 40px 0;
}

.csc-grid {
	display: grid;
	grid-template-columns: repeat(var(--csc-columns, 3), minmax(0, 1fr));
	gap: var(--csc-gap, 24px);
	align-items: stretch;
}

.csc-card {
	position: relative;
	display: block;
	height: 100%;
	box-sizing: border-box;
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: var(--csc-radius, 18px);
	padding: 30px 26px;
	text-decoration: none;
	transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

a.csc-card:hover,
a.csc-card:focus {
	text-decoration: none;
}

.csc-grid--hover .csc-card:hover {
	transform: translateY(-6px);
	background: rgba(255, 255, 255, .10);
	border-color: rgba(255, 255, 255, .24);
}

.csc-card__icon {
	width: 54px;
	height: 54px;
	border-radius: 14px;
	background: var(--csc-icon-bg, #C91017);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 22px;
	line-height: 1;
}

.csc-card__title {
	margin: 18px 0 8px;
	font-size: 19px;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
}

.csc-card__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: rgba(255, 255, 255, .72);
}

.csc-card__num {
	position: absolute;
	right: 20px;
	top: 18px;
	font-size: 40px;
	font-weight: 800;
	line-height: 1;
	color: rgba(255, 255, 255, .10);
}

@media (max-width: 900px) {
	.csc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.csc-grid { grid-template-columns: 1fr; }
}
