[hidden] { display: none !important; }
#cover { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: radial-gradient(ellipse at 50% 30%, #29454e, #101e25 70%); }
button { font: inherit; color: #fff; cursor: pointer; border: 1px solid #ffffff40; border-radius: 8px; background: #14252eee; min-height: 46px; padding: 12px 18px; }
button:hover:not(:disabled) { background: #31525e; }
button:focus-visible, a:focus-visible { outline: 3px solid #6ee7d3; outline-offset: 3px; }
button:disabled { opacity: .4; cursor: default; }
#enterTour, #enterWorkshop, #enterPatio { position: relative; background: #fff; color: #142e32; padding: 10px 18px; font-weight: 700; box-shadow: 0 4px 20px #0007; transform: translate(-50%, -100%); border-radius: 24px; }
#enterTour::after, #enterWorkshop::after, #enterPatio::after { content: ""; position: absolute; left: calc(50% - 6px); bottom: -12px; border: 6px solid transparent; border-top-color: #fff; }
#enterTour:hover, #enterWorkshop:hover, #enterPatio:hover { background: #fff; }
#enterTour span { margin-left: 22px; }
#homeButton { position: absolute; left: 16px; top: 16px; z-index: 10; }
#stepNavigation { position: absolute; bottom: 82px; left: 50%; transform: translateX(-50%); z-index: 10; display: flex; align-items: center; gap: 12px; white-space: nowrap; padding: 8px; border-radius: 12px; background: #102028cc; }
#stepCount { min-width: 55px; text-align: center; font-size: 14px; }
#sceneList, #sceneListToggle, #titleBar, .link-hotspot, .info-hotspot, .info-hotspot-modal { display: none !important; }
.at-home #autorotateToggle { display: none !important; }
@media (max-width: 500px) { #stepNavigation { gap: 6px; width: calc(100% - 20px); justify-content: center; } #stepNavigation button { padding: 12px 10px; font-size: 14px; } #homeButton { top: 8px; left: 8px; } }


/* White floor destinations inspired by the supplied reference video. */
.floor-arrow { position: absolute; width: 80px; height: 60px; min-height: 60px; padding: 0; transform: translate(-50%, -50%); background: transparent; border: 0; border-radius: 50%; touch-action: manipulation; }
.floor-ring { position: absolute; inset: 10px 8px; border: 3px solid rgba(255,255,255,.85); border-radius: 50%; background: rgba(255,255,255,.06); box-shadow: 0 1px 5px #0007, inset 0 1px 3px #0003; transition: transform .18s, background .18s; }
.floor-ring::after { content: ''; position: absolute; inset: 4px; border: 1px solid #ffffff90; border-radius: 50%; }
.floor-arrow:hover:not(:disabled), .floor-arrow:focus-visible { background: transparent; }
.floor-arrow:hover .floor-ring, .floor-arrow:focus-visible .floor-ring { transform: scale(1.16); background: #ffffff35; border-color: white; }
.floor-label { position: absolute; left: 50%; top: -20px; transform: translateX(-50%); background: #14252ed9; color: white; padding: 4px 8px; border-radius: 5px; font-size: 12px; white-space: nowrap; opacity: 0; pointer-events: none; }
.floor-arrow:hover .floor-label, .floor-arrow:focus-visible .floor-label { opacity: 1; }
.navigating .floor-hotspot { opacity: 0; pointer-events: none; }
.navigating #autorotateToggle, .navigating .viewControlButton { pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .floor-ring { transition: none; } }

/* Warehouse entry matched to the supplied video reference. */
:is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) {
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  gap: 8px; width: 144px; min-height: 92px; padding: 0 4px 5px;
  border: 0; border-radius: 0; background: transparent; box-shadow: none;
  color: #fff; transform: translate(-50%, -72px);
  font-family: Arial, sans-serif; touch-action: manipulation;
}
:is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh)::after { content: none; }
:is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) span { margin: 0; }
:is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) .entry-rings { position: relative; display: block; width: 64px; height: 64px; flex: 0 0 64px; }
:is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) .entry-rings span {
  position: absolute; inset: 1px; border: 1.5px solid #fff; border-radius: 50%;
  box-sizing: border-box; box-shadow: 0 0 2px #0005;
  animation: entry-ring-pulse 2.4s linear infinite;
}
:is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) .entry-rings span:nth-child(2) { animation-delay: -1.2s; }
:is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) .entry-label {
  display: block; color: #fff; font-size: 13px; font-weight: 700; line-height: 18px;
  white-space: nowrap; text-shadow: 0 1px 3px #000, 0 0 5px #0009;
}
:is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh):hover, :is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh):hover:not(:disabled), :is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh):active { background: transparent; box-shadow: none; }
:is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh):focus-visible { outline: 2px solid #fff; outline-offset: 5px; border-radius: 4px; }
@keyframes entry-ring-pulse {
  0% { transform: scale(.15); opacity: 0; }
  12% { opacity: .95; }
  80% { opacity: .85; }
  100% { transform: scale(1); opacity: 0; }
}
@media (max-width: 500px) {
  :is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) { width: 132px; }
  :is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) .entry-label { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  :is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) .entry-rings span { animation: none; transform: scale(.85); opacity: .9; }
  :is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) .entry-rings span:nth-child(2) { transform: scale(.3); }
}
#navigationStatus { position: fixed; z-index: 40; top: 20px; left: 50%; transform: translateX(-50%); max-width: calc(100vw - 180px); padding: 10px 16px; border: 1px solid #73dfff66; border-radius: 12px; background: #071d30ed; color: #e5f9ff; font: 14px/1.4 Arial, sans-serif; text-align: center; pointer-events: none; }
@media (max-width: 500px) { #navigationStatus { top: 68px; max-width: calc(100vw - 24px); width: max-content; font-size: 12px; } }

/* Compact navigation with an unobstructed interior view. */
#stepNavigation { bottom: max(22px, env(safe-area-inset-bottom)); gap: 8px; width: auto; padding: 6px; border-radius: 32px; background: rgba(18,24,29,.82); border: 1px solid #ffffff30; box-shadow: 0 3px 12px #0003; }
#stepNavigation button { width: 44px; min-height: 44px; height: 44px; padding: 0; border-radius: 50%; border: 0; background: #ffffff12; font-size: 24px; }
#stepNavigation button:hover:not(:disabled) { background: #ffffff30; }
#stepCount { min-width: 64px; font-size: 13px; font-weight: 500; letter-spacing: .5px; }
.in-bodega .viewControlButton { display: none !important; }
.in-bodega #homeButton { min-height: 40px; padding: 8px 13px; background: #12181dcc; border: 1px solid #ffffff30; border-radius: 22px; font-size: 13px; }
.in-bodega #autorotateToggle, .in-bodega #fullscreenToggle { background-color: #12181d99; }
.in-bodega .floor-arrow { width: 64px; height: 48px; min-height: 48px; }
.in-bodega .floor-ring { inset: 10px 9px; border-width: 2px; background: #ffffff10; box-shadow: 0 1px 4px #0005; }
.in-bodega .floor-ring::after { inset: 3px; border-color: #ffffff80; }
.in-bodega .floor-arrow:hover .floor-ring { transform: scale(1.08); }
@media (max-width: 500px) { #stepNavigation { width: auto; gap: 8px; } #stepNavigation button { padding: 0; font-size: 24px; } }

/* High-contrast red rings for the three aerial destinations. */
:is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) .entry-rings span {
  border-color: #ff3038;
  border-width: 2px;
  box-shadow: 0 0 0 1px rgba(45, 0, 0, .55), 0 0 7px rgba(255, 35, 45, .35);
}

:is(#enterWorkshop, #enterPatio) { width: 184px; }
:is(#enterWorkshop, #enterPatio) .entry-label { font-size: 12px; }
#introOverlay { position: fixed; inset: 0; z-index: 150; background: #071018; opacity: 1; transition: opacity 2.4s cubic-bezier(.4,0,.2,1); }
#introVideo { width: 100%; height: 100%; display: block; object-fit: cover; }
#introOverlay.intro-ending { opacity: 0; pointer-events: none; }
#introSkip { position: absolute; right: max(20px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); border: 1px solid #ffffff60; border-radius: 24px; padding: 10px 18px; background: #0b1425b3; font: 13px Arial,sans-serif; color: #fff; }
#introPlay { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: #0b1425df; border-radius: 24px; }
.intro-active #pano { pointer-events: none; }
.intro-active :is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh, .viewControlButton, #fullscreenToggle, #autorotateToggle) { visibility: hidden; }
@media (prefers-reduced-motion: reduce) { #introOverlay { transition: none; } }

/* Continuous red expanding halo, with the label fixed below the circle. */
:is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) .entry-rings span {
  border: 2px solid #ff3038;
  box-shadow: 0 0 9px #ff303880, inset 0 0 5px #ff303840;
  animation: destination-halo 2.4s linear infinite;
}
:is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) .entry-rings span:nth-child(2) { animation-delay: -1.2s; }
@keyframes destination-halo {
  0% { transform: scale(.15); opacity: 0; }
  12% { opacity: 1; }
  65% { opacity: .95; }
  100% { transform: scale(1); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  :is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) .entry-rings span { animation: none; transform: scale(.85); opacity: .95; }
  :is(#enterTour, #enterWorkshop, #enterPatio, #enterEast, #enterHigh) .entry-rings span:nth-child(2) { transform: scale(.3); }
}

.aerial-extra #stepNavigation { display: none; }
#enterEast, #enterHigh { width: 180px; }

#geovitaBrand{position:fixed;z-index:12;top:94px;right:14px;width:clamp(120px,13vw,180px);padding:8px 10px;background:rgba(255,255,255,.92);border-radius:10px;box-shadow:0 3px 14px rgba(0,0,0,.20);pointer-events:none}#geovitaBrand img{display:block;width:100%;height:auto}@media(max-width:600px){#geovitaBrand{top:80px;right:8px;width:105px;padding:6px 8px}}
