/* Base smooth scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #94a3b8;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #64748b;
}

/* Mobile menu transition */
.mobile-menu {
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.mobile-menu.active {
  transform: translateX(0);
}

/* Navbar solid state on scroll */
.navbar-scrolled {
  background: rgba(12, 27, 51, 0.97) !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15);
}

/* WhatsApp floating button pulse */
.wa-float::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  background: rgba(37, 211, 102, 0.3);
  animation: waPulse 2s ease-out infinite;
}
@keyframes waPulse {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

/* Portfolio overlay */
.portfolio-card .portfolio-overlay {
  opacity: 0;
  transition: opacity 0.4s ease;
}
.portfolio-card:hover .portfolio-overlay {
  opacity: 1;
}
.portfolio-card:hover img {
  transform: scale(1.08);
}

/* Subtle gradient text */
.text-gradient {
  background: linear-gradient(135deg, #c8a030, #e8d48a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Section divider */
.section-line {
  width: 60px;
  height: 3px;
  background: #c8a030;
  border-radius: 2px;
}

/* Stat counter animation handled by AOS */
[data-count] {
  font-variant-numeric: tabular-nums;
}
