/* ===== Micro-interactions（CSSのみ） ===== */
.lv-float{ animation:lv-float 6s ease-in-out infinite }
@keyframes lv-float{
  0%,100%{ transform:translateY(0) }
  50%{ transform:translateY(-6px) }
}
.lv-shimmer{ position:relative; overflow:hidden }
.lv-shimmer::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(120deg,transparent 0,rgba(255,255,255,.25) 40%,transparent 80%);
  transform:translateX(-100%); animation:lv-shine 2.2s linear infinite
}
@keyframes lv-shine{ to{ transform:translateX(100%) } }

/* ボタンのクリック感 */
.lv-cta{ transition:transform .08s ease, filter .2s ease }
.lv-cta:active{ transform:translateY(1px) }

/* ===== AOS 補助 ===== */
[data-aos]{ will-change:transform,opacity }
@media (prefers-reduced-motion: reduce){
  [data-aos]{ transition:none!important; transform:none!important; opacity:1!important }
  .lv-float,.lv-shimmer{ animation:none!important }
}
