/* ── CURSOR ORB ───────────────────────────────────── */
.cursor-orb {
  position: fixed;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(63,169,217,.55) 0%, rgba(63,169,217,0) 70%);
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%,-50%);
  transition: width .2s, height .2s, opacity .2s;
  mix-blend-mode: screen;
}
.cursor-orb.big { width: 80px; height: 80px; }
@media (hover: none) { .cursor-orb { display: none; } }

/* ── HERO CANVAS ──────────────────────────────────── */
#hero-canvas {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: .55;
}
.hero { position: relative; overflow: hidden; }
.hero-left, .hero-right { position: relative; z-index: 1; }

/* ── REVEAL INITIAL STATE ─────────────────────────── */
[data-aos] {
  opacity: 1 !important;
  transform: none !important;
}
.gsap-hidden {
  opacity: 0;
  transform: translateY(36px);
}
.gsap-hidden-left  { opacity: 0; transform: translateX(-40px); }
.gsap-hidden-right { opacity: 0; transform: translateX(40px); }
.gsap-hidden-scale { opacity: 0; transform: scale(.88); }

/* ── GLOWING STAT NUMBERS ─────────────────────────── */
.counter, .trust-num {
  text-shadow: 0 0 18px rgba(63,169,217,.5);
}

/* ── SERVICE CARD 3D TILT ─────────────────────────── */
.svc-row {
  transform-style: preserve-3d;
  transform: perspective(900px) rotateX(0deg) rotateY(0deg);
  transition: box-shadow .3s;
  will-change: transform;
  border-radius: 16px;
}
.svc-row:hover {
  box-shadow: 0 24px 60px rgba(14,42,74,.18), 0 0 0 1px rgba(63,169,217,.18);
}

/* ── MAGNETIC BUTTONS ─────────────────────────────── */
.btn-primary, .btn-outline, .nav-cta {
  will-change: transform;
  transition: transform .18s ease, background .18s, color .18s, box-shadow .18s;
}

/* ── GLOWING LINE ACCENT ──────────────────────────── */
.section-glow-line {
  display: block;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--sky), var(--leaf));
  border-radius: 2px;
  margin: 10px 0 24px;
  box-shadow: 0 0 12px rgba(63,169,217,.5);
}

/* ── FLOAT CARDS PULSE ────────────────────────────── */
.hero-float-card {
  will-change: transform;
}

/* ── REVIEW CARD HOVER GLOW ───────────────────────── */
.review-card {
  transition: box-shadow .3s, transform .3s;
}
.review-card:hover {
  box-shadow: 0 12px 40px rgba(63,169,217,.15), 0 2px 8px rgba(14,42,74,.1);
  transform: translateY(-4px);
}

/* ── TEAM CARD GLOW HOVER ─────────────────────────── */
.team-card {
  transition: box-shadow .3s, transform .3s;
}
.team-card:hover {
  box-shadow: 0 16px 48px rgba(63,169,217,.18);
  transform: translateY(-6px) scale(1.01);
}

/* ── SECTION EYEBROW GLOW ─────────────────────────── */
.eyebrow {
  text-shadow: 0 0 16px rgba(63,169,217,.3);
}

/* ── HERO H1 WORD SPANS ───────────────────────────── */
.hero-h1 .word {
  display: inline-block;
  overflow: hidden;
}
.hero-h1 .word-inner {
  display: inline-block;
}
