.page-template-food-story {
  .grain-texture {
    background-size: 71em;
    background-color: transparent;
    &::before {
      display: none;
    }
  }
}
.food-story {
  padding: 16em 13em 3em;
  text-align: center;
  grid-gap: 1em;
  display: grid;
  max-width: 73em;
  margin: auto;
  position: relative;
  h1 {
    margin-bottom: 0.2em;
  }
  .h3 {
  }
  .food-callouts {
    position: absolute;
    inset: 0;
    .callout {
      background: var(--swatch--white);
      border: 1px solid var(--swatch--black);
      box-shadow: -0.2em -0.2em;
      display: inline-block;
      line-height: 1;
      padding: 0.5em 0.9em 0.2em;
      position: absolute;
      &:nth-child(1) {
        top: 15em;
        left: 5em;
        transform: rotate(-25deg);

        @media all and (max-width: 768px) {
          top: 7em;
          left: var(--padding--side);
          transform: rotate(-23deg);
        }
      }
      &:nth-child(2) {
        top: 17em;
        right: 4em;
        transform: rotate(25deg);
        @media all and (max-width: 768px) {
          top: 8em;
          right: var(--padding--side);
          transform: rotate(16deg);
        }
      }
      &:nth-child(3) {
        bottom: -1em;
        left: 5em;
        transform: rotate(25deg);
        @media all and (max-width: 768px) {
          transform: rotate(10deg);
        }
      }
      &:nth-child(4) {
        bottom: -1em;
        right: 2em;
        transform: rotate(-25deg);
        @media all and (max-width: 768px) {
          bottom: -5em;
          transform: rotate(-4deg);
        }
      }
    }
  }

  @media all and (max-width: 768px) {
    padding: 12em var(--padding--side) 3em;

    .callout {
      h3 {
        font-size: var(--font-size--16);
      }
    }
  }
}

.story-sticker-section {
  position: relative;

  .dopa-boy {
    right: 7em;
    top: 21em;
  }
  .sticky-bowl {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;

    img,
    picture {
      width: 23em;
      height: auto;
      position: absolute;
      z-index: 2;
      display: inline-flex;
      aspect-ratio: 1;
    }
  }
  .sticky-line-wrapper {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    height: 100vh;
    padding: 6em 0 3em;
    .dot {
      width: 1em;
      height: auto;
      aspect-ratio: 1;
      background: var(--swatch--blue);
      border: 1px solid var(--swatch--black);
      border-radius: 50%;
    }
    .line {
      width: 1px;
      height: 100vh;
      background: var(--swatch--black);
    }
    .arrow {
      width: 3em;
      height: auto;
      aspect-ratio: 1;
      border-radius: 50%;
      border: 1px solid var(--swatch--black);
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 0.5em;
      svg {
        transform: rotate(90deg);
      }
    }
  }

  @media all and (max-width: 768px) {
    .dopa-boy,
    .sticky-bowl {
      display: none;
    }
  }
}

.story-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 10em 37em;
  padding: 0 6em 17em;
  margin-top: -30em;
  .story-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    &:nth-child(even) {
      align-items: flex-end;
      text-align: right;
      margin-top: 30em;

      @media all and (max-width: 768px) {
        align-items: flex-start;
        text-align: left;
        margin-top: 0;
      }
    }

    .h3 {
      margin-top: 0.3em;
      @media all and (max-width: 768px) {
        font-size: var(--font-size--16);
        width: 100%;
      }
    }
  }
  .story-img {
    position: relative;
    border-radius: var(--border-radius);
    border: 1px solid var(--swatch--black);
    height: auto;
    width: 20em;
    aspect-ratio: 1 / 1.25;
    overflow: hidden;
    box-shadow: 0.3em 0.3em;
    margin-bottom: 2em;

    @media all and (max-width: 768px) {
      width: 100%;
    }
  }
  p {
    width: 85%;

    @media all and (max-width: 768px) {
      width: 100%;
    }
  }

  @media all and (max-width: 768px) {
    grid-template-columns: 1fr;
    grid-gap: 3em;
    padding: 0 var(--padding--side) 4em;
    margin-top: 10em;
  }
}

.animated-illo {
  place-content: center;
  padding: 2em var(--padding--side);
  display: grid;
  img {
    width: 40em;
  }
}

.source-wrapper {
  padding: 7em 6em;
  display: grid;
  grid-gap: 2em;
  img {
    margin: auto;
    height: auto;
  }
  .source-list {
    column-count: 3;
    column-gap: 3em;
    ol {
      margin-top: 0;
      li {
        margin-bottom: 1em;
        text-transform: uppercase;

        &::marker {
          font-weight: bold;
        }
      }
    }

    @media all and (max-width: 768px) {
      column-count: 1;
      column-gap: 1em;

      ol {
        padding-left: 1em;
      }
    }
  }

  @media all and (max-width: 768px) {
    padding: 5em var(--padding--side);
  }
}
