.phone-gallery { display:flex; gap:1rem; margin:0; padding:.25rem 0 .75rem; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:inline mandatory; scrollbar-width:thin; }
.phone-gallery > * { flex:0 0 min(74vw,17rem); min-width:0; scroll-snap-align:center; }
.phone-shot { display:grid; place-items:center; width:100%; min-width:0; aspect-ratio:9/18.8; }
.phone-shot > img, .phone-shell > img { display:block; width:100%; height:100%; object-fit:contain; object-position:center top; }
.phone-shot--device > img { filter:drop-shadow(0 16px 22px rgba(18,53,32,.14)); }
.phone-shell { position:relative; width:100%; height:100%; padding:.38rem; overflow:hidden; background:#111813; border:1px solid rgba(255,255,255,.2); border-radius:1.1rem; box-shadow:0 14px 28px rgba(17,45,28,.18); }
.phone-shell::before { display:none; }
.phone-shell > img { border-radius:.62rem; object-fit:cover; object-position:center top; background:#fff; }
.service-video-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; width:100%; height:100%; padding:.75rem; background:#111813; }
.service-video-pair video { display:block; width:100%; height:100%; min-width:0; object-fit:cover; border-radius:.65rem; }
.service-media:has(.phone-gallery) { aspect-ratio:auto; overflow:visible; background:transparent; border:0; }
.service-media .phone-gallery { width:100%; }
.service-media .phone-gallery > * { flex-basis:min(72vw,15rem); }
.mobile-product-gallery .phone-gallery > * { flex-basis:min(68vw,15rem); }
@media (min-width:700px) { .phone-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; } .phone-gallery > * { width:100%; } }
@media (min-width:1100px) { .service-media .phone-gallery, .mobile-product-gallery .phone-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); } }
