@charset "utf-8";

html.anim-ready .animate { opacity: 1 !important; transform: none !important; }

.booking-ping { position: fixed; bottom: 80px; left: 50%; transform: translateX(-50%); background: rgba(20, 20, 20, 0.97); border: 1px solid rgba(190, 168, 125, 0.4); padding: 14px 28px; font-family: "DM Mono", monospace; font-size: 10px; letter-spacing: 3px; color: rgb(190, 168, 125); text-transform: uppercase; backdrop-filter: blur(8px); z-index: 2500; animation: 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0s 1 normal none running fadeUp; }@charset "utf-8";

#gem-loader { position: fixed; inset: 0px; z-index: 2147483647; background: rgb(10, 10, 10); display: flex; align-items: center; justify-content: center; transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1); }

#gem-loader img { width: 62px; height: 62px; object-fit: contain; display: block; animation: 1.6s ease-in-out 0s infinite normal none running gemLoaderPulse; }

@keyframes gemLoaderPulse { 
  0%, 100% { opacity: 0.5; transform: scale(0.94); }
  50% { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  #gem-loader img { animation: auto ease 0s 1 normal none running none; opacity: 0.85; }
}
/* Failsafe: the loader must NEVER trap the visitor. Even if JavaScript is
   blocked, broken, or mangled by an optimizer plugin, this pure-CSS
   animation fades the splash out and disables it after ~3 seconds.
   gem-home.js still removes it earlier on normal loads. */
#gem-loader { pointer-events: none; animation: gemLoaderAutoDismiss 0.5s ease 3s forwards; }
@keyframes gemLoaderAutoDismiss { to { opacity: 0; visibility: hidden; } }
@media (prefers-reduced-motion: reduce) {
  #gem-loader { animation: gemLoaderAutoDismiss 0.5s ease 1s forwards; }
}
