/* V11664 HARD MOBILE HEADER
   Completely isolates the mobile header from legacy header/footer stacking rules. */
.cimHardMobileHeaderV11664{display:none;}

@media (max-width:768px){
  html body:not(.adminBody){
    padding-top:74px!important;
    margin-top:0!important;
    overflow-x:hidden!important;
  }

  /* Legacy mobile header is intentionally removed from the mobile paint stack. */
  html body:not(.adminBody) > .cimMobileHeaderV14{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    max-width:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  /* Desktop header cannot leak into the mobile header area. */
  html body:not(.adminBody) > header.topbar,
  html body:not(.adminBody) > .topbar{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  html body:not(.adminBody) > .cimHardMobileHeaderV11664{
    display:block!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:74px!important;
    min-height:74px!important;
    max-height:74px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    z-index:2147483647!important;
    background:#ffffff!important;
    background-color:#ffffff!important;
    background-image:none!important;
    border:0!important;
    border-bottom:1px solid #dbe8f5!important;
    box-shadow:0 3px 12px rgba(5,31,65,.07)!important;
    overflow:hidden!important;
    isolation:isolate!important;
    contain:layout paint!important;
    transform:translateZ(0)!important;
    -webkit-transform:translateZ(0)!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
    opacity:1!important;
    visibility:visible!important;
  }

  html body:not(.adminBody) > .cimHardMobileHeaderV11664::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    display:block!important;
    background:#ffffff!important;
    opacity:1!important;
    pointer-events:none!important;
  }

  html body:not(.adminBody) .cimHardMobileHeaderInnerV11664{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    height:74px!important;
    margin:0 auto!important;
    padding:0!important;
    box-sizing:border-box!important;
    background:#ffffff!important;
    overflow:hidden!important;
  }

  html body:not(.adminBody) .cimHardMobileLogoV11664{
    position:relative!important;
    z-index:3!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:0 0 205px!important;
    width:205px!important;
    min-width:205px!important;
    max-width:205px!important;
    height:62px!important;
    min-height:62px!important;
    max-height:62px!important;
    margin:0!important;
    padding:2px 5px!important;
    box-sizing:border-box!important;
    background:#ffffff!important;
    color:transparent!important;
    text-decoration:none!important;
    line-height:0!important;
    overflow:hidden!important;
    isolation:isolate!important;
  }

  html body:not(.adminBody) .cimHardMobileLogoV11664::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    background:#ffffff!important;
    pointer-events:none!important;
  }

  html body:not(.adminBody) .cimHardMobileLogoV11664 img{
    position:relative!important;
    z-index:1!important;
    display:block!important;
    width:190px!important;
    min-width:190px!important;
    max-width:190px!important;
    height:60px!important;
    min-height:60px!important;
    max-height:60px!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:left center!important;
    background:#ffffff!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    filter:none!important;
    mix-blend-mode:normal!important;
  }

  html body:not(.adminBody) .cimHardMobileMenuBtnV11664{
    position:relative!important;
    z-index:3!important;
    display:grid!important;
    place-items:center!important;
    flex:0 0 48px!important;
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #d7e5f3!important;
    border-radius:14px!important;
    background:#ffffff!important;
    color:#062f64!important;
    box-shadow:0 3px 10px rgba(5,31,65,.07)!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    outline:0!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  html body:not(.adminBody) .cimHardMobileMenuBtnV11664 .cimHardLineV11664,
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664 .cimHardLineV11664::before,
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664 .cimHardLineV11664::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:50%!important;
    width:24px!important;
    height:3px!important;
    border-radius:99px!important;
    background:#062f64!important;
    transform:translateX(-50%)!important;
  }
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664 .cimHardLineV11664{top:50%!important;transform:translate(-50%,-50%)!important;}
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664 .cimHardLineV11664::before{top:-7px!important;}
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664 .cimHardLineV11664::after{top:7px!important;}

  /* Menu begins below the new isolated header. */
  html body:not(.adminBody) > .cimMobileMenuBackdropV14{top:74px!important;}
  html body:not(.adminBody) > .cimMobileMenuSheetV14,
  html body:not(.adminBody).cimMenuOpenV14 > .cimMobileMenuSheetV14{top:82px!important;}

  /* Footer content/icons are never allowed to escape above the footer. */
  html body:not(.adminBody) footer.cimFooterRestoreV2029,
  html body:not(.adminBody) .cimFooterRestoreV2029{
    position:relative!important;
    z-index:0!important;
    transform:none!important;
    translate:none!important;
  }
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterTopV2029,
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterBrandV2029,
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029,
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterContactV2029 > *,
  html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimFooterIconV2029{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    z-index:auto!important;
    transform:none!important;
    translate:none!important;
  }

  html body:not(.adminBody) .cimHardMobileHeaderV11664,
  html body:not(.adminBody) .cimHardMobileHeaderV11664 *{
    animation:none!important;
    transition:none!important;
  }
}

@media (max-width:420px){
  html body:not(.adminBody) .cimHardMobileHeaderInnerV11664{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
  }
  html body:not(.adminBody) .cimHardMobileLogoV11664{
    flex-basis:190px!important;
    width:190px!important;
    min-width:190px!important;
    max-width:190px!important;
  }
  html body:not(.adminBody) .cimHardMobileLogoV11664 img{
    width:178px!important;
    min-width:178px!important;
    max-width:178px!important;
    height:57px!important;
    min-height:57px!important;
    max-height:57px!important;
  }
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664{
    flex-basis:46px!important;
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
  }
}

@media (min-width:769px){
  .cimHardMobileHeaderV11664{display:none!important;}
}


/* V11677 REFRESH HARD LOCK
   One final mobile-header geometry from first paint to loaded state.
   This replaces the old 11671 -> 11672 -> 11673 -> 11674 -> 11675 cascade. */
@media (max-width:768px){
  html body:not(.adminBody){padding-top:74px!important;margin-top:0!important;}
  html body:not(.adminBody) > .cimMobileHeaderV14{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important;max-width:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;}
  html body:not(.adminBody) > .cimHardMobileHeaderV11664{display:block!important;height:74px!important;min-height:74px!important;max-height:74px!important;transform:none!important;-webkit-transform:none!important;animation:none!important;transition:none!important;}
  html body:not(.adminBody) .cimHardMobileHeaderInnerV11664{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;height:74px!important;min-height:74px!important;max-height:74px!important;gap:12px!important;transform:none!important;animation:none!important;transition:none!important;}
  html body:not(.adminBody) .cimHardMobileLogoV11664{flex:0 0 164px!important;flex-basis:164px!important;width:164px!important;min-width:164px!important;max-width:164px!important;height:62px!important;min-height:62px!important;max-height:62px!important;padding:2px 5px!important;transform:none!important;animation:none!important;transition:none!important;}
  html body:not(.adminBody) .cimHardMobileLogoV11664 img{display:block!important;width:152px!important;min-width:152px!important;max-width:152px!important;height:auto!important;min-height:0!important;max-height:54px!important;object-fit:contain!important;object-position:left center!important;transform:none!important;-webkit-transform:none!important;animation:none!important;transition:none!important;}
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664{flex:0 0 44px!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;border-radius:12px!important;transform:none!important;-webkit-transform:none!important;animation:none!important;transition:none!important;}
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664 .cimHardLineV11664,
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664 .cimHardLineV11664::before,
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664 .cimHardLineV11664::after{width:22px!important;height:2.75px!important;transition:none!important;animation:none!important;}
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664 .cimHardLineV11664::before{top:-7px!important;}
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664 .cimHardLineV11664::after{top:7px!important;}
  html body:not(.adminBody) > .cimMobileMenuBackdropV14{top:74px!important;}
  html body:not(.adminBody) > .cimMobileMenuSheetV14,
  html body:not(.adminBody).cimMenuOpenV14 > .cimMobileMenuSheetV14{top:82px!important;}
}
@media (max-width:420px){
  html body:not(.adminBody){padding-top:72px!important;}
  html body:not(.adminBody) > .cimHardMobileHeaderV11664{height:72px!important;min-height:72px!important;max-height:72px!important;}
  html body:not(.adminBody) .cimHardMobileHeaderInnerV11664{width:calc(100% - 20px)!important;max-width:calc(100% - 20px)!important;height:72px!important;min-height:72px!important;max-height:72px!important;gap:10px!important;}
  html body:not(.adminBody) .cimHardMobileLogoV11664{flex:0 0 158px!important;flex-basis:158px!important;width:158px!important;min-width:158px!important;max-width:158px!important;height:60px!important;min-height:60px!important;max-height:60px!important;padding:1px 4px!important;}
  html body:not(.adminBody) .cimHardMobileLogoV11664 img{width:146px!important;min-width:146px!important;max-width:146px!important;height:auto!important;min-height:0!important;max-height:52px!important;}
  html body:not(.adminBody) .cimHardMobileMenuBtnV11664{flex:0 0 42px!important;flex-basis:42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;border-radius:11px!important;}
  html body:not(.adminBody) > .cimMobileMenuBackdropV14{top:72px!important;}
  html body:not(.adminBody) > .cimMobileMenuSheetV14,
  html body:not(.adminBody).cimMenuOpenV14 > .cimMobileMenuSheetV14{top:80px!important;}
}
