/* Shared START dock, used on every page.
   Menu panel anchored bottom-left; the START button sits exactly over the menu's own button.
   Width is set by dock.js so it matches the homepage on every page. */
.dock {
  position: fixed;
  left: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  width: clamp(380px, 32vw, 480px); /* set at runtime by dock.js */
  aspect-ratio: 9771 / 7991;
  max-width: calc(100vw - 32px);
  pointer-events: none;
  z-index: 20;
}
.dock .menu {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: translateY(12px);
  transform-origin: bottom left;
  transition: opacity 220ms ease-out, transform 220ms ease-out;
  transition-delay: 150ms;
  pointer-events: none;
}
.dock .menu > img { display: block; width: 100%; height: 100%; }
/* Invisible link over a menu row; text is for screen readers only. */
.dock .menu-link {
  position: absolute;
  left: 1.8%;
  width: 96.2%;
  border-radius: 1.2% / 3%;
  color: transparent;
  font-size: 0;
  text-decoration: none;
}
.dock .menu-link:hover { background: rgba(28, 18, 74, 0.10); }
.dock .menu-link:focus-visible { outline: 2px solid #1C124A; outline-offset: -2px; }
.dock.is-open .menu,
.dock:hover .menu,
.dock:focus-within .menu {
  opacity: 1;
  transform: none;
  transition-delay: 0ms;
  pointer-events: auto;
}
.dock .start {
  position: absolute;
  left: 0.08%;
  top: 85.1%;
  width: 32.6%;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  line-height: 0;
  pointer-events: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 600ms ease-out, filter 200ms ease-out, visibility 0s linear 600ms;
}
.dock .start img { display: block; width: 100%; height: auto; }
.dock .start.is-visible { opacity: 1; visibility: visible; transition: opacity 600ms ease-out, filter 200ms ease-out; }
.dock .start:hover, .dock .start:focus-visible { filter: brightness(1.12); }
.dock .start:focus-visible { outline: 2px solid var(--sand, #DED2B9); outline-offset: 3px; border-radius: 999px; }
@media (prefers-reduced-motion: reduce) {
  .dock .menu, .dock .start { transition: none; }
}
