:root{
  --mm-brand-navy:#0D213D;
  --mm-brand-green:#167D52;
  --mm-brand-charcoal:#2B2A29;
  --mm-brand-paper:#FAF6EC;
  --mm-brand-mint:#EEF7F1;
}

.mm-brand-link{
  --mm-logo-height:54px;
  --mm-logo-compact-width:120px;
  --mm-logo-expanded-width:260px;
  --mm-logo-font-scale:.62;
  --mm-logo-square-left:123px;
  --mm-logo-primary:var(--mm-brand-navy);
  --mm-logo-secondary:var(--mm-brand-green);
  --mm-logo-curve:var(--mm-brand-charcoal);
  position:relative;
  z-index:1;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  width:var(--mm-logo-expanded-width);
  height:var(--mm-logo-height);
  overflow:visible;
  color:var(--mm-logo-primary);
  line-height:1;
  text-decoration:none;
}

.site-header .mm-brand-link{
  margin-right:calc(var(--mm-logo-compact-width) - var(--mm-logo-expanded-width));
}

.mm-brand-logo{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  color:inherit;
  font-family:'Fraunces',Georgia,'Times New Roman',serif;
  font-size:calc(var(--mm-logo-height) * var(--mm-logo-font-scale));
  font-weight:700;
  letter-spacing:-.045em;
  line-height:.88;
  white-space:nowrap;
}

.mm-brand-logo::before,
.mm-brand-logo::after{
  content:'';
  position:absolute;
  top:50%;
  width:13px;
  height:42px;
  border:1.5px solid var(--mm-logo-curve);
  pointer-events:none;
  transform:translateY(-50%);
  transition:left 580ms cubic-bezier(.22,.76,.22,1),right 580ms cubic-bezier(.22,.76,.22,1);
}

.mm-brand-logo::before{
  left:0;
  border-right:0;
  border-radius:100% 0 0 100% / 50% 0 0 50%;
}

.mm-brand-logo::after{
  right:calc(100% - var(--mm-logo-compact-width));
  border-left:0;
  border-radius:0 100% 100% 0 / 0 50% 50% 0;
}

.mm-logo-expression{
  position:absolute;
  left:17px;
  top:50%;
  display:inline-flex;
  align-items:baseline;
  transform:translateY(-48%);
}

.mm-logo-term{
  display:inline-flex;
  align-items:baseline;
  min-width:0;
}

.mm-logo-cap{
  position:relative;
  z-index:1;
  display:inline-block;
  color:var(--mm-logo-primary);
}

.mm-logo-math .mm-logo-cap,
.mm-logo-math .mm-logo-tail{color:var(--mm-logo-secondary)}

.mm-logo-tail{
  display:inline-block;
  max-width:0;
  overflow:hidden;
  color:var(--mm-logo-primary);
  opacity:0;
  clip-path:inset(0 100% 0 0);
  transform:translateX(-.18em);
  transition:
    max-width 580ms cubic-bezier(.22,.76,.22,1),
    opacity 260ms ease,
    clip-path 580ms cubic-bezier(.22,.76,.22,1),
    transform 580ms cubic-bezier(.22,.76,.22,1);
  will-change:max-width,opacity,clip-path,transform;
}

.mm-logo-method .mm-logo-tail{transition-delay:0ms,70ms,0ms,0ms}
.mm-logo-math .mm-logo-tail{transition-delay:55ms,110ms,55ms,55ms}

.mm-logo-plus{
  display:inline-block;
  margin:0 .17em;
  color:var(--mm-logo-primary);
  font-size:.72em;
  font-weight:700;
  letter-spacing:0;
  transform:translateY(-.05em);
}

.mm-logo-square{
  position:absolute;
  left:var(--mm-logo-square-left);
  top:1px;
  color:var(--mm-logo-primary);
  font-size:.47em;
  font-weight:700;
  letter-spacing:0;
  transition:
    left 580ms cubic-bezier(.22,.76,.22,1),
    opacity 300ms ease,
    transform 580ms cubic-bezier(.22,.76,.22,1);
}

.portal-brand{
  --mm-logo-expanded-width:232px;
  --mm-logo-font-scale:.53;
  --mm-logo-primary:#FAF6EC;
  --mm-logo-curve:rgba(250,246,236,.72);
  justify-content:flex-start;
  width:var(--mm-logo-expanded-width);
  min-width:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.portal-brand::before{display:none!important}
.portal-brand{--mm-logo-height:62px}

.login-art .mm-brand-link{
  --mm-logo-expanded-width:240px;
  --mm-logo-font-scale:.48;
  --mm-logo-height:68px;
  --mm-logo-primary:#FAF6EC;
  --mm-logo-curve:rgba(250,246,236,.72);
  margin-bottom:18px;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.footer .mm-brand-link{
  --mm-logo-height:54px;
  background:transparent;
  box-shadow:none;
}

.footer .mm-brand-link::before{
  content:'';
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:-6px;
  width:calc(var(--mm-logo-square-left) + 28px);
  box-sizing:border-box;
  border:1px solid rgba(22,125,82,.3);
  border-radius:14px;
  background:linear-gradient(135deg,var(--mm-brand-paper),var(--mm-brand-mint));
  box-shadow:none;
  pointer-events:none;
  transition:
    width 580ms cubic-bezier(.22,.76,.22,1),
    border-color 300ms ease;
}

@media(hover:hover) and (pointer:fine){
  .mm-brand-link:hover,
  .mm-brand-link:focus-visible{z-index:20}

  .footer .mm-brand-link:hover::before,
  .footer .mm-brand-link:focus-visible::before{
    width:calc(100% + 12px);
    border-color:rgba(22,125,82,.5);
  }

  .mm-brand-link:hover .mm-logo-tail,
  .mm-brand-link:focus-visible .mm-logo-tail{
    max-width:4.4em;
    opacity:1;
    clip-path:inset(0);
    transform:translateX(0);
  }

  .mm-brand-link:hover .mm-brand-logo::after,
  .mm-brand-link:focus-visible .mm-brand-logo::after{right:0}

  .mm-brand-link:hover .mm-logo-square,
  .mm-brand-link:focus-visible .mm-logo-square{
    left:calc(100% - 17px);
    opacity:0;
    transform:translate(-100%,-5px) scale(.58);
  }
}

@media(max-width:760px){
  .mm-brand-link{
    --mm-logo-height:48px;
    --mm-logo-compact-width:108px;
    --mm-logo-square-left:111px;
  }
  .portal-brand{--mm-logo-height:58px}
  .login-art .mm-brand-link{--mm-logo-height:62px}
}

@media(max-width:420px){
  .mm-brand-link{
    --mm-logo-height:44px;
    --mm-logo-compact-width:100px;
    --mm-logo-square-left:103px;
  }
}

@media(hover:none), (pointer:coarse){
  .mm-brand-link{
    width:var(--mm-logo-compact-width);
    margin-right:0;
  }
  .mm-brand-logo::after{right:0}
}

@media(prefers-reduced-motion:reduce){
  .mm-brand-link{
    width:var(--mm-logo-compact-width);
    margin-right:0;
  }
  .mm-brand-logo::after{right:0}
  .footer .mm-brand-link::before{transition:none}
  .mm-logo-tail{display:none}
  .mm-logo-square{
    left:var(--mm-logo-square-left)!important;
    opacity:1!important;
    transform:none!important;
    transition:none;
  }
}
