/* Compact visual identifiers for directory links. */
.nf-directory-card--visual {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 1.15rem;
    align-items: start;
    min-height: 220px;
    padding: 1rem;
}

.nf-directory-card__media {
    display: block;
    width: 92px;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 16px 16px 16px 5px;
    background: var(--nf-mist);
    box-shadow: inset 0 0 0 1px rgba(20, 33, 28, .06);
}

.nf-directory-card__media picture,
.nf-directory-card__media img {
    display: block;
    width: 100%;
    height: 100%;
}

.nf-directory-card__media img {
    object-fit: cover;
    filter: saturate(.82) contrast(.98);
    transition: transform .3s ease, filter .3s ease;
}

.nf-directory-card--visual:hover .nf-directory-card__media img,
.nf-directory-card--visual:focus-visible .nf-directory-card__media img {
    transform: scale(1.045);
    filter: saturate(.95) contrast(1);
}

.nf-directory-card__content {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-width: 0;
}

.nf-directory-card__label {
    align-self: flex-start;
    margin: .05rem 0 .65rem;
    color: var(--nf-green-2) !important;
    font-size: .64rem !important;
    font-weight: 900 !important;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.nf-directory-card--visual h2 {
    margin: 0 0 .55rem;
}

.nf-directory-card--visual p {
    margin: 0 0 1rem;
}

.nf-directory-card__cta {
    margin-top: auto;
    color: var(--nf-green) !important;
}

@media (max-width: 1024px) {
    .nf-directory-card--visual {
        grid-template-columns: 78px minmax(0, 1fr);
        min-height: 200px;
    }

    .nf-directory-card__media {
        width: 78px;
    }
}

@media (max-width: 440px) {
    .nf-directory-card--visual {
        grid-template-columns: 68px minmax(0, 1fr);
        gap: .9rem;
        min-height: 0;
    }

    .nf-directory-card__media {
        width: 68px;
        border-radius: 13px 13px 13px 4px;
    }
}
