/* Program-page details are scoped to these landing pages, not the homepage. */
.program-page .info-hero h1 {
  font-size: clamp(42px, 4.9vw, 76px);
  line-height: 1.05;
}

.program-summary {
  padding: 36px var(--gutter) 52px;
  border-bottom: 1px solid var(--border, #dce1e5);
}

.program-summary-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px 32px;
  margin-bottom: 25px;
}

.program-summary-heading h2 {
  margin: 8px 0 0;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.15;
}

.program-summary-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
}

.program-summary-facts > div {
  padding: 20px;
  background: #f4f6f8;
  border-top: 2px solid var(--red, #c93a3a);
}

.program-summary-facts-linked {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.program-summary-facts-linked > div:nth-child(-n + 3) {
  grid-column: span 2;
}

.program-summary-facts-linked > div:nth-child(n + 4) {
  grid-column: span 3;
}

.program-summary-facts dt {
  margin-bottom: 10px;
  font-size: 13px;
  line-height: 1.4;
}

.program-summary-facts dd {
  margin: 0;
  font-size: clamp(18px, 1.7vw, 24px);
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.program-summary-date-end {
  display: block;
  font-size: 15px;
  font-weight: 400;
}

.program-summary-note {
  max-width: 86ch;
  margin: 18px 0 0;
  font-size: 15px;
  line-height: 1.65;
}

.program-summary-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin-top: 26px;
  font-size: 15px;
  font-weight: 600;
}

.program-summary-links a {
  text-underline-offset: 4px;
}

@media (max-width: 900px) {
  .program-summary-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .program-summary-facts-linked > div:nth-child(n) { grid-column: auto; }
  .program-summary-facts-linked > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 480px) {
  .program-page .info-hero h1 { font-size: clamp(36px, 10vw, 46px); }
  .program-summary-facts { gap: 10px; }
  .program-summary-facts > div { padding: 16px 12px; }
  .program-summary-facts dd { font-size: 18px; }
}
