.elementor-320 .elementor-element.elementor-element-c957581{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-320 .elementor-element.elementor-element-a99835b{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-320 .elementor-element.elementor-element-182f74d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-320 .elementor-element.elementor-element-182f74d:not(.elementor-motion-effects-element-type-background), .elementor-320 .elementor-element.elementor-element-182f74d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#041B44;}.elementor-320 .elementor-element.elementor-element-b6bb0fc{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-320 .elementor-element.elementor-element-d9f7aad{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-320 .elementor-element.elementor-element-d9f7aad:not(.elementor-motion-effects-element-type-background), .elementor-320 .elementor-element.elementor-element-d9f7aad > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#041B44;}.elementor-320 .elementor-element.elementor-element-e6eda63{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-320 .elementor-element.elementor-element-0baa45c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-320 .elementor-element.elementor-element-0baa45c:not(.elementor-motion-effects-element-type-background), .elementor-320 .elementor-element.elementor-element-0baa45c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#041B44;}.elementor-320 .elementor-element.elementor-element-4608beb{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-320 .elementor-element.elementor-element-3c6079d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-682f20c *//* ===== Hero Programs Section ===== */
.hero-programs-section {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.hero-programs-section .hero-bg-img {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-programs-section .scrim-side {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(4,27,68,.96) 8%, rgba(4,27,68,.72) 46%, rgba(4,27,68,.28) 100%);
}

.hero-programs-section .facets-overlay {
  position: absolute;
  inset: 0;
  opacity: 0.6;
  pointer-events: none;
  background-image:
    linear-gradient(45deg,  rgba(255,255,255,.028) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.028) 75%),
    linear-gradient(-45deg, rgba(255,255,255,.028) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.028) 75%);
  background-size: 46px 46px;
  background-position: 0 0, 23px 23px;
}

.hero-programs-section .grad-top {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 8rem;
  background: linear-gradient(to bottom, #041B44, transparent);
  pointer-events: none;
}

.hero-programs-section .grad-bottom {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6rem;
  background: linear-gradient(to top, #041B44, transparent);
  pointer-events: none;
}

.hero-programs-section .hero-wrap {
  position: relative;
  max-width: 78rem;
  width: 100%;
  margin: 0 auto;
  padding-left: clamp(1.25rem, 5vw, 4rem);
  padding-right: clamp(1.25rem, 5vw, 4rem);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 768px) {
  .hero-programs-section .hero-wrap {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

/* ===== Breadcrumb ===== */
.hero-programs-section .breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 2rem;
  font-family: 'Karla', system-ui, sans-serif;
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: rgba(255, 255, 255, 0.35);
}

.hero-programs-section .crumb-link {
  color: rgba(255, 255, 255, 0.35);
  text-decoration: none;
  transition: color 0.3s ease;
}

.hero-programs-section .crumb-link:hover {
  color: #FFBF00;
}

.hero-programs-section .crumb-sep {
  color: rgba(255, 255, 255, 0.2);
}

.hero-programs-section .crumb-current {
  color: rgba(255, 255, 255, 0.7);
}

/* ===== Eyebrow ===== */
.hero-programs-section .eyebrow-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.hero-programs-section .eyebrow-icon {
  width: 34px;
  height: 21px;
  flex-shrink: 0;
  fill: #FFBF00;
}

.hero-programs-section .eyebrow-text {
  font-family: 'Karla', system-ui, sans-serif;
  color: #FFBF00;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.22em;
}

/* ===== Hero Title — .h-hero ===== */
.hero-programs-section .hero-title {
  margin-top: 1.5rem;
  max-width: 56rem;
  color: #ffffff;
  font-family: 'Anton', Impact, Haettenschweiler, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(2.6rem, 8.4vw, 6.4rem);
  line-height: 0.88;
  letter-spacing: -0.02em;
}

.hero-programs-section .hero-title-accent {
  color: #FFBF00;
}

/* ===== Hero Lede — .lede ===== */
.hero-programs-section .hero-lede {
  margin-top: 1.5rem;
  max-width: 36rem;
  color: rgba(255, 255, 255, 0.6);
  font-family: 'Karla', system-ui, sans-serif;
  font-size: 1.125rem;
  line-height: 1.625;
  font-weight: 400;
}

@media (min-width: 768px) {
  .hero-programs-section .hero-lede {
    font-size: 1.25rem;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0c84f9d *//* ===== Programs Sticky Nav Bar ===== */
.prog-nav-bar {
  position: sticky;
  top: 74px;
  z-index: 20;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(4, 27, 68, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

/* .wrap + flex + overflow-x-auto + no-scrollbar */
.prog-nav-wrap {
  max-width: 78rem;
  width: 100%;
  margin: 0 auto;
  padding-left: clamp(1.25rem, 5vw, 4rem);
  padding-right: clamp(1.25rem, 5vw, 4rem);
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.prog-nav-wrap::-webkit-scrollbar {
  display: none;
}

/* Links — gem gem-xs (6px chamfer) */
.prog-nav-link {
  --gem-c: 6px;
  flex-shrink: 0;
  display: inline-block;
  padding: 0.625rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.05);
  font-family: 'Karla', system-ui, sans-serif;
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-nav-link:hover {
  border-color: rgba(255, 191, 0, 0.6);
  background: rgba(255, 191, 0, 0.1);
  color: #FFBF00;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-904622b *//* ===== Program Section ===== */
.prog-section {
  scroll-margin-top: 7rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 4rem;
  padding-bottom: 4rem;
  color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'kern' 1, 'liga' 1;
}

@media (min-width: 768px) {
  .prog-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

/* Grid */
.prog-grid {
  max-width: 78rem;
  width: 100%;
  margin: 0 auto;
  padding-left: clamp(1.25rem, 5vw, 4rem);
  padding-right: clamp(1.25rem, 5vw, 4rem);
  display: grid;
  align-items: center;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .prog-grid {
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
  }
}

/* ===== Eyebrow Row ===== */
.prog-eyebrow-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.prog-eyebrow-inner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* No fill override here — inherits currentColor (white) via the SVG's own fill="currentColor" attribute */
.prog-eyebrow-icon {
  width: 34px;
  height: 21px;
  flex-shrink: 0;
}

.prog-eyebrow-text {
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: #FFBF00;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.22em;
}

/* Badge */
.prog-badge {
  --gem-c: 6px;
  padding: 0.25rem 0.625rem;
  background: rgba(94, 161, 2, 0.15);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #5EA102;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

/* ===== Display Text ===== */
.prog-display-text {
  margin-top: 1.5rem;
  font-family: 'Anton', Impact, Haettenschweiler, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: -0.012em;
  color: #ffffff;
  text-wrap: balance;
}

@media (min-width: 768px) {
  .prog-display-text {
    font-size: 1.875rem;
  }
}

/* ===== Body Text ===== */
.prog-body-text {
  margin-top: 1.25rem;
  color: rgba(255, 255, 255, 0.55);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  line-height: 1.625;
}

/* ===== List ===== */
.prog-list {
  margin-top: 1.75rem;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}

.prog-list > .prog-list-item + .prog-list-item {
  margin-top: 0.75rem;
}

.prog-list-item {
  display: flex;
  gap: 0.75rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.65);
}

.prog-list-gem {
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.5rem;
  flex-shrink: 0;
}

/* ===== Buttons ===== */
.prog-btns {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.prog-btn-gold,
.prog-btn-ghost {
  --gem-c: 7px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
  overflow: hidden;
  user-select: none;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-btn-gold {
  background: #FFBF00;
  color: #041B44;
  box-shadow: 0 10px 30px -12px rgba(255, 191, 0, 0.75);
}

.prog-btn-gold:hover {
  background: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 16px 38px -12px rgba(255, 191, 0, 0.9);
}

.prog-btn-gold:active {
  transform: translateY(0);
}

.prog-btn-gold::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -33.33%;
  width: 33.33%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.85), transparent);
  transform: translateX(-120%) skewX(-18deg);
  pointer-events: none;
}

.prog-btn-gold:hover::after {
  animation: progBtnShimmer 0.9s ease-out;
}

@keyframes progBtnShimmer {
  0%   { transform: translateX(-120%) skewX(-18deg); }
  100% { transform: translateX(320%) skewX(-18deg); }
}

.prog-btn-ghost {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.prog-btn-ghost:hover {
  border-color: rgba(255, 191, 0, 0.7);
  background: rgba(255, 191, 0, 0.1);
  color: #FFBF00;
}

/* ===== Right Column — Image ===== */
.prog-right {
  position: relative;
}

.prog-img-frame {
  --gem-c: 34px;
  overflow: hidden;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-img {
  width: 100%;
  aspect-ratio: 6 / 5;
  object-fit: cover;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.7s;
}

.prog-img:hover {
  transform: scale(1.04);
}

.prog-img-deco {
  position: absolute;
  right: -1.5rem;
  bottom: -1.5rem;
  z-index: -1;
  width: 10rem;
  height: 10rem;
  transform: rotate(45deg);
  border: 1px solid rgba(255, 191, 0, 0.2);
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7989de7 *//* ===== Youth Development Section ===== */
/* bg-midnight = #082450 */
.prog-youth-section {
  scroll-margin-top: 7rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 4rem;
  padding-bottom: 4rem;
  background-color: #082450;
  color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'kern' 1, 'liga' 1;
}

@media (min-width: 768px) {
  .prog-youth-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

/* Grid */
.prog-youth-grid {
  max-width: 78rem;
  width: 100%;
  margin: 0 auto;
  padding-left: clamp(1.25rem, 5vw, 4rem);
  padding-right: clamp(1.25rem, 5vw, 4rem);
  display: grid;
  align-items: center;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .prog-youth-grid {
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
  }
  /* lg:order-first — image column moves to the left on desktop */
  .prog-youth-right {
    order: -9999;
  }
}

/* ===== Eyebrow Row ===== */
.prog-youth-eyebrow-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.prog-youth-eyebrow-inner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.prog-youth-eyebrow-icon {
  width: 34px;
  height: 21px;
  flex-shrink: 0;
}

.prog-youth-eyebrow-text {
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: #FFBF00;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.22em;
}

/* Badge */
.prog-youth-badge {
  --gem-c: 6px;
  padding: 0.25rem 0.625rem;
  background: rgba(94, 161, 2, 0.15);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #5EA102;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

/* ===== Display Text ===== */
.prog-youth-display-text {
  margin-top: 1.5rem;
  font-family: 'Anton', Impact, Haettenschweiler, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: -0.012em;
  color: #ffffff;
  text-wrap: balance;
}

@media (min-width: 768px) {
  .prog-youth-display-text {
    font-size: 1.875rem;
  }
}

/* ===== Body Text ===== */
.prog-youth-body-text {
  margin-top: 1.25rem;
  color: rgba(255, 255, 255, 0.55);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  line-height: 1.625;
}

/* ===== List ===== */
.prog-youth-list {
  margin-top: 1.75rem;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}

.prog-youth-list > .prog-youth-list-item + .prog-youth-list-item {
  margin-top: 0.75rem;
}

.prog-youth-list-item {
  display: flex;
  gap: 0.75rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.65);
}

.prog-youth-list-gem {
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.5rem;
  flex-shrink: 0;
}

/* ===== Buttons ===== */
.prog-youth-btns {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.prog-youth-btn-gold,
.prog-youth-btn-ghost {
  --gem-c: 7px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
  overflow: hidden;
  user-select: none;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-youth-btn-gold {
  background: #FFBF00;
  color: #041B44;
  box-shadow: 0 10px 30px -12px rgba(255, 191, 0, 0.75);
}

.prog-youth-btn-gold:hover {
  background: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 16px 38px -12px rgba(255, 191, 0, 0.9);
}

.prog-youth-btn-gold:active {
  transform: translateY(0);
}

.prog-youth-btn-gold::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -33.33%;
  width: 33.33%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.85), transparent);
  transform: translateX(-120%) skewX(-18deg);
  pointer-events: none;
}

.prog-youth-btn-gold:hover::after {
  animation: progYouthShimmer 0.9s ease-out;
}

@keyframes progYouthShimmer {
  0%   { transform: translateX(-120%) skewX(-18deg); }
  100% { transform: translateX(320%) skewX(-18deg); }
}

.prog-youth-btn-ghost {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.prog-youth-btn-ghost:hover {
  border-color: rgba(255, 191, 0, 0.7);
  background: rgba(255, 191, 0, 0.1);
  color: #FFBF00;
}

/* ===== Right Column — Image ===== */
.prog-youth-right {
  position: relative;
}

.prog-youth-img-frame {
  --gem-c: 34px;
  overflow: hidden;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-youth-img {
  width: 100%;
  aspect-ratio: 6 / 5;
  object-fit: cover;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.7s;
}

.prog-youth-img:hover {
  transform: scale(1.04);
}

/* Decorative square — -left-6 (not -right-6 like culture section) */
.prog-youth-img-deco {
  position: absolute;
  left: -1.5rem;
  bottom: -1.5rem;
  z-index: -1;
  width: 10rem;
  height: 10rem;
  transform: rotate(45deg);
  border: 1px solid rgba(255, 191, 0, 0.2);
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-08e45b4 *//* ===== Business & Networking Section ===== */
.prog-biz-section {
  scroll-margin-top: 7rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 4rem;
  padding-bottom: 4rem;
  color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'kern' 1, 'liga' 1;
}

@media (min-width: 768px) {
  .prog-biz-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

/* Grid */
.prog-biz-grid {
  max-width: 78rem;
  width: 100%;
  margin: 0 auto;
  padding-left: clamp(1.25rem, 5vw, 4rem);
  padding-right: clamp(1.25rem, 5vw, 4rem);
  display: grid;
  align-items: center;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .prog-biz-grid {
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
  }
}

/* ===== Eyebrow Row ===== */
.prog-biz-eyebrow-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.prog-biz-eyebrow-inner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.prog-biz-eyebrow-icon {
  width: 34px;
  height: 21px;
  flex-shrink: 0;
}

.prog-biz-eyebrow-text {
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: #FFBF00;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.22em;
}

/* Badge */
.prog-biz-badge {
  --gem-c: 6px;
  padding: 0.25rem 0.625rem;
  background: rgba(94, 161, 2, 0.15);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #5EA102;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

/* ===== Display Text ===== */
.prog-biz-display-text {
  margin-top: 1.5rem;
  font-family: 'Anton', Impact, Haettenschweiler, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: -0.012em;
  color: #ffffff;
  text-wrap: balance;
}

@media (min-width: 768px) {
  .prog-biz-display-text {
    font-size: 1.875rem;
  }
}

/* ===== Body Text ===== */
.prog-biz-body-text {
  margin-top: 1.25rem;
  color: rgba(255, 255, 255, 0.55);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  line-height: 1.625;
}

/* ===== List ===== */
.prog-biz-list {
  margin-top: 1.75rem;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}

.prog-biz-list > .prog-biz-list-item + .prog-biz-list-item {
  margin-top: 0.75rem;
}

.prog-biz-list-item {
  display: flex;
  gap: 0.75rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.65);
}

.prog-biz-list-gem {
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.5rem;
  flex-shrink: 0;
}

/* ===== Buttons ===== */
.prog-biz-btns {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.prog-biz-btn-gold,
.prog-biz-btn-ghost {
  --gem-c: 7px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
  overflow: hidden;
  user-select: none;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-biz-btn-gold {
  background: #FFBF00;
  color: #041B44;
  box-shadow: 0 10px 30px -12px rgba(255, 191, 0, 0.75);
}

.prog-biz-btn-gold:hover {
  background: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 16px 38px -12px rgba(255, 191, 0, 0.9);
}

.prog-biz-btn-gold:active {
  transform: translateY(0);
}

.prog-biz-btn-gold::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -33.33%;
  width: 33.33%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.85), transparent);
  transform: translateX(-120%) skewX(-18deg);
  pointer-events: none;
}

.prog-biz-btn-gold:hover::after {
  animation: progBizShimmer 0.9s ease-out;
}

@keyframes progBizShimmer {
  0%   { transform: translateX(-120%) skewX(-18deg); }
  100% { transform: translateX(320%) skewX(-18deg); }
}

.prog-biz-btn-ghost {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.prog-biz-btn-ghost:hover {
  border-color: rgba(255, 191, 0, 0.7);
  background: rgba(255, 191, 0, 0.1);
  color: #FFBF00;
}

/* ===== Right Column — Image ===== */
.prog-biz-right {
  position: relative;
}

.prog-biz-img-frame {
  --gem-c: 34px;
  overflow: hidden;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-biz-img {
  width: 100%;
  aspect-ratio: 6 / 5;
  object-fit: cover;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.7s;
}

.prog-biz-img:hover {
  transform: scale(1.04);
}

/* Deco — -right-6 (same as culture, opposite of youth) */
.prog-biz-img-deco {
  position: absolute;
  right: -1.5rem;
  bottom: -1.5rem;
  z-index: -1;
  width: 10rem;
  height: 10rem;
  transform: rotate(45deg);
  border: 1px solid rgba(255, 191, 0, 0.2);
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e6eda63 *//* ===== Community Outreach Section ===== */
/* bg-midnight = #082450 */
.prog-out-section {
  scroll-margin-top: 7rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 4rem;
  padding-bottom: 4rem;
  background-color: #082450;
  color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'kern' 1, 'liga' 1;
}

@media (min-width: 768px) {
  .prog-out-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

/* Grid */
.prog-out-grid {
  max-width: 78rem;
  width: 100%;
  margin: 0 auto;
  padding-left: clamp(1.25rem, 5vw, 4rem);
  padding-right: clamp(1.25rem, 5vw, 4rem);
  display: grid;
  align-items: center;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .prog-out-grid {
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
  }
  /* lg:order-first — image column moves to the left on desktop */
  .prog-out-right {
    order: -9999;
  }
}

/* ===== Eyebrow Row ===== */
.prog-out-eyebrow-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.prog-out-eyebrow-inner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.prog-out-eyebrow-icon {
  width: 34px;
  height: 21px;
  flex-shrink: 0;
}

.prog-out-eyebrow-text {
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: #FFBF00;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.22em;
}

/* Badge */
.prog-out-badge {
  --gem-c: 6px;
  padding: 0.25rem 0.625rem;
  background: rgba(94, 161, 2, 0.15);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #5EA102;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

/* ===== Display Text ===== */
.prog-out-display-text {
  margin-top: 1.5rem;
  font-family: 'Anton', Impact, Haettenschweiler, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: -0.012em;
  color: #ffffff;
  text-wrap: balance;
}

@media (min-width: 768px) {
  .prog-out-display-text {
    font-size: 1.875rem;
  }
}

/* ===== Body Text ===== */
.prog-out-body-text {
  margin-top: 1.25rem;
  color: rgba(255, 255, 255, 0.55);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  line-height: 1.625;
}

/* ===== List ===== */
.prog-out-list {
  margin-top: 1.75rem;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}

.prog-out-list > .prog-out-list-item + .prog-out-list-item {
  margin-top: 0.75rem;
}

.prog-out-list-item {
  display: flex;
  gap: 0.75rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.65);
}

.prog-out-list-gem {
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.5rem;
  flex-shrink: 0;
}

/* ===== Buttons ===== */
.prog-out-btns {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.prog-out-btn-gold,
.prog-out-btn-ghost {
  --gem-c: 7px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
  overflow: hidden;
  user-select: none;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-out-btn-gold {
  background: #FFBF00;
  color: #041B44;
  box-shadow: 0 10px 30px -12px rgba(255, 191, 0, 0.75);
}

.prog-out-btn-gold:hover {
  background: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 16px 38px -12px rgba(255, 191, 0, 0.9);
}

.prog-out-btn-gold:active {
  transform: translateY(0);
}

.prog-out-btn-gold::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -33.33%;
  width: 33.33%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.85), transparent);
  transform: translateX(-120%) skewX(-18deg);
  pointer-events: none;
}

.prog-out-btn-gold:hover::after {
  animation: progOutShimmer 0.9s ease-out;
}

@keyframes progOutShimmer {
  0%   { transform: translateX(-120%) skewX(-18deg); }
  100% { transform: translateX(320%) skewX(-18deg); }
}

.prog-out-btn-ghost {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.prog-out-btn-ghost:hover {
  border-color: rgba(255, 191, 0, 0.7);
  background: rgba(255, 191, 0, 0.1);
  color: #FFBF00;
}

/* ===== Right Column — Image ===== */
.prog-out-right {
  position: relative;
}

.prog-out-img-frame {
  --gem-c: 34px;
  overflow: hidden;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-out-img {
  width: 100%;
  aspect-ratio: 6 / 5;
  object-fit: cover;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.7s;
}

.prog-out-img:hover {
  transform: scale(1.04);
}

/* Deco — -left-6 (same as youth, opposite of culture/business) */
.prog-out-img-deco {
  position: absolute;
  left: -1.5rem;
  bottom: -1.5rem;
  z-index: -1;
  width: 10rem;
  height: 10rem;
  transform: rotate(45deg);
  border: 1px solid rgba(255, 191, 0, 0.2);
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-26fe9bf *//* ===== Sports & Wellness Section ===== */
.prog-spt-section {
  scroll-margin-top: 7rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 4rem;
  padding-bottom: 4rem;
  color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'kern' 1, 'liga' 1;
}

@media (min-width: 768px) {
  .prog-spt-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

/* Grid */
.prog-spt-grid {
  max-width: 78rem;
  width: 100%;
  margin: 0 auto;
  padding-left: clamp(1.25rem, 5vw, 4rem);
  padding-right: clamp(1.25rem, 5vw, 4rem);
  display: grid;
  align-items: center;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .prog-spt-grid {
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
  }
}

/* ===== Eyebrow Row ===== */
.prog-spt-eyebrow-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.prog-spt-eyebrow-inner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.prog-spt-eyebrow-icon {
  width: 34px;
  height: 21px;
  flex-shrink: 0;
}

.prog-spt-eyebrow-text {
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: #FFBF00;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.22em;
}

/* Badge */
.prog-spt-badge {
  --gem-c: 6px;
  padding: 0.25rem 0.625rem;
  background: rgba(94, 161, 2, 0.15);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #5EA102;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

/* ===== Display Text ===== */
.prog-spt-display-text {
  margin-top: 1.5rem;
  font-family: 'Anton', Impact, Haettenschweiler, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: -0.012em;
  color: #ffffff;
  text-wrap: balance;
}

@media (min-width: 768px) {
  .prog-spt-display-text {
    font-size: 1.875rem;
  }
}

/* ===== Body Text ===== */
.prog-spt-body-text {
  margin-top: 1.25rem;
  color: rgba(255, 255, 255, 0.55);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  line-height: 1.625;
}

/* ===== List ===== */
.prog-spt-list {
  margin-top: 1.75rem;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}

.prog-spt-list > .prog-spt-list-item + .prog-spt-list-item {
  margin-top: 0.75rem;
}

.prog-spt-list-item {
  display: flex;
  gap: 0.75rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.65);
}

.prog-spt-list-gem {
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.5rem;
  flex-shrink: 0;
}

/* ===== Buttons ===== */
.prog-spt-btns {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.prog-spt-btn-gold,
.prog-spt-btn-ghost {
  --gem-c: 7px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
  overflow: hidden;
  user-select: none;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-spt-btn-gold {
  background: #FFBF00;
  color: #041B44;
  box-shadow: 0 10px 30px -12px rgba(255, 191, 0, 0.75);
}

.prog-spt-btn-gold:hover {
  background: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 16px 38px -12px rgba(255, 191, 0, 0.9);
}

.prog-spt-btn-gold:active {
  transform: translateY(0);
}

.prog-spt-btn-gold::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -33.33%;
  width: 33.33%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.85), transparent);
  transform: translateX(-120%) skewX(-18deg);
  pointer-events: none;
}

.prog-spt-btn-gold:hover::after {
  animation: progSptShimmer 0.9s ease-out;
}

@keyframes progSptShimmer {
  0%   { transform: translateX(-120%) skewX(-18deg); }
  100% { transform: translateX(320%) skewX(-18deg); }
}

.prog-spt-btn-ghost {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.prog-spt-btn-ghost:hover {
  border-color: rgba(255, 191, 0, 0.7);
  background: rgba(255, 191, 0, 0.1);
  color: #FFBF00;
}

/* ===== Right Column — Image ===== */
.prog-spt-right {
  position: relative;
}

.prog-spt-img-frame {
  --gem-c: 34px;
  overflow: hidden;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-spt-img {
  width: 100%;
  aspect-ratio: 6 / 5;
  object-fit: cover;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.7s;
}

.prog-spt-img:hover {
  transform: scale(1.04);
}

/* Deco — -right-6 */
.prog-spt-img-deco {
  position: absolute;
  right: -1.5rem;
  bottom: -1.5rem;
  z-index: -1;
  width: 10rem;
  height: 10rem;
  transform: rotate(45deg);
  border: 1px solid rgba(255, 191, 0, 0.2);
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4608beb *//* ===== Indigenous & Historical Affairs Section ===== */
.prog-hrt-section {
  scroll-margin-top: 7rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 4rem;
  padding-bottom: 4rem;
  background-color: #082450;
  color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'kern' 1, 'liga' 1;
}

@media (min-width: 768px) {
  .prog-hrt-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.prog-hrt-grid {
  max-width: 78rem;
  width: 100%;
  margin: 0 auto;
  padding-left: clamp(1.25rem, 5vw, 4rem);
  padding-right: clamp(1.25rem, 5vw, 4rem);
  display: grid;
  align-items: center;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .prog-hrt-grid {
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
  }
  .prog-hrt-right {
    order: -9999;
  }
}

.prog-hrt-eyebrow-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.prog-hrt-eyebrow-inner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.prog-hrt-eyebrow-icon {
  width: 34px;
  height: 21px;
  flex-shrink: 0;
}

.prog-hrt-eyebrow-text {
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: #FFBF00;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.22em;
}

.prog-hrt-badge {
  --gem-c: 6px;
  padding: 0.25rem 0.625rem;
  background: rgba(94, 161, 2, 0.15);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.58rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #5EA102;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-hrt-display-text {
  margin-top: 1.5rem;
  font-family: 'Anton', Impact, Haettenschweiler, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: -0.012em;
  color: #ffffff;
  text-wrap: balance;
}

@media (min-width: 768px) {
  .prog-hrt-display-text {
    font-size: 1.875rem;
  }
}

.prog-hrt-body-text {
  margin-top: 1.25rem;
  color: rgba(255, 255, 255, 0.55);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  line-height: 1.625;
}

.prog-hrt-list {
  margin-top: 1.75rem;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}

.prog-hrt-list > .prog-hrt-list-item + .prog-hrt-list-item {
  margin-top: 0.75rem;
}

.prog-hrt-list-item {
  display: flex;
  gap: 0.75rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.65);
}

.prog-hrt-list-gem {
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.5rem;
  flex-shrink: 0;
}

.prog-hrt-btns {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.prog-hrt-btn-gold,
.prog-hrt-btn-ghost {
  --gem-c: 7px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
  overflow: hidden;
  user-select: none;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-hrt-btn-gold {
  background: #FFBF00;
  color: #041B44;
  box-shadow: 0 10px 30px -12px rgba(255, 191, 0, 0.75);
}

.prog-hrt-btn-gold:hover {
  background: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 16px 38px -12px rgba(255, 191, 0, 0.9);
}

.prog-hrt-btn-gold:active {
  transform: translateY(0);
}

.prog-hrt-btn-gold::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -33.33%;
  width: 33.33%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.85), transparent);
  transform: translateX(-120%) skewX(-18deg);
  pointer-events: none;
}

.prog-hrt-btn-gold:hover::after {
  animation: progHrtShimmer 0.9s ease-out;
}

@keyframes progHrtShimmer {
  0%   { transform: translateX(-120%) skewX(-18deg); }
  100% { transform: translateX(320%) skewX(-18deg); }
}

.prog-hrt-btn-ghost {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.prog-hrt-btn-ghost:hover {
  border-color: rgba(255, 191, 0, 0.7);
  background: rgba(255, 191, 0, 0.1);
  color: #FFBF00;
}

.prog-hrt-right {
  position: relative;
}

.prog-hrt-img-frame {
  --gem-c: 34px;
  overflow: hidden;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.prog-hrt-img {
  width: 100%;
  aspect-ratio: 6 / 5;
  object-fit: cover;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.7s;
}

.prog-hrt-img:hover {
  transform: scale(1.04);
}

.prog-hrt-img-deco {
  position: absolute;
  left: -1.5rem;
  bottom: -1.5rem;
  z-index: -1;
  width: 10rem;
  height: 10rem;
  transform: rotate(45deg);
  border: 1px solid rgba(255, 191, 0, 0.2);
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e598407 *//* ===== Programs CTA Section ===== */
/* bg-emerald = #02603E */
.cta-prog-section {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background-color: #02603E;
  color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'kern' 1, 'liga' 1;
}

/* Facets lattice overlay */
.cta-prog-facets {
  position: absolute;
  inset: 0;
  opacity: 0.6;
  pointer-events: none;
  background-image:
    linear-gradient(45deg,  rgba(255,255,255,.028) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.028) 75%),
    linear-gradient(-45deg, rgba(255,255,255,.028) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.028) 75%);
  background-size: 46px 46px;
  background-position: 0 0, 23px 23px;
}

/* Grid — wrap + relative + grid */
.cta-prog-grid {
  position: relative;
  max-width: 78rem;
  width: 100%;
  margin: 0 auto;
  padding-left: clamp(1.25rem, 5vw, 4rem);
  padding-right: clamp(1.25rem, 5vw, 4rem);
  display: grid;
  align-items: center;
  gap: 2.5rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media (min-width: 768px) {
  .cta-prog-grid {
    grid-template-columns: 1.3fr auto;
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

/* ===== Content ===== */
.cta-prog-eyebrow-inner {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.cta-prog-eyebrow-icon {
  width: 34px;
  height: 21px;
  flex-shrink: 0;
}

.cta-prog-eyebrow-text {
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: #FFBF00;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.22em;
}

/* h-band: font-display, uppercase, clamp(2rem, 4.6vw, 3.6rem), line-height .92 */
.cta-prog-heading {
  margin-top: 1.25rem;
  font-family: 'Anton', Impact, Haettenschweiler, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(2rem, 4.6vw, 3.6rem);
  line-height: 0.92;
  color: #ffffff;
}

.cta-prog-heading-gold {
  color: #FFBF00;
}

/* lede: text-lg md:text-xl leading-relaxed, text-white/75, max-w-lg */
.cta-prog-lede {
  margin-top: 1.25rem;
  max-width: 32rem;
  color: hsla(0, 0%, 100%, 0.75);
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 1.125rem;
  line-height: 1.625;
}

@media (min-width: 768px) {
  .cta-prog-lede {
    font-size: 1.25rem;
  }
}

/* ===== Buttons — full-size .btn (not btn-sm) ===== */
/* .btn: --gem-c:10px, padding:.9rem 1.5rem, font-size:.875rem, line-height:1 */
.cta-prog-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.cta-prog-btn-gold,
.cta-prog-btn-ghost {
  --gem-c: 10px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.9rem 1.5rem;
  font-family: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 0.875rem;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
  overflow: hidden;
  user-select: none;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  clip-path: polygon(
    var(--gem-c) 0, 100% 0,
    100% calc(100% - var(--gem-c)), calc(100% - var(--gem-c)) 100%,
    0 100%, 0 var(--gem-c)
  );
}

.cta-prog-btn-gold {
  background: #FFBF00;
  color: #041B44;
  box-shadow: 0 10px 30px -12px rgba(255, 191, 0, 0.75);
}

.cta-prog-btn-gold:hover {
  background: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 16px 38px -12px rgba(255, 191, 0, 0.9);
}

.cta-prog-btn-gold:active {
  transform: translateY(0);
}

.cta-prog-btn-gold::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -33.33%;
  width: 33.33%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.85), transparent);
  transform: translateX(-120%) skewX(-18deg);
  pointer-events: none;
}

.cta-prog-btn-gold:hover::after {
  animation: ctaProgShimmer 0.9s ease-out;
}

@keyframes ctaProgShimmer {
  0%   { transform: translateX(-120%) skewX(-18deg); }
  100% { transform: translateX(320%) skewX(-18deg); }
}

.cta-prog-btn-ghost {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.cta-prog-btn-ghost:hover {
  border-color: rgba(255, 191, 0, 0.7);
  background: rgba(255, 191, 0, 0.1);
  color: #FFBF00;
}/* End custom CSS */