/* design-forge preset: craft — animations
   職人系:道具を置くように、小さく動いてきっちり止まる。派手さ禁止 */

@keyframes fadeUp{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
@keyframes pulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.03);opacity:.9}
}

/* スクロール出現(JSで .is-visible 付与)
   小さめの移動+減速強めのイージングで「置いた」感を出す */
.reveal{
  opacity:0;transform:translateY(14px);
  transition:opacity .45s cubic-bezier(.2,.75,.25,1),transform .45s cubic-bezier(.2,.75,.25,1);
}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal:nth-child(2){transition-delay:.1s}
.reveal:nth-child(3){transition-delay:.2s}

/* ホバー:板を少し持ち上げる(落ち影が伸びる) */
.hover-lift{transition:transform var(--speed),box-shadow var(--speed)}
.hover-lift:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 rgba(74,56,38,.18)}

/* craft固有:焼印・荷札をとんと押す出現 */
@keyframes stampIn{
  0%{opacity:0;transform:scale(1.12) rotate(-2deg)}
  70%{opacity:1;transform:scale(.98) rotate(-2deg)}
  100%{opacity:1;transform:scale(1) rotate(-2deg)}
}
.stamp{animation:stampIn .45s cubic-bezier(.2,.75,.25,1) both}

/* craft固有:かんな屑が落ち着くような、ごく小さな揺れ(装飾用) */
@keyframes settle{
  0%{transform:rotate(-2deg)}
  50%{transform:rotate(-1.2deg)}
  100%{transform:rotate(-2deg)}
}
.settle{animation:settle 5s ease-in-out infinite}
