/* ==========================================================================
   Bento Grid Component
   Flexible grid layout for card-based content
   ========================================================================== */

.bento-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap-md);
}

.bento-grid .card {
    display: flex;
    flex-direction: column;
}

.bento-grid .card.large {
    grid-column: span 2;
}

/* Bento Grid Icon Boxes */
.bento-grid .card .icon-box {
    width: 56px;
    height: 56px;
    margin: 0 0 20px 0;
}

.bento-grid .card .icon-box svg {
    width: 28px;
    height: 28px;
}

/* Bento Grid Typography */
.bento-grid .card h4 {
    font-size: 1.375rem;
    font-weight: 600;
    color: var(--text-heading);
    letter-spacing: -0.01em;
    margin-bottom: 12px;
    line-height: 1.3;
}

.bento-grid .card p {
    font-size: 1.0625rem;
    color: var(--text-body);
    line-height: 1.65;
    margin: 0;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1200px) {
    .bento-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .bento-grid .card.large {
        grid-column: span 1;
    }
}

@media (max-width: 768px) {
    .bento-grid {
        grid-template-columns: 1fr;
    }
}
