/* Layout — container, grid, responsive, full-bleed */

body {
    font-family: var(--font-primary);
    font-size: var(--fs-body);
    color: var(--color-charcoal);
    background-color: var(--color-white);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
}

.container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

.full-bleed {
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

/* Two-column layout for enquire page */
.two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
}

/* Spacing utilities */
.space-good {
    margin-bottom: var(--space-lg);
}

.space-small {
    margin-bottom: var(--space-sm);
}

/* Responsive */
@media (max-width: 768px) {
    :root {
        --container-padding: 1rem;
    }

    .two-col {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }
}
