.sc-container,
.sc-section {
    width: min(100%, var(--sc-content-max-width));
    margin-inline: auto;
    padding-inline: var(--sc-page-gutter);
}

.sc-container--narrow {
    width: min(100%, var(--sc-content-narrow-width));
}

.sc-container--wide {
    width: min(100%, var(--sc-content-wide-width));
}

.sc-flow > * + * {
    margin-top: var(--sc-space-3);
}

.sc-stack {
    display: flex;
    flex-direction: column;
    gap: var(--sc-grid-gap);
}

.sc-stack--tight {
    gap: var(--sc-space-2);
}

.sc-stack--loose {
    gap: var(--sc-space-5);
}

.sc-cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--sc-space-2);
}

.sc-cluster--between {
    justify-content: space-between;
}

.sc-grid {
    display: grid;
    gap: var(--sc-grid-gap);
}

.sc-grid--cards {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.sc-grid--halves {
    grid-template-columns: 1fr;
}

.sc-split {
    display: grid;
    gap: var(--sc-grid-gap);
    align-items: start;
}

@media (min-width: 768px) {
    .sc-grid--halves,
    .sc-split {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .sc-grid--thirds {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sc-split--sidebar {
        grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
    }
}