/* VAV mobile QA: stable native pinning and non-clipped case overlay.
   Only small screens; no assets, designs or desktop scene changes. */
@media (max-width:900px) {
  /* iOS: never translate entire pinned stages on every scroll frame.
     Section tracks scroll normally; native compositor handles the sticky stage. */
  .production-section[data-vav-sequence],
  .services-section[data-vav-sequence] {
    position:relative!important;
    height:205svh!important;
    min-height:205svh!important;
    max-height:none!important;
    overflow:clip!important;
  }
  .production-section[data-vav-sequence] .production-panel,
  .services-section[data-vav-sequence] .services-stage {
    position:sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
    will-change:auto!important;
    -webkit-backface-visibility:visible!important;
    backface-visibility:visible!important;
  }
  /* When a case is expanded, JS portals the actual card to body. This keeps
     its fixed view independent of clipping/stacking inside the sticky cases. */
  body > .case-card-rzd.is-mobile-overlay {
    position:fixed!important;
    z-index:2147483000!important;
    box-sizing:border-box!important;
    min-height:0!important;
    max-height:calc(100dvh - var(--mobile-case-top,72px) - 10px)!important;
    min-height:0!important;
    overflow:hidden!important;
    overscroll-behavior:contain!important;
  }
  body > .case-card-rzd.is-mobile-overlay .case-rzd-viewport {
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x!important;
  }
  body > .case-card-rzd.is-mobile-overlay .case-rzd-track {
    touch-action:pan-x!important;
  }
  .case-mobile-placeholder{
    display:block;
    width:100%;
    min-height:0;
    visibility:hidden;
    pointer-events:none;
  }
  body > .case-card-rzd.is-mobile-overlay .case-rzd-swipe-hint{
    z-index:25!important;
    opacity:1;
  }
  body > .case-card-rzd.is-mobile-overlay.has-swiped .case-rzd-swipe-hint{
    opacity:0!important;
  }
  /* Simplify mobile sticky paint surfaces; keep all approved photographs. */
  .production-section[data-vav-sequence] .production-panel,
  .services-section[data-vav-sequence] .services-stage,
  .case-card-rzd.is-mobile-overlay{
    -webkit-transform-style:flat!important;
    transform-style:flat!important;
  }
}
@media (max-width:900px) and (prefers-reduced-motion:reduce) {
  body > .case-card-rzd.is-mobile-overlay {transition:none!important}
}
