/* Desktop width only. Phone keeps the existing 42rem single column. */
@media (min-width: 900px) {
  .wrap,
  .topnav-inner {
    max-width: 70rem;
  }

  /* Do not stretch a lone paragraph across ~1100px. */
  header .sub,
  header .banner,
  header .checked,
  .faq {
    max-width: 48rem;
  }

  /* Homepage recent-change cards: two wide, less empty than one skinny list. */
  .changelist {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 10px;
  }
  .changelist li {
    margin: 0;
  }

  /* Country pages: policy + changes side by side. */
  .country-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20rem;
    gap: 0 32px;
    align-items: start;
  }
  .country-split .changelist {
    display: block;
  }
  .country-split .changelist li {
    margin: 0 0 8px;
  }

  /* /gengxin: change cards in two columns; country chips stay a wrap row. */
  .day {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .day > h2 {
    grid-column: 1 / -1;
  }

  /* /qianzheng: TOC uses the wider wrap; long visa prose stays a readable measure. */
  .visa,
  main > .note {
    max-width: 46rem;
  }

  /* /h2: map beside a wider results list. */
  .h2-desk {
    display: grid;
    grid-template-columns: minmax(20rem, 28rem) minmax(0, 1fr);
    gap: 16px 24px;
    align-items: start;
  }
  .h2-desk .mapbox {
    margin-top: 0;
    position: sticky;
    top: 12px;
  }
  .h2-desk .map-wrap {
    height: 320px;
  }
  .h2-desk .results {
    margin-top: 0;
  }
}
