.message-stack {
  position: relative;
  isolation: isolate;
  background: var(--brand-primary);
  padding: 16px 0;
}
.message-stack > .message-section {
  position: sticky;
  z-index: 1;
  isolation: isolate;
  top: 16px;
  height: calc(100svh - 56px);
  min-height: 520px;
  transform-origin: center top;
  border-radius: 18px 18px 0 0;
  overflow: clip;
}
.message-stack > .message-section:nth-child(2) { top: 28px; z-index: 2; }
.message-stack > .message-section:nth-child(3) { top: 40px; z-index: 3; }
.message-stack > .message-section::before { border-radius: 12px 12px 0 0; }
/* Keep keyboard focus in ordinary document flow, never behind another card. */
.message-stack:has(:focus-visible) > .message-section {
  position: relative;
  top: auto;
  transform: none !important;
}
@media (max-width: 600px) {
  .message-stack > .message-section { min-height: 460px; }
  .message-stack .message-link { padding: 80px 7% 120px; }
  .message-stack h2 {
    font-size: clamp(32px, 8.5vw, 44px);
    line-height: 1.1;
    letter-spacing: -.035em;
  }
}
@media (prefers-reduced-motion: reduce), (max-height: 560px) {
  .message-stack > .message-section {
    position: relative;
    top: auto;
    transform: none !important;
  }
}
