/* Scroll reveal + parallax hero + WhatsApp FAB */

.site-parallax-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.site-parallax-hero__orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(48px);
  will-change: transform;
}

.site-parallax-hero__orb--1 {
  width: min(420px, 70vw);
  height: min(420px, 70vw);
  top: -35%;
  left: 50%;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(118, 185, 0, 0.35) 0%, transparent 70%);
}

.site-parallax-hero__orb--2 {
  width: min(320px, 55vw);
  height: min(320px, 55vw);
  top: 10%;
  right: -12%;
  background: radial-gradient(circle, rgba(0, 212, 255, 0.22) 0%, transparent 72%);
}

.site-parallax-hero__orb--3 {
  width: min(280px, 48vw);
  height: min(280px, 48vw);
  bottom: -25%;
  left: -8%;
  background: radial-gradient(circle, rgba(160, 60, 255, 0.18) 0%, transparent 70%);
}

.site-parallax-hero__content {
  position: relative;
  z-index: 1;
}

/* Scroll reveal */
.site-reveal,
.site-blog__card,
.site-contact__grid > div,
.site-contact__form,
.casos-uso-card,
.modelos-hero__line,
.modelos-grid__item,
.article__header,
.article__content > p,
.article__content > h2,
.article__content > ul,
.article__content > .article__cta {
  opacity: 0;
  transform: translate3d(0, 36px, 0);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms);
}

.site-reveal.is-inview,
.site-blog__card.is-inview,
.site-contact__grid > div.is-inview,
.site-contact__form.is-inview,
.casos-uso-card.is-inview,
.modelos-hero__line.is-inview,
.modelos-grid__item.is-inview,
.article__header.is-inview,
.article__content > p.is-inview,
.article__content > h2.is-inview,
.article__content > ul.is-inview,
.article__content > .article__cta.is-inview {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.modelos-hero__glow {
  will-change: transform;
}

.modelos-card__visual img[data-parallax-img] {
  will-change: transform;
}

.site-blog__card.is-inview:hover {
  transform: translate3d(0, -4px, 0);
}

.casos-uso-card__media img {
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.casos-uso-card.is-inview:hover .casos-uso-card__media img {
  transform: scale(1.05);
}

/* WhatsApp flotante */
.site-whatsapp {
  position: fixed;
  right: clamp(16px, 4vw, 32px);
  bottom: clamp(18px, 4vw, 28px);
  z-index: 901;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  box-shadow:
    0 4px 20px rgba(37, 211, 102, 0.45),
    0 2px 8px rgba(0, 0, 0, 0.25);
  text-decoration: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.2s ease;
  animation: site-whatsapp-pulse 2.8s ease-in-out infinite;
}

.site-whatsapp:hover {
  background: #20bd5a;
  transform: scale(1.08) translateY(-2px);
  box-shadow:
    0 8px 28px rgba(37, 211, 102, 0.55),
    0 4px 12px rgba(0, 0, 0, 0.3);
  animation: none;
}

.site-whatsapp svg {
  display: block;
  width: 30px;
  height: 30px;
}

@keyframes site-whatsapp-pulse {
  0%,
  100% {
    box-shadow:
      0 4px 20px rgba(37, 211, 102, 0.45),
      0 0 0 0 rgba(37, 211, 102, 0.35);
  }
  50% {
    box-shadow:
      0 4px 20px rgba(37, 211, 102, 0.45),
      0 0 0 10px rgba(37, 211, 102, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-reveal,
  .site-blog__card,
  .site-contact__grid > div,
  .site-contact__form,
  .casos-uso-card,
  .modelos-hero__line,
  .modelos-grid__item,
  .article__header,
  .article__content > p,
  .article__content > h2,
  .article__content > ul,
  .article__content > .article__cta {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .site-parallax-hero__orb,
  .modelos-hero__glow,
  .modelos-grid-section__glow,
  .modelos-card__visual img[data-parallax-img] {
    transform: none !important;
  }

  .site-whatsapp {
    animation: none;
  }
}
