/* ==========================================================================
   Barber character animation
   A single SVG (#barber-character) is composed of grouped parts that are
   independently animated with CSS so the whole figure reads as "alive":
   body sway, natural eye blink, occasional glance left/right, and the two
   tool arms performing their signature motions on a loop.
   ========================================================================== */

#barber-character { overflow: visible; }

/* gentle idle sway of the whole body */
#bc-body {
  transform-origin: 50% 100%;
  animation: bcSway 4.5s ease-in-out infinite;
}
@keyframes bcSway {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(0.8deg); }
}

/* natural blink */
#bc-eyes {
  animation: bcBlink 4.2s ease-in-out infinite;
  transform-origin: center;
}
@keyframes bcBlink {
  0%, 92%, 100% { transform: scaleY(1); }
  95% { transform: scaleY(0.08); }
}

/* occasional glance left/right */
#bc-pupils {
  animation: bcGlance 7s ease-in-out infinite;
}
@keyframes bcGlance {
  0%, 20% { transform: translateX(0); }
  24%, 34% { transform: translateX(-2.5px); }
  40%, 60% { transform: translateX(0); }
  64%, 74% { transform: translateX(2.5px); }
  80%, 100% { transform: translateX(0); }
}

/* scissors arm: snip motion */
#bc-scissors-arm { transform-origin: 84% 52%; animation: bcArmScissor 3.6s ease-in-out infinite; }
@keyframes bcArmScissor {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(-8deg); }
}
#bc-scissors-blade-a { transform-origin: 100% 50%; animation: bcSnip 0.7s ease-in-out infinite; animation-delay: 0.2s; }
#bc-scissors-blade-b { transform-origin: 100% 50%; animation: bcSnipRev 0.7s ease-in-out infinite; animation-delay: 0.2s; }
@keyframes bcSnip { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(11deg); } }
@keyframes bcSnipRev { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(-11deg); } }

/* clipper arm: trimming motion */
#bc-clipper-arm { transform-origin: 16% 52%; animation: bcArmClipper 3.6s ease-in-out infinite; animation-delay: 1.8s; }
@keyframes bcArmClipper {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(7deg); }
}
#bc-clipper-buzz { transform-origin: center; animation: bcBuzz 0.15s linear infinite; }
@keyframes bcBuzz { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(0.6px); } }

/* ---------- misc scroll / counter helpers ---------- */
.animated-counter { font-variant-numeric: tabular-nums; }

.fade-in { animation: fadeInSimple 0.9s var(--ease) both; }
@keyframes fadeInSimple { from { opacity: 0; } to { opacity: 1; } }

.slide-up { animation: slideUpSimple 0.8s var(--ease) both; }
@keyframes slideUpSimple { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
