.leonlab-process-cards {
	--leonlab-process-accent: #7c3aed;
	position: relative;
	border-radius: 18px;
	overflow: hidden;
}

.leonlab-process-cards__header {
	margin-bottom: 18px;
	max-width: 900px;
}

.leonlab-process-cards__headline {
	margin: 0 0 8px;
	font-size: 2em;
	line-height: 1.15;
}

.leonlab-process-cards__text {
	margin: 0;
	opacity: 0.85;
	font-size: 1.05em;
	line-height: 1.55;
}

.leonlab-process-cards__grid {
	display: grid;
	grid-template-columns: repeat(var(--leonlab-process-cols, 3), minmax(0, 1fr));
	gap: 14px;
}

@media (max-width: 900px) {
	.leonlab-process-cards__grid {
		grid-template-columns: 1fr;
	}
}

.leonlab-process-cards__card {
	position: relative;
	border-radius: 16px;
	padding: 16px;
	border: 1px solid rgba(0,0,0,0.08);
	background: rgba(255,255,255,0.55);
	backdrop-filter: blur(10px);
}

.leonlab-process-cards--solid .leonlab-process-cards__card {
	background: rgba(255,255,255,0.92);
}

.leonlab-process-cards--outline .leonlab-process-cards__card {
	background: transparent;
	border: 1px solid rgba(0,0,0,0.14);
}

.leonlab-process-cards__top {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-bottom: 10px;
}

.leonlab-process-cards__icon {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: color-mix(in srgb, var(--leonlab-process-accent) 14%, transparent);
	border: 1px solid color-mix(in srgb, var(--leonlab-process-accent) 35%, transparent);
	color: var(--leonlab-process-accent);
	flex: 0 0 auto;
}

.leonlab-process-cards__icon svg {
	width: 20px;
	height: 20px;
	display: block;
}

.leonlab-process-cards__number {
	margin-left: auto;
	font-weight: 800;
	opacity: 0.55;
	font-variant-numeric: tabular-nums;
}

.leonlab-process-cards__title {
	margin: 0 0 6px;
	font-size: 1.15em;
	line-height: 1.25;
}

.leonlab-process-cards__body {
	margin: 0;
	opacity: 0.9;
	line-height: 1.55;
}
