@layer reset, tokens, base, components, responsive, utilities;

@layer components {
  html[data-intro-pending] body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: var(--z-intro);
    background-color: #1a171b;
    pointer-events: none;
    animation: intro-precover-failsafe 0s 6.5s forwards;
  }

  @keyframes intro-precover-failsafe {
    to {
      opacity: 0;
      visibility: hidden;
    }
  }

  .brand-intro {
    position: fixed;
    inset: 0;
    z-index: var(--z-intro);
    background-color: #1a171b;
    opacity: 1;
    transition: opacity var(--motion-screen) var(--ease-standard);
  }

  .brand-intro.is-leaving {
    opacity: 0;
  }

  .brand-intro__stage {
    position: absolute;
    inset: 0;
  }

  .brand-intro__stage > svg {
    display: block;
    width: 100%;
    height: 100%;
  }
}

@layer utilities {
  @media (prefers-reduced-motion: reduce) {
    .brand-intro__stage {
      animation: intro-reduced-fade var(--motion-standard) var(--ease-enter) both;
    }
  }

  @keyframes intro-reduced-fade {
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }
}
