.hero-with-icon {
  display: grid;
  gap: var(--spacing-10);
  grid-template-columns: 1fr auto;
  margin-block-end: var(--spacing-7);

  .hero-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--spacing-6);

    h1 {
      color: var(--colors-foreground-strong);
      font-size: var(--font-sizes-8);
      line-height: var(--line-heights-tight);
      margin-block: 0;

      @media screen and (max-width: 30rem) {
        font-size: var(--font-sizes-7);
      }
      em {
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        background-image: linear-gradient(to right, var(--colors-expressive-earth-600), currentColor);
        font-style: normal;
      }
    }
  }

  .hero-icon {
    align-items: center;
    background-color: var(--colors-expressive-earth-500);
    border-radius: 40px 40px 40px 0;
    color: white;
    display: flex;
    height: 230px;
    justify-content: center;
    width: 230px;

    .icon {
      height: 104px;
      width: 108px;
    }
  }

  @media screen and (max-width: 30rem) {
    gap: 30px;
    grid-template-areas: 'icon' 'text';
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;

    .hero-text {
      grid-area: text;
      h1 {
        margin-block: 0;
      }
    }
    .hero-icon {
      border-radius: 16px 16px 16px 0;
      grid-area: icon;
      height: 108px;
      width: 108px;

      .icon {
        height: 49px;
        width: 51px;
      }
    }
  }
}
