/* =========================================================
   Logo
   ========================================================= */

.logo {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  outline: none;
  padding-top: 0.15rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 120;
  flex-shrink: 0;
  max-width: min(88vw, 24rem);
}

.logo:focus-visible {
  outline: 2px solid var(--gold-bright);
  outline-offset: 6px;
  border-radius: 8px;
}

.logo-stage {
  --logo-height: var(--header-logo-h, 12.25rem);
  position: relative;
  display: inline-block;
  line-height: 0;
}

.logo-stage--footer {
  --logo-height: 7.5rem;
}

.logo-halo,
.logo-glow-field,
.logo-fx,
.logo-rim {
  display: none;
}

.logo-img {
  height: var(--logo-height);
  width: auto;
  display: block;
  object-fit: contain;
}

.footer-brand {
  cursor: default;
}

@media (max-width: 1100px) {
  .logo {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    justify-self: center;
    grid-column: 1;
    grid-row: 1;
    z-index: 1;
    max-width: 100%;
  }

  .logo-img {
    height: var(--header-logo-h);
    max-height: var(--header-logo-h);
    max-width: min(100%, 12rem);
  }

  .logo-stage--footer {
    --logo-height: 5rem;
  }
}

@media (max-width: 640px) {
  .logo-stage--footer {
    --logo-height: 4.5rem;
  }
}
