.hero-panorama .hero-art { overflow: hidden; }
.hero-depth { position: absolute; inset: 0; visibility: hidden; pointer-events: none; }
.hero-panorama .hero-art .hero-depth-layer { position: absolute; inset: 0; }
.hero-panorama .hero-art .hero-depth-back { object-fit: contain; object-position: center; }
.hero-art.has-depth .hero-depth { visibility: visible; }
.hero-art.has-depth > .hero-banner-image { opacity: 0; }
.hero-depth-back { transform: translate3d(var(--depth-back-x, 0px), var(--depth-back-y, 0px), 0) scale(1.025); }
.hero-depth-front { z-index: 1; transform: translate3d(var(--depth-front-x, 0px), var(--depth-front-y, 0px), 0); }
.is-depth-active .hero-depth-layer { will-change: transform; }

.alia-float {
  position: fixed; z-index: 9;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  display: block; width: 88px; height: 96px; padding: 0;
  border: 0; border-radius: 22px; background: transparent; cursor: pointer;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(12px);
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
.alia-float.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
.alia-float img {
  display: block; width: 88px; height: 88px; object-fit: contain; pointer-events: none;
  filter: drop-shadow(0 5px 5px #081d3f26);
}
.alia-float.is-visible img { animation: alia-gentle-float 5s ease-in-out infinite; }
.alia-float-arrow {
  position: absolute; bottom: 0; right: 4px; width: 24px; height: 24px;
  display: grid; place-items: center; border-radius: 50%;
  background: #76dfb9; color: #081d3f; font: 700 17px/1 Inter, sans-serif;
  box-shadow: 0 2px 8px #081d3f20;
}
.alia-float-label {
  position: absolute; right: calc(100% + 7px); top: 35%;
  padding: 8px 11px; border: 1px solid #dce4e8; border-radius: 12px;
  background: #fff; color: #081d3f; white-space: nowrap;
  font: 500 12px/1.3 Inter, sans-serif;
  opacity: 0; transform: translateX(4px); transition: opacity .15s, transform .15s;
  pointer-events: none;
}
.alia-float:hover .alia-float-label, .alia-float:focus-visible .alia-float-label { opacity: 1; transform: none; }
.alia-float:focus-visible { outline: 3px solid #157757; outline-offset: 4px; }
.alia-float:hover img, .alia-float:focus-visible img, .site-motion-paused .alia-float img { animation-play-state: paused; }
@keyframes alia-gentle-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@media (max-width: 1200px) {
  .hero-panorama .hero-art .hero-depth-back { object-fit: cover; object-position: right center; }
}
@media (max-width: 600px) {
  .alia-float { right: max(10px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); width: 66px; height: 74px; }
  .alia-float img { width: 66px; height: 66px; }
  .alia-float-arrow { width: 22px; height: 22px; font-size: 15px; right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .hero-depth-layer { transform: none !important; will-change: auto !important; }
  .alia-float, .alia-float-label { transition: none; }
  .alia-float img { animation: none !important; }
}
