/* Motion layer inspired by the supplied reference; no colours, layout, or copy changed. */
@media (prefers-reduced-motion:no-preference){
  @keyframes kintsugi-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
  @keyframes kintsugi-float{50%{transform:translateY(-12px)}}
  @keyframes kintsugi-sheen{50%{background-position:100% 50%}}
  .hero-copy > *, .hero-art{animation:kintsugi-rise .8s cubic-bezier(.2,.7,.2,1) backwards}
  .hero-copy > :nth-child(2){animation-delay:.12s}.hero-copy > :nth-child(3){animation-delay:.24s}.hero-copy > :nth-child(4){animation-delay:.36s}
  .hero-art{background-size:180% 180%;animation-name:kintsugi-rise,kintsugi-sheen;animation-duration:.8s,16s;animation-timing-function:cubic-bezier(.2,.7,.2,1),ease;animation-fill-mode:backwards,none;animation-iteration-count:1,infinite}
  .hero-art img{animation:kintsugi-float 6s ease-in-out infinite;will-change:transform}
  .motion-reveal{opacity:0}.motion-reveal.is-visible{opacity:1;animation:kintsugi-rise .7s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--motion-delay,0ms)}
  .btn,.chip,.cat,.bag-btn,.close,.qty button{transition:transform .18s ease,box-shadow .18s ease,background .2s,color .2s}
  .btn:hover,.chip:hover,.cat:hover,.bag-btn:hover,.close:hover,.qty button:hover{transform:translateY(-2px)}
  .btn:active,.chip:active,.cat:active,.bag-btn:active,.close:active,.qty button:active{transform:scale(.96)}
  .card .ph{overflow:hidden}.card .ph img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.card:hover .ph img{transform:scale(1.07)}
  .cat .ph img,.cat .ph svg{transition:transform .45s cubic-bezier(.2,.7,.2,1)}.cat:hover .ph img,.cat:hover .ph svg{transform:scale(1.05)}
  .swatch{transition:transform .4s cubic-bezier(.2,.7,.2,1)}.swatch:hover{transform:rotate(-2deg) scale(1.02)}
}
@media (prefers-reduced-motion:reduce){.motion-reveal{opacity:1!important}}
