/* Ranthambore 3D Explorer: the UI layer over the map (rt-explorer.js). Earthy palette: forest green, charcoal, sand, muted gold. */
.rtm-wrap{height:80vh;max-height:860px}
.rtx-nav{position:absolute;left:10px;top:60px;z-index:3;display:flex;flex-direction:column;gap:4px;background:rgba(15,26,19,.86);backdrop-filter:blur(6px);border:1px solid rgba(201,162,74,.45);border-radius:12px;padding:6px}
.rtx-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;width:64px;padding:7px 4px;border:0;border-radius:9px;background:transparent;color:#e9e3d3;font:600 11px/1.1 'Source Sans 3',system-ui,sans-serif;cursor:pointer}
.rtx-nav button span{letter-spacing:.02em}
.rtx-nav button.on,.rtx-nav button:hover{background:rgba(201,162,74,.22);color:#fff}
.rtx-nav button.on{box-shadow:inset 0 0 0 1px rgba(201,162,74,.7)}
.rtx-panel{position:absolute;z-index:3;right:12px;top:58px;bottom:14px;width:380px;max-width:calc(100% - 100px);overflow:auto;background:#faf8f2;color:#221e1a;border-radius:14px;box-shadow:0 12px 36px rgba(0,0,0,.45);font:14px/1.5 'Source Sans 3',system-ui,sans-serif;scrollbar-width:thin}
.rtx-panel[hidden]{display:none}
.rtx-panel .rtx-x{position:sticky;top:6px;float:right;margin:6px 8px 0 0;z-index:2;width:30px;height:30px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:18px;cursor:pointer}
.rtx-panel .rtx-in{padding:14px 16px 18px}
.rtx-panel h3{font:700 19px/1.2 Georgia,'Times New Roman',serif;margin:4px 0 6px;color:#13241a}
.rtx-panel h4{font:700 13px/1.3 'Source Sans 3',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#6b6257;margin:14px 0 4px}
.rtx-panel p{margin:0 0 8px}
.rtx-panel .rtx-k{color:#8a6a1e;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin:0}
.rtx-panel img.rtx-pic{display:block;width:calc(100% + 32px);margin:0 -16px 10px;height:170px;object-fit:cover}
.rtx-panel .chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.rtx-panel .chip{border:1px solid #d9cfb8;background:#fff;border-radius:99px;padding:4px 10px;font:600 12px/1.2 'Source Sans 3',sans-serif;color:#13241a;cursor:pointer;text-decoration:none}
.rtx-panel .chip.on{background:#13241a;color:#fff;border-color:#13241a}
.rtx-panel .btns{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.rtx-panel .btn{display:inline-block;padding:10px 14px;border-radius:9px;font:700 14px/1.2 'Source Sans 3',sans-serif;text-decoration:none;cursor:pointer;border:0}
.rtx-panel .btn.amber{background:#e8a33d;color:#13241a}.rtx-panel .btn.ghost{background:#fff;border:1px solid #cfc7bb;color:#13241a}.rtx-panel .btn.wa{background:#0f7a40;color:#fff}
.rtx-panel .fine{color:#6b6257;font-size:12.5px}
.rtx-panel .warn{background:#fff3d6;color:#6b4a00;border-radius:8px;padding:8px 10px;font-size:13px;margin:8px 0}
.rtx-panel ul.plain{list-style:none;padding:0;margin:0}
.rtx-panel ul.plain li{padding:8px 0;border-top:1px solid #ece6db}
.rtx-panel ul.plain li:first-child{border-top:0}
.rtx-panel .row{display:flex;gap:10px;align-items:center;cursor:pointer}
.rtx-panel .row img,.rtx-panel .row .ph{width:54px;height:54px;border-radius:10px;object-fit:cover;flex:0 0 auto;background:#e7e1d3 center/cover}
.rtx-panel .row b{display:block;font-size:14px}.rtx-panel .row small{color:#6b6257;display:block}
.rtx-panel table.cmp{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0}
.rtx-panel table.cmp th,.rtx-panel table.cmp td{padding:6px 5px;border-top:1px solid #e5dfd6;vertical-align:top;text-align:left}
.rtx-panel table.cmp th{background:#13241a;color:#fff;border:0}
.rtx-panel table.cmp td:first-child{color:#6b6257;font-weight:600;width:28%}
.rtx-panel label{display:block;font-size:12.5px;font-weight:600;margin:8px 0 3px}
.rtx-panel input,.rtx-panel select{width:100%;font:inherit;font-size:15px;padding:9px 10px;border:1px solid #cfc7bb;border-radius:8px;background:#fff}
.rtx-panel .two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rtx-panel .legend{list-style:none;padding:0;margin:6px 0}
.rtx-panel .legend li{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px}
.rtx-panel .legend i{width:18px;height:12px;border-radius:3px;flex:0 0 auto}
.rtx-panel .layer{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid #ece6db;font-weight:400}
.rtx-panel .layer input{width:18px;height:18px;accent-color:#1f6b3a}
.rtx-panel .status{display:inline-block;font-size:11px;font-weight:700;border-radius:4px;padding:2px 6px;background:#e8f0e9;color:#14291b;margin-left:4px}
.rtx-panel .status.cr{background:#fde2e2;color:#8a1f1f}.rtx-panel .status.en{background:#ffe3c9;color:#8a3b12}.rtx-panel .status.vu{background:#fff3d6;color:#6b4a00}.rtx-panel .status.nt{background:#eef3d9;color:#4a5a12}
.rtm-wrap.rtx-on #rtm-sheet{left:auto;right:12px;top:58px;width:380px}
.rtm-wrap.rtx-on .rtm-top{max-width:calc(100% - 420px)}
.rtm-wrap.rtx-on .rtm-top input{width:300px}
#rtm-qlist li button small{display:block;color:#6b6257;font-weight:400;font-size:12px}
.rtx-share{font-size:12.5px;color:#6b6257;margin:6px 0 0}
.rtx-share button{background:none;border:0;color:#8a6a1e;font-weight:700;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}
.rtx-toast{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:5;background:#13241a;color:#fff;padding:8px 14px;border-radius:99px;font-size:13px;opacity:0;transition:opacity .3s;pointer-events:none}
.rtx-toast.on{opacity:1}
.rtm-m.rtm-hotelall i.ic{width:22px;height:22px;background:#fff;color:#8a6a1e}
.rtx-zone-none{opacity:.7}
@media(max-width:999px){
  .rtm-wrap{height:78vh;max-height:none}
  .rtx-nav{left:0;right:0;top:auto;bottom:0;flex-direction:row;justify-content:space-around;border-radius:0;border-width:1px 0 0;padding:4px 2px calc(4px + env(safe-area-inset-bottom))}
  .rtx-nav button{width:auto;flex:1;padding:6px 2px;font-size:10px}
  .rtx-panel{left:0;right:0;top:auto;bottom:58px;width:auto;max-width:none;max-height:60%;border-radius:16px 16px 0 0}
  .rtx-panel img.rtx-pic{height:130px}
  .rtm-wrap.rtx-on #rtm-sheet{left:0;right:0;top:auto;bottom:58px;width:auto}
  .rtm-wrap.rtx-on .rtm-top{max-width:calc(100% - 64px)}
  .rtm-wrap.rtx-on .rtm-top input{width:220px;max-width:58vw}
  .rtx-panel .btns .btn{flex:1 1 auto;text-align:center}
}
/* on phones the site's fixed Book/WhatsApp/Call bar would sit over the Explorer's bottom nav: hide it while the map is live
   (the panels carry their own Book / WhatsApp buttons and the WhatsApp float stays) */
@media(max-width:999px){html.rtx-mobile .mobar{display:none}html.rtx-mobile body{padding-bottom:0}}
/* ---- v2: three modes, sub-tabs, tour bar, challenges ---- */
.rtx-nav .rtx-hidebtn{margin-top:4px;border-top:1px solid rgba(201,162,74,.3);border-radius:0 0 9px 9px;display:flex;flex-direction:column;align-items:center;gap:2px}
.rtx-sub{position:absolute;left:84px;top:60px;z-index:3;display:flex;flex-wrap:wrap;gap:4px;max-width:calc(100% - 500px)}
.rtx-sub[hidden]{display:none}
.rtx-sub button{background:rgba(15,26,19,.86);color:#e9e3d3;border:1px solid rgba(201,162,74,.45);border-radius:99px;padding:6px 11px;font:600 12px 'Source Sans 3',system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(6px)}
.rtx-sub button.on{background:#c9a24a;color:#13241a;border-color:#c9a24a}
.rtm-wrap.rtx-hidden .rtx-panel,.rtm-wrap.rtx-hidden .rtx-sub,.rtm-wrap.rtx-hidden #rtm-sheet,.rtm-wrap.rtx-hidden .rtm-top{display:none!important}
.rtx-tourbar{position:absolute;z-index:4;left:14px;right:14px;bottom:14px;max-width:760px;margin:0 auto;background:rgba(15,26,19,.92);color:#f4efe2;border:1px solid rgba(201,162,74,.55);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.5);backdrop-filter:blur(8px);overflow:hidden}
.rtx-tourbar[hidden]{display:none}
.rtx-tourbar .tb-prog{display:flex;gap:4px;padding:8px 10px 0}.rtx-tourbar .tb-prog i{flex:1;height:4px;border-radius:4px;background:rgba(255,255,255,.18)}.rtx-tourbar .tb-prog i.done{background:#c9a24a}.rtx-tourbar .tb-prog i.now{background:#ffd970}
.rtx-tourbar .tb-card{display:flex;gap:12px;padding:10px 12px 4px}.rtx-tourbar .tb-card img{width:112px;height:112px;object-fit:cover;border-radius:10px;flex:0 0 auto}
.rtx-tourbar h3{font:700 18px/1.2 Georgia,serif;margin:2px 0 6px;color:#fff}.rtx-tourbar p{margin:0 0 6px;font-size:14px;line-height:1.5}.rtx-tourbar .rtx-k{color:#c9a24a;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin:0}
.rtx-tourbar .tb-ctl{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px 10px}.rtx-tourbar .tb-ctl button{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:8px;padding:8px 11px;font:600 13px 'Source Sans 3',sans-serif;cursor:pointer}.rtx-tourbar .tb-ctl button.ghost{background:transparent;border:1px solid rgba(255,255,255,.25)}.rtx-tourbar .tb-ctl button:disabled{opacity:.4}
.rtm-m.rtx-hi i.ph{box-shadow:0 0 0 5px #ffd970,0 0 18px #ffd970}
.rtx-panel .row.ach .ph{display:grid;place-items:center;font-size:24px;background:#efe9df}.rtx-panel .row.ach.got .ph{background:#fff3d6}
.rtx-panel ol.plain{list-style:none;padding:0;margin:0}.rtx-panel ol.plain li{padding:8px 0;border-top:1px solid #ece6db}
.rtx-panel .tscroll{overflow:auto}
@media(max-width:999px){
  .rtx-sub{left:0;right:0;top:56px;max-width:none;padding:0 8px;overflow-x:auto;flex-wrap:nowrap}
  .rtx-nav .rtx-hidebtn{margin:0;border:0;border-radius:9px}
  .rtx-tourbar{left:0;right:0;bottom:58px;border-radius:14px 14px 0 0;max-width:none}
  .rtx-tourbar .tb-card img{width:84px;height:84px}
}
/* the Explorer chrome only once the map itself is live (not over the loading poster) */
.rtm-wrap:not(.rtm-live) .rtx-nav,.rtm-wrap:not(.rtm-live) .rtx-sub,.rtm-wrap:not(.rtm-live) .rtx-panel{display:none!important}
/* ---- v13: off-map zone dock, floating view controls, swipe grip, dated-archive badges, habitat pins ---- */
.rtx-dock{position:absolute;z-index:3;left:84px;bottom:14px;display:flex;align-items:center;gap:6px;background:rgba(15,26,19,.86);backdrop-filter:blur(6px);border:1px solid rgba(201,162,74,.45);border-radius:99px;padding:5px 8px 5px 12px;color:#e9e3d3;font:600 11.5px 'Source Sans 3',system-ui,sans-serif}
.rtx-dock small{color:#c9a24a;font-size:10.5px;letter-spacing:.03em;text-transform:uppercase;margin-right:2px}
.rtx-dock button{border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;border-radius:99px;padding:5px 10px;font:600 12px 'Source Sans 3',sans-serif;cursor:pointer}
.rtx-dock button:hover{background:rgba(201,162,74,.22)}
.rtx-ctl{position:absolute;z-index:3;right:10px;top:150px;display:flex;flex-direction:column;gap:4px}
.rtx-ctl button{width:29px;height:29px;border:0;border-radius:6px;background:#fff;color:#13241a;font:700 12px/1 'Source Sans 3',sans-serif;box-shadow:0 0 0 2px rgba(0,0,0,.1);cursor:pointer}
.rtx-ctl button:first-child{font-size:17px}
.rtx-ctl button:hover{background:#f3eedf}
.rtm-wrap.rtx-hidden .rtx-dock,.rtm-wrap.rtx-hidden .rtx-ctl{display:none!important}
.rtm-m.rtx-sg{display:flex;align-items:center;gap:6px;background:#fff;color:#13241a;border:2px solid #b23b3b;border-radius:99px;padding:2px 9px 2px 3px;font:600 11px/1.2 'Source Sans 3',sans-serif;white-space:nowrap;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.3)}
.rtm-m.rtx-sg b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#b23b3b;color:#fff;font-size:11px}
#rtmap.rtx-hab .rtm-m.rtm-sight[data-hab] i.ph,#rtmap.rtx-hab .rtm-m.rtm-sight[data-hab] i.ic{box-shadow:0 0 0 3px var(--hab,#999),0 0 0 5px rgba(255,255,255,.85)}
#rtmap.rtx-hab .rtm-m.rtm-sight[data-hab] span{border-left:4px solid var(--hab,#999);padding-left:5px}
.rtx-panel .chip small{font-weight:400;color:#6b6257}
.rtx-panel{touch-action:pan-y;transition:transform .12s ease-out}
@media(max-width:999px){
  .rtx-dock{left:8px;right:auto;bottom:66px;padding:4px 6px 4px 10px;max-width:calc(100% - 16px);overflow-x:auto}
  .rtx-dock small{display:none}
  .rtx-ctl{top:auto;bottom:66px;right:8px;flex-direction:row}
  .rtx-panel::before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:#cfc7bb;margin:8px auto 0}
  .rtm-wrap.rtx-on .rtx-dock{bottom:66px}
}
.rtx-list li{clear:both;overflow:hidden}
.rtx-list .rtx-thumb{float:right;width:96px;height:64px;object-fit:cover;border-radius:8px;margin:2px 0 6px 12px}
.rtm-wrap.rtx-on .rtm-top{z-index:5}
/* v17 layout: nothing overlaps. Desktop: dock under the sub-tabs, view controls under MapLibre's column. Phones: sub-tabs stop short of
   MapLibre's controls, dock + view controls sit on one row under the sub-tabs, and dock/controls/jungle HUD hide while a panel or the tour is open. */
.rtx-dock{left:84px;top:100px;bottom:auto;right:auto}
@media(max-width:999px){
  .rtm-wrap.rtx-open .rtx-dock,.rtm-wrap.rtx-open .rtx-ctl{display:none!important}
  .rtx-sub{right:52px}
  .rtx-dock{left:8px;top:150px;bottom:auto;max-width:calc(100% - 96px);overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}
  .rtx-ctl{top:150px;bottom:auto;right:8px;flex-direction:row}
  .rtm-wrap.rtx-on .rtx-dock{bottom:auto}
  html.rtx-mobile .rtm-wrap.rtx-open #jg-hud{display:none!important}
}
.rtx-sub button{white-space:nowrap}
@media(max-width:999px){
  .rtx-sub{scrollbar-width:none}.rtx-sub::-webkit-scrollbar{display:none}
  html.rtx-mobile .rtm-wrap.rtx-on #jg-hud{bottom:64px;max-width:calc(100% - 12px);left:6px}
  html.rtx-mobile .rtm-wrap.rtx-on #jg-hud small{display:none}
}
/* desktop: while a panel (or the map's own sheet) is open on the right, MapLibre's zoom/compass column and the reset/3D buttons move left of it */
@media(min-width:1000px){
  .rtm-wrap .maplibregl-ctrl-top-right,.rtx-ctl{transition:right .2s}
  .rtm-wrap.rtx-open .maplibregl-ctrl-top-right{right:402px}
  .rtm-wrap.rtx-open .rtx-ctl{right:412px}
}
@media(min-width:1000px){.rtx-sub,.rtx-dock{left:92px}}
/* ---- v22: Luxury expedition HUD + quota-aware booking drawer (rt-booking.js) + simulator extras (rt-sim.js) ----
   tokens: obsidian rgba(14,19,16,.82) · glass blur 16px · border rgba(255,255,255,.12) · tiger amber #E58E26→#F5B041 · emerald #2ECC71 · amber #F39C12 · slate */
.rtb-hud{position:absolute;z-index:3;left:92px;top:100px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:calc(100% - 104px);background:rgba(14,19,16,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:5px 6px;color:#efe9da;font:600 12px/1.2 'Source Sans 3',system-ui,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.rtb-hud .rtb-date{display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.08);border-radius:8px;padding:2px 6px}
.rtb-hud .rtb-date input{background:transparent;border:0;color:#fff;font:600 12.5px 'Source Sans 3',sans-serif;width:128px;color-scheme:dark}
.rtb-seg{display:inline-flex;background:rgba(255,255,255,.08);border-radius:999px;padding:2px}
.rtb-seg button{border:0;background:transparent;color:#d8d1c0;border-radius:999px;padding:6px 10px;font:600 12px 'Source Sans 3',sans-serif;cursor:pointer;white-space:nowrap}
.rtb-seg button.on{background:linear-gradient(135deg,#E58E26,#F5B041);color:#13241a}
.rtb-seg button:focus-visible,.rtb-hud button:focus-visible,.rtx-panel [data-pick]:focus-visible{outline:2px solid #F5B041;outline-offset:2px}
.rtb-status{display:inline-flex;align-items:center;gap:8px;padding:0 4px}
.rtb-next{color:#cfc7b4;font-weight:500}.rtb-next b{color:#F5B041;font-variant-numeric:tabular-nums}
.rtb-st{display:inline-block;border-radius:999px;padding:3px 8px;font:700 11px/1.2 'Source Sans 3',sans-serif;letter-spacing:.02em;background:rgba(255,255,255,.1);color:#e9e3d3;white-space:nowrap}
.rtb-st.green{background:rgba(46,204,113,.2);color:#2ECC71}.rtb-st.amber{background:rgba(243,156,18,.22);color:#F5B041}.rtb-st.slate{background:rgba(120,130,125,.35);color:#cfd3d0}.rtb-st.red{background:rgba(192,57,43,.25);color:#f1a79d}
.rtb-st.pulse{animation:rtbPulse 1.2s ease-in-out infinite}@keyframes rtbPulse{50%{opacity:.45}}
.rtb-go{border:0;border-radius:9px;padding:7px 11px;background:linear-gradient(135deg,#E58E26,#F5B041);color:#13241a;font:700 12.5px 'Source Sans 3',sans-serif;cursor:pointer;white-space:nowrap}
.rtb-fs{border:1px solid rgba(255,255,255,.2);background:transparent;color:#e9e3d3;border-radius:9px;padding:6px 9px;font:600 12px 'Source Sans 3',sans-serif;cursor:pointer;white-space:nowrap}
.rtb-pill{border:0;background:transparent;color:#fff;font:600 12.5px 'Source Sans 3',sans-serif;padding:5px 6px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
.rtm-wrap.rtx-hidden .rtb-hud{display:none!important}
/* fullscreen simulator: native API on the frame; fixed-position fallback */
.rtm-wrap:fullscreen{width:100vw;height:100vh;max-height:none;border-radius:0;border:0;background:#0e1310}
.rtm-wrap.rtb-immersive{position:fixed!important;inset:0;z-index:1000;height:100vh!important;max-height:none;border-radius:0;border:0;width:100vw!important;margin:0!important}
html.rtb-lock,html.rtb-lock body{overflow:hidden}
.rtb-exitfs{position:absolute;z-index:6;right:12px;bottom:14px;border:1px solid rgba(255,255,255,.25);background:rgba(14,19,16,.86);color:#fff;border-radius:999px;padding:9px 14px;font:700 13px 'Source Sans 3',sans-serif;cursor:pointer}
/* the drawer: dark glass inside the Explorer panel */
.rtx-panel.rtb-dark{background:rgba(14,19,16,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#efe9da;border:1px solid rgba(255,255,255,.12)}
.rtx-panel.rtb-dark h3,.rtx-panel.rtb-dark h4{color:#fff}.rtx-panel.rtb-dark .rtx-k{color:#F5B041}.rtx-panel.rtb-dark .fine,.rtx-panel.rtb-dark .rtb-fine{color:#bfb8a6;font-size:12.5px}
.rtx-panel.rtb-dark .rtx-x{background:rgba(255,255,255,.14)}
.rtx-panel.rtb-dark label{color:#e9e3d3}.rtx-panel.rtb-dark input,.rtx-panel.rtb-dark select{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.16);color-scheme:dark}
.rtx-panel.rtb-dark .warn{background:rgba(243,156,18,.16);color:#f6d79a}
.rtx-panel.rtb-dark .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}.rtx-panel.rtb-dark .btn.amber{background:linear-gradient(135deg,#E58E26,#F5B041);color:#13241a}
.rtx-panel.rtb-dark table.cmp th{background:rgba(255,255,255,.1)}.rtx-panel.rtb-dark table.cmp td,.rtx-panel.rtb-dark table.cmp th{border-color:rgba(255,255,255,.1)}
.rtb-tabs{display:flex;gap:4px;margin:10px 0 8px;border-bottom:1px solid rgba(255,255,255,.12)}
.rtb-tabs button{flex:1;background:transparent;border:0;border-bottom:2px solid transparent;color:#bfb8a6;padding:8px 4px;font:700 12.5px 'Source Sans 3',sans-serif;cursor:pointer}
.rtb-tabs button.on{color:#F5B041;border-bottom-color:#F5B041}
.rtb-badge{display:inline-block;background:linear-gradient(135deg,#E58E26,#F5B041);color:#13241a;border-radius:999px;padding:3px 10px;font:700 11.5px 'Source Sans 3',sans-serif;margin:2px 0 6px}
.rtb-note{background:rgba(255,255,255,.07);border-left:3px solid #F39C12;padding:8px 10px;border-radius:6px;font-size:13px;margin:6px 0}
.rtb-avail{display:flex;gap:8px;align-items:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 10px;font-size:12.5px;color:#d8d1c0;margin:8px 0}
.rtb-cards{display:grid;gap:8px;margin:8px 0}
.rtb-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 12px;cursor:pointer;transition:border-color .15s,background .15s}
.rtb-card:hover{background:rgba(255,255,255,.09)}.rtb-card.sel{border-color:#F5B041;box-shadow:inset 0 0 0 1px #F5B041}.rtb-card.closed{opacity:.5;cursor:not-allowed}
.rtb-row{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.rtb-row b{font-size:14px;color:#fff}
.rtb-price{color:#F5B041;font-weight:800;font-size:15px;white-space:nowrap}.rtb-price small{color:#bfb8a6;font-weight:500;font-size:11px}
.rtb-meta{margin:6px 0 4px;font-size:12px;color:#d8d1c0;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.rtb-alt{background:rgba(46,204,113,.08);border:1px solid rgba(46,204,113,.25);border-radius:10px;padding:8px 10px;margin:6px 0;font-size:13px;cursor:pointer}.rtb-alt small{color:#bfb8a6}
.rtb-sum{width:100%;border-collapse:collapse;font-size:13px;margin:4px 0 8px}.rtb-sum td{padding:6px 2px;border-top:1px solid rgba(255,255,255,.1)}.rtb-sum td:last-child{text-align:right;white-space:nowrap}.rtb-sum tfoot td{font-weight:800;color:#F5B041;font-size:15px;border-top:2px solid rgba(255,255,255,.2)}
.rtb-ctas .btn{flex:1 1 auto;text-align:center}
.rtb-trust{font-size:12px;color:#cfc7b4;background:rgba(255,255,255,.06);border-radius:8px;padding:7px 10px;margin:8px 0 4px}
.rtb-link{background:none;border:0;color:#F5B041;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
/* POV ride bar */
.rts-pov{position:absolute;z-index:5;left:14px;right:14px;bottom:14px;max-width:640px;margin:0 auto;background:rgba(14,19,16,.88);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px 12px;color:#efe9da;font:14px/1.45 'Source Sans 3',sans-serif}
.rts-pov[hidden]{display:none}.rts-pov .rtx-k{color:#F5B041;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin:6px 0 2px}.rts-fine{color:#bfb8a6;font-size:12px;margin:0 0 6px}
.rts-prog{height:4px;background:rgba(255,255,255,.15);border-radius:4px;overflow:hidden}.rts-prog i{display:block;height:100%;width:0;background:linear-gradient(135deg,#E58E26,#F5B041)}
.rts-ctl{display:flex;flex-wrap:wrap;gap:6px}.rts-ctl button{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:8px;padding:8px 11px;font:600 13px 'Source Sans 3',sans-serif;cursor:pointer}.rts-ctl button.ghost{background:transparent;border:1px solid rgba(255,255,255,.25)}
.rtm-wrap.rts-on .rtx-nav,.rtm-wrap.rts-on .rtx-sub,.rtm-wrap.rts-on .rtb-hud,.rtm-wrap.rts-on .rtx-dock,.rtm-wrap.rts-on #jg-hud{display:none!important}
.rtm-m.rts-water i.ph,.rtm-m.rts-water i.ic{box-shadow:0 0 0 4px #2fa3c9,0 0 16px #2fa3c9}
@media(prefers-reduced-motion:reduce){.rtb-st.pulse{animation:none}.rtb-card{transition:none}}
@media(min-width:1000px){.rtm-wrap.rtx-open .rtb-hud{max-width:calc(100% - 520px)}}
@media(max-width:999px){
  .rtb-hud{left:8px;right:8px;top:150px;max-width:none;padding:3px 4px;justify-content:space-between;flex-wrap:nowrap}
  .rtb-hud .rtb-pill{flex:1;justify-content:flex-start;overflow:hidden;text-overflow:ellipsis}
  .rtx-dock,.rtx-ctl{top:196px}
  .rtm-wrap.rtx-open .rtb-hud{display:none!important}
  .rtb-exitfs{bottom:70px}.rts-pov{left:0;right:0;bottom:0;border-radius:14px 14px 0 0;max-width:none}
}
@media(min-width:1000px){
  .rtx-dock{left:12px;top:auto;bottom:150px}
  .rtm-wrap.rtx-open .rtb-hud{max-width:calc(100% - 560px)}
  .rtb-hud{max-width:calc(100% - 160px)}
}
/* ---- v25 phone layout: one chrome row per band, nothing stacked ----
   top: search row · sub-tabs · HUD pill + ⟲/3D on ONE row. bottom: compact simulator HUD · nav. No dock on phones (zones 8/9 sit in the
   Explore list); landscape phones drop the simulator HUD. */
@media(max-width:999px){
  .rtx-dock{display:none!important}
  .rtx-ctl{top:150px;right:8px;gap:3px}
  .rtx-ctl button{width:30px;height:30px}
  .rtb-hud{right:76px;top:150px;left:8px;min-height:30px;padding:2px 4px}
  .rtb-hud .rtb-pill{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 4px;text-align:left}
  .rtb-hud .rtb-fs{padding:4px 7px}
  html.rtx-mobile .rtm-wrap.rtx-on #jg-hud{gap:4px;padding:5px 7px}
  html.rtx-mobile .rtm-wrap.rtx-on #jg-hud select,html.rtx-mobile .rtm-wrap.rtx-on #jg-hud .jg-ev,html.rtx-mobile .rtm-wrap.rtx-on #jg-hud .jg-live{display:none!important}
  html.rtx-mobile .rtm-wrap.rtx-on #jg-hud .jg-clock{width:100%;font-size:11.5px;color:#cfc7b4}
  .rtm-wrap.rtx-on .rtm-top{max-width:calc(100% - 60px)}
  .rtm-wrap.rtx-on .rtm-top input{width:200px;max-width:52vw}
  .rtm-wrap.rtx-on .rtm-top #rtm-tour{padding:8px 9px;font-size:12.5px}
}
@media(max-width:999px) and (max-height:540px){
  html.rtx-mobile .rtm-wrap.rtx-on #jg-hud{display:none!important}
  .rtx-panel{max-height:72%}
  .rtx-tourbar .tb-card img{display:none}
}
@media(max-width:380px){
  .rtx-sub button{padding:5px 8px;font-size:11.5px}
  .rtb-hud .rtb-pill{font-size:11.5px}
}
@media(max-width:999px) and (max-height:540px){
  .rtm-wrap{min-height:0!important;height:calc(100svh - 64px)!important}
  .rtx-sub{top:52px}.rtb-hud,.rtx-ctl{top:92px}.rtx-panel{bottom:46px}.rtx-nav button{padding:3px 2px;font-size:9.5px}.rtx-nav{padding-bottom:2px}
}
@media(max-width:999px){.rtm-wrap.rtx-on .rtm-top{gap:5px}.rtm-wrap.rtx-on .rtm-top input{max-width:46vw}.rtm-wrap.rtx-on .rtm-top #rtm-tour{white-space:nowrap}}
/* ---- v28: a professional page body. The simulator readout is hidden and the duplicate checkbox row removed; the long zone / landmark /
   wildlife text becomes compact expandable cards (crawlable: native <details>). ---- */
#jg-hud{display:none!important}
#rtmap-ui{display:none!important}
.rtx-sec{margin:28px 0 8px}.rtx-sec h2{margin:0 0 4px}.rtx-sec>.fine{margin:0 0 12px}
.rtx-grid{display:grid;gap:10px}
@media(min-width:760px){.rtx-grid{grid-template-columns:1fr 1fr}}
.rtx-item{background:#fff;border:1px solid #e6dfd2;border-radius:12px;padding:0;overflow:hidden}
.rtx-item summary{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;list-style:none}
.rtx-item summary::-webkit-details-marker{display:none}
.rtx-item .rtx-thumb{width:56px;height:56px;border-radius:10px;object-fit:cover;flex:0 0 auto;background:#e7e1d3 center/cover;float:none;margin:0;display:grid;place-items:center}
.rtx-item .rtx-zn b{background:#c9a24a;color:#13241a;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font:700 13px 'Source Sans 3',sans-serif;box-shadow:0 0 0 2px #fff}
.rtx-item .rtx-tt{flex:1;min-width:0;font:700 15px/1.25 'Source Sans 3',system-ui,sans-serif;color:#13241a}
.rtx-item .rtx-tt small{display:block;font-weight:400;font-size:12.5px;color:#6b6257;margin-top:2px}
.rtx-item .rtx-chev{width:10px;height:10px;border-right:2px solid #8a6a1e;border-bottom:2px solid #8a6a1e;transform:rotate(45deg);margin:0 6px 4px 0;flex:0 0 auto;transition:transform .15s}
.rtx-item[open] .rtx-chev{transform:rotate(-135deg);margin-bottom:-4px}
.rtx-item .rtx-bd{padding:0 14px 12px 80px;font-size:14.5px;line-height:1.55;color:#2b2722}
.rtx-item .rtx-bd p{margin:0 0 8px}.rtx-item .rtx-links{margin:4px 0 0}.rtx-item .rtx-links a{text-decoration:none;color:#1f6b3a;font-weight:700;margin-right:10px}
@media(max-width:759px){.rtx-item .rtx-bd{padding-left:14px}.rtx-sec{margin-top:22px}}
@media(max-width:760px){section.sec:has(#rtm-wrap){padding-top:14px}}
@media(prefers-reduced-motion:reduce){.rtx-item .rtx-chev{transition:none}}
/* phones: while a panel, the drawer or the tour is open, the sheet and the bottom nav pin to the SCREEN (not to the map frame, which
   may be half scrolled away) so the whole sheet is always reachable */
@media(max-width:999px){
  html.rtx-mobile .rtm-wrap.rtx-open .rtx-panel{position:fixed;left:0;right:0;bottom:58px;top:auto;max-height:72vh;z-index:60;border-radius:16px 16px 0 0}
  html.rtx-mobile .rtm-wrap.rtx-open .rtx-nav{position:fixed;left:0;right:0;bottom:0;z-index:61}
  html.rtx-mobile .rtm-wrap.rtx-open .rtx-tourbar{position:fixed;left:0;right:0;bottom:58px;z-index:60}
  html.rtx-mobile .rtm-wrap.rtx-open #rtm-sheet{position:fixed;left:0;right:0;bottom:58px;top:auto;z-index:60}
}
@media(max-width:999px){html.rtx-mobile .rtm-wrap.rtx-open .rtx-panel.rtb-dark{background:rgba(14,19,16,.97)}html.rtx-mobile .rtm-wrap.rtx-open .rtx-panel{box-shadow:0 -10px 40px rgba(0,0,0,.45)}}
/* monograms instead of emoji */
.mg{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid currentColor;font:700 9.5px/1 'Source Sans 3',system-ui,sans-serif;letter-spacing:.02em;margin-right:5px;vertical-align:middle;opacity:.9}
.rtx-nav button .mg{margin:0 0 1px;width:22px;height:22px;font-size:10px}
.rtb-seg button .mg{width:18px;height:18px;font-size:8.5px;margin-right:4px}.rtb-seg button.on .mg{border-color:#13241a}
.rtb-date .mg{margin-right:2px}.rtb-fs .mg{margin-right:4px}.rtb-pill .mg{margin-right:4px}
.rtx-panel .row .ph.mg-ph{display:grid;place-items:center;font:700 16px 'Source Sans 3',sans-serif;color:#8a6a1e;background:#efe9df}
@media(max-width:999px){.rtx-panel input,.rtx-panel select,.rtm-top input{font-size:16px}}
@media(max-width:999px) and (max-height:540px){.rtx-ctl{right:52px}.rtb-hud{right:124px}}

/* ---- story mode: the story and the tour take the whole screen; everything else steps aside ---- */
html.rt-tell,html.rt-tell body{overflow:hidden}
.rtm-wrap.rtm-telling{position:fixed!important;left:0!important;right:0!important;top:0!important;bottom:0!important;width:100%!important;height:100vh!important;height:100dvh!important;max-height:none!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;z-index:2147480000;background:#0e1310}
.rtm-telling .rtm-top,.rtm-telling .rtx-nav,.rtm-telling .rtx-sub,.rtm-telling .rtx-dock,.rtm-telling .rtx-ctl,.rtm-telling .rtx-panel,.rtm-telling .rtb-hud,.rtm-telling #rtm-sheet,.rtm-telling #jg-hud,.rtm-telling .maplibregl-ctrl-top-right,.rtm-telling .maplibregl-ctrl-top-left{display:none!important}
.rtm-telling .maplibregl-ctrl-bottom-right{top:58px;bottom:auto}
.rtm-telling .rtm-fx:before{content:"";position:absolute;left:0;right:0;top:0;height:92px;background:linear-gradient(rgba(6,9,6,.62),rgba(6,9,6,0));animation:rsBarIn 1s ease both}
.rtm-telling .rtm-fx .vig{background:radial-gradient(ellipse at 50% 42%,rgba(0,0,0,0) 48%,rgba(8,12,7,.56) 100%)}
@keyframes rsBarIn{from{transform:translateY(-100%)}to{transform:none}}
.rtm-fx .mote{display:none;width:3px;height:3px;border-radius:50%;background:rgba(255,236,190,.75);box-shadow:0 0 6px rgba(255,226,160,.7);animation:rsMote 14s linear infinite}
.rtm-telling .rtm-fx .mote{display:block}
@keyframes rsMote{0%{transform:translate(0,0);opacity:0}15%{opacity:.8}85%{opacity:.5}100%{transform:translate(70px,-190px);opacity:0}}
#rs-exit{display:none;position:absolute;z-index:6;right:calc(12px + env(safe-area-inset-right));top:calc(12px + env(safe-area-inset-top));height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.34);border-radius:99px;background:rgba(10,15,11,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font:600 13.5px 'Source Sans 3',system-ui,sans-serif;cursor:pointer}
#rs-exit span{font-size:18px;line-height:1;margin-left:3px;vertical-align:-1px}
.rtm-telling #rs-exit{display:block}
#rs-lower{position:absolute;z-index:5;left:calc(16px + env(safe-area-inset-left));top:calc(14px + env(safe-area-inset-top));max-width:calc(100% - 120px);pointer-events:none;color:#fff;opacity:0;text-shadow:0 2px 14px rgba(0,0,0,.75)}
#rs-lower small{display:block;font:700 11px 'Source Sans 3',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#f2cf7f}
#rs-lower b{display:block;font:700 clamp(21px,3.4vw,38px)/1.15 Georgia,serif;margin-top:3px}
#rs-lower.on{animation:rsLower 7s ease both}
@keyframes rsLower{0%{opacity:0;transform:translateX(-26px)}9%{opacity:1;transform:none}82%{opacity:1}100%{opacity:.82}}
#rs-resume{position:absolute;z-index:7;left:50%;top:38%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;height:54px;padding:0 22px 0 16px;border:0;border-radius:99px;background:#c9a24a;color:#13241a;font:800 15px 'Source Sans 3',system-ui,sans-serif;box-shadow:0 10px 34px rgba(0,0,0,.5);cursor:pointer;white-space:nowrap}
#rs-resume[hidden]{display:none}#rs-resume svg{width:26px;height:26px}
.rs-pin{position:relative;width:18px;height:18px;pointer-events:none}
.rs-pin i{position:absolute;inset:0;border-radius:50%;border:2px solid #ffd970;animation:rsPing 2.4s ease-out infinite}
.rs-pin i+i{animation-delay:1.2s}
.rs-pin:after{content:"";position:absolute;left:5px;top:5px;width:8px;height:8px;border-radius:50%;background:#ffd970;box-shadow:0 0 10px #ffd970}
.rs-pin b{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);white-space:nowrap;padding:3px 9px;border-radius:99px;background:rgba(14,19,16,.84);color:#fff;font:600 12px 'Source Sans 3',system-ui,sans-serif}
@keyframes rsPing{0%{transform:scale(.6);opacity:1}100%{transform:scale(3.6);opacity:0}}
/* the card */
.rtm-telling .rtm-story{z-index:6;background:rgba(13,20,15,.93);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 14px 46px rgba(0,0,0,.5);overflow:visible;left:calc(18px + env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));width:470px;max-width:calc(100% - 36px)}
.rtm-telling .rs-prog{gap:4px;padding:10px 14px 0}
.rtm-telling .rs-prog button{height:4px;border-radius:4px}
.rtm-telling .rs-prog button.now{background:linear-gradient(90deg,#ffd970 var(--p,0%),rgba(255,255,255,.22) var(--p,0%))}
.rtm-telling .rs-card{padding:10px 14px 4px;gap:14px}
.rtm-telling .rs-media{overflow:hidden;border-radius:10px;width:112px;height:112px;align-self:flex-start}
.rtm-telling .rs-media .rs-img,.rtm-telling .rs-media .rs-vid{width:100%!important;height:100%!important;border-radius:0;animation:rsBurns 16s ease-out both}
.rtm-telling .rs-media.in{animation:rsCard .7s ease both}
@keyframes rsBurns{from{transform:scale(1)}to{transform:scale(1.16) translate(-2%,-2%)}}
@keyframes rsCard{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.rtm-telling .rs-body{flex:1}
.rtm-telling .rs-t{position:relative;max-height:9.2em!important;line-height:1.5;font-size:14.5px;overflow:auto;scrollbar-width:none}
.rtm-telling .rs-t::-webkit-scrollbar{display:none}
.rtm-telling .rs-t span{color:rgba(244,239,226,.68)}.rtm-telling .rs-t span.on{color:#fff}.rtm-telling .rs-t span.past{color:rgba(244,239,226,.86)}
.rtm-telling .rs-ctl{gap:8px;padding:6px 14px 12px}
.rs-ctl button{display:inline-flex;align-items:center;justify-content:center}
.rs-ctl button svg{width:19px;height:19px}
.rtm-telling .rs-ctl button{height:38px;min-width:42px;border-radius:10px}
.rtm-telling .rs-ctl .rs-play{min-width:58px}
.rtm-telling .rs-t .rtm-btn{display:inline-block}
/* the tour bar in the same mode */
.rtm-telling .rtx-tourbar{position:absolute!important;z-index:6!important;left:calc(18px + env(safe-area-inset-left))!important;right:auto!important;bottom:calc(18px + env(safe-area-inset-bottom))!important;width:520px;max-width:calc(100% - 36px);margin:0;border-radius:14px!important}
@media(max-width:760px){
  .rtm-telling .rtm-story,.rtm-telling .rtx-tourbar{left:0!important;right:0!important;bottom:0!important;width:auto!important;max-width:none!important;border-radius:18px 18px 0 0!important;border-width:1px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .rtm-telling .rs-card{display:block;padding:9px 14px 2px}
  .rtm-telling .rs-media{position:absolute;right:12px;bottom:calc(100% + 10px);width:104px;height:76px;border-radius:10px;border:2px solid rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(0,0,0,.45);transform:rotate(1.5deg)}
  .rtm-telling .rs-h{font-size:18px}
  .rtm-telling .rs-t{font-size:15px;max-height:32vh!important}
  .rtm-telling .rs-ctl{padding:6px 14px 12px}
  .rtm-telling .rtx-tourbar .tb-card img{display:none}
  .rtm-telling .rtx-tourbar p{font-size:15px}
  .rtm-telling .rtx-tourbar .tb-ctl button{padding:10px 12px}
  #rs-lower b{font-size:22px}
  .rtm-telling .rs-pin b{display:none}
}
@media(max-height:520px) and (min-width:560px){
  .rtm-telling .rtm-story,.rtm-telling .rtx-tourbar{left:0!important;right:auto!important;top:0!important;bottom:0!important;width:52%!important;max-width:none!important;border-radius:0 16px 16px 0!important;overflow-y:auto!important;padding-left:env(safe-area-inset-left)}
  .rtm-telling .rs-card{display:flex}
  .rtm-telling .rs-media{position:static;width:74px;height:74px;transform:none;border:0;flex:0 0 auto}
  .rtm-telling .rs-h{font-size:16px}.rtm-telling .rs-t{font-size:13.5px;max-height:none!important;overflow:visible}
  .rtm-telling .rtx-tourbar .tb-card img{display:none}
  #rs-lower{left:auto;right:calc(12px + env(safe-area-inset-right));top:58px;max-width:42%;text-align:right}
  #rs-lower b{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.rtm-telling .rs-media .rs-img,.rtm-telling .rs-media .rs-vid,.rtm-telling .rs-media.in,#rs-lower.on{animation:none;opacity:1}.rs-pin i{animation:none;opacity:.6}}

/* the chapter title is shown large over the map, so the card keeps only the words (the closing screen keeps its heading) */
.rtm-telling .rtm-story:not(.rs-end) .rs-k,.rtm-telling .rtm-story:not(.rs-end) .rs-h{display:none}
.rtm-wrap.rtm-telling #rtmap .maplibregl-marker:not(.rs-pin):not(.rtm-zone){display:none!important}
.rtm-telling .rtm-zone{pointer-events:none;opacity:.5!important;transition:opacity .5s}
.rtm-telling .rtm-zone.rs-zon{opacity:1!important}
.rs-zcs{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.rs-zc{padding:3px 9px;border-radius:99px;background:rgba(201,162,74,.94);color:#13241a;font:700 12px/1.3 'Source Sans 3',system-ui,sans-serif;text-shadow:none;white-space:nowrap}
.rs-pin:after{display:none}
@media(max-width:760px){.rs-zc{font-size:11px;padding:2px 8px}}
/* the first look: the buttons and the note get their own band, so nothing sits on the map's zones and labels */
#rtm-wrap .rtm-poster{flex-direction:column;align-items:stretch;justify-content:flex-end;background:#0f1a13}
#rtm-wrap .rtm-poster picture{position:relative;display:block;flex:1 1 auto;min-height:0;overflow:hidden}
#rtm-wrap .rtm-poster img{object-position:50% 58%}
#rtm-wrap .rtm-gos{flex:0 0 auto;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;padding:12px 12px 6px;background:#0f1a13}
#rtm-wrap .rtm-poster small{position:static;flex:0 0 auto;padding:0 14px 10px;background:#0f1a13;color:#cfc7b3;text-shadow:none;font-size:.76rem;line-height:1.35}
#rtm-wrap .rtm-poster button{padding:13px 20px;font-size:.96rem}
@media(max-width:560px){#rtm-wrap .rtm-gos button{flex:0 0 100%}}

/* animal close-ups in the story */
#rs-stage{position:absolute;inset:0;width:100%;height:100%;z-index:4;opacity:0;pointer-events:none;transform:scale(1.07);transition:opacity .6s ease,transform 1.1s cubic-bezier(.2,.7,.2,1);background:#d8c9a8}
#rs-stage.on{opacity:1;transform:none}
#rs-cap{position:absolute;z-index:5;left:calc(16px + env(safe-area-inset-left));top:calc(92px + env(safe-area-inset-top));display:flex;flex-direction:column;gap:2px;max-width:calc(100% - 32px);padding:7px 12px;border-radius:10px;background:rgba(10,15,11,.68);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;opacity:0;transform:translateY(8px);transition:opacity .5s .2s,transform .5s .2s;pointer-events:none}
#rs-cap[hidden]{display:none}#rs-cap.on{opacity:1;transform:none}
#rs-cap b{font:600 14px 'Source Sans 3',system-ui,sans-serif}#rs-cap small{font:500 11px 'Source Sans 3',system-ui,sans-serif;color:#f2cf7f;letter-spacing:.03em}
@media(max-height:520px) and (min-width:560px){#rs-cap{left:auto;right:calc(12px + env(safe-area-inset-right));top:auto;bottom:12px;max-width:42%;text-align:right}}

/* Play the story: the highlighted way in */
@keyframes rtxPlay{0%,100%{box-shadow:0 6px 20px rgba(0,0,0,.42),0 0 0 0 rgba(255,217,112,.65)}50%{box-shadow:0 6px 20px rgba(0,0,0,.42),0 0 0 11px rgba(255,217,112,0)}}
.rtx-sub button[data-sub="story"]{background:linear-gradient(135deg,#f0cf78,#c9a24a)!important;color:#13241a!important;font-weight:800!important;border-color:#c9a24a!important}
#rtm-wrap #rtm-story-go,#rtm-wrap #rtm-tour{background:linear-gradient(135deg,#f0cf78,#c9a24a)!important;color:#13241a!important;font-weight:800!important;border-color:#c9a24a!important;animation:rtxPlay 2.4s ease-in-out infinite}
.rtx-playbtn{box-shadow:0 0 0 3px rgba(255,217,112,.4);font-size:1.02em}
@media(prefers-reduced-motion:reduce){#rtm-wrap #rtm-story-go,#rtm-wrap #rtm-tour{animation:none}}

/* smoothness: nothing that must be recalculated every frame over the moving 3D map */
.rtm-telling .rtm-story,#rs-exit,#rs-cap{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.rtm-telling .rtm-story{background:rgba(13,20,15,.97)}#rs-exit{background:rgba(10,15,11,.82)}#rs-cap{background:rgba(10,15,11,.84)}
.rtm-telling .rtm-fx .sun{mix-blend-mode:normal;opacity:.3}
#rtmap .rtm-m span{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(12,22,15,.84)}
#rs-stage,#rs-lower,.rtm-telling .rs-media img{will-change:opacity,transform}

/* until the map is live, only the first look shows: no controls floating over the picture */
.rtm-wrap:not(.rtm-live) .rtx-ctl,.rtm-wrap:not(.rtm-live) .rtx-nav,.rtm-wrap:not(.rtm-live) .rtx-sub,.rtm-wrap:not(.rtm-live) .rtb-hud,.rtm-wrap:not(.rtm-live) .rtx-dock,.rtm-wrap:not(.rtm-live) .rtx-panel{display:none!important}

/* ownership mark over the live map, so screen captures carry it */
.rtm-wrap.rtm-live:after{content:"© Ranthambore Tiger · 3D map";position:absolute;right:44px;bottom:6px;z-index:2;pointer-events:none;color:rgba(255,255,255,.62);font:600 10.5px 'Source Sans 3',system-ui,sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.7)}
@media(max-width:999px){.rtm-wrap.rtm-live:after{bottom:66px;right:10px}}
/* in the story the mark sits just above the description card, clear of the titles and zone labels */
.rtm-wrap.rtm-telling.rtm-live:after{display:none}
.rtm-telling .rtm-story:before{content:"© Ranthambore Tiger · 3D map";position:absolute;left:50%;transform:translateX(-50%);bottom:calc(3px + env(safe-area-inset-bottom));pointer-events:none;color:rgba(255,255,255,.5);font:600 9.5px 'Source Sans 3',system-ui,sans-serif;white-space:nowrap}
.rtm-telling .rs-ctl{padding-bottom:18px!important}
@media(max-height:520px) and (min-width:560px){.rtm-telling .rtm-story:before{display:none}.rtm-wrap.rtm-telling.rtm-live:after{display:block;z-index:6;right:12px;left:auto;bottom:6px;top:auto}}

/* ---- smoother, calmer map (Nov 2026) ---- */
.rtm-prog{position:absolute;left:0;top:0;height:3px;width:100%;z-index:7;pointer-events:none;opacity:0;transition:opacity .3s;background:linear-gradient(90deg,transparent,#f0cf78,transparent);background-size:40% 100%;animation:rtmProg 1.1s linear infinite}
.rtm-prog.on{opacity:1}
@keyframes rtmProg{from{background-position:-40% 0}to{background-position:140% 0}}
#rtmap canvas{opacity:0;transition:opacity .9s ease}.rtm-settled #rtmap canvas{opacity:1}
.rtm-wrap:not(.rtm-live) .rtm-prog{display:none}
html.rt-lite .rtm-fx .mote,html.rt-lite .rtm-fx .sun{display:none}
html.rt-lite .rtm-telling .rtm-story,html.rt-lite #rs-exit{transition:none}
#rtx-tools-btn{display:none}
@media(max-width:999px){
  #rtx-tools-btn{display:inline-flex;align-items:center;gap:5px;position:absolute;z-index:3;right:8px;top:150px;height:30px;padding:0 10px 0 6px;border:0;border-radius:8px;background:#fff;color:#13241a;font:700 12px 'Source Sans 3',system-ui,sans-serif;box-shadow:0 0 0 2px rgba(0,0,0,.1);cursor:pointer}
  #rtx-tools-btn .mg{width:18px;height:18px;font-size:9px;margin:0}
  #rtx-tools-btn[aria-pressed=true]{background:#13241a;color:#fff}
  .rtm-wrap.rtx-on:not(.rtx-tools) .maplibregl-ctrl-top-right,.rtm-wrap.rtx-on:not(.rtx-tools) .rtx-ctl{display:none!important}
  .rtm-wrap.rtx-on .rtb-hud{right:84px}
  .rtm-wrap.rtx-on:not(.rtx-tools) .rtx-sub{right:8px}
  .rtm-wrap.rtx-tools .rtx-ctl{top:196px;right:8px}
  .rtm-wrap.rtx-open #rtx-tools-btn,.rtm-wrap.rtx-hidden #rtx-tools-btn,.rtm-telling #rtx-tools-btn{display:none!important}
}
.jg-snd svg{vertical-align:-3px}
#rtm-wrap #rtm-story-go::before,#rtm-wrap #rtm-tour::before{content:"";display:inline-block;margin-right:.45em;border-left:.6em solid currentColor;border-top:.38em solid transparent;border-bottom:.38em solid transparent}
/* Show wildlife: bottom-left of the map, with its notice always beside it while the animals are on */
#rtx-wild{position:absolute;z-index:4;left:14px;bottom:14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:calc(100% - 28px);pointer-events:none}
#rtx-wild-btn{pointer-events:auto;padding:9px 14px;border-radius:9px;border:1px solid #c9a24a;background:rgba(19,36,26,.92);color:#f4e3b2;font:800 13.5px 'Source Sans 3',system-ui,sans-serif;cursor:pointer;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.35)}
#rtx-wild-btn:hover{background:#1c3626}
#rtx-wild-btn[aria-pressed=true]{background:#c9a24a;color:#13241a}
#rtx-wild-note{padding:6px 10px;border-radius:8px;background:rgba(15,26,19,.88);color:#f1ead8;font:600 12px 'Source Sans 3',system-ui,sans-serif}
#rtx-wild-note[hidden]{display:none}
.rtm-telling #rtx-wild,.rtm-wrap.rts-on #rtx-wild,.rtm-wrap.rtx-hidden #rtx-wild{display:none}
html.rtx-mobile .rtm-wrap.rtx-open #rtx-wild{display:none}
html.rtx-mobile #rtx-wild{left:8px;bottom:68px;max-width:calc(100% - 16px)}
html.rtx-mobile #rtx-wild-btn{padding:8px 12px;font-size:13px}
html.rtx-mobile #rtx-wild-note{font-size:11.5px;padding:5px 8px}


/* Rectangle buttons (Nov 8 2026) */
.rtx-panel .chip,.rtx-sub button,.rtx-dock,.rtx-dock button,.rtb-seg,.rtb-seg button,.rtb-exitfs,#rtx-wild-btn,.rtx-btn{border-radius:4px!important}
