/* Jawai virtual safari page. The map engine itself is loaded on tap from /vs/. */
.vs-intro{padding:26px 0 18px}
.vs-intro h1{font-size:clamp(32px,4.6vw,50px);margin:6px 0 10px}
.vs-intro .lede{max-width:62ch;color:var(--ink-2);font-size:17px}
[lang=hi],[lang=gu]{font-family:var(--body),"Noto Sans Devanagari","Noto Sans Gujarati",sans-serif}
[lang=hi] h1,[lang=gu] h1,[lang=hi] h2,[lang=gu] h2,[lang=hi] h3,[lang=gu] h3,h1[lang=hi],h1[lang=gu],h2[lang=hi],h2[lang=gu],h3[lang=hi],h3[lang=gu]{font-family:"Noto Sans Devanagari","Noto Sans Gujarati",var(--body);font-weight:700;letter-spacing:0}
.vs-langs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.vs-langs button{min-height:40px;padding:6px 15px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);font:600 15px/1.2 var(--body);cursor:pointer}
.vs-langs button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.vs-wrap{position:relative;height:min(72vh,660px);min-height:430px;background:#2a241c;overflow:hidden}
.vs-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#vs-map{position:absolute;inset:0;opacity:0;transition:opacity .7s}
.vs-live #vs-map{opacity:1}
.vs-cover{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;background:linear-gradient(180deg,rgba(24,20,15,.08),rgba(24,20,15,.5))}
.vs-go{display:inline-flex;align-items:center;gap:11px;min-height:60px;padding:12px 26px;border:0;border-radius:999px;background:#f0c35a;color:#231a0b;font:700 19px/1.2 var(--body);cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.4);animation:vs-pulse 2.4s infinite}
.vs-go svg{width:22px;height:22px}
.vs-go:hover{background:#f6ce6f}
@keyframes vs-pulse{0%{box-shadow:0 0 0 0 rgba(240,195,90,.55),0 8px 28px rgba(0,0,0,.4)}70%{box-shadow:0 0 0 20px rgba(240,195,90,0),0 8px 28px rgba(0,0,0,.4)}100%{box-shadow:0 0 0 0 rgba(240,195,90,0),0 8px 28px rgba(0,0,0,.4)}}
.vs-exp{min-height:44px;padding:8px 18px;border:1.5px solid rgba(255,255,255,.75);border-radius:999px;background:rgba(24,20,15,.42);color:#fff;font:600 15px/1.2 var(--body);cursor:pointer}
.vs-covernote{margin:0;color:#fff;font-size:14px;text-shadow:0 1px 6px rgba(0,0,0,.7)}
#vs-loading{position:absolute;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;background:rgba(24,20,15,.55);color:#fff;font:600 16px/1.3 var(--body)}
/* full-screen while the story plays */
html.vs-tell,html.vs-tell body{overflow:hidden}
html.vs-tell .cta-bar{display:none!important}
.vs-telling{position:fixed;inset:0;z-index:9999;height:100dvh;min-height:0}
.vs-m,#vs-rail,#vs-tools,#vs-again{display:none}
.vs-exploring .vs-m,.vs-storymode .vs-m.vs-show{display:flex}
.vs-exploring #vs-rail{display:block}.vs-exploring #vs-tools{display:flex}.vs-exploring #vs-again{display:inline-flex}
.vs-storymode .maplibregl-ctrl-top-right,.vs-storymode #vs-sheet{display:none!important}
.vs-3d #vs-rail,.vs-3d #vs-sheet,.vs-3d #vs-tools,.vs-3d #vs-again,.vs-3d .vs-m,.vs-3d .maplibregl-ctrl-top-right{display:none!important}
.vs-exploring .maplibregl-ctrl-top-right{top:60px}
.vs-exploring .maplibregl-ctrl-bottom-right{bottom:96px}
#vs-story{position:absolute;inset:auto 8px calc(8px + env(safe-area-inset-bottom)) 8px;z-index:8;pointer-events:none}
.vs-card{pointer-events:auto;background:rgba(24,20,15,.9);color:#fff;border-radius:16px;padding:12px 14px 11px;box-shadow:0 10px 34px rgba(0,0,0,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);max-height:min(56dvh,430px);display:flex;flex-direction:column}
.vs-prog{display:flex;gap:4px;margin-bottom:10px}
.vs-prog button{flex:1;height:14px;padding:5px 0;background:transparent;border:0;cursor:pointer}
.vs-prog button::before{content:"";display:block;height:4px;border-radius:2px;background:rgba(255,255,255,.28)}
.vs-prog button.done::before{background:#f0c35a}
.vs-prog button.now::before{background:linear-gradient(90deg,#f0c35a var(--p,0%),rgba(255,255,255,.28) var(--p,0%))}
.vs-head{display:flex;gap:11px;align-items:center;margin-bottom:7px}
.vs-img{width:50px;height:50px;object-fit:cover;border-radius:10px;flex:none}
.vs-k{margin:0;font-size:12px;letter-spacing:.06em;color:#f0c35a}
.vs-h{margin:2px 0 0;color:#fff;font-size:19px;line-height:1.2}
.vs-t{overflow-y:auto;font-size:15.5px;line-height:1.55;flex:0 1 auto;max-height:7.8em;scroll-behavior:smooth;margin-bottom:9px}
.vs-t span{color:rgba(255,255,255,.62);transition:color .3s}
.vs-t span.on{color:#fff}
.vs-t span.past{color:rgba(255,255,255,.42)}
.vs-endbox p{margin:0 0 8px;font-size:15.5px;line-height:1.5;color:rgba(255,255,255,.88)}
.vs-endbox .vs-from{color:#f0c35a;font-weight:600}
.vs-endbtns{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
.vs-endbtns .btn{flex:1 1 150px;white-space:normal;text-align:center}
.vs-endexp{color:#fff;border-color:rgba(255,255,255,.55);background:transparent;flex-basis:100%!important;min-height:42px}
.vs-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.vs-ctl>button{width:40px;height:40px;padding:9px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;flex:none}
.vs-ctl>button svg{display:block;width:22px;height:22px}
.vs-ctl .vs-play{background:#f0c35a;color:#231a0b}
.vs-lc{display:flex;gap:4px;margin-left:auto}
.vs-lc button{min-height:34px;padding:3px 9px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:transparent;color:#fff;font:600 13px/1.2 var(--body);cursor:pointer}
.vs-lc button.on{background:#fff;border-color:#fff;color:#231a0b}
#vs-exit{position:absolute;top:calc(10px + env(safe-area-inset-top));right:10px;z-index:9;min-height:40px;padding:6px 14px;border:0;border-radius:999px;background:rgba(24,20,15,.72);color:#fff;font:600 14px/1.2 var(--body);cursor:pointer}
#vs-resume{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:9;min-height:52px;padding:10px 22px;border:0;border-radius:999px;background:#f0c35a;color:#231a0b;font:700 17px/1.2 var(--body);cursor:pointer}
#vs-note{position:absolute;top:calc(14px + env(safe-area-inset-top));left:10px;right:90px;z-index:8;width:fit-content;padding:4px 10px;border-radius:999px;background:rgba(24,20,15,.72);color:#fff;font-size:12.5px}
/* our mark while the tour runs: above the map, the photos and the 3D close-ups, never over the cards or the credits */
#vs-wm{position:absolute;right:10px;bottom:calc(140px + env(safe-area-inset-bottom));z-index:5;display:none;padding:4px 7px;border-radius:12px;background:rgba(255,255,255,.9);box-shadow:0 4px 16px rgba(0,0,0,.3);pointer-events:none;user-select:none;-webkit-user-select:none}
.vs-storymode #vs-wm,.vs-exploring #vs-wm{display:block}
.vs-storymode #vs-wm{right:var(--wmr,10px);bottom:var(--wmb,14px);z-index:7}
.vs-3d #vs-wm{z-index:7}
#vs-wm img{display:block;width:auto;height:58px}
@media (min-width:760px){#vs-wm{bottom:136px;padding:5px 9px}#vs-wm img{height:76px}}
@media (max-height:480px) and (orientation:landscape){#vs-wm img{height:46px}}
#vs-stage{position:absolute;inset:0;width:100%;height:100%;z-index:5;opacity:0;transition:opacity .6s;pointer-events:none}
#vs-stage.on{opacity:1}
#vs-cap{position:absolute;top:calc(14px + env(safe-area-inset-top));left:12px;z-index:7;padding:6px 12px;border-radius:12px;background:rgba(24,20,15,.72);color:#fff;opacity:0;transition:opacity .5s}
#vs-cap.on{opacity:1}
#vs-cap b{display:block;font-size:15px}
#vs-cap small{font-size:12px;color:#f0c35a}
/* what is on screen while the narrator talks: photos in the free part of the map, the opening titles and callouts */
#vs-fx{position:absolute;left:0;top:0;z-index:6;overflow:hidden;pointer-events:none}
.vs-out{animation:vs-gone .5s both!important}
@keyframes vs-gone{to{opacity:0}}
.vs-ph{--rot:-1.1deg;position:absolute;left:10px;top:var(--top);width:var(--pw);height:var(--ph);border:3px solid rgba(255,250,240,.96);border-radius:12px;overflow:hidden;background:#231a0b;box-shadow:0 12px 34px rgba(0,0,0,.5);transform:rotate(var(--rot));animation:vs-ph-in .55s cubic-bezier(.2,.9,.3,1.12) both}
.vs-ph-r{--rot:1.1deg}
.vs-ph img{display:block;width:100%;height:100%;object-fit:cover;animation:vs-kb 10s linear both}
.vs-ph-r img{animation-name:vs-kb2}
.vs-ph em{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);padding:3px 9px;border-radius:999px;background:rgba(24,20,15,.82);color:#fff;font:600 12.5px/1.3 var(--body)}
.vs-ph-s{width:var(--sw);height:calc(var(--sw)*2/3)}
.vs-ph-s em{left:5px;bottom:5px;max-width:calc(100% - 10px);padding:2px 7px;font-size:11px}
@keyframes vs-ph-in{from{opacity:0;transform:translateY(16px) rotate(var(--rot)) scale(.94)}to{opacity:1;transform:rotate(var(--rot))}}
@keyframes vs-kb{from{transform:scale(1.02)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
@keyframes vs-kb2{from{transform:scale(1.14) translate(1.5%,1%)}to{transform:scale(1.02)}}
#vs-clouds{position:absolute;inset:0;z-index:7;overflow:hidden;pointer-events:none;background:rgba(255,250,240,.9);animation:vs-haze 2.1s ease-out both}
#vs-clouds i{position:absolute;width:96vmax;height:64vmax;margin:-32vmax 0 0 -48vmax;border-radius:50%;background:radial-gradient(closest-side,rgba(255,252,246,.97) 28%,rgba(255,252,246,0));animation:vs-puff 3.1s cubic-bezier(.3,.1,.45,1) both}
@keyframes vs-haze{to{background:rgba(255,250,240,0)}}
@keyframes vs-puff{0%{opacity:1;transform:none}45%{opacity:.92}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(1.9)}}
.vs-slate{position:absolute;left:16px;top:var(--top);color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.72);animation:vs-slate 1s .55s ease-out both}
.vs-slate b{display:block;font:500 clamp(54px,15vw,104px)/1 var(--display);animation:vs-track 1.7s .55s cubic-bezier(.2,.7,.2,1) both}
.vs-slate small{display:block;margin-top:5px;color:#ffe7ad;font:700 clamp(14px,3.7vw,20px)/1.25 var(--body)}
@keyframes vs-slate{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes vs-track{from{letter-spacing:.2em}to{letter-spacing:.005em}}
.vs-loc{position:absolute;right:8px;top:calc(var(--top) + 2px);width:clamp(142px,39%,240px);animation:vs-slate .8s 1s ease-out both}
.vs-loc svg{display:block;width:100%;height:auto;overflow:visible}
.vs-loc text{fill:#fff;font:600 7.2px/1 var(--body);paint-order:stroke;stroke:rgba(18,14,9,.72);stroke-width:1.5px}
.vs-loc .vs-km{fill:#ffe7ad;font-weight:500;font-size:6.5px}
.vs-loc .vs-mine{fill:#f0c35a;font-weight:800;font-size:8.6px}
.vs-loc .vs-rajn{fill:rgba(255,255,255,.72);font-size:6.5px;font-weight:500;text-anchor:middle}
.vs-raj{fill:rgba(24,20,15,.66);stroke:#ffe7ad;stroke-width:.7;stroke-linejoin:round}
.vs-lk{fill:none;stroke:rgba(255,255,255,.75);stroke-width:.55;stroke-dasharray:1.5 1.3}
.vs-me{fill:#f0c35a;stroke:#231a0b;stroke-width:.5}
.vs-ping2{fill:#f0c35a;transform-box:fill-box;transform-origin:center;animation:vs-ping 1.8s infinite}
.vs-call{pointer-events:none;display:flex;flex-direction:column;align-items:center}
.vs-call span{padding:4px 11px;border-radius:999px;background:#f0c35a;color:#231a0b;font:700 13.5px/1.25 var(--body);white-space:nowrap;box-shadow:0 3px 12px rgba(0,0,0,.45);animation:vs-call .55s cubic-bezier(.2,.9,.3,1.3) both}
.vs-call i{display:block;width:2px;height:42px;background:linear-gradient(#f0c35a,rgba(240,195,90,.35));transform-origin:bottom;animation:vs-stem .4s ease-out both}
@keyframes vs-call{from{opacity:0;transform:translateY(16px) scale(.8)}to{opacity:1;transform:none}}
@keyframes vs-stem{from{transform:scaleY(0)}to{transform:none}}
.vs-cross{position:absolute;left:0;top:30%;width:0;height:0;animation:vs-cross 11s linear both}
.vs-cross .vs-bird{position:absolute}
@keyframes vs-cross{from{transform:translate(-40px,14px)}to{transform:translate(calc(var(--fw) + 110px),-30px)}}
.vs-no{position:absolute;left:10px;top:var(--top);display:flex;flex-direction:column;gap:7px}
.vs-no>div{display:flex;align-items:center;gap:9px;width:fit-content;padding:5px 13px 5px 7px;border-radius:12px;background:rgba(24,20,15,.86);color:#fff;font:700 clamp(14.5px,3.8vw,18px)/1.25 var(--body);box-shadow:0 6px 20px rgba(0,0,0,.42);opacity:0;transform:translateX(-22px);transition:opacity .4s,transform .45s cubic-bezier(.2,.9,.3,1.1)}
.vs-no>div.on{opacity:1;transform:none}
.vs-no svg{flex:none;width:30px;height:30px;fill:none;stroke:#ffe7ad;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vs-no line{stroke:#ef5a41;stroke-width:2.9;stroke-dasharray:1;stroke-dashoffset:1}
.vs-no>.on line{transition:stroke-dashoffset .4s .4s ease-out;stroke-dashoffset:0}
.vs-trio{position:absolute;left:10px;top:var(--top);display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.vs-tr{display:flex;gap:12px}
.vs-tr figure{margin:0;width:clamp(70px,18vw,104px);display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;transform:scale(.55);transition:opacity .35s,transform .5s cubic-bezier(.2,.9,.3,1.3)}
.vs-tr figure.on{opacity:1;transform:none}
.vs-tr span{display:block;width:100%;aspect-ratio:1;border:3px solid #f0c35a;border-radius:50%;background-size:cover;background-position:center;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.vs-tr figcaption{max-width:calc(100% + 10px);padding:2px 7px;border-radius:9px;background:rgba(24,20,15,.86);color:#fff;font:700 11.5px/1.25 var(--body);text-align:center}
.vs-trio p{margin:0;padding:3px 13px;border-radius:999px;background:#f0c35a;color:#231a0b;font:700 14.5px/1.25 var(--body);opacity:0;transition:opacity .5s}
.vs-trio p.on{opacity:1}
html.vs-lite .vs-ph img{animation:none}
@media (min-width:760px){
  .vs-ph{left:24px}
  .vs-ph-s{left:24px}
  .vs-slate{left:30px}
  .vs-loc{left:30px;right:auto;top:calc(var(--top) + 158px);width:230px}
  .vs-no{left:24px}
  .vs-call span{font-size:15px}
}
@media (max-height:480px) and (orientation:landscape){
  .vs-slate b{font-size:44px}
  .vs-loc{display:none}
  .vs-no{gap:5px}.vs-no>div{padding:3px 11px 3px 7px;font-size:15px}.vs-no svg{width:26px;height:26px}
  .vs-tr figure{width:72px}
}
/* the map itself */
.vs-m{flex-direction:column;align-items:center;gap:3px;padding:0;border:0;background:none;cursor:pointer;color:#fff}
.vs-m .ph{display:block;width:40px;height:40px;border-radius:50%;background-size:cover;background-position:center;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.5)}
.vs-m .dot{display:block;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #231a0b}
.vs-m span{padding:2px 8px;border-radius:999px;background:rgba(24,20,15,.74);font:600 12.5px/1.3 var(--body);white-space:nowrap}
/* zones read as place names, wildlife as photo pins that breathe, the resort stands out */
.vs-m-zone span{padding:3px 11px;background:rgba(24,20,15,.82);border:1.5px solid #ffe7ad;font-size:14px;font-weight:700}
.vs-m-zone.vs-sel span,.vs-storymode .vs-m-zone.vs-show span{background:#f0c35a;color:#231a0b;border-color:#f0c35a}
.vs-m-wild .ph{width:30px;height:30px;animation:vs-breathe 3.4s ease-in-out infinite}
.vs-near .vs-m-wild .ph{width:40px;height:40px}
.vs-m-wild span{display:none}
.vs-near .vs-m-wild span,.vs-m-wild.vs-sel span,.vs-m-wild.vs-show span{display:block}
.vs-m-wild.vs-sel .ph,.vs-m-stay.vs-sel .ph{border-color:#f0c35a;transform:scale(1.25)}
.vs-storymode .vs-m-wild.vs-show .ph{width:58px;height:58px;border-color:#f0c35a}
@keyframes vs-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.vs-exploring.vs-tab-w .vs-m-minor,.vs-exploring.vs-tab-w .vs-m-base{display:none}
.vs-m-stay .ph{width:50px;height:50px;border-radius:13px;border:3px solid #f0c35a}
.vs-m-stay span{background:#f0c35a;color:#231a0b;font-weight:700}
.vs-m-base .ph{border-color:#f0c35a;width:30px;height:30px}
.vs-bird{color:rgba(255,255,255,.92);filter:drop-shadow(0 1px 2px rgba(0,0,0,.55));pointer-events:none}
.vs-bird svg{display:block;animation:vs-flap .62s ease-in-out infinite alternate;transform-origin:center}
@keyframes vs-flap{from{transform:scaleY(1)}to{transform:scaleY(.42)}}
.vs-jeep{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f0c35a;color:#231a0b;box-shadow:0 2px 8px rgba(0,0,0,.5)}
.vs-pin{position:relative;width:18px;height:18px}
.vs-pin i{position:absolute;inset:0;border-radius:50%;background:#f0c35a}
.vs-pin i+i{animation:vs-ping 1.8s infinite;background:rgba(240,195,90,.6)}
@keyframes vs-ping{to{transform:scale(3.4);opacity:0}}
#vs-again{position:absolute;top:calc(10px + env(safe-area-inset-top));left:10px;z-index:5;align-items:center;gap:6px;min-height:40px;padding:5px 13px 5px 9px;border:0;border-radius:999px;background:#f0c35a;color:#231a0b;font:700 15px/1.2 var(--body);cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.4)}
#vs-again svg{width:18px;height:18px}
#vs-sheet{position:absolute;left:8px;right:8px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:6;display:flex;gap:11px;max-height:46dvh;overflow-y:auto;padding:11px;border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:0 8px 28px rgba(0,0,0,.4)}
#vs-sheet>img{width:82px;height:82px;object-fit:cover;border-radius:10px;flex:none}
.vs-sb{min-width:0;flex:1;padding-right:24px}
#vs-sheet h3{font-size:18px;margin-bottom:3px}
#vs-sheet p{font-size:14.5px;line-height:1.45;margin-bottom:7px}
#vs-sheet .btn{min-height:38px;padding:5px 13px;font-size:14.5px}
#vs-sheet p.vs-sk{margin:0 0 3px;font-size:11.5px;letter-spacing:.06em;color:var(--khaki-d);font-weight:600}
#vs-sheet p.vs-fine{margin:7px 0 0;font-size:12.5px;color:var(--muted)}
.vs-3dbtn{margin-right:6px}
.vs-mini{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.vs-mini .vs-chip{background:var(--sand);color:var(--ink);min-height:32px;padding:2px 10px 2px 3px;font-size:13px}
.vs-mini .vs-chip:not(:has(i)){padding-left:10px}
.vs-mini .vs-chip i{width:26px;height:26px}
/* the bar along the bottom while exploring */
#vs-rail{position:absolute;left:0;right:0;bottom:0;z-index:6;padding:7px 8px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(24,20,15,0),rgba(24,20,15,.82) 28%)}
.vs-tabs{display:flex;align-items:center;gap:5px;margin-bottom:6px}
.vs-tabs button{min-height:30px;padding:3px 13px;border:0;border-radius:999px;background:rgba(255,255,255,.2);color:#fff;font:600 13.5px/1.2 var(--body);cursor:pointer}
.vs-tabs button.on{background:#f0c35a;color:#231a0b}
.vs-approx{margin-left:6px;color:rgba(255,255,255,.82);font-size:11.5px;line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,.7)}
.vs-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.vs-chips::-webkit-scrollbar{display:none}
.vs-chip{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:38px;padding:3px 12px 3px 4px;border:0;border-radius:999px;background:rgba(255,255,255,.95);color:#231a0b;font:600 13.5px/1.2 var(--body);cursor:pointer;white-space:nowrap}
.vs-chip i{display:block;width:32px;height:32px;border-radius:50%;background-size:cover;background-position:center}
.vs-chip-stay{background:#f0c35a}
#vs-tools{position:absolute;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:5;gap:5px}
#vs-tools button{display:inline-flex;align-items:center;gap:4px;min-height:40px;min-width:40px;justify-content:center;padding:4px 9px;border:0;border-radius:999px;background:rgba(24,20,15,.72);color:#fff;font:600 13px/1.2 var(--body);cursor:pointer}
#vs-tools svg{width:20px;height:20px;flex:none}
.vs-x{position:absolute;top:6px;right:6px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(24,20,15,.72);color:#fff;font-size:20px;line-height:1;cursor:pointer}
.vs-below{padding:30px 0 40px}
.vs-below h2{font-size:clamp(25px,3vw,33px);margin-bottom:14px}
.vs-chs{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.vs-chs li{display:flex;gap:11px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-weight:600;line-height:1.3}
.vs-chs img{width:58px;height:58px;object-fit:cover;border-radius:9px;flex:none}
.vs-cta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.vs-small{color:var(--muted);font-size:14px;max-width:70ch}
.vs-credits{margin-top:10px;color:var(--muted);font-size:13px}
.vs-credits summary{cursor:pointer}
html.vs-lite .vs-card{backdrop-filter:none;-webkit-backdrop-filter:none}
@media (min-width:760px){
  #vs-story{inset:auto 22px 22px auto;width:410px}
  .vs-card{max-height:calc(100dvh - 90px)}
  .vs-t{max-height:11em;font-size:16px}
  .vs-img{width:62px;height:62px}
  .vs-h{font-size:22px}
  #vs-sheet{left:14px;right:auto;bottom:106px;width:380px;max-height:calc(100dvh - 190px)}
  #vs-rail{padding-left:14px;padding-right:14px}
}
@media (max-height:480px) and (orientation:landscape){
  #vs-story{inset:auto 8px 8px auto;width:min(58vw,410px)}
  .vs-card{max-height:calc(100dvh - 16px)}
  .vs-img{display:none}
  .vs-t{max-height:4.8em;font-size:14px}
}
html.vs-lite .vs-m-wild .ph,html.vs-lite .vs-go{animation:none}
@media (max-width:759px){.vs-exploring .maplibregl-ctrl-top-right{display:none}#vs-tools button span{display:none}#vs-tools{left:auto;right:82px;transform:none}}
@media (max-height:480px) and (orientation:landscape){#vs-sheet{right:auto;width:min(60vw,420px);max-height:calc(100dvh - 110px);bottom:88px}.vs-approx{display:none}}
@media (prefers-reduced-motion:reduce){.vs-go,.vs-pin i+i,.vs-m-wild .ph,.vs-bird svg,.vs-ph img,.vs-slate,.vs-slate b,.vs-loc,.vs-ping2,.vs-call span,.vs-call i{animation:none}}
