/* Reference menu: rising surface, independent content, opacity-only exit. */
.menu.menu-motion { background: transparent; isolation: isolate; }
.menu-motion-surface {
  position: fixed;
  inset: 0;
  z-index: -1;
  background: var(--ground);
  transform-origin: center bottom;
  pointer-events: none;
}
.menu-motion .menu-links { transform-origin: left center; }
.menu-motion .menu-links a { position: relative; --menu-letter-ink: var(--ink); }
.menu-motion .menu-links a[aria-current] { --menu-letter-ink: var(--accent); }
.menu-motion .menu-links a.menu-letter-split { color: transparent; text-decoration-color: var(--menu-letter-ink); }
.menu-motion.menu-letter-reset .menu-links a { transition: none !important; }
.menu-motion-glyph {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--menu-letter-ink);
  white-space: pre;
  line-height: inherit;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .menu-motion .menu-links a:hover { --menu-letter-ink: var(--hover); }
  .menu-motion-glyph { transition: color .28s ease; }
}
@media (prefers-reduced-motion: reduce) {
  .menu-motion, .menu-motion-surface, .menu-motion .menu-links,
  .menu-motion .menu-foot { opacity: 1 !important; transform: none !important; }
  .menu-motion .menu-links a.menu-letter-split { color: var(--menu-letter-ink); }
  .menu-motion-glyph { display: none; }
}
