/* Animate only the existing decorative artwork. Text and controls stay still. */
.hero,.basket-terminal .basket-heading {
  position:relative; isolation:isolate; overflow:hidden;
  background-image:none;
}
.hero::before,.basket-terminal .basket-heading::before {
  content:""; display:block; position:absolute; inset:-9%; z-index:-1;
  pointer-events:none; transform-origin:65% 55%;
  background:linear-gradient(90deg,#0b1009c9,#0b100947),url('/static/images/fuse-lime-mesh-v2.png') center/cover no-repeat;
  transform:scale(1.02) skewY(-.6deg);
}
.hero>*,.basket-terminal .basket-heading>div { position:relative; z-index:1 }
@keyframes fuse-mesh-wave {
  0%,100% { transform:translate3d(-.6%,.5%,0) scale(1.02,1.04) skewY(-.6deg) }
  50% { transform:translate3d(.6%,-.5%,0) scale(1.05,1.01) skewY(.6deg) }
}
@media(prefers-reduced-motion:no-preference) {
  .hero::before,.basket-terminal .basket-heading::before {
    animation:fuse-mesh-wave 18s ease-in-out infinite;
  }
}
.wave-control { display:flex; align-items:center; gap:7px; margin-top:16px; width:fit-content; font:10px Arial,sans-serif; color:#c6d1ae; cursor:pointer; min-height:24px }
.wave-control input { accent-color:#c6e941; margin:0; width:13px; height:13px }
.wave-control input:focus-visible { outline:2px solid #c6e941; outline-offset:3px }
.hero:has(#pause-wave:checked)::before,
html[data-motion="paused"] .basket-terminal .basket-heading::before,
html[data-page-hidden="true"] .basket-terminal .basket-heading::before { animation-play-state:paused }
@media(prefers-reduced-motion:reduce) {
  .hero::before,.basket-terminal .basket-heading::before { animation:none; transform:none }
  .wave-control { display:none }
}
@media(forced-colors:active) {
  .hero::before,.basket-terminal .basket-heading::before,.wave-control { display:none }
}
