.page-shell {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.transition {
  z-index: 10001;
  pointer-events: none;
  position: fixed;
  inset: 0;
  overflow: clip;
}

.transition__panel {
  color: #ffffff;
  background-color: currentColor;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  visibility: hidden;
}

.transition__panel-top {
  transform-origin: bottom;
  flex-flow: column;
  align-items: center;
  width: 100%;
  height: 0%;
  display: flex;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  overflow: hidden;
}

.transition__panel-bottom {
  transform-origin: top;
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  height: 0%;
  display: flex;
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  overflow: hidden;
}

.transition__panel-circle {
  background-color: currentColor;
  border-radius: 50%;
  width: 125%;
  height: 500%;
  position: absolute;
}

.transition__logo {
  color: #000000;
  opacity: 0;
  width: clamp(11rem, 24vw, 22rem);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 45%;
  left: 50%;
  overflow: hidden;
  transform: translate(-50%, -50%);
}

.transition__logo img {
  width: 100%;
  height: auto;
  display: block;
}
