/* The initial brand opening; reduced motion and the failsafe always release the page. */
.brand-intro {
  display: none;
}

html[data-brand-intro] .brand-intro {
  display: grid;
  place-items: center;
  position: fixed;
  inset: 0;
  z-index: 90;
  background: #fff;
  pointer-events: auto;
  clip-path: inset(0 0 0 0);
  transition: clip-path .65s cubic-bezier(.76,0,.24,1);
  animation: brand-intro-failsafe 1.6s step-end forwards;
}

.brand-intro-lockup {
  display: flex;
  align-items: center;
  gap: 0;
  color: #0c1c32;
  font: 600 64px/1 'IBM Plex Sans',sans-serif;
  letter-spacing: -2px;
  transition: opacity .18s ease,transform .3s ease;
}

.brand-intro-lockup img {
  width: 128px;
  height: 128px;
  object-fit: contain;
}

html[data-brand-intro="leaving"] .brand-intro {
  clip-path: inset(0 0 100% 0);
}

html[data-brand-intro="leaving"] .brand-intro-lockup {
  opacity: 0;
  transform: translateY(-8px);
}

@keyframes brand-intro-failsafe {
  to {
    visibility: hidden;
  }
}

@media (max-width:480px) {
  .brand-intro-lockup {
    font-size: 48px;
    letter-spacing: -1.5px;
  }

  .brand-intro-lockup img {
    width: 100px;
    height: 100px;
  }
}

@media (prefers-reduced-motion:reduce) {
  html[data-brand-intro] .brand-intro {
    display: none;
    animation: none;
    transition: none;
  }
}
