/* Launch curtain (MSWE-252 / REQ-LC-020) — quiet on-theme composition */
.launch-curtain-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--color-bg, #F7FCFC);
}

.launch-curtain-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  flex-shrink: 0;
  position: relative;
  pointer-events: none;
}

.launch-curtain-logo .logo-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.launch-curtain-logo .menu-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.launch-curtain-logo .logo-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.launch-curtain-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-lg, 4rem) var(--space-md, 2rem);
  gap: var(--space-md, 2rem);
}

.launch-curtain-loader {
  display: flex;
  align-items: center;
  justify-content: center;
}

.launch-curtain-loader .demo-loader-canvas {
  display: block;
  width: 40px;
  height: 40px;
}

.launch-curtain-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs, 0.5rem);
  max-width: min(36rem, 100%);
}

.launch-curtain-lead {
  font-family: var(--font-heading, 'Outfit', sans-serif);
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  font-weight: 600;
  color: var(--color-academy-blue, #2C4C6B);
  margin: 0;
  line-height: 1.35;
  white-space: nowrap;
}

.launch-curtain-tagline {
  font-family: var(--font-heading, 'Outfit', sans-serif);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 500;
  color: var(--color-academy-blue, #2C4C6B);
  margin: 0;
  line-height: 1.4;
  opacity: 0.85;
}

@media (max-width: 520px) {
  .launch-curtain-lead {
    white-space: normal;
  }
}