.curtain {
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

.curtain-inner {
  background-color: var(--color-alt-bg);
  height: 100vh;
  position: absolute;
  transform-origin: center top;
  width: 100%;
}

.curtain-label {
  align-items: flex-end;
  color: var(--color-light);
  display: flex;
  font-size: clamp(10px, 2.8vw, 13px);
  gap: clamp(6px, 1.6vw, 9px);
  height: calc(20 * 100vw / var(--page-width));
  left: 50%;
  line-height: 1;
  position: fixed;
  top: calc(16 * 100vw / var(--page-width));
  /* translateX(-50%) always centers regardless of letter count */
  transform: translateX(-50%);
  white-space: nowrap;
  max-width: 90vw;
}

@media only screen and (min-width: 768px) {
  .curtain-label {
    font-size: calc(22 * 100vw / var(--page-lg-width));
    gap: calc(20 * 100vw / var(--page-lg-width));
    height: calc(40 * 100vw / var(--page-lg-width));
    left: 50%;
    top: calc(33 * 100vw / var(--page-lg-width));
    transform: translateX(-50%);
    max-width: 80vw;
  }
}

.curtain-label span:nth-child(even) {
  align-self: flex-start;
}
