.zx-container {
    max-width: var(--z-container);
    margin: 0 auto;
    padding-inline: clamp(20px, 4vw, 64px);
}

.zx-container--wide {
    max-width: 1440px;
}

.zx-container--narrow {
    max-width: 960px;
}

.zx-section {
    padding-block: clamp(80px, 10vw, 160px);
}

.zx-section--sm {
    padding-block: clamp(48px, 6vw, 96px);
}

.zx-grid {
    display: grid;
    gap: var(--z-space-lg);
}

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

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

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

.zx-flex {
    display: flex;
}

.zx-flex--center {
    align-items: center;
    justify-content: center;
}

.zx-flex--between {
    justify-content: space-between;
    align-items: center;
}

.zx-divider {
    width: 100%;
    height: 1px;
    background-color: var(--z-border);
}
