 .section {
      padding: 40px;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 20px;
    }

    .section-label {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 10px;
    }

    .cpcc-bg-golden-wrap {
      background: var(--cpcc-color-gold);
      color: var(--cpcc-color-black);
    }

    .cpcc-bg-teal-wrap {
      background: var(--cpcc-color-teal);
      color: var(--cpcc-color-white);
    }
 
    @keyframes cpcc-arrowIn {
      from { transform: translate(-10px, 10px) scale(0.5); }
      to { transform: translate(0, 0) scale(1); }
    }

    @keyframes cpcc-arrowOut {
      from { transform: translate(0, 0) scale(1); }
      to { transform: translate(-10px, 10px) scale(0.5); }
    }

    .cpcc-btn-primary {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 24px;
      text-decoration: none;
      width: fit-content;
      font-size: 1rem;
      font-weight: 500;
      cursor: pointer;
      background-color: var(--cpcc-color-gold);
      color: var(--cpcc-color-black);
      border: 2px solid var(--cpcc-color-gold);
      transition: all var(--cpcc-transition-speed) ease;
      z-index: 10;
    }

     .cpcc-btn-underline {
        text-decoration: none;
      transition: var(--cpcc-transition-speed) ease;
    }
    .cpcc-btn-underline:hover {
        text-decoration: underline;
    }

    .cpcc-btn-primary:hover {
      background-color: transparent;
    }

    .cpcc-btn-primary svg {
      width: 14px;
      height: 14px;
    }

    .cpcc-btn-primary .arrow-head {
      transform: translate(0, 0) scale(1);
      transform-origin: 13px 1px;
    }

    .cpcc-btn-primary:hover .arrow-head {
      animation: cpcc-arrowIn 0.4s ease-out;
    }

    .cpcc-btn-primary:not(:hover) .arrow-head {
      animation: cpcc-arrowOut 0.25s ease-out;
    }
    .cpcc-category-card:hover .cpcc-btn-primary .arrow-head {
      animation: cpcc-arrowIn 0.4s ease-out;
    }

    .cpcc-category-card:not(:hover) .cpcc-btn-primary .arrow-head {
      animation: cpcc-arrowOut 0.25s ease-out;
    }

    .cpcc-bg-golden-wrap .cpcc-btn-primary {
      background-color: var(--cpcc-color-black);
      color: var(--cpcc-color-white);
      border-color: var(--cpcc-color-black);
    }

    .cpcc-bg-golden-wrap .cpcc-btn-primary:hover {
      background-color: var(--cpcc-color-gold);
      color: var(--cpcc-color-black);
    }

    .cpcc-bg-teal-wrap .cpcc-btn-primary {
      background-color: var(--cpcc-color-white);
      color: var(--cpcc-color-black);
      border-color: var(--cpcc-color-white);
    }

    .cpcc-bg-teal-wrap .cpcc-btn-primary:hover {
      background-color: var(--cpcc-color-teal);
      color: var(--cpcc-color-white);
    }
    .cpcc-featured-program .cpcc-btn-primary {
      background-color: var(--cpcc-color-black);
      color: var(--cpcc-color-white);
      border-color: var(--cpcc-color-black);
    }
    .cpcc-featured-program .cpcc-btn-primary:hover {
      background-color: var(--cpcc-color-white);
      color: var(--cpcc-color-black);
      border-color: var(--cpcc-color-white);
    }
    /* ========== Secondary Button ========== */

    .cpcc-btn-secondary {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 24px;
       width: fit-content;
      text-decoration: none;
      font-size: 1rem;
      font-weight: 500;
      cursor: pointer;
      background-color: transparent;
      color: var(--cpcc-color-black);
      border: 2px solid var(--cpcc-color-gold);
      transition: all var(--cpcc-transition-speed) ease;
      z-index: 10;
    }

    .cpcc-btn-secondary:hover {
      background-color: var(--cpcc-color-gold);
      color: var(--cpcc-color-black);
    }

    .cpcc-btn-secondary svg {
      width: 14px;
      height: 14px;
    }

    .cpcc-btn-secondary .arrow-head {
      transform: translate(0, 0) scale(1);
      transform-origin: 13px 1px;
    }

    .cpcc-btn-secondary:hover .arrow-head {
      animation: cpcc-arrowIn 0.4s ease-out;
    }

    .cpcc-btn-secondary:not(:hover) .arrow-head {
      animation: cpcc-arrowOut 0.25s ease-out;
    }

    .cpcc-bg-golden-wrap .cpcc-btn-secondary {
      background-color: transparent;
      color: var(--cpcc-color-black);
      border-color: var(--cpcc-color-black);
    }

    .cpcc-program-banner-btns .cpcc-btn-secondary {
      background-color: transparent;
      color: var(--cpcc-color-black);
      border-color: var(--cpcc-color-black);
    }

    .cpcc-program-banner-btns .cpcc-hero-banner-btn--secondary {
      background-color: transparent;
      color: var(--cpcc-color-black);
      border-color: var(--cpcc-color-gold);
    }
    .cpcc-bg-golden-wrap .cpcc-btn-secondary:hover {
      background-color: var(--cpcc-color-black);
      color: var(--cpcc-color-white);
    }

    .cpcc-bg-teal-wrap .cpcc-btn-secondary {
      background-color: transparent;
      color: var(--cpcc-color-white);
      border-color: var(--cpcc-color-white);
    }

    .cpcc-bg-teal-wrap .cpcc-btn-secondary:hover {
      background-color: var(--cpcc-color-white);
      color: var(--cpcc-color-black);
    }

    .cpcc-btn-tertiary {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      text-decoration: none;
       width: fit-content;
      font-size: 1rem;
      font-weight: 500;
      cursor: pointer;
      color: var(--cpcc-color-gray);
       z-index: 10;
    }

    .cpcc-btn-tertiary span {
      position: relative;
    }


    .cpcc-btn-tertiary span::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 1px;
      background: currentColor;
      transition: width var(--cpcc-transition-speed) ease;
    }

    .cpcc-btn-tertiary:hover span::after {
      width: 100%;
    }


    .cpcc-btn-tertiary svg {
      width: 14px;
      height: 14px;
    }

    .cpcc-btn-tertiary .arrow-head {
      transform: translate(0, 0) scale(1);
      transform-origin: 13px 1px;
    }

    .cpcc-btn-tertiary:hover .arrow-head {
      animation: cpcc-arrowIn 0.4s ease-out;
    }

    .cpcc-btn-tertiary:not(:hover) .arrow-head {
      animation: cpcc-arrowOut 0.25s ease-out;
    }
    .cpcc-imgtext-card-link {
      color: var(--cpcc-color-white);
    }

    .cpcc-program-card--featured:hover .cpcc-btn-tertiary span::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 1px;
      background: currentColor;
      transition: width var(--cpcc-transition-speed) ease;
    }

    .cpcc-program-card--featured:hover .cpcc-btn-tertiary span::after {
       width: 100%;
    }

     .cpcc-program-card--regular:hover .cpcc-btn-tertiary span::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 1px;
      background: currentColor;
      transition: width var(--cpcc-transition-speed) ease;
    }

    .cpcc-program-card--regular:hover .cpcc-btn-tertiary span::after {
       width: 100%;
    }

    .cpcc-program-card--featured:hover .cpcc-btn-tertiary .arrow-head {
      transform: translate(0, 0) scale(1);
      transform-origin: 13px 1px;
    }
      .cpcc-program-card--featured:hover .cpcc-btn-tertiary .arrow-head {
      animation: cpcc-arrowIn 0.4s ease-out;
    }

    .cpcc-program-card--featured:not(:hover) .cpcc-btn-tertiary .arrow-head {
      animation: cpcc-arrowOut 0.25s ease-out;
    }

      .cpcc-program-card--regular:hover .cpcc-btn-tertiary .arrow-head {
      transform: translate(0, 0) scale(1);
      transform-origin: 13px 1px;
    }
      .cpcc-program-card--regular:hover .cpcc-btn-tertiary .arrow-head {
      animation: cpcc-arrowIn 0.4s ease-out;
    }

    .cpcc-program-card--regular:not(:hover) .cpcc-btn-tertiary .arrow-head {
      animation: cpcc-arrowOut 0.25s ease-out;
    }

    .cpcc-bg-golden-wrap .cpcc-btn-tertiary {
      color: var(--cpcc-color-black);
    }

    .cpcc-bg-teal-wrap .cpcc-btn-tertiary {
      color: var(--cpcc-color-white);
    }
    .cpcc-program-card--featured .cpcc-btn-tertiary{
      color: var(--cpcc-color-black);
    }
    .cpcc-news-card:hover .cpcc-btn-tertiary span::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 1px;
      background: currentColor;
      transition: width var(--cpcc-transition-speed) ease;
    }

    .cpcc-news-card:hover .cpcc-btn-tertiary span::after {
       width: 100%;
    }
    .cpcc-news-card:hover .cpcc-btn-tertiary .arrow-head {
      transform: translate(0, 0) scale(1);
      transform-origin: 13px 1px;
    }
      .cpcc-news-card:hover .cpcc-btn-tertiary .arrow-head {
      animation: cpcc-arrowIn 0.4s ease-out;
    }

    .cpcc-news-card:not(:hover) .cpcc-btn-tertiary .arrow-head {
      animation: cpcc-arrowOut 0.25s ease-out;
    }
    .cpcc-imgtext-card-wrap:hover .cpcc-btn-tertiary span::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 1px;
      background: currentColor;
      transition: width var(--cpcc-transition-speed) ease;
    }

   .cpcc-imgtext-card-wrap:hover .cpcc-btn-tertiary span::after {
       width: 100%;
    }
    .cpcc-imgtext-card-wrap:hover .cpcc-btn-tertiary .arrow-head {
      transform: translate(0, 0) scale(1);
      transform-origin: 13px 1px;
    }
     .cpcc-imgtext-card-wrap:hover .cpcc-btn-tertiary .arrow-head {
      animation: cpcc-arrowIn 0.4s ease-out;
    }

    .cpcc-imgtext-card-wrap:not(:hover) .cpcc-btn-tertiary .arrow-head {
      animation: cpcc-arrowOut 0.25s ease-out;
    }


     /* ========== Hyperlink ========== */

    .cpcc-hyperlink {
      color: var(--cpcc-color-teal);
      text-decoration: underline;
      transition: color var(--cpcc-transition-speed) ease;
    }

    .cpcc-hyperlink:hover {
      color: var(--cpcc-color-black);
    }


/* ===== Success button (in teal) ===== */
 /* Button with Underline Hover */
    .cpcc-success-btn {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 16px 28px;
      font-size: 16px;
      font-weight: 600;
      text-decoration: none;
      background-color: var(--cpcc-color-white);
      color: var(--cpcc-color-teal);
      border: 1px solid var(--cpcc-color-white);
      cursor: pointer;
      transition: var(--cpcc-transition-speed) ease-in-out;
      position: relative;
    }


    .cpcc-success-btn:hover {
      background-color: var(--cpcc-color-black);
      color: var(--cpcc-color-white);
      border: 1px solid var(--cpcc-color-black);
    }

    .cpcc-success-btn:focus {
      outline: 2px solid var(--cpcc-color-focus);
      outline-offset: 2px;
    }

    .cpcc-success-btn:focus:not(:focus-visible) {
      outline: none;
    }

     .cpcc-success-btn svg {
      width: 14px;
      height: 14px;
    }

    .cpcc-success-btn .arrow-head {
      transform: translate(0, 0) scale(1);
      transform-origin: 13px 1px;
    }

    .cpcc-success-btn:hover .arrow-head {
      animation: cpcc-arrowIn 0.4s ease-out;
    }

    .cpcc-success-btn:not(:hover) .arrow-head {
      animation: cpcc-arrowOut 0.25s ease-out;
    }


    /*---banner-video---*/
   .cpcc-hero-banner-btn--primary svg,
.cpcc-hero-banner-btn--secondary svg {
  width: 14px;
  height: 14px;
}

/* ========== Arrow base state ========== */
.cpcc-hero-banner-btn--primary .arrow-head,
.cpcc-hero-banner-btn--secondary .arrow-head {
  transform: translate(0, 0) scale(1);
  transform-origin: 13px 1px;
}

/* ========== PRIMARY BUTTON ========== */
.cpcc-hero-banner-btn--primary {
  background-color: var(--cpcc-color-gold);
  color: var(--cpcc-color-black);
  border: 2px solid var(--cpcc-color-gold);
}
.cpcc-hero-banner-btn--primary:hover {
  background-color: var(--cpcc-color-white);
  color: var(--cpcc-color-black);
  border: 2px solid var(--cpcc-color-white);
}
/* Arrow IN */
.cpcc-hero-banner-btn--primary:hover .arrow-head,
.cpcc-hero-banner-btn--primary:focus-visible .arrow-head {
  animation: cpcc-arrowIn 0.4s ease-out;
}

/* Arrow OUT (only when NOT hovered AND NOT focused) */
.cpcc-hero-banner-btn--primary:not(:hover):not(:focus-visible) .arrow-head {
  animation: cpcc-arrowOut 0.25s ease-out;
}

/* ========== SECONDARY BUTTON ========== */
.cpcc-hero-banner-btn--secondary {
  background-color: transparent;
  color: var(--cpcc-color-white);
  border: 2px solid var(--cpcc-color-gold);
}
.cpcc-hero-banner-btn--secondary:hover {
  background-color: var(--cpcc-color-gold);
  color: var(--cpcc-color-black);
  border: 2px solid var(--cpcc-color-gold);
}

/* Arrow IN */
.cpcc-hero-banner-btn--secondary:hover .arrow-head,
.cpcc-hero-banner-btn--secondary:focus-visible .arrow-head {
  animation: cpcc-arrowIn 0.4s ease-out;
}

/* Arrow OUT */
.cpcc-hero-banner-btn--secondary:not(:hover):not(:focus-visible) .arrow-head {
  animation: cpcc-arrowOut 0.25s ease-out;
}
.cpcc-bg-golden-wrap .cpcc-category-card:hover .cpcc-btn-primary{
    color: var(--cpcc-color-black);
}
.cpcc-bg-teal-wrap .cpcc-category-card:hover .cpcc-btn-primary{
    color: var(--cpcc-color-white);
}
.cpcc-bg-teal-wrap .cpcc-category-card .cpcc-category-card-title::after {
    background-color: var(--cpcc-color-white);
}
.cpcc-bg-teal-wrap .cpcc-category-card:hover .cpcc-category-card-title::after {
    background-color: var(--cpcc-color-white);
}