.programmes-projects-intro {
  max-width: 52rem;
}

.programmes-projects-intro h1 {
  margin-top: 0;
}

.programmes-projects-intro p {
  max-width: 48rem;
  font-size: 1.08rem;
  line-height: 1.65;
}

.programmes-section,
.projects-section,
.previous-projects-section {
  margin-top: 3rem;
}

.projects-section > h2 {
  margin: 0 0 1.15rem;
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  line-height: 1.2;
  letter-spacing: -.015em;
}

.programmes-section > h2 {
  margin: 0 0 1.15rem;
  padding-bottom: 0;
  border-bottom: 0;
}

.programmes-grid {
  display: grid;
  grid-template-columns: var(--editorial-grid-columns);
  align-items: start;
  gap: 1.75rem var(--editorial-grid-column-gap);
}

.programme-entry {
  padding: 0;
  border: 0;
}

/* Open editorial columns: the blue rule introduces only the first row. */
.programme-entry:nth-child(-n + 2),
.projects-list .project-entry:nth-child(-n + 2) {
  padding-top: var(--editorial-entry-padding);
  border-top: var(--editorial-entry-rule);
}

.programme-entry h3,
.project-entry h4 {
  margin: 0 0 .65rem;
  color: var(--editorial-heading);
  line-height: 1.25;
}

.programme-entry h3 {
  font-size: 1.38rem;
}

.programme-entry p {
  max-width: 34rem;
  margin: .6rem 0;
  line-height: 1.6;
}

.entry-link {
  margin-top: .85rem !important;
}

.entry-link a {
  font-weight: 600;
}

.projects-list {
  max-width: none;
  margin-top: 1.25rem;
}

.project-entry {
  align-self: start;
  padding: 0;
}

.project-category + .project-category {
  margin-top: 2.25rem;
}

.project-category > h3,
.previous-projects-section > h3 {
  color: var(--editorial-heading);
  font-size: 1.35rem;
  line-height: 1.3;
}

.project-category > h3 {
  margin: 0;
}

.project-entry h4 {
  max-width: 46rem;
  margin-top: 0;
  margin-bottom: .4rem;
  font-size: 1.2rem;
  line-height: 1.25;
}

.project-entry .entry-description {
  max-width: 50rem;
  margin: .4rem 0;
  line-height: 1.55;
}

.project-meta {
  max-width: 50rem;
  margin: .45rem 0 0;
  color: var(--editorial-muted);
  font-size: var(--metadata-text-size);
  line-height: 1.45;
}

.project-meta span {
  font-weight: 600;
}

.project-entry .entry-link {
  margin-top: .85rem !important;
  margin-bottom: 0;
}

.project-entry .entry-link a {
  font-weight: 500;
}

.previous-projects-section {
  margin-top: 2.5rem;
  max-width: 59rem;
}

.previous-projects-section > h3 {
  margin: 0 0 1.15rem;
}

.previous-projects-section p {
  margin: 0;
}

.previous-projects-section a {
  font-weight: 600;
}

@media (max-width: 760px) {
  .programmes-section,
  .projects-section,
  .previous-projects-section {
    margin-top: 3rem;
  }

  .programmes-section > h2,
  .projects-section > h2 {
    margin-bottom: 1.5rem;
  }

  .programmes-grid {
    grid-template-columns: 1fr;
    gap: 1.7rem;
  }

  .projects-list {
    grid-template-columns: 1fr;
  }

  /* Preserve an entry boundary for each item once the grids stack. */
  .programme-entry,
  .projects-list .project-entry {
    padding-top: var(--editorial-entry-padding);
    border-top: var(--editorial-entry-rule);
  }

  .programme-entry p,
  .project-entry .entry-description,
  .project-meta {
    max-width: none;
  }
}
