@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&family=DM+Mono:wght@400;500&display=swap');

.card-stacking {
  --card-height: 40vw;
  --card-margin: 4vw;
  --card-top-offset: 1em;
  --numcards: 4;
  --outline-width: 0px;
}

.stack-sec {
  /* background: #131212; */
  color: beige;
  text-align: center;
  padding-bottom: 20vh;
  margin-top: 30px;
}

.card-head, .middle-card {
  width: 80vw;
  margin: 0 auto;
}

.card-head {
  height: 35vh;
  display: grid;
  place-items: center;
  margin-bottom: -40px;
}

#card-slide {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(var(--numcards), var(--card-height));
  gap: var(--card-margin);
  padding-bottom: calc(var(--numcards) * var(--card-top-offset));
  margin-bottom: var(--card-margin);
}

#card-1 {
  --index: 1;
}

#card-2 {
  --index: 2;
}

#card-3 {
  --index: 3;
}

#card-4 {
  --index: 4;
}

#card-5 {
  --index: 4;
}

#card-6 {
  --index: 4;
}

.card-stack {
  position: sticky;
  top: 0;
  padding-top: calc(var(--index) * var(--card-top-offset));
}

.scroll-text {
  box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.1), 0 1em 2em rgba(0, 0, 0, 0.1);
  background: #000000;
  background: linear-gradient(315deg, #b757c2 0%, #3a1a4d 100%);
  border-radius: 1rem;
  overflow: hidden;
  display: grid;
  /* grid-template-areas: "text img";
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto; */
  align-items: stretch;
  padding: 1.4em;
}

.scroll-text > div {
  grid-area: text;
  width: 95%;
  max-width: 800px;
  place-self: center;
  text-align: left;
  display: grid;
  gap: 1em;
  place-items: start;
}

.scroll-text > figure {
  grid-area: img;
  overflow: hidden;
}

.scroll-text > figure > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: .4em;
}

/* .stacking h1 {
  font-weight: 300;
  font-size: 3rem;
  margin-top: -20px;
  margin-bottom: 0.5rem;
  font-family: 'Cormorant Garamond', serif;
} */

/* .stacking p {
  font-weight: 300;
  line-height: 1.42;
  font-size: 1.1rem;
} */

/* .scroll-content h2 {
  font-weight: bold;
  font-size: 2.5rem;
  font-family: 'Cormorant Garamond', serif;
  margin: 0;
} */

/* .scroll-content p {
  font-weight: 300;
  line-height: 1.42;
  font-size: 1.1rem;
} */

/* Animation */
@supports (animation-timeline: works) {

  @scroll-timeline cards-element-scrolls-in-body {
    source: selector(body);
    scroll-offsets:
      selector(#card-slide) start 1,
      selector(#card-slide) start 0
    ;
    start: selector(#card-slide) start 1;
    end: selector(#card-slide) start 0;
    time-range: 4s;
  }

  .card-stack {
    --index0: calc(var(--index) - 1);
    --reverse-index: calc(var(--numcards) - var(--index0));
    --reverse-index0: calc(var(--reverse-index) - 1);
  }
  
  .scroll-text {
    transform-origin: 50% 0%;
    will-change: transform;

    --duration: calc(var(--reverse-index0) * 1s);
    --delay: calc(var(--index0) * 1s);

    -webkit-animation: var(--duration) linear scale var(--delay) forwards;

            animation: var(--duration) linear scale var(--delay) forwards;
    animation-timeline: cards-element-scrolls-in-body;
  }

  @-webkit-keyframes scale {
    to {
      transform:
        scale(calc(
          1.1
          -
          calc(0.1 * var(--reverse-index))
        ));
    }
  }

  @keyframes scale {
    to {
      transform:
        scale(calc(
          1.1
          -
          calc(0.1 * var(--reverse-index))
        ));
    }
  }
}