/* Massaa Toolkit — Feature cards. */
.ms.ms-features {
	--ms-brass: #e0b072;
	--ms-font-display: "Barlow Condensed", "IBM Plex Sans Arabic", sans-serif;
	--ms-font-body: "IBM Plex Sans Arabic", system-ui, sans-serif;
	--ms-pad: 40px;
	background: #fff;
	font-family: var(--ms-font-body);
	padding: 40px 0;
	text-align: left;
}
.ms.ms-features *, .ms.ms-features *::before, .ms.ms-features *::after { box-sizing: border-box; }
.ms.ms-features :where(ul, li) { margin: 0; padding: 0; list-style: none; }
.ms-features .ms-fc__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1300px; margin: 0 auto; padding: 0 var(--ms-pad); }
.ms.ms-features .ms-fc__card {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 460px;
	overflow: hidden;
	border-radius: 24px;
	background: #3e0b27;
	color: #fff;
	text-decoration: none;
	isolation: isolate;
}
.ms-features .ms-fc__card img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.ms-features .ms-fc__card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(62, 11, 39, 0) 35%, rgba(62, 11, 39, .88) 100%); }
.ms-features .ms-fc__card:hover img { transform: scale(1.05); }
.ms.ms-features .ms-fc__card:focus-visible { outline: 3px solid #e30e7d; outline-offset: 3px; }
.ms-features .ms-fc__body { display: flex; flex-direction: column; gap: 8px; padding: 28px 28px 30px; }
.ms.ms-features .ms-fc__title { color: #fff; font-family: var(--ms-font-display); font-size: 34px; font-weight: 600; line-height: 1.02; }
.ms.ms-features .ms-fc__text { color: rgba(255, 255, 255, .82); font-size: 15px; line-height: 1.55; }
.ms.ms-features .ms-fc__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; color: var(--ms-brass); font-size: 15px; font-weight: 600; }
.ms-features .ms-fc__more svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.ms-features .ms-fc__card:hover .ms-fc__more svg { transform: translateX(3px); }

@media (max-width: 1024px) {
	.ms-features .ms-fc__grid { grid-template-columns: repeat(3, minmax(260px, 1fr)); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.ms-features .ms-fc__grid li { scroll-snap-align: start; }
	.ms.ms-features .ms-fc__card { min-height: 400px; }
}
@media (max-width: 600px) {
	.ms.ms-features { --ms-pad: 20px; padding: 28px 0; }
	.ms-features .ms-fc__grid { grid-template-columns: repeat(3, 80%); gap: 14px; }
	.ms.ms-features .ms-fc__card { min-height: 380px; }
	.ms.ms-features .ms-fc__title { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
	.ms.ms-features *, .ms.ms-features *::before { transition: none !important; }
}
