.expressive-header-block {
  position: relative;
  overflow: hidden;
  background: #FFFFFF;
  min-height: 600px;

  &.dark-bg {
    background: #1A1A1A;
    color: #FFFFFF;

    .expressive-header-headline-container h1,
    .expressive-header-body-text {
      color: #FFFFFF;
    }

    .expressive-header-headline-container h1::before,
    .expressive-header-body-text::before,
    .expressive-header-wrapper::before {
      background: #FFFFFF;
    }
  }

  &::before {
    content: "";
    position: absolute;
    width: 1111px;
    max-width: 80%;
    height: 293px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -281px;
    background: radial-gradient(
                  ellipse at 13.08% 81.13%, 
                  #4500F9 0%, 
                  #8752FA 30.29%, 
                  #CD83FF 67.31%, 
                  #FF5001 100%
                ), #D9D9D9;
    filter: blur(150px);
    z-index: 1;


    @media screen and (max-width: 600px) {
      height: 97.06px;
      bottom: -95.49px;
      filter: blur(100px);
      /* max-width: 90%; */
      max-width: unset;
      width: 620px;
    }

  }

  .expressive-header-wrapper {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: row-reverse;
    gap: 0;
    margin-top: 170px;

    &::before {
      content: "";
      position: absolute;
      width: 100vw;
      height: 2px;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      background: #EAEAEB;
      pointer-events: none;
      z-index: -1;  
    }


    @media screen and (max-width: 600px) {
      flex-direction: column-reverse;
      margin-top: 0;

      &::before {
        content: none;
      }
    }
  }
  .expressive-header-headline-container {
    padding: 64px 40px;
    position: relative;

    &::before {
      content: "";
      position: absolute;
      width: 2px;
      height: 200vh;
      min-height: 900px;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      background: #EAEAEB;
      pointer-events: none;
      z-index: -1;  
    }

    h1 {
      margin-bottom: 0;
      font-weight: 700;
      text-wrap-style: balance;
    }

    @media screen and (max-width: 600px) {
      padding: 82px 20px;

      &::before {
        left: unset;
        right: 0;
      }

      &::after {
        content: "";
        position: absolute;
        width: 100vw;
        height: 2px;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        background: #EAEAEB;
        pointer-events: none;
        z-index: -1;  
      }
    }
  }

  .expressive-header-body-container {
    padding: 64px;
    padding-left: 0;
    flex: 0 0 62.5%;

    @media screen and (max-width: 600px) {
      padding: 64px 20px;
      flex: 1;
      min-height: 355px;
      display: flex;
      justify-content: center;
    }
  }
  .expressive-header-body-text {
    font-family: 'Helvetica Now Display', Helvetica, sans-serif;
    /* font-size: 6.4rem;
    line-height: 6.8rem; */
    font-weight: 400;
    position: relative;
  }


  &.alt {

    .expressive-header-wrapper {
      flex-direction: row;
      margin-top: 140px;

      @media screen and (max-width: 600px) {
        flex-direction: column;
        margin-top: 0;
      }
    }

    .expressive-header-headline-container {
      padding: 97px 40px 97px 0px;
      flex: 0 0 41.4%;

      @media screen and (max-width: 600px) {
        padding: 24px;
        flex: none;
        display: flex;
        align-items: center;
        min-height: 355px;
      }

      h1 {
        font-size: 4rem;
        line-height: 4.4rem;
        margin-bottom: 0;

        @media screen and (max-width: 600px) {
          font-size: 3.2rem;
          line-height: 3.6rem;
        }
      }

      &::before {
        left: unset;
        right: 0;

        @media screen and (max-width: 600px) {
          left: 0;
          right: unset;
          height: 250vh;
          min-height: 900px;
        }
      }

      &::after {

        @media screen and (max-width: 600px) {
          top: unset;
          bottom: 0;
        }
      }

    }

    .expressive-header-body-container {
      padding: 97px 0px 97px 40px;

      .expressive-header-body-text {
        line-height: 1.6;

        @media screen and (max-width: 600px) {
          font-size: 1.6rem;
        }
      }

      @media screen and (max-width: 600px) {
        padding: 24px;
      }
    }
  }


  &.alt2 {
    .expressive-header-wrapper {
      flex-direction: row;
      margin-top: 100px;
      padding-bottom: 210px;

      @media screen and (max-width: 600px) {
        flex-direction: column;
        margin-top: 0;
        padding-bottom: 80px;
      }


      &::before {
        content: none;
      }
    }

    .expressive-header-body-container {
      padding: 64px 0px 64px 0px;
      flex: 0 0 60.6%;
      
      @media screen and (max-width: 600px) {
        padding: 24px 0;
      }
    }
    .expressive-header-headline-container {
      padding: 64px 40px 64px 0px;
      flex: 0 0 41.4%;

      h1 {
        font-size: 4rem;
        line-height: 4.4rem;
        margin-bottom: 0;
      }

      &::before {
        content: none;
      }

      @media screen and (max-width: 600px) {
        padding: 24px 0;
        flex: none;
      }
    }

    .expressive-header-decorative-container {
      position: absolute;
      bottom: 0;
      height: 210px;
      left: 0;
      right: 0;
      display: flex;

      @media screen and (max-width: 600px) {
        height: 80px;
      }

      &::before {
        content: "";
        flex: 0 0 41.4%;
        border-right: 2px solid #EAEAEB;
        z-index: 1;
      }

      &::after {
        content: "";
        position: absolute;
        width: 100vw;
        height: 2px;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        background: #EAEAEB;
        pointer-events: none;
        z-index: 1;
      }
    }

  }
}
