/* ==========================================================================
   Motion & hover polish (CSS layer — works with or without GSAP)
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (prefers-reduced-motion: no-preference) {
  /* Buttons */
  .btn {
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.3s ease,
                background-color var(--transition-fast),
                border-color var(--transition-fast),
                color var(--transition-fast);
    will-change: transform;
  }

  .btn-primary:hover {
    box-shadow: 0 10px 28px rgba(201, 168, 76, 0.35);
  }

  .btn-secondary:hover {
    box-shadow: 0 8px 20px var(--color-overlay-nav);
  }

  /* Nav underline */
  .site-header__link {
    position: relative;
  }

  .site-header__link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 2px;
    background-color: var(--color-accent);
    transition: width 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .site-header__link:hover:not(.site-header__link--active)::after {
    width: 100%;
  }

  .site-header__link--active::after {
    width: 100%;
    background-color: var(--color-accent);
  }

  /* Interactive cards */
  .home-unit-card,
  .units-card,
  .home-why__card,
  .home-feature-card,
  .about-values__card,
  .about-team__card,
  .about-mission__item,
  .contact-form__unit-card,
  .contact-sidebar__box,
  .contact-form-panel {
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.4s ease,
                border-color 0.3s ease;
  }

  .home-unit-card:hover,
  .units-card:hover,
  .home-why__card:hover,
  .about-values__card:hover,
  .about-team__card:hover,
  .about-mission__item:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
  }

  /* Image zoom on card hover */
  .home-unit-card__image-wrap,
  .units-card__media,
  .home-about__media,
  .about-overview__media {
    overflow: hidden;
  }

  .home-unit-card__image,
  .units-card__image,
  .home-about__image,
  .about-overview__image {
    transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .home-unit-card:hover .home-unit-card__image,
  .units-card:hover .units-card__image,
  .home-about__media:hover .home-about__image,
  .about-overview__media:hover .about-overview__image {
    transform: scale(1.06);
  }

  /* Unit selection cards */
  .contact-form__unit-card img {
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .contact-form__unit-option:hover .contact-form__unit-card img {
    transform: scale(1.04);
  }

  .contact-form__unit-option:hover .contact-form__unit-card {
    border-color: var(--color-accent-hover);
  }

  /* View-all link */
  .home-units__view-all {
    transition: letter-spacing 0.3s ease, color 0.2s ease;
  }

  .home-units__view-all:hover {
    letter-spacing: 0.04em;
  }

  /* Footer links */
  .site-footer__links a,
  .site-footer__contact a {
    transition: transform 0.25s ease, color 0.2s ease;
    display: inline-block;
  }

  .site-footer__links a:hover,
  .site-footer__contact a:hover {
    transform: translateX(4px);
  }

  /* Icon tiles */
  .home-why__icon {
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
                background-color 0.3s ease;
  }

  .home-why__card:hover .home-why__icon {
    transform: scale(1.08) rotate(-3deg);
    background-color: var(--color-accent-soft-strong);
  }

  /* Timeline dots pulse on hover */
  .about-timeline__item:hover .about-timeline__dot {
    transform: scale(1.25);
    transition: transform 0.35s ease;
  }
}
