#departments .aid-founder-link {
  display: inline-flex;
  margin-block-start: .55rem;
  color: #f1dba9;
  text-underline-offset: .22em;
}

#ai-programs-archive .ai-profile-other-programs {
  margin-block-start: 2.5rem;
  padding-block-start: 1.5rem;
  border-block-start: 1px solid #425770;
}

#ai-programs-archive .ai-profile-other-programs ul {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.6rem;
  margin-block: 1rem 0;
  padding-inline-start: 1.1rem;
}

.ai-programme-profile {
  color: #e0e8f3;
  background: radial-gradient(ellipse at 93% 0, #103861 0, transparent 42%), #06152e;
}

.ai-programme-profile .ai-pagehead {
  background: transparent;
  border-block-end: 1px solid #283e5c;
}

.ai-programme-profile .ai-pagehead::after { display: none; }

.ai-programme-profile .ai-pagehead :is(h1, p, a, nav),
.ai-programme-profile .ai-entry__content :is(h2, h3, h4, strong),
.ai-programme-profile .ai-postmeta {
  color: #f8f5ec;
}

.ai-programme-profile .ai-entry__content :is(a, a:visited),
.ai-programme-profile .ai-actions a.ai-btn--outline {
  color: #f1dba9;
}

.ai-programme-profile .ai-entry__content p { color: #e0e8f3; }

.ai-programme-profile .ai-profile-cover {
  margin: 0 0 2rem;
  overflow: hidden;
  border: 1px solid #283e5c;
  border-radius: .25rem;
  background: #0b2241;
}

.ai-programme-profile .ai-profile-cover img {
  display: block;
  inline-size: 100%;
  max-block-size: 35rem;
  margin: 0;
  object-fit: contain;
}

.ai-profile-gallery { margin-block: 2.4rem; }
.ai-profile-gallery h2 {
  margin-block: 0 1rem;
  color: #f8f5ec;
  font: 400 clamp(1.7rem, 3vw, 2.3rem)/1.2 Georgia, "Times New Roman", serif;
}

.ai-profile-gallery .ai-profile-gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: .9rem;
}

.ai-profile-gallery .ai-profile-gallery__grid a {
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid #425770;
  border-radius: .25rem;
  background: #0b2241;
}

.ai-profile-gallery .ai-profile-gallery__grid a:hover { border-color: #e9c982; }
.ai-profile-gallery .ai-profile-gallery__grid a:focus-visible {
  outline: 3px solid #f1dba9;
  outline-offset: 3px;
}
.ai-profile-gallery .ai-profile-gallery__grid img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
}

.ai-programme-profile .ai-actions a.ai-btn--green {
  border-color: #e9c982;
  background: #e9c982;
  color: #06152e;
}

.ai-programme-profile .ai-entry__content .commitment {
  margin-block: 1.65rem;
  padding: 1rem 1.2rem;
  border-inline-start: 3px solid #e9c982;
  background: #0b2241;
}

/* Shared detail layout for the mapped programme profiles. */
.ai-programme-profile--polished {
  --aip-gold: #ecd297;
  --aip-ivory: #fcf8ef;
  --aip-navy: #06152e;
  --aip-ink: #172943;
  --aip-rule: rgba(236, 210, 151, .26);
  --aip-heading: Georgia, "Times New Roman", serif;
  background: var(--aip-navy);
}

.ai-programme-profile--polished .ai-profile-shell {
  inline-size: min(74rem, calc(100% - 3rem));
  margin-inline: auto;
}

.ai-programme-profile--polished .ai-profile-hero {
  padding-block: clamp(1.5rem, 3.6vw, 3.5rem) clamp(2.25rem, 5.5vw, 5rem);
  border-block-end: 1px solid var(--aip-rule);
  background: radial-gradient(ellipse at 91% 8%, #153e65 0, transparent 56%), var(--aip-navy);
}

.ai-programme-profile--polished .ai-profile-crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .65rem;
  margin-block-end: clamp(1.25rem, 3vw, 2.6rem);
  color: #bdcbe0;
  font-size: .85rem;
}

.ai-programme-profile--polished .ai-profile-crumbs a { color: var(--aip-gold); }

.ai-programme-profile--polished .ai-profile-hero-grid {
  display: grid;
  align-items: center;
  gap: clamp(1.6rem, 4vw, 3.8rem);
}

.ai-programme-profile--polished .ai-profile-hero-grid--media {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
}

.ai-programme-profile--polished .ai-profile-kicker {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin-block-end: .7rem;
  color: var(--aip-gold);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ai-programme-profile--polished .ai-profile-kicker::before {
  inline-size: 1.9rem;
  block-size: 1px;
  flex: 0 0 auto;
  background: currentColor;
  content: "";
}

.ai-programme-profile--polished .ai-profile-hero h1 {
  max-inline-size: 24ch;
  margin: 0;
  color: var(--aip-ivory);
  font: 400 clamp(2.15rem, 3.6vw, 3.65rem)/1.1 var(--aip-heading);
  letter-spacing: -.022em;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.ai-programme-profile--polished .ai-profile-intro {
  max-inline-size: 42ch;
  margin: .85rem 0 1.45rem;
  color: #d4deed;
  font-size: clamp(1.02rem, 1.5vw, 1.15rem);
  line-height: 1.6;
}

.ai-programme-profile--polished .ai-profile-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.ai-programme-profile--polished .ai-profile-hero-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 2.75rem;
  padding: .65rem 1.05rem;
  border: 1px solid var(--aip-gold);
  border-radius: .3rem;
  color: var(--aip-gold);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}

.ai-programme-profile--polished .ai-profile-hero-actions a:first-child,
.ai-programme-profile--polished .ai-profile-hero-actions a:hover {
  background: var(--aip-gold);
  color: var(--aip-navy);
}

.ai-programme-profile--polished .ai-profile-hero-actions a:first-child:hover { background: #f4dfae; }
.ai-programme-profile--polished a:focus-visible { outline: 3px solid #cda350; outline-offset: .25rem; }

.ai-programme-profile--polished .ai-profile-cover {
  margin: 0;
  padding: .38rem;
  border: 1px solid var(--aip-rule);
  border-radius: .75rem;
  background: #0b2241;
  box-shadow: 0 1.1rem 2.8rem rgba(0, 0, 0, .24);
}

.ai-programme-profile--polished .ai-profile-cover img {
  inline-size: 100%;
  block-size: auto;
  max-block-size: 24rem;
  border-radius: .45rem;
  object-fit: contain;
}

.ai-programme-profile--polished .ai-profile-main {
  padding-block: clamp(1.6rem, 4.4vw, 3.8rem);
}

.ai-programme-profile--polished .ai-profile-copy {
  max-inline-size: 57rem;
  margin-inline: auto;
  padding: clamp(1.25rem, 4vw, 3rem);
  border-block-start: .22rem solid #d6b56b;
  border-radius: .6rem;
  background: var(--aip-ivory);
  color: var(--aip-ink);
}

.ai-programme-profile--polished .ai-profile-copy > h2 {
  margin: 0 0 1.2rem;
  color: var(--aip-ink);
  font: 400 clamp(1.65rem, 3vw, 2.45rem)/1.2 var(--aip-heading);
}

.ai-programme-profile--polished .ai-profile-copy .ai-entry__content,
.ai-programme-profile--polished .ai-profile-copy .ai-postmeta {
  color: var(--aip-ink);
  overflow-wrap: anywhere;
}

.ai-programme-profile--polished .ai-profile-copy .ai-entry__content { font-size: 1.04rem; line-height: 1.72; }

.ai-programme-profile--polished .ai-profile-copy .ai-entry__content :is(p, h2, h3, h4, strong, li) {
  color: var(--aip-ink);
}

.ai-programme-profile--polished .ai-profile-copy .ai-entry__content :is(a, a:visited) {
  color: #704c09;
  text-decoration: underline;
  text-underline-offset: .2em;
}

.ai-programme-profile--polished .ai-profile-copy .ai-entry__content .commitment {
  margin-block: 1.55rem 0;
  background: #f3e9d3;
}

.ai-programme-profile--polished .ai-profile-copy .commitment h2 { margin: 0 0 .55rem; font-size: 1.35rem; }

.ai-programme-profile--polished :is(#ai-profile-details, #ai-profile-gallery-title) { scroll-margin-top: 6rem; }
.ai-programme-profile--polished .ai-profile-gallery { margin-block: clamp(2rem, 5vw, 3.75rem) 2rem; }
.ai-programme-profile--polished .ai-profile-gallery__grid a { border-radius: .6rem; }

.ai-programme-profile--polished .ai-profile-main .ai-actions {
  justify-content: center;
  margin-block-start: 1.6rem;
}

.ai-programme-profile--polished .ai-profile-main .ai-actions a.ai-btn--outline {
  border-color: var(--aip-gold);
}

.ai-programme-profile--polished .ai-profile-main .ai-actions a.ai-btn--outline:hover,
.ai-programme-profile--polished .ai-profile-main .ai-actions a.ai-btn--outline:focus {
  background: var(--aip-gold);
  color: var(--aip-navy);
}

@media (max-width: 48rem) {
  .ai-programme-profile--polished .ai-profile-hero-grid--media { grid-template-columns: minmax(0, 1fr); }
  .ai-programme-profile--polished .ai-profile-cover img { max-block-size: 19rem; }
}

@media (max-width: 30rem) {
  .ai-programme-profile--polished .ai-profile-shell { inline-size: calc(100% - 2rem); }
  .ai-programme-profile--polished .ai-profile-kicker { letter-spacing: .07em; }
}
