.tour { position: absolute; inset: 0; z-index: 0; overflow: hidden; border-radius: inherit; background: #030A24; }
.tour-gl { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.tour::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(3, 10, 36, .74) 0, rgba(3, 10, 36, .40) 32%, transparent 60%), linear-gradient(0deg, rgba(3, 10, 36, .50), transparent 26%); }
html.u-light .tour::after { background: linear-gradient(90deg, rgba(246, 249, 255, .82) 0, rgba(246, 249, 255, .42) 32%, transparent 60%), linear-gradient(0deg, rgba(246, 249, 255, .5), transparent 26%); }
.tour.is-flat { display: none; }
.tour-hit { position: absolute; left: 0; top: 0; display: block; border-radius: 22px; will-change: transform; pointer-events: auto; text-decoration: none; visibility: hidden; transition: background .25s, box-shadow .25s; }
.tour-hit:hover, .tour-hit:focus-visible { background: color-mix(in srgb, var(--ac) 9%, transparent); box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--ac) 70%, transparent), 0 0 46px color-mix(in srgb, var(--ac) 30%, transparent); outline: none; }
.tour-tag { position: absolute; left: 50%; top: calc(-6px - var(--lift, 0px)); width: max-content; transform: translate(calc(-50% + var(--tdx, 0px)), -100%) scale(var(--ts, 1)); transform-origin: 50% 100%; display: inline-flex; align-items: center; gap: .42rem; white-space: nowrap; font: 650 .8125rem var(--font-sans); letter-spacing: .02em; color: var(--ac); padding: .42rem .9rem; border-radius: 999px; background: rgba(5, 11, 31, .58); border: 1px solid color-mix(in srgb, var(--ac) 58%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 0 24px color-mix(in srgb, var(--ac) 26%, transparent); opacity: var(--fa, 1); pointer-events: none; transition: opacity .3s; }
.tour-tag .rp-ico { margin: 0; }
.tour-hit.mini:not(:hover):not(:focus-visible) .tour-tag { padding: .42rem .55rem; gap: 0; }
.tour-hit.mini:not(:hover):not(:focus-visible) .tour-tag .tt { display: none; }
.tour-hit:hover, .tour-hit:focus-visible { z-index: 3000 !important; }
.tour-tag::after { content: ""; position: absolute; top: 100%; left: calc(50% - var(--tdx, 0px) / var(--ts, 1)); width: 1.5px; margin-left: -.75px; height: calc(var(--lift, 0px) / var(--ts, 1) + 6px); background: linear-gradient(var(--ac), transparent); opacity: var(--ldo, .75); pointer-events: none; }
.tour-hit:hover .tour-tag, .tour-hit:focus-visible .tour-tag { opacity: 1; background: rgba(5, 11, 31, .82); }
html.u-light .tour-tag { background: rgba(255, 255, 255, .84); color: var(--aci); border-color: color-mix(in srgb, var(--aci) 40%, transparent); box-shadow: 0 6px 22px rgba(40, 70, 160, .16); }
.tour-hit.no-tag .tour-tag { opacity: 0; }
.tour-hit.no-tag:hover .tour-tag, .tour-hit.no-tag:focus-visible .tour-tag { opacity: 1; }
@media (hover: hover) and (pointer: fine) { .tour-tag { opacity: 0; } .tour-hit:hover .tour-tag, .tour-hit:focus-visible .tour-tag { opacity: 1; } }
@media (hover: none) { .tour-hit:not(.is-near) .tour-tag { opacity: 0; } }
.tour.at-c { cursor: pointer; }
.tour-pulse { position: absolute; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; pointer-events: none; border: 2px solid rgba(150, 215, 255, .9); box-shadow: 0 0 22px rgba(90, 170, 255, .6); animation: tour-onda .9s cubic-bezier(.2, .7, .2, 1) forwards; }
html.u-light .tour-pulse { border-color: rgba(40, 80, 200, .75); box-shadow: 0 0 18px rgba(60, 100, 230, .35); }
@keyframes tour-onda { from { transform: scale(1); opacity: .95; } to { transform: scale(15); opacity: 0; } }
.tour-fast { position: absolute; left: -9999px; top: auto; bottom: 1rem; z-index: 5; font: 650 .8125rem var(--font-sans); color: #EAF3FF; padding: .55rem 1rem; border-radius: 999px; border: 1px solid rgba(150, 200, 255, .6); background: rgba(5, 11, 31, .82); cursor: pointer; }
.tour-fast:focus-visible { left: 1rem; }
.tour.is-fast .tour-fast { border-color: rgba(120, 220, 255, .95); }
.rp-film__m { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 46%; background: #030A24; }
@media (prefers-reduced-motion: no-preference) { .rp-film__m { transform-origin: 50% 46%; animation: rp-film-deriva 40s ease-in-out infinite alternate; } }
@keyframes rp-film-deriva { to { transform: scale(1.04); } }
.tour-tilt { position: absolute; right: 12px; bottom: calc(6.2rem + env(safe-area-inset-bottom, 0px)); z-index: 5; pointer-events: auto; display: inline-flex; align-items: center; gap: .5rem; font: 650 .78rem var(--font-sans); letter-spacing: .02em; color: #DCEBFF; padding: .5rem .95rem; min-height: 2.5rem; border-radius: 999px; border: 1px solid rgba(150, 200, 255, .45); background: rgba(5, 11, 31, .62); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.tour-tilt::before { content: ""; width: .62rem; height: 1rem; border: 1.5px solid currentColor; border-radius: .2rem; animation: tour-tilt 2.6s ease-in-out infinite; }
.tour-tilt.is-on { border-color: rgba(120, 220, 255, .95); color: #FFFFFF; box-shadow: 0 0 18px rgba(90, 170, 255, .45); }
.tour-tilt.is-on::before { animation: none; }
html.u-light .tour-tilt { color: #12306E; background: rgba(255, 255, 255, .86); border-color: rgba(40, 80, 200, .35); }
@keyframes tour-tilt { 0%, 100% { transform: rotate(-16deg); } 50% { transform: rotate(16deg); } }
@media (prefers-reduced-motion: reduce) { .tour-pulse { animation-duration: .01s; } .tour-tilt::before { animation: none; } }
