/*=========================
	CARDS LINKS BLOCK
	Image + title/link cards in a grid.
=========================*/

.block-cards-links {
	position: relative;
	overflow: hidden;
}

.block-cards-links .cards-links-graphic {
	position: absolute;
	top: 0;
	right: 0;
	pointer-events: none;
	color: currentColor;
}
.block-cards-links .cards-links-graphic svg {
	display: block;
	width: auto;
	height: 100%;
}

.block-cards-links .header {
	margin-bottom: var(--space-5);
	max-width: 60ch;
}
.block-cards-links .header .top-title {
	display: block;
	margin-bottom: var(--space-2);
}
.block-cards-links .header .title {
	margin: 0 0 var(--space-2);
}

.block-cards-links .cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 35px;
}

/* Card */
.block-cards-links .card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	background: transparent;
	border: none;
}

/* Image: icon/graphic — fixed 110px */
.block-cards-links .card-image--icon {
	width: 110px;
	height: 110px;
	overflow: visible;
}

.block-cards-links .card-image--icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

/* Image: uploaded photo — full-width square */
.block-cards-links .card-image--photo {
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.block-cards-links .card-image--photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Header copy */
.block-cards-links .header .copy {
	margin-top: var(--space-2);
	max-width: 60ch;
}

/* Per-card accent bar */
.block-cards-links .card-accent-bar {
	display: block;
	height: 3px;
	width: 60px;
	background: var(--accent-c, var(--color-a));
	margin: 16px 0;
}

/* Per-card copy */
.block-cards-links .card-copy {
	margin: 4px 0 0;
	font-size: 16px;
	line-height: 1.5;
}

.block-cards-links .top-title::after {
	display: none;
}

.block-cards-links .card-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 15px 0;
	color: var(--color-n-black);
	font-size: 28px !important;
}
.block-cards-links .card-title__icon {
	display: inline-flex;
	width: 21px;
	height: 21px;
	flex-shrink: 0;
	align-self: flex-start;
	position: relative;
	top: 8px;
	margin-left: 10px;
	color: var(--color-n-black);
	transition: transform .25s ease;
}
.block-cards-links .card-title__icon svg {
	width: 100%;
	height: 100%;
}
.block-cards-links a.card:hover .card-title__icon,
.block-cards-links a.card:focus-visible .card-title__icon {
	transform: translateX(14px);
}

/* Sliding underline on title text */
.block-cards-links .card-title .border-bot-sweep__elem {
	display: inline;
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0% 2px;
	padding-bottom: 2px;
	transition: background-size .35s cubic-bezier(.4,0,0,1);
}
.block-cards-links a.card:hover .card-title .border-bot-sweep__elem,
.block-cards-links a.card:focus-visible .card-title .border-bot-sweep__elem {
	background-size: 100% 2px;
}

/* Responsive */
@media only screen and (max-width: 991.98px) {
	.block-cards-links .cards {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--space-5) var(--space-6);
	}
}
@media only screen and (max-width: 575.98px) {
	.block-cards-links .cards {
		grid-template-columns: 1fr;
	}
}

/* Hover: slight photo zoom (live u-img-zoom pattern — scale 1.05) */
.block-cards-links .card-image--photo img {
	transition: transform .5s cubic-bezier(.4, 0, 0, 1);
}
.block-cards-links .card:hover .card-image--photo img,
.block-cards-links .card:focus .card-image--photo img {
	transform: scale(1.05);
}
