/**
 * AOS overflow guard + smoother fade-up (vertical only — no horizontal scroll).
 */

html {
  overflow-x: clip;
  max-width: 100%;
}

body {
  overflow-x: clip;
  max-width: 100%;
}

main,
#main {
  overflow-x: clip;
  max-width: 100%;
}

.hero,
.hero__inner,
.hero-grid,
.hero-visual,
.hero-copy,
.card-boxwrap,
.section,
.section__inner,
.section--why,
.section--soft,
.how-grid,
.diff-list,
.contact-hero,
.contact-hero__inner,
.contact-hero__grid,
.contact-form-col,
.contact-card,
.privacy-hero,
.privacy-hero__inner,
.privacy-card,
.cta-band,
.cta-band__inner,
.testimonials,
.testimonials__inner,
.testimonials-carousel-col,
.final-cta,
.final-cta__inner,
.site-footer,
.footer-grid {
  /* overflow-x: clip; */
  /* max-width: 100%; */
  min-width: 0;
}

.testimonials-carousel-col {
  min-width: 0;
}

.carousel-track {
  margin-inline: 0;
  padding-inline: 0;
  max-width: 100%;
}

/* Prevent layout shift flash before AOS runs */
html.aos-pending [data-aos]:not(.aos-animate) {
  opacity: 0;
}

html.aos-ready [data-aos].aos-animate {
  opacity: 1;
}

/* Smooth fade-up — vertical motion only (AOS default; no horizontal axis) */
[data-aos="fade-up"] {
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
  backface-visibility: hidden;
}

[data-aos="fade-up"].aos-animate {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  html.aos-pending [data-aos]:not(.aos-animate) {
    opacity: 1;
  }

  [data-aos] {
    transform: none;
    transition: none;
    opacity: 1;
  }
}
