/**
 * Home — modern scroll reveal (keyframes, 3D depth, clip-path)
 */

.page-home-enterprise {
  --home-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --home-ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
  --home-dur-section: 1.55s;
  --home-dur-card: 1.35s;
  --home-dur-fast: 1.05s;
}

/* ── Keyframes ── */
@keyframes homeRevealBlock {
  from {
    opacity: 0;
    transform: translate3d(0, 2rem, 0) rotateX(10deg) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotateX(0deg) scale(1);
  }
}

@keyframes homeRevealContactBand {
  from {
    opacity: 0;
    transform: translate3d(0, 1rem, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes homeRevealHeader {
  from {
    opacity: 0;
    clip-path: inset(0 0 100% 0 round 0.75rem);
    transform: translate3d(0, 1.5rem, 0);
  }
  to {
    opacity: 1;
    clip-path: inset(0 0 0 0 round 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes homeRevealFromStart {
  from {
    opacity: 0;
    transform: translate3d(-2rem, 1.75rem, 0) rotateY(6deg) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotateY(0deg) scale(1);
  }
}

@keyframes homeRevealFromEnd {
  from {
    opacity: 0;
    transform: translate3d(2rem, 1.75rem, 0) rotateY(-6deg) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotateY(0deg) scale(1);
  }
}

@keyframes homeRevealScale {
  from {
    opacity: 0;
    transform: translate3d(0, 1.5rem, 0) scale(0.92);
    filter: brightness(0.85);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: brightness(1);
  }
}

@keyframes homeRevealCard {
  from {
    opacity: 0;
    transform: translate3d(0, 2.25rem, 0) rotateX(14deg) scale(0.94);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotateX(0deg) scale(1);
  }
}

@keyframes homeRevealMetric {
  from {
    opacity: 0;
    transform: translate3d(0, 1.25rem, 0) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes homeRevealBlog {
  from {
    opacity: 0;
    transform: translate3d(0, 2.5rem, 0) scale(0.94);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes homeCardShine {
  from {
    transform: translateX(-120%) skewX(-12deg);
    opacity: 0;
  }
  18% {
    opacity: 0.55;
  }
  to {
    transform: translateX(220%) skewX(-12deg);
    opacity: 0;
  }
}

@keyframes homeChartFade {
  from {
    opacity: 0;
    transform: translate3d(0, 1rem, 0) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

/* ── Base hidden ── */
.page-home-enterprise .section-reveal:not(.revealed),
.page-home-enterprise [data-scroll-stagger-item]:not(.revealed) {
  opacity: 0;
  pointer-events: none;
}

.page-home-enterprise [data-scroll-stagger] {
  perspective: 1400px;
  perspective-origin: 50% 40%;
}

.page-home-enterprise .section-reveal,
.page-home-enterprise [data-scroll-stagger-item] {
  transition: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
}

/* Override global .section-reveal transition from styles.css */
.page-home-enterprise .section-reveal.revealed,
.page-home-enterprise [data-scroll-stagger-item].revealed {
  transition: none;
}

/* ── Section blocks ── */
.page-home-enterprise .section-reveal.revealed {
  animation: homeRevealBlock var(--home-dur-section) var(--home-ease) both;
  pointer-events: auto;
}

.page-home-enterprise .services-header.section-reveal.revealed,
.page-home-enterprise .home-projects__header.section-reveal.revealed,
.page-home-enterprise .home-certifications__header.section-reveal.revealed,
.page-careers-enterprise .careers-section__container > .section-reveal.revealed,
.page-home-enterprise .home-clients__header.section-reveal.revealed,
.page-home-enterprise .home-testimonials__header.section-reveal.revealed,
.page-home-enterprise .blog-showcase__header.section-reveal.revealed {
  animation: homeRevealHeader var(--home-dur-section) var(--home-ease) both;
}

.page-home-enterprise .section-reveal--from-start.revealed {
  animation: homeRevealFromStart var(--home-dur-section) var(--home-ease) both;
}

.page-home-enterprise .section-reveal--from-end.revealed {
  animation: homeRevealFromEnd var(--home-dur-section) var(--home-ease) both;
}

[dir="rtl"] .page-home-enterprise .section-reveal--from-start.revealed {
  animation: homeRevealFromEnd var(--home-dur-section) var(--home-ease) both;
}

[dir="rtl"] .page-home-enterprise .section-reveal--from-end.revealed {
  animation: homeRevealFromStart var(--home-dur-section) var(--home-ease) both;
}

.page-home-enterprise .section-reveal--scale.revealed {
  animation: homeRevealScale 1.65s var(--home-ease) both;
}

.page-home-enterprise [data-scroll-stagger].revealed {
  opacity: 1;
  pointer-events: auto;
}

/* ── Staggered cards ── */
.page-home-enterprise [data-scroll-stagger-item].revealed {
  animation: homeRevealCard var(--home-dur-card) var(--home-ease) both;
  animation-delay: var(--stagger-delay, 0ms);
  pointer-events: auto;
}

.page-home-enterprise .cyber-why-world__metric[data-scroll-stagger-item].revealed {
  animation: homeRevealMetric var(--home-dur-fast) var(--home-ease-soft) both;
  animation-delay: var(--stagger-delay, 0ms);
}

/* Subtle shine on service cards */
.page-home-enterprise .svc-card[data-scroll-stagger-item] {
  position: relative;
  overflow: hidden;
}

.page-home-enterprise .svc-card[data-scroll-stagger-item].revealed::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    105deg,
    transparent 40%,
    color-mix(in srgb, var(--accent-light, #ff4d7a) 35%, transparent) 50%,
    transparent 60%
  );
  animation: homeCardShine 1.1s var(--home-ease-soft) both;
  animation-delay: calc(var(--stagger-delay, 0ms) + 0.45s);
}

/* ── Blog ── */
.page-home-enterprise .blog-showcase__item {
  transform-origin: center bottom;
}

.page-home-enterprise .blog-showcase__item.revealed {
  animation: homeRevealBlog var(--home-dur-card) var(--home-ease) both;
  animation-delay: var(--stagger-delay, 0ms);
  pointer-events: auto;
}

@media (min-width: 900px) {
  .page-home-enterprise .blog-showcase__item.revealed {
    animation:
      homeRevealBlog var(--home-dur-card) var(--home-ease) both,
      homeBlogTilt 0.9s var(--home-ease-soft) calc(var(--stagger-delay, 0ms) + 0.85s) forwards;
  }

  @keyframes homeBlogTilt {
    to {
      transform: rotate(var(--blog-tilt, 0deg)) translate3d(0, var(--blog-lift, 0), 0) scale(1);
    }
  }

  .page-home-enterprise .blog-showcase__item--start.revealed {
    --blog-tilt: -3deg;
    --blog-lift: 0.4rem;
  }

  .page-home-enterprise .blog-showcase__item--center.revealed {
    --blog-tilt: 0deg;
    --blog-lift: -0.55rem;
    z-index: 2;
  }

  .page-home-enterprise .blog-showcase__item--end.revealed {
    --blog-tilt: 3deg;
    --blog-lift: 0.4rem;
  }

  [dir="rtl"] .page-home-enterprise .blog-showcase__item--start.revealed {
    --blog-tilt: 3deg;
  }

  [dir="rtl"] .page-home-enterprise .blog-showcase__item--end.revealed {
    --blog-tilt: -3deg;
  }

  .page-home-enterprise .blog-showcase__item.revealed:hover {
    transform: rotate(0deg) translate3d(0, -0.4rem, 0) scale(1.02) !important;
    z-index: 3;
    transition: transform 0.5s var(--home-ease-soft);
  }
}

/* ── Stability charts ── */
.page-home-enterprise .cyber-stability-banner__layout.revealed .cyber-stability-banner__ring-fill,
.page-home-enterprise .section-reveal.revealed .cyber-stability-banner__ring-fill {
  animation: stabilityRingIn 2.2s var(--home-ease-soft) backwards;
}

.page-home-enterprise .cyber-stability-banner__chart:nth-child(2) .cyber-stability-banner__ring-fill {
  animation-delay: 0.28s;
}

.page-home-enterprise .cyber-stability-banner__layout.revealed .cyber-stability-banner__chart {
  animation: homeChartFade 1.6s var(--home-ease) backwards;
}

.page-home-enterprise .cyber-stability-banner__chart:nth-child(2) {
  animation-delay: 0.12s;
}

/* ── Mobile ── */
@media (max-width: 768px) {
  .page-home-enterprise {
    --home-dur-section: 1.25s;
    --home-dur-card: 1.1s;
  }

  .page-home-enterprise section {
    content-visibility: visible;
    contain-intrinsic-size: auto;
  }

  .page-home-enterprise .section-reveal.revealed {
    animation-name: homeRevealBlock;
  }

  .page-home-enterprise .section-reveal--from-start.revealed,
  .page-home-enterprise .section-reveal--from-end.revealed {
    animation-name: homeRevealBlock;
  }

  .page-home-enterprise .home-contact-band__inner.section-reveal.revealed,
  .page-services-enterprise .home-contact-band__inner.section-reveal.revealed,
  .page-projects-enterprise .home-contact-band__inner.section-reveal.revealed,
  .page-certifications-enterprise .home-contact-band__inner.section-reveal.revealed,
  .page-clients-enterprise .home-contact-band__inner.section-reveal.revealed,
  .page-blog-enterprise .home-contact-band__inner.section-reveal.revealed,
  .page-team-enterprise .home-contact-band__inner.section-reveal.revealed,
  .page-download-center-enterprise .home-contact-band__inner.section-reveal.revealed,
  .page-careers-enterprise .home-contact-band__inner.section-reveal.revealed,
  .page-about-enterprise .home-contact-band__inner.section-reveal.revealed {
    animation-name: homeRevealContactBand;
  }

  .page-home-enterprise [data-scroll-stagger] {
    perspective: none;
  }

  .page-home-enterprise [data-scroll-stagger-item].revealed {
    animation-name: homeRevealCard;
  }

  @keyframes homeRevealCard {
    from {
      opacity: 0;
      transform: translate3d(0, 1.35rem, 0) scale(0.98);
    }
    to {
      opacity: 1;
      transform: translate3d(0, 0, 0) scale(1);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-home-enterprise .section-reveal,
  .page-home-enterprise [data-scroll-stagger-item],
  .page-home-enterprise [data-scroll-stagger],
  .page-home-enterprise .blog-showcase__item {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
    pointer-events: auto !important;
  }

  .page-home-enterprise .svc-card[data-scroll-stagger-item].revealed::after {
    display: none;
  }
}
