@layer modules {
  .js-motion-pending .hero__claim > *,
  .js-motion-pending .hero__badge,
  .js-motion-pending .hero__title,
  .js-motion-pending .hero__subtitle,
  .js-motion-pending .hero__cta,
  .js-motion-pending .hero__trust,
  .js-motion-pending .hero-bento__tile {
    opacity: 0;
  }
  .hero__word {
    display: inline-block;
    overflow: hidden;
    vertical-align: top;
    line-height: var(--hero-word-line-height);
    padding-block: var(--hero-word-pad-block);
  }
  .hero__word-inner {
    display: inline-block;
    will-change: transform;
  }
  .js-motion .reveal {
    opacity: 1;
    transform: none;
  }
  .js-motion .hero__rotating-word {
    transition: none;
    /* Grid keeps phrases stacked + centered; GSAP only tweens opacity/y/filter */
    visibility: visible;
    will-change: transform, opacity, filter;
  }
  .js-motion .hero__accent-line {
    will-change: transform, opacity, background-position;
  }
  .js-motion .hero__rotating-text {
    /* Clip soft blur bleed during phrase swaps without killing the underline */
    overflow: visible;
  }
  .js-motion .site-header::before {
    transition: background-color var(--duration-normal) var(--ease-out), backdrop-filter var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out);
  }
  .js-motion .product-showcase__frame {
    will-change: transform, opacity;
  }
  .js-motion [data-feature-card]:not(.is-motion-complete) {
    transition: none;
    will-change: transform, opacity;
  }
  .js-motion .cta__ticket {
    will-change: transform, opacity;
  }
}
