/**
 * Apple-style motion — subtle springs, opacity, and depth.
 * Loaded on home, about, and case study pages. Respects reduced motion.
 */

@media (prefers-reduced-motion: no-preference) {
  .cs-case-tab {
    transition:
      opacity 0.28s cubic-bezier(0.25, 0.1, 0.25, 1),
      transform 0.38s cubic-bezier(0.34, 1.25, 0.64, 1),
      box-shadow 0.28s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
  }

  a.cs-case-tab:hover {
    transform: translateY(-1px);
    opacity: 0.55 !important;
  }

  .cs-case-tabs {
    transition: box-shadow 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
  }

  .cs-case-tabs:hover {
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.95) inset,
      0 14px 44px rgba(0, 0, 0, 0.07);
  }

  .cs-section {
    animation: siteSectionRise 0.58s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  @keyframes siteSectionRise {
    from {
      opacity: 0;
      transform: translateY(14px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .cs-hiring-note {
    transition: box-shadow 0.35s ease, border-color 0.25s ease;
  }

  .cs-hiring-note:hover {
    box-shadow: 0 10px 36px rgba(27, 77, 62, 0.08);
  }

  .about-play-btn {
    transition: color 0.22s cubic-bezier(0.25, 0.1, 0.25, 1),
                transform 0.38s cubic-bezier(0.34, 1.25, 0.64, 1),
                opacity 0.22s ease;
  }

  .about-play-btn:hover {
    transform: translateY(-1px);
  }

  .about-play-btn:active {
    transform: translateY(0) scale(0.98);
  }

  .offline-chip {
    transition: transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1),
                box-shadow 0.3s ease,
                border-color 0.25s ease;
  }

  .offline-chip:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
  }

  .play-close {
    transition: background 0.22s ease, transform 0.32s cubic-bezier(0.34, 1.2, 0.64, 1) !important;
  }

  .play-close:hover {
    transform: scale(1.06) !important;
  }

  .play-close:active {
    transform: scale(0.96) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cs-section {
    animation: none !important;
  }
}
