html,body{overflow-x:hidden;max-width:100%}
.im-page{
  max-width:1280px;margin:0 auto;padding:8px 14px 72px;
  min-width:0;width:100%;overflow-x:hidden
}
.im-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
}
.im-badge{
  display:inline-flex;padding:4px 9px;border-radius:999px;
  background:rgba(47,128,255,.14);border:1px solid rgba(47,128,255,.28);
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#d7e6ff
}

.im-show{display:block;position:relative;width:100%;max-width:100%;min-width:0}
.im-stage,.im-copy{min-width:0}
.im-stage{
  position:relative;overflow:hidden;border-radius:14px;
  background:#070d18;border:1px solid rgba(255,255,255,.05);
  width:100%;max-width:100%;aspect-ratio:9/16;height:auto;
  line-height:0;isolation:isolate
}
.im-stage video{
  position:absolute;inset:0;width:100%;height:100%;
  max-width:100%;max-height:100%;
  object-fit:cover;object-position:center;display:block;background:#070d18
}
.im-360{
  position:absolute;left:12px;top:12px;z-index:2;
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#d7e6ff;background:rgba(5,8,15,.72);border:1px solid rgba(255,255,255,.08);
  padding:5px 8px;border-radius:999px;line-height:1
}
.im-play{
  position:absolute;inset:0;display:grid;place-items:center;z-index:2;
  background:rgba(5,8,15,.18);border:0;cursor:pointer;color:#fff
}
.im-play span{
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#2f80ff
}
.im-play svg{width:24px;height:24px;margin-left:3px;fill:currentColor}
.im-stage.is-on .im-play{display:none}
.im-nav{
  display:grid;place-items:center;
  position:absolute;top:38%;z-index:5;
  width:22px;height:22px;margin-top:-11px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(5,8,15,.42);color:#fff;
  border-radius:50%;cursor:pointer;padding:0;opacity:.55;
  -webkit-tap-highlight-color:transparent
}
.im-nav.prev{left:8px}
.im-nav.next{right:8px}
.im-nav svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.6;pointer-events:none}

.im-copy{
  position:absolute;left:0;right:0;bottom:0;z-index:4;
  padding:48px 14px 14px;
  background:linear-gradient(180deg,transparent 0%,rgba(5,8,15,.92) 42%);
  border-radius:0 0 14px 14px;
  pointer-events:none
}
.im-copy .im-badge{margin-bottom:2px}
.im-copy h2{font-size:22px;margin:6px 0 4px;letter-spacing:-.03em;line-height:1.1}
.im-price{font-size:22px;font-weight:900;letter-spacing:-.03em}
.im-meta{color:#c5d3ea;font-size:12px;margin-top:2px}
.im-actions{
  display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px;
  pointer-events:auto
}
.im-cta,.im-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  width:100%;min-height:44px;padding:0 12px;border-radius:12px;
  font-weight:800;font-size:13px;letter-spacing:.02em;text-decoration:none;border:0
}
.im-cta{background:#2f80ff;color:#fff}
.im-ghost{background:rgba(255,255,255,.08);color:#fff}

.im-hangar{
  display:flex;align-items:center;justify-content:center;gap:4px;
  width:100%;max-width:100%;min-width:0;
  margin:12px auto 0
}
.im-strip-nav{
  width:34px;height:34px;border-radius:50%;padding:0;
  display:grid;place-items:center;cursor:pointer;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(12,20,34,.95);color:#fff;
  -webkit-tap-highlight-color:transparent
}
.im-strip-nav svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2}
.im-strip{
  display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;
  margin:0;padding:2px 0 8px;
  width:max-content;max-width:calc(100% - 76px);min-width:0;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
  scrollbar-width:thin
}
.im-strip button{
  appearance:none;-webkit-appearance:none;
  flex:0 0 64px;width:64px;min-width:64px;max-width:64px;
  border:1px solid rgba(255,255,255,.08);
  background:#0c1422;border-radius:12px;padding:0;overflow:hidden;cursor:pointer;
  color:#fff;text-align:left;scroll-snap-align:start
}
.im-strip button.is-on{border-color:#2f80ff}
.im-strip img{
  width:100%;max-width:100%;height:auto;aspect-ratio:9/16;
  object-fit:cover;object-position:center;display:block;pointer-events:none
}
.im-strip b{display:block;font-size:10px;padding:6px 5px 8px;font-weight:700;line-height:1.2}

@media(min-width:981px){
  .im-page{padding:16px 24px 80px}

  .im-show{
    display:flex;flex-direction:column;align-items:center;gap:20px
  }
  .im-stage{
    width:min(420px,42vw);max-width:100%;border-radius:18px
  }
  .im-play span{width:68px;height:68px}
  .im-nav{width:24px;height:24px;margin-top:-12px;top:50%;opacity:.45}
  .im-nav:hover{background:#2f80ff;border-color:#2f80ff;opacity:1}
  .im-nav.prev{left:10px}
  .im-nav.next{right:10px}
  .im-nav svg{width:12px;height:12px}

  .im-copy{
    position:static;padding:0;background:none;border-radius:0;
    pointer-events:auto;text-align:center;max-width:420px
  }
  .im-copy h2{font-size:clamp(24px,4vw,36px);margin:8px 0 6px}
  .im-price{font-size:28px}
  .im-meta{color:#8090ab;font-size:13px;margin-top:4px}
  .im-actions{display:flex;justify-content:center;margin-top:16px}
  .im-cta{width:auto;min-width:220px;min-height:50px;padding:0 22px;font-size:14px}
  .im-cta:hover{filter:brightness(1.08)}

  .im-hangar{margin:22px auto 0;width:100%}
  .im-strip-nav:hover{background:#2f80ff;border-color:#2f80ff}
  .im-strip{
    gap:10px;padding:4px 2px 12px;scroll-snap-type:none
  }
  .im-strip button{flex:0 0 92px;width:92px;min-width:92px;max-width:92px}
  .im-strip b{font-size:12px;padding:8px 8px 10px}
}

.shop-builder{margin-top:8px}
