
.visual-overlay {
  transition: transform 0.1s ease-out;
}

@keyframes floatBlob1 {
  0%, 100% {
    transform: translate(-30%, 18%) scale(1) rotate(0deg);
    filter: blur(80px);
  }
  25% {
    transform: translate(-40%, 25%) scale(1.1) rotate(5deg);
    filter: blur(70px);
  }
  50% {
    transform: translate(-20%, 10%) scale(0.9) rotate(-5deg);
    filter: blur(90px);
  }
  75% {
    transform: translate(-35%, 22%) scale(1.05) rotate(3deg);
    filter: blur(75px);
  }
}

@keyframes floatBlob2 {
  0%, 100% {
    transform: translate(-10%, 30%) scale(1) rotate(0deg);
    filter: blur(80px);
  }
  25% {
    transform: translate(-20%, 35%) scale(1.15) rotate(-4deg);
    filter: blur(65px);
  }
  50% {
    transform: translate(0%, 25%) scale(0.85) rotate(6deg);
    filter: blur(95px);
  }
  75% {
    transform: translate(-5%, 40%) scale(1.1) rotate(-2deg);
    filter: blur(70px);
  }
}

.s-visual::before {
  animation: floatBlob1 12s ease-in-out infinite;
}
.s-visual::after {
  animation: floatBlob2 14s ease-in-out infinite reverse;
}

.s-text h1 {
  min-height: 2.1em;       
  visibility: hidden;     
}
.s-text p {
  min-height: 4em;         
  visibility: visible;     
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.s-text p.fade-in {
  opacity: 1;
  transform: translateY(0);
}

.s-advantages .card--icon {
  opacity: 0;
  transform: translateY(50px);
  transition: transform 0.6s ease-out, opacity 0.6s ease-out, background-color 0.6s ease-out;
}
.s-advantages .card--icon.visible {
  opacity: 1;
  transform: translateY(0);
}

.s-steps .card--number::after {
  top: 1rem;
  right: 1rem;
  font-size: 2.5rem;
  font-weight: bold;
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.6s ease-out 0s,
    transform 0.6s ease-out 0s;
  z-index: 1;
}

.s-steps .card--number .card-body {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.6s ease-out 0.6s,   
    transform 0.6s ease-out 0.6s;
}

.s-steps .card--number.visible::after {
  opacity: 1;
  transform: translateY(0);
}
.s-steps .card--number.visible .card-body {
  opacity: 1;
  transform: translateY(0);
}

.s-services .card--icon {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, 
              transform 0.6s ease-out, 
              background-color 0.6s ease, 
              box-shadow 0.6s ease;
}

.s-services .card--icon.visible {
  opacity: 1;
  transform: translateY(0);
}

.s-services .card--icon .card-body figure {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.4s ease-out 0s, transform 0.4s ease-out 0s;
}

.s-services .card--icon.visible .card-body figure {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.3s; 
}

.s-prices .card--price {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}
.s-prices .card--price .card-body > h3,
.s-prices .card--price .card-body > p,
.s-prices .card--price .card-body > .price-list,
.s-prices .card--price .card-body > .btn {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease-out 0.1s,
              transform 0.4s ease-out 0.1s,
              background-position .3s linear;
}

.s-prices .card--price .check-list li {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

.s-prices .card--price.visible {
  opacity: 1;
  transform: translateY(0);
}
.s-prices .card--price.visible .card-body > h3,
.s-prices .card--price.visible .card-body > p,
.s-prices .card--price.visible .card-body > .price-list,
.s-prices .card--price.visible .card-body > .btn {
  opacity: 1;
  transform: translateY(0);
}
.s-prices .card--price .check-list li.visible {
  opacity: 1;
  transform: translateX(0);
}

/* .s-reviews .review-item p strong,
.s-reviews .review-item p span {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}
.s-reviews .review-item blockquote {
  filter: blur(4px);
  opacity: 0;
  transition: opacity 0.3s ease-out 0.4s,
              filter 0.6s ease-out 0.4s;
}

.s-reviews .review-item.visible p strong,
.s-reviews .review-item.visible p span {
  opacity: 1;
  transform: translateY(0);
}
.s-reviews .review-item.visible blockquote {
  opacity: 1;
  filter: blur(0);
} */

.s-blog-featured .card--blog {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.s-blog-featured .card--blog.visible {
  opacity: 1;
  transform: translateY(0);
}

.s-hero-custom.newsletter-active {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.special-content-padding .container-fluid {
  padding-right: calc(var(--bs-gutter-x) * .7);
  padding-left: calc(var(--bs-gutter-x) * .7);
}

footer.footer .container-fluid {
  padding-right: calc(var(--bs-gutter-x) * .7);
  padding-left: calc(var(--bs-gutter-x) * .7);
}

.list-style-02 {
  padding-left: 20px!important;
}

@media (max-width: 765px) {
  .submit.req_tip.mb-0.req-align {
    text-align: left;
  }
}

@media (max-width: 1439.98px) {
  .s-hero {
      overflow: hidden;
  }
}

@media (min-width: 1024px) {
  .header .buttons .btn-secondary {
      padding-left: 1rem;
      padding-right: 1rem;
  }
}