/* Existing story rings, type, image and shell, with a same-screen phone entrance. */
.motion-scene { position: relative; isolation: isolate; }
.motion-story-strip {
  position: relative;
  z-index: 2;
  margin: 0 0 16px;
  padding: 16px 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.motion-story-strip .story-strip-row { padding: 0; }
.motion-story-strip .story-track { gap: 0; animation: none; }
.motion-story-group { display: flex; gap: 16px; padding-right: 16px; }
.motion-scene[data-motion-phase='loading'] .story-chip { visibility: hidden; }
.motion-scene[data-motion-phase='scrolling'][data-motion-driver='css'] .story-track {
  animation: motionMarquee 24s linear infinite;
  animation-delay: var(--motion-delay, 0ms);
}
.motion-scene .hero-image-container { isolation: isolate; }
.motion-phone-light {
  position: absolute;
  pointer-events: none;
  z-index: 1;
  left: 23%; top: 35%; width: 20%; height: 21%;
  background: radial-gradient(ellipse, rgba(255,221,157,.66), rgba(255,207,113,.18) 44%, transparent 72%);
  mix-blend-mode: screen;
  filter: blur(9px);
  transform: rotate(-16deg);
  animation: phoneWarmth 3.6s ease-in-out infinite alternate;
}
.motion-flight-layer { position: absolute; inset: 0; overflow: clip; z-index: 3; pointer-events: none; }
.motion-flyer {
  position: absolute;
  top: 0; left: 0;
  offset-rotate: 0deg;
  offset-anchor: 50% 50%;
  transform-origin: center;
  will-change: offset-distance, transform, opacity;
}
.motion-flyer::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -7px -2px -6px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.8);
  background: linear-gradient(140deg, rgba(255,255,255,.77), rgba(255,255,255,.36));
  box-shadow: inset 0 1px 2px #fff, 0 6px 19px rgba(54,39,15,.1);
  backdrop-filter: blur(9px) saturate(1.15);
  -webkit-backdrop-filter: blur(9px) saturate(1.15);
}
@keyframes motionMarquee { to { transform: translateX(calc(-1 * var(--motion-cycle))); } }
@keyframes phoneWarmth { from { opacity: .6; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .step-enter, .scale-in, .motion-phone-light, .story-track { animation: none !important; }
  .motion-story-strip .story-strip-row { overflow-x: auto; scrollbar-width: none; }
  .motion-story-group[aria-hidden] { display: none; }
}
