/* Desktop keeps the original Dubai stacked carousel and surrounding layout. */
.results-gallery { scroll-margin-top: 110px; }
.experience .results-gallery__viewport { overflow: visible; padding: 0; }
.experience .results-gallery__navigation { margin-top: 28px; }
.experience .results-gallery__card { display: flex; flex-direction: column; border: 0; }
.results-gallery__photo { display: block; width: 100%; position: relative; border-radius: 15px; overflow: hidden; cursor: zoom-in; background: #f4f1e9; }
.results-gallery__image { display: block; width: 100%; height: auto; aspect-ratio: 1835 / 1559; object-fit: contain; }
.results-gallery__time { display: flex; flex-direction: column; align-items: center; gap: 9px; padding: 10px 10px 0; margin-bottom: 20px; order: -1; text-align: center; }
.results-gallery__time > span { color: #8a8272; font-size: 16px; line-height: 1.3; }
.results-gallery__time strong { color: #363636; font-size: 24px; line-height: 1.2; font-weight: 700; }
.results-gallery__pagination .swiper-pagination-bullet { position: relative; margin: 0!important; padding: 0; width: 10px; height: 10px; border: 0; border-radius: 50%; background: #d9bd3f; opacity: .4; }
.results-gallery__pagination .swiper-pagination-bullet::before { content: ''; position: absolute; inset: -12px -4px; }
.results-gallery__pagination .swiper-pagination-bullet-active { opacity: 1; }
.results-gallery button:focus-visible, .results-gallery a:focus-visible { outline: 3px solid #b98f2f; outline-offset: 3px; }
.results-gallery__photo:focus-visible { outline-offset: -4px; }
.results-gallery__status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media(max-width:768px) {
  .experience .results-gallery__container { width: calc(100% - 32px); max-width: 480px; padding: 0; }
  .experience .results-gallery__viewport { display: block; max-width: none; width: calc(100% + 16px); padding: 8px; margin: -8px; overflow: hidden; }
  .experience .results-gallery__card { height: auto; padding: 8px; border: 1px solid #eee4ce; border-radius: 22px; transform: none; overflow: hidden; }
  .experience .results-gallery__card.swiper-slide-active { transform: none; }
  .results-gallery__time { order: 0; margin: 0; padding: 16px 8px 13px; gap: 3px; }
  .results-gallery__time > span { font-size: 14px; }
  .results-gallery__time strong { font-size: 21px; line-height: 1.35; }
  .experience .results-gallery__navigation { display: flex; gap: 18px; width: min(100%,370px); margin: 24px auto 0; padding: 6px; border: 1px solid #e7d8b4; border-radius: 22px; background: #fff; }
  .results-gallery__navigation .results-gallery__arrow { flex: 0 0 48px; height: 46px; border-radius: 16px; }
  .results-gallery__pagination { flex: 1; justify-content: center; gap: 9px; }
  .results-gallery__pagination .swiper-pagination-bullet { width: 7px; height: 7px; }
}

/* Same gesture model as the RF viewer; minimal controls on touch screens. */
.results-viewer { position: fixed; inset: 0; margin: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; padding: max(72px, env(safe-area-inset-top)) 24px max(110px, env(safe-area-inset-bottom)); border: 0; overflow: hidden; overscroll-behavior: contain; background: #fefcf8f5; color: #494949; }
.results-viewer::backdrop { background: #fefcf8c9; }
.results-viewer__close, .results-viewer__zoom button { display: flex; align-items: center; justify-content: center; height: 44px; min-width: 44px; border: 0; border-radius: 12px; background: #c3a637; color: #fff; font: 600 24px/1 sans-serif; touch-action: manipulation; }
.results-viewer__close { position: absolute; top: max(18px, env(safe-area-inset-top)); right: max(20px, env(safe-area-inset-right)); z-index: 2; }
.results-viewer__canvas { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; overflow: hidden; touch-action: none; user-select: none; }
.results-viewer__canvas.is-zoomed { cursor: grab; }
.results-viewer__canvas.is-zoomed:active { cursor: grabbing; }
.results-viewer__canvas img { flex: none; max-width: none; max-height: none; object-fit: contain; transform-origin: center; border-radius: 12px; user-select: none; -webkit-user-drag: none; }
.results-viewer figcaption { position: absolute; left: 10px; right: 10px; bottom: 86px; text-align: center; pointer-events: none; font-size: 14px; line-height: 1.4; }
.results-viewer__zoom { position: absolute; bottom: max(20px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); display: flex; gap: 8px; padding: 6px; border: 1px solid #e6d9b3; border-radius: 16px; background: #fff; }
.results-viewer__zoom [data-result-action=reset] { min-width: 76px; font-size: 16px; }
.results-viewer__zoom button:disabled { opacity: .4; cursor: default; }
.results-viewer__error { position: absolute; top: 45%; left: 10%; width: 80%; text-align: center; }
@media(max-width:768px), (pointer:coarse) {
  .results-viewer { padding: max(68px, env(safe-area-inset-top)) 10px max(60px, env(safe-area-inset-bottom)); }
  .results-viewer__zoom { display: none; }
  .results-viewer figcaption { bottom: max(20px, env(safe-area-inset-bottom)); font-size: 12px; }
  .results-viewer__close { top: max(15px, env(safe-area-inset-top)); right: max(15px, env(safe-area-inset-right)); }
}
.results-viewer figure { width: 100%; height: 100%; margin: 0; }
