/* SWD Features — section head + card grid. */
.swd-features .fc__grid { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 16px; }
.swd-features .fc { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 30px 30px 32px; border-radius: 28px; background: var(--card); box-shadow: inset 0 0 0 1px var(--edge); overflow: hidden; transition: transform .3s, box-shadow .3s; }
.swd-features .fc::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, var(--a), var(--a2)); opacity: 0; transition: opacity .3s; }
.swd-features .fc:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--a) 40%, transparent), 0 30px 60px -40px rgba(0, 0, 0, .8); }
.swd-features .fc:hover::before { opacity: 1; }
.swd-features .fc__ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: color-mix(in srgb, var(--a) 14%, transparent); color: var(--a); margin-bottom: 8px; }
.swd-features .fc__ic .lic { width: 26px; height: 26px; }
.swd-features .fc__t { font-size: 22px; line-height: 1.2; letter-spacing: -.03em; }
.swd-features .fc__p { font-size: 16px; line-height: 1.55; color: var(--muted); }
.swd-features .fc__ticks { margin-top: 6px; padding-top: 18px; box-shadow: inset 0 1px 0 var(--edge); }
.swd-features .fc__ticks li { font-size: 15px; }
.swd-features .fc__more { margin-top: auto; padding-top: 10px; display: inline-flex; align-items: center; gap: 8px; font-weight: 500; color: var(--a); text-decoration: none; }
.swd-features .fc__more svg { width: 14px; height: 14px; }

@media (max-width: 1080px) {
	.swd-features .fc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.swd-features .fc__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.swd-features .fc { padding: 24px 22px 26px; border-radius: 24px; }
}

/* Image cards (variant "image"): screenshot in a browser frame, whole card is the link. */
.swd.fc--img .fc--card { gap: 0; padding: 0; }
.swd.fc--img .fc__shot { position: relative; margin: 10px 10px 0; padding-top: 22px; border-radius: 18px 18px 6px 6px; overflow: hidden; background: #0B1020; box-shadow: 0 0 0 1px rgba(255, 255, 255, .08); }
.swd.fc--img .fc__dots { position: absolute; top: 8px; left: 12px; display: flex; gap: 5px; }
.swd.fc--img .fc__dots i { width: 7px; height: 7px; border-radius: 50%; background: #2E3757; }
.swd.fc--img .fc__shot img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.swd.fc--img .fc--card:hover .fc__shot img { transform: scale(1.04); }
.swd.fc--img .fc__body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 22px 26px 26px; }
.swd.fc--img .fc__label { font-size: 13px; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; color: var(--a); }
.swd.fc--img .fc__link { color: inherit; text-decoration: none; }
.swd.fc--img .fc__link::after { content: ""; position: absolute; inset: 0; z-index: 3; border-radius: inherit; }
.swd.fc--img .fc__link:focus-visible { outline: 0; }
.swd.fc--img .fc--card:has(.fc__link:focus-visible) { outline: 2px solid var(--acc); outline-offset: 3px; }
.swd.fc--img .fc__more { padding-top: 14px; }
@media (max-width: 640px) {
	.swd.fc--img .fc__body { padding: 18px 20px 22px; }
}
