/* Stage + crossfade mechanics. Layout-agnostic: individual slides style their
   own interiors in slides.css. */

.stage {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(120vmax 80vmax at 50% -10%, var(--bg-elev), transparent 60%),
    var(--bg);
}

/* Every slide is a full-bleed absolutely-positioned layer. Two layers coexist
   only during a crossfade; the outgoing one is removed when it ends. */
.slide {
  position: absolute;
  inset: 0;
  display: grid;
  padding: var(--pad);
  opacity: 0;
  transform: scale(1.02);
  transition:
    opacity var(--transition-ms) ease,
    transform var(--transition-ms) ease;
  will-change: opacity, transform;
}

.slide--active {
  opacity: 1;
  transform: scale(1);
}
