.flip {
  display: grid;
  grid-template-rows: auto auto;
  grid-template-areas: 'image' 'text';
  margin: var(--vertical-outer) 0;
}

@media (min-width: 1000px) {
  .flip {
    grid-template-columns: 1fr var(--4) 1fr;
    grid-template-areas: 'text gap image';
    grid-template-rows: auto;
    --col: calc((var(--max) / 2) - var(--8));
  }

  .flip--flipped {
    grid-template-areas: 'image gap text';
  }
  .flip::after {
    content: '';
    display: block;
    grid-area: gap;
    border-top: var(--stripe);
  }
}
@media (max-width: 999px) {
  .flip {
    margin: var(--4) var(--1);
  }
}

.flip__image {
  grid-area: image;
  max-width: var(--col);
  img {
    width: 100%;
    vertical-align: bottom;
    border-radius: var(--curvynes);
    transition: border-radius 0.25s;
  }
  .flip--flipped > & {
    margin-left: auto;
  }
  @media (max-width: 999px) {
    .flip--edgy > &,
    .flip--strokey > & {
      width: 100vw;
      margin-left: calc(var(--1)* -1);
    }
  }
}

.flip__text {
  grid-area: text;
  @media (min-width: 1000px) {
    border-top: var(--stripe);
  }
  @media (max-width: 999px) {
    .flip--edgy > &,
    .flip--strokey > & {
      margin-right: var(--1);
    }
  }
}

.flip__text-inner {
  max-width: var(--col);
  margin-left: auto;
  box-sizing: border-box;
  @media (min-width: 1152px) {
    padding-right: var(--7);
  }
  .flip--flipped & {
    margin-left: 0;
    margin-right: auto;
  }
}

.flip__footer {
  margin-top: var(--2);
}
