@keyframes emShimmer{0%{background-position:200% 50%}100%{background-position:-200% 50%}}
@keyframes emPulse{0%,100%{opacity:1}50%{opacity:.4}}
.hv0:hover{border-bottom:2px solid #ffb000 !important;color:#0a387c !important}
.hv1:hover{transform:translateY(-2px) scale(1.03) !important;box-shadow:0 14px 28px -10px rgba(255,176,0,.8) !important}
.navdrop{position:relative;display:inline-flex}
.navdrop>.navmenu{position:absolute;top:100%;left:-14px;padding-top:12px;display:none;z-index:50}
.navdrop:hover>.navmenu{display:block}
.navmenu>div{background:#fff;border:1px solid rgba(44,90,160,.14);border-radius:18px;box-shadow:0 28px 56px -22px rgba(10,56,124,.45);padding:14px;display:grid;grid-template-columns:repeat(2,minmax(232px,1fr));gap:2px}
.navmenu a{display:flex;align-items:flex-start;gap:11px;padding:11px 12px;border-radius:12px;text-decoration:none;transition:background .2s ease,transform .2s ease}
.navmenu a:hover{background:#f2f7fd;transform:translateX(2px)}
.navmenu .mi{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#eef4fc,#e3ecfa);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.navmenu b{display:block;font-size:13.5px;font-weight:800;color:#12233f;line-height:1.3}
.navmenu small{display:block;font-size:11.5px;color:#7c8899;margin-top:2px;line-height:1.4}



/* ---- mobile header ---- */
.emburger{display:none;background:none;border:1px solid rgba(44,90,160,.25);border-radius:8px;font-size:20px;color:#0a387c;padding:6px 11px;cursor:pointer;flex-shrink:0}
.emnav-cta{display:none}
@media (max-width:940px){
  .emburger{display:block}
  .emcta{display:none !important}
  .emtopbar-note{display:none}
  .emnav{display:none !important;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column !important;align-items:stretch !important;gap:0 !important;padding:8px 20px 18px;border-bottom:1px solid rgba(44,90,160,.14);box-shadow:0 22px 34px -20px rgba(10,56,124,.4)}
  .emnav.open{display:flex !important}
  .emnav>a,.emnav>.navdrop{padding:11px 0;width:100%;border-bottom:1px solid rgba(44,90,160,.08)}
  .emnav .navdrop{display:block}
  /* sections start collapsed; nav.js toggles .open on the .navdrop */
  .emnav .navdrop>.navmenu{position:static;display:none;padding:6px 0 0 14px}
  .emnav .navdrop.open>.navmenu{display:block}
  .emnav .navdrop>a,.emnav .navdrop>span{display:flex !important;width:100%;justify-content:space-between;align-items:center;cursor:pointer}
  .emnav .cx{transition:transform .25s ease}
  .emnav .navdrop.open .cx{transform:rotate(180deg)}
  /* the menu can get tall with three dropdowns open - let it scroll */
  /* column flex + wrap would spill items into a second column - never wrap here */
  .emnav{max-height:calc(100vh - 130px);overflow-y:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap !important}
  .emnav .navmenu>div{border:0;box-shadow:none;padding:0;background:transparent;min-width:0;gap:0;grid-template-columns:1fr !important;border-radius:0}
  .emnav .navmenu small{display:none}
  .emnav .navmenu .mi{width:26px;height:26px;font-size:13px;border-radius:8px}
  .emnav .navmenu a{padding:9px 0;gap:9px}
  .emnav .navmenu a:hover{background:transparent;transform:none}
  .emnav .navmenu a{padding:8px 0}
  .emnav-cta{display:block !important;margin-top:12px;background:#ffb000;color:#12233f !important;font-weight:800;text-align:center;padding:13px 0 !important;border-radius:99px;border-bottom:0 !important}
}
@media (max-width:640px){ .emtop-hide{display:none} }

/* ---- Sign In ---- */
.emsignin{display:inline-flex;align-items:center;height:44px;padding:0 20px;margin-right:10px;border:1.5px solid rgba(44,90,160,.3);border-radius:99px;background:#fff;color:#0a387c !important;font-weight:800;font-size:14px;white-space:nowrap;text-decoration:none;transition:background .25s ease,border-color .25s ease,color .25s ease}
.emsignin:hover{background:#0a387c;border-color:#0a387c;color:#fff !important}
.emnav-signin{display:none}
@media (max-width:940px){
  .emsignin{display:none !important}
  .emnav-signin{display:block !important;margin-top:12px;border:1.5px solid rgba(44,90,160,.3);border-radius:99px;color:#0a387c !important;font-weight:800;text-align:center;padding:12px 0 !important;border-bottom:1.5px solid rgba(44,90,160,.3) !important}
}
/* Modules dropdown: seven items in a two-column grid leave "Parent & Student Portal"
   stranded alone on a fourth row. Span "All Modules" across both columns so the remaining
   six sit evenly, three per column. Scoped by the trigger's href so the Product and
   Solutions menus are untouched; the mobile nav forces one column, where this is a no-op. */
.navdrop:has(> a[href="/school-erp-modules/"]) > .navmenu > div > a:first-child{grid-column:1 / -1;justify-content:center;align-items:center}
/* Header actions: the bar is justify-content:space-between across four children (logo, nav,
   Sign In, Book Free Demo), so the free space is split into three equal gaps - 288px each at
   1920px - leaving Sign In stranded midway instead of grouped with the CTA. Let the nav take
   the slack instead: logo stays left, nav sits beside it, and the two buttons pack together
   at the right. The mobile nav is display:none at <=940px, where this has no effect. */
@media (min-width:941px){
  .emnav{margin-left:auto;margin-right:auto}
  .emsignin{margin-right:14px}
}