/* ==========================================================================
   AxionTech Motion v5 — stronger mobile storytelling
   ========================================================================== */

[data-reveal] {
  opacity: 1;
  transform: none;
  will-change: opacity, transform, filter;
}

html.js-ready [data-reveal]:not(.is-in) {
  opacity: 0;
  transform: translate3d(0, 40px, 0);
  filter: blur(6px);
}

html.js-ready [data-reveal].is-in {
  opacity: 1;
  transform: none;
  filter: none;
  transition:
    opacity 0.95s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.95s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.95s cubic-bezier(0.16, 1, 0.3, 1);
}

html.js-ready [data-reveal="left"]:not(.is-in) { transform: translate3d(-36px, 0, 0); }
html.js-ready [data-reveal="right"]:not(.is-in) { transform: translate3d(36px, 0, 0); }
html.js-ready [data-reveal="scale"]:not(.is-in) {
  transform: scale(0.92);
  filter: blur(8px);
}

html.js-ready [data-reveal].is-in[data-delay="1"] { transition-delay: 0.1s; }
html.js-ready [data-reveal].is-in[data-delay="2"] { transition-delay: 0.18s; }
html.js-ready [data-reveal].is-in[data-delay="3"] { transition-delay: 0.26s; }
html.js-ready [data-reveal].is-in[data-delay="4"] { transition-delay: 0.34s; }

@media (max-width: 1023px) {
  html.js-ready [data-reveal]:not(.is-in) {
    transform: translate3d(0, 52px, 0);
    filter: blur(8px);
  }
  html.js-ready [data-reveal].is-in {
    transition-duration: 0.85s;
  }

  /* Stronger section titles on mobile */
  html.js-ready .section-header__title[data-reveal]:not(.is-in),
  html.js-ready .statement__title[data-reveal]:not(.is-in),
  html.js-ready .page-hero__title[data-reveal]:not(.is-in) {
    transform: translate3d(0, 28px, 0) scale(0.96);
    letter-spacing: -0.06em;
  }
}

.sol-block.is-active .sol-block__title {
  transition: color 0.35s ease;
}

.transition-curtain.is-active {
  transform: scaleY(1);
}

/* Hero cinematic entrance */
.hero__stage--enter .hero__eyebrow,
.hero__stage--enter .hero__title .hero__line,
.hero__stage--enter .hero__subtitle,
.hero__stage--enter .hero__actions {
  animation: axionRise 1.05s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.hero__stage--enter .hero__eyebrow { animation-delay: 0.08s; }
.hero__stage--enter .hero__title .hero__line:nth-child(1) { animation-delay: 0.16s; }
.hero__stage--enter .hero__title .hero__line:nth-child(2) { animation-delay: 0.26s; }
.hero__stage--enter .hero__subtitle { animation-delay: 0.38s; }
.hero__stage--enter .hero__actions { animation-delay: 0.5s; }
.hero__stage--enter .hero__rail,
.hero--center .hero__rail.is-in {
  animation: axionRise 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.62s both;
}

@keyframes axionRise {
  from {
    opacity: 0;
    transform: translate3d(0, 36px, 0);
    filter: blur(8px);
  }
  to {
    opacity: 1;
    transform: none;
    filter: none;
  }
}

@keyframes axionClipUp {
  from {
    opacity: 0.2;
    clip-path: inset(100% 0 0 0);
    transform: translate3d(0, 24px, 0);
  }
  to {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: none;
  }
}

html.js-ready .statement__title.is-in,
html.js-ready .cta-section__title.is-in {
  animation: axionClipUp 1.05s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* Floating experience tags */
.experience-tags span.is-float {
  animation: axionFloat 4.2s ease-in-out infinite;
  animation-delay: var(--float-delay, 0s);
}
@keyframes axionFloat {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-8px) scale(1.02); }
}

/* Insight cards */
html.js-ready .insight-card[data-reveal].is-in .insight-card__media {
  animation: axionMediaIn 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* Project cards */
html.js-ready .project-card[data-reveal].is-in .project-card__media {
  animation: axionMediaIn 1s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes axionMediaIn {
  from {
    transform: scale(1.08) translateY(12px);
    filter: saturate(0.7) brightness(0.96);
  }
  to {
    transform: none;
    filter: none;
  }
}

html.js-ready .booking-section [data-reveal]:not(.is-in) {
  transform: translate3d(0, 48px, 0);
}

/* Stat pop */
html.js-ready .stat-item.is-in .stat-item__value {
  animation: axionPop 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes axionPop {
  from { transform: scale(0.86); opacity: 0.4; }
  to { transform: none; opacity: 1; }
}

/* Process cards cascade */
html.js-ready .process-step.is-in {
  animation: axionRise 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  html.js-ready [data-reveal]:not(.is-in),
  html.js-ready [data-reveal].is-in {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
  }
  .partners-marquee__track,
  .experience-tags span.is-float,
  .hero__stage--enter .hero__eyebrow,
  .hero__stage--enter .hero__title .hero__line,
  .hero__stage--enter .hero__subtitle,
  .hero__stage--enter .hero__actions,
  html.js-ready .project-card[data-reveal].is-in .project-card__media,
  html.js-ready .statement__title.is-in,
  html.js-ready .cta-section__title.is-in {
    animation: none !important;
    filter: none !important;
  }
  .mobile-nav__panel { transition: none !important; clip-path: none !important; }
  .mobile-nav:not(.is-open) { display: none; }
}
