/* Animations and details popup styles */
:root{--popup-bg:rgba(21,19,17,.6);--panel-bg:#fff;--panel-radius:14px;--panel-shadow:0 18px 45px rgba(8,8,8,.35)}

.details-popup{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9999}
.details-popup.show{display:flex}
.details-overlay{position:absolute;inset:0;background:var(--popup-bg);opacity:0;transition:opacity .28s ease}
.details-popup.show .details-overlay{opacity:1}
.details-panel{position:relative;z-index:2;background:var(--panel-bg);border-radius:var(--panel-radius);max-width:680px;width:92%;padding:28px 28px 20px;box-shadow:var(--panel-shadow);transform:translateY(18px) scale(.98);opacity:0;transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .3s ease}
.details-popup.show .details-panel{transform:translateY(0) scale(1);opacity:1}
.details-close{position:absolute;right:12px;top:8px;border:none;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#333;transition:transform .2s ease}
.details-close:hover{transform:rotate(90deg) scale(1.1);color:var(--red)}
.details-panel h3{font-size:20px;margin:6px 0 12px}
.details-body{color:#444;font-size:15px;line-height:1.6;margin-bottom:14px}
.details-footer{display:flex;justify-content:flex-end;gap:12px}

/* ===== ENHANCED SCROLL REVEAL ANIMATIONS ===== */
.reveal-on-scroll, .stat, .industry-card, .role-group, .deploy-card, .country-card, .why-card, .faq-card, .testimonial-card, .team-row, .map-panel, .hero-top, .service-row, .deployment-card {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .8s cubic-bezier(.16, 1, .3, 1), transform .8s cubic-bezier(.16, 1, .3, 1), box-shadow .3s ease, border-color .3s ease;
  will-change: opacity, transform;
}

.reveal-zoom {
  transform: scale(0.94) translateY(20px);
}

.reveal-fade {
  transform: translateY(0);
}

.reveal-on-scroll.visible, .stat.visible, .industry-card.visible, .role-group.visible, .deploy-card.visible, .country-card.visible, .why-card.visible, .faq-card.visible, .testimonial-card.visible, .team-row.visible, .map-panel.visible, .hero-top.visible, .service-row.visible, .deployment-card.visible,
.hover-focus {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Stagger delay utilities */
.stagger-1 { transition-delay: .08s; }
.stagger-2 { transition-delay: .16s; }
.stagger-3 { transition-delay: .24s; }
.stagger-4 { transition-delay: .32s; }
.stagger-5 { transition-delay: .40s; }
.stagger-6 { transition-delay: .48s; }

/* ===== CARD HOVER MICRO-INTERACTIONS ===== */
.industry-card {
  transition: transform .35s cubic-bezier(.16, 1, .3, 1), box-shadow .35s ease, filter .35s ease;
}
.industry-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 20px 40px rgba(196, 1, 1, 0.22);
}

.deploy-card, .why-card, .faq-card, .testimonial-card, .country-card {
  transition: transform .35s cubic-bezier(.16, 1, .3, 1), box-shadow .35s ease, border-color .35s ease;
}
.deploy-card:hover, .why-card:hover, .faq-card:hover, .testimonial-card:hover, .country-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
  border-color: rgba(196, 1, 1, 0.35);
}

.country-card.hq:hover {
  border-color: var(--red);
  box-shadow: 0 16px 36px rgba(196, 1, 1, 0.15);
}

.stat {
  cursor: pointer;
  transition: transform .25s cubic-bezier(.16, 1, .3, 1), box-shadow .25s ease, background-color .25s ease;
}
.stat:active, .stat:focus, .stat:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
  background-color: rgba(255, 255, 255, 0.03);
}

/* Service row hover accent */
.service-row {
  position: relative;
  transition: transform .3s ease, background-color .3s ease, padding-left .3s ease;
}
.service-row:hover {
  transform: translateX(8px);
}
.service-row .idx {
  transition: transform .3s ease, color .3s ease;
}
.service-row:hover .idx {
  transform: scale(1.18);
}

/* ===== MAP RADAR PULSE ANIMATION ===== */
@keyframes map-radar-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(196, 1, 1, 0.6), 0 0 0 0 rgba(196, 1, 1, 0.4);
  }
  70% {
    box-shadow: 0 0 0 14px rgba(196, 1, 1, 0), 0 0 0 24px rgba(196, 1, 1, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(196, 1, 1, 0), 0 0 0 0 rgba(196, 1, 1, 0);
  }
}

.map-node.india:before {
  animation: map-radar-pulse 2.2s infinite ease-out;
}

@keyframes map-node-pulse {
  0%, 100% { transform: scale(1); opacity: 0.9; }
  50% { transform: scale(1.3); opacity: 1; }
}

.map-node:not(.india):before {
  animation: map-node-pulse 3s infinite ease-in-out;
}

/* ===== BUTTON SHIMMER & GLOW ===== */
.btn-solid, .nav-cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}

.btn-solid:hover, .nav-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(196, 1, 1, 0.35);
}

.btn-solid::after, .nav-cta::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -60%;
  width: 50%;
  height: 200%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
  transform: rotate(25deg);
  transition: none;
  opacity: 0;
  pointer-events: none;
}

.btn-solid:hover::after, .nav-cta:hover::after {
  opacity: 1;
  animation: shimmer-pass .75s ease forwards;
}

@keyframes shimmer-pass {
  0% { left: -60%; }
  100% { left: 140%; }
}

/* animated count inside popup */
.details-num{font-family:var(--font-display);font-size:36px;color:var(--red);font-weight:700;margin-bottom:8px}

@media (max-width:900px){.details-panel{padding:20px;width:96%;max-width:460px}.details-panel h3{font-size:18px}}

