/* ============================================================================
   MOTION TUNING — smoothness fixes. Loaded last, overrides only.

   Nothing here changes layout, copy or choreography. Each block removes work
   the browser was doing for no visible result, or re-times a hover. Delete this
   file and its <link> to return to the previous behaviour.
   ============================================================================ */

/* ----------------------------------------------- 1. OPENING SCENE (hero + orbit)
   These elements are positioned by continuous-opening.js on every frame, with
   its own easing. A CSS transition on the same property meant every frame
   started a new 160-280ms transition toward a target that had already moved:
   the element was always chasing, and when the scroll direction reversed it
   visibly stalled and then caught up. The script is the only driver now. */
.hero-stage,
.hero-peeking-cue,
.solutions-editorial,
.orbit-card,
.orbit-bus-ray {
  transition: none;
}
.active-beam {
  transition: opacity 180ms ease;
}
/* Keep the two big moving layers on the compositor so a scroll in either
   direction never has to repaint them. */
.hero-stage {
  will-change: transform, opacity;
}
.solutions-visual {
  will-change: transform;
}

/* --------------------------------------------- 2. BLUR OVER THE LIVING BACKGROUND
   The star field behind the page redraws on every frame, so every panel with a
   backdrop blur was re-blurred 60 times a second, scrolling or not. These
   panels are 88-92% opaque, which left the blur almost invisible. The blur is
   removed and the opacity raised a few points so they read the same. */
.people__inner {
  background: rgba(28, 29, 27, 0.95) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.surface-island--guide-ready,
.agent--visual-break-ready {
  background: rgba(28, 29, 27, 0.96) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.close__inner {
  background: rgba(28, 29, 27, 0.94) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* ------------------------------------------------ 3. SECTOR CARDS (section 02) hover
   ROOT CAUSE of the rough hover: flow-ambient.css declares
   `.card { transition: transform, border-color, box-shadow 220ms !important }`.
   That list has no `flex` in it and, being !important, it silently replaced
   section3.css's `flex .55s` transition. So the accordion (flex 1 -> 2.4) had
   no transition at all: each card snapped open in a single frame while only
   the 3px lift and the shadow animated. It looked fast and jerky because the
   main movement was not animated.

   The transition is restored here with `flex` in it, slower and softer than
   the original .55s, and a card waits 60ms before opening so sweeping across
   the row no longer makes every card twitch. */
.cards .card,
.bts.bts-assembled .cards .card {
  transition:
    flex .9s cubic-bezier(.22, .78, .24, 1),
    box-shadow .7s cubic-bezier(.22, .78, .24, 1),
    transform .6s cubic-bezier(.22, .78, .24, 1),
    border-color .6s cubic-bezier(.22, .78, .24, 1) !important;
}
.cards .card:hover,
.cards .card:focus-visible,
.bts.bts-assembled .cards .card:hover,
.bts.bts-assembled .cards .card:focus-visible {
  transition-delay: 60ms !important;
}
.cards .card .card__thumb {
  transition: filter .9s cubic-bezier(.22, .78, .24, 1), transform .9s cubic-bezier(.22, .78, .24, 1);
}
.cards .card::after {
  transition: opacity .7s cubic-bezier(.22, .78, .24, 1);
}
.cards .card .card__teaser {
  transition: opacity .6s cubic-bezier(.22, .78, .24, 1) .22s, transform .6s cubic-bezier(.22, .78, .24, 1) .22s;
}
.cards .card .card__cue {
  transition: opacity .6s cubic-bezier(.22, .78, .24, 1) .3s, transform .6s cubic-bezier(.22, .78, .24, 1) .3s;
}
/* Leaving a card: the text goes first and quickly, so it never hangs over a
   card that is already closing. */
.cards .card:not(:hover):not(:focus-visible) .card__teaser,
.cards .card:not(:hover):not(:focus-visible) .card__cue {
  transition-duration: .25s;
  transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
  .cards .card,
  .cards .card .card__thumb,
  .cards .card .card__teaser,
  .cards .card .card__cue { transition: none !important; }
}
