/* Small behavior layer; authored layout and typography remain in index.css. */
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 130px; }
[data-menu-toggle] { border: 0; appearance: none; -webkit-appearance: none; }
[data-menu-toggle]:focus-visible, a:focus-visible { outline: 3px solid #923cf6; outline-offset: 4px; }
nav[data-framer-name="Mobile"] { overflow: visible !important; }
.xkey-mobile-menu {
  position: absolute;
  top: calc(100% + 12px);
  right: max(30px, calc((100% - 450px) / 2 + 14px));
  width: 200px;
  padding: 20px;
  border: 1px solid #dde5ed;
  border-radius: 20px;
  background: white;
  box-shadow: 0 12px 30px #33333314;
  display: flex;
  flex-direction: column;
  gap: 16px;
  z-index: 20;
}
.xkey-mobile-menu[hidden] { display: none; }
.xkey-mobile-menu a { color: #333; text-decoration: none; font: 600 17px/1.5 Inter, sans-serif; }
.xkey-mobile-menu a:hover { color: #923cf6; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
