/* macOS-style dock (dock.js). Framer's own top bar is hidden from first paint. */
nav[data-framer-name="Desktop - Close"], nav[data-framer-name="Desktop - Open"],
nav[data-framer-name^="Mobile"], nav[data-framer-name^="Tablet"] { display: none !important; }

#lh-dock { position: fixed; left: 50%; bottom: 14px; z-index: 2147482000; translate: -50% 140%; transition: translate .6s cubic-bezier(.3, 1.3, .5, 1); pointer-events: none; }
#lh-dock.in { translate: -50% 0; }
.lh-dock-bar { display: flex; align-items: flex-end; gap: 6px; height: 62px; padding: 0 8px 8px; box-sizing: border-box; pointer-events: auto;
  border-radius: 20px; background: rgba(255, 255, 255, .5); -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6), 0 0 0 1px rgba(0, 0, 0, .08), 0 10px 30px rgba(20, 30, 60, .18); }
.lh-dock-it { --s: 46px; position: relative; display: block; width: var(--s); height: var(--s); flex: none; text-decoration: none;
  transition: width .12s ease-out, height .12s ease-out; }
.lh-dock-it svg { display: block; width: 100%; height: 100%; filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .18)); }
.lh-dock-it.here::after { content: ""; position: absolute; left: 50%; bottom: -6px; width: 4px; height: 4px; margin-left: -2px; background: #111; }
.lh-dock-sep { align-self: center; width: 1px; height: 38px; margin: 0 4px 6px; background: rgba(0, 0, 0, .14); }
.lh-dock-tip { position: absolute; left: 50%; bottom: calc(100% + 10px); translate: -50% 4px; padding: 5px 10px; border-radius: 6px; white-space: nowrap;
  font: 500 12px/1 Geist, Manrope, system-ui, sans-serif; color: #fff; background: rgba(28, 28, 32, .86); opacity: 0; pointer-events: none; transition: opacity .12s, translate .12s; }
.lh-dock-tip::after { content: ""; position: absolute; left: 50%; top: 100%; margin-left: -5px; border: 5px solid transparent; border-top-color: rgba(28, 28, 32, .86); }
.lh-dock-it:hover .lh-dock-tip, .lh-dock-it:focus-visible .lh-dock-tip { opacity: 1; translate: -50% 0; }
.lh-dock-it:focus-visible { outline: 2px solid #224bf0; outline-offset: 3px; border-radius: 12px; }
.lh-dock-it.hop { animation: lh-hop .5s steps(6); }
@keyframes lh-hop { 0%, 100% { translate: 0 0; } 40% { translate: 0 -14px; } 70% { translate: 0 -4px; } }

@media (max-width: 809.98px) {
  #lh-dock { bottom: 10px; }
  .lh-dock-bar { height: 54px; gap: 5px; padding: 0 7px 7px; border-radius: 17px; }
  .lh-dock-it { --s: 40px !important; }
  .lh-dock-sep { height: 32px; margin: 0 2px 4px; }
  .lh-dock-tip { display: none; }
}
@media (prefers-reduced-motion: reduce) { #lh-dock, .lh-dock-it { transition: none; } .lh-dock-it.hop { animation: none; } }
