/* Layout Utilities */
.container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

.section {
    position: relative;
    padding: var(--spacing-xl) 0;
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Specific Section Heights */
.section-hero {
    min-height: 100vh;
}

.video-bg-section {
    min-height: 100vh;
    padding-top: calc(var(--spacing-xl) + 80px); /* Account for sticky header */
    padding-bottom: var(--spacing-xl);
    color: var(--color-text-light);
    overflow: hidden;
}

.bg-dark {
    background-color: var(--color-bg-dark);
    color: var(--color-text-light);
}

.bg-brown {
    background-color: var(--color-bg-brown);
    color: var(--color-text-light);
}

.bg-beige {
    background-color: var(--color-bg-beige);
    color: var(--color-text-dark);
}

/* Video Background Layout */
.video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.bg-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    background-color: var(--color-bg-dark);
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(17, 26, 20, 0.4); /* Darkening overlay for contrast */
}

.section-content {
    position: relative;
    z-index: 10;
    /* Vertically center the quote in the full-height video section */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 100vh;
    padding: var(--spacing-xl) 0;
}

/* Grids */
.two-col-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
}

.three-col-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-lg);
}

.text-center {
    text-align: center;
}

/* Utilities */
.align-center {
    align-items: center;
}

.mt-md { margin-top: var(--spacing-md); }
.mt-lg { margin-top: var(--spacing-lg); }
.mt-xl { margin-top: var(--spacing-xl); }
.mb-md { margin-bottom: var(--spacing-md); }

.relative { position: relative; }

/* Responsive Layout */
@media (max-width: 992px) {
    .two-col-grid {
        grid-template-columns: 1fr;
    }
    
    .three-col-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    /* Ensure text always comes before image on mobile for consistent UX */
    .two-col-grid > .text-col {
        order: -1;
    }
}

@media (max-width: 768px) {
    .section {
        padding: var(--spacing-md) 0;
    }
    
    .three-col-grid {
        grid-template-columns: 1fr;
    }

    .two-col-grid, .three-col-grid {
        gap: var(--spacing-md);
    }
    
    .mt-xl { margin-top: var(--spacing-lg); }
    .mt-lg { margin-top: var(--spacing-md); }
}
