/* ============================================================
   BOSE ENTERPRISES - BK GREEN ENERGY STYLE TRANSITIONS
   Premium Motion System Upgrade
   ============================================================ */

/* GLOBAL NO-FLASH RENDERING */
html:not(.be-ready) {
  opacity: 0;
  transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

html.be-ready {
  opacity: 1;
}

/* PAGE ENTRANCE ANIMATION */
main {
  animation: pageEnter 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

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

/* UNIFIED SCROLL REVEAL SYSTEM */
[data-be-animate] {
  opacity: 0;
  transform: translateY(24px);
  animation: revealUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: var(--stagger-delay, 0ms);
}

[data-be-animate="fadeInLeft"] {
  transform: translateX(-24px);
  animation: revealLeft 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

[data-be-animate="fadeInRight"] {
  transform: translateX(24px);
  animation: revealRight 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

[data-be-animate="fadeInDown"] {
  transform: translateY(-24px);
  animation: revealDown 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

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

@keyframes revealLeft {
  from { opacity: 0; transform: translateX(-24px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes revealRight {
  from { opacity: 0; transform: translateX(24px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes revealDown {
  from { opacity: 0; transform: translateY(-24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* PREMIUM HOVER LIFT - CARDS */
.be-card,
.be-team-card,
.be-client-card,
.project-card,
.capability-item,
.gallery-item {
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
              border-color 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.be-card:hover,
.be-team-card:hover,
.be-client-card:hover,
.project-card:hover,
.capability-item:hover,
.gallery-item:hover {
  transform: translateY(-4px);
}

/* ICON HOVER MICRO-INTERACTION */
.be-card__icon,
.capability-item__icon {
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.be-card:hover .be-card__icon,
.capability-item:hover .capability-item__icon {
  transform: translateY(-2px) scale(1.05);
}

/* IMAGE HOVER SCALE */
.project-card img,
.capability-item img,
.be-card--service img,
.gallery-item img {
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.project-card:hover img,
.capability-item:hover img,
.be-card--service:hover img,
.gallery-item:hover img {
  transform: scale(1.03);
}

/* BUTTON HOVER LIFT */
.btn {
  transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.25s cubic-bezier(0.22, 1, 0.36, 1),
              background-color 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

.btn:hover {
  transform: translateY(-3px);
}

.btn:active {
  transform: translateY(1px) scale(0.99);
}

/* NAVBAR SMOOTH TRANSITION */
.be-navbar {
  transition: box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.be-navbar--scrolled {
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
}

/* FOOTER VISIBILITY FIX */
.footer {
  position: relative;
  z-index: 10;
}

/* REMOVE OLD HARSH ANIMATIONS */
@keyframes wobble { /* disabled */ }
@keyframes swing { /* disabled */ }
@keyframes bounce { /* disabled */ }
@keyframes elasticBounce { /* disabled */ }
@keyframes flipIn { /* disabled */ }
@keyframes tiltShift { /* disabled */ }

/* RESPECT MOTION PREFERENCES */
@media (prefers-reduced-motion: reduce) {
  html:not(.be-ready),
  main,
  [data-be-animate],
  .be-card,
  .be-team-card,
  .be-client-card,
  .project-card,
  .capability-item,
  .gallery-item,
  .btn,
  .nav-link {
    animation: none !important;
    transition: none !important;
  }
}
