#vision-zone .viewer{margin:0 auto;max-width:100%}
#vision-zone .viewer-main{position:relative;height:clamp(300px,54vh,560px);overflow:hidden}
#vision-zone .viewer-main .swiper-wrapper{align-items:center;height:100%}
#vision-zone .viewer-main .swiper-slide{width:auto;height:100%;display:flex;align-items:center;cursor:pointer;
  opacity:.35;filter:brightness(.85);transition:opacity .5s ease,filter .5s ease}
#vision-zone .viewer-main .swiper-slide img{display:block;border-radius:clamp(12px,1.6vw,22px);
  border:1px solid var(--hairline-strong);box-shadow:var(--shadow)}
#vision-zone .viewer-main .swiper-slide-active{opacity:1;filter:none;cursor:zoom-in}
#vision-zone .vw-arr{position:absolute;top:50%;transform:translateY(-50%);width:2.6rem;height:2.6rem;border-radius:50%;
  border:none;cursor:pointer;background:rgba(10,9,8,.45);color:#faf9f5;
  display:grid;place-items:center;padding:0;font-size:1.45rem;line-height:0;text-indent:0;
  opacity:0;transition:opacity .35s,background .3s;backdrop-filter:blur(6px);z-index:2}
#vision-zone .vw-arr span{display:block;transform:translateY(-1px)}
#vision-zone .viewer-main:hover .vw-arr{opacity:1}
#vision-zone .vw-arr:hover{background:rgba(10,9,8,.72)}
#vision-zone .vw-prev{left:.9rem}
#vision-zone .vw-next{right:.9rem}
#vision-zone .vw-dock{display:flex;gap:.5rem;justify-content:flex-start;width:fit-content;margin:1.2rem auto 0;
  padding:.45rem;max-width:100%;overflow-x:auto;scrollbar-width:none;
  background:rgba(10,9,8,.42);backdrop-filter:blur(8px);border-radius:14px}
#vision-zone .vw-dock::-webkit-scrollbar{display:none}
#vision-zone .vw-th{width:3.2rem;height:2.3rem;flex:0 0 auto;object-fit:cover;border-radius:9px;cursor:pointer;
  border:1px solid rgba(255,255,255,.25);opacity:.72;transition:opacity .3s,transform .3s,border-color .3s}
#vision-zone .vw-th:hover{opacity:1}
#vision-zone .vw-th.on{opacity:1;border-color:var(--accent);transform:scale(1.08)}
#vision-zone .vw-cap{margin-top:1rem;text-align:center;color:var(--ink-dim);font-size:.85rem;letter-spacing:.22em}
#vision-zone .viewer.small .viewer-main{height:clamp(200px,34vh,340px)}
#vision-zone .viewer.small .vw-th{width:2.6rem;height:1.9rem}
