/* Canonical programme hub: problem-led categories, one stable composition. */
.program-category {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  grid-template-areas:"head media" "list media";
  column-gap:clamp(40px,6vw,88px);
  align-items:start;
  padding-block:clamp(68px,8vw,116px);
  scroll-margin-top:112px;
}
.program-category__head { grid-area:head; min-width:0; }
.program-category__title-row {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
.program-category__title-row h2 {
  max-width:820px;
  margin:0;
  font-size:clamp(34px,3.75vw,52px);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.program-category__description {
  max-width:68ch;
  margin-top:28px;
  color:var(--text-secondary-readable,#6B626E);
  font-size:17px;
  line-height:1.65;
}
.program-category__description p { margin:0; }
.program-category__media {
  grid-area:media;
  width:min(100%,430px);
  margin:0;
  justify-self:end;
}
.program-category__media img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:5/6;
  object-fit:cover;
  border-radius:50% 50% 32px 32px;
}
.program-category__list { grid-area:list; margin-top:42px; }
.program-category__list.link-list > a { font-size:clamp(19px,1.55vw,24px); }
.program-hub-intro .page-head { padding-bottom:32px; }
.program-hub-intro .lead { margin-bottom:0; }
.program-hub-intro .lead>:last-child { margin-bottom:0; }
.program-category--sample { padding-block:40px; }

@media(max-width:960px) {
  .program-category {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"head" "media" "list";
    row-gap:0;
    padding-block:72px;
  }
  .program-category__media { width:100%; max-width:none; margin-top:36px; justify-self:stretch; }
  .program-category__media img { aspect-ratio:16/10; border-radius:28px; }
  .program-category__list { margin-top:38px; }
}
@media(max-width:600px) {
  .program-category { padding-block:64px; }
  .program-category__title-row { display:block; }
  .program-category__title-row h2 { font-size:32px; }
  .program-category__description { margin-top:22px; font-size:16px; }
  .program-category__media { margin-top:28px; }
  .program-category__media img { aspect-ratio:4/3; border-radius:24px; }
  .program-category__list { margin-top:30px; }
  .program-category__list.link-list > a { font-size:18px; }
  .program-hub-intro .page-head { padding-bottom:24px; }
}
@media(max-width:360px) {
  .program-category__title-row h2 { font-size:29px; }
}
/* Item 37: the mobile heading belongs to the category photograph. */
@media(max-width:720px){
 .program-category{grid-template-areas:"visual" "list";padding-block:32px}
 .program-category__head{grid-area:visual;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:400px;padding:32px 24px;color:var(--cream)}
 .program-category__media{grid-area:visual;position:relative;align-self:stretch;margin:0;overflow:hidden;border-radius:24px;min-height:100%}
 .program-category__media img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:inherit;object-fit:cover}
 .program-category__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,27,39,.04) 10%,rgba(35,27,39,.72) 60%,rgba(35,27,39,.84) 100%)}
 .program-category__description{color:inherit;margin-top:20px;font-size:16px;line-height:1.55}
 .program-category__list{margin-top:12px}
 .a11y-high .program-category__head{background:Canvas;color:CanvasText;border-radius:24px}
 .a11y-large .program-category__description{font-size:20px}
}
@media(prefers-reduced-motion:reduce) {
  .program-category__list.link-list > a:hover { transform:none; }
}
