/* ============================================================================
   THE INTAKE OWL. A small companion that perches on a card, blinks, dozes, taps
   a claw, and flies to a new card as the visitor scrolls. Intake page only.

   The positioner (.fx-owl) owns the translate to the perch point and the flight
   transition. The sprite (.fx-owl-img) inside it owns the idle motion (bob), so
   an idle animation never fights the positioning transform.

   Reduced motion removes it entirely; the aurora already carries the page. A
   slow-system check in owl.js bails before this ever renders.
   ============================================================================ */
.fx-owl {
  position: fixed;
  left: 0; top: 0;
  z-index: 6;                 /* above the cards, below any modal overlay */
  pointer-events: auto;       /* clickable: taps the owl -> /ceo (owl.js) */
  cursor: pointer;
  transform: translate3d(-240px, -240px, 0);   /* offstage until first perch */
  transition: transform 1.15s cubic-bezier(0.42, 0, 0.2, 1), opacity 0.55s ease;
  will-change: transform;
  opacity: 0;
}
.fx-owl.show { opacity: 1; }
/* While following a scrolling card the owl must track instantly, so the transform
   transition is switched off; only the flight between cards keeps the easing. */
.fx-owl.track { transition: opacity 0.55s ease; }

.fx-owl-img {
  display: block;
  width: 62px;                /* ~triple emoji; the asset is 2x for retina */
  height: auto;
  filter: drop-shadow(0 6px 9px rgba(0, 0, 0, 0.45));
}
@media (max-width: 700px) { .fx-owl-img { width: 52px; } }

/* Idle bob: a tiny settle, used for the claw-tap beat. */
.fx-owl-img.bob { animation: fx-owl-bob 0.5s ease; }
@keyframes fx-owl-bob {
  0%, 100% { transform: translateY(0); }
  45%      { transform: translateY(-3px); }
}

@media (prefers-reduced-motion: reduce) {
  .fx-owl { display: none !important; }
}
