.community-section { padding-bottom: 130px; }

.community-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.community-card {
    min-height: 280px;
    padding: 25px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    transition: transform .2s ease, border-color .2s ease;
}

.community-card:hover {
    transform: translateY(-4px);
    border-color: rgba(114, 227, 154, .55);
}

.community-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 28px;
    border-radius: 10px;
    color: var(--green);
    background: rgba(114, 227, 154, .11);
}

.community-type {
    margin-bottom: 8px;
    color: var(--green);
    font: 700 .65rem ui-monospace, monospace;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.community-card h3 { margin-bottom: 10px; font-size: 1.1rem; line-height: 1.3; }
.community-card > p:last-child { margin: 0; color: var(--muted); font-size: .87rem; }

.community-card-image { padding: 0 0 24px; overflow: hidden; }
.community-card-image > img { width: 100%; height: 128px; margin-bottom: 22px; object-fit: cover; }
.community-card-image > :not(img) { margin-right: 25px; margin-left: 25px; }
.community-card-image .community-type { margin-bottom: 8px; }
.community-card-image > p:not(.community-type) { margin-bottom: 0; color: var(--muted); font-size: .87rem; }
.community-album-link { display: inline-block; margin-top: 16px; color: var(--green); font-size: .83rem; font-weight: 700; text-decoration: none; }

@media (max-width: 900px) { .community-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 650px) { .community-section { padding-bottom: 85px; } .community-grid { grid-template-columns: 1fr; } .community-card { min-height: 0; } }
