/*
 * Блок features (blocks/features.php): сетка карточек с иконкой в голубом круге, заголовком и текстом.
 * На белом фоне карточки с тонкой рамкой; на голубой полосе (band) — белые без рамки.
 */

.features__head { max-width: 860px; margin-bottom: 44px; }
.features__title { color: var(--c-ink); font-size: 48px; font-weight: 700; line-height: 1.1; letter-spacing: -.04em; text-wrap: balance; }
.features__lead { margin-top: 20px; color: var(--c-muted); font-size: 20px; line-height: 1.6; }
.features__lead a, .feature__text a { color: var(--c-primary); text-decoration: underline; text-underline-offset: 3px; }

.features__grid { display: grid; gap: 20px; }
.features__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.features__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.feature { display: flex; flex-direction: column; gap: 12px; padding: 32px; border: 1px solid var(--c-line); border-radius: 24px; background: #fff; }
.features--band .feature { border-color: transparent; }
.feature__ico { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 8px; border-radius: 16px; background: var(--c-soft); color: var(--c-primary); }
.features--band .feature__ico { background: var(--c-soft); }
.feature__ico .ico { width: 26px; height: 26px; }
.feature__title { color: var(--c-ink); font-size: 22px; font-weight: 700; line-height: 1.25; letter-spacing: -.02em; }
.feature__text { color: var(--c-muted); font-size: 17px; line-height: 1.6; }

@media (max-width: 1200px) { .features__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1024px) { .features__grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .features__head { margin-bottom: 28px; }
    .features__title { font-size: var(--fs-h2-m); }
    .features__lead { font-size: 17px; }
    .features__grid--3, .features__grid--4 { grid-template-columns: 1fr; }
    .feature { padding: 24px; }
    .feature__title { font-size: 18px; }
    .feature__text { font-size: 16px; }
}
