body { font-family: 'Plus Jakarta Sans', sans-serif; }
.glass { background: rgba(23, 31, 51, 0.6); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.ambient-glow { filter: blur(100px); opacity: 0.15; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Infinite scroll animation */
@keyframes scroll-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.animate-scroll {
  animation: scroll-left 30s linear infinite;
}
.animate-scroll-fast {
  animation: scroll-left 20s linear infinite;
}
.scroll-container:hover .animate-scroll,
.scroll-container:hover .animate-scroll-fast {
  animation-play-state: paused;
}

/* ── About Section — right-side image grid animations ─────── */
@keyframes aboutFadeLeft {
  from { opacity: 0; transform: translateX(48px); }
  to   { opacity: 1; transform: translateX(0); }
}

.about-grid-item {
  opacity: 0;
  transform: translateX(48px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}
.about-grid-item.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Image hover zoom */
.about-grid-item.visible img {
  transition: transform 1s ease;
}
.about-grid-item.visible:hover img {
  transform: scale(1.07);
}

/* Subtle floating pulse on the coloured text boxes */
@keyframes boxPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(138,235,255,0.15); }
  50%       { box-shadow: 0 0 28px 8px rgba(138,235,255,0.18); }
}
.about-grid-item.visible .about-text-box {
  animation: boxPulse 3.5s ease-in-out infinite;
}
.about-grid-item.visible:hover {
  transform: scale(1.04);
}

/* ── Our Expertise Section Animations ─────────────────────── */
@keyframes iconFloat {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-10px); }
}

@keyframes shimmerGlow {
  0%   { left: -80%; opacity: 0; }
  40%  { opacity: 1; }
  100% { left: 110%; opacity: 0; }
}

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

/* Header elements */
.expertise-header-label,
.expertise-header-title {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.expertise-header-label.visible {
  opacity: 1;
  transform: translateY(0);
}
.expertise-header-title {
  transition-delay: 0.18s;
}
.expertise-header-title.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Cards */
.expertise-card {
  opacity: 0;
  transform: translateY(38px);
  transition: opacity 0.6s ease, transform 0.6s ease,
              background-color 0.5s ease, box-shadow 0.4s ease;
  position: relative;
  overflow: hidden;
}
.expertise-card.visible {
  opacity: 1;
  transform: translateY(0);
}
.expertise-card.visible:hover {
  transform: translateY(-8px) scale(1.025);
  box-shadow: 0 28px 64px rgba(0, 0, 0, 0.45);
}

/* Shimmer line across card top on hover */
.expertise-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -80%;
  width: 60%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(138, 235, 255, 0.85), transparent);
  pointer-events: none;
}
.expertise-card.visible:hover::before {
  animation: shimmerGlow 0.75s ease forwards;
}

/* Floating icon on hover */
.expertise-card .card-icon {
  display: inline-block;
}
.expertise-card.visible:hover .card-icon {
  animation: iconFloat 2s ease-in-out infinite;
}
