.ic-reference-links {
	--ic-reference-accent: #e71922;
	--ic-reference-text: #151719;
	padding: 48px 32px;
	max-width: 1600px;
	margin: 0 auto;
}

.ic-reference-links,
.ic-reference-links * {
	box-sizing: border-box;
}

.ic-reference-links__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ic-reference-links__card {
	display: flex;
}

.ic-reference-links__link {
	width: 100%;
	min-height: 108px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 10px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 6px 20px rgba(16, 24, 40, 0.08);
	text-decoration: none;
	color: inherit;
	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.ic-reference-links__link:hover,
.ic-reference-links__link:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 14px 28px rgba(16, 24, 40, 0.14);
}

.ic-reference-links__link:focus-visible {
	outline: 3px solid rgba(231, 25, 34, 0.35);
	outline-offset: 2px;
}

.ic-reference-links__icon {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ic-reference-accent);
}

.ic-reference-links__icon svg {
	width: 48px;
	height: 48px;
	display: block;
}

.ic-reference-links__title {
	font-size: 15px;
	font-weight: 750;
	letter-spacing: -0.02em;
	text-align: center;
	color: var(--ic-reference-text);
	word-break: keep-all;
}

@media (max-width: 767px) {
	.ic-reference-links {
		padding: 32px 20px;
	}

	.ic-reference-links__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ic-reference-links__link {
		min-height: 100px;
		padding: 12px 8px;
	}

	.ic-reference-links__icon {
		width: 45px;
		height: 45px;
	}

	.ic-reference-links__title {
		font-size: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ic-reference-links__link {
		transition: none;
	}
}
