/* Pro-specific imagery and shared programme course previews. */
.programme-modern--pro .programme-hero__image { width: 100%; }
.programme-modern--pro .programme-hero__image img {
  aspect-ratio: 993 / 1100;
  object-fit: cover;
  object-position: 50% 25%;
}
.programme-modern--pro .programme-course__image img { object-position: 50% 12%; }
/* Equal course panels: full scope is visible; the syllabus is optional. */
.programme-modern [data-course-previews] { align-items: stretch; }
.pro-course {
  padding: 24px;
  border: 1px solid var(--programme-rule);
  border-radius: 20px;
  /* Inherit Starter's thumbnail sizes and column gap from the shared layout. */
}
.pro-course__details { grid-column: 1 / -1; border-top: 1px solid var(--programme-rule); }
.pro-course__details summary {
  cursor: pointer;
  color: var(--fu-accent);
  font-size: 14px;
  line-height: 1.6;
  padding: 16px 0 0;
}
.pro-course__details summary:hover { text-decoration: underline; text-underline-offset: 5px; }
.pro-syllabus { display: grid; gap: 20px; padding-top: 22px; }
.pro-syllabus h4 { font-size: 22px; line-height: 1.2; }
.pro-syllabus .checks { margin: 10px 0 0; gap: 8px; }
.pro-syllabus .checks li { font-size: 14px; }
/* Expanded content occupies its own full-width row, outside the equal-height cards. */
.pro-course.programme-course--selected {
  border-color: var(--fu-accent);
  background: var(--programme-blush);
}
.programme-course__toggle {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 44px;
  padding: 16px 0 0;
  border: 0;
  border-top: 1px solid var(--programme-rule);
  border-radius: 0;
  background: transparent;
  color: var(--fu-accent);
  font: inherit;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  cursor: pointer;
}
.programme-course__toggle::after {
  content: '';
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  margin: -4px 3px 0 0;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}
.programme-course__toggle[aria-expanded="true"]::after {
  margin-top: 4px;
  transform: rotate(225deg);
}
.programme-course__toggle:hover span,
.programme-course-panel__close:hover { text-decoration: underline; text-underline-offset: 5px; }
.programme-course-panel {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--programme-rule);
  border-radius: 20px;
  background: var(--programme-blush);
}
.programme-course-panel[hidden],
.programme-course-panel .pro-syllabus[hidden] { display: none; }
.programme-course-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 24px;
}
.programme-course-panel__header h3 { font-size: 28px; line-height: 1.25; }
.programme-course-panel__close {
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: var(--fu-accent);
  font: inherit;
  font-size: 14px;
  cursor: pointer;
}
.programme-course-panel .pro-syllabus { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 36px; }
.programme-course-panel .pro-syllabus > .checks {
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}
#star, #ktaping, #programma { scroll-margin-top: 96px; }
@media (min-width: 761px) {
  /* Share the overview and disclosure rows so wrapping never offsets the controls. */
  .programme-modern [data-course-previews] { row-gap: 22px; }
  .programme-modern .pro-course {
    grid-row: span 2;
    grid-template-rows: subgrid;
    row-gap: 22px;
  }
}
@media (max-width: 1000px) and (min-width: 761px) {
  .programme-modern [data-course-previews] { row-gap: 16px; }
  .programme-modern .pro-course { row-gap: 16px; padding: 20px; }
}
@media (max-width: 760px) {
  .programme-modern .pro-course { padding: 20px; }
  .pro-course .programme-course__body { min-width: 0; }
  .programme-course-panel { padding: 20px; }
  .programme-course-panel__header h3 { font-size: 25px; }
  .programme-course-panel .pro-syllabus,
  .programme-course-panel .pro-syllabus > .checks { grid-template-columns: 1fr; }
}
