Here’s the CSS for grid-with-breakout:

.grid-with-breakout {
display: grid;
grid-template-columns:
minmax(0, var(--start-width, var(--side-width, 0.25fr)))
minmax(0, var(--content-width, 1fr))
minmax(0, var(--end-width, var(--side-width, 0.25fr)));
gap: var(--gap-y, var(--gap)) var(--gap-x, var(--gap));
max-width: 100%;
> * {
grid-column: 2 / -2;
max-width: 100%;
}
> .breakout-small {
grid-column: auto / span 1;
}
> .breakout-start-only,
> .breakout-left-only {
grid-column: 1 / 2;
}
> .breakout-start,
> .breakout-left {
grid-column: 1 / -2;
}
> .breakout-end,
> .breakout-right {
grid-column: 2 / -1;
}
> .breakout-end-only,
> .breakout-right-only {
grid-column: -1 / -2;
}
> .breakout-full {
grid-column: 1 / -1;
}
}