.elementor-9423 .elementor-element.elementor-element-0d3f581{--display:flex;}.elementor-9423 .elementor-element.elementor-element-0d3f581:not(.elementor-motion-effects-element-type-background), .elementor-9423 .elementor-element.elementor-element-0d3f581 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://scotsmanmethodology.com/wp-content/uploads/scotsman-home-hero-background.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-9423 .elementor-element.elementor-element-0d3f581.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-9423 .elementor-element.elementor-element-7797297{--display:flex;}.elementor-9423 .elementor-element.elementor-element-7797297:not(.elementor-motion-effects-element-type-background), .elementor-9423 .elementor-element.elementor-element-7797297 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://scotsmanmethodology.com/wp-content/uploads/scotsman-home-hero-background.jpg");}.elementor-9423 .elementor-element.elementor-element-02773a1{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-9423 .elementor-element.elementor-element-9d762ca{--display:flex;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-9423 .elementor-element.elementor-element-23a32b6{--display:flex;}.elementor-9423 .elementor-element.elementor-element-cb4a3d1{--display:flex;}.elementor-9423 .elementor-element.elementor-element-0bcb234{--display:flex;}.elementor-9423 .elementor-element.elementor-element-69f4c0d{--display:flex;}.elementor-9423 .elementor-element.elementor-element-b8a5e15{--display:flex;}.elementor-9423 .elementor-element.elementor-element-962d223{--display:flex;}.elementor-9423 .elementor-element.elementor-element-82cc333{--display:flex;}.elementor-9423 .elementor-element.elementor-element-db3832c{--display:flex;}.elementor-9423 .elementor-element.elementor-element-5091ea0{--display:flex;}.elementor-9423 .elementor-element.elementor-element-e367158{--display:flex;}.elementor-9423 .elementor-element.elementor-element-dc89380{--display:flex;}.elementor-9423 .elementor-element.elementor-element-d191972{--display:flex;}.elementor-9423 .elementor-element.elementor-element-15b5be0{--display:flex;}.elementor-9423 .elementor-element.elementor-element-54846b9{--display:flex;}.elementor-9423 .elementor-element.elementor-element-786c282{--display:flex;}.elementor-9423 .elementor-element.elementor-element-67cde72{--display:flex;}.elementor-9423 .elementor-element.elementor-element-881cd96{--display:flex;}.elementor-9423 .elementor-element.elementor-element-39762f3{--display:flex;}.elementor-9423 .elementor-element.elementor-element-ab050c2{--display:flex;}.elementor-9423 .elementor-element.elementor-element-d2f05e8{--display:flex;}.elementor-9423 .elementor-element.elementor-element-b489b37{--display:flex;}.elementor-9423 .elementor-element.elementor-element-c09aaf6{--display:flex;}.elementor-9423 .elementor-element.elementor-element-a09075c{--display:flex;}.elementor-9423 .elementor-element.elementor-element-c908560{--display:flex;}.elementor-9423 .elementor-element.elementor-element-300fed9{--display:flex;}.elementor-9423 .elementor-element.elementor-element-c4af4a8{--display:flex;}.elementor-9423 .elementor-element.elementor-element-78d2bfd{--display:flex;}.elementor-9423 .elementor-element.elementor-element-9adf2b7{--display:flex;}.elementor-9423 .elementor-element.elementor-element-c3aeb09{--display:flex;}.elementor-9423 .elementor-element.elementor-element-5502848{--display:flex;}.elementor-9423 .elementor-element.elementor-element-4abab46{--display:flex;}.elementor-9423 .elementor-element.elementor-element-5d1b64d{--display:flex;}.elementor-9423 .elementor-element.elementor-element-dbccb69{--display:flex;}.elementor-9423 .elementor-element.elementor-element-48a9c80{--display:flex;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-9423 .elementor-element.elementor-element-0a6126b{--grid-columns:5;}.elementor-9423 .elementor-element.elementor-element-0a6126b .elementor-loop-container{grid-auto-rows:1fr;}.elementor-9423 .elementor-element.elementor-element-0a6126b .e-loop-item > .elementor-section, .elementor-9423 .elementor-element.elementor-element-0a6126b .e-loop-item > .elementor-section > .elementor-container, .elementor-9423 .elementor-element.elementor-element-0a6126b .e-loop-item > .e-con, .elementor-9423 .elementor-element.elementor-element-0a6126b .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-9423 .elementor-element.elementor-element-c1b34db{--display:flex;}.elementor-9423 .elementor-element.elementor-element-e7d0eb9{--display:flex;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-9423 .elementor-element.elementor-element-0d3f581{--width:99.627%;}}@media(max-width:1024px){.elementor-9423 .elementor-element.elementor-element-0a6126b{--grid-columns:2;}}@media(max-width:767px){.elementor-9423 .elementor-element.elementor-element-0a6126b{--grid-columns:1;}}/* Start custom CSS *//* SCOTSMAN® Programme Pages CSS v14 */

/* ============================================================
   Page tokens and canvas reinforcement
   ============================================================ */

.sm-page-programme,
.sm-page-programme.elementor-element {
  --sm-prog-navy-deep: var(--sm-navy-deep, #0E1A35);
  --sm-prog-navy: var(--sm-navy, #1B2A4E);
  --sm-prog-navy-mid: var(--sm-navy-mid, #2D4A7C);
  --sm-prog-orange: var(--sm-orange, #C97B1E);
  --sm-prog-orange-light: var(--sm-orange-light, #E89B4D);
  --sm-prog-green: var(--sm-green, #16A34A);
  --sm-prog-paper: var(--sm-paper, #FAFAF7);
  --sm-prog-light: var(--sm-light, #F1F1ED);
  --sm-prog-white: var(--sm-white, #FFFFFF);
  --sm-prog-ink: var(--sm-ink, #2A2F45);
  --sm-prog-slate: var(--sm-slate, #475569);
  --sm-prog-muted: var(--sm-muted, #94A3B8);
  --sm-prog-rule: var(--sm-rule, #E2E8F0);
  --sm-prog-on-dark-1: var(--sm-on-dark-1, #FFFFFF);
  --sm-prog-on-dark-2: var(--sm-on-dark-2, #C9D4E8);
  --sm-prog-on-dark-3: var(--sm-on-dark-3, #B8C4DA);
  --sm-prog-on-dark-4: var(--sm-on-dark-4, #94A3B8);
  --sm-prog-sans: var(--sm-sans, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
  --sm-prog-display: var(--sm-display, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
  --sm-prog-serif: var(--sm-serif, Fraunces, Georgia, "Times New Roman", serif);
  --sm-prog-container: var(--sm-container-max, 1200px);
  --sm-prog-container-narrow: var(--sm-container-narrow, 900px);
  --sm-prog-container-pad: var(--sm-container-pad, 32px);
  --sm-prog-section-y: var(--sm-section-y-desktop, 104px);
  --sm-prog-section-y-mobile: var(--sm-section-y-mobile, 64px);
  --sm-prog-radius: var(--sm-radius, 8px);
  --sm-prog-radius-md: var(--sm-radius-md, 10px);
  --sm-prog-radius-lg: var(--sm-radius-lg, 12px);
  --sm-prog-radius-xl: var(--sm-radius-xl, 14px);
}

.sm-page-programme {
  background: var(--sm-prog-paper) !important;
  color: var(--sm-prog-ink) !important;
  font-family: var(--sm-prog-sans) !important;
}

.sm-page-programme,
.sm-page-programme.elementor-element,
.sm-page-programme > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-inline: 0 !important;
  gap: 0 !important;
  overflow-x: hidden !important;
}

.sm-page-programme,
.sm-page-programme > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

.sm-page-programme .sm-section,
.sm-page-programme .sm-section.elementor-element,
.sm-page-programme .sm-section > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  align-self: stretch !important;
  gap: 0 !important;
}

.sm-page-programme .sm-container,
.sm-page-programme .sm-container.elementor-element,
.sm-page-programme .sm-container > .e-con-inner {
  width: 100% !important;
  max-width: var(--sm-prog-container) !important;
  margin-inline: auto !important;
  padding-inline: var(--sm-prog-container-pad) !important;
  gap: 0 !important;
}

.sm-page-programme .sm-container--narrow,
.sm-page-programme .sm-container--narrow.elementor-element,
.sm-page-programme .sm-container--narrow > .e-con-inner {
  max-width: var(--sm-prog-container-narrow) !important;
}

/* Elementor spacing normalisation inside programme pages */
.sm-page-programme .elementor-widget,
.sm-page-programme .elementor-widget:not(:last-child),
.sm-page-programme .elementor-widget-container,
.sm-page-programme .elementor-heading-title,
.sm-page-programme p,
.sm-page-programme ul,
.sm-page-programme ol,
.sm-page-programme li,
.sm-page-programme figure {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.sm-page-programme .elementor-widget-container > *:first-child { margin-top: 0 !important; }
.sm-page-programme .elementor-widget-container > *:last-child { margin-bottom: 0 !important; }
.sm-page-programme .elementor-button-wrapper { line-height: 1 !important; }

/* ============================================================
   Shared section and typography rhythm
   ============================================================ */

.sm-page-programme .sm-section,
.sm-page-programme .sm-section.elementor-element {
  padding-block: var(--sm-prog-section-y) !important;
}

.sm-page-programme .sm-section--dark {
  background-color: var(--sm-prog-navy-deep) !important;
  color: var(--sm-prog-white) !important;
}

.sm-page-programme .sm-section--light {
  background: var(--sm-prog-paper) !important;
  color: var(--sm-prog-ink) !important;
}

.sm-page-programme .sm-section--tint {
  background: var(--sm-prog-light) !important;
  color: var(--sm-prog-ink) !important;
}

.sm-page-programme .sm-eyebrow,
.sm-page-programme .sm-eyebrow.elementor-widget,
.sm-page-programme .sm-eyebrow .elementor-widget-container,
.sm-page-programme .sm-eyebrow .elementor-heading-title {
  display: inline-block !important;
  width: auto !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: var(--sm-fs-eyebrow, 13px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: var(--sm-ls-eyebrow, 1.6px) !important;
  text-transform: uppercase !important;
  color: var(--sm-prog-orange) !important;
}

.sm-page-programme .sm-section--dark .sm-eyebrow,
.sm-page-programme .sm-section--dark .sm-eyebrow .elementor-widget-container,
.sm-page-programme .sm-section--dark .sm-eyebrow .elementor-heading-title {
  color: var(--sm-prog-orange-light) !important;
}

.sm-page-programme .sm-section-title,
.sm-page-programme .sm-section-title.elementor-widget,
.sm-page-programme .sm-section-title .elementor-widget-container,
.sm-page-programme .sm-section-title .elementor-heading-title {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-display) !important;
  font-size: var(--sm-fs-h2, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.8px !important;
  color: var(--sm-prog-navy) !important;
}

.sm-page-programme .sm-section--dark .sm-section-title,
.sm-page-programme .sm-section--dark .sm-section-title .elementor-heading-title,
.sm-page-programme .sm-section--dark .sm-section-title .elementor-widget-container {
  color: var(--sm-prog-white) !important;
}

.sm-page-programme .sm-lead,
.sm-page-programme .sm-lead.elementor-widget,
.sm-page-programme .sm-lead .elementor-widget-container,
.sm-page-programme .sm-lead p {
  width: 100% !important;
  max-width: 680px !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: var(--sm-fs-lead, 21px) !important;
  line-height: 1.55 !important;
  color: var(--sm-prog-slate) !important;
}

.sm-page-programme .sm-section--dark .sm-lead,
.sm-page-programme .sm-section--dark .sm-lead p,
.sm-page-programme .sm-section--dark .sm-lead .elementor-widget-container {
  color: var(--sm-prog-on-dark-3) !important;
}

.sm-page-programme .sm-max-580,
.sm-page-programme .sm-max-580 .elementor-widget-container,
.sm-page-programme .sm-max-580 .elementor-heading-title,
.sm-page-programme .sm-max-580 p { max-width: 580px !important; }

.sm-page-programme .sm-max-680,
.sm-page-programme .sm-max-680 .elementor-widget-container,
.sm-page-programme .sm-max-680 .elementor-heading-title,
.sm-page-programme .sm-max-680 p { max-width: 680px !important; }

.sm-page-programme .sm-max-760,
.sm-page-programme .sm-max-760 .elementor-widget-container,
.sm-page-programme .sm-max-760 .elementor-heading-title,
.sm-page-programme .sm-max-760 p { max-width: 760px !important; }

.sm-page-programme .sm-max-780,
.sm-page-programme .sm-max-780 .elementor-widget-container,
.sm-page-programme .sm-max-780 .elementor-heading-title,
.sm-page-programme .sm-max-780 p { max-width: 780px !important; }

/* ============================================================
   Button handling
   ============================================================ */

.sm-page-programme .sm-button-row,
.sm-page-programme .sm-button-row.elementor-element,
.sm-page-programme .sm-btn-row,
.sm-page-programme .sm-btn-row.elementor-element {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sm-page-programme .sm-button-row--centre,
.sm-page-programme .sm-button-row--center,
.sm-page-programme .sm-btn-row--centre,
.sm-page-programme .sm-btn-row--center {
  justify-content: center !important;
}

.sm-page-programme .sm-btn,
.sm-page-programme .sm-btn.elementor-widget,
.sm-page-programme .sm-btn .elementor-widget-container,
.sm-page-programme .sm-btn .elementor-button-wrapper {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  width: auto !important;
}

.sm-page-programme .sm-btn .elementor-button,
.sm-page-programme a.sm-btn {
  min-height: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 16px 36px !important;
  border-radius: var(--sm-prog-radius) !important;
  border: 1px solid transparent !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: transform 150ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 250ms cubic-bezier(0.22, 0.61, 0.36, 1), color 250ms cubic-bezier(0.22, 0.61, 0.36, 1), background 250ms cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

.sm-page-programme .sm-btn .elementor-button:hover,
.sm-page-programme a.sm-btn:hover { transform: translateY(-2px) !important; }
.sm-page-programme .sm-btn .elementor-button:active,
.sm-page-programme a.sm-btn:active { transform: translateY(0) !important; }

.sm-page-programme .sm-btn--orange .elementor-button,
.sm-page-programme a.sm-btn--orange {
  background: var(--sm-prog-orange) !important;
  color: var(--sm-prog-white) !important;
  border-color: var(--sm-prog-orange) !important;
}

.sm-page-programme .sm-btn--dark-outline .elementor-button,
.sm-page-programme a.sm-btn--dark-outline {
  background: transparent !important;
  color: var(--sm-prog-white) !important;
  border-color: rgba(255,255,255,0.30) !important;
  padding: 15px 30px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

.sm-page-programme .sm-btn--dark-outline .elementor-button:hover,
.sm-page-programme a.sm-btn--dark-outline:hover {
  color: var(--sm-prog-orange-light) !important;
  border-color: var(--sm-prog-orange-light) !important;
}

.sm-page-programme .sm-btn--navy .elementor-button,
.sm-page-programme a.sm-btn--navy {
  background: var(--sm-prog-navy) !important;
  color: var(--sm-prog-white) !important;
  border-color: var(--sm-prog-navy) !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border-radius: var(--sm-prog-radius) !important;
}

.sm-page-programme .sm-btn--link-orange .elementor-button,
.sm-page-programme a.sm-btn--link-orange {
  background: transparent !important;
  color: var(--sm-prog-orange) !important;
  border-color: transparent !important;
  padding: 10px 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* ============================================================
   Section 1 — Hero
   Source: header.hero.dark, 80px top / 64px bottom.
   Hero image belongs on the OUTER section in Elementor.
   ============================================================ */

.sm-prog-hero,
.sm-prog-hero.elementor-element {
  position: relative !important;
  overflow: hidden !important;
  padding-block: 80px 64px !important;
  background-color: var(--sm-prog-navy-deep) !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  color: var(--sm-prog-white) !important;
}


.sm-prog-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(14,26,53,0.68) 0%, rgba(14,26,53,0.82) 60%, rgba(14,26,53,0.94) 100%) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.sm-prog-hero__inner,
.sm-prog-hero__inner.elementor-element,
.sm-prog-hero__inner > .e-con-inner {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  text-align: left !important;
}

.sm-prog-breadcrumb,
.sm-prog-breadcrumb.elementor-widget,
.sm-prog-breadcrumb .elementor-widget-container,
.sm-prog-breadcrumb p,
.sm-prog-breadcrumb a {
  margin: 0 0 18px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: var(--sm-prog-muted) !important;
  text-decoration: none !important;
}

.sm-prog-breadcrumb a { color: var(--sm-prog-orange-light) !important; }
.sm-prog-breadcrumb a:hover { text-decoration: underline !important; }

.sm-prog-hero__eyebrow,
.sm-prog-hero__eyebrow.elementor-widget,
.sm-prog-hero__eyebrow .elementor-widget-container,
.sm-prog-hero__eyebrow .elementor-heading-title {
  margin: 0 0 14px !important;
  color: var(--sm-prog-orange-light) !important;
}

.sm-prog-hero__title,
.sm-prog-hero__title.elementor-widget,
.sm-prog-hero__title .elementor-widget-container,
.sm-prog-hero__title .elementor-heading-title {
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-display) !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -1.2px !important;
  color: var(--sm-prog-white) !important;
}

.sm-prog-hero__strapline,
.sm-prog-hero__strapline.elementor-widget,
.sm-prog-hero__strapline .elementor-widget-container,
.sm-prog-hero__strapline p {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-display) !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.35 !important;
  letter-spacing: -0.2px !important;
  color: var(--sm-prog-white) !important;
}

.sm-prog-hero__lead,
.sm-prog-hero__lead.elementor-widget,
.sm-prog-hero__lead .elementor-widget-container,
.sm-prog-hero__lead p {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: var(--sm-prog-on-dark-2) !important;
}

.sm-prog-hero__buttons,
.sm-prog-hero__buttons.elementor-element {
  margin-top: 32px !important;
  justify-content: flex-start !important;
}

/* ============================================================
   Section 2 — Quick facts
   ============================================================ */

.sm-prog-facts,
.sm-prog-facts.elementor-element {
  padding-block: 64px 32px !important;
}

.sm-prog-facts__inner,
.sm-prog-facts__inner.elementor-element,
.sm-prog-facts__inner > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
}

.sm-prog-facts-grid,
.sm-prog-facts-grid.elementor-element,
.sm-prog-facts-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 0 !important;
}

.sm-prog-fact,
.sm-prog-fact.elementor-element,
.sm-prog-fact > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 20px 22px !important;
  background: var(--sm-prog-white) !important;
  border: 1px solid var(--sm-prog-rule) !important;
  border-top: 3px solid var(--sm-prog-orange) !important;
  border-radius: var(--sm-prog-radius-md) !important;
}

.sm-prog-fact__label,
.sm-prog-fact__label.elementor-widget,
.sm-prog-fact__label .elementor-widget-container,
.sm-prog-fact__label .elementor-heading-title,
.sm-prog-fact__label p {
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: var(--sm-prog-orange) !important;
}

.sm-prog-fact__value,
.sm-prog-fact__value.elementor-widget,
.sm-prog-fact__value .elementor-widget-container,
.sm-prog-fact__value .elementor-heading-title,
.sm-prog-fact__value p {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.3px !important;
  color: var(--sm-prog-navy) !important;
}

/* ============================================================
   Section 3 — Programme content / topics
   ============================================================ */

.sm-prog-content,
.sm-prog-content.elementor-element {
  padding-block: 32px var(--sm-prog-section-y) !important;
}

.sm-prog-content__inner,
.sm-prog-content__inner.elementor-element,
.sm-prog-content__inner > .e-con-inner,
.sm-prog-outcomes__inner,
.sm-prog-outcomes__inner.elementor-element,
.sm-prog-outcomes__inner > .e-con-inner,
.sm-prog-delivery__inner,
.sm-prog-delivery__inner.elementor-element,
.sm-prog-delivery__inner > .e-con-inner,
.sm-prog-other__inner,
.sm-prog-other__inner.elementor-element,
.sm-prog-other__inner > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

.sm-prog-topic-grid,
.sm-prog-topic-grid.elementor-element,
.sm-prog-topic-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 0 !important;
}

.sm-prog-topic-card,
.sm-prog-topic-card.elementor-element,
.sm-prog-topic-card > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  height: 100% !important;
  padding: 24px 26px !important;
  background: var(--sm-prog-paper) !important;
  border: 1px solid var(--sm-prog-rule) !important;
  border-radius: var(--sm-prog-radius-lg) !important;
}

.sm-prog-topic-card__title,
.sm-prog-topic-card__title.elementor-widget,
.sm-prog-topic-card__title .elementor-widget-container,
.sm-prog-topic-card__title .elementor-heading-title {
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.2px !important;
  color: var(--sm-prog-navy) !important;
}

.sm-prog-topic-card__body,
.sm-prog-topic-card__body.elementor-widget,
.sm-prog-topic-card__body .elementor-widget-container,
.sm-prog-topic-card__body p {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: var(--sm-prog-slate) !important;
}

/* ============================================================
   Section 4 — Learning outcomes
   ============================================================ */

.sm-prog-outcomes-box,
.sm-prog-outcomes-box.elementor-element,
.sm-prog-outcomes-box > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 36px 40px !important;
  background: linear-gradient(135deg, var(--sm-prog-navy) 0%, #2A4F8F 100%) !important;
  border-radius: var(--sm-prog-radius-xl) !important;
  color: var(--sm-prog-white) !important;
}

.sm-prog-outcomes-box__title,
.sm-prog-outcomes-box__title.elementor-widget,
.sm-prog-outcomes-box__title .elementor-widget-container,
.sm-prog-outcomes-box__title .elementor-heading-title {
  margin: 0 0 18px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: var(--sm-prog-white) !important;
}

.sm-prog-outcomes-list,
.sm-prog-outcomes-list.elementor-widget,
.sm-prog-outcomes-list .elementor-widget-container,
.sm-prog-outcomes-list ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  columns: 2 !important;
  column-gap: 32px !important;
}

.sm-prog-outcomes-list li {
  position: relative !important;
  break-inside: avoid !important;
  margin: 0 !important;
  padding: 8px 0 8px 24px !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: var(--sm-prog-on-dark-2) !important;
}

.sm-prog-outcomes-list li::before {
  content: '✓' !important;
  position: absolute !important;
  left: 0 !important;
  top: 8px !important;
  color: var(--sm-prog-green) !important;
  font-weight: 700 !important;
}

/* ============================================================
   Section 5 — Delivery options
   ============================================================ */

.sm-prog-delivery-grid,
.sm-prog-delivery-grid.elementor-element,
.sm-prog-delivery-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 32px 0 0 !important;
  padding: 0 !important;
}

.sm-prog-delivery-card,
.sm-prog-delivery-card.elementor-element,
.sm-prog-delivery-card > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  height: 100% !important;
  padding: 26px 28px !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: var(--sm-prog-radius-lg) !important;
}

.sm-prog-delivery-card__meta,
.sm-prog-delivery-card__meta.elementor-widget,
.sm-prog-delivery-card__meta .elementor-widget-container,
.sm-prog-delivery-card__meta p {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: var(--sm-prog-orange-light) !important;
}

.sm-prog-delivery-card__title,
.sm-prog-delivery-card__title.elementor-widget,
.sm-prog-delivery-card__title .elementor-widget-container,
.sm-prog-delivery-card__title .elementor-heading-title {
  margin: 0 0 14px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: var(--sm-prog-white) !important;
}

.sm-prog-delivery-card__body,
.sm-prog-delivery-card__body.elementor-widget,
.sm-prog-delivery-card__body .elementor-widget-container,
.sm-prog-delivery-card__body p {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--sm-prog-on-dark-2) !important;
}

/* ============================================================
   Section 6 — Related reading
   ============================================================ */

.sm-prog-related__inner,
.sm-prog-related__inner.elementor-element,
.sm-prog-related__inner > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
}

.sm-prog-related-card,
.sm-prog-related-card.elementor-element,
.sm-prog-related-card > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 32px 36px !important;
  background: var(--sm-prog-white) !important;
  border: 1px solid var(--sm-prog-rule) !important;
  border-left: 4px solid var(--sm-prog-orange) !important;
  border-radius: var(--sm-prog-radius-xl) !important;
}

.sm-prog-related-card__label,
.sm-prog-related-card__label.elementor-widget,
.sm-prog-related-card__label .elementor-widget-container,
.sm-prog-related-card__label .elementor-heading-title,
.sm-prog-related-card__label p {
  margin: 0 0 10px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  color: var(--sm-prog-orange) !important;
}

.sm-prog-related-card__title,
.sm-prog-related-card__title.elementor-widget,
.sm-prog-related-card__title .elementor-widget-container,
.sm-prog-related-card__title .elementor-heading-title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-display) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.3px !important;
  color: var(--sm-prog-navy) !important;
}

.sm-prog-related-card__body,
.sm-prog-related-card__body.elementor-widget,
.sm-prog-related-card__body .elementor-widget-container,
.sm-prog-related-card__body p {
  margin: 0 0 16px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--sm-prog-slate) !important;
}

.sm-prog-related-card__actions,
.sm-prog-related-card__actions.elementor-element {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================================
   Section 7 — Testimonial
   ============================================================ */

.sm-prog-testimonial__inner,
.sm-prog-testimonial__inner.elementor-element,
.sm-prog-testimonial__inner > .e-con-inner,
.sm-prog-cta__inner,
.sm-prog-cta__inner.elementor-element,
.sm-prog-cta__inner > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  text-align: center !important;
}

.sm-prog-testimonial__quote,
.sm-prog-testimonial__quote.elementor-widget,
.sm-prog-testimonial__quote .elementor-widget-container,
.sm-prog-testimonial__quote p {
  width: 100% !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  font-family: var(--sm-prog-serif) !important;
  font-style: italic !important;
  font-size: 28px !important;
  line-height: 1.35 !important;
  color: var(--sm-prog-navy) !important;
  font-variation-settings: "opsz" 28, "SOFT" 30, "WONK" 0 !important;
}

.sm-prog-testimonial__attr,
.sm-prog-testimonial__attr.elementor-widget,
.sm-prog-testimonial__attr .elementor-widget-container,
.sm-prog-testimonial__attr p {
  margin: 22px 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: var(--sm-prog-slate) !important;
}

.sm-prog-testimonial__attr strong {
  color: var(--sm-prog-navy) !important;
  font-weight: 700 !important;
}

/* ============================================================
   Section 8 — Other programmes
   ============================================================ */

.sm-prog-other-grid,
.sm-prog-other-grid.elementor-element,
.sm-prog-other-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 0 !important;
}

.sm-prog-other-card,
.sm-prog-other-card.elementor-widget,
.sm-prog-other-card .elementor-widget-container,
.sm-prog-other-card a,
.sm-prog-other-card.elementor-element,
.sm-prog-other-card > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 22px 20px !important;
  background: var(--sm-prog-white) !important;
  border: 1px solid var(--sm-prog-rule) !important;
  border-radius: var(--sm-prog-radius-md) !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: transform 200ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 200ms cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

.sm-prog-other-card:hover,
.sm-prog-other-card a:hover {
  border-color: var(--sm-prog-orange) !important;
  transform: translateY(-2px) !important;
}

.sm-prog-other-card__label,
.sm-prog-other-card__label.elementor-widget,
.sm-prog-other-card__label .elementor-widget-container,
.sm-prog-other-card__label .elementor-heading-title,
.sm-prog-other-card__label p,
.sm-prog-other-card .sm-prog-other-card__label {
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: var(--sm-prog-orange) !important;
}

.sm-prog-other-card__title,
.sm-prog-other-card__title.elementor-widget,
.sm-prog-other-card__title .elementor-widget-container,
.sm-prog-other-card__title .elementor-heading-title,
.sm-prog-other-card__title p,
.sm-prog-other-card .sm-prog-other-card__title {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--sm-prog-navy) !important;
}

/* ============================================================
   Section 9 — CTA
   ============================================================ */

.sm-prog-cta,
.sm-prog-cta.elementor-element {
  background: var(--sm-prog-navy-deep) !important;
}

.sm-prog-cta__body,
.sm-prog-cta__body.elementor-widget,
.sm-prog-cta__body .elementor-widget-container,
.sm-prog-cta__body p {
  width: 100% !important;
  max-width: 580px !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: var(--sm-prog-on-dark-2) !important;
}

.sm-prog-cta__email,
.sm-prog-cta__email.elementor-widget,
.sm-prog-cta__email .elementor-widget-container,
.sm-prog-cta__email p,
.sm-prog-cta__email a {
  margin: 24px 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  color: var(--sm-prog-white) !important;
}

.sm-prog-cta__email a {
  color: var(--sm-prog-orange-light) !important;
  text-decoration: none !important;
}

.sm-prog-cta__email a:hover { text-decoration: underline !important; }

/* ============================================================
   Responsive behaviour
   ============================================================ */

@media (max-width: 1080px) {
  .sm-prog-other-grid,
  .sm-prog-other-grid.elementor-element,
  .sm-prog-other-grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 880px) {
  .sm-page-programme .sm-section,
  .sm-page-programme .sm-section.elementor-element {
    padding-block: var(--sm-prog-section-y-mobile) !important;
  }

  .sm-prog-hero,
  .sm-prog-hero.elementor-element {
    padding-block: 72px 56px !important;
  }

  .sm-prog-hero__title,
  .sm-prog-hero__title .elementor-heading-title {
    font-size: 40px !important;
  }

  .sm-prog-facts,
  .sm-prog-facts.elementor-element {
    padding-block: 56px 28px !important;
  }

  .sm-prog-content,
  .sm-prog-content.elementor-element {
    padding-block: 28px var(--sm-prog-section-y-mobile) !important;
  }

  .sm-prog-facts-grid,
  .sm-prog-facts-grid.elementor-element,
  .sm-prog-facts-grid > .e-con-inner,
  .sm-prog-topic-grid,
  .sm-prog-topic-grid.elementor-element,
  .sm-prog-topic-grid > .e-con-inner,
  .sm-prog-delivery-grid,
  .sm-prog-delivery-grid.elementor-element,
  .sm-prog-delivery-grid > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  .sm-prog-facts-grid,
  .sm-prog-facts-grid.elementor-element,
  .sm-prog-facts-grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .sm-prog-outcomes-list,
  .sm-prog-outcomes-list .elementor-widget-container,
  .sm-prog-outcomes-list ul {
    columns: 1 !important;
  }
}

@media (max-width: 560px) {
  .sm-page-programme .sm-container,
  .sm-page-programme .sm-container.elementor-element,
  .sm-page-programme .sm-container > .e-con-inner {
    padding-inline: 20px !important;
  }

  .sm-prog-hero__title,
  .sm-prog-hero__title .elementor-heading-title {
    font-size: 34px !important;
  }

  .sm-page-programme .sm-section-title,
  .sm-page-programme .sm-section-title .elementor-heading-title {
    font-size: 32px !important;
  }

  .sm-prog-facts-grid,
  .sm-prog-facts-grid.elementor-element,
  .sm-prog-facts-grid > .e-con-inner,
  .sm-prog-other-grid,
  .sm-prog-other-grid.elementor-element,
  .sm-prog-other-grid > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  .sm-page-programme .sm-btn .elementor-button,
  .sm-page-programme a.sm-btn {
    width: 100% !important;
  }

  .sm-prog-hero__buttons,
  .sm-prog-related-card__actions {
    width: 100% !important;
  }
}

/* ============================================================
   v1 live Elementor source-fidelity lock
   Purpose: tolerate Elementor widget/container wrappers and ensure
   source spacing/font sizes win even when the shared base CSS loads after.
   ============================================================ */

body .sm-page.sm-page-programme .sm-prog-hero__inner,
body .sm-page.sm-page-programme .sm-prog-hero__inner.elementor-element,
body .sm-page.sm-page-programme .sm-prog-hero__inner > .e-con-inner,
body .sm-page.sm-page-programme .sm-prog-content__inner,
body .sm-page.sm-page-programme .sm-prog-outcomes__inner,
body .sm-page.sm-page-programme .sm-prog-delivery__inner,
body .sm-page.sm-page-programme .sm-prog-other__inner {
  gap: 0 !important;
  row-gap: 0 !important;
  --row-gap: 0 !important;
  --column-gap: 0 !important;
  --gap: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-hero__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-hero__inner > .e-con,
body .sm-page.sm-page-programme .sm-prog-hero__inner > .elementor-widget:not(:last-child),
body .sm-page.sm-page-programme .sm-prog-hero__inner > .e-con:not(:last-child),
body .sm-page.sm-page-programme .sm-prog-content__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-content__inner > .e-con,
body .sm-page.sm-page-programme .sm-prog-outcomes__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-outcomes__inner > .e-con,
body .sm-page.sm-page-programme .sm-prog-delivery__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-delivery__inner > .e-con,
body .sm-page.sm-page-programme .sm-prog-other__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-other__inner > .e-con {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body .sm-page.sm-page-programme .sm-section--light,
body .sm-page.sm-page-programme .sm-prog-facts,
body .sm-page.sm-page-programme .sm-prog-content,
body .sm-page.sm-page-programme .sm-prog-related,
body .sm-page.sm-page-programme .sm-prog-other {
  background: #FAFAF7 !important;
}

body .sm-page.sm-page-programme .sm-section--tint,
body .sm-page.sm-page-programme .sm-prog-outcomes,
body .sm-page.sm-page-programme .sm-prog-testimonial {
  background: #F1F1ED !important;
}

body .sm-page.sm-page-programme .sm-section--dark,
body .sm-page.sm-page-programme .sm-prog-hero,
body .sm-page.sm-page-programme .sm-prog-delivery,
body .sm-page.sm-page-programme .sm-prog-cta {
  background-color: #0E1A35 !important;
}

/* ============================================================
   v2 Elementor hero-image lock
   The hero image is selected in Elementor on the OUTER .sm-prog-hero
   container. These rules intentionally use background-color/properties
   only — never the background shorthand — so Elementor's background-image
   declaration remains visible.
   ============================================================ */

body .sm-page.sm-page-programme .sm-prog-hero,
body .sm-page.sm-page-programme .sm-prog-hero.elementor-element,
body .sm-page.sm-page-programme .sm-section.sm-prog-hero,
body .sm-page.sm-page-programme .sm-section--dark.sm-prog-hero {
  background-color: #0E1A35 !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

body .sm-page.sm-page-programme .sm-prog-hero > .e-con-inner,
body .sm-page.sm-page-programme .sm-prog-hero__inner,
body .sm-page.sm-page-programme .sm-prog-hero__inner > .e-con-inner {
  background: transparent !important;
}

body .sm-page.sm-page-programme .sm-prog-hero::before {
  background: linear-gradient(180deg, rgba(14,26,53,0.68) 0%, rgba(14,26,53,0.82) 60%, rgba(14,26,53,0.94) 100%) !important;
}

/* ============================================================
   v3 correction — Learning outcomes source column behaviour
   Source uses columns only on the <ul>: two columns desktop, one below 880px.
   Do not apply multi-column layout to Elementor widget wrappers, otherwise
   the widget container and the <ul> can compound into four visual columns.
   ============================================================ */

body .sm-page.sm-page-programme .sm-prog-outcomes-list,
body .sm-page.sm-page-programme .sm-prog-outcomes-list.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-outcomes-list .elementor-widget-container {
  -webkit-columns: auto !important;
  -moz-columns: auto !important;
  columns: auto !important;
  -webkit-column-count: auto !important;
  -moz-column-count: auto !important;
  column-count: auto !important;
  -webkit-column-gap: normal !important;
  -moz-column-gap: normal !important;
  column-gap: normal !important;
}

body .sm-page.sm-page-programme .sm-prog-outcomes-list ul,
body .sm-page.sm-page-programme .sm-prog-outcomes-list.elementor-widget ul,
body .sm-page.sm-page-programme .sm-prog-outcomes-box .sm-prog-outcomes-list ul {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  -webkit-columns: 2 !important;
  -moz-columns: 2 !important;
  columns: 2 !important;
  -webkit-column-count: 2 !important;
  -moz-column-count: 2 !important;
  column-count: 2 !important;
  -webkit-column-gap: 32px !important;
  -moz-column-gap: 32px !important;
  column-gap: 32px !important;
}

body .sm-page.sm-page-programme .sm-prog-outcomes-list li {
  display: block !important;
  -webkit-column-break-inside: avoid !important;
  page-break-inside: avoid !important;
  break-inside: avoid !important;
}

@media (max-width: 880px) {
  body .sm-page.sm-page-programme .sm-prog-outcomes-list ul,
  body .sm-page.sm-page-programme .sm-prog-outcomes-list.elementor-widget ul,
  body .sm-page.sm-page-programme .sm-prog-outcomes-box .sm-prog-outcomes-list ul {
    -webkit-columns: 1 !important;
    -moz-columns: 1 !important;
    columns: 1 !important;
    -webkit-column-count: 1 !important;
    -moz-column-count: 1 !important;
    column-count: 1 !important;
    -webkit-column-gap: normal !important;
    -moz-column-gap: normal !important;
    column-gap: normal !important;
  }
}

/* ============================================================
   v4 Related-reading action row lock
   Source uses .related-read .actions { display:flex; gap:12px; flex-wrap:wrap; }
   This forces the Elementor actions container and its button widgets to behave
   as a horizontal source-style row, independent of Elementor flex settings.
   ============================================================ */

body .sm-page.sm-page-programme .sm-prog-related-card__actions,
body .sm-page.sm-page-programme .sm-prog-related-card__actions.elementor-element,
body .sm-page.sm-page-programme .sm-prog-related-card__actions.e-con,
body .sm-page.sm-page-programme .sm-prog-related-card__actions > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  align-content: center !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card__actions > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-related-card__actions > .e-con-inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-related-card__actions > .e-con,
body .sm-page.sm-page-programme .sm-prog-related-card__actions > .e-con-inner > .e-con,
body .sm-page.sm-page-programme .sm-prog-related-card__actions .sm-btn,
body .sm-page.sm-page-programme .sm-prog-related-card__actions .sm-btn.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-related-card__actions .elementor-widget-button {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card__actions .sm-btn .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-related-card__actions .sm-btn .elementor-button-wrapper,
body .sm-page.sm-page-programme .sm-prog-related-card__actions .elementor-widget-button .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-related-card__actions .elementor-widget-button .elementor-button-wrapper {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card__actions .sm-btn .elementor-button,
body .sm-page.sm-page-programme .sm-prog-related-card__actions a.sm-btn,
body .sm-page.sm-page-programme .sm-prog-related-card__actions .elementor-widget-button .elementor-button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  white-space: nowrap !important;
  margin: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card__actions .sm-btn--navy .elementor-button,
body .sm-page.sm-page-programme .sm-prog-related-card__actions a.sm-btn--navy {
  padding: 10px 18px !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card__actions .sm-btn--link-orange .elementor-button,
body .sm-page.sm-page-programme .sm-prog-related-card__actions a.sm-btn--link-orange {
  padding: 10px 0 !important;
}

@media (max-width: 640px) {
  body .sm-page.sm-page-programme .sm-prog-related-card__actions,
  body .sm-page.sm-page-programme .sm-prog-related-card__actions.elementor-element,
  body .sm-page.sm-page-programme .sm-prog-related-card__actions.e-con,
  body .sm-page.sm-page-programme .sm-prog-related-card__actions > .e-con-inner {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  body .sm-page.sm-page-programme .sm-prog-related-card__actions .sm-btn .elementor-button,
  body .sm-page.sm-page-programme .sm-prog-related-card__actions a.sm-btn,
  body .sm-page.sm-page-programme .sm-prog-related-card__actions .elementor-widget-button .elementor-button {
    width: auto !important;
    max-width: max-content !important;
  }
}

/* ============================================================
   v5 — Elementor clickable overlay support for Other Programme cards
   ------------------------------------------------------------
   Elementor does not support links on Containers in this build.
   Add one HTML widget as the first child of each .sm-prog-other-card:
   Widget class: sm-prog-other-card__link-widget
   HTML: <a class="sm-prog-other-card__link" href="/target-url/" aria-label="Programme name"></a>
   ============================================================ */

.sm-page-programme .sm-prog-other-card,
.sm-page-programme .sm-prog-other-card.elementor-element {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 132px !important;
  margin: 0 !important;
  padding: 22px 20px !important;
  background: var(--sm-prog-white) !important;
  border: 1px solid var(--sm-prog-rule) !important;
  border-radius: var(--sm-prog-radius-md) !important;
  color: inherit !important;
  text-decoration: none !important;
  transition: transform 200ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 200ms cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 200ms cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

.sm-page-programme .sm-prog-other-card:hover,
.sm-page-programme .sm-prog-other-card:focus-within {
  border-color: var(--sm-prog-orange) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 26px rgba(14, 26, 53, 0.08) !important;
}

/* Reset Elementor descendants that were previously caught by broad card body.elementor-page-9423s. */
.sm-page-programme .sm-prog-other-card > .e-con-inner,
.sm-page-programme .sm-prog-other-card .elementor-widget,
.sm-page-programme .sm-prog-other-card .elementor-widget-container,
.sm-page-programme .sm-prog-other-card .elementor-heading-title,
.sm-page-programme .sm-prog-other-card p,
.sm-page-programme .sm-prog-other-card span {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  text-decoration: none !important;
}

.sm-page-programme .sm-prog-other-card > .e-con-inner {
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* The hidden HTML widget occupies no visual space but carries the stretched link. */
.sm-page-programme .sm-prog-other-card__link-widget,
.sm-page-programme .sm-prog-other-card__link-widget.elementor-widget,
.sm-page-programme .sm-prog-other-card__link-widget .elementor-widget-container {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow: none !important;
}

.sm-page-programme .sm-prog-other-card__link,
.sm-page-programme .sm-prog-other-card .sm-prog-other-card__link,
.sm-page-programme .sm-prog-other-card__link-widget a.sm-prog-other-card__link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow: none !important;
  color: transparent !important;
  text-decoration: none !important;
  text-indent: -9999px !important;
  white-space: nowrap !important;
}

.sm-page-programme .sm-prog-other-card__link:focus-visible {
  outline: 2px solid var(--sm-prog-orange) !important;
  outline-offset: -4px !important;
}

/* Keep the visible label/title above the card background but visually under the overlay link. */
.sm-page-programme .sm-prog-other-card__label,
.sm-page-programme .sm-prog-other-card__label.elementor-widget,
.sm-page-programme .sm-prog-other-card__title,
.sm-page-programme .sm-prog-other-card__title.elementor-widget {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
}

.sm-page-programme .sm-prog-other-card__label,
.sm-page-programme .sm-prog-other-card__label .elementor-widget-container,
.sm-page-programme .sm-prog-other-card__label .elementor-heading-title,
.sm-page-programme .sm-prog-other-card__label p,
.sm-page-programme .sm-prog-other-card__label span {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: var(--sm-prog-orange) !important;
}

.sm-page-programme .sm-prog-other-card__title,
.sm-page-programme .sm-prog-other-card__title .elementor-widget-container,
.sm-page-programme .sm-prog-other-card__title .elementor-heading-title,
.sm-page-programme .sm-prog-other-card__title p,
.sm-page-programme .sm-prog-other-card__title span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--sm-prog-navy) !important;
}


/* ============================================================
   SCOTSMAN® Programme Pages CSS v6 — source-fidelity live lock
   Date: 2026-06-02
   Purpose:
   - Lock programme pages to the original source colours, spacing,
     typography and component rhythm.
   - Prevent Elementor/global CSS from changing source values.
   - Keep Elementor-controlled hero background image visible.
   ============================================================ */

/* Source tokens: deliberately not inherited from Global CSS, because
   programme source uses Inter for headings and body, with Fraunces only
   for testimonial/pull quote treatment. */
.sm-page.sm-page-programme,
.sm-page-programme.elementor-element {
  --sm-prog-navy-deep: #0E1A35;
  --sm-prog-navy: #1B2A4E;
  --sm-prog-navy-mid: #2D4A7C;
  --sm-prog-orange: #C97B1E;
  --sm-prog-orange-light: #E89B4D;
  --sm-prog-green: #16A34A;
  --sm-prog-paper: #FAFAF7;
  --sm-prog-light: #F1F1ED;
  --sm-prog-white: #FFFFFF;
  --sm-prog-ink: #2A2F45;
  --sm-prog-slate: #475569;
  --sm-prog-muted: #94A3B8;
  --sm-prog-rule: #E2E8F0;
  --sm-prog-on-dark-1: #FFFFFF;
  --sm-prog-on-dark-2: #C9D4E8;
  --sm-prog-on-dark-3: #B8C4DA;
  --sm-prog-on-dark-4: #94A3B8;

  --sm-prog-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --sm-prog-display: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --sm-prog-serif: Fraunces, Georgia, "Times New Roman", serif;

  --sm-prog-container: 1200px;
  --sm-prog-container-narrow: 900px;
  --sm-prog-container-pad: 32px;
  --sm-prog-section-y: 104px;
  --sm-prog-section-y-mobile: 64px;

  --sm-prog-radius: 8px;
  --sm-prog-radius-md: 10px;
  --sm-prog-radius-lg: 12px;
  --sm-prog-radius-xl: 14px;

  font-family: var(--sm-prog-sans) !important;
  color: var(--sm-prog-ink) !important;
  background-color: var(--sm-prog-paper) !important;
}

/* Page canvas and Elementor wrapper reset */
body .sm-page.sm-page-programme,
body .sm-page.sm-page-programme.elementor-element,
body .sm-page.sm-page-programme > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  overflow-x: hidden !important;
}

body .sm-page.sm-page-programme .sm-section,
body .sm-page.sm-page-programme .sm-section.elementor-element {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-inline: 0 !important;
  padding-block: var(--sm-prog-section-y) !important;
  gap: 0 !important;
  align-self: stretch !important;
}

body .sm-page.sm-page-programme .sm-section > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

body .sm-page.sm-page-programme .sm-container,
body .sm-page.sm-page-programme .sm-container.elementor-element,
body .sm-page.sm-page-programme .sm-container > .e-con-inner {
  width: 100% !important;
  max-width: var(--sm-prog-container) !important;
  margin-inline: auto !important;
  padding-inline: var(--sm-prog-container-pad) !important;
  padding-block: 0 !important;
  gap: 0 !important;
}

body .sm-page.sm-page-programme .sm-container--narrow,
body .sm-page.sm-page-programme .sm-container--narrow.elementor-element,
body .sm-page.sm-page-programme .sm-container--narrow > .e-con-inner {
  max-width: var(--sm-prog-container-narrow) !important;
}

/* Section backgrounds. Use background-color on the hero/dark sections so
   Elementor's chosen hero image is not overwritten. */
body .sm-page.sm-page-programme .sm-section--dark {
  background-color: var(--sm-prog-navy-deep) !important;
  color: var(--sm-prog-white) !important;
}

body .sm-page.sm-page-programme .sm-section--light {
  background-color: var(--sm-prog-paper) !important;
  color: var(--sm-prog-ink) !important;
}

body .sm-page.sm-page-programme .sm-section--tint {
  background-color: var(--sm-prog-light) !important;
  color: var(--sm-prog-ink) !important;
}

/* Elementor's lazy background-image remover can hit later containers.
   The hero must keep the Elementor-set image. */
body .sm-page.sm-page-programme .sm-prog-hero,
body .sm-page.sm-page-programme .sm-prog-hero.elementor-element {
  position: relative !important;
  overflow: hidden !important;
  padding-block: 80px 64px !important;
  min-height: auto !important;
  background-color: var(--sm-prog-navy-deep) !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

body .sm-page.sm-page-programme .sm-prog-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(
    180deg,
    rgba(14, 26, 53, 0.78) 0%,
    rgba(14, 26, 53, 0.88) 60%,
    rgba(14, 26, 53, 0.96) 100%
  ) !important;
}

body .sm-page.sm-page-programme .sm-prog-hero__inner,
body .sm-page.sm-page-programme .sm-prog-hero__inner.elementor-element,
body .sm-page.sm-page-programme .sm-prog-hero__inner > .e-con-inner {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  text-align: left !important;
}

/* Strong Elementor-specific vertical rhythm reset */
body .sm-page.sm-page-programme .elementor-widget,
body .sm-page.sm-page-programme .elementor-widget:not(:last-child),
body .sm-page.sm-page-programme .elementor-widget-container,
body .sm-page.sm-page-programme .elementor-heading-title,
body .sm-page.sm-page-programme p,
body .sm-page.sm-page-programme ul,
body .sm-page.sm-page-programme ol,
body .sm-page.sm-page-programme li {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body .sm-page.sm-page-programme .elementor-widget-container > *:first-child {
  margin-top: 0 !important;
}

body .sm-page.sm-page-programme .elementor-widget-container > *:last-child {
  margin-bottom: 0 !important;
}

/* Shared source typography */
body .sm-page.sm-page-programme .sm-eyebrow,
body .sm-page.sm-page-programme .sm-eyebrow.elementor-widget,
body .sm-page.sm-page-programme .sm-eyebrow .elementor-widget-container,
body .sm-page.sm-page-programme .sm-eyebrow .elementor-heading-title,
body .sm-page.sm-page-programme .sm-eyebrow p {
  display: inline-block !important;
  width: auto !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  color: var(--sm-prog-orange) !important;
}

body .sm-page.sm-page-programme .sm-section-title,
body .sm-page.sm-page-programme .sm-section-title.elementor-widget,
body .sm-page.sm-page-programme .sm-section-title .elementor-widget-container,
body .sm-page.sm-page-programme .sm-section-title .elementor-heading-title {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-display) !important;
  font-size: 40px !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.8px !important;
  color: var(--sm-prog-navy) !important;
}

body .sm-page.sm-page-programme .sm-section--dark .sm-section-title,
body .sm-page.sm-page-programme .sm-section--dark .sm-section-title .elementor-heading-title,
body .sm-page.sm-page-programme .sm-section-title--light,
body .sm-page.sm-page-programme .sm-section-title--light .elementor-heading-title {
  color: var(--sm-prog-white) !important;
}

body .sm-page.sm-page-programme .sm-lead,
body .sm-page.sm-page-programme .sm-lead.elementor-widget,
body .sm-page.sm-page-programme .sm-lead .elementor-widget-container,
body .sm-page.sm-page-programme .sm-lead p {
  width: 100% !important;
  max-width: 680px !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 21px !important;
  line-height: 1.55 !important;
  color: var(--sm-prog-slate) !important;
}

body .sm-page.sm-page-programme .sm-max-580,
body .sm-page.sm-page-programme .sm-max-580 .elementor-widget-container,
body .sm-page.sm-page-programme .sm-max-580 .elementor-heading-title,
body .sm-page.sm-page-programme .sm-max-580 p { max-width: 580px !important; }

body .sm-page.sm-page-programme .sm-max-680,
body .sm-page.sm-page-programme .sm-max-680 .elementor-widget-container,
body .sm-page.sm-page-programme .sm-max-680 .elementor-heading-title,
body .sm-page.sm-page-programme .sm-max-680 p { max-width: 680px !important; }

body .sm-page.sm-page-programme .sm-max-760,
body .sm-page.sm-page-programme .sm-max-760 .elementor-widget-container,
body .sm-page.sm-page-programme .sm-max-760 .elementor-heading-title,
body .sm-page.sm-page-programme .sm-max-760 p { max-width: 760px !important; }

body .sm-page.sm-page-programme .sm-max-780,
body .sm-page.sm-page-programme .sm-max-780 .elementor-widget-container,
body .sm-page.sm-page-programme .sm-max-780 .elementor-heading-title,
body .sm-page.sm-page-programme .sm-max-780 p { max-width: 780px !important; }

/* Hero content */
body .sm-page.sm-page-programme .sm-prog-breadcrumb,
body .sm-page.sm-page-programme .sm-prog-breadcrumb.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-breadcrumb .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-breadcrumb p,
body .sm-page.sm-page-programme .sm-prog-breadcrumb a {
  margin: 0 0 18px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: var(--sm-prog-muted) !important;
  text-decoration: none !important;
}

body .sm-page.sm-page-programme .sm-prog-breadcrumb a {
  color: var(--sm-prog-orange-light) !important;
}

body .sm-page.sm-page-programme .sm-prog-hero__eyebrow,
body .sm-page.sm-page-programme .sm-prog-hero__eyebrow .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-hero__eyebrow .elementor-heading-title {
  margin: 0 0 14px !important;
  color: var(--sm-prog-orange-light) !important;
}

body .sm-page.sm-page-programme .sm-prog-hero__title,
body .sm-page.sm-page-programme .sm-prog-hero__title.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-hero__title .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-hero__title .elementor-heading-title {
  width: 100% !important;
  max-width: 900px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-display) !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -1.2px !important;
  color: var(--sm-prog-white) !important;
}

body .sm-page.sm-page-programme .sm-prog-hero__strapline,
body .sm-page.sm-page-programme .sm-prog-hero__strapline.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-hero__strapline .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-hero__strapline p {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-display) !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.35 !important;
  color: var(--sm-prog-white) !important;
}

body .sm-page.sm-page-programme .sm-prog-hero__lead,
body .sm-page.sm-page-programme .sm-prog-hero__lead.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-hero__lead .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-hero__lead p {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: var(--sm-prog-on-dark-2) !important;
}

body .sm-page.sm-page-programme .sm-prog-hero__buttons,
body .sm-page.sm-page-programme .sm-prog-hero__buttons.elementor-element {
  margin-top: 28px !important;
}

/* Source buttons */
body .sm-page.sm-page-programme .sm-button-row,
body .sm-page.sm-page-programme .sm-button-row.elementor-element,
body .sm-page.sm-page-programme .sm-btn-row,
body .sm-page.sm-page-programme .sm-btn-row.elementor-element {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-btn,
body .sm-page.sm-page-programme .sm-btn.elementor-widget,
body .sm-page.sm-page-programme .sm-btn .elementor-widget-container,
body .sm-page.sm-page-programme .sm-btn .elementor-button-wrapper {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .sm-page.sm-page-programme .sm-btn .elementor-button,
body .sm-page.sm-page-programme a.sm-btn {
  display: inline-flex !important;
  width: auto !important;
  min-height: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 16px 36px !important;
  border: 1px solid transparent !important;
  border-radius: var(--sm-prog-radius) !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body .sm-page.sm-page-programme .sm-btn--orange .elementor-button,
body .sm-page.sm-page-programme a.sm-btn--orange {
  background-color: var(--sm-prog-orange) !important;
  color: var(--sm-prog-white) !important;
  border-color: var(--sm-prog-orange) !important;
}

body .sm-page.sm-page-programme .sm-btn--dark-outline .elementor-button,
body .sm-page.sm-page-programme a.sm-btn--dark-outline {
  padding: 15px 30px !important;
  background-color: transparent !important;
  color: var(--sm-prog-white) !important;
  border-color: rgba(255,255,255,0.30) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

body .sm-page.sm-page-programme .sm-btn--navy .elementor-button,
body .sm-page.sm-page-programme a.sm-btn--navy {
  padding: 10px 18px !important;
  background-color: var(--sm-prog-navy) !important;
  color: var(--sm-prog-white) !important;
  border-color: var(--sm-prog-navy) !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

body .sm-page.sm-page-programme .sm-btn--link-orange .elementor-button,
body .sm-page.sm-page-programme a.sm-btn--link-orange {
  padding: 10px 0 !important;
  background: transparent !important;
  border-color: transparent !important;
  color: var(--sm-prog-orange) !important;
  border-radius: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* Quick facts */
body .sm-page.sm-page-programme .sm-prog-facts {
  padding-block: 64px 32px !important;
}

body .sm-page.sm-page-programme .sm-prog-facts-grid,
body .sm-page.sm-page-programme .sm-prog-facts-grid.elementor-element,
body .sm-page.sm-page-programme .sm-prog-facts-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-fact,
body .sm-page.sm-page-programme .sm-prog-fact.elementor-element,
body .sm-page.sm-page-programme .sm-prog-fact > .e-con-inner {
  padding: 20px 22px !important;
  background: var(--sm-prog-white) !important;
  border: 1px solid var(--sm-prog-rule) !important;
  border-top: 3px solid var(--sm-prog-orange) !important;
  border-radius: 10px !important;
}

body .sm-page.sm-page-programme .sm-prog-fact__label,
body .sm-page.sm-page-programme .sm-prog-fact__label .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-fact__label .elementor-heading-title {
  margin: 0 0 8px !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  color: var(--sm-prog-orange) !important;
}

body .sm-page.sm-page-programme .sm-prog-fact__value,
body .sm-page.sm-page-programme .sm-prog-fact__value .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-fact__value .elementor-heading-title {
  font-family: var(--sm-prog-sans) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.3px !important;
  color: var(--sm-prog-navy) !important;
}

/* Programme content */
body .sm-page.sm-page-programme .sm-prog-content {
  padding-block: 32px var(--sm-prog-section-y) !important;
}

body .sm-page.sm-page-programme .sm-prog-content__inner,
body .sm-page.sm-page-programme .sm-prog-outcomes__inner,
body .sm-page.sm-page-programme .sm-prog-delivery__inner,
body .sm-page.sm-page-programme .sm-prog-other__inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-topic-grid,
body .sm-page.sm-page-programme .sm-prog-topic-grid.elementor-element,
body .sm-page.sm-page-programme .sm-prog-topic-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-topic-card,
body .sm-page.sm-page-programme .sm-prog-topic-card.elementor-element,
body .sm-page.sm-page-programme .sm-prog-topic-card > .e-con-inner {
  padding: 24px 26px !important;
  background: var(--sm-prog-paper) !important;
  border: 1px solid var(--sm-prog-rule) !important;
  border-radius: 12px !important;
}

body .sm-page.sm-page-programme .sm-prog-topic-card__title,
body .sm-page.sm-page-programme .sm-prog-topic-card__title .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-topic-card__title .elementor-heading-title {
  margin: 0 0 10px !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.2px !important;
  color: var(--sm-prog-navy) !important;
}

body .sm-page.sm-page-programme .sm-prog-topic-card__body,
body .sm-page.sm-page-programme .sm-prog-topic-card__body .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-topic-card__body p {
  font-family: var(--sm-prog-sans) !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  color: var(--sm-prog-slate) !important;
}

/* Outcomes */
body .sm-page.sm-page-programme .sm-prog-outcomes-box,
body .sm-page.sm-page-programme .sm-prog-outcomes-box.elementor-element,
body .sm-page.sm-page-programme .sm-prog-outcomes-box > .e-con-inner {
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 36px 40px !important;
  background: linear-gradient(135deg, var(--sm-prog-navy) 0%, #2A4F8F 100%) !important;
  border-radius: 14px !important;
  color: var(--sm-prog-white) !important;
}

body .sm-page.sm-page-programme .sm-prog-outcomes-box__title,
body .sm-page.sm-page-programme .sm-prog-outcomes-box__title .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-outcomes-box__title .elementor-heading-title {
  margin: 0 0 18px !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: var(--sm-prog-white) !important;
}

/* Prevent compounded columns on Elementor wrappers. Columns apply only to ul. */
body .sm-page.sm-page-programme .sm-prog-outcomes-list,
body .sm-page.sm-page-programme .sm-prog-outcomes-list.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-outcomes-list .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  columns: auto !important;
  column-count: auto !important;
}

body .sm-page.sm-page-programme .sm-prog-outcomes-list ul {
  width: 100% !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  columns: 2 !important;
  column-count: 2 !important;
  column-gap: 32px !important;
}

body .sm-page.sm-page-programme .sm-prog-outcomes-list li {
  position: relative !important;
  display: block !important;
  break-inside: avoid !important;
  margin: 0 !important;
  padding: 8px 0 8px 24px !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: var(--sm-prog-on-dark-2) !important;
}

body .sm-page.sm-page-programme .sm-prog-outcomes-list li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 8px !important;
  color: var(--sm-prog-green) !important;
  font-weight: 700 !important;
}

/* Delivery */
body .sm-page.sm-page-programme .sm-prog-delivery-grid,
body .sm-page.sm-page-programme .sm-prog-delivery-grid.elementor-element,
body .sm-page.sm-page-programme .sm-prog-delivery-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 32px 0 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-delivery-card,
body .sm-page.sm-page-programme .sm-prog-delivery-card.elementor-element,
body .sm-page.sm-page-programme .sm-prog-delivery-card > .e-con-inner {
  padding: 26px 28px !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 12px !important;
}

body .sm-page.sm-page-programme .sm-prog-delivery-card__meta,
body .sm-page.sm-page-programme .sm-prog-delivery-card__meta .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-delivery-card__meta p {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
  margin: 0 0 14px !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: var(--sm-prog-orange-light) !important;
}

body .sm-page.sm-page-programme .sm-prog-delivery-card__title,
body .sm-page.sm-page-programme .sm-prog-delivery-card__title .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-delivery-card__title .elementor-heading-title {
  margin: 0 0 14px !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: var(--sm-prog-white) !important;
}

body .sm-page.sm-page-programme .sm-prog-delivery-card__body,
body .sm-page.sm-page-programme .sm-prog-delivery-card__body .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-delivery-card__body p {
  font-family: var(--sm-prog-sans) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--sm-prog-on-dark-2) !important;
}

/* Related reading */
body .sm-page.sm-page-programme .sm-prog-related__inner,
body .sm-page.sm-page-programme .sm-prog-related__inner.elementor-element,
body .sm-page.sm-page-programme .sm-prog-related__inner > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card,
body .sm-page.sm-page-programme .sm-prog-related-card.elementor-element,
body .sm-page.sm-page-programme .sm-prog-related-card > .e-con-inner {
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 32px 36px !important;
  background: var(--sm-prog-white) !important;
  border: 1px solid var(--sm-prog-rule) !important;
  border-left: 4px solid var(--sm-prog-orange) !important;
  border-radius: 14px !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card__label,
body .sm-page.sm-page-programme .sm-prog-related-card__label .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-related-card__label .elementor-heading-title,
body .sm-page.sm-page-programme .sm-prog-related-card__label p {
  margin: 0 0 10px !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  color: var(--sm-prog-orange) !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card__title,
body .sm-page.sm-page-programme .sm-prog-related-card__title .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-related-card__title .elementor-heading-title {
  margin: 0 0 12px !important;
  font-family: var(--sm-prog-display) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.3px !important;
  color: var(--sm-prog-navy) !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card__body,
body .sm-page.sm-page-programme .sm-prog-related-card__body .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-related-card__body p {
  margin: 0 0 16px !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--sm-prog-slate) !important;
}

/* Force the related button row; do not rely on Elementor container settings. */
body .sm-page.sm-page-programme .sm-prog-related-card__actions,
body .sm-page.sm-page-programme .sm-prog-related-card__actions.elementor-element,
body .sm-page.sm-page-programme .sm-prog-related-card__actions > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card__actions .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-related-card__actions .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-related-card__actions .elementor-button-wrapper,
body .sm-page.sm-page-programme .sm-prog-related-card__actions .elementor-button {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
}

/* Testimonial */
body .sm-page.sm-page-programme .sm-prog-testimonial__inner,
body .sm-page.sm-page-programme .sm-prog-cta__inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-testimonial__quote,
body .sm-page.sm-page-programme .sm-prog-testimonial__quote .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-testimonial__quote p {
  width: 100% !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  font-family: var(--sm-prog-serif) !important;
  font-size: 28px !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  color: var(--sm-prog-navy) !important;
}

body .sm-page.sm-page-programme .sm-prog-testimonial__attr,
body .sm-page.sm-page-programme .sm-prog-testimonial__attr .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-testimonial__attr p {
  margin: 22px 0 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  text-align: center !important;
  color: var(--sm-prog-slate) !important;
}

body .sm-page.sm-page-programme .sm-prog-testimonial__attr strong {
  color: var(--sm-prog-navy) !important;
  font-weight: 700 !important;
}

/* Other programmes — source expects five cards in final live pages.
   The temporary six-card master may wrap differently until one card is removed. */
body .sm-page.sm-page-programme .sm-prog-other-grid,
body .sm-page.sm-page-programme .sm-prog-other-grid.elementor-element,
body .sm-page.sm-page-programme .sm-prog-other-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-other-card,
body .sm-page.sm-page-programme .sm-prog-other-card.elementor-element {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 22px 20px !important;
  background: var(--sm-prog-white) !important;
  border: 1px solid var(--sm-prog-rule) !important;
  border-radius: 10px !important;
  color: inherit !important;
  text-decoration: none !important;
  overflow: hidden !important;
  transition: transform 200ms, border-color 200ms !important;
}

body .sm-page.sm-page-programme .sm-prog-other-card:hover,
body .sm-page.sm-page-programme .sm-prog-other-card:focus-within {
  border-color: var(--sm-prog-orange) !important;
  transform: translateY(-2px) !important;
}

body .sm-page.sm-page-programme .sm-prog-other-card > .e-con-inner,
body .sm-page.sm-page-programme .sm-prog-other-card .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-other-card .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-other-card .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .sm-page.sm-page-programme .sm-prog-other-card__link-widget,
body .sm-page.sm-page-programme .sm-prog-other-card__link-widget.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-other-card__link-widget .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-other-card__link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: inherit !important;
  color: transparent !important;
  text-decoration: none !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

body .sm-page.sm-page-programme .sm-prog-other-card__label,
body .sm-page.sm-page-programme .sm-prog-other-card__label .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-other-card__label .elementor-heading-title,
body .sm-page.sm-page-programme .sm-prog-other-card__label p,
body .sm-page.sm-page-programme .sm-prog-other-card__label span {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: var(--sm-prog-orange) !important;
}

body .sm-page.sm-page-programme .sm-prog-other-card__title,
body .sm-page.sm-page-programme .sm-prog-other-card__title .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-other-card__title .elementor-heading-title,
body .sm-page.sm-page-programme .sm-prog-other-card__title p,
body .sm-page.sm-page-programme .sm-prog-other-card__title span {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--sm-prog-navy) !important;
}

/* CTA */
body .sm-page.sm-page-programme .sm-prog-cta {
  background-color: var(--sm-prog-navy-deep) !important;
}

body .sm-page.sm-page-programme .sm-prog-cta__title,
body .sm-page.sm-page-programme .sm-prog-cta__title .elementor-heading-title {
  color: var(--sm-prog-white) !important;
}

body .sm-page.sm-page-programme .sm-prog-cta__body,
body .sm-page.sm-page-programme .sm-prog-cta__body .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-cta__body p {
  width: 100% !important;
  max-width: 580px !important;
  margin: 24px auto !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  text-align: center !important;
  color: var(--sm-prog-on-dark-2) !important;
}

body .sm-page.sm-page-programme .sm-prog-cta__email,
body .sm-page.sm-page-programme .sm-prog-cta__email .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-cta__email p {
  margin: 24px 0 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  color: var(--sm-prog-white) !important;
  text-align: center !important;
}

body .sm-page.sm-page-programme .sm-prog-cta__email a {
  color: var(--sm-prog-orange-light) !important;
  text-decoration: none !important;
}

/* Responsive source locks */
@media (max-width: 880px) {
  body .sm-page.sm-page-programme {
    --sm-prog-container-pad: 24px;
  }

  body .sm-page.sm-page-programme .sm-section,
  body .sm-page.sm-page-programme .sm-section.elementor-element {
    padding-block: var(--sm-prog-section-y-mobile) !important;
  }

  body .sm-page.sm-page-programme .sm-prog-hero {
    padding-block: 64px 52px !important;
  }

  body .sm-page.sm-page-programme .sm-section-title,
  body .sm-page.sm-page-programme .sm-section-title .elementor-heading-title {
    font-size: 28px !important;
  }

  body .sm-page.sm-page-programme .sm-prog-hero__title,
  body .sm-page.sm-page-programme .sm-prog-hero__title .elementor-heading-title {
    font-size: 36px !important;
    line-height: 1.08 !important;
  }

  body .sm-page.sm-page-programme .sm-lead,
  body .sm-page.sm-page-programme .sm-lead p {
    font-size: 18px !important;
  }

  body .sm-page.sm-page-programme .sm-prog-facts-grid,
  body .sm-page.sm-page-programme .sm-prog-facts-grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .sm-page.sm-page-programme .sm-prog-topic-grid,
  body .sm-page.sm-page-programme .sm-prog-topic-grid > .e-con-inner,
  body .sm-page.sm-page-programme .sm-prog-delivery-grid,
  body .sm-page.sm-page-programme .sm-prog-delivery-grid > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  body .sm-page.sm-page-programme .sm-prog-outcomes-box {
    padding: 28px 24px !important;
  }

  body .sm-page.sm-page-programme .sm-prog-outcomes-list ul {
    columns: 1 !important;
    column-count: 1 !important;
  }

  body .sm-page.sm-page-programme .sm-prog-other-grid,
  body .sm-page.sm-page-programme .sm-prog-other-grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  body .sm-page.sm-page-programme {
    --sm-prog-container-pad: 20px;
  }

  body .sm-page.sm-page-programme .sm-prog-hero__buttons,
  body .sm-page.sm-page-programme .sm-button-row {
    align-items: stretch !important;
  }

  body .sm-page.sm-page-programme .sm-btn,
  body .sm-page.sm-page-programme .sm-btn .elementor-button-wrapper,
  body .sm-page.sm-page-programme .sm-btn .elementor-button {
    width: 100% !important;
  }

  body .sm-page.sm-page-programme .sm-prog-related-card__actions .sm-btn,
  body .sm-page.sm-page-programme .sm-prog-related-card__actions .sm-btn .elementor-button-wrapper,
  body .sm-page.sm-page-programme .sm-prog-related-card__actions .sm-btn .elementor-button {
    width: auto !important;
  }

  body .sm-page.sm-page-programme .sm-prog-facts-grid,
  body .sm-page.sm-page-programme .sm-prog-facts-grid > .e-con-inner,
  body .sm-page.sm-page-programme .sm-prog-other-grid,
  body .sm-page.sm-page-programme .sm-prog-other-grid > .e-con-inner {
    grid-template-columns: 1fr !important;
  }

  body .sm-page.sm-page-programme .sm-prog-related-card {
    padding: 28px 24px !important;
  }

  body .sm-page.sm-page-programme .sm-prog-testimonial__quote,
  body .sm-page.sm-page-programme .sm-prog-testimonial__quote p {
    font-size: 24px !important;
  }
}


/* ============================================================
   v8 full-page spacing audit — Elementor source-fidelity locks
   Date: 2026-06-02
   Purpose:
   - Remove compounded Elementor/theme gaps between all programme sections.
   - Keep source section padding values.
   - Remove redundant component top-spacers where the Elementor section has
     no heading above the component, notably Quick Facts and Related Reading.
   - Preserve source internal spacing for sections with headings/leads:
     topics, outcomes, delivery, and other programmes.
   ============================================================ */

/* Page/theme wrapper reset — prevents WordPress/Hello/Elementor block gaps from
   adding space outside the programme page wrapper. */
body.elementor-page .page-content:has(.sm-page-programme),
body.elementor-page .elementor:has(.sm-page-programme),
body.elementor-page .sm-page.sm-page-programme,
body.elementor-page .sm-page.sm-page-programme.elementor-element,
body.elementor-page .sm-page.sm-page-programme > .e-con-inner {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
  column-gap: 0 !important;
  --gap: 0 !important;
  --row-gap: 0 !important;
  --column-gap: 0 !important;
}

/* All programme sections must behave as true adjoining bands. */
body .sm-page.sm-page-programme > .e-con-inner > .sm-section,
body .sm-page.sm-page-programme > .e-con-inner > .sm-section.elementor-element,
body .sm-page.sm-page-programme .sm-section,
body .sm-page.sm-page-programme .sm-section.elementor-element {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
  column-gap: 0 !important;
  --gap: 0 !important;
  --row-gap: 0 !important;
  --column-gap: 0 !important;
}

/* Source outer section spacing values. */
body .sm-page.sm-page-programme .sm-prog-hero,
body .sm-page.sm-page-programme .sm-prog-hero.elementor-element {
  padding-top: 80px !important;
  padding-bottom: 64px !important;
}

body .sm-page.sm-page-programme .sm-prog-facts,
body .sm-page.sm-page-programme .sm-prog-facts.elementor-element {
  padding-top: 64px !important;
  padding-bottom: 32px !important;
}

body .sm-page.sm-page-programme .sm-prog-content,
body .sm-page.sm-page-programme .sm-prog-content.elementor-element {
  padding-top: 32px !important;
  padding-bottom: var(--sm-prog-section-y) !important;
}

body .sm-page.sm-page-programme .sm-prog-outcomes,
body .sm-page.sm-page-programme .sm-prog-outcomes.elementor-element,
body .sm-page.sm-page-programme .sm-prog-delivery,
body .sm-page.sm-page-programme .sm-prog-delivery.elementor-element,
body .sm-page.sm-page-programme .sm-prog-related,
body .sm-page.sm-page-programme .sm-prog-related.elementor-element,
body .sm-page.sm-page-programme .sm-prog-testimonial,
body .sm-page.sm-page-programme .sm-prog-testimonial.elementor-element,
body .sm-page.sm-page-programme .sm-prog-other,
body .sm-page.sm-page-programme .sm-prog-other.elementor-element,
body .sm-page.sm-page-programme .sm-prog-cta,
body .sm-page.sm-page-programme .sm-prog-cta.elementor-element {
  padding-top: var(--sm-prog-section-y) !important;
  padding-bottom: var(--sm-prog-section-y) !important;
}

/* Inner containers: no Elementor-injected vertical spacing. */
body .sm-page.sm-page-programme .sm-container,
body .sm-page.sm-page-programme .sm-container.elementor-element,
body .sm-page.sm-page-programme .sm-container > .e-con-inner,
body .sm-page.sm-page-programme .sm-prog-hero__inner,
body .sm-page.sm-page-programme .sm-prog-facts__inner,
body .sm-page.sm-page-programme .sm-prog-content__inner,
body .sm-page.sm-page-programme .sm-prog-outcomes__inner,
body .sm-page.sm-page-programme .sm-prog-delivery__inner,
body .sm-page.sm-page-programme .sm-prog-related__inner,
body .sm-page.sm-page-programme .sm-prog-testimonial__inner,
body .sm-page.sm-page-programme .sm-prog-other__inner,
body .sm-page.sm-page-programme .sm-prog-cta__inner {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
  column-gap: 0 !important;
  --gap: 0 !important;
  --row-gap: 0 !important;
  --column-gap: 0 !important;
}

/* Redundant top spacer removal:
   In the source CSS, component grids/cards carry a top margin because they are
   reusable components. In the Elementor build these two components sit alone in
   their sections, so the top margin creates an extra visual gap. */
body .sm-page.sm-page-programme .sm-prog-facts-grid,
body .sm-page.sm-page-programme .sm-prog-facts-grid.elementor-element,
body .sm-page.sm-page-programme .sm-prog-facts-grid > .e-con-inner,
body .sm-page.sm-page-programme .sm-prog-related-card,
body .sm-page.sm-page-programme .sm-prog-related-card.elementor-element,
body .sm-page.sm-page-programme .sm-prog-related-card > .e-con-inner {
  margin-top: 0 !important;
}

/* Preserve source top rhythm where there is a heading/lead directly above. */
body .sm-page.sm-page-programme .sm-prog-topic-grid,
body .sm-page.sm-page-programme .sm-prog-topic-grid.elementor-element,
body .sm-page.sm-page-programme .sm-prog-topic-grid > .e-con-inner,
body .sm-page.sm-page-programme .sm-prog-outcomes-box,
body .sm-page.sm-page-programme .sm-prog-outcomes-box.elementor-element,
body .sm-page.sm-page-programme .sm-prog-outcomes-box > .e-con-inner,
body .sm-page.sm-page-programme .sm-prog-other-grid,
body .sm-page.sm-page-programme .sm-prog-other-grid.elementor-element,
body .sm-page.sm-page-programme .sm-prog-other-grid > .e-con-inner {
  margin-top: 36px !important;
}

body .sm-page.sm-page-programme .sm-prog-delivery-grid,
body .sm-page.sm-page-programme .sm-prog-delivery-grid.elementor-element,
body .sm-page.sm-page-programme .sm-prog-delivery-grid > .e-con-inner {
  margin-top: 32px !important;
}

/* Tighten all direct child widgets/containers so only named component margins count. */
body .sm-page.sm-page-programme .sm-container > .elementor-widget,
body .sm-page.sm-page-programme .sm-container > .e-con,
body .sm-page.sm-page-programme .sm-container > .elementor-widget:not(:last-child),
body .sm-page.sm-page-programme .sm-container > .e-con:not(:last-child),
body .sm-page.sm-page-programme .sm-prog-hero__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-hero__inner > .e-con,
body .sm-page.sm-page-programme .sm-prog-content__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-content__inner > .e-con,
body .sm-page.sm-page-programme .sm-prog-outcomes__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-outcomes__inner > .e-con,
body .sm-page.sm-page-programme .sm-prog-delivery__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-delivery__inner > .e-con,
body .sm-page.sm-page-programme .sm-prog-related__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-related__inner > .e-con,
body .sm-page.sm-page-programme .sm-prog-testimonial__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-testimonial__inner > .e-con,
body .sm-page.sm-page-programme .sm-prog-other__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-other__inner > .e-con,
body .sm-page.sm-page-programme .sm-prog-cta__inner > .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-cta__inner > .e-con {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* CTA text rhythm — source has the body at 24px auto and email at 24px top. */
body .sm-page.sm-page-programme .sm-prog-cta__body,
body .sm-page.sm-page-programme .sm-prog-cta__body.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-cta__body .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-cta__body p {
  width: 100% !important;
  max-width: 580px !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  text-align: center !important;
  color: var(--sm-prog-on-dark-2) !important;
}

body .sm-page.sm-page-programme .sm-prog-cta__email,
body .sm-page.sm-page-programme .sm-prog-cta__email.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-cta__email .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-cta__email p {
  margin-top: 24px !important;
}

/* Mobile source spacing. */
@media (max-width: 880px) {
  body .sm-page.sm-page-programme .sm-prog-hero,
  body .sm-page.sm-page-programme .sm-prog-hero.elementor-element {
    padding-top: 64px !important;
    padding-bottom: 56px !important;
  }

  body .sm-page.sm-page-programme .sm-prog-facts,
  body .sm-page.sm-page-programme .sm-prog-facts.elementor-element {
    padding-top: 48px !important;
    padding-bottom: 28px !important;
  }

  body .sm-page.sm-page-programme .sm-prog-content,
  body .sm-page.sm-page-programme .sm-prog-content.elementor-element {
    padding-top: 28px !important;
    padding-bottom: var(--sm-prog-section-y-mobile) !important;
  }

  body .sm-page.sm-page-programme .sm-prog-outcomes,
  body .sm-page.sm-page-programme .sm-prog-outcomes.elementor-element,
  body .sm-page.sm-page-programme .sm-prog-delivery,
  body .sm-page.sm-page-programme .sm-prog-delivery.elementor-element,
  body .sm-page.sm-page-programme .sm-prog-related,
  body .sm-page.sm-page-programme .sm-prog-related.elementor-element,
  body .sm-page.sm-page-programme .sm-prog-testimonial,
  body .sm-page.sm-page-programme .sm-prog-testimonial.elementor-element,
  body .sm-page.sm-page-programme .sm-prog-other,
  body .sm-page.sm-page-programme .sm-prog-other.elementor-element,
  body .sm-page.sm-page-programme .sm-prog-cta,
  body .sm-page.sm-page-programme .sm-prog-cta.elementor-element {
    padding-top: var(--sm-prog-section-y-mobile) !important;
    padding-bottom: var(--sm-prog-section-y-mobile) !important;
  }
}


/* ============================================================
   v9 live programme hero button spacing lock
   Elementor places both `sm-button-row` and `sm-prog-hero__buttons` on
   the same container. The generic button-row reset intentionally sets
   margin:0, so this later rule restores the source hero rhythm after
   all generic row resets have run.
   ============================================================ */

body .sm-page.sm-page-programme .sm-prog-hero .sm-prog-hero__inner > .sm-prog-hero__buttons.sm-button-row,
body .sm-page.sm-page-programme .sm-prog-hero .sm-prog-hero__buttons.sm-button-row,
body .sm-page.sm-page-programme .sm-prog-hero .sm-prog-hero__buttons.elementor-element.sm-button-row,
body .sm-page.sm-page-programme .sm-prog-hero .elementor-element.sm-prog-hero__buttons.sm-button-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  margin-top: 30px !important;
  margin-block-start: 30px !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-hero .sm-prog-hero__buttons.sm-button-row > .sm-btn,
body .sm-page.sm-page-programme .sm-prog-hero .sm-prog-hero__buttons.sm-button-row > .elementor-widget-button {
  margin: 0 !important;
}

@media (max-width: 560px) {
  body .sm-page.sm-page-programme .sm-prog-hero .sm-prog-hero__buttons.sm-button-row,
  body .sm-page.sm-page-programme .sm-prog-hero .sm-prog-hero__buttons.elementor-element.sm-button-row {
    margin-top: 26px !important;
    margin-block-start: 26px !important;
    align-items: stretch !important;
  }
}

/* ============================================================
   v10 CTA body + copied-page wrapper tolerance
   Notes:
   - The programme-specific modifier (e.g. sm-programme-pipeline/coach)
     is informational only. Styling is scoped to sm-page-programme, so copied
     pages can keep the original modifier if changing it breaks Elementor.
   - Strengthens sm-prog-cta__body for Text Editor, Heading, bare text and
     Elementor inner wrappers.
   ============================================================ */

body .sm-page.sm-page-programme .sm-prog-cta__body,
body .sm-page.sm-page-programme .sm-prog-cta__body.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-cta__body.elementor-widget-heading,
body .sm-page.sm-page-programme .sm-prog-cta__body.elementor-widget-text-editor,
body .sm-page.sm-page-programme .sm-prog-cta__body .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-cta__body .elementor-heading-title,
body .sm-page.sm-page-programme .sm-prog-cta__body .elementor-widget-container > *,
body .sm-page.sm-page-programme .sm-prog-cta__body p,
body .sm-page.sm-page-programme .sm-prog-cta__body h1,
body .sm-page.sm-page-programme .sm-prog-cta__body h2,
body .sm-page.sm-page-programme .sm-prog-cta__body h3,
body .sm-page.sm-page-programme .sm-prog-cta__body div,
body .sm-page.sm-page-programme .sm-prog-cta__body span {
  width: 100% !important;
  max-width: 580px !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
  display: block !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center !important;
  color: var(--sm-prog-on-dark-2) !important;
}

/* Avoid the inner element adding a second 24px top margin when Elementor
   wraps the body text inside .elementor-widget-container. */
body .sm-page.sm-page-programme .sm-prog-cta__body .elementor-widget-container > *,
body .sm-page.sm-page-programme .sm-prog-cta__body .elementor-heading-title,
body .sm-page.sm-page-programme .sm-prog-cta__body p {
  margin-top: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-cta__body + .sm-prog-cta__email,
body .sm-page.sm-page-programme .sm-prog-cta__body + .elementor-widget.sm-prog-cta__email {
  margin-top: 24px !important;
}

/* ============================================================
   v11 — Pipeline programme mock-up update
   User decisions:
   - no hero breadcrumb
   - qualifier card first in related section
   - related reading as orange card
   - related programme cards supplied by Elementor Loop Grid
   ============================================================ */

/* Related section: stacked card rhythm.
   The first card sits flush in the section; later cards regain the source 24px gap. */
body .sm-page.sm-page-programme .sm-prog-related__inner > .sm-prog-related-card + .sm-prog-related-card,
body .sm-page.sm-page-programme .sm-prog-related__inner > .e-con-inner > .sm-prog-related-card + .sm-prog-related-card {
  margin-top: 24px !important;
}

/* Qualifier / "Is this programme for you?" card.
   Add both classes to the card container: sm-prog-related-card sm-prog-fit-card */
body .sm-page.sm-page-programme .sm-prog-fit-card,
body .sm-page.sm-page-programme .sm-prog-fit-card.elementor-element,
body .sm-page.sm-page-programme .sm-prog-fit-card > .e-con-inner {
  background: var(--sm-prog-white) !important;
  border: 1px solid var(--sm-prog-rule) !important;
  border-left: 4px solid var(--sm-prog-orange) !important;
  border-radius: var(--sm-prog-radius-xl) !important;
  color: var(--sm-prog-ink) !important;
}

body .sm-page.sm-page-programme .sm-prog-fit-card__list,
body .sm-page.sm-page-programme .sm-prog-fit-card__list.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-fit-card__list .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-fit-card__list ul {
  margin: 14px 0 0 !important;
  padding: 0 0 0 20px !important;
  list-style: disc !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--sm-prog-slate) !important;
}

body .sm-page.sm-page-programme .sm-prog-fit-card__list li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: disc !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--sm-prog-slate) !important;
}

body .sm-page.sm-page-programme .sm-prog-fit-card__closing,
body .sm-page.sm-page-programme .sm-prog-fit-card__closing.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-fit-card__closing .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-fit-card__closing p {
  margin: 16px 0 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--sm-prog-slate) !important;
}

body .sm-page.sm-page-programme .sm-prog-fit-card .sm-prog-related-card__actions,
body .sm-page.sm-page-programme .sm-prog-fit-card .sm-prog-related-card__actions.elementor-element {
  margin-top: 16px !important;
}

/* Orange related-reading card.
   Add both classes to the card container: sm-prog-related-card sm-prog-related-card--orange */
body .sm-page.sm-page-programme .sm-prog-related-card--orange,
body .sm-page.sm-page-programme .sm-prog-related-card--orange.elementor-element,
body .sm-page.sm-page-programme .sm-prog-related-card--orange > .e-con-inner {
  background: var(--sm-prog-orange) !important;
  border: 0 !important;
  border-left: 0 !important;
  color: var(--sm-prog-white) !important;
  box-shadow: none !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__label,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__label .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__label .elementor-heading-title,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__label p,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__title,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__title .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__title .elementor-heading-title,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__body,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__body .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__body p {
  color: var(--sm-prog-white) !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__body,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__body p,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-prog-related-card__body .elementor-widget-container {
  color: rgba(255,255,255,0.92) !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-btn--link-orange .elementor-button,
body .sm-page.sm-page-programme .sm-prog-related-card--orange a.sm-btn--link-orange,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .elementor-widget-button.sm-btn--link-orange .elementor-button {
  color: var(--sm-prog-white) !important;
  border-color: transparent !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-btn--link-orange .elementor-button:hover,
body .sm-page.sm-page-programme .sm-prog-related-card--orange a.sm-btn--link-orange:hover,
body .sm-page.sm-page-programme .sm-prog-related-card--orange .elementor-widget-button.sm-btn--link-orange .elementor-button:hover {
  color: var(--sm-prog-white) !important;
  text-decoration: underline !important;
}

body .sm-page.sm-page-programme .sm-prog-related-card--orange .sm-btn--navy .elementor-button,
body .sm-page.sm-page-programme .sm-prog-related-card--orange a.sm-btn--navy {
  background: var(--sm-prog-navy) !important;
  border-color: var(--sm-prog-navy) !important;
  color: var(--sm-prog-white) !important;
}

/* Other programmes Loop Grid.
   Use class sm-prog-other-loop on the Loop Grid widget.
   Use sm-prog-loop-card classes inside the Loop Item template. */
body .sm-page.sm-page-programme .sm-prog-other-loop,
body .sm-page.sm-page-programme .sm-prog-other-loop.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-other-loop .elementor-widget-container {
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-other-loop .elementor-loop-container,
body .sm-page.sm-page-programme .sm-prog-other-loop .elementor-grid,
body .sm-page.sm-page-programme .sm-prog-other-loop .e-loop-items {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-other-loop .e-loop-item,
body .sm-page.sm-page-programme .sm-prog-other-loop .elementor-loop-container > article,
body .sm-page.sm-page-programme .sm-prog-other-loop .elementor-grid > article,
body .sm-page.sm-page-programme .sm-prog-other-loop .e-loop-items > article {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-loop-card,
body .sm-page.sm-page-programme .sm-prog-loop-card.elementor-element,
body .sm-page.sm-page-programme .sm-prog-loop-card > .e-con-inner {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 132px !important;
  margin: 0 !important;
  padding: 22px 20px !important;
  background: var(--sm-prog-white) !important;
  border: 1px solid var(--sm-prog-rule) !important;
  border-radius: var(--sm-prog-radius-md) !important;
  color: inherit !important;
  text-decoration: none !important;
  transition: transform 200ms cubic-bezier(0.22, 0.61, 0.36, 1), border-color 200ms cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 200ms cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

body .sm-page.sm-page-programme .sm-prog-loop-card:hover,
body .sm-page.sm-page-programme .sm-prog-loop-card:focus-within {
  border-color: var(--sm-prog-orange) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 26px rgba(14, 26, 53, 0.08) !important;
}

body .sm-page.sm-page-programme .sm-prog-loop-card > .e-con-inner,
body .sm-page.sm-page-programme .sm-prog-loop-card .elementor-widget,
body .sm-page.sm-page-programme .sm-prog-loop-card .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-loop-card .elementor-heading-title,
body .sm-page.sm-page-programme .sm-prog-loop-card p,
body .sm-page.sm-page-programme .sm-prog-loop-card span {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  text-decoration: none !important;
}

body .sm-page.sm-page-programme .sm-prog-loop-card__label,
body .sm-page.sm-page-programme .sm-prog-loop-card__label .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-loop-card__label .elementor-heading-title,
body .sm-page.sm-page-programme .sm-prog-loop-card__label p,
body .sm-page.sm-page-programme .sm-prog-loop-card__label span {
  display: block !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: var(--sm-prog-orange) !important;
}

body .sm-page.sm-page-programme .sm-prog-loop-card__title,
body .sm-page.sm-page-programme .sm-prog-loop-card__title .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-loop-card__title .elementor-heading-title,
body .sm-page.sm-page-programme .sm-prog-loop-card__title a,
body .sm-page.sm-page-programme .sm-prog-loop-card__title p,
body .sm-page.sm-page-programme .sm-prog-loop-card__title span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--sm-prog-sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--sm-prog-navy) !important;
  text-decoration: none !important;
}

/* Optional stretched link support inside the Loop Item template. */
body .sm-page.sm-page-programme .sm-prog-loop-card__link-widget,
body .sm-page.sm-page-programme .sm-prog-loop-card__link-widget.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-loop-card__link-widget .elementor-widget-container {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow: none !important;
}

body .sm-page.sm-page-programme .sm-prog-loop-card__link,
body .sm-page.sm-page-programme .sm-prog-loop-card__link-widget a.sm-prog-loop-card__link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow: none !important;
  color: transparent !important;
  text-decoration: none !important;
  text-indent: -9999px !important;
  white-space: nowrap !important;
}

body .sm-page.sm-page-programme .sm-prog-loop-card__link:focus-visible {
  outline: 2px solid var(--sm-prog-orange) !important;
  outline-offset: -4px !important;
}

body .sm-page.sm-page-programme .sm-prog-loop-card__label,
body .sm-page.sm-page-programme .sm-prog-loop-card__title {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
}

@media (max-width: 1080px) {
  body .sm-page.sm-page-programme .sm-prog-other-loop .elementor-loop-container,
  body .sm-page.sm-page-programme .sm-prog-other-loop .elementor-grid,
  body .sm-page.sm-page-programme .sm-prog-other-loop .e-loop-items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  body .sm-page.sm-page-programme .sm-prog-related__inner > .sm-prog-related-card + .sm-prog-related-card,
  body .sm-page.sm-page-programme .sm-prog-related__inner > .e-con-inner > .sm-prog-related-card + .sm-prog-related-card {
    margin-top: 18px !important;
  }

  body .sm-page.sm-page-programme .sm-prog-fit-card,
  body .sm-page.sm-page-programme .sm-prog-fit-card.elementor-element,
  body .sm-page.sm-page-programme .sm-prog-fit-card > .e-con-inner,
  body .sm-page.sm-page-programme .sm-prog-related-card--orange,
  body .sm-page.sm-page-programme .sm-prog-related-card--orange.elementor-element,
  body .sm-page.sm-page-programme .sm-prog-related-card--orange > .e-con-inner {
    padding: 28px 24px !important;
  }

  body .sm-page.sm-page-programme .sm-prog-other-loop .elementor-loop-container,
  body .sm-page.sm-page-programme .sm-prog-other-loop .elementor-grid,
  body .sm-page.sm-page-programme .sm-prog-other-loop .e-loop-items {
    grid-template-columns: 1fr !important;
  }
}



/* Loop card hidden button overlay */
body .sm-page.sm-page-programme .sm-prog-loop-card__button-widget,
body .sm-page.sm-page-programme .sm-prog-loop-card__button-widget.elementor-widget,
body .sm-page.sm-page-programme .sm-prog-loop-card__button-widget .elementor-widget-container,
body .sm-page.sm-page-programme .sm-prog-loop-card__button-widget .elementor-button-wrapper {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow: none !important;
}

body .sm-page.sm-page-programme .sm-prog-loop-card__button-widget .elementor-button {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow: none !important;
  color: transparent !important;
  text-decoration: none !important;
  transform: none !important;
}

body .sm-page.sm-page-programme .sm-prog-loop-card__button-widget .elementor-button:hover,
body .sm-page.sm-page-programme .sm-prog-loop-card__button-widget .elementor-button:active {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: transparent !important;
  transform: none !important;
}

body .sm-page.sm-page-programme .sm-prog-loop-card__button-widget .elementor-button-content-wrapper,
body .sm-page.sm-page-programme .sm-prog-loop-card__button-widget .elementor-button-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  white-space: nowrap !important;
}

body .sm-page.sm-page-programme .sm-prog-loop-card__button-widget .elementor-button:focus-visible {
  outline: 2px solid var(--sm-prog-orange) !important;
  outline-offset: -4px !important;
}

/* Two-card delivery grid modifier */
body .sm-page.sm-page-programme .sm-prog-delivery-grid.sm-prog-delivery-grid--2,
body .sm-page.sm-page-programme .sm-prog-delivery-grid.sm-prog-delivery-grid--2.elementor-element,
body .sm-page.sm-page-programme .sm-prog-delivery-grid.sm-prog-delivery-grid--2 > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 32px 0 0 !important;
  padding: 0 !important;
}

body .sm-page.sm-page-programme .sm-prog-delivery-grid.sm-prog-delivery-grid--2 .sm-prog-delivery-card,
body .sm-page.sm-page-programme .sm-prog-delivery-grid.sm-prog-delivery-grid--2 .sm-prog-delivery-card.elementor-element,
body .sm-page.sm-page-programme .sm-prog-delivery-grid.sm-prog-delivery-grid--2 .sm-prog-delivery-card > .e-con-inner {
  width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 880px) {
  body .sm-page.sm-page-programme .sm-prog-delivery-grid.sm-prog-delivery-grid--2,
  body .sm-page.sm-page-programme .sm-prog-delivery-grid.sm-prog-delivery-grid--2.elementor-element,
  body .sm-page.sm-page-programme .sm-prog-delivery-grid.sm-prog-delivery-grid--2 > .e-con-inner {
    grid-template-columns: 1fr !important;
    max-width: none !important;
  }
}/* End custom CSS */