/* ── Motion ──────────────────────────────────────────────────────────────
   Calm, physical, short. Hover lifts 1–2px, press settles 1px down.
   Nothing bounces; nothing overshoots more than a hair. */
:root{
  --dur-instant:90ms; /* @kind other */
  --dur-fast:140ms; /* @kind other */
  --dur-base:220ms; /* @kind other */
  --dur-slow:340ms; /* @kind other */
  --dur-page:420ms; /* @kind other */

  --ease-standard:cubic-bezier(.22,.61,.36,1); /* @kind other */
  --ease-out-soft:cubic-bezier(.16,.84,.32,1); /* @kind other */
  --ease-in-soft:cubic-bezier(.55,.06,.68,.19); /* @kind other */
  --ease-settle:cubic-bezier(.34,1.12,.64,1); /* @kind other */

  --lift-hover:-2px; /* @kind spacing */
  --lift-press:1px; /* @kind spacing */
  --scale-photo-hover:1.02; /* @kind other */

  --t-tactile:transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard); /* @kind other */
}
@keyframes iv-enter-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes iv-fade{from{opacity:0}to{opacity:1}}
@keyframes iv-sheet-in{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
@keyframes iv-drawer-right{from{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}
@keyframes iv-drawer-left{from{transform:translateX(-24px);opacity:.4}to{transform:none;opacity:1}}
@keyframes iv-shimmer{from{background-position:-140% 0}to{background-position:240% 0}}
.iv-enter{animation:iv-enter-up var(--dur-page) var(--ease-out-soft) both}
.iv-enter-slow{animation:iv-enter-up 620ms var(--ease-out-soft) both}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}
  .iv-enter,.iv-enter-slow{animation:iv-fade 1ms both}
}
