/* ===================================================
   MIG ADVANCED EFFECTS — CSS
   =================================================== */

/* ── Magnetic buttons: smooth spring-back ─────────── */
.btn-primary, .btn-ghost, .nav-cta {
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.2s, box-shadow 0.3s, border-color 0.2s;
}

/* ── Button shine sweep ────────────────────────────── */
.btn-shine {
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.5), transparent);
  transform: skewX(-20deg);
  pointer-events: none;
  transition: left 0.6s ease;
}
.btn-primary:hover .btn-shine {
  left: 125%;
}

/* ── 3D tilt cards: smooth transition + depth shadow ── */
.mini-card, .project-card, .service-card, .sector-item, .why-item {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s, box-shadow 0.35s;
}
.mini-card:hover, .why-item:hover {
  box-shadow: 0 20px 40px -12px rgba(41,141,255,0.25);
}
.project-card:hover {
  box-shadow: 0 30px 60px -15px rgba(0,0,0,0.5), 0 0 0 1px rgba(41,141,255,0.15);
}
.service-card:hover {
  box-shadow: 0 20px 50px -15px rgba(41,141,255,0.2);
}
.sector-item:hover {
  box-shadow: 0 16px 32px -10px rgba(41,141,255,0.2);
}

/* ── Service row: glowing radial cursor-follow effect ── */
.service-row {
  position: relative;
  overflow: hidden;
}
.service-row::before {
  content: '';
  position: absolute;
  top: var(--my, 50%);
  left: var(--mx, 50%);
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(41,141,255,0.15) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 0;
}
.service-row:hover::before {
  opacity: 1;
}
.service-row > * {
  position: relative;
  z-index: 1;
}
.service-arrow {
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), color 0.2s;
}

/* ── Hero title: prevent layout shift during scramble ── */
.hero-title .title-line {
  font-variant-numeric: tabular-nums;
  display: inline-block;
  min-height: 1em;
}

/* ── Stat numbers: smooth blur transition ──────────── */
.stat-number {
  display: inline-block;
  will-change: filter;
}

/* ── Marquee tags: smooth scale on hover ───────────── */
.client-tag {
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.2s, color 0.2s;
  cursor: default;
}

/* ── Cards: ensure perspective doesn't clip ────────── */
.overview-cards, .projects-grid, .services-grid, .sectors-grid, .why-list {
  perspective: 1000px;
}

/* ── Smoother global hover transitions ─────────────── */
a, button {
  transition: transform 0.2s ease, color 0.2s ease;
}
