.s-hero {
  position: relative;
  overflow: hidden;

  padding-block: 12rem 7.5rem;

  .container {
    position: relative;
    z-index: 1;
  }

  .hero-inner {
    display: flex;
    margin: 0 auto;

    & .left-hero {
      display: flex;
      flex-direction: column;
      gap: 2rem;
      margin-right: auto;
      max-width: 29rem;
      color: var(--white);

      & .hero-text {
        & h1 {
          font-size: 4.2rem;
          font-weight: 800;
          margin-bottom: 1.25rem;

          & span {
            color: var(--orange);
          }
        }

        & p{
          color: rgba(255,255,255,.72);
          font-size: 1.05rem;
          line-height: 1.7;
          max-width: 30rem;
        }
      }

      & .hero-action {
        display: flex;
        gap: 1.25rem;
      }

      & hr {
        border: none;
        border-top: 1px solid #ffffff20;
        margin: 1rem 0;
      }

      & .hero-stats {
        display: flex;
        gap: 2rem;

        & .stat {
          display: flex;
          flex-direction: column;

          & strong {
            font-family: 'Bricolage Grotesque', sans-serif;
            color: var(--orange);
            font-size: 1.75rem;
            font-weight: 800;
          }

          & span {
            color: rgba(255,255,255,.6);
            font-size: 0.875rem;
          }
        }
      }
    }
  }

  .foto-baixo {
    display: flex;
  }

  img {
    width: 18rem;
    height: 19rem;
    object-fit: cover;

    &.p1 {
      border-radius: 0.9375rem 3.75rem 0.9375rem 0.9375rem;
    }

    &.p2 {
      border-radius: 3.75rem 0.9375rem 0.9375rem 0.9375rem;
    }

    &.p3 {
      border-radius: 0.9375rem 0.9375rem 3.75rem 0.9375rem;
    }
  }
}

/*
  O degradê repete a cada 920px na diagonal de 135°. Andar 920px / √2 em x e em y
  equivale a exatamente um ciclo, então o loop não tem emenda. O fundo é ancorado
  em pixels (e não em % da altura do hero) para não se mover quando a fonte carrega.
*/
.s-hero-bg {
  --passo: calc(920px / 1.41421356);
  position: absolute;
  top: calc(var(--passo) * -1);
  left: calc(var(--passo) * -1);
  right: 0;
  bottom: 0;
  background-image: repeating-linear-gradient(
    135deg,
    #060f26 0px,
    #07112a 80px,
    #08142f 150px,
    #091633 210px,
    #0a1837 250px,
    #0a1939 265px,
    #0a1837 280px,
    #091633 310px,
    #08142f 360px,
    #07112a 430px,
    #060f26 510px,
    #07112a 590px,
    #08142f 650px,
    #091633 700px,
    #0a1838 738px,
    #0a1939 752px,
    #0a1838 766px,
    #091633 790px,
    #08142f 830px,
    #07112a 860px,
    #060f26 920px
  );
  animation: hero-drift 25s linear infinite;
  z-index: 0;
}

.pausado > .s-hero-bg {
  animation-play-state: paused;
}

@keyframes hero-drift {
  from { transform: translate(0, 0); }
  to   { transform: translate(var(--passo), var(--passo)); }
}

@media (width <= 40rem) {
  .s-hero {
    padding-block: 8rem 4rem;
  }

  .s-hero .hero-inner .left-hero .hero-text h1 {
    font-size: 3rem;
  }

  .s-hero .hero-inner .left-hero .hero-action {
    flex-direction: column;
  }

  .s-hero .btn {
    justify-content: center;
  }

  .s-hero .hero-inner .left-hero .hero-stats {
    flex-wrap: wrap;
    column-gap: 2rem;
    row-gap: 1.25rem;
  }
}