.content-grid {
  --padding-inline: 1rem;
  --content-max-width: 1200px;
  --breakout-max-width: 1440px;

  --breakout-size: calc(
    (var(--breakout-max-width) - var(--content-max-width)) / 2
  );

  display: grid;
  grid-template-columns:
    [full-width-start] minmax(var(--padding-inline), 1fr)
    [breakout-start] minmax(0, var(--breakout-size))
    [content-start] min(
      100% - (var(--padding-inline) * 2),
      var(--content-max-width)
    )
    [content-end]
    minmax(0, var(--breakout-size)) [breakout-end]
    minmax(var(--padding-inline), 1fr) [full-width-end];
}

.even-columns {
  display: flex;
  gap: 1rem;
}

.content-grid > :not(.breakout, .full-width),
.full-width > :not(.breakout, .full-width) {
  grid-column: content;
}

.content-grid > .breakout {
  grid-column: breakout;
}

.content-grid > .break-right {
  grid-column-start: content-start;
  grid-column-end: breakout-end;
}

.content-grid > .break-left {
  grid-column-start: breakout-start;
  grid-column-end: content-end;
}

.content-grid > .full-width {
  grid-column: full-width;
  display: grid;
  grid-template-columns: inherit;
}

.content-grid__right {
  display: grid;
  grid-template-columns: 3fr 1fr;
  align-items: start;
  gap: 1rem;
}

.content-grid__left {
  display: grid;
  grid-template-columns: 1fr 3fr;
  align-items: start;
  gap: 1rem;
}
