.course-event-booking-button {
  min-height: 72px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--course-accent-dark) 48%, transparent);
  border-radius: 14px;
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--course-accent) 84%, #fff) 0%,
    var(--course-accent) 100%);
  box-shadow:
    0 4px 0 var(--course-accent-dark),
    0 9px 18px rgba(30,43,67,.12);
  color: var(--course-accent-foreground);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.course-event-booking-button:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  box-shadow:
    0 5px 0 var(--course-accent-dark),
    0 12px 22px rgba(30,43,67,.15);
}

.course-event-booking-button:active {
  transform: translateY(3px);
  box-shadow:
    0 1px 0 var(--course-accent-dark),
    0 5px 12px rgba(30,43,67,.12);
}

.course-event-booking-button__label {
  display: grid;
  gap: 3px;
  min-width: 0;
  text-align: left;
}

.course-event-booking-button__label strong {
  font-size: .92rem;
  line-height: 1.25;
}

.course-event-booking-button__label small {
  opacity: .82;
  font-size: .7rem;
  font-weight: 700;
}

.course-event-booking-button__price {
  display: grid;
  gap: 0;
  min-width: 74px;
  text-align: right;
}

.course-event-booking-button__price strong {
  font-size: 1.15rem;
  line-height: 1;
}

.course-event-booking-button__price small {
  margin-top: 3px;
  font-size: .67rem;
  font-weight: 800;
}

.course-event-booking-button__arrow {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.22);
}

/* -------------------------------------------------------------------------
 * Event popovers: allow them to escape the expanded accordion card.
 * ---------------------------------------------------------------------- */
.course-events-section,
.course-events-accordion,
.course-event-item,
.course-event-item[open],
.course-event-card--accordion,
.course-event-modules,
.course-event-modules__heading-row,
.course-event-module-structure-fact {
  overflow: visible !important;
}

.course-event-item[open] {
  position: relative;
  z-index: 4;
}

.course-event-module-structure-fact {
  position: relative;
  z-index: 30;
}

.course-event-module-structure-fact .course-fact-popover {
  position: absolute;
  z-index: 999;
  top: calc(100% + 10px);
  right: 0;
  left: auto;
  width: min(360px, calc(100vw - 40px));
  max-width: 360px;
  white-space: normal;
  text-align: left;
  box-shadow: 0 16px 38px rgba(20, 32, 52, .18);
}

/* -------------------------------------------------------------------------
 * Pathway booking CTAs: brighter subject-orange treatment.
 * ---------------------------------------------------------------------- */
.course-event-booking-button {
  border-color: color-mix(in srgb, var(--course-accent) 72%, var(--course-accent-dark));
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--course-accent) 68%, #fff) 0%,
      color-mix(in srgb, var(--course-accent) 84%, #fff) 52%,
      var(--course-accent) 100%
    );
  box-shadow:
    0 3px 0 color-mix(in srgb, var(--course-accent-dark) 82%, #0000),
    0 10px 22px rgba(30, 43, 67, .12),
    inset 0 1px 0 rgba(255,255,255,.48);
}

.course-event-booking-button:hover {
  filter: saturate(1.07) brightness(1.045);
  transform: translateY(-2px);
  box-shadow:
    0 4px 0 color-mix(in srgb, var(--course-accent-dark) 82%, #0000),
    0 14px 27px rgba(30, 43, 67, .16),
    inset 0 1px 0 rgba(255,255,255,.56);
}

.course-event-booking-button:active {
  transform: translateY(2px);
  box-shadow:
    0 1px 0 color-mix(in srgb, var(--course-accent-dark) 82%, #0000),
    0 6px 14px rgba(30, 43, 67, .12),
    inset 0 1px 0 rgba(255,255,255,.35);
}

.course-event-booking-button__arrow {
  background: rgba(255,255,255,.32);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}

/* -------------------------------------------------------------------------
 * Pricing cards: give the commercial information a deliberate visual panel.
 * ---------------------------------------------------------------------- */
.course-price-card .course-price-footer {
  align-items: stretch;
}

.course-price-card .course-price-amount {
  width: min(100%, 260px);
  padding: 13px 15px 12px;
  border: 1px solid color-mix(in srgb, var(--course-accent) 18%, var(--course-line));
  border-radius: 13px;
  background: color-mix(in srgb, var(--course-accent-soft) 62%, #fff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.course-price-card .course-price-from {
  margin-bottom: 2px;
  color: var(--course-accent-dark);
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.course-price-card .course-price-net {
  gap: 8px;
  align-items: baseline;
}

.course-price-card .course-price-net strong {
  color: var(--course-ink);
  font-size: 1.85rem;
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.035em;
}

.course-price-card .course-price-net > span {
  color: var(--course-accent-dark);
  font-size: .76rem;
  font-weight: 800;
}

.course-price-card .course-price-tax-summary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px solid color-mix(in srgb, var(--course-accent) 14%, var(--course-line));
  color: var(--course-muted);
  font-size: .92rem;
}

.course-price-card .course-price-total {
  color: var(--course-ink);
  font-size: .99rem;
  font-weight: 850;
  letter-spacing: 0;
}

@media (max-width: 720px) {
  .course-price-card .course-price-amount {
    width: 100%;
  }
}

.course-accreditor-rationale {
  margin: 0;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid color-mix(in srgb, var(--course-accent) 25%, var(--course-line));
  border-radius: var(--course-radius);
  background: color-mix(in srgb, var(--course-accent-soft) 58%, #fff);
  box-shadow: 0 12px 32px rgba(30, 43, 67, .055);
}
.course-accreditor-rationale__entry {
  display: block;
}
.course-accreditor-rationale__entry + .course-accreditor-rationale__entry {
  margin-top: clamp(24px, 4vw, 42px);
  padding-top: clamp(24px, 4vw, 42px);
  border-top: 1px solid color-mix(in srgb, var(--course-accent) 18%, var(--course-line));
}
.course-accreditor-rationale__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(20px, 3vw, 40px);
  align-items: start;
}
.course-accreditor-rationale h2 {
  max-width: none;
  margin: 0 0 14px;
  color: var(--course-ink);
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.2;
}
.course-accreditor-rationale__copy {
  width: 100%;
  max-width: none;
  margin-top: 10px;
  color: var(--course-muted);
  font-size: .95rem;
  line-height: 1.68;
}
.course-accreditor-rationale__copy h2,
.course-accreditor-rationale__copy h3,
.course-accreditor-rationale__copy h4,
.course-accreditor-rationale__copy h5,
.course-accreditor-rationale__copy h6 {
  margin: 1.6rem 0 .65rem;
  color: #111;
  font-weight: 700;
  line-height: 1.4;
}
.course-accreditor-rationale__copy p,
.course-accreditor-rationale__copy li {
  -webkit-hyphens: none;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}
.course-accreditor-rationale__copy > :first-child {
  margin-top: 0;
}
.course-accreditor-rationale__copy > :last-child {
  margin-bottom: 0;
}
.course-accreditor-rationale__bodies {
  justify-self: end;
}
.course-accreditor-rationale__body {
  display: grid;
  justify-items: end;
  min-width: 150px;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: right;
}
.course-accreditor-rationale__body img {
  display: block;
  width: auto;
  max-width: 180px;
  height: auto;
  max-height: 88px;
  object-fit: contain;
}
.course-accreditor-rationale__body-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--course-accent-soft);
  color: var(--course-accent-dark);
  font-size: 1.2rem;
}
/* Complete the page designer's container controls for the accreditor rationale. */
.course-page-band--container-flat[data-course-section-key="accreditor-rationale"] .course-accreditor-rationale {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.course-page-band--container-panel[data-course-section-key="accreditor-rationale"] .course-accreditor-rationale {
  background: var(--course-container-background) !important;
  border-width: var(--course-container-border-width) !important;
  border-style: var(--course-container-border-style) !important;
  border-color: var(--course-container-border-colour) !important;
  border-radius: var(--course-container-radius) !important;
  box-shadow: var(--course-container-shadow) !important;
}
.course-page-band--container-existing[data-course-section-key="accreditor-rationale"][data-course-container-border-style]:not([data-course-container-border-style="0"]) .course-accreditor-rationale {
  border-style: var(--course-container-border-style) !important;
}
.course-page-band--container-existing[data-course-section-key="accreditor-rationale"][data-course-container-background]:not([data-course-container-background="0"]) .course-accreditor-rationale {
  background: var(--course-container-background) !important;
}
.course-page-band--container-existing[data-course-section-key="accreditor-rationale"][data-course-container-border-colour]:not([data-course-container-border-colour="0"]) .course-accreditor-rationale {
  border-color: var(--course-container-border-colour) !important;
}
.course-page-band--container-existing[data-course-section-key="accreditor-rationale"][data-course-container-border-thickness]:not([data-course-container-border-thickness="0"]) .course-accreditor-rationale {
  border-width: var(--course-container-border-width) !important;
}
.course-page-band--container-existing[data-course-section-key="accreditor-rationale"][data-course-container-radius]:not([data-course-container-radius="0"]) .course-accreditor-rationale {
  border-radius: var(--course-container-radius) !important;
}
.course-page-band--container-existing[data-course-section-key="accreditor-rationale"][data-course-container-shadow]:not([data-course-container-shadow="0"]) .course-accreditor-rationale {
  box-shadow: var(--course-container-shadow) !important;
}
.course-page-band--heading-left[data-course-section-key="accreditor-rationale"] .course-accreditor-rationale__content,
.course-page-band--heading-left[data-course-section-key="accreditor-rationale"] .course-accreditor-rationale h2 {
  text-align: left !important;
}
.course-page-band--heading-centre[data-course-section-key="accreditor-rationale"] .course-accreditor-rationale__content,
.course-page-band--heading-centre[data-course-section-key="accreditor-rationale"] .course-accreditor-rationale h2 {
  margin-right: auto;
  margin-left: auto;
  text-align: center !important;
}

@media (max-width: 760px) {
  .course-accreditor-rationale {
    padding: 22px;
  }
  .course-accreditor-rationale__header {
    grid-template-columns: 1fr;
  }
  .course-accreditor-rationale__bodies {
    grid-row: 1;
    justify-self: end;
  }
  .course-accreditor-rationale__body img {
    max-width: 150px;
    max-height: 72px;
  }
}

.course-dual-accreditation-value {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin: 20px 0 0;
  padding: 20px;
  border: 1px solid color-mix(in srgb, var(--course-accent) 38%, var(--course-line));
  border-radius: 14px;
  background: color-mix(in srgb, var(--course-accent-soft) 72%, #fff);
  box-shadow: 0 7px 20px rgba(30, 43, 67, .035);
}
.course-dual-accreditation-value--has-bodies {
  grid-template-columns: auto minmax(0, 1fr) minmax(190px, 235px);
}
.course-dual-accreditation-value__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #fff;
  color: var(--course-accent-dark);
  box-shadow: 0 4px 12px rgba(30, 43, 67, .06);
}
.course-dual-accreditation-value__eyebrow {
  margin: 0 0 4px;
  color: var(--course-accent-dark);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .09em;
  line-height: 1.35;
  text-transform: uppercase;
}
.course-dual-accreditation-value h3 {
  margin: 0 0 8px;
  color: var(--course-ink);
  font-size: 1.05rem;
  line-height: 1.3;
}
.course-dual-accreditation-value__content > p {
  margin: 0;
  color: var(--course-muted);
  font-size: .8rem;
  line-height: 1.52;
  -webkit-hyphens: none;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}
.course-dual-accreditation-value__content > p + p {
  margin-top: 7px;
}
.course-dual-accreditation-value__benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  margin-top: 12px;
}
.course-dual-accreditation-value__benefits span {
  display: inline-flex;
  gap: 6px;
  align-items: flex-start;
  color: var(--course-ink);
  font-size: .72rem;
  font-weight: 750;
  line-height: 1.4;
}
.course-dual-accreditation-value__benefits i,
.course-dual-accreditation-value__direction i {
  margin-top: 2px;
  color: var(--course-accent-dark);
}
.course-dual-accreditation-value__content > p.course-dual-accreditation-value__direction {
  margin-top: 12px;
  color: var(--course-ink);
  font-size: .72rem;
}
.course-dual-accreditation-value__bodies {
  display: grid;
  gap: 8px;
}
.course-dual-accreditation-value__body {
  display: grid;
  gap: 9px;
  justify-items: center;
  padding: 13px;
  border: 1px solid color-mix(in srgb, var(--course-accent) 25%, var(--course-line));
  border-radius: 11px;
  background: rgba(255, 255, 255, .82);
  text-align: center;
}
.course-dual-accreditation-value__body img {
  display: block;
  width: auto;
  max-width: 145px;
  height: auto;
  max-height: 62px;
  object-fit: contain;
}
.course-dual-accreditation-value__body-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--course-accent-soft);
  color: var(--course-accent-dark);
}
.course-dual-accreditation-value__body small,
.course-dual-accreditation-value__body strong {
  display: block;
}
.course-dual-accreditation-value__body small {
  color: var(--course-muted);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1.35;
  text-transform: uppercase;
}
.course-dual-accreditation-value__body strong {
  margin-top: 3px;
  color: var(--course-ink);
  font-size: .75rem;
  line-height: 1.35;
}
.course-dual-accreditation-value + .course-pricing-principles {
  margin-top: 12px;
}
.course-pricing-principles {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin: 20px 0 0;
  padding: 18px 20px;
  border: 1px solid color-mix(in srgb, var(--course-accent) 24%, var(--course-line));
  border-radius: 14px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 7px 20px rgba(30, 43, 67, .035);
}
.course-pricing-principles__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: var(--course-accent-soft);
  color: var(--course-accent-dark);
}
.course-pricing-principles h3 {
  margin: 0 0 8px;
  color: var(--course-ink);
  font-size: 1rem;
  line-height: 1.3;
}
.course-pricing-principles__copy {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: 20px;
}
.course-pricing-principles__copy p {
  margin: 0;
  color: var(--course-muted);
  font-size: .82rem;
  line-height: 1.55;
  -webkit-hyphens: none;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}
.course-pricing-principles__tagline {
  margin: 16px 0 0;
  padding-top: 13px;
  border-top: 1px solid color-mix(in srgb, var(--course-accent) 18%, var(--course-line));
  color: var(--course-accent-dark);
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.45;
}
.course-provider-comparison {
  margin: 12px 0 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--course-accent) 24%, var(--course-line));
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(30, 43, 67, .03);
}
.course-provider-comparison summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 17px;
  color: var(--course-ink);
  cursor: pointer;
  list-style: none;
  transition: background-color .18s ease;
}
.course-provider-comparison summary::-webkit-details-marker {
  display: none;
}
.course-provider-comparison summary:hover,
.course-provider-comparison summary:focus-visible {
  background: color-mix(in srgb, var(--course-accent-soft) 52%, #fff);
}
.course-provider-comparison summary:focus-visible {
  outline: 2px solid var(--course-accent);
  outline-offset: -2px;
}
.course-provider-comparison__summary-icon,
.course-provider-comparison__item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--course-accent-soft);
  color: var(--course-accent-dark);
}
.course-provider-comparison__summary-copy {
  display: flex;
  gap: 7px;
  align-items: baseline;
  min-width: 0;
}
.course-provider-comparison__summary-copy strong {
  font-size: .9rem;
}
.course-provider-comparison__summary-copy > span {
  color: var(--course-muted);
  font-size: .8rem;
}
.course-provider-comparison__chevron {
  color: var(--course-accent-dark);
  font-size: .78rem;
  transition: transform .2s ease;
}
.course-provider-comparison[open] .course-provider-comparison__chevron {
  transform: rotate(180deg);
}
.course-provider-comparison__body {
  padding: 17px;
  border-top: 1px solid var(--course-line);
  background: color-mix(in srgb, var(--course-accent-soft) 26%, #fff);
}
.course-provider-comparison__intro {
  margin: 0 0 14px;
  color: var(--course-muted);
  font-size: .86rem;
  line-height: 1.5;
}
.course-provider-comparison__intro strong {
  color: var(--course-ink);
}
.course-provider-comparison__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.course-provider-comparison__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  min-width: 0;
  padding: 13px;
  border: 1px solid color-mix(in srgb, var(--course-accent) 14%, var(--course-line));
  border-radius: 11px;
  background: rgba(255, 255, 255, .82);
}
.course-provider-comparison__item-icon {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  font-size: .78rem;
}
.course-provider-comparison__item h4 {
  margin: 0 0 5px;
  color: var(--course-ink);
  font-size: .82rem;
  line-height: 1.35;
}
.course-provider-comparison__item p {
  margin: 0;
  color: var(--course-muted);
  font-size: .75rem;
  line-height: 1.48;
  -webkit-hyphens: none;
  hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
}
.course-comparison-evidence-link {
  display: inline-block;
  margin-top: 8px;
  color: var(--course-accent-dark);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.course-comparison-evidence-link:hover,
.course-comparison-evidence-link:focus-visible {
  color: var(--course-accent);
}
#learning-experience,
#course-tutors-title {
  scroll-margin-top: 120px;
}
.course-pricing-next-step { display:flex; justify-content:center; align-items:center; gap:9px; margin:20px auto 0; padding:2px 16px 0; color:var(--course-muted); font-size:.88rem; font-weight:650; line-height:1.4; text-align:center; }
.course-pricing-next-step i { color:var(--course-accent); font-size:.95rem; }
@media (max-width: 980px) {
  .course-dual-accreditation-value--has-bodies {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .course-dual-accreditation-value__bodies {
    grid-column: 2;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }
  .course-provider-comparison__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .course-dual-accreditation-value,
  .course-dual-accreditation-value--has-bodies {
    grid-template-columns: 1fr;
    padding: 16px;
  }
  .course-dual-accreditation-value__bodies {
    grid-column: auto;
  }
  .course-pricing-principles {
    grid-template-columns: 1fr;
    padding: 16px;
  }
  .course-pricing-principles__copy {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .course-provider-comparison__summary-copy {
    display: block;
  }
  .course-provider-comparison__summary-copy > span {
    display: block;
    margin-top: 2px;
  }
}
@media (max-width: 620px) {
  .course-provider-comparison summary,
  .course-provider-comparison__body {
    padding: 14px;
  }
  .course-provider-comparison__grid {
    grid-template-columns: 1fr;
  }
}

.inter-module-task-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  margin: 12px 0;
  padding: 14px 16px;
  border: 1px dashed color-mix(in srgb, var(--course-accent) 34%, var(--course-line));
  border-radius: 14px;
  background: color-mix(in srgb, var(--course-accent-soft) 52%, #fff);
}

.inter-module-task-card__icon,
.qualification-identity-panel__icon {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  background: var(--course-accent-soft);
  color: var(--course-accent);
}

.inter-module-task-card__kicker,
.qualification-identity-panel__kicker {
  color: var(--course-accent-dark);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.inter-module-task-card h4 {
  margin: 2px 0 3px;
  color: var(--course-ink);
  font-size: .94rem;
}

.inter-module-task-card p {
  margin: 0;
  color: var(--course-muted);
  font-size: .82rem;
  line-height: 1.5;
}

.qualification-pathway-title {
  display: flex !important;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
}

.qualification-pathway-title small {
  color: var(--course-muted);
  font-size: .75rem;
  font-weight: 600;
  font-style: italic;
  text-transform: none;
}

.qualification-identity-panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin-bottom: 18px;
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--course-accent) 18%, var(--course-line));
  border-radius: 14px;
  background: color-mix(in srgb, var(--course-accent-soft) 48%, #fff);
}

.qualification-identity-panel h3 {
  margin: 2px 0 3px;
  color: var(--course-ink);
  font-size: 1.15rem;
}

.qualification-identity-panel__subject {
  color: var(--course-muted);
  font-size: .87rem;
  font-style: italic;
}

.course-details-kicker {
  margin-bottom: 8px;
}

/* Qualification pathway support allocation */
.qualification-credit-requirement{
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:20px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--course-accent,#ce8147) 24%,var(--course-line));
  border-radius:12px;
  background:color-mix(in srgb,var(--course-accent-soft,#fbf2ec) 48%,#fff);
}
.qualification-credit-requirement__icon{
  display:flex;
  width:38px;
  height:38px;
  flex:0 0 38px;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:rgba(206,129,71,.13);
  color:var(--course-accent,#ce8147);
}
.qualification-credit-requirement > span:last-child{
  display:grid;
  gap:2px;
}
.qualification-credit-requirement small{
  color:var(--course-accent-dark,#a35422);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.qualification-credit-requirement strong{
  color:var(--course-ink);
  font-size:1rem;
}
.qualification-credit-requirement > span:last-child > span{
  color:var(--course-muted);
  font-size:.88rem;
  line-height:1.45;
}
.qualification-support-panel{
  margin-top:20px;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--course-accent,#ce8147) 18%,var(--course-line));
  border-radius:12px;
  background:color-mix(in srgb,var(--course-accent-soft,#fbf2ec) 48%,#fff);
}
.qualification-support-panel__heading{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.qualification-support-panel__icon{
  display:flex;
  width:38px;
  height:38px;
  flex:0 0 38px;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:rgba(206,129,71,.12);
  color:var(--course-accent,#ce8147);
}
.qualification-support-panel__heading h4{
  margin:0 0 3px;
}
.qualification-support-panel__heading p{
  margin:0;
  color:var(--course-muted);
}
.qualification-support-group{
  margin-top:15px;
}
.qualification-support-group + .qualification-support-group{
  padding-top:14px;
  border-top:1px solid color-mix(in srgb,var(--course-accent,#ce8147) 14%,var(--course-line));
}
.qualification-support-group__label{
  display:block;
  color:var(--course-accent-dark,#a35422);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.qualification-support-pills{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:14px;
}
.qualification-support-group .qualification-support-pills{
  margin-top:7px;
}
.qualification-support-pill-wrap{
  max-width:100%;
}
.qualification-support-pill{
  display:inline-flex;
  min-height:40px;
  max-width:100%;
  gap:8px;
  align-items:center;
  padding:8px 11px 8px 13px;
  border:1px solid var(--course-line);
  border-radius:999px;
  background:#fff;
  color:var(--course-ink);
  box-shadow:0 2px 7px rgba(30,43,67,.035);
  font-size:.84rem;
  font-weight:800;
  line-height:1.25;
}
.qualification-support-pill > span{
  min-width:0;
}
.qualification-support-pill > strong{
  padding:3px 7px;
  border-radius:999px;
  background:var(--course-accent-soft,#fbf2ec);
  color:var(--course-accent-dark,#a35422);
  font-size:.72rem;
  line-height:1.25;
  white-space:nowrap;
}
.qualification-support-pill > i{
  color:var(--course-accent,#ce8147);
  font-size:.76rem;
}
.qualification-support-pill--requirement{
  background:var(--course-soft,#f8fafc);
}
.qualification-support-pill--requirement > strong{
  background:#fff;
}
.qualification-support-pill.course-fact-trigger:hover,
.qualification-support-pill.course-fact-trigger:focus-visible,
.qualification-support-pill.course-fact-trigger[aria-expanded="true"]{
  border-color:color-mix(in srgb,var(--course-accent,#ce8147) 38%,var(--course-line));
  background:color-mix(in srgb,var(--course-accent-soft,#fbf2ec) 58%,#fff);
}
.qualification-support-pill-wrap .course-fact-popover{
  width:min(340px,78vw);
}
.qualification-support-pill-wrap--time .course-fact-popover{
  width:min(430px,78vw);
}
.qualification-support-pill-wrap:last-child .course-fact-popover{
  right:0;
  left:auto;
}
.qualification-support-pill-wrap:last-child .course-fact-popover::before{
  right:22px;
  left:auto;
}
.qualification-alumni-support{
  padding:15px;
  border:1px solid color-mix(in srgb,var(--course-accent,#ce8147) 20%,var(--course-line));
  border-radius:10px;
  background:#fff;
}
.qualification-alumni-support--separated{
  margin-top:16px;
}
.qualification-alumni-support__heading{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.qualification-alumni-support__icon{
  display:flex;
  width:34px;
  height:34px;
  flex:0 0 34px;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:rgba(206,129,71,.12);
  color:var(--course-accent,#ce8147);
}
.qualification-alumni-support__heading h5{
  margin:0 0 3px;
  color:var(--course-ink);
  font-size:.98rem;
}
.qualification-alumni-support__heading p{
  margin:0;
  color:var(--course-muted);
  font-size:.88rem;
  line-height:1.5;
}
.qualification-support-pills--alumni{
  margin-top:12px;
}
.qualification-support-pill--alumni{
  min-height:36px;
  padding-top:7px;
  padding-bottom:7px;
  background:var(--course-soft,#f8fafc);
}

.qualification-support-panel:has(.qualification-support-pill-wrap.is-open),
.qualification-alumni-support:has(.qualification-support-pill-wrap.is-open){
  position:relative;
  z-index:30;
}

.qualification-ofqual-record{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border:1px solid var(--course-line);
  border-radius:12px;
  background:var(--course-soft,#f8fafc);
}
.qualification-ofqual-record__icon{
  display:flex;
  width:38px;
  height:38px;
  flex:0 0 38px;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:rgba(206,129,71,.12);
  color:var(--course-accent,#ce8147);
}
.qualification-ofqual-record__copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.qualification-ofqual-record__copy small{
  color:var(--course-accent-dark,#a35422);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.qualification-ofqual-record__copy strong{
  color:var(--course-ink);
  font-size:.96rem;
}
.qualification-ofqual-record__copy > span{
  color:var(--course-muted);
  font-size:.84rem;
  line-height:1.4;
}
.qualification-ofqual-record__copy > .qualification-ofqual-record__note{
  margin-top:2px;
  color:var(--course-ink);
}
.qualification-ofqual-record__note b{
  font-weight:800;
}
.qualification-ofqual-record__actions{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:flex-end;
}
.qualification-ofqual-record__brand{
  display:flex;
  width:92px;
  min-height:48px;
  align-items:center;
  justify-content:center;
}
.qualification-ofqual-record__brand img{
  display:block;
  max-width:92px;
  max-height:52px;
  object-fit:contain;
}
.qualification-ofqual-record__brand--pathway-logo{
  width:110px;
  min-height:56px;
}
.qualification-ofqual-record__brand--pathway-logo img{
  max-width:110px;
  max-height:60px;
}
.qualification-ofqual-record__link{
  display:inline-flex;
  gap:7px;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border:1px solid color-mix(in srgb,var(--course-accent,#ce8147) 34%,var(--course-line));
  border-radius:999px;
  background:#fff;
  color:var(--course-accent-dark,#a35422);
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
}
.qualification-ofqual-record__link:hover,
.qualification-ofqual-record__link:focus-visible{
  border-color:var(--course-accent,#ce8147);
  background:color-mix(in srgb,var(--course-accent-soft,#fbf2ec) 58%,#fff);
  color:var(--course-accent-dark,#a35422);
  text-decoration:none;
}
@media (max-width:639px){
  .qualification-ofqual-record{
    grid-template-columns:auto minmax(0,1fr);
  }
  .qualification-ofqual-record__actions{
    grid-column:1 / -1;
    width:100%;
  }
  .qualification-ofqual-record__actions .qualification-ofqual-record__link{
    width:auto;
    flex:1 1 auto;
  }
}

/* Qualification Details: make each pathway header the identity card itself. */
.qualification-accordion {
  margin-top: 26px !important;
}

.qualification-accordion > li {
  margin: 0 0 12px !important;
  overflow: hidden;
  border: 1px solid var(--course-line) !important;
  border-radius: 14px;
  background: #fff;
}

.qualification-accordion > li:has(.qualification-support-pill-wrap.is-open) {
  position:relative;
  z-index:20;
  overflow:visible;
}

.qualification-accordion > li:last-child {
  border-bottom: 1px solid var(--course-line) !important;
}

.qualification-pathway-title {
  position: relative;
  display: grid !important;
  gap: 3px;
  min-height: 74px;
  padding: 16px 58px 16px 64px !important;
  color: var(--course-ink) !important;
  background: color-mix(in srgb, var(--course-accent-soft) 35%, #fff);
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.25;
}

.qualification-pathway-title::after {
  content: '\f19d';
  position: absolute;
  left: 18px;
  top: 50%;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  border-radius: 10px;
  background: var(--course-accent-soft);
  color: var(--course-accent);
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
}

/* Keep UIKit's accordion indicator but move it to the right so it reads as
   part of the pathway header rather than a detached +/- symbol. */
.qualification-pathway-title::before {
  position: absolute !important;
  right: 18px !important;
  left: auto !important;
  top: 50% !important;
  margin: 0 !important;
  transform: translateY(-50%);
}

.qualification-pathway-title small {
  display: block;
  color: var(--course-muted);
  font-size: .8rem;
  font-weight: 650;
  font-style: normal;
}

.qualification-accordion > li.uk-open > .qualification-pathway-title {
  background: color-mix(in srgb, var(--course-accent-soft) 58%, #fff);
  color: var(--course-accent-dark) !important;
}

.qualification-accordion .uk-accordion-content {
  margin: 0;
  padding: 20px 22px 22px;
  border-top: 1px solid var(--course-line);
}

.qualification-pathway-copy {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin-bottom: 18px;
  color: var(--course-muted);
  font-size: .94rem;
  line-height: 1.65;
}

.qualification-pathway-copy > .pw-edit {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

.qualification-pathway-copy p:first-child { margin-top: 0; }
.qualification-pathway-copy p:last-child { margin-bottom: 0; }

.qualification-accordion .uk-table {
  margin-top: 12px;
  border: 1px solid var(--course-line);
  border-radius: 10px;
  overflow: hidden;
}

/* Calm, coordinated qualification status colours. */
.qualification-accordion .uk-table .uk-label:not(.uk-label-success) {
  background: #4f6680;
  color: #fff;
}

.qualification-accordion .uk-table .uk-label-success {
  background: #4f806d;
  color: #fff;
}

@media (max-width: 640px) {
  .qualification-pathway-title {
    padding-left: 56px !important;
    padding-right: 48px !important;
  }

  .qualification-pathway-title::after {
    left: 13px;
  }

  .qualification-pathway-title::before {
    right: 12px !important;
  }
}

/* CPD & Attendance: benefit-led summary */
.cpd-intro-copy {
  max-width: 1080px;
  color: var(--course-muted);
  font-size: .96rem;
  line-height: 1.65;
}

.cpd-benefits-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, 290px);
  gap: 18px;
  padding: 20px;
  border: 1px solid color-mix(in srgb, var(--course-accent) 16%, var(--course-line));
  border-radius: 16px;
  background: color-mix(in srgb, var(--course-accent-soft) 36%, #fff);
}

.cpd-benefits-main {
  min-width: 0;
}

.cpd-benefit-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.cpd-benefit-stat {
  min-height: 142px;
  padding: 15px 16px;
  border: 1px solid color-mix(in srgb, var(--course-accent) 12%, var(--course-line));
  border-radius: 13px;
  background: rgba(255,255,255,.82);
}

.cpd-benefit-stat__icon {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  margin-bottom: 11px;
  border-radius: 10px;
  background: var(--course-accent-soft);
  color: var(--course-accent);
  font-size: .92rem;
}

.cpd-benefit-stat__value {
  color: var(--course-ink);
  font-size: 2rem;
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.035em;
}

.cpd-benefit-stat__value--text {
  max-width: 180px;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0;
}

.cpd-benefit-stat__label {
  margin-top: 7px;
  color: var(--course-muted);
  font-size: .78rem;
  font-weight: 650;
  line-height: 1.4;
}

.cpd-benefits-note {
  display: flex;
  gap: 9px;
  align-items: center;
  margin-top: 14px;
  padding: 11px 13px;
  border-radius: 11px;
  background: #fff;
  color: var(--course-muted);
  font-size: .82rem;
}

.cpd-benefits-note i {
  color: var(--course-accent);
}

.cpd-recognition-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 190px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--course-accent) 14%, var(--course-line));
  border-radius: 13px;
  background: #fff;
  text-align: center;
}

.cpd-recognition-panel__kicker {
  margin-bottom: 12px;
  color: var(--course-accent-dark);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.cpd-recognition-logo {
  appearance: none;
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: center;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.cpd-recognition-logo--static {
  cursor: default;
}

.cpd-recognition-logo img {
  display: block;
  max-width: 180px;
  max-height: 82px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.cpd-recognition-panel__title {
  color: var(--course-ink);
  font-size: .86rem;
}

.cpd-recognition-learn-more {
  appearance: none;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  margin-top: 11px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--course-accent-dark);
  font-size: .75rem;
  font-weight: 750;
  cursor: pointer;
}

.cpd-recognition-learn-more:hover {
  color: var(--course-accent);
}

@media (max-width: 900px) {
  .cpd-benefits-panel {
    grid-template-columns: 1fr;
  }

  .cpd-recognition-panel {
    min-height: 0;
  }
}

@media (max-width: 650px) {
  .cpd-benefit-stats {
    grid-template-columns: 1fr;
  }

  .cpd-benefit-stat {
    min-height: 0;
  }
}

.pre-registration-task-card {
  margin-top: 18px;
  border-color: color-mix(in srgb, var(--course-accent) 25%, var(--course-line));
  background: color-mix(in srgb, var(--course-accent-soft) 58%, #fff);
}

.pre-registration-task-card .inter-module-task-card__icon {
  background: color-mix(in srgb, var(--course-accent-soft) 82%, #fff);
}

html {
  scroll-behavior: smooth;
}

#available-course-dates {
  scroll-margin-top: 24px;
}

.course-pricing-events-link {
  color: var(--course-accent-dark);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.course-pricing-events-link:hover,
.course-pricing-events-link:focus-visible {
  color: var(--course-accent);
}

.pre-registration-task-card p + p {
  margin-top: 10px;
}

/* Course overview + upcoming dates composition */
.course-overview-events-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(300px, .86fr);
  gap: 34px;
  align-items: stretch;
}

.course-overview-events-grid--single {
  grid-template-columns: 1fr;
}

.course-overview-events-grid .course-overview-section {
  min-width: 0;
}

.course-events-mini--overview {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 320px;
  padding: 26px;
  border: 1px solid color-mix(in srgb, var(--course-accent) 15%, var(--course-line));
  border-radius: var(--course-radius);
  background: color-mix(in srgb, var(--course-accent-soft) 42%, #fff);
  box-shadow: 0 9px 24px rgba(30,43,67,.045);
}

.course-events-mini__icon {
  display: inline-flex;
  width: 46px;
  height: 46px;
  margin-bottom: 20px;
  align-items: center;
  justify-content: center;
  flex: 0 0 46px;
  border-radius: 13px;
  background: var(--course-accent-soft);
  color: var(--course-accent);
  font-size: 1.05rem;
}

.course-events-mini__intro .course-section-kicker {
  margin-bottom: 6px;
}

.course-events-mini__intro h2 {
  margin: 0;
  color: var(--course-ink);
  font-size: 1.35rem;
  line-height: 1.25;
}

.course-events-mini__stats {
  display: grid;
  gap: 0;
  margin-top: 24px;
  border-top: 1px solid color-mix(in srgb, var(--course-accent) 14%, var(--course-line));
  border-bottom: 1px solid color-mix(in srgb, var(--course-accent) 14%, var(--course-line));
}

.course-events-mini__stat {
  display: grid;
  gap: 4px;
  padding: 16px 0;
}

.course-events-mini__stat + .course-events-mini__stat {
  border-top: 1px solid color-mix(in srgb, var(--course-accent) 10%, var(--course-line));
}

.course-events-mini__stat span {
  color: var(--course-muted);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.course-events-mini__stat strong {
  color: var(--course-ink);
  font-size: 1rem;
  line-height: 1.3;
}

.course-events-mini__link {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 20px;
  color: var(--course-accent-dark);
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.4;
  text-decoration: none;
}

.course-events-mini__link i {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  border-radius: 50%;
  background: var(--course-accent-soft);
  color: var(--course-accent);
  transition: transform .18s ease;
}

.course-events-mini__link:hover,
.course-events-mini__link:focus-visible {
  color: var(--course-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.course-events-mini__link:hover i,
.course-events-mini__link:focus-visible i {
  transform: translateY(2px);
}

@media (max-width: 980px) {
  .course-overview-events-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .course-events-mini--overview {
    min-height: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0 18px;
  }

  .course-events-mini__icon {
    grid-row: 1 / 3;
    margin-bottom: 0;
  }

  .course-events-mini__stats,
  .course-events-mini__link {
    grid-column: 1 / -1;
  }

  .course-events-mini__stats {
    grid-template-columns: 1fr 1fr;
    margin-top: 20px;
  }

  .course-events-mini__stat {
    padding: 15px 0;
  }

  .course-events-mini__stat + .course-events-mini__stat {
    padding-left: 20px;
    border-top: 0;
    border-left: 1px solid color-mix(in srgb, var(--course-accent) 10%, var(--course-line));
  }

  .course-events-mini__link {
    margin-top: 0;
  }
}

@media (max-width: 600px) {
  .course-overview-events-grid {
    gap: 20px;
  }

  .course-events-mini--overview {
    display: block;
    padding: 20px;
  }

  .course-events-mini__icon {
    margin-bottom: 16px;
  }

  .course-events-mini__stats {
    display: grid;
    grid-template-columns: 1fr;
  }

  .course-events-mini__stat + .course-events-mini__stat {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--course-accent) 10%, var(--course-line));
  }
}

.cpd-recognition-panel .cpd-recognition-logo {
  display: flex;
  width: 100%;
  min-height: 78px;
  margin: 12px auto 10px;
  padding: 4px 10px;
  align-items: center;
  justify-content: center;
}

.cpd-recognition-panel .cpd-recognition-logo img {
  display: block;
  width: auto;
  max-width: 150px;
  max-height: 72px;
  object-fit: contain;
}

.cpd-recognition-debug {
  display:block;
  margin-top:8px;
  color:#9a5a2d;
  font-size:.68rem;
}

/* CPD Recognition card: slightly larger logo and balanced vertical spacing */
.cpd-recognition-panel {
  justify-content: center;
}

.cpd-recognition-panel__kicker {
  margin-bottom: 14px;
}

.cpd-recognition-panel .cpd-recognition-logo {
  min-height: 88px;
  margin: 0 auto 14px;
  padding: 0 10px;
}

.cpd-recognition-panel .cpd-recognition-logo img {
  max-width: 170px;
  max-height: 86px;
}

.cpd-recognition-panel__title {
  margin: 0;
}

.course-fact-popover__direction {
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(0,0,0,.08);
  color:var(--course-muted);
  font-size:.78rem;
  font-weight:600;
  line-height:1.45;
  text-transform:none;
  letter-spacing:normal;
}
.course-fact-popover__direction i {
  flex:0 0 auto;
  margin-top:.25em;
  color:var(--course-accent);
  font-size:.72rem;
}
.course-fact-popover__direction strong {
  color:var(--course-ink);
  font-size:inherit;
}

#deep-dive-details,
#guided-learning,
#cpd-attendance {
  scroll-margin-top: 100px;
}

.course-fact-detail-link {
  color: var(--course-accent-dark);
  font-weight: 800;
  line-height: 1.4;
  text-decoration: none;
}

.course-fact-detail-link:hover,
.course-fact-detail-link:focus-visible {
  color: var(--course-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Keep the Deep Dive section below the site's fixed header stacking layer. */
#deep-dive-details {
  position: relative;
  z-index: 1;
  isolation: isolate;
}

#deep-dive-details .course-agenda-facts,
#deep-dive-details .course-fact-popover-wrap,
#deep-dive-details .agenda-fact {
  position: relative;
  z-index: 2;
}

#deep-dive-details .course-fact-popover-wrap.is-open {
  z-index: 10;
}

#deep-dive-details .course-fact-popover {
  z-index: 20;
}

.qualification-pathway-title {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 24px !important;
  padding-right: 68px !important;
}

.qualification-pathway-title__copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.qualification-pathway-accreditation {
  display: grid;
  gap: 5px;
  justify-items: center;
  align-items: center;
  min-width: 150px;
  padding-right: 8px;
}

.qualification-pathway-accreditation__logos {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: center;
}

.qualification-pathway-accreditation__logo {
  display: flex;
  min-width: 76px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  color: var(--course-muted);
  font-size: .7rem;
  font-weight: 750;
  text-align: center;
}

.qualification-pathway-accreditation__logo img {
  display: block;
  width: auto;
  max-width: 112px;
  max-height: 46px;
  object-fit: contain;
}

.qualification-pathway-accreditation__label {
  color: var(--course-muted);
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .055em;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .qualification-pathway-title {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-right: 52px !important;
  }

  .qualification-pathway-accreditation {
    justify-self: start;
    justify-items: start;
    min-width: 0;
    padding-right: 0;
  }

  .qualification-pathway-accreditation__logos {
    justify-content: flex-start;
  }

  .qualification-pathway-accreditation__label {
    text-align: left;
  }
}

/* Qualification Details:
   course icon | primary accreditor | pathway title | dual accreditor */
.qualification-pathway-title {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 18px !important;
  padding-left: 64px !important;
  padding-right: 68px !important;
}

.qualification-pathway-primary-accreditor {
  display: flex;
  width: 92px;
  min-width: 92px;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  color: var(--course-muted);
  font-size: .68rem;
  font-weight: 750;
  line-height: 1.15;
  text-align: center;
}

.qualification-pathway-primary-accreditor img {
  display: block;
  width: auto;
  max-width: 88px;
  max-height: 50px;
  object-fit: contain;
}

.qualification-pathway-primary-accreditor--pathway-logo {
  width: 108px;
  min-width: 108px;
  min-height: 58px;
}

.qualification-pathway-primary-accreditor--pathway-logo img {
  max-width: 104px;
  max-height: 58px;
}

.qualification-pathway-title__copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.qualification-pathway-dual-accreditation {
  display: grid;
  gap: 5px;
  min-width: 150px;
  justify-items: center;
  align-items: center;
  padding-right: 8px;
}

.qualification-pathway-dual-accreditation__logo {
  display: flex;
  min-width: 105px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  color: var(--course-muted);
  font-size: .7rem;
  font-weight: 750;
  text-align: center;
}

.qualification-pathway-dual-accreditation__logo img {
  display: block;
  width: auto;
  max-width: 130px;
  max-height: 46px;
  object-fit: contain;
}

.qualification-pathway-dual-accreditation__logo--pathway-logo {
  min-width: 124px;
  min-height: 50px;
}

.qualification-pathway-dual-accreditation__logo--pathway-logo img {
  max-width: 148px;
  max-height: 54px;
}

.qualification-pathway-dual-accreditation__label {
  color: var(--course-muted);
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .055em;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .qualification-pathway-title {
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 12px 14px !important;
    padding-left: 56px !important;
    padding-right: 48px !important;
  }

  .qualification-pathway-primary-accreditor {
    width: 72px;
    min-width: 72px;
  }

  .qualification-pathway-primary-accreditor img {
    max-width: 68px;
    max-height: 42px;
  }

  .qualification-pathway-primary-accreditor--pathway-logo {
    width: 88px;
    min-width: 88px;
    min-height: 48px;
  }

  .qualification-pathway-primary-accreditor--pathway-logo img {
    max-width: 84px;
    max-height: 48px;
  }

  .qualification-pathway-dual-accreditation {
    grid-column: 1 / -1;
    justify-self: start;
    justify-items: start;
    min-width: 0;
    margin-left: 76px;
    padding-right: 0;
  }

  .qualification-pathway-dual-accreditation__label {
    text-align: left;
  }
}

/* Course brochure promotion */
#course-brochure-title {
    text-wrap: balance;
}

.course-brochure-copy-to-keep {
    margin-top: 1rem !important;
}

.course-brochure-promo {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 18px auto 0;
  padding: 12px 16px;
  border: 1px solid color-mix(in srgb, var(--course-accent) 18%, var(--course-line));
  border-radius: 12px;
  background: color-mix(in srgb, var(--course-accent-soft) 34%, #fff);
}

.course-brochure-marketing-copy {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.25rem;
    margin-bottom: 0.6rem;
}

.course-brochure-marketing-copy p {
    margin: 0;
}

.course-brochure-marketing-principle {
    font-weight: 600;
    color: #3f4b61;
}

.course-brochure-promo__icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: var(--course-accent-soft);
  color: var(--course-accent);
  font-size: 1rem;
}

.course-brochure-promo__copy {
  display: flex;
  gap: 8px;
  align-items: baseline;
  min-width: 0;
}

.course-brochure-promo__copy strong {
  color: var(--course-ink);
  font-size: .9rem;
}

.course-brochure-promo__copy span {
  color: var(--course-muted);
  font-size: .8rem;
}

.course-brochure-promo__link {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--course-accent-dark);
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.course-brochure-promo__link:hover,
.course-brochure-promo__link:focus-visible {
  color: var(--course-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

#course-brochure {
  scroll-margin-top: 100px;
}

.course-brochure-form__marketing {
  grid-column: 1 / -1;
  margin: 2px 0 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.course-brochure-form__marketing legend {
  font-size: .9rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.course-brochure-form__marketing p {
  font-size: .75rem;
  color: var(--course-muted);
  margin: 10px 0 0;
}

.course-brochure-form__marketing .course-brochure-marketing-intro {
  font-size: .85rem;
  margin: 0 0 12px;
}

.course-brochure-form__marketing label {
  margin: 8px 0;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--course-muted);
  font-size: .8rem;
  line-height: 1.45;
  cursor: pointer;
}

.course-brochure-form__marketing input {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin-top: 2px;
  accent-color: var(--course-accent);
}

.course-brochure-form__newsletter {
  grid-column: 1 / -1;
  min-width: 0;
  box-sizing: border-box;
  margin: 4px 0 0;
  padding: 16px 18px;
  border: 1px solid #cbdcd2;
  border-radius: 10px;
  background: #f0f6f2;
}
.course-brochure-form__newsletter label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  color: #203c30;
  font-size: .85rem;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
}
.course-brochure-form__newsletter input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: #1f4932;
}
.course-brochure-form__newsletter input:focus-visible {
  outline: 2px solid #1f4932;
  outline-offset: 3px;
}
.course-brochure-form__newsletter #brochure-newsletter-help {
  margin: 6px 0 0 28px;
  font-size: .75rem;
  line-height: 1.5;
  color: #4c6356;
}

.course-brochure-form__turnstile {
  grid-column: 1 / -1;
  /* Turnstile expands itself only when interaction is required. */
  min-height: 0;
}

@media (max-width: 760px) {
  .course-brochure-promo {
    grid-template-columns: auto 1fr;
  }

  .course-brochure-promo__copy {
    display: grid;
    gap: 2px;
  }

  .course-brochure-promo__link {
    grid-column: 1 / -1;
    justify-self: start;
    margin-left: 48px;
    white-space: normal;
  }
}

/* Course brochure request */
.course-brochure-section {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(520px, 1.5fr);
  gap: 34px;
  align-items: start;
  margin: calc(var(--block-space) / 2) auto 0;
  padding: 30px 32px;
  border: 1px solid color-mix(in srgb, var(--course-accent) 16%, var(--course-line));
  border-radius: var(--course-radius);
  background: color-mix(in srgb, var(--course-accent-soft) 44%, #fff);
  box-shadow: 0 14px 34px rgba(29,36,51,.045);
  scroll-margin-top: 100px;
}

/* Keep the staff control outside the content grid and reserve only the space
   it needs, rather than creating a mostly empty grid row. */
.course-brochure-section:has(> .course-staff-section-action) {
  padding-top: 74px;
}

.course-brochure-section > .course-staff-section-action {
  position: absolute;
  top: 20px;
  right: 32px;
  z-index: 2;
  margin: 0;
}

.course-brochure-section__intro {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 16px;
  align-items: start;
}

.course-brochure-section__icon {
  display: flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: var(--course-accent-soft);
  color: var(--course-accent);
  font-size: 1.35rem;
}

.course-brochure-section h2 {
  margin: 6px 0 8px;
  color: var(--course-ink);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.2;
}

.course-brochure-section__intro p {
  margin: 0;
  color: var(--course-muted);
  line-height: 1.6;
}

.course-brochure-section__form-wrap {
  min-width: 0;
}

.course-brochure-form {
  display: grid;
  grid-template-columns: minmax(130px,.75fr) minmax(130px,.75fr) minmax(220px,1.25fr);
  gap: 12px;
  align-items: end;
}

.course-brochure-form__field {
  display: grid;
  min-width: 0;
  gap: 6px;
}

.course-brochure-form__field label {
  color: var(--course-ink);
  font-size: .72rem;
  font-weight: 800;
}

.course-brochure-form__field input {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  height: 46px;
  padding: 0 13px;
  border: 1px solid var(--course-line);
  border-radius: 10px;
  background: #fff;
  color: var(--course-ink);
  font: inherit;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.course-brochure-form__field input:focus {
  border-color: var(--course-accent);
  box-shadow: 0 0 0 3px rgba(var(--course-accent-rgb), .12);
}

.course-brochure-form__submit {
  grid-column: 1 / -1;
  justify-self: start;
  display: inline-flex;
  min-height: 46px;
  gap: 10px;
  align-items: center;
  justify-content: center;
  padding: 0 17px;
  border: 1px solid var(--course-accent-dark);
  border-radius: 11px;
  background: color-mix(in srgb, var(--course-accent) 74%, #fff);
  box-shadow: 0 4px 0 var(--course-accent-dark), 0 8px 18px rgba(var(--course-accent-rgb), .16);
  color: var(--course-brochure-button-foreground, #fff);
  font-size: .8rem;
  font-weight: 850;
  line-height: 1.2;
  cursor: pointer;
  transform: translateY(-2px);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.course-brochure-form__submit span,
.course-brochure-form__submit i {
  color: inherit;
}

.course-brochure-form__submit:hover,
.course-brochure-form__submit:focus-visible {
  filter: brightness(1.04);
  transform: translateY(-3px);
  box-shadow: 0 5px 0 var(--course-accent-dark), 0 10px 22px rgba(var(--course-accent-rgb), .2);
}

.course-brochure-form__submit:active {
  transform: translateY(1px);
  box-shadow: 0 1px 0 var(--course-accent-dark), 0 4px 10px rgba(var(--course-accent-rgb), .14);
}

.course-brochure-form__submit:disabled {
  cursor: wait;
  filter: none;
  transform: none;
}
.course-brochure-form[aria-busy="true"] .course-brochure-form__submit i {
  display: none;
}
.course-brochure-form[aria-busy="true"] .course-brochure-form__submit::before {
  content: "";
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: brochure-progress-spin .8s linear infinite;
}
@keyframes brochure-progress-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .course-brochure-form[aria-busy="true"] .course-brochure-form__submit::before { animation: none; }
}
.course-brochure-progress {
  margin: 13px 0 0;
  color: var(--course-ink);
  font-size: .8rem;
}
.course-brochure-progress:empty { margin: 0; }

.course-brochure-privacy {
  margin: 13px 0 0;
  color: var(--course-muted);
  font-size: .7rem;
  line-height: 1.45;
}

.course-brochure-errors,
.course-brochure-success {
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: .8rem;
  line-height: 1.45;
}

.course-brochure-errors {
  border: 1px solid #d9a5a5;
  background: #fff5f5;
  color: #7b2626;
}

.course-brochure-errors ul {
  margin: 6px 0 0 18px;
}

.course-brochure-success {
  display: flex;
  gap: 12px;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--course-accent) 28%, var(--course-line));
  background: #fff;
  color: var(--course-ink);
}

.course-brochure-success > i {
  color: var(--course-accent);
  font-size: 1.35rem;
}

.course-brochure-success div {
  display: grid;
  gap: 2px;
}

.course-brochure-success span {
  color: var(--course-muted);
}

.course-brochure-form__honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

@media (max-width: 1100px) {
  .course-brochure-section {
    grid-template-columns: 1fr;
  }

  .course-brochure-form {
    grid-template-columns: 1fr 1fr;
  }

  .course-brochure-form__field--email {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .course-brochure-section {
    padding: 22px 18px;
  }

  .course-brochure-form {
    grid-template-columns: 1fr;
  }

  .course-brochure-form__submit {
    width: 100%;
  }
}

/* Upper-page alignment and shared compact-card headers */
.course-overview-events-grid {
  align-items: stretch !important;
  margin-bottom: 38px;
}

.course-overview-events-grid > .course-overview-section,
.course-overview-events-grid > .course-events-mini--overview {
  align-self: stretch;
  min-height: 100%;
}

.course-overview-events-grid > .course-overview-section {
  box-sizing: border-box;
  padding-bottom: 28px;
}

.course-card-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  margin-bottom: 20px;
}

.course-card-heading__copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.course-card-heading .course-section-kicker,
.course-card-heading h2 {
  margin: 0 !important;
}

.course-snapshot-card .course-card-heading {
  margin-bottom: 18px;
}

.course-snapshot-card .snapshot-icon {
  margin-bottom: 0 !important;
}

.course-events-mini--overview .course-events-mini__heading {
  margin-bottom: 22px;
}

.course-events-mini--overview .course-events-mini__icon {
  flex: 0 0 auto;
  margin: 0 !important;
}

.course-events-mini--overview .course-card-heading__copy h2 {
  font-size: 1.35rem;
  line-height: 1.25;
}

@media (max-width: 900px) {
  .course-overview-events-grid {
    margin-bottom: 30px;
  }

  .course-overview-events-grid > .course-overview-section {
    padding-bottom: 0;
  }

  .course-events-mini--overview {
    display: flex !important;
    flex-direction: column !important;
  }

  .course-events-mini--overview .course-events-mini__heading {
    display: flex;
  }
}

@media (max-width: 560px) {
  .course-card-heading {
    gap: 13px;
  }

  .course-snapshot-card .course-card-heading,
  .course-events-mini--overview .course-events-mini__heading {
    margin-bottom: 16px;
  }
}

/*
|--------------------------------------------------------------------------
| Upcoming-events responsive height fix
|--------------------------------------------------------------------------
| Desktop can stretch both columns to the same grid-row height. Once the
| overview/events grid collapses to one column, the events card returns to
| intrinsic content height.
*/
@media (max-width: 900px) {
  .course-overview-events-grid {
    align-items: start !important;
  }

  .course-overview-events-grid > .course-overview-section,
  .course-overview-events-grid > .course-events-mini--overview {
    align-self: auto !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .course-events-mini--overview {
    flex: none !important;
    width: auto;
  }

  .course-events-mini--overview .course-events-mini__link {
    margin-top: 20px;
  }
}

@media (max-width: 560px) {
  .course-events-mini--overview {
    min-height: 0 !important;
    height: auto !important;
  }
}

/*
|--------------------------------------------------------------------------
| Definitive overview / events height fix
|--------------------------------------------------------------------------
| Do NOT use min-height:100% on grid children here. Grid align-items:stretch
| already gives both desktop columns the same row height. A percentage
| min-height becomes circular when the layout collapses to one column and can
| cause the events card to grow on repeated layout/reflow.
*/
.course-overview-events-grid > .course-overview-section,
.course-overview-events-grid > .course-events-mini--overview {
  min-height: 0 !important;
  height: auto !important;
}

@media (min-width: 981px) {
  .course-overview-events-grid {
    align-items: stretch !important;
  }

  .course-overview-events-grid > .course-overview-section,
  .course-overview-events-grid > .course-events-mini--overview {
    align-self: stretch !important;
  }
}

/* The original grid switches to one column at 980px, so the height reset
   must happen at the same breakpoint rather than at 900px. */
@media (max-width: 980px) {
  .course-overview-events-grid {
    align-items: start !important;
  }

  .course-overview-events-grid > .course-overview-section,
  .course-overview-events-grid > .course-events-mini--overview {
    align-self: auto !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .course-events-mini--overview {
    min-height: 0 !important;
    height: auto !important;
    flex: none !important;
  }

  .course-events-mini--overview .course-events-mini__link {
    margin-top: 20px;
  }
}

/* At phone width retain the existing stacked content, but never allow a
   percentage/minimum height to re-enter through an older rule. */
@media (max-width: 600px) {
  .course-events-mini--overview {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
  }
}

/* Right-hand overview stack: Upcoming Course Events + Course Brochure */
.course-overview-side-stack {
  display: grid;
  gap: 16px;
  align-self: start;
  min-width: 0;
}

.course-overview-side-stack .course-events-mini--overview {
  min-height: 0 !important;
  height: auto !important;
}

.course-events-mini--pending .course-events-mini__pending-copy {
  display: grid;
  gap: 10px;
  padding: 16px 0 18px;
  border-top: 1px solid color-mix(in srgb, var(--course-accent) 14%, var(--course-line));
  border-bottom: 1px solid color-mix(in srgb, var(--course-accent) 14%, var(--course-line));
}

.course-events-mini--pending .course-events-mini__pending-copy p {
  margin: 0;
  color: var(--course-muted);
  font-size: .88rem;
  line-height: 1.55;
}

.course-brochure-promo--side {
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin: 0;
  padding: 12px 14px;
  border-radius: 14px;
}

.course-brochure-promo--side .course-brochure-promo__icon {
  width: 36px;
  height: 36px;
}

.course-brochure-promo--side .course-brochure-promo__copy {
  display: grid;
  gap: 2px;
}

.course-brochure-promo--side .course-brochure-promo__copy strong {
  font-size: .88rem;
}

.course-brochure-promo--side .course-brochure-promo__copy span {
  font-size: .76rem;
}

.course-brochure-promo--side .course-brochure-promo__link {
  margin: 0;
  font-size: .78rem;
}

@media (max-width: 980px) {
  .course-overview-side-stack {
    gap: 14px;
  }
}

@media (max-width: 600px) {
  .course-brochure-promo--side {
    grid-template-columns: auto 1fr;
    gap: 10px 12px;
  }

  .course-brochure-promo--side .course-brochure-promo__link {
    grid-column: 2;
    justify-self: start;
    margin-left: 0;
    white-space: normal;
  }
}

/* Accreditation now sits immediately above the three course-summary cards. */
.course-recognition-section + .course-snapshot-grid {
  margin-top: 22px;
}

@media (max-width: 760px) {
  .course-recognition-section + .course-snapshot-grid {
    margin-top: 18px;
  }
}

/*
|--------------------------------------------------------------------------
| Pricing pathway card refinement
|--------------------------------------------------------------------------
| Dual accreditation is represented by the secondary accreditor logo inside
| the pathway card. The former full-width recognition panel is no longer used.
| All cards in the pricing grid stretch to an equal height within their row.
*/
.course-pricing-grid {
  align-items: stretch !important;
}

.course-price-option {
  height: 100%;
}

.course-price-option > .course-price-card {
  height: 100%;
  box-sizing: border-box;
}

.course-price-card--qualification {
  min-height: 100%;
}

.course-price-dual-accreditor {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 44px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in srgb, var(--course-accent) 10%, var(--course-line));
}

.course-price-dual-accreditor img {
  display: block;
  width: auto;
  max-width: 126px;
  max-height: 42px;
  object-fit: contain;
}

/* Keep the pricing footer aligned consistently across equal-height cards. */
.course-price-card .course-price-footer {
  margin-top: auto;
}

@media (max-width: 760px) {
  .course-price-option,
  .course-price-option > .course-price-card {
    height: auto;
  }

  .course-price-dual-accreditor img {
    max-width: 112px;
    max-height: 38px;
  }
}

/*
|--------------------------------------------------------------------------
| Pricing badge stack
|--------------------------------------------------------------------------
| Keep the primary qualification badge and optional dual-accreditor logo in
| the same right-hand brand column. No separate line, panel or recognition box.
*/
.course-pricing-grid {
  align-items: stretch !important;
}

.course-price-option {
  height: 100%;
}

.course-price-option > .course-price-card {
  box-sizing: border-box;
  height: 100%;
  min-height: 322px;
}

.course-price-card--has-pathway-logo {
  grid-template-columns: minmax(0, 1fr) 198px !important;
  grid-template-rows: auto 1fr !important;
  align-items: stretch !important;
}

.course-pathway-brand-stack {
  grid-column: 2;
  grid-row: 1 / 3;
  display: flex;
  width: 198px;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  align-self: stretch;
}

.course-pathway-brand-stack .course-pathway-brand-logo {
  display: flex;
  width: 198px;
  min-height: 0;
  align-items: center;
  justify-content: center;
}

.course-pathway-brand-stack .course-pathway-brand-logo img {
  display: block;
  width: auto;
  max-width: 192px;
  max-height: 212px;
  object-fit: contain;
}

.course-pathway-dual-logo {
  display: flex;
  width: 100%;
  min-height: 34px;
  align-items: center;
  justify-content: center;
}

.course-pathway-dual-logo img {
  display: block;
  width: auto;
  max-width: 132px;
  max-height: 38px;
  object-fit: contain;
}

/* Suppress the previous experimental inline dual-accreditor styling if any
   older declarations remain earlier in the template. */
.course-price-dual-accreditor {
  display: none !important;
}

.course-price-card .course-price-footer {
  margin-top: auto;
}

@media (max-width: 760px) {
  .course-price-option,
  .course-price-option > .course-price-card {
    height: auto;
  }

  .course-price-option > .course-price-card {
    min-height: 0;
  }

  .course-price-card--has-pathway-logo {
    display: flex !important;
    flex-direction: column;
  }

  .course-pathway-brand-stack {
    order: -1;
    width: 100%;
    height: auto;
    margin: 0 0 14px;
    align-items: flex-end;
    gap: 8px;
  }

  .course-pathway-brand-stack .course-pathway-brand-logo {
    width: 100%;
    justify-content: flex-end;
  }

  .course-pathway-brand-stack .course-pathway-brand-logo img {
    max-width: 125px;
    max-height: 120px;
  }

  .course-pathway-dual-logo {
    width: auto;
    justify-content: flex-end;
  }

  .course-pathway-dual-logo img {
    max-width: 110px;
    max-height: 34px;
  }
}

/*
| Reserve the same dual-accreditor logo slot on every qualification card.
| The placeholder is deliberately invisible; it only preserves geometry.
*/
.course-pathway-dual-logo--placeholder {
  width: 132px !important;
  height: 38px !important;
  min-height: 38px !important;
  flex: 0 0 38px;
  visibility: hidden;
}

@media (max-width: 760px) {
  .course-pathway-dual-logo--placeholder {
    width: 110px !important;
    height: 34px !important;
    min-height: 34px !important;
    flex-basis: 34px;
  }
}

/* Keep the three summary cards directly beneath Accreditation & Recognition. */
.course-recognition-section + .course-snapshot-grid {
  margin-top: 22px;
}

.course-snapshot-grid + .course-pricing-section {
  margin-top: 34px;
}

@media (max-width: 760px) {
  .course-recognition-section + .course-snapshot-grid {
    margin-top: 18px;
  }

  .course-snapshot-grid + .course-pricing-section {
    margin-top: 26px;
  }
}

/* Module-structure pill in each Available Course Dates summary row */
.course-event-summary {
  grid-template-columns: auto minmax(0, 1fr) auto auto auto;
}

.course-event-summary__module-pill {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 7px 11px;
  border: 1px solid var(--course-line);
  border-radius: 999px;
  background: #f7f9fc;
  color: var(--course-muted);
  font-size: .76rem;
  font-weight: 650;
  line-height: 1.2;
  white-space: nowrap;
}

.course-event-summary__module-pill i {
  color: var(--course-accent);
  font-size: .72rem;
}

@media (max-width: 900px) {
  .course-event-summary {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .course-event-summary__module-pill {
    grid-column: 2;
    justify-self: start;
  }

  .course-event-summary__date {
    grid-column: 2 / 3;
    min-width: 0;
    text-align: left;
  }

  .course-event-summary__chevron {
    grid-column: 3;
    grid-row: 1 / span 3;
  }
}

@media (max-width: 520px) {
  .course-event-summary__module-pill {
    padding: 6px 9px;
    font-size: .72rem;
  }
}

/*
| The module-structure pill in the event header is status-only.
| The whole summary row is already the click target for opening the event,
| while the pill inside "Module Dates" remains the interactive explanatory pill.
*/
.course-event-summary__module-pill--static {
  pointer-events: none;
  cursor: inherit;
  user-select: none;
}

/*
|--------------------------------------------------------------------------
| Event header module structure = status label, not interactive pill
|--------------------------------------------------------------------------
| Interactive rounded pills remain inside Module Dates. The event-header
| treatment is deliberately flatter and more rectangular so it reads as
| metadata/status rather than something that opens a popover.
*/
.course-event-summary__module-status {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  padding: 6px 9px;
  border: 1px solid color-mix(in srgb, var(--course-muted) 18%, var(--course-line));
  border-radius: 6px;
  background: #f4f6f8;
  color: var(--course-muted);
  line-height: 1.2;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}

.course-event-summary__module-status-label {
  color: var(--course-muted);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .075em;
  text-transform: uppercase;
  opacity: .82;
}

.course-event-summary__module-status strong {
  color: var(--course-ink);
  font-size: .75rem;
  font-weight: 750;
}

/* Remove any visual behaviour left over from the previous pill treatment. */
.course-event-summary__module-pill--static {
  display: none !important;
}

@media (max-width: 900px) {
  .course-event-summary__module-status {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 520px) {
  .course-event-summary__module-status {
    gap: 6px;
    padding: 5px 8px;
  }

  .course-event-summary__module-status-label {
    font-size: .58rem;
  }

  .course-event-summary__module-status strong {
    font-size: .72rem;
  }
}

/*
|--------------------------------------------------------------------------
| Dual accreditation label above qualification shield
|--------------------------------------------------------------------------
| Absolute positioning is intentional: the label sits visually above the
| shield but occupies no layout space, so shield alignment remains identical
| between single- and dual-accredited pathway cards.
*/
.course-pathway-brand-stack {
  position: relative;
}

.course-pathway-dual-label {
  position: absolute;
  top: -2px;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  color: var(--course-muted);
  font-size: .62rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .075em;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}

/* A pathway does not need its own qualification badge image in order to show
   its additional recognition. Keep the recognition-driven label and body
   logo together at the top-right of otherwise text-only pricing cards. */
.course-pathway-dual-card-brand {
  position: absolute;
  top: 23px;
  right: 21px;
  z-index: 2;
  display: flex;
  width: 150px;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.course-pathway-dual-label--card {
  position: static;
  transform: none;
}

.course-pathway-dual-card-brand img {
  display: block;
  width: auto;
  max-width: 138px;
  max-height: 48px;
  object-fit: contain;
}

.course-price-card--dual-brand-only .course-price-card-top {
  padding-right: 166px;
}

/* The primary badge keeps exactly the same position/geometry regardless of
   whether the label exists. */
.course-pathway-brand-stack--dual .course-pathway-brand-logo {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  .course-pathway-dual-label {
    top: -3px;
    right: 0;
    left: auto;
    transform: none;
    font-size: .58rem;
  }

  .course-pathway-dual-card-brand {
    position: static;
    align-self: flex-end;
    width: 150px;
    margin: 0 0 12px;
  }

  .course-pathway-dual-label--card {
    position: static;
  }

  .course-price-card--dual-brand-only .course-price-card-top {
    padding-right: 0;
  }
}

/* -------------------------------------------------------------------------
   Course tutor carousel
   ------------------------------------------------------------------------- */
.course-tutors-section {
  margin: 34px 0;
  padding: 28px;
  border: 1px solid var(--course-line);
  border-radius: var(--course-radius);
  background: #fff;
  box-shadow: 0 12px 30px rgba(23,32,51,.045);
}

.course-tutors-heading {
  display: flex;
  gap: 22px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 22px;
}

.course-tutors-heading h2 {
  margin: 6px 0 6px;
  color: var(--course-ink);
  font-size: clamp(1.5rem, 2vw, 2rem);
  line-height: 1.15;
}

.course-tutors-heading p {
  max-width: 760px;
  margin: 0;
  color: var(--course-muted);
}

.course-tutors-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.course-carousel-count {
  margin-right: 4px;
  color: var(--course-muted);
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
}

.course-tutors-control {
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid var(--course-line);
  border-radius: 50%;
  background: #fff;
  color: var(--course-ink);
  cursor: pointer;
}

.course-tutors-control:hover,
.course-tutors-control:focus-visible {
  border-color: var(--course-accent);
  color: var(--course-accent-dark);
  outline: none;
}

.course-tutors-carousel {
  overflow: hidden;
}

.course-tutors-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 36px) / 3);
  gap: 18px;
  overflow-x: auto;
  padding: 2px 1px 8px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.course-tutors-track::-webkit-scrollbar { display: none; }

.course-tutor-card {
  display: grid;
  grid-template-columns: 104px minmax(0,1fr);
  gap: 18px;
  min-height: 230px;
  padding: 18px;
  border: 1px solid var(--course-line);
  border-radius: 16px;
  background: var(--course-soft);
  scroll-snap-align: start;
}

.course-tutor-card__photo,
.course-tutor-dialog__photo {
  display: grid;
  overflow: hidden;
  place-items: center;
  background: color-mix(in srgb, var(--course-accent) 10%, #fff);
  color: var(--course-accent-dark);
  font-weight: 800;
}

.course-tutor-card__photo {
  width: 104px;
  height: 124px;
  border-radius: 14px;
}

.course-tutor-card__photo img,
.course-tutor-dialog__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.course-tutor-card__body {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
}

.course-tutor-card__eyebrow {
  margin-bottom: 4px;
  color: var(--course-accent-dark);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.course-tutor-card h3 {
  margin: 0;
  color: var(--course-ink);
  font-size: 1.12rem;
  line-height: 1.2;
}


.course-tutor-postnominals {
  font-size: .78em;
  font-weight: 650;
  color: var(--course-muted);
}
.course-tutor-card__title {
  margin-top: 4px;
  color: var(--course-muted);
  font-size: .82rem;
  font-weight: 650;
}

.course-tutor-card p {
  display: -webkit-box;
  overflow: hidden;
  margin: 12px 0 14px;
  color: var(--course-muted);
  font-size: .86rem;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  line-clamp: 6;
}

.course-tutor-card__more {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  align-self: flex-start;
  margin-top: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--course-accent-dark);
  font: inherit;
  font-size: .8rem;
  font-weight: 750;
  cursor: pointer;
}


.course-testimonials-stage {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  border-radius: var(--course-radius);
  background: var(--course-accent-dark);
  color: #fff;
  box-shadow: 0 18px 52px rgba(22,32,50,.14);
}
.course-testimonials-stage__heading {
  position:absolute; z-index:8; top:0; left:0; right:0; display:flex; justify-content:space-between; gap:18px; align-items:flex-start;
  padding:24px 28px; pointer-events:none;
}
.course-testimonials-stage__heading .course-section-kicker{
  color:var(--course-accent);
  text-shadow:0 2px 14px rgba(0,0,0,.34);
}
.course-testimonials-stage__heading h2{
  color:#fff;
  text-shadow:0 2px 14px rgba(0,0,0,.22);
}
.course-testimonials-stage__heading h2{margin:4px 0 0}.course-testimonials-stage__nav{display:flex;gap:8px;align-items:center;pointer-events:auto}.course-testimonials-stage__nav button{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(15,23,42,.22);color:#fff;backdrop-filter:blur(7px);cursor:pointer}.course-testimonials-stage__nav .course-carousel-count{color:#fff;background:rgba(15,23,42,.22);border-color:rgba(255,255,255,.28);backdrop-filter:blur(7px)}
.course-testimonials-stage__viewport{position:relative;min-height:430px}
.course-testimonial-slide{position:absolute;inset:0;display:grid;align-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility .7s ease}.course-testimonial-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.course-testimonial-slide__image{position:absolute;inset:-2%;background-image:var(--testimonial-image);background-size:cover;background-position:center;transform:scale(1.01);transition:transform 1.2s ease}.course-testimonial-slide__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,17,29,var(--testimonial-overlay)) 0%,rgba(10,17,29,calc(var(--testimonial-overlay) * .86)) 55%,rgba(10,17,29,calc(var(--testimonial-overlay) * .55)) 100%)}
.course-testimonial-slide__content{position:relative;z-index:3;width:min(900px,calc(100% - 56px));margin:0 auto;padding:100px 0 64px;text-align:center;color:#fff}
.course-testimonial-slide__quote{margin-bottom:14px;font-size:2rem;color:rgba(255,255,255,.84)}
.course-testimonial-slide__scope{display:inline-flex;gap:7px;align-items:center;margin-bottom:15px;padding:6px 10px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(255,255,255,.12);font-size:.72rem;font-weight:800;backdrop-filter:blur(8px)}
.course-testimonial-slide__comment{font-size:clamp(1.12rem,2vw,1.55rem);line-height:1.65;font-weight:520;text-shadow:0 2px 18px rgba(0,0,0,.24)}.course-testimonial-slide__comment>:first-child{margin-top:0}.course-testimonial-slide__comment>:last-child{margin-bottom:0}.course-testimonial-slide__person{display:flex;flex-direction:column;gap:4px;margin-top:24px}.course-testimonial-slide__person strong{font-size:1rem}.course-testimonial-slide__person span{font-size:.82rem;color:rgba(255,255,255,.86)}
.course-testimonials-stage__dots{position:absolute;z-index:9;bottom:22px;left:50%;transform:translateX(-50%);margin:0}
.course-testimonials-stage[data-transition="slide"] .course-testimonial-slide{transform:translateX(7%);transition:opacity .55s ease,transform .55s ease,visibility .55s}.course-testimonials-stage[data-transition="slide"] .course-testimonial-slide.is-active{transform:translateX(0)}
.course-testimonials-stage[data-transition="fade-rise"] .course-testimonial-slide__content{transform:translateY(20px);transition:transform .7s ease}.course-testimonials-stage[data-transition="fade-rise"] .course-testimonial-slide.is-active .course-testimonial-slide__content{transform:translateY(0)}
.course-testimonials-stage[data-transition="crossfade-zoom"] .course-testimonial-slide.is-active .course-testimonial-slide__image{transform:scale(1.07)}
.course-testimonials-stage[data-transition="none"] .course-testimonial-slide,.course-testimonials-stage[data-transition="none"] .course-testimonial-slide__content,.course-testimonials-stage[data-transition="none"] .course-testimonial-slide__image{transition:none!important}
@media(max-width:700px){.course-testimonials-stage,.course-testimonials-stage__viewport{min-height:480px}.course-testimonials-stage__heading{padding:20px}.course-testimonials-stage__heading>div:first-child p{display:none}.course-testimonial-slide__content{width:calc(100% - 40px);padding:105px 0 62px}.course-testimonial-slide__comment{font-size:1.05rem}.course-testimonials-stage__nav .course-carousel-count{display:none}}
@media(prefers-reduced-motion:reduce){.course-testimonial-slide,.course-testimonial-slide__content,.course-testimonial-slide__image{transition:none!important;transform:none!important}}

.course-tutor-dialog-backdrop {
  position: fixed;
  inset: 0;
  z-index: 30000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15,23,42,.56);
}

.course-tutor-dialog-backdrop[hidden] { display: none !important; }

.course-tutor-dialog {
  position: relative;
  width: min(680px, 100%);
  max-height: min(760px, calc(100vh - 48px));
  overflow: auto;
  padding: 28px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(0,0,0,.22);
}

.course-tutor-dialog__close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--course-soft);
  color: var(--course-ink);
  cursor: pointer;
}

.course-tutor-dialog__header {
  display: grid;
  grid-template-columns: 96px minmax(0,1fr);
  gap: 18px;
  align-items: center;
  padding-right: 34px;
}

.course-tutor-dialog__photo {
  width: 96px;
  height: 108px;
  border-radius: 14px;
}

.course-tutor-dialog h3 {
  margin: 4px 0 0;
  color: var(--course-ink);
  font-size: 1.65rem;
}

.course-tutor-dialog__title {
  margin: 5px 0 0;
  color: var(--course-muted);
  font-weight: 650;
}

.course-tutor-dialog__bio {
  margin-top: 22px;
  color: var(--course-muted);
  line-height: 1.65;
}

.course-tutor-dialog__bio-section + .course-tutor-dialog__bio-section {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--course-line);
}

.course-tutor-dialog__bio-label {
  margin-bottom: 8px;
  color: var(--course-accent-dark);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.course-tutor-dialog__bio-section p {
  margin: 0 0 1em;
}

.course-tutor-dialog__bio-section p:last-child {
  margin-bottom: 0;
}

.course-tutor-dialog__full-bio > div:last-child > :first-child {
  margin-top: 0;
}

.course-tutor-dialog__full-bio > div:last-child > :last-child {
  margin-bottom: 0;
}

@media (max-width: 1080px) {
  .course-tutors-track { grid-auto-columns: calc((100% - 18px) / 2); }
}

@media (max-width: 700px) {
  .course-tutors-section { padding: 20px; }
  .course-tutors-heading { align-items: center; }
  .course-tutors-track { grid-auto-columns: 88%; }
  .course-tutor-card { grid-template-columns: 84px minmax(0,1fr); }
  .course-tutor-card__photo { width: 84px; height: 104px; }
}

@media (max-width: 480px) {
  .course-tutors-heading { display: block; }
  .course-tutors-controls { margin-top: 14px; }
  .course-tutors-track { grid-auto-columns: 94%; }
  .course-tutor-card { grid-template-columns: 72px minmax(0,1fr); gap: 13px; padding: 15px; }
  .course-tutor-card__photo { width: 72px; height: 90px; }
  .course-tutor-dialog { padding: 22px 18px; }
  .course-tutor-dialog__header { grid-template-columns: 76px minmax(0,1fr); gap: 14px; }
  .course-tutor-dialog__photo { width: 76px; height: 88px; }
}

/*
|--------------------------------------------------------------------------
| Compact Upcoming Course Events statistics
|--------------------------------------------------------------------------
*/
.course-events-mini--overview .course-events-mini__stats {
  display: grid !important;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr) !important;
  gap: 0 !important;
  margin-top: 10px !important;
  border-top: 1px solid color-mix(in srgb, var(--course-accent) 14%, var(--course-line));
  border-bottom: 1px solid color-mix(in srgb, var(--course-accent) 14%, var(--course-line));
}

.course-events-mini--overview .course-events-mini__stat {
  display: flex !important;
  flex-direction: column;
  gap: 2px !important;
  min-width: 0;
  padding: 10px 0 !important;
}

.course-events-mini--overview .course-events-mini__stat + .course-events-mini__stat {
  padding-left: 18px !important;
  border-top: 0 !important;
  border-left: 1px solid color-mix(in srgb, var(--course-accent) 10%, var(--course-line)) !important;
}

.course-events-mini--overview .course-events-mini__stat span {
  font-size: .62rem;
  line-height: 1.2;
}

.course-events-mini--overview .course-events-mini__stat strong {
  margin-top: 1px;
  font-size: .94rem;
  line-height: 1.25;
}

.course-events-mini--overview .course-events-mini__heading {
  margin-bottom: 10px !important;
}

.course-events-mini--overview .course-events-mini__link {
  margin-top: 12px !important;
  padding-top: 0 !important;
}

@media (max-width: 420px) {
  .course-events-mini--overview .course-events-mini__stats {
    grid-template-columns: 1fr !important;
  }

  .course-events-mini--overview .course-events-mini__stat + .course-events-mini__stat {
    padding-left: 0 !important;
    border-left: 0 !important;
    border-top: 1px solid color-mix(in srgb, var(--course-accent) 10%, var(--course-line)) !important;
  }
}

/*
|--------------------------------------------------------------------------
| Upcoming events mini-card: compact inline stats
|--------------------------------------------------------------------------
*/
.course-events-mini--overview .course-events-mini__stats {
  grid-template-columns: minmax(0, 1.45fr) minmax(0, .85fr) !important;
}

.course-events-mini--overview .course-events-mini__stat {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 7px !important;
  white-space: nowrap;
}

.course-events-mini--overview .course-events-mini__stat span {
  flex: 0 0 auto;
  font-size: .61rem;
  line-height: 1;
}

.course-events-mini--overview .course-events-mini__stat strong {
  flex: 0 0 auto;
  margin: 0 !important;
  font-size: 1.05rem !important;
  line-height: 1.1;
}

@media (max-width: 520px) {
  .course-events-mini--overview .course-events-mini__stats {
    grid-template-columns: 1fr !important;
  }

  .course-events-mini--overview .course-events-mini__stat {
    white-space: normal;
  }
}

/* Upcoming events: two headings across one row, with each value beneath. */
.course-events-mini--overview .course-events-mini__stats {
  grid-template-columns: minmax(0, 1.45fr) minmax(0, .85fr) !important;
}

.course-events-mini--overview .course-events-mini__stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  white-space: normal !important;
}

.course-events-mini--overview .course-events-mini__stat span {
  font-size: .61rem;
  line-height: 1.1;
  white-space: nowrap;
}

.course-events-mini--overview .course-events-mini__stat strong {
  margin: 0 !important;
  font-size: 1.08rem !important;
  line-height: 1.15;
}

@media (max-width: 520px) {
  .course-events-mini--overview .course-events-mini__stats {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, .85fr) !important;
  }

  .course-events-mini--overview .course-events-mini__stat + .course-events-mini__stat {
    padding-left: 12px !important;
    border-left: 1px solid color-mix(in srgb, var(--course-accent) 10%, var(--course-line)) !important;
    border-top: 0 !important;
  }
}

/* Balance the two Upcoming Course Events stat columns more evenly. */
.course-events-mini--overview .course-events-mini__stats {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important;
}

/* Give the key Upcoming Course Events values stronger visual emphasis. */
.course-events-mini--overview .course-events-mini__stat strong {
  margin-top: 2px !important;
  font-size: 1.22rem !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em;
  color: var(--course-ink) !important;
}

.course-events-mini--overview .course-events-mini__footer {
  margin-top: 10px;
}

.course-events-mini--overview .course-events-mini__note {
  margin: 0 0 6px;
  color: var(--course-muted);
  font-size: .74rem;
  line-height: 1.35;
}

.course-events-mini--overview .course-events-mini__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 0 !important;
}

.course-events-mini--overview .course-events-mini__link > span:first-child {
  white-space: nowrap;
  font-size: .73rem;
  letter-spacing: -0.02em;
}

.course-events-mini--overview .course-events-mini__arrow {
  flex: 0 0 auto;
}

@media (max-width: 390px) {
  .course-events-mini--overview .course-events-mini__link > span:first-child {
    white-space: normal;
  }
}

.course-events-mini--overview .course-events-mini__note { text-align: center; }

/* Centre the key values within each Upcoming Course Events stat column. */
.course-events-mini--overview .course-events-mini__stat strong {
  width: 100%;
  text-align: center;
}

/* Give the key course schedule values a little more visual presence. */
.course-events-mini--overview .course-events-mini__stat {
  gap: 6px !important;
}

.course-events-mini--overview .course-events-mini__stat strong {
  position: relative;
  width: 100%;
  padding-bottom: 8px;
  text-align: center;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  color: var(--course-ink) !important;
}

.course-events-mini--overview .course-events-mini__stat strong::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 28px;
  height: 2px;
  border-radius: 999px;
  background: var(--course-accent);
  transform: translateX(-50%);
}

/*
|--------------------------------------------------------------------------
| Course brochure promo: match the Available Course Dates CTA treatment
|--------------------------------------------------------------------------
*/
.course-brochure-promo--side {
  display: block !important;
  padding: 12px 14px !important;
}

.course-brochure-promo--side .course-brochure-promo__top {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.course-brochure-promo--side .course-brochure-promo__copy {
  display: grid;
  gap: 2px;
}

.course-brochure-promo--side .course-brochure-promo__link {
  display: flex !important;
  grid-column: auto !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin: 10px 0 0 !important;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--course-accent) 12%, var(--course-line));
  font-size: .76rem;
  white-space: nowrap;
}

.course-brochure-promo--side .course-brochure-promo__arrow {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  border-radius: 50%;
  background: var(--course-accent-soft);
  color: var(--course-accent);
  transition: transform .18s ease;
}

.course-brochure-promo--side .course-brochure-promo__link:hover .course-brochure-promo__arrow,
.course-brochure-promo--side .course-brochure-promo__link:focus-visible .course-brochure-promo__arrow {
  transform: translateY(2px);
}

@media (max-width: 390px) {
  .course-brochure-promo--side .course-brochure-promo__link {
    white-space: normal;
  }
}

/*
|--------------------------------------------------------------------------
| Course video gallery
|--------------------------------------------------------------------------
*/
.course-video-gallery {
  margin: 34px auto 0;
  padding: 28px;
  border: 1px solid var(--course-line);
  border-radius: var(--course-radius);
  background: #fff;
  box-shadow: 0 12px 30px rgba(29,36,51,.035);
}

.course-video-gallery__heading {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}

.course-video-gallery__heading h2 {
  margin: 6px 0 6px;
  color: var(--course-ink);
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  line-height: 1.15;
}

.course-video-gallery__heading p {
  max-width: 760px;
  margin: 0;
  color: var(--course-muted);
  line-height: 1.55;
}

.course-video-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.course-video-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--course-line);
  border-radius: 15px;
  background: var(--course-soft);
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.course-video-card:hover,
.course-video-card:focus-visible {
  border-color: color-mix(in srgb, var(--course-accent) 45%, var(--course-line));
  box-shadow: 0 12px 26px rgba(29,36,51,.09);
  transform: translateY(-2px);
  outline: none;
}

.course-video-card--lead {
  grid-column: span 2;
  grid-row: span 2;
}

.course-video-card__media {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: color-mix(in srgb, var(--course-accent-soft) 45%, #e9edf3);
}

.course-video-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .28s ease;
}

.course-video-card:hover .course-video-card__media img {
  transform: scale(1.025);
}

.course-video-card__poster-fallback {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: var(--course-accent);
  font-size: 2rem;
}

.course-video-card__play {
  position: absolute;
  inset: 50% auto auto 50%;
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  color: var(--course-accent-dark);
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  transform: translate(-50%,-50%);
}

.course-video-card--lead .course-video-card__play {
  width: 66px;
  height: 66px;
  font-size: 1.1rem;
}

.course-video-card__duration {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 4px 7px;
  border-radius: 6px;
  background: rgba(23,32,51,.84);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
}

.course-video-card__copy {
  display: grid;
  gap: 6px;
  padding: 14px 15px 16px;
}

.course-video-card__type {
  color: var(--course-accent-dark);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.course-video-card__copy strong {
  color: var(--course-ink);
  font-size: 1rem;
  line-height: 1.3;
}

.course-video-card--lead .course-video-card__copy strong {
  font-size: 1.22rem;
}

.course-video-card__description {
  color: var(--course-muted);
  font-size: .82rem;
  line-height: 1.45;
}

.course-video-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 24px;
}

.course-video-modal[hidden] {
  display: none !important;
}

.course-video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(16,22,33,.78);
  backdrop-filter: blur(4px);
}

.course-video-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 1040px);
  padding: 14px 14px 18px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 30px 70px rgba(0,0,0,.28);
}

.course-video-modal__close {
  position: absolute;
  top: -16px;
  right: -16px;
  z-index: 2;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: var(--course-ink);
  box-shadow: 0 8px 20px rgba(0,0,0,.2);
  cursor: pointer;
}

.course-video-modal__frame {
  overflow: hidden;
  border-radius: 10px;
  background: #111;
  aspect-ratio: 16 / 9;
}

.course-video-modal__frame iframe,
.course-video-modal__frame video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #111;
}

.course-video-modal__frame [hidden] {
  display: none !important;
}

.course-video-modal__dialog h3 {
  margin: 14px 6px 0;
  color: var(--course-ink);
  font-size: 1.05rem;
}

@media (max-width: 900px) {
  .course-video-gallery__grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .course-video-card--lead {
    grid-column: span 2;
    grid-row: auto;
  }
}

@media (max-width: 600px) {
  .course-video-gallery {
    padding: 20px;
  }

  .course-video-gallery__grid {
    grid-template-columns: 1fr;
  }

  .course-video-card--lead {
    grid-column: auto;
  }

  .course-video-modal {
    padding: 12px;
  }

  .course-video-modal__close {
    top: 8px;
    right: 8px;
  }
}

/*
|--------------------------------------------------------------------------
| Compact course video gallery
|--------------------------------------------------------------------------
| The gallery is deliberately shallow: all cards are equal-sized and scroll
| horizontally, while playback remains in the existing modal.
*/
.course-video-gallery--compact .course-video-gallery__heading {
  align-items: flex-end;
  margin-bottom: 16px;
}

.course-video-gallery--compact .course-video-gallery__heading h2 {
  margin-bottom: 4px;
}

.course-video-gallery--compact .course-video-gallery__heading p {
  font-size: .88rem;
}

.course-video-gallery__controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.course-video-gallery__control {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--course-line);
  border-radius: 50%;
  background: #fff;
  color: var(--course-ink);
  cursor: pointer;
  transition: border-color .18s ease, color .18s ease, transform .18s ease;
}

.course-video-gallery__control:hover,
.course-video-gallery__control:focus-visible {
  border-color: var(--course-accent);
  color: var(--course-accent-dark);
  transform: translateY(-1px);
  outline: none;
}

.course-video-gallery__viewport {
  overflow: hidden;
}

.course-video-gallery--compact .course-video-gallery__grid {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}

.course-video-gallery--compact .course-video-gallery__grid::-webkit-scrollbar {
  display: none;
}

.course-video-gallery--compact .course-video-card,
.course-video-gallery--compact .course-video-card--lead {
  flex: 0 0 calc((100% - 42px) / 4);
  min-width: 0;
  grid-column: auto;
  grid-row: auto;
  scroll-snap-align: start;
}

.course-video-gallery--compact .course-video-card__media {
  aspect-ratio: 16 / 8.6;
}

.course-video-gallery--compact .course-video-card__play,
.course-video-gallery--compact .course-video-card--lead .course-video-card__play {
  width: 44px;
  height: 44px;
  font-size: .85rem;
}

.course-video-gallery--compact .course-video-card__copy {
  gap: 4px;
  padding: 10px 12px 12px;
}

.course-video-gallery--compact .course-video-card__copy strong,
.course-video-gallery--compact .course-video-card--lead .course-video-card__copy strong {
  font-size: .92rem;
  line-height: 1.25;
}

.course-video-gallery--compact .course-video-card__description {
  display: -webkit-box;
  overflow: hidden;
  font-size: .74rem;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.course-video-gallery--compact .course-video-card__duration {
  right: 8px;
  bottom: 8px;
  font-size: .62rem;
}

@media (max-width: 1050px) {
  .course-video-gallery--compact .course-video-card,
  .course-video-gallery--compact .course-video-card--lead {
    flex-basis: calc((100% - 28px) / 3);
  }
}

@media (max-width: 760px) {
  .course-video-gallery--compact .course-video-card,
  .course-video-gallery--compact .course-video-card--lead {
    flex-basis: calc((100% - 14px) / 2);
  }
}

@media (max-width: 520px) {
  .course-video-gallery--compact .course-video-gallery__heading {
    align-items: center;
  }

  .course-video-gallery--compact .course-video-gallery__heading p {
    display: none;
  }

  .course-video-gallery--compact .course-video-card,
  .course-video-gallery--compact .course-video-card--lead {
    flex-basis: 84%;
  }
}

/*
|--------------------------------------------------------------------------
| Carousel navigation dots
|--------------------------------------------------------------------------
*/
.course-carousel-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 18px;
  margin-top: 14px;
}

.course-carousel-dots[hidden] {
  display: none !important;
}

.course-carousel-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--course-ink) 24%, transparent);
  cursor: pointer;
  transition:
    width .18s ease,
    background .18s ease,
    transform .18s ease;
}

.course-carousel-dot:hover,
.course-carousel-dot:focus-visible {
  background: color-mix(in srgb, var(--course-accent) 68%, var(--course-ink));
  transform: scale(1.12);
  outline: none;
}

.course-carousel-dot.is-active {
  width: 20px;
  background: var(--course-accent);
}

.course-tutors-dots {
  margin-top: 16px;
}

.course-video-gallery__dots {
  margin-top: 13px;
}

@media (prefers-reduced-motion: reduce) {
  .course-carousel-dot {
    transition: none;
  }
}

/*
|--------------------------------------------------------------------------
| Smooth-scroll target attention flash
|--------------------------------------------------------------------------
*/
.course-scroll-target-flash {
  animation: courseTargetFlash 2.4s ease-in-out;
}

@keyframes courseTargetFlash {
  0%, 100% {
    box-shadow:
      0 0 0 0 color-mix(in srgb, var(--course-accent) 0%, transparent),
      0 0 0 0 color-mix(in srgb, var(--course-accent) 0%, transparent);
  }
  16% {
    box-shadow:
      0 0 0 4px color-mix(in srgb, var(--course-accent) 24%, transparent),
      0 0 20px 5px color-mix(in srgb, var(--course-accent) 14%, transparent);
  }
  33% {
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--course-accent) 5%, transparent),
      0 0 5px 1px color-mix(in srgb, var(--course-accent) 3%, transparent);
  }
  50% {
    box-shadow:
      0 0 0 4px color-mix(in srgb, var(--course-accent) 22%, transparent),
      0 0 20px 5px color-mix(in srgb, var(--course-accent) 13%, transparent);
  }
  67% {
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--course-accent) 5%, transparent),
      0 0 5px 1px color-mix(in srgb, var(--course-accent) 3%, transparent);
  }
  84% {
    box-shadow:
      0 0 0 4px color-mix(in srgb, var(--course-accent) 20%, transparent),
      0 0 18px 4px color-mix(in srgb, var(--course-accent) 11%, transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .course-scroll-target-flash {
    animation: none;
    outline: 2px solid color-mix(in srgb, var(--course-accent) 40%, transparent);
    outline-offset: 3px;
  }
}

.course-back-to-top {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 9990;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--course-accent) 28%, var(--course-line));
  border-radius: 50%;
  background: rgba(255,255,255,.96);
  color: var(--course-accent-dark);
  box-shadow: 0 10px 28px rgba(23,32,51,.16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  pointer-events: none;
  cursor: pointer;
  transition:
    opacity .2s ease,
    transform .2s ease,
    visibility .2s ease,
    border-color .18s ease,
    background .18s ease;
}

.course-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.course-back-to-top:hover,
.course-back-to-top:focus-visible {
  border-color: var(--course-accent);
  background: var(--course-accent-soft);
  outline: none;
}

@media (max-width: 600px) {
  .course-back-to-top {
    right: 14px;
    bottom: 14px;
    width: 42px;
    height: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .course-back-to-top {
    transition: none;
  }
}

/*
|--------------------------------------------------------------------------
| Course Page Designer bands
|--------------------------------------------------------------------------
| Each managed section sits inside a genuine viewport-width band. The existing
| section component keeps its own design; the band supplies page rhythm and
| subject-driven colour around it.
*/
.course-content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: visible;
}

.course-page-band {
  position: relative;
  left: 50%;
  order: var(--course-band-order, 999);
  width: 100vw;
  max-width: none;
  margin: 0 0 0 -50vw !important;
  padding-top: var(--course-band-padding-top, var(--course-band-padding, 34px));
  padding-right: 0;
  padding-bottom: var(--course-band-padding-bottom, var(--course-band-padding, 34px));
  padding-left: 0;
  background: var(--course-band-background, #fff);
  color: var(--course-ink);
}

.course-page-band[hidden] {
  display: none !important;
}

.course-page-band__inner {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.course-page-band__inner--standard {
  max-width: 1120px;
  padding-right: 24px;
  padding-left: 24px;
}

.course-page-band__inner--wide {
  max-width: 1400px;
  padding-right: 24px;
  padding-left: 24px;
}

.course-page-band__inner--full {
  max-width: none;
  padding-right: 24px;
  padding-left: 24px;
}

/* The original section spacing is replaced by band padding so adjacent page
   colours meet on one clean horizontal line. */
.course-page-band__inner > .course-overview-events-grid,
.course-page-band__inner > .course-recognition-section,
.course-page-band__inner > .course-snapshot-grid,
.course-page-band__inner > .course-pricing-section,
.course-page-band__inner > .course-tutors-section,
.course-page-band__inner > .learning-experience-section,
.course-page-band__inner > .course-video-gallery,
.course-page-band__inner > .course-tabs-card,
.course-page-band__inner > .course-events-section,
.course-page-band__inner > .course-brochure-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.course-page-band__inner > * {
  position: relative;
  z-index: 1;
}

/* Feature: slightly stronger component presence without changing the component
   palette itself. */
.course-page-band--feature .course-page-band__inner > .course-pricing-section,
.course-page-band--feature .course-page-band__inner > .course-brochure-section,
.course-page-band--feature .course-page-band__inner > .course-events-section,
.course-page-band--feature .course-page-band__inner > .course-tabs-card {
  box-shadow: 0 18px 46px rgba(23, 32, 51, .09);
}

/* Minimal: let the band do more of the visual work. We deliberately avoid
   stripping backgrounds from complex components such as pricing/tutors. */
.course-page-band--minimal .course-section-kicker {
  margin-bottom: 8px;
}

/* Container designer ------------------------------------------------------ */
.course-page-band--container-flat .course-page-band__inner > .course-overview-events-grid,
.course-page-band--container-flat .course-page-band__inner > .course-recognition-section,
.course-page-band--container-flat .course-page-band__inner > .course-pricing-section,
.course-page-band--container-flat .course-page-band__inner > .course-tutors-section,
.course-page-band--container-flat .course-page-band__inner > .learning-experience-section,
.course-page-band--container-flat .course-page-band__inner > .course-video-gallery,
.course-page-band--container-flat .course-page-band__inner > .course-tabs-card,
.course-page-band--container-flat .course-page-band__inner > .course-events-section,
.course-page-band--container-flat .course-page-band__inner > .course-brochure-section {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.course-page-band--container-panel .course-page-band__inner > .course-overview-events-grid,
.course-page-band--container-panel .course-page-band__inner > .course-recognition-section,
.course-page-band--container-panel .course-page-band__inner > .course-pricing-section,
.course-page-band--container-panel .course-page-band__inner > .course-tutors-section,
.course-page-band--container-panel .course-page-band__inner > .learning-experience-section,
.course-page-band--container-panel .course-page-band__inner > .course-video-gallery,
.course-page-band--container-panel .course-page-band__inner > .course-tabs-card,
.course-page-band--container-panel .course-page-band__inner > .course-events-section,
.course-page-band--container-panel .course-page-band__inner > .course-brochure-section {
  background: var(--course-container-background) !important;
  border-width: var(--course-container-border-width) !important;
  border-style: var(--course-container-border-style) !important;
  border-color: var(--course-container-border-colour) !important;
  border-radius: var(--course-container-radius) !important;
  box-shadow: var(--course-container-shadow) !important;
}

/* Existing / editable is now genuinely non-destructive. Individual
   properties are only overridden when that specific designer control is set. */
.course-page-band--container-existing[data-course-container-background]:not([data-course-container-background="0"]) .course-page-band__inner > .course-overview-events-grid,
.course-page-band--container-existing[data-course-container-background]:not([data-course-container-background="0"]) .course-page-band__inner > .course-recognition-section,
.course-page-band--container-existing[data-course-container-background]:not([data-course-container-background="0"]) .course-page-band__inner > .course-pricing-section,
.course-page-band--container-existing[data-course-container-background]:not([data-course-container-background="0"]) .course-page-band__inner > .course-tutors-section,
.course-page-band--container-existing[data-course-container-background]:not([data-course-container-background="0"]) .course-page-band__inner > .learning-experience-section,
.course-page-band--container-existing[data-course-container-background]:not([data-course-container-background="0"]) .course-page-band__inner > .course-video-gallery,
.course-page-band--container-existing[data-course-container-background]:not([data-course-container-background="0"]) .course-page-band__inner > .course-tabs-card,
.course-page-band--container-existing[data-course-container-background]:not([data-course-container-background="0"]) .course-page-band__inner > .course-events-section,
.course-page-band--container-existing[data-course-container-background]:not([data-course-container-background="0"]) .course-page-band__inner > .course-brochure-section { background: var(--course-container-background) !important; }

.course-page-band--container-existing[data-course-container-border-style]:not([data-course-container-border-style="0"]) .course-page-band__inner > .course-overview-events-grid,
.course-page-band--container-existing[data-course-container-border-style]:not([data-course-container-border-style="0"]) .course-page-band__inner > .course-recognition-section,
.course-page-band--container-existing[data-course-container-border-style]:not([data-course-container-border-style="0"]) .course-page-band__inner > .course-pricing-section,
.course-page-band--container-existing[data-course-container-border-style]:not([data-course-container-border-style="0"]) .course-page-band__inner > .course-tutors-section,
.course-page-band--container-existing[data-course-container-border-style]:not([data-course-container-border-style="0"]) .course-page-band__inner > .learning-experience-section,
.course-page-band--container-existing[data-course-container-border-style]:not([data-course-container-border-style="0"]) .course-page-band__inner > .course-video-gallery,
.course-page-band--container-existing[data-course-container-border-style]:not([data-course-container-border-style="0"]) .course-page-band__inner > .course-tabs-card,
.course-page-band--container-existing[data-course-container-border-style]:not([data-course-container-border-style="0"]) .course-page-band__inner > .course-events-section,
.course-page-band--container-existing[data-course-container-border-style]:not([data-course-container-border-style="0"]) .course-page-band__inner > .course-brochure-section { border-style: var(--course-container-border-style) !important; }

.course-page-band--container-existing[data-course-container-border-colour]:not([data-course-container-border-colour="0"]) .course-page-band__inner > .course-overview-events-grid,
.course-page-band--container-existing[data-course-container-border-colour]:not([data-course-container-border-colour="0"]) .course-page-band__inner > .course-recognition-section,
.course-page-band--container-existing[data-course-container-border-colour]:not([data-course-container-border-colour="0"]) .course-page-band__inner > .course-pricing-section,
.course-page-band--container-existing[data-course-container-border-colour]:not([data-course-container-border-colour="0"]) .course-page-band__inner > .course-tutors-section,
.course-page-band--container-existing[data-course-container-border-colour]:not([data-course-container-border-colour="0"]) .course-page-band__inner > .learning-experience-section,
.course-page-band--container-existing[data-course-container-border-colour]:not([data-course-container-border-colour="0"]) .course-page-band__inner > .course-video-gallery,
.course-page-band--container-existing[data-course-container-border-colour]:not([data-course-container-border-colour="0"]) .course-page-band__inner > .course-tabs-card,
.course-page-band--container-existing[data-course-container-border-colour]:not([data-course-container-border-colour="0"]) .course-page-band__inner > .course-events-section,
.course-page-band--container-existing[data-course-container-border-colour]:not([data-course-container-border-colour="0"]) .course-page-band__inner > .course-brochure-section { border-color: var(--course-container-border-colour) !important; }

.course-page-band--container-existing[data-course-container-border-thickness]:not([data-course-container-border-thickness="0"]) .course-page-band__inner > .course-overview-events-grid,
.course-page-band--container-existing[data-course-container-border-thickness]:not([data-course-container-border-thickness="0"]) .course-page-band__inner > .course-recognition-section,
.course-page-band--container-existing[data-course-container-border-thickness]:not([data-course-container-border-thickness="0"]) .course-page-band__inner > .course-pricing-section,
.course-page-band--container-existing[data-course-container-border-thickness]:not([data-course-container-border-thickness="0"]) .course-page-band__inner > .course-tutors-section,
.course-page-band--container-existing[data-course-container-border-thickness]:not([data-course-container-border-thickness="0"]) .course-page-band__inner > .learning-experience-section,
.course-page-band--container-existing[data-course-container-border-thickness]:not([data-course-container-border-thickness="0"]) .course-page-band__inner > .course-video-gallery,
.course-page-band--container-existing[data-course-container-border-thickness]:not([data-course-container-border-thickness="0"]) .course-page-band__inner > .course-tabs-card,
.course-page-band--container-existing[data-course-container-border-thickness]:not([data-course-container-border-thickness="0"]) .course-page-band__inner > .course-events-section,
.course-page-band--container-existing[data-course-container-border-thickness]:not([data-course-container-border-thickness="0"]) .course-page-band__inner > .course-brochure-section { border-width: var(--course-container-border-width) !important; }

.course-page-band--container-existing[data-course-container-radius]:not([data-course-container-radius="0"]) .course-page-band__inner > .course-overview-events-grid,
.course-page-band--container-existing[data-course-container-radius]:not([data-course-container-radius="0"]) .course-page-band__inner > .course-recognition-section,
.course-page-band--container-existing[data-course-container-radius]:not([data-course-container-radius="0"]) .course-page-band__inner > .course-pricing-section,
.course-page-band--container-existing[data-course-container-radius]:not([data-course-container-radius="0"]) .course-page-band__inner > .course-tutors-section,
.course-page-band--container-existing[data-course-container-radius]:not([data-course-container-radius="0"]) .course-page-band__inner > .learning-experience-section,
.course-page-band--container-existing[data-course-container-radius]:not([data-course-container-radius="0"]) .course-page-band__inner > .course-video-gallery,
.course-page-band--container-existing[data-course-container-radius]:not([data-course-container-radius="0"]) .course-page-band__inner > .course-tabs-card,
.course-page-band--container-existing[data-course-container-radius]:not([data-course-container-radius="0"]) .course-page-band__inner > .course-events-section,
.course-page-band--container-existing[data-course-container-radius]:not([data-course-container-radius="0"]) .course-page-band__inner > .course-brochure-section { border-radius: var(--course-container-radius) !important; }

.course-page-band--container-existing[data-course-container-shadow]:not([data-course-container-shadow="0"]) .course-page-band__inner > .course-overview-events-grid,
.course-page-band--container-existing[data-course-container-shadow]:not([data-course-container-shadow="0"]) .course-page-band__inner > .course-recognition-section,
.course-page-band--container-existing[data-course-container-shadow]:not([data-course-container-shadow="0"]) .course-page-band__inner > .course-pricing-section,
.course-page-band--container-existing[data-course-container-shadow]:not([data-course-container-shadow="0"]) .course-page-band__inner > .course-tutors-section,
.course-page-band--container-existing[data-course-container-shadow]:not([data-course-container-shadow="0"]) .course-page-band__inner > .learning-experience-section,
.course-page-band--container-existing[data-course-container-shadow]:not([data-course-container-shadow="0"]) .course-page-band__inner > .course-video-gallery,
.course-page-band--container-existing[data-course-container-shadow]:not([data-course-container-shadow="0"]) .course-page-band__inner > .course-tabs-card,
.course-page-band--container-existing[data-course-container-shadow]:not([data-course-container-shadow="0"]) .course-page-band__inner > .course-events-section,
.course-page-band--container-existing[data-course-container-shadow]:not([data-course-container-shadow="0"]) .course-page-band__inner > .course-brochure-section { box-shadow: var(--course-container-shadow) !important; }


/* The Course Details designer section contains three sibling cards. Treat
   those cards as the containers rather than styling their grid wrapper. */
.course-page-band[data-course-section-key="course-details"] .course-page-band__inner > .course-snapshot-grid {
  background: transparent !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.course-page-band[data-course-section-key="course-details"].course-page-band--container-flat .course-snapshot-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.course-page-band[data-course-section-key="course-details"].course-page-band--container-panel .course-snapshot-card {
  background: var(--course-container-background) !important;
  border-width: var(--course-container-border-width) !important;
  border-style: var(--course-container-border-style) !important;
  border-color: var(--course-container-border-colour) !important;
  border-radius: var(--course-container-radius) !important;
  box-shadow: var(--course-container-shadow) !important;
}

.course-page-band[data-course-section-key="course-details"].course-page-band--container-existing[data-course-container-border-style]:not([data-course-container-border-style="0"]) .course-snapshot-card {
  border-style: var(--course-container-border-style) !important;
}
.course-page-band[data-course-section-key="course-details"].course-page-band--container-existing[data-course-container-border-colour]:not([data-course-container-border-colour="0"]) .course-snapshot-card {
  border-color: var(--course-container-border-colour) !important;
}
.course-page-band[data-course-section-key="course-details"].course-page-band--container-existing[data-course-container-border-thickness]:not([data-course-container-border-thickness="0"]) .course-snapshot-card {
  border-width: var(--course-container-border-width) !important;
}
.course-page-band[data-course-section-key="course-details"].course-page-band--container-existing[data-course-container-radius]:not([data-course-container-radius="0"]) .course-snapshot-card {
  border-radius: var(--course-container-radius) !important;
}
.course-page-band[data-course-section-key="course-details"].course-page-band--container-existing[data-course-container-shadow]:not([data-course-container-shadow="0"]) .course-snapshot-card {
  box-shadow: var(--course-container-shadow) !important;
}

.course-page-band[data-course-section-key="course-details"].course-page-band--container-padding-none .course-snapshot-card { padding: 0 !important; }
.course-page-band[data-course-section-key="course-details"].course-page-band--container-padding-compact .course-snapshot-card { padding: 18px !important; }
.course-page-band[data-course-section-key="course-details"].course-page-band--container-padding-standard .course-snapshot-card { padding: 28px !important; }
.course-page-band[data-course-section-key="course-details"].course-page-band--container-padding-spacious .course-snapshot-card { padding: 40px !important; }

/* Prevent the generic padding rule from padding the grid itself. */
.course-page-band[data-course-section-key="course-details"].course-page-band--container-padding-none .course-page-band__inner > .course-snapshot-grid,
.course-page-band[data-course-section-key="course-details"].course-page-band--container-padding-compact .course-page-band__inner > .course-snapshot-grid,
.course-page-band[data-course-section-key="course-details"].course-page-band--container-padding-standard .course-page-band__inner > .course-snapshot-grid,
.course-page-band[data-course-section-key="course-details"].course-page-band--container-padding-spacious .course-page-band__inner > .course-snapshot-grid {
  padding: 0 !important;
}

.course-page-band--container-padding-none .course-page-band__inner > * { padding: 0 !important; }
.course-page-band--container-padding-compact .course-page-band__inner > * { padding: 18px !important; }
.course-page-band--container-padding-standard .course-page-band__inner > * { padding: 28px !important; }
.course-page-band--container-padding-spacious .course-page-band__inner > * { padding: 40px !important; }

.course-page-band--heading-left .course-page-band__inner > * > .course-section-kicker,
.course-page-band--heading-left .course-page-band__inner > * > h2,
.course-page-band--heading-left .course-page-band__inner > * > .course-section-heading { text-align: left !important; }

.course-page-band--heading-centre .course-page-band__inner > * > .course-section-kicker,
.course-page-band--heading-centre .course-page-band__inner > * > h2,
.course-page-band--heading-centre .course-page-band__inner > * > .course-section-heading { text-align: center !important; }

.course-page-band--divider-neutral::after,
.course-page-band--divider-accent::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  pointer-events: none;
}
.course-page-band--divider-neutral::after { background: rgba(23, 32, 51, .12); }
.course-page-band--divider-accent::after { background: var(--course-accent); }

/* Text treatment affects headings/copy that are not inside explicitly white
   cards. The learning-experience component also adapts its internal surfaces
   when an editor deliberately selects dark text for a light container. */
.course-page-band--text-dark {
  color: var(--course-ink);
}

.course-page-band--text-dark > .course-page-band__inner > .learning-experience-section {
  color: var(--course-ink);
}

.course-page-band--text-dark > .course-page-band__inner > .learning-experience-section h2,
.course-page-band--text-dark > .course-page-band__inner > .learning-experience-section .learning-phase h3 {
  color: var(--course-ink);
}

.course-page-band--text-dark > .course-page-band__inner > .learning-experience-section .learning-experience-intro,
.course-page-band--text-dark > .course-page-band__inner > .learning-experience-section .phase-label,
.course-page-band--text-dark > .course-page-band__inner > .learning-experience-section .learning-phase-copy,
.course-page-band--text-dark > .course-page-band__inner > .learning-experience-section .learning-phase-copy p {
  color: var(--course-muted);
}

.course-page-band--text-dark > .course-page-band__inner > .learning-experience-section .learning-phases-card::before {
  background: linear-gradient(
    90deg,
    transparent,
    color-mix(in srgb, var(--course-accent) 42%, var(--course-line)),
    transparent
  );
}

.course-page-band--text-dark > .course-page-band__inner > .learning-experience-section .learning-phase {
  border-color: color-mix(in srgb, var(--course-accent) 18%, var(--course-line));
  background: rgba(255,255,255,.72);
  backdrop-filter: none;
}

.course-page-band--text-dark > .course-page-band__inner > .learning-experience-section .learning-phase + .learning-phase {
  border-top-color: color-mix(in srgb, var(--course-accent) 18%, var(--course-line));
}

.course-page-band--text-dark > .course-page-band__inner > .learning-experience-section .phase-badges .uk-label {
  border: 1px solid color-mix(in srgb, var(--course-accent) 16%, var(--course-line));
  background: color-mix(in srgb, var(--course-accent-soft) 28%, #fff);
  color: var(--course-ink);
}

.course-page-band--text-light {
  color: #fff;
}

.course-page-band--text-light > .course-page-band__inner > .learning-experience-section {
  color: inherit;
}

@media (max-width: 700px) {
  .course-page-band {
    padding-top: min(var(--course-band-padding-top, var(--course-band-padding, 34px)), 28px);
    padding-bottom: min(var(--course-band-padding-bottom, var(--course-band-padding, 34px)), 28px);
  }

  .course-page-band__inner--standard,
  .course-page-band__inner--wide,
  .course-page-band__inner--full {
    padding-right: 14px;
    padding-left: 14px;
  }

  .course-page-band--container-padding-compact .course-page-band__inner > * { padding: 14px !important; }
  .course-page-band--container-padding-standard .course-page-band__inner > * { padding: 20px !important; }
  .course-page-band--container-padding-spacious .course-page-band__inner > * { padding: 26px !important; }
}


/* ==========================================================================
   FINAL BOOKING PATHWAY VISUAL OVERRIDE
   Keep this after legacy booking-button rules.
   This deliberately follows .course-price-comparison styling.
   ========================================================================== */

.course-event-booking-options .course-event-booking-card__choices {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 16px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--course-accent) 24%, var(--course-line));
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(24,34,53,.035);
}

.course-event-booking-options .course-event-booking-card__choices--dual {
  grid-template-columns: repeat(2, minmax(0,1fr));
}

.course-event-booking-options .course-event-booking-button,
.course-event-booking-options .course-event-booking-button:hover,
.course-event-booking-options .course-event-booking-button:active,
.course-event-booking-options .course-event-booking-button:focus-visible {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0;
  transform: none;
  overflow: hidden;
  padding: 13px 15px 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  background-image: none;
  color: var(--course-ink);
  text-align: left;
  box-shadow: none;
  outline: none;
}

.course-event-booking-options .course-event-booking-button--virtual,
.course-event-booking-options .course-event-booking-button--virtual:hover,
.course-event-booking-options .course-event-booking-button--virtual:focus-visible {
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--course-accent-soft) 42%, #fff) 0%,
      #fff 70%
    );
}

.course-event-booking-options .course-event-booking-button + .course-event-booking-button {
  border-left: 1px solid color-mix(in srgb, var(--course-accent) 20%, var(--course-line));
}

.course-event-booking-options .course-event-booking-button__top {
  display: flex;
  gap: 9px;
  align-items: center;
  margin: 0 0 8px;
  padding: 0;
}

.course-event-booking-options .course-event-booking-button__mode-icon {
  display: grid;
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  place-items: center;
  border-radius: 9px;
  background: var(--course-accent-soft);
  color: var(--course-accent);
  font-size: .78rem;
}

.course-event-booking-options .course-event-booking-button__mode-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
  line-height: 1.1;
}

.course-event-booking-options .course-event-booking-button__mode-copy small {
  margin: 0 0 2px;
  color: var(--course-muted);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.course-event-booking-options .course-event-booking-button__mode-copy strong {
  margin: 0;
  color: var(--course-accent-dark);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .055em;
  line-height: 1.1;
  text-transform: uppercase;
}

.course-event-booking-options .course-event-booking-button__net {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: baseline;
  margin: 0 0 10px;
  padding: 0;
}

.course-event-booking-options .course-event-booking-button__net strong {
  color: var(--course-ink);
  font-size: clamp(1.55rem,2.2vw,2rem);
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.035em;
}

.course-event-booking-options .course-event-booking-button__net small {
  color: var(--course-accent-dark);
  font-size: .69rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.course-event-booking-options .course-event-booking-button__vat {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 9px 0;
  border-top: 1px solid var(--course-line);
  color: var(--course-muted);
  background: transparent;
  font-size: .69rem;
}

.course-event-booking-options .course-event-booking-button__vat strong {
  color: var(--course-muted);
  font-size: inherit;
  white-space: nowrap;
}

.course-event-booking-options .course-event-booking-button__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 -15px;
  padding: 9px 15px 10px;
  border: 0;
  background: color-mix(in srgb, var(--course-accent-soft) 54%, #fff);
  color: var(--course-ink);
  font-size: .76rem;
  font-weight: 800;
}

.course-event-booking-options .course-event-booking-button__total strong {
  color: var(--course-ink);
  font-size: .92rem;
  white-space: nowrap;
}

/* Make the booking action unmistakable while retaining the full-card link. */
.course-event-booking-options .course-event-booking-button__select {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0 -15px;
  min-height: 42px;
  padding: 10px 13px;
  border-top: 1px solid var(--course-accent-dark);
  background: var(--course-accent);
  color: var(--course-booking-action-foreground);
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .035em;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  transition: background .15s ease, color .15s ease;
}

.course-event-booking-options .course-event-booking-button__select i {
  color: currentColor;
  font-size: .7rem;
  transition: transform .15s ease;
}

.course-event-booking-options .course-event-booking-button:hover {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--course-accent) 24%, transparent);
}

.course-event-booking-options .course-event-booking-button:hover .course-event-booking-button__select,
.course-event-booking-options .course-event-booking-button:focus-visible .course-event-booking-button__select {
  color: var(--course-booking-action-hover-foreground);
  background: color-mix(in srgb, var(--course-accent) 84%, #fff);
}

.course-event-booking-options .course-event-booking-button:hover .course-event-booking-button__select i,
.course-event-booking-options .course-event-booking-button:focus-visible .course-event-booking-button__select i {
  transform: translateX(3px);
}

.course-event-booking-options .course-event-booking-button:focus-visible {
  z-index: 1;
  box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--course-accent-dark) 72%, #fff);
}

@media (max-width: 900px) {
  .course-event-booking-options .course-event-booking-card__choices--dual {
    grid-template-columns: 1fr;
  }

  .course-event-booking-options .course-event-booking-button + .course-event-booking-button {
    border-top: 1px solid color-mix(in srgb, var(--course-accent) 20%, var(--course-line));
    border-left: 0;
  }
}



/* Dim alternative booking choices while one option is being considered. */
.course-event-booking-options__list:has(.course-event-booking-button:hover)
  .course-event-booking-button:not(:hover),
.course-event-booking-options__list:has(.course-event-booking-button:focus-visible)
  .course-event-booking-button:not(:focus-visible) {
  opacity: .48;
  filter: saturate(.72);
}

.course-event-booking-button {
  transition:
    opacity .18s ease,
    filter .18s ease,
    background .15s ease,
    box-shadow .15s ease;
}

.course-event-booking-button:hover,
.course-event-booking-button:focus-visible {
  opacity: 1;
  filter: none;
}

/* Final alignment correction for the recognition container.
   The page-designer container-padding rules above use !important, so this
   must live after them to keep the recognition heading aligned with the
   other course cards/containers. */
.course-page-band[data-course-section-key="recognition"] .course-recognition-section {
  /* Keep this band deliberately compact: the logos do not need card-sized
     vertical padding around them. */
  padding: 10px 30px 12px !important;
}
.course-page-band[data-course-section-key="recognition"] .course-recognition-heading {
  margin-bottom: 6px;
}
.course-page-band[data-course-section-key="recognition"] .course-recognition-logos {
  gap: 12px 56px;
}
.course-page-band[data-course-section-key="recognition"] .course-recognition-logo-link {
  min-height: 88px;
}
.course-page-band[data-course-section-key="recognition"] .course-recognition-logo-link img {
  max-height: 88px;
}
.course-page-band[data-course-section-key="recognition"] .course-recognition-click-hint {
  margin: 0 auto;
  line-height: 1.15;
}
@media (max-width: 767px) {
  .course-page-band[data-course-section-key="recognition"] .course-recognition-section {
    padding: 10px 20px 12px !important;
  }
  .course-page-band[data-course-section-key="recognition"] .course-recognition-logos {
    gap: 12px 28px;
  }
}

/* Recognition needs less outer band whitespace than the card-based sections.
   The previous compacting only changed the inner recognition panel; the
   full-width course-page-band was still adding its standard 34px above it. */
.course-page-band[data-course-section-key="recognition"][data-course-section-spacing-top="0"] {
  padding-top: 14px !important;
}
.course-page-band[data-course-section-key="recognition"][data-course-section-spacing-bottom="0"] {
  padding-bottom: 18px !important;
}

.course-page-band[data-course-section-key="recognition"] .course-recognition-section {
  padding-top: 8px !important;
}

@media (max-width: 700px) {
  .course-page-band[data-course-section-key="recognition"][data-course-section-spacing-top="0"] {
    padding-top: 12px !important;
  }
  .course-page-band[data-course-section-key="recognition"][data-course-section-spacing-bottom="0"] {
    padding-bottom: 16px !important;
  }
}

/* Recognition logos: slightly larger while preserving the compact band. */
.course-page-band[data-course-section-key="recognition"] .course-recognition-logo-link {
  min-height: 116px;
  box-sizing: border-box;
  padding-inline: 10px;
}
.course-page-band[data-course-section-key="recognition"] .course-recognition-logo-link img {
  max-width: min(320px, 100%);
  max-height: 116px;
}
@media (max-width: 700px) {
  .course-page-band[data-course-section-key="recognition"] .course-recognition-logo-link {
    min-height: 104px;
  }
  .course-page-band[data-course-section-key="recognition"] .course-recognition-logo-link img {
    max-width: min(280px, 100%);
    max-height: 104px;
  }
}

/* In a two-column pathway grid, use Fair Pricing to complete an otherwise
   empty final cell whenever the number of public pathway cards is odd. */
.course-pricing-composition--odd-pathways {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  align-items: stretch;
}

.course-pricing-composition--odd-pathways > .course-pricing-grid {
  display: contents;
}

.course-pricing-composition--odd-pathways .course-price-option {
  order: 0;
}

.course-pricing-composition--odd-pathways > .course-pricing-principles {
  order: 1;
  min-width: 0;
  height: 100%;
  box-sizing: border-box;
  margin: 0;
}

.course-pricing-composition--odd-pathways .course-pricing-principles__copy {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.course-pricing-composition--odd-pathways > .course-dual-accreditation-value {
  order: 2;
  grid-column: 1 / -1;
  margin: 0;
}

@media (max-width: 1050px) {
  .course-pricing-composition--odd-pathways {
    display: block;
  }

  .course-pricing-composition--odd-pathways > .course-pricing-grid {
    display: grid;
  }

  .course-pricing-composition--odd-pathways > .course-pricing-principles {
    height: auto;
    margin-top: 20px;
  }

  .course-pricing-composition--odd-pathways > .course-dual-accreditation-value {
    margin-top: 20px;
  }

  .course-pricing-composition--odd-pathways > .course-dual-accreditation-value + .course-pricing-principles {
    margin-top: 12px;
  }
}

.course-page-toc {
  position: sticky;
  top: calc(var(--course-header-height, 72px) + var(--course-scroll-title-height, 36px));
  /* The site navigation establishes a z-index:20 stacking context. Staying
     below it lets every header dropdown overlay this sticky progress row. */
  z-index: 10;
  border-top: 1px solid rgba(206,129,71,.22);
  border-bottom: 1px solid rgba(206,129,71,.3);
  background: rgba(255,255,255,.96);
  box-shadow: 0 8px 22px rgba(23,32,51,.08);
  backdrop-filter: blur(10px);
}
.course-page-toc__inner {
  width: min(1600px, calc(100% - 64px));
  margin: 0 auto;
}
.course-page-band[data-course-section-key] {
  scroll-margin-top: calc(var(--course-header-height, 72px) + var(--course-scroll-title-height, 36px) + 72px);
}
.course-page-toc__links {
  display: flex;
  align-items: stretch;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
}
.course-page-toc__links::-webkit-scrollbar { display: none; }
.course-page-toc__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 52px;
  padding: 0 12px;
  color: #596579;
  font-size: .83rem;
  font-weight: 700;
  text-decoration: none;
  transition: color .18s ease, background-color .18s ease;
}
.course-page-toc__link::after {
  position: absolute;
  right: 10px;
  bottom: 0;
  left: 10px;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--course-accent, #ce8147);
  content: '';
  opacity: 0;
  transform: scaleX(.4);
  transition: opacity .18s ease, transform .18s ease;
}
.course-page-toc__link:hover,
.course-page-toc__link:focus-visible,
.course-page-toc__link.is-active {
  color: var(--course-accent-dark, #a75d2a);
  background: rgba(var(--course-accent-rgb, 206,129,71), .07);
  text-decoration: none;
}
.course-page-toc__link.is-active::after { opacity: 1; transform: scaleX(1); }
.course-page-toc__separator {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  color: rgba(89,101,121,.42);
  font-size: .62rem;
}
.course-page-toc__link--booking {
  color: var(--course-accent-dark, #a75d2a);
  font-weight: 800;
}
.course-page-toc__link--booking i { margin-right: 7px; }
.course-page-toc__toggle { display: none; }

@media (max-width: 900px) {
  .course-page-toc__inner { width: 100%; }
  .course-page-toc__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 50px;
    padding: 0 20px;
    border: 0;
    background: transparent;
    color: #253047;
    font: inherit;
    font-size: .88rem;
    font-weight: 800;
    text-align: left;
  }
  .course-page-toc__toggle span i { margin-right: 7px; color: var(--course-accent, #ce8147); }
  .course-page-toc__toggle-chevron { transition: transform .18s ease; }
  .course-page-toc.is-open .course-page-toc__toggle-chevron { transform: rotate(180deg); }
  .course-page-toc__links {
    display: none;
    max-height: min(62vh, 480px);
    overflow-y: auto;
    border-top: 1px solid #e7eaf0;
    background: #fff;
    white-space: normal;
  }
  .course-page-toc.is-open .course-page-toc__links { display: flex; flex-direction: column; }
  .course-page-toc__link { min-height: 45px; padding: 0 20px; }
  .course-page-toc__link::after { top: 8px; right: auto; bottom: 8px; left: 0; width: 3px; height: auto; }
  .course-page-toc__separator { display: none; }
  .course-page-band[data-course-section-key] {
    scroll-margin-top: calc(var(--course-header-height, 60px) + var(--course-scroll-title-height, 36px) + 62px);
  }
}

/* Stable, accessible placeholders while per-visitor course details load. */
.course-live-placeholder { padding:24px; min-height:150px; color:var(--course-ink,#173d30); }
.course-live-placeholder h2 { font-size:1.35rem; margin:0 0 12px; }
.course-live-placeholder a { text-decoration:underline; }
[data-course-live-slot="events"] .course-live-placeholder { min-height:240px; }
[data-course-live-slot="pricing"] .course-live-placeholder { min-height:220px; }
