 /* Uses the site's existing global tokens (:root already defines these
     on the home page shell). Fallback values are included via var(--x, fallback)
     so this page still renders correctly if loaded standalone. */

  .programs-page {
    color: var(--color-white, #FFFFFF);
    background: var(--color-primary, #0A0A0A);
    font-family: var(--font-body, 'Poppins', 'Segoe UI', sans-serif);
  }
  .programs-page .container { max-width: 1140px; }
  .programs-page h1,
  .programs-page h2,
  .programs-page h3 {
    font-family: var(--font-heading, 'Bebas Neue', 'Oswald', sans-serif);
    letter-spacing: .02em;
  }

  /* Page intro */
  .page-intro { padding: 6rem 0 3rem; }
  .page-intro__breadcrumb { font-size: .85rem; color: var(--color-accent, #D9D9D9); margin-bottom: 1rem; }
  .page-intro__breadcrumb a { color: var(--color-accent, #D9D9D9); text-decoration: none; }
  .page-intro__breadcrumb a:hover { color: var(--color-cta, #D41424); }
  .page-intro__eyebrow { color: var(--color-secondary, #C8101E); font-weight: 600; margin-bottom: .5rem; }
  .page-intro__title { font-size: clamp(2.4rem, 5vw, 3.4rem); font-weight: 400; max-width: 46ch; line-height: 1.1; }
  .page-intro__text { max-width: 62ch; color: var(--grey, #cecece); font-size: 1.05rem; }

  /* Overview cards */
  .programs-overview { padding: 2rem 0 4rem; }
.program-card {
    height: 100%;
    padding: 1.75rem;
    border: 1px solid rgba(217, 217, 217, .15);
    border-radius: var(--radius-base, 6px);
    background: var(--grey);
    transition: var(--transition-base, all .3s ease-in-out);
}
  .program-card:hover {
    border-color: var(--color-secondary, #C8101E);
    box-shadow: var(--shadow-base, 0 10px 30px rgba(0,0,0,.35));
  }
  .program-card__tag {
    display: inline-block;
    font-size: .78rem;
    color: var(--color-secondary, #C8101E);
    margin-bottom: .6rem;
  }
  .program-card h3 { font-size: 1.4rem; font-weight: 400; margin-bottom: .5rem; }
  .program-card p {
    color: var(--branding--color-text);
    font-size: .95rem;
    margin: 0;
}
program-detail p {
    color: var(--branding--color-text);
    max-width: 58ch;
    margin-bottom: 1rem;
}

  /* Detail sections */
  .program-detail { padding: 4rem 0; }
  .program-detail--alt { background: #121212; }
  .program-detail img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: var(--radius-base, 6px);
    box-shadow: var(--shadow-base, 0 10px 30px rgba(0,0,0,.35));
  }
  .program-detail__eyebrow {
    display: inline-block;
    font-size: .85rem;
    color: var(--color-secondary, #C8101E);
    font-weight: 600;
    margin-bottom: .5rem;
  }
  .program-detail h2 { font-size: 2.1rem; font-weight: 400; margin-bottom: 1rem; max-width: 22ch; }
  .program-detail p { color: var(--grey, #cecece); max-width: 58ch; margin-bottom: 1rem; }
  .program-detail__list { list-style: none; padding: 0; margin: 1.25rem 0 0; }
  .program-detail__list li {
    padding: .6rem 0;
    border-top: 1px solid rgba(217,217,217,.15);
    font-size: .95rem;
    color: var(--grey, #cecece);
  }
  .program-detail__list li:first-child { border-top: none; }
  .program-detail__list strong { color: var(--color-white, #FFFFFF); }

  /* Stats */
  .programs-stats { padding: 3.5rem 0; background: #000; }
  .stat__number { display: block; font-size: 2.6rem; font-family: var(--font-heading, 'Bebas Neue', sans-serif); color: var(--color-cta, #D41424); }
  .stat__label { display: block; font-size: .9rem; color: var(--grey, #cecece); margin-top: .25rem; }

  /* Reduced motion / pre-JS baseline: never rely on inline opacity
     from GSAP alone — see the fallback guard in main.js. */
  @media (prefers-reduced-motion: reduce) {
    [data-gsap], [data-animate], [data-animate-item] { opacity: 1 !important; transform: none !important; }
  }

  .program-detail {
    background: var(--grey);
}

.programs-page h1, .programs-page h2, .programs-page h3 {
  
    color: var(--color-secondary, #C8101E);
}
.program-detail__list li {
 
    color: var(--branding--color-text);
}
.program-detail__list strong {
    color: var(--color-secondary);
}
.program-detail__eyebrow {

    color: var(--color-cta-hover);

}

.programs-stats {

    background: var(--color-accent);
}
section.programs-overview {
    background: var(--color-accent);
}
.stat__label {

    color: var(--branding--color-text);

}