/* 세후로 화면 움직임 (2026-11-03). rgleetax 공통 효과(site-polish)와 같은 결:
   화면이 바뀔 때 위에서부터 차례로 올라오기, 아래쪽 요소는 스크롤로 들어올 때 올라오기,
   카드에 올리면 살짝 뜨기, 첫 화면 비교 막대가 차오르며 숫자가 올라가기.
   '동작 줄이기'를 켠 사람에게는 아무것도 움직이지 않는다. */
@media (prefers-reduced-motion: no-preference) {
  .fx-enter { animation: fx-up .55s cubic-bezier(.2,.7,.2,1) both; animation-delay: var(--fx-d, 0ms); }
  .fx-wait { opacity: 0; transform: translateY(14px); }
  .fx-wait.fx-in { opacity: 1; transform: none; transition: opacity .55s cubic-bezier(.2,.7,.2,1), transform .55s cubic-bezier(.2,.7,.2,1); transition-delay: var(--fx-d, 0ms); }

  /* 첫 화면 비교 막대: 0에서 제자리까지 */
  .fx-bars .cmp-track i { transform-origin: left center; animation: fx-bar 1.1s cubic-bezier(.25,.8,.25,1) both; animation-delay: .35s; }
  .fx-bars .cmp-row.win .cmp-track i { animation-delay: .55s; }
  .fx-bars .cmp-diff { animation: fx-up .5s ease-out both; animation-delay: 1.35s; }

  /* 카드: 마우스가 있는 기기에서만 */
  @media (hover: hover) {
    .menu-card, .call-box .tel { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
    .menu-card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(25,21,18,.04), 0 12px 28px rgba(25,21,18,.09); }
    .menu-card:hover .go { letter-spacing: .01em; }
    .btn-main { transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
    .btn-main:not(:disabled):hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(255,90,69,.22); }
  }
  .btn-main:not(:disabled):active { transform: translateY(0) scale(.99); }
}
@keyframes fx-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes fx-bar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
