/*
 * 325 ACADEMY PROGRAMME
 * Reusable programme-detail layout.
 */

.page-academy-programme {
  --ap-paper: #EDF1F5;
  --ap-muted: #BDC6CD;
  --ap-green: #257C1E;
  --ap-black: #272727;
  background: var(--ap-paper);
  color: var(--ap-black);
}

.page-academy-programme main,
.page-academy-programme .body-academy-programme {
  background: var(--ap-paper);
}

.page-academy-programme .ap-hero,
.page-academy-programme .ap-section {
  position: relative;
  overflow: hidden;
}

.page-academy-programme .ap-hero {
  padding: 185px 0 110px;
  background: var(--ap-black);
}

.page-academy-programme .ap-hero__meta {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  color: var(--ap-paper);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.page-academy-programme .ap-hero h1 {
  max-width: 1400px;
  margin: 70px 0 0;
  color: var(--ap-paper);
  font-size: clamp(64px, 9.8vw, 164px);
  font-weight: 600;
  letter-spacing: -.07em;
  line-height: .84;
}

.page-academy-programme .ap-hero__lead {
  max-width: 900px;
  margin: 54px 0 0;
  color: var(--ap-paper);
  font-size: clamp(25px, 2.7vw, 46px);
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1.12;
}

.page-academy-programme .ap-hero__intro {
  max-width: 760px;
  margin: 30px 0 0;
  color: var(--ap-muted);
  font-size: 18px;
  line-height: 1.62;
}

.page-academy-programme .ap-hero__facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 64px;
  border-top: 1px solid rgba(237,241,245,.35);
  border-left: 1px solid rgba(237,241,245,.35);
}

.page-academy-programme .ap-hero__facts > div {
  min-height: 110px;
  padding: 20px;
  border-right: 1px solid rgba(237,241,245,.35);
  border-bottom: 1px solid rgba(237,241,245,.35);
}

.page-academy-programme .ap-hero__facts span,
.page-academy-programme .ap-info-grid span {
  display: block;
  color: var(--ap-green);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.page-academy-programme .ap-hero__facts strong,
.page-academy-programme .ap-info-grid strong {
  display: block;
  margin-top: 13px;
  color: var(--ap-paper);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
}

.page-academy-programme .ap-btn {
  display: inline-flex;
  gap: 28px;
  align-items: center;
  width: fit-content;
  margin-top: 42px;
  padding: 14px 0 10px;
  border-bottom: 1px solid var(--ap-paper);
  color: var(--ap-paper);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page-academy-programme .ap-btn:hover,
.page-academy-programme .ap-btn:focus-visible {
  color: var(--ap-green);
  border-color: var(--ap-green);
}

.page-academy-programme .ap-btn--light {
  border-color: var(--ap-paper);
  color: var(--ap-paper);
}

.page-academy-programme .ap-section {
  padding: 88px 0;
}

.page-academy-programme .ap-section--paper {
  background: var(--ap-paper);
}

.page-academy-programme .ap-section--dark {
  background: var(--ap-black);
}

.page-academy-programme .ap-section--green {
  background: var(--ap-green);
}

.page-academy-programme .ap-two {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: 60px 100px;
  align-items: start;
}

.page-academy-programme .ap-eyebrow {
  margin: 0 0 24px;
  color: var(--ap-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.page-academy-programme .ap-eyebrow--light {
  color: var(--ap-paper);
}

.page-academy-programme h2,
.page-academy-programme .ap-title-light {
  margin: 0;
  color: var(--ap-black);
  font-size: clamp(42px, 6vw, 94px);
  font-weight: 600;
  letter-spacing: -.06em;
  line-height: .92;
}

.page-academy-programme .ap-title-light {
  color: var(--ap-paper);
}

.page-academy-programme .ap-copy {
  display: grid;
  gap: 24px;
}

.page-academy-programme .ap-copy p,
.page-academy-programme .ap-light-copy {
  margin: 0;
  color: var(--ap-black);
  font-size: clamp(17px, 1.35vw, 22px);
  line-height: 1.62;
}

.page-academy-programme .ap-copy--light p,
.page-academy-programme .ap-light-copy {
  color: var(--ap-paper);
}

.page-academy-programme .ap-copy ul,
.page-academy-programme .ap-day ul,
.page-academy-programme .ap-strategy ul,
.page-academy-programme .ap-workshop ul {
  margin: 0;
  padding-left: 20px;
}

.page-academy-programme .ap-copy li,
.page-academy-programme .ap-day li,
.page-academy-programme .ap-strategy li,
.page-academy-programme .ap-workshop li {
  margin: 7px 0;
  line-height: 1.55;
}

.page-academy-programme .ap-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 !important;
  list-style: none;
}

.page-academy-programme .ap-tags li {
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--ap-muted);
  font-size: 12px;
}

.page-academy-programme .ap-days {
  margin-top: 72px;
  border-top: 1px solid rgba(237,241,245,.35);
}

.page-academy-programme .ap-day {
  padding: 52px 0;
  border-bottom: 1px solid rgba(237,241,245,.35);
}

.page-academy-programme .ap-day__head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  color: var(--ap-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.page-academy-programme .ap-day h3 {
  max-width: 1100px;
  margin: 26px 0 0;
  color: var(--ap-paper);
  font-size: clamp(40px, 5vw, 78px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .95;
}

.page-academy-programme .ap-day__intro {
  max-width: 850px;
  margin: 24px 0 0;
  color: var(--ap-paper);
  font-size: 18px;
  line-height: 1.6;
}

.page-academy-programme .ap-day > ul {
  columns: 2;
  max-width: 980px;
  margin-top: 30px;
  color: var(--ap-paper);
  font-size: 16px;
}

.page-academy-programme .ap-lab,
.page-academy-programme .ap-strategy,
.page-academy-programme .ap-workshop {
  margin-top: 36px;
  padding: 28px;
  border: 1px solid rgba(237,241,245,.35);
}

.page-academy-programme .ap-lab span,
.page-academy-programme .ap-strategy > span,
.page-academy-programme .ap-workshop > span {
  color: var(--ap-green);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.page-academy-programme .ap-lab p,
.page-academy-programme .ap-strategy p,
.page-academy-programme .ap-workshop p {
  max-width: 900px;
  margin: 14px 0 0;
  color: var(--ap-paper);
  font-size: 17px;
  line-height: 1.6;
}

.page-academy-programme .ap-strategy h4,
.page-academy-programme .ap-workshop h4 {
  margin: 18px 0 0;
  color: var(--ap-paper);
  font-size: clamp(28px, 3vw, 48px);
  font-weight: 600;
  letter-spacing: -.04em;
}

.page-academy-programme .ap-strategy ul,
.page-academy-programme .ap-workshop ul {
  margin-top: 22px;
  color: var(--ap-paper);
  columns: 2;
}

.page-academy-programme .ap-strategy__closing,
.page-academy-programme .ap-workshop__closing {
  font-weight: 600;
}

.page-academy-programme .ap-audience-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 58px;
  border-top: 1px solid rgba(237,241,245,.45);
  border-left: 1px solid rgba(237,241,245,.45);
}

.page-academy-programme .ap-audience-grid > div {
  min-height: 150px;
  display: flex;
  align-items: flex-end;
  padding: 20px;
  border-right: 1px solid rgba(237,241,245,.45);
  border-bottom: 1px solid rgba(237,241,245,.45);
  color: var(--ap-paper);
  font-size: 18px;
  font-weight: 600;
}

.page-academy-programme .ap-audience__intro,
.page-academy-programme .ap-audience-close {
  width: 100%;
  max-width: none;
}

.page-academy-programme .ap-audience-close {
  margin-top: 34px;
}

.page-academy-programme .ap-emphasis {
  padding-top: 18px;
  border-top: 1px solid var(--ap-black);
  font-weight: 600;
}

.page-academy-programme .ap-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 30px;
  border-top: 1px solid rgba(237,241,245,.35);
  border-left: 1px solid rgba(237,241,245,.35);
}

.page-academy-programme .ap-info-grid > div {
  min-height: 130px;
  padding: 22px;
  border-right: 1px solid rgba(237,241,245,.35);
  border-bottom: 1px solid rgba(237,241,245,.35);
}

.page-academy-programme .ap-note {
  font-size: 13px !important;
  opacity: .9;
}

.page-academy-programme .header-area {
  background: linear-gradient(180deg, rgba(39,39,39,.94) 0%, rgba(39,39,39,.58) 68%, rgba(39,39,39,0) 100%);
}

.page-academy-programme .header-area.sticky {
  background: var(--ap-black) !important;
}

.page-academy-programme .header-area .main-menu > ul > li > a,
.page-academy-programme .header-area.sticky .main-menu > ul > li > a {
  color: var(--ap-paper) !important;
}

@media (max-width: 1199px) {
  .page-academy-programme .ap-two {
    grid-template-columns: 1fr;
  }

  .page-academy-programme .ap-audience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .page-academy-programme .ap-hero__facts,
  .page-academy-programme .ap-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .page-academy-programme .ap-hero {
    padding: 130px 0 75px;
  }

  .page-academy-programme .ap-section {
    padding: 80px 0;
  }

  .page-academy-programme .ap-hero__meta,
  .page-academy-programme .ap-day__head {
    display: grid;
  }

  .page-academy-programme .ap-hero h1 {
    margin-top: 44px;
    font-size: clamp(50px, 14vw, 78px);
  }

  .page-academy-programme .ap-hero__facts,
  .page-academy-programme .ap-info-grid,
  .page-academy-programme .ap-audience-grid {
    grid-template-columns: 1fr;
  }

  .page-academy-programme .ap-day > ul,
  .page-academy-programme .ap-strategy ul,
  .page-academy-programme .ap-workshop ul {
    columns: 1;
  }

  .page-academy-programme .ap-day {
    padding: 38px 0;
  }
}


/* Programme day tabs */
.page-academy-programme .ap-programme-tabs {
  margin-top: 72px;
}

.page-academy-programme .ap-programme-tabs__nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid rgba(237,241,245,.35);
  border-left: 1px solid rgba(237,241,245,.35);
}

.page-academy-programme .ap-programme-tab {
  min-height: 96px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 18px 20px;
  border: 0;
  border-right: 1px solid rgba(237,241,245,.35);
  border-bottom: 1px solid rgba(237,241,245,.35);
  background: transparent;
  color: var(--ap-paper);
  text-align: left;
  cursor: pointer;
}

.page-academy-programme .ap-programme-tab span {
  color: var(--ap-paper);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.page-academy-programme .ap-programme-tab strong {
  color: var(--ap-green);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page-academy-programme .ap-programme-tab:hover,
.page-academy-programme .ap-programme-tab:focus-visible,
.page-academy-programme .ap-programme-tab.is-active {
  background: var(--ap-green);
  outline: 0;
}

.page-academy-programme .ap-programme-tab:hover strong,
.page-academy-programme .ap-programme-tab:focus-visible strong,
.page-academy-programme .ap-programme-tab.is-active strong {
  color: var(--ap-paper);
}

.page-academy-programme .ap-programme-tabs__panels {
  border-left: 1px solid rgba(237,241,245,.35);
  border-right: 1px solid rgba(237,241,245,.35);
  border-bottom: 1px solid rgba(237,241,245,.35);
}

.page-academy-programme .ap-day--tab {
  padding: 54px 26px 34px;
  border: 0;
}

.page-academy-programme .ap-day--tab[hidden] {
  display: none !important;
}

.page-academy-programme .ap-day__content {
  width: 100%;
  max-width: none;
}

.page-academy-programme .ap-day--tab h3 {
  max-width: none;
  width: 100%;
}

.page-academy-programme .ap-day--tab .ap-day__intro {
  max-width: none;
  width: 100%;
}

.page-academy-programme .ap-day__topics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 34px;
  width: 100%;
  max-width: none;
  margin-top: 32px !important;
  padding: 0 !important;
  list-style: none;
  columns: auto !important;
}

.page-academy-programme .ap-day__topics li {
  margin: 0;
  padding: 12px 0;
  border-bottom: 1px solid rgba(237,241,245,.18);
  color: var(--ap-paper);
}

.page-academy-programme .ap-day--tab .ap-lab,
.page-academy-programme .ap-day--tab .ap-strategy,
.page-academy-programme .ap-day--tab .ap-workshop {
  width: 100%;
  max-width: none;
}

.page-academy-programme .ap-day--tab .ap-lab p,
.page-academy-programme .ap-day--tab .ap-strategy p,
.page-academy-programme .ap-day--tab .ap-workshop p {
  max-width: none;
}

@media (max-width: 991px) {
  .page-academy-programme .ap-programme-tabs__nav {
    grid-template-columns: repeat(5, minmax(145px, 1fr));
    overflow-x: auto;
  }

  .page-academy-programme .ap-day__topics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .page-academy-programme .ap-programme-tabs {
    margin-top: 48px;
  }

  .page-academy-programme .ap-programme-tabs__nav {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }

  .page-academy-programme .ap-programme-tab {
    min-width: 150px;
    scroll-snap-align: start;
  }

  .page-academy-programme .ap-day--tab {
    padding: 34px 20px 24px;
  }

  .page-academy-programme .ap-day__topics {
    grid-template-columns: 1fr;
    gap: 0;
  }
}


/* Refinements after content review */
.page-academy-programme .ap-information__closing {
  margin-top: 54px;
}

.page-academy-programme .ap-list-label {
  margin-top: 8px !important;
  color: var(--ap-black);
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.page-academy-programme .ap-programme-lead .ap-lead-name {
  margin: 0;
  color: var(--ap-black);
  font-size: clamp(28px, 3vw, 48px);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: 1;
}

.page-academy-programme .ap-programme-lead .ap-copy {
  gap: 22px;
}

.page-academy-programme .ap-audience .ap-title-light,
.page-academy-programme .ap-audience__intro,
.page-academy-programme .ap-audience-close {
  max-width: none;
}

.page-academy-programme .ap-audience__intro {
  margin-top: 18px;
}

.page-academy-programme .ap-not-promises,
.page-academy-programme .ap-programme-lead,
.page-academy-programme .ap-information,
.page-academy-programme .ap-audience {
  padding-top: 84px;
  padding-bottom: 84px;
}

@media (max-width: 767px) {
  .page-academy-programme .ap-section {
    padding: 64px 0;
  }

  .page-academy-programme .ap-information__closing {
    margin-top: 38px;
  }

  .page-academy-programme .ap-not-promises,
  .page-academy-programme .ap-programme-lead,
  .page-academy-programme .ap-information,
  .page-academy-programme .ap-audience {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}


/* Programme Lead portrait + LinkedIn */
.page-academy-programme .ap-lead-portrait {
  width: min(360px, 100%);
  margin: 34px 0 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--ap-muted);
}

.page-academy-programme .ap-lead-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
}

.page-academy-programme .ap-lead-linkedin {
  display: inline-flex;
  width: fit-content;
  gap: 12px;
  align-items: center;
  padding: 0 0 8px;
  border-bottom: 1px solid var(--ap-black);
  color: var(--ap-black);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-academy-programme .ap-lead-linkedin:hover,
.page-academy-programme .ap-lead-linkedin:focus-visible {
  color: var(--ap-green);
  border-color: var(--ap-green);
}


.page-academy-programme .ap-lead-linkedin--below-image {
  margin-top: 16px;
}
