.reveal{opacity:0;transform:translateY(24px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out);will-change:opacity,transform}.reveal.is-revealed{opacity:1;transform:translateY(0)}.reveal-fade{opacity:0;transition:opacity var(--duration-slow) var(--ease-out)}.reveal-fade.is-revealed{opacity:1}.stagger-1{transition-delay:60ms}.stagger-2{transition-delay:.12s}.stagger-3{transition-delay:.18s}.stagger-4{transition-delay:.24s}.stagger-5{transition-delay:.3s}@keyframes pulse-subtle{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.6}to{transform:scale(1);opacity:1}}.animate-pulse{animation:pulse-subtle 2.5s infinite var(--ease-in-out)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{background:linear-gradient(90deg,var(--color-surface) 0%,var(--color-surface-elevated) 50%,var(--color-surface) 100%);background-size:200% 100%;animation:shimmer 2s infinite linear}.wave-field-hero,.hero-wrapper{perspective:1200px;perspective-origin:50% 50%}.hero-spatial-stage{transform-style:preserve-3d;will-change:transform;position:relative}.hero-spatial-badge{transform:translateZ(42px);transform-style:preserve-3d;will-change:transform;display:inline-flex}.hero-spatial-title{transform:translateZ(28px);transform-style:preserve-3d;will-change:transform}.hero-spatial-lead{transform:translateZ(18px);transform-style:preserve-3d;will-change:transform}.hero-spatial-actions{transform:translateZ(52px);transform-style:preserve-3d;will-change:transform}.hero-spatial-stage:after{content:"";position:absolute;top:-20%;left:-20%;width:140%;height:140%;pointer-events:none;background:radial-gradient(circle 600px at var(--mouse-x, 50%) var(--mouse-y, 50%),hsl(var(--accent-hsl) / .07),transparent 70%);z-index:-1;opacity:.9;transition:opacity .3s ease}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}


@media (max-width: 991px) {
  .hero-spatial-stage:after {
    display: none !important;
  }
  .hero-spatial-stage, .hero-spatial-badge, .hero-spatial-title, .hero-spatial-lead, .hero-spatial-actions {
    transform: none !important;
  }
}

/* Above-the-fold hero elements render immediately for sub-second LCP & FCP */
.hero-wrapper .reveal,
.wave-field-hero .reveal {
  opacity: 1 !important;
  transform: none !important;
}
