.fn-grid {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 32px;
}

.fn-item { display: flex; align-items: flex-start; gap: .75rem; text-decoration: none; color: inherit; }

.fn-icono {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--superficie-suave);
    color: var(--c-coral);
    transition: background .15s ease, color .15s ease;
}
.fn-icono .icono { width: 18px; height: 18px; }
.fn-item:hover .fn-icono { background: var(--c-coral); color: #fff; }
.fn-item:hover .fn-texto h3 { color: var(--c-coral); }

.fn-texto h3 { font-size: .95rem; font-weight: 600; color: var(--texto); transition: color .15s ease; }
.fn-texto p { margin-top: .15rem; font-size: .82rem; line-height: 1.45; color: var(--texto-suave); }

@media (max-width: 767.98px) {
    .fn-grid { grid-template-columns: 1fr 1fr; gap: 18px 20px; }
}
@media (max-width: 479.98px) {
    .fn-grid { grid-template-columns: 1fr; }
}
