/* Articulated copies of the original photo; scenery is unchanged. */
.cappadocia .orbea-scene {
  background: var(--paper);
  overflow: visible;
  isolation: isolate;
}
/* The jump is the bike's entrance. A second delayed fade concealed its takeoff. */
.owner-final.polish-ready .orbea-scene.polish-enter {
  opacity: 1;
  transform: none;
  filter: none;
  transition: none;
}
.orbea-stage {
  position: relative;
  /* Headroom for the handlebar as the rear lifts and the bike levels in flight. */
  padding: calc(clamp(24px, 4vw, 56px) + 12px) 0 0;
  overflow: hidden;
}
.bike-photo .orbea-landscape {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 88%;
  max-width: none;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center 40%;
  mix-blend-mode: multiply;
  opacity: .47;
  pointer-events: none;
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.orbea-rig {
  position: relative;
  width: min(82%, 980px);
  aspect-ratio: 1110 / 740;
  margin: 0 auto;
}
.orbea-machine {
  position: absolute;
  inset: 0 0 auto;
  aspect-ratio: 1110 / 708;
  transform-origin: 20% 90.5%;
  mix-blend-mode: multiply;
}
.bike-photo .orbea-bike, .orbea-articulated {
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0;
  user-select: none;
  -webkit-user-drag: none;
  /* Render-only floor mask: two tyre envelopes plus the upper photo.
     The original partner photo is unchanged. Its studio shadow must not fly. */
  mask-image:
    radial-gradient(ellipse 18.7% 29.1% at 20.2% 62.2%, #000 99%, transparent 100%),
    radial-gradient(ellipse 18.7% 29.1% at 79.6% 62.2%, #000 99%, transparent 100%),
    linear-gradient(#000 80%, transparent 80%);
}
.orbea-shadow {
  position: absolute;
  left: 0;
  top: 85.5%;
  width: 100%;
  height: 4%;
  opacity: .28;
  background:
    radial-gradient(ellipse 18% 38% at 20% 50%, #514537, transparent),
    radial-gradient(ellipse 18% 38% at 80% 50%, #514537, transparent);
  transform-origin: center;
  pointer-events: none;
}
.orbea-articulated {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: none;
  pointer-events: none;
  /* Moving tyres have their own mask in the renderer. A static photo mask
     clipped the bottom edge when the front axle moved under compression. */
  mask-image: none;
}
.orbea-scene.has-rig .orbea-articulated { display: block; }
/* Prepare compositor layers during the nearby preload, before the jump starts. */
.orbea-scene.has-rig .orbea-machine,
.orbea-scene.has-rig .orbea-shadow { will-change: transform; }
.cappadocia .orbea-scene figcaption {
  padding: 10px 24px 16px;
  color: var(--ink-soft);
}
@media (max-width: 700px) {
  .orbea-stage { padding-top: 32px; padding-bottom: 10px; }
  .orbea-rig { width: 94%; }
  .bike-photo .orbea-landscape { height: 76%; object-position: center; opacity: .5; }
  .cappadocia .orbea-scene figcaption { padding: 20px 24px 16px; font-size: .875rem; }
}
@media (prefers-reduced-motion: reduce) {
  .orbea-scene.has-rig .orbea-articulated { display: none; }
  .orbea-scene.is-playing .orbea-machine,
  .orbea-scene.is-playing .orbea-shadow { transform: none !important; }
}
