/* 
 * LAYOUT
 * Global layout and grid utilities 
 */

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

.section {
    padding: var(--spacing-xl) 0;
    position: relative;
}

.section__header {
    max-width: 700px;
    margin-bottom: var(--spacing-lg);
}

.section__title {
    font-size: clamp(2rem, 4vw, 3rem);
    margin-bottom: var(--spacing-sm);
}

.section__description {
    font-size: 1.125rem;
    color: var(--color-text-secondary);
}

/* Bento Grid */
.bento-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-md);
    auto-rows: minmax(250px, auto);
}

/* 4-column variant for expanded counters */
.bento-grid--4col {
    grid-template-columns: repeat(4, 1fr);
}

/* 
 * MEDIA QUERIES 
 */
@media (max-width: 1024px) {
    .section {
        padding: var(--spacing-lg) 0;
    }
    
    .bento-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bento-grid--4col {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .section {
        padding: var(--spacing-lg) 0;
    }
    
    .bento-grid {
        grid-template-columns: 1fr;
    }
    
    /* Make large cards span only 1 column on mobile */
    .bento-card--large {
        grid-column: 1 / -1;
    }
}
