/* Explicit title lines keep the requested phrasing stable at every scale. */
.scenario-title-lines > span {
  display: block;
}

/* Shared desktop geometry: copy and visual content use one stable horizontal axis. */
@media (min-width: 761px) {
  .scenario-launch-screen .scenario-following-header {
    top: 173px;
  }

  .scenario-launch-screen .scenario-following-header .section-label {
    margin-bottom: 4px;
  }

  .scenario-launch-screen .scenario-following-header .section-title {
    margin-bottom: 2px;
  }

  .scenario-launch-layout {
    position: relative;
    top: 38px;
  }

  .scenario-stage-copy .scenario-title-nowrap {
    font-size: 25px;
    white-space: nowrap;
  }

  .scenario-stage-layout {
    grid-template-rows: minmax(0, 1fr);
    align-items: center;
  }

  .scenario-stage-copy {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    min-width: 0;
  }

  .scenario-stage-visual {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    box-sizing: border-box;
    width: 100%;
    height: 460px;
    min-width: 0;
    overflow: visible;
  }

  .scenario-operations-layout {
    grid-template-columns: minmax(0, 1fr) 300px;
  }

  .scenario-evergreen-layout {
    grid-template-columns: minmax(0, 1fr) 270px;
  }

  .scenario-operations-copy,
  .scenario-evergreen-copy {
    grid-column: 2;
  }

  .scenario-operations-flow,
  .scenario-evergreen-flow {
    grid-column: 1;
  }

  /* Scenario 02: all three stages expose only their 336px content area to alignment. */
  .scenario-stage-visual.scenario-operations-flow {
    grid-template-rows: minmax(0, 1fr) 336px minmax(0, 1fr);
  }

  .scenario-stage-visual.scenario-operations-flow > .operations-stage {
    display: grid;
    grid-row: 2;
    align-self: stretch;
    grid-template-rows: minmax(0, 1fr);
    row-gap: 0;
    height: 336px;
  }

  .scenario-stage-visual .operations-stage > .operations-stage-label {
    position: absolute;
    bottom: calc(100% + 12px);
    left: 50%;
    grid-row: auto;
    align-self: auto;
    width: max-content;
    margin: 0;
    transform: none;
    translate: -50% 0;
  }

  .scenario-stage-visual .operations-task-panel,
  .scenario-stage-visual .operations-map-panel {
    grid-row: 1;
    align-self: center;
  }

  .scenario-stage-visual .operations-material-stage {
    grid-template-columns: minmax(0, 1fr) 82px;
    grid-template-rows: minmax(0, 1fr);
    gap: 0 14px;
  }

  .scenario-stage-visual .operations-material-stage > .operations-stage-label {
    left: calc((100% - 96px) / 2);
  }

  .scenario-stage-visual .operations-material-content,
  .scenario-stage-visual .operations-material-stage > .operations-publish-node {
    grid-row: 1;
    align-self: center;
  }

  .scenario-stage-visual .operations-material-content {
    grid-column: 1;
  }

  .scenario-stage-visual .operations-material-stage > .operations-publish-node {
    grid-column: 2;
  }
}
