<section class="section" style="--showCount: 8;">
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
  <div class="section__item hide" data-aos="fade"></div>
</section>
<section class="actions hide">
  <button type="button" class="btn">Show me all!</button>
</section>
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.section {
  $hide: var(--hiddeFrom);
  --hide: var(--hiddeFrom);
  display: grid;
  grid-template-columns: repeat(4, calc(100% / 5 - 20px));
  justify-content: space-between;
}
.section__item {
  height: 100px;
  outline: 1px solid tomato;
  margin-bottom: 20px;
  transform: scaleY(1);
  opacity: 1;
  transition: scaleY 0.5s ease, opacity 0.5s ease;
  //НЕ РОБИТ!!!!
  // &:nth-child(n + var(--hide)) {
  //   display: none;
  // }
}

.hide {
  opacity: 0;
  transform: scaleY(0);
  display: none;
}

[data-aos^="fade"][data-aos^="fade"].aos-animate {
  opacity: 1;
  transform: translateZ(0);
}
View Compiled
const items = document.querySelectorAll(".section__item");
const prop = document.querySelector(".section").style.getPropertyValue("--showCount");
const actions = document.querySelector(".actions");
const btn = document.querySelector(".btn");
//let counter = 0;
//console.log(prop)
// items.forEach(elem=>{
//   if(counter < prop){
//     elem.classList.add("")("active");
//   }
//   counter++;
// })

for(var elem = 0; elem < prop; elem++){
  items[elem].classList.remove("hide")
}

if(items > prop){
  actions.classList.remove("hide");  
  btn.addEventListener('click', ()=>{
   items.forEach(elem=>{
     if(elem.classList.contains("hide")){
       elem.classList.remove("hide");
     }
     
   }) 
    actions.classList.add("hide"); 
  })
} 
if(prop == 0){
  console.log(prop)
  items.forEach(elem=>{
    elem.classList.remove("hide");
    actions.classList.add("hide"); 
  })
}
document.querySelectorAll(".section__item").forEach((item, index) => {
    item.style.transitionDelay = .1*(0 + index) + 's';
  });

AOS.init({
  duration: 2000,
  delay:200
})

//data-aos-duration="2000" data-aos-delay="200"
//http://grid-layout.com/animation.html
//https://www.youtube.com/watch?v=vrEHi8kp8M4
//https://stackoverflow.com/questions/64692877/how-to-change-html-aos-delay-value-using-javascript-or-css

External CSS

  1. https://unpkg.com/aos@2.3.1/dist/aos.css

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/aos/2.3.4/aos.js