/* top menu: one dropdown that stays open while you move across the menu — it glides and resizes,
   and only the content inside changes (no closing and re-opening jump) */
.mm.morph{position:relative}
.mm.morph .mm-item>.mm-panel{display:none}
.mm-float{position:absolute;left:0;top:calc(100% + 10px);z-index:60;background:#fff;border:1px solid #e4e7f3;border-radius:18px;
  box-shadow:0 30px 60px -28px rgba(15,18,51,.35);overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s ease,transform .38s cubic-bezier(.22,.8,.22,1),width .38s cubic-bezier(.22,.8,.22,1),height .38s cubic-bezier(.22,.8,.22,1),visibility 0s .22s}
.mm-float::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.mm-float.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .22s ease,transform .38s cubic-bezier(.22,.8,.22,1),width .38s cubic-bezier(.22,.8,.22,1),height .38s cubic-bezier(.22,.8,.22,1),visibility 0s}
.mm-float.snap,.mm-float.snap .mm-clone{transition:none!important}
.mm-float .mm-clone{position:absolute;left:0;top:0;margin:0;border:0;box-shadow:none;background:transparent;visibility:visible;opacity:0;pointer-events:none;
  transform:translateX(24px);transition:opacity .28s ease,transform .38s cubic-bezier(.22,.8,.22,1)}
.mm-float .mm-clone.from-left{transform:translateX(-24px)}
.mm-float .mm-clone.on{opacity:1;transform:none;pointer-events:auto;transition-delay:.06s}
.mm.morph .mm-item.on .mm-top{background:#eef0ff;color:#2a2d9f}
.mm.morph .mm-item.on .mm-top i{transform:translateY(1px) rotate(-135deg)}
.mm.morph .mm-item:not(.on):hover .mm-top{background:transparent;color:#0f1233}
.mm.morph .mm-item:not(.on):hover .mm-top i{transform:translateY(-2px) rotate(45deg)}
@media(prefers-reduced-motion:reduce){.mm-float,.mm-float .mm-clone{transition:opacity .15s!important}}
