/* --- Layout --- */
.section {
    padding: calc(var(--spacing-unit) * 10) calc(var(--spacing-unit) * 2);
    overflow: hidden; /* for animations */
}
.section--primary { background-color: var(--color-primary); }
.section--offwhite { background-color: #f8f8f8; }

.section__container {
    max-width: var(--content-width);
    margin: 0 auto;
}

.section__container--split,
.section__container--split-reverse {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing-unit) * 5);
    align-items: center;
}

.full-width-image { line-height: 0; }

/* --- Header & Footer --- */
.header {
    display: none; /* Mobile first */
    position: fixed;
    top: 0;
    right: 0;
    padding: calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 5);
    z-index: 1000;
}

.footer {
    background-color: var(--color-primary);
    color: var(--color-text-light);
    text-align: center;
    padding: calc(var(--spacing-unit) * 2);
}

/* --- Grids --- */
.staff-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing-unit) * 4);
    max-width: 800px;
    margin: 0 auto;
}

.menu-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing-unit) * 5);
}

.info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing-unit) * 3);
    max-width: 800px;
    margin: 0 auto;
}


/* --- Responsive Styles (Media Queries) --- */
@media (min-width: 768px) {
    .section { padding: calc(var(--spacing-unit) * 12) calc(var(--spacing-unit) * 3); }

    .section__container--split { grid-template-columns: 1fr 1fr; }
    .section__container--split-reverse { grid-template-columns: 1fr 1fr; }
    .section__container--split-reverse .section__image-wrapper { order: 2; }
    
    .staff-container { grid-template-columns: 1fr 1fr; }

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

    .info-grid { grid-template-columns: repeat(2, 1fr); }
    .info-item--full { grid-column: 1 / -1; }

    .mobile-nav-toggle, .mobile-nav { display: none; }
    .header { display: block; }
}

@media (min-width: 1024px) {
    .section__container--split { gap: calc(var(--spacing-unit) * 10); }
    .section__container--split-reverse { gap: calc(var(--spacing-unit) * 10); }

    .menu-grid { grid-template-columns: repeat(3, 1fr); }
}
