/* =====================================================================
   ANIMATION — scroll reveal + subtle ambient (all motion opt-out aware)
   ===================================================================== */
@media (prefers-reduced-motion: no-preference){
  /* scroll reveal: barely-there fade + 12px rise */
  .reveal{opacity:0;transform:translateY(12px);
    transition:opacity .55s ease-out, transform .55s ease-out;}
  .reveal.is-visible{opacity:1;transform:none;}

  /* ambient: knight gentle float */
  .hero-anim{animation:nw-float 7s ease-in-out infinite;}
  @keyframes nw-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

  /* ambient: decorative grid slow pulse */
  .hero-grid{animation:nw-pulse 6s ease-in-out infinite;}
  @keyframes nw-pulse{0%,100%{opacity:.7}50%{opacity:1}}

  /* ambient: crossed swords faint sway (whole pair) */
  .battle-art{animation:nw-sway 9s ease-in-out infinite;transform-origin:50% 40%;}
  @keyframes nw-sway{0%,100%{transform:rotate(-1.1deg)}50%{transform:rotate(1.1deg)}}
  /* hover: swords pivot open slightly (rotate), like the reference */
  .battle-art:hover .sword-left{transform:translateX(-50%) rotate(-8deg);}
  .battle-art:hover .sword-right{transform:translateX(-50%) rotate(8deg);}
  .battle-art:hover .sword{filter:brightness(1.06);}

  /* ambient: Deploy / Equip / Destroy graphics gently float, phase-offset */
  .feature-img{animation:nw-float 6.5s ease-in-out infinite;}
  .feature:nth-child(2) .feature-img{animation-delay:-2.2s;}
  .feature:nth-child(3) .feature-img{animation-delay:-4.4s;}

  /* slower reveal just for the feature columns */
  .feature.reveal{transition-duration:.9s;}

  /* hover: lift + brighten the graphic, warm the title.
     Only active after the reveal finishes (.is-ready). */
  .feature .icon-wrap{transition:transform .4s ease;}
  .feature .feature-img{transition:filter .4s ease;}
  .feature h3{transition:color .3s ease;}
  .feature.is-ready:hover .icon-wrap{transform:translateY(-8px) scale(1.05);}
  .feature.is-ready:hover .feature-img{filter:brightness(1.12) drop-shadow(0 22px 34px rgba(0,0,0,.6)) drop-shadow(0 0 16px rgba(201,134,58,.3));}
  .feature.is-ready:hover h3{color:var(--gold-light);}

  /* stakes cards: slower reveal; instant golden glow around card + on its text */
  .stake-card.reveal{transform:none;transition:opacity .9s ease-out;}
  .stake-card:hover{z-index:2;transform:scale(1.04);box-shadow:0 0 26px rgba(201,134,58,.42), 0 0 60px rgba(201,134,58,.26);}
  .stake-card:hover .stake-frame{filter:brightness(1.1);}
  .stake-card:hover h3{text-shadow:0 0 12px rgba(232,176,106,.5);}

  /* NFT class cards: smooth radial glow + image-only lift (no flicker, no box) */
  .nft-card::before{transition:opacity .3s ease;}
  .nft-card img{transition:transform .3s ease, filter .3s ease;}
  .nft-card:hover{z-index:2;}
  .nft-card:hover::before{opacity:1;}
  .nft-card:hover img{transform:translateY(-10px);filter:drop-shadow(0 22px 30px rgba(0,0,0,.55)) brightness(1.05);}
}
