/* Mouse Whale · snowooball lab · Final Candidate v6
   Approved design preserved. Animation rhythm is continuous. */
:root{color-scheme:light}
/* The whale is always the protagonist; app/windows are subdued background. */
.hero-visual-stage{isolation:isolate}
.whale-sea{z-index:1}
.stage-trail{z-index:2}
.float-window{z-index:3!important;filter:saturate(.67);will-change:transform,opacity;backface-visibility:hidden}
.scene-spark{z-index:4}
.whale-foreground{z-index:5}
/* All poses cycle at their source cadence; background layers move by CSS
   independently, without introducing a hold into the whale animation. */
.browser-window{animation:gentleBrowserDance 2.16s ease-in-out infinite!important}
.finder-window{animation:gentleFinderDance 2.16s ease-in-out infinite!important}
.app-window{animation:gentleAppDance 2.16s ease-in-out infinite!important}
@keyframes gentleBrowserDance{
  0%,100%{opacity:.23;transform:translate3d(-7px,14px,0) rotate(1deg) scale(.91)}
  25%{opacity:.42;transform:translate3d(5px,-20px,0) rotate(3deg) scale(1.00)}
  50%{opacity:.30;transform:translate3d(14px,1px,0) rotate(2deg) scale(.95)}
  75%{opacity:.40;transform:translate3d(6px,-14px,0) rotate(4deg) scale(.98)}
}
@keyframes gentleFinderDance{
  0%,100%{opacity:.27;transform:translate3d(8px,11px,0) rotate(-6deg) scale(.91)}
  25%{opacity:.36;transform:translate3d(-8px,-11px,0) rotate(-4deg) scale(.97)}
  50%{opacity:.22;transform:translate3d(-13px,9px,0) rotate(-7deg) scale(.92)}
  75%{opacity:.39;transform:translate3d(-4px,-19px,0) rotate(-5deg) scale(.99)}
}
@keyframes gentleAppDance{
  0%,100%{opacity:.20;transform:translate3d(-8px,17px,0) rotate(5deg) scale(.89)}
  25%{opacity:.34;transform:translate3d(11px,-7px,0) rotate(3deg) scale(.94)}
  50%{opacity:.23;transform:translate3d(7px,13px,0) rotate(7deg) scale(.91)}
  75%{opacity:.39;transform:translate3d(2px,-19px,0) rotate(4deg) scale(.99)}
}
.stage-trail path{animation-duration:2.16s}
.scene-spark{animation-duration:2.16s}
/* Fixed copy: no GPU animation, no movement. */
.hero-copy,.hero-v2-headline,.hero-v2-sub,.hero-v2-description{animation:none!important;transform:none!important}
@media (prefers-reduced-motion:reduce){
 .browser-window,.finder-window,.app-window{animation:none!important;opacity:.24!important}
 .browser-window{transform:rotate(1deg)!important}
 .finder-window{transform:rotate(-6deg)!important}
 .app-window{transform:rotate(5deg)!important}
 .stage-trail path,.scene-spark{animation:none!important}
}
