@media (prefers-reduced-motion: no-preference) {
  @keyframes luxury-rise {
    from {
      opacity: 0;
      transform: translateY(28px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes luxury-reveal {
    from {
      opacity: 0;
      transform: translateY(10px);
      letter-spacing: 0.02em;
    }
    to {
      opacity: 1;
      transform: translateY(0);
      letter-spacing: -0.03em;
    }
  }

  @keyframes gold-sweep {
    0% { background-position: 200% center; }
    100% { background-position: -200% center; }
  }

  @keyframes marquee-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }

  @keyframes timer-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.02); opacity: 0.92; }
  }

  @keyframes pin-enter {
    from {
      opacity: 0;
      transform: translateY(16px) scale(0.96);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  @keyframes shimmer-line {
    0%, 100% { opacity: 0.35; transform: scaleX(0.6); }
    50% { opacity: 1; transform: scaleX(1); }
  }

  @keyframes sketch-border-wobble {
    0%, 100% {
      border-radius: 255px 6px 10px 4px / 6px 4px 10px 255px;
      opacity: 0.4;
    }
    50% {
      border-radius: 248px 8px 7px 6px / 7px 6px 8px 248px;
      opacity: 0.55;
    }
  }

  .card::after,
  .overview-tile::after {
    animation: sketch-border-wobble 12s var(--ease-luxury) infinite;
  }

  .flow-bar-slot .btn-secondary {
    background: color-mix(in oklch, var(--surface) 6%, transparent);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }
}
