/* Certification program shared styles */
.certification-program-page .certification-hero-content h1 {
    font-size: clamp(1.9rem, 3.6vw, 3.2rem)
}

.certification-program-page {
    background: #fff;
    color: var(--color-heading);
    overflow: visible
}

.certification-program-page .certification-content-section {
    padding: 62px 0 88px;
    background: linear-gradient(180deg, #f4f9ff 0, #fff 340px)
}

.certification-program-page .certification-layout {
    grid-template-columns: minmax(235px, 275px) minmax(0, 1fr);
    gap: 32px
}

.certification-program-page .certification-sidebar {
    top: 88px
}

.certification-program-page .certification-sidebar-card {
    border-color: #d8e8f8;
    box-shadow: 0 16px 42px rgba(22, 62, 98, .09)
}

.certification-program-page .certification-nav-link {
    position: relative;
    text-decoration: none;
    cursor: pointer
}

.certification-program-page .certification-nav-link:after {
    position: absolute;
    right: 10px;
    color: #a8b6c5;
    font-family: "Font Awesome 6 Free";
    font-size: .58rem;
    font-weight: 900;
    content: "\f054"
}

.certification-program-page .certification-nav-link.active:after {
    color: var(--color-primary)
}

.certification-program-main {
    display: grid;
    gap: 26px;
    min-width: 0
}

.certification-program-section {
    scroll-margin-top: 92px;
    padding: 38px;
    background: #fff;
    border: 1px solid rgba(0, 93, 181, .12);
    border-radius: 22px;
    box-shadow: 0 14px 38px rgba(22, 62, 98, .07)
}

.certification-program-section--flush {
    padding: 0;
    overflow: hidden
}

.certification-program-heading {
    max-width: 720px;
    margin-bottom: 28px
}

.certification-program-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--color-primary);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase
}

.certification-program-heading h2 {
    margin: 8px 0 10px;
    color: var(--color-heading);
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1.1
}

.certification-program-heading p,
.certification-program-copy p {
    color: var(--color-body);
    font-size: .98rem;
    line-height: 1.78
}

.certification-program-copy p:last-child {
    margin-bottom: 0
}

.certification-program-objectives {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 26px
}

.certification-program-objectives-intro {
    margin: -10px 0 22px;
    color: var(--color-body);
    font-size: .94rem;
    line-height: 1.7
}

.certification-program-objectives-intro + .certification-program-objectives {
    margin-top: 0
}

.certification-program-objective {
    display: flex;
    gap: 13px;
    padding: 17px;
    background: #f7fbff;
    border: 1px solid #dcebf8;
    border-radius: 14px
}

.certification-program-objective span {
    display: grid;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    color: #fff;
    background: var(--color-primary);
    border-radius: 9px;
    place-items: center;
    font-size: .75rem
}

.certification-program-objective p {
    margin: 1px 0 0;
    color: #34465a;
    font-size: .88rem;
    line-height: 1.58
}

.certification-program-method {
    position: relative;
    overflow: hidden;
    padding: 38px;
    color: #fff;
    background-color: #022f65;
    background-image:radial-gradient(circle at 76% 18%, rgba(92, 173, 255, .34), transparent 30%),
    linear-gradient(122deg, rgba(0, 25, 67, .99), rgba(0, 63, 130, .97) 48%, rgba(0, 104, 190, .9)),
    url("/images/bg_blue.webp");
    background-position: center;
    background-size: cover
}

.certification-program-method .certification-program-eyebrow {
    color: #8bc9ff
}

.certification-program-method h2 {
    margin: 8px 0 28px;
    color: #fff;
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    font-weight: 800;
    letter-spacing: -.04em
}

.certification-program-method-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px
}

.certification-program-method-card {
    min-height: 210px;
    padding: 24px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 18px;
    box-shadow: 0 16px 40px rgba(0, 22, 54, .12);
    backdrop-filter: blur(10px);
    transition: transform .25s ease, background .25s ease
}

.certification-program-method-card:hover {
    background: rgba(255, 255, 255, .17);
    transform: translateY(-6px)
}

.certification-program-method-card i {
    display: grid;
    width: 45px;
    height: 45px;
    color: #005db5;
    background: #fff;
    border-radius: 13px;
    place-items: center
}

.certification-program-method-card h3 {
    margin: 22px 0 8px;
    color: #fff;
    font-size: 1.04rem
}

.certification-program-method-card p {
    margin: 0;
    color: rgba(255, 255, 255, .74);
    font-size: .84rem;
    line-height: 1.62
}

.certification-program-audience-list {
    display: grid;
    gap: 12px
}

.certification-program-audience-item {
    display: flex;
    gap: 14px;
    padding: 18px;
    background: linear-gradient(135deg, #fff, #f5faff);
    border: 1px solid #dce8f5;
    border-radius: 14px
}

.certification-program-audience-item i {
    margin-top: 4px;
    color: var(--color-primary)
}

.certification-program-audience-item p {
    margin: 0;
    color: #34465a;
    line-height: 1.65
}

.certification-program-modules {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px
}

.certification-program-module {
    position: relative;
    display: grid;
    grid-template-columns: 46px 42px 1fr;
    align-items: center;
    gap: 13px;
    min-height: 105px;
    padding: 18px;
    background: linear-gradient(135deg, #fff, #f5faff);
    border: 1px solid #d8e8f8;
    border-radius: 15px;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease
}

.certification-program-module:hover {
    border-color: #8bc9ff;
    box-shadow: 0 16px 34px rgba(22, 62, 98, .11);
    transform: translateY(-3px)
}

.certification-program-module-number {
    display: block;
    color: #aec4d7;
    font-size: 1.55rem;
    font-weight: 850
}

.certification-program-module i {
    display: grid;
    width: 42px;
    height: 42px;
    color: #005db5;
    background: #e4f2ff;
    border-radius: 12px;
    place-items: center
}

.certification-program-module h3 {
    margin: 0;
    color: var(--color-heading);
    font-size: .94rem;
    font-weight: 800;
    line-height: 1.45
}

.certification-program-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px
}

.certification-program-step {
    position: relative;
    min-height: 180px;
    padding: 58px 16px 18px;
    background: linear-gradient(180deg, #fff, #f7fbff);
    border: 1px solid #dce8f5;
    border-radius: 15px
}

.certification-program-step-number {
    position: absolute;
    top: 16px;
    left: 16px;
    display: grid;
    width: 32px;
    height: 32px;
    color: #fff;
    background: #005db5;
    border-radius: 9px;
    place-items: center;
    font-size: .72rem;
    font-weight: 850
}

.certification-program-step h3 {
    margin: 0 0 8px;
    color: var(--color-heading);
    font-size: .92rem;
    font-weight: 800;
    line-height: 1.4
}

.certification-program-step p {
    margin: 0;
    color: var(--color-body);
    font-size: .8rem;
    line-height: 1.55
}

.certification-program-schedule-grid {
    grid-template-columns: minmax(0, 275px)
}

.certification-program-schedule-wrap {
    padding: 38px;
    background: linear-gradient(240deg, #f0f7ff, #fff)
}

.certification-program-investment {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    overflow: hidden;
    border-radius: 20px;
    background: #022f65
}

.certification-program-investment-price {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    padding: 32px;
    color: #fff;
    background: linear-gradient(145deg, #022f65, #005da9)
}

.certification-program-investment-price small {
    color: #bcdcf4
}

.certification-program-investment-price strong {
    margin-top: 8px;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    line-height: 1.15
}

.certification-program-investment-details {
    padding: 30px;
    background: #fff
}

.certification-program-investment-details h3 {
    margin: 0 0 14px;
    color: var(--color-heading);
    font-size: 1rem
}

.certification-program-investment-details ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none
}

.certification-program-investment-details li {
    display: flex;
    gap: 10px;
    color: var(--color-body);
    font-size: .9rem
}

.certification-program-investment-details li i {
    margin-top: 4px;
    color: var(--color-success)
}

.certification-program-investment-note {
    margin: 16px 0 0;
    color: var(--color-muted);
    font-size: .78rem
}

.certification-program-inhouse-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 18px;
    padding: 25px 28px;
    color: #fff;
    background: linear-gradient(120deg, #003f82, #0876c5);
    border-radius: 18px
}

.certification-program-inhouse-cta h3 {
    margin: 0 0 5px;
    color: #fff;
    font-size: 1.18rem
}

.certification-program-inhouse-cta p {
    margin: 0;
    color: rgba(255, 255, 255, .74);
    font-size: .88rem
}

.certification-program-inhouse-cta .btn {
    flex: none;
    font-weight: 750
}

@media(max-width:1199.98px) {
    .certification-program-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media(max-width:991.98px) {
    .certification-program-page .certification-layout {
        grid-template-columns: 1fr
    }

    .certification-program-page .certification-sidebar {
        position: static
    }

    .certification-program-page .certification-sidebar-card nav {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .certification-program-method-grid,
    .certification-program-modules {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:767.98px) {
    .certification-program-page .certification-content-section {
        padding-top: 42px
    }

    .certification-program-section,
    .certification-program-method,
    .certification-program-schedule-wrap {
        padding: 25px
    }

    .certification-program-section--flush {
        padding: 0
    }

    .certification-program-page .certification-sidebar-card nav,
    .certification-program-objectives,
    .certification-program-method-grid,
    .certification-program-modules,
    .certification-program-steps,
    .certification-program-investment {
        grid-template-columns: 1fr
    }

    .certification-program-schedule-grid {
        grid-template-columns: minmax(0, 275px)
    }

    .certification-program-inhouse-cta {
        align-items: flex-start;
        flex-direction: column
    }
}

/* Continuous non-certification program catalog */
.non-certification-main {
    display: grid;
    gap: 30px;
}

.non-certification-training {
    --training-accent: #0875cc;
    --training-accent-dark: #07519d;
    --training-soft: #e9f5ff;
    scroll-margin-top: 104px;
}

.non-certification-training--2 { --training-accent: #15956c; --training-accent-dark: #087153; --training-soft: #e8f8f2; }
.non-certification-training--3 { --training-accent: #a16a13; --training-accent-dark: #774806; --training-soft: #fff5df; }
.non-certification-training--4 { --training-accent: #6d55c7; --training-accent-dark: #49349c; --training-soft: #f1edff; }
.non-certification-training--5 { --training-accent: #bf4f68; --training-accent-dark: #923348; --training-soft: #fff0f3; }
.non-certification-training--6 { --training-accent: #d06028; --training-accent-dark: #9d3e16; --training-soft: #fff1e9; }
.non-certification-training--7 { --training-accent: #168b91; --training-accent-dark: #08636a; --training-soft: #e7f7f7; }
.non-certification-training--8 { --training-accent: #526b9f; --training-accent-dark: #344979; --training-soft: #edf1fa; }
.non-certification-training--9 { --training-accent: #7b8730; --training-accent-dark: #566119; --training-soft: #f3f6e4; }

.non-certification-training:before {
    background: linear-gradient(90deg, var(--training-accent), var(--training-accent-dark));
}

.non-certification-training-header {
    background: linear-gradient(145deg, #fff 16%, var(--training-soft));
}

.non-certification-training-meta span:first-child,
.non-certification-content-label {
    color: var(--training-accent);
}

.non-certification-training-title>span {
    background: linear-gradient(145deg, var(--training-accent), var(--training-accent-dark));
    box-shadow: 0 10px 24px color-mix(in srgb, var(--training-accent) 26%, transparent);
}

.non-certification-training-title>div {
    min-width: 0;
}

.non-certification-training-title>div>small {
    display: block;
    margin-bottom: 4px;
    color: var(--training-accent);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .12em;
}

.non-certification-training-content {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, .8fr);
    gap: 38px;
    padding: 32px 34px 4px;
}

.non-certification-content-label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: .69rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.non-certification-training-lead {
    margin: 0;
    color: #405870;
    font-size: 1rem;
    line-height: 1.82;
}

.non-certification-learning-flow {
    margin-top: 28px;
    padding-top: 8px;
}

.non-certification-learning-flow ol {
    display: grid;
    gap: 13px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

.non-certification-learning-flow li {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 7px;
    align-items: start;
    color: #435c74;
    line-height: 1.58;
}

.non-certification-learning-flow li>span {
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    margin-top: 2px;
    border-radius: 50%;
    background: var(--training-soft);
    color: var(--training-accent);
    font-size: .58rem;
    text-align: center;
}

.non-certification-training-details {
    padding: 3px 0 0 12px;
}

.non-certification-audience-list {
    columns: 1;
    margin-top: 13px;
}

.non-certification-audience-list li {
    position: relative;
    margin-bottom: 8px;
    padding-left: 14px;
    font-size: .84rem;
}

.non-certification-audience-list li:before {
    position: absolute;
    left: 0;
    color: var(--training-accent);
}

.non-certification-training-meta-lines {
    display: grid;
    gap: 13px;
    margin-top: 23px;
    padding-top: 12px;
}

.non-certification-training-meta-lines p {
    display: flex;
    gap: 11px;
    margin: 0;
    color: #405870;
    font-size: .82rem;
    line-height: 1.5;
}

.non-certification-training-meta-lines p>i {
    width: 18px;
    margin-top: 3px;
    color: var(--training-accent);
    text-align: center;
}

.non-certification-training-meta-lines small {
    display: block;
    margin-bottom: 2px;
    color: #7a8da0;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.non-certification-training .non-certification-interest {
    background-color: var(--training-accent-dark);
    background-image: radial-gradient(circle at 78% 12%, color-mix(in srgb, var(--training-accent) 60%, white), transparent 31%), linear-gradient(122deg, var(--training-accent-dark), var(--training-accent));
}

.non-certification-training-nav {
    text-decoration: none;
}

@media(max-width:767.98px) {
    .non-certification-category-panel { grid-template-columns: minmax(0, 1fr); }
    .non-certification-sidebar,
    .non-certification-main { width: 100%; min-width: 0; }
    .non-certification-main { gap: 22px; }
    .non-certification-training-content { grid-template-columns: 1fr; gap: 25px; padding: 25px 20px 2px; }
    .non-certification-training-details { padding: 8px 0 0; border: 0; }
    .non-certification-sidebar .certification-sidebar-card nav {
        display: flex;
        gap: 8px;
        margin: 0 0 -4px;
        padding: 0 0 8px;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }
    .non-certification-sidebar .certification-sidebar-card nav::-webkit-scrollbar { display: none; }
    .non-certification-sidebar .non-certification-training-nav {
        flex: 0 0 235px;
        min-height: 58px;
        scroll-snap-align: start;
    }
}

/* Certification program pages */
.certification-program-eyebrow {
    display: none !important
}

.certification-program-heading {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 14px
}

.certification-program-heading:before {
    flex: 0 0 54px
}

.certification-program-heading h2 {
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    margin: 2px 0 0;
    grid-column: auto
}

.certification-program-heading p {
    flex: 0 0 100%;
    width: 100%;
    margin: 0;
    grid-column: auto
}

.certification-program-objective {
    overflow: hidden
}

.certification-program-objective span {
    position: relative;
    isolation: isolate
}

.certification-program-objective span:after {
    position: absolute;
    z-index: -1;
    width: 70px;
    height: 70px;
    background: currentColor;
    border-radius: 50%;
    content: "";
    opacity: .13;
    transform: translate(16px, -16px)
}

.certification-program-objective:nth-child(2) span {
    background: linear-gradient(145deg, #6f42c1, #9b72e5)
}

.certification-program-objective:nth-child(3) span {
    background: linear-gradient(145deg, #0876c5, #35a6e8)
}

.certification-program-objective:nth-child(4) span {
    background: linear-gradient(145deg, #16804b, #35a76a)
}

.certification-program-objective:nth-child(5) span {
    background: linear-gradient(145deg, #d58a00, #f5b83d)
}

.certification-program-objective:nth-child(6) span {
    background: linear-gradient(145deg, #9d3d70, #d8669c)
}

.certification-program-method-card {
    position: relative;
    overflow: hidden;
    transition: background 260ms ease, border-color 260ms ease, box-shadow 260ms ease, opacity 260ms ease, transform 260ms ease
}

.certification-program-method-card:before {
    position: absolute;
    top: -90px;
    left: -100px;
    width: 230px;
    height: 230px;
    background: radial-gradient(circle, rgba(105, 193, 255, .32), transparent 68%);
    border-radius: 50%;
    content: "";
    opacity: 0;
    pointer-events: none;
    transform: scale(.65);
    transition: opacity 300ms ease, transform 420ms ease
}

.certification-program-method-card:hover {
    background: linear-gradient(145deg, rgba(255, 255, 255, .19), rgba(255, 255, 255, .1));
    border-color: rgba(139, 201, 255, .62);
    box-shadow: 0 24px 52px rgba(0, 15, 42, .3);
    transform: translateY(-8px)
}

.certification-program-method-card:hover:before {
    opacity: 1;
    transform: scale(1)
}

.certification-program-method-grid:has(.certification-program-method-card:hover) .certification-program-method-card:not(:hover) {
    opacity: .72;
    transform: scale(.985)
}

.certification-program-method-card:hover i {
    transform: translateY(-4px) rotate(-7deg) scale(1.08)
}

.certification-program-method-card i {
    position: relative;
    z-index: 1;
    transition: transform 240ms ease
}

.certification-program-audience-list {
    display: block
}

.certification-program-audience-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    min-height: 0;
    padding: 20px 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #dfe8f0;
    border-radius: 0;
    box-shadow: none
}

.certification-program-audience-item:first-child {
    padding-top: 0
}

.certification-program-audience-item:last-child {
    padding-bottom: 0;
    border-bottom: 0
}

.certification-program-audience-item:hover {
    border-color: #dfe8f0;
    box-shadow: none;
    transform: none
}

.certification-program-module {
    grid-template-columns: 48px 1fr;
    cursor: default
}

.certification-program-module-number {
    display: none
}

.certification-program-steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding-left: 22px
}

.certification-program-steps:before {
    display: block;
    top: 24px;
    bottom: 24px;
    left: 39px;
    width: 2px;
    height: auto
}

.certification-program-step {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    min-height: 0;
    padding: 20px 22px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #dfe8f0;
    border-radius: 0;
    box-shadow: none
}

.certification-program-step:last-child {
    border-bottom: 0
}

.certification-program-step-number {
    position: relative;
    top: auto;
    left: auto;
    grid-row: 1/3;
    align-self: start
}

.certification-program-step h3,
.certification-program-step p {
    grid-column: 2
}

.certification-program-step h3 {
    margin: 2px 0 6px
}

.certification-program-step p {
    max-width: 680px
}

.certification-program-step:hover {
    border-color: #dfe8f0;
    transform: translateX(5px)
}

.certification-program-schedule-grid {
    display: flex;
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    padding: 6px 4px 20px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-color: #9dc8ea #e7f1f9;
    scrollbar-width: thin
}

.certification-program-schedule-grid .site-schedule-card {
    flex: 0 0 265px;
    scroll-snap-align: start
}

.certification-program-schedule-grid .site-schedule-info span {
    white-space: normal
}

.certification-program-investment {
    display: block;
    overflow: hidden;
    background: #fff;
    border: 1px solid #d7e7f5;
    border-radius: 22px;
    box-shadow: 0 20px 52px rgba(22, 62, 98, .1)
}

.certification-program-investment-price {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 28px 32px;
    background: linear-gradient(122deg, #002f69, #0068be);
    overflow: hidden
}

.certification-program-investment-price:after {
    position: absolute;
    right: -40px;
    width: 160px;
    height: 160px;
    border: 26px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    content: ""
}

.certification-program-investment-price small,
.certification-program-investment-price strong {
    position: relative;
    z-index: 1
}

.certification-program-investment-price small {
    font-size: .85rem
}

.certification-program-investment-price strong {
    margin: 0;
    font-size: clamp(1.55rem, 3vw, 2.15rem)
}

.certification-program-investment-details {
    padding: 30px 32px
}

.certification-program-investment-details h3 {
    font-size: 1.05rem
}

.certification-program-investment-details ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px
}

.certification-program-investment-details li {
    padding: 13px;
    background: #f5f9fd;
    border: 1px solid #e0ebf4;
    border-radius: 12px
}

.certification-program-inhouse-cta {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    margin: 0;
    padding: 32px 34px;
    background-color: #022f65;
    background-image:radial-gradient(circle at 78% 12%, rgba(92, 173, 255, .34), transparent 30%),
    linear-gradient(122deg, rgba(0, 25, 67, .99), rgba(0, 63, 130, .97) 48%, rgba(0, 104, 190, .9)),
    url("/images/bg_blue.webp");
    background-position: center;
    background-size: cover;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 24px
}

.certification-program-inhouse-icon {
    display: grid;
    width: 58px;
    height: 58px;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 17px;
    place-items: center;
    font-size: 1.2rem;
    transition: transform .26s ease, background .26s ease
}

.certification-program-inhouse-cta:hover .certification-program-inhouse-icon {
    background: rgba(255, 255, 255, .2);
    transform: translateY(-4px) rotate(-4deg)
}

@media(max-width:767.98px) {
    .certification-program-heading:before {
        flex-basis: 42px
    }

    .certification-program-heading h2 {
        flex-basis: 100%
    }

    .certification-program-investment-price {
        align-items: flex-start;
        flex-direction: column
    }

    .certification-program-investment-details ul {
        grid-template-columns: 1fr
    }

    .certification-program-inhouse-cta {
        grid-template-columns: 54px 1fr
    }

    .certification-program-inhouse-cta .btn {
        grid-column: 1/-1;
        width: 100%
    }

    .certification-program-schedule-grid .site-schedule-card {
        flex-basis: 250px
    }
}

/* Final layout alignment */
.certification-program-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 26px;
    padding: 5px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    backdrop-filter: blur(8px)
}

.certification-program-page .certification-hero-grid {
    grid-template-columns: 1fr;
    align-items: center
}

.certification-program-page .certification-hero-content {
    position: relative;
    z-index: 2;
    max-width: 760px
}

.certification-program-hero-visual {
    position: absolute;
    z-index: -1;
    top: 0;
    right: calc((100vw - 100%) / -2);
    bottom: 0;
    width: 56vw;
    min-height: 0;
    background-position: center;
    background-size: cover;
    border-radius: 0;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .35) 22%, #000 52%, #000 100%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .35) 22%, #000 52%, #000 100%)
}

.certification-program-tab {
    padding: 8px 15px;
    color: rgba(255, 255, 255, .78);
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, transform .2s ease
}

.certification-program-tab:hover {
    color: #fff;
    background: rgba(255, 255, 255, .13);
    transform: translateY(-1px)
}

.certification-program-tab.active {
    color: #004d96;
    background: #fff;
    box-shadow: 0 7px 18px rgba(0, 22, 54, .2)
}

.certification-program-heading {
    width: 100%;
    max-width: none
}

.certification-program-heading h2 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    width: 100%;
    max-width: none;
    font-size: clamp(1.2rem, 1.8vw, 1.55rem)
}

.certification-program-heading h2>i {
    order: -1;
    flex: 0 0 auto;
    display: grid;
    width: 46px;
    height: 46px;
    color: #0064b8;
    background: #e8f4ff;
    border-radius: 13px;
    place-items: center;
    font-size: 1rem
}

.certification-program-method .certification-program-heading {
    margin-bottom: 28px
}

.certification-program-method .certification-program-heading h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.2rem, 1.8vw, 1.55rem)
}

.certification-program-method .certification-program-heading h2>i {
    color: #fff;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .18)
}

.certification-program-objective {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: start;
    gap: 11px;
    min-height: 76px;
    padding: 13px 15px;
    background: linear-gradient(135deg, #fff, #f5faff);
    border: 1px solid #d8e8f8;
    border-radius: 15px;
    box-shadow: none;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease
}

.certification-program-objective:hover {
    border-color: #8bc9ff;
    box-shadow: 0 16px 34px rgba(22, 62, 98, .11);
    transform: translateY(-3px)
}

.certification-program-objective .site-program-feature-icon {
    display: grid;
    flex: none;
    width: 38px;
    height: 38px;
    margin-top: 2px;
    color: #005db5;
    background: #e4f2ff;
    border: 0;
    border-radius: 10px;
    box-shadow: none;
    place-items: center;
    font-size: .9rem;
    transition: transform .22s ease
}

.certification-program-objective .site-program-feature-icon:after {
    display: none
}

.certification-program-objective:hover .site-program-feature-icon {
    color: #005db5;
    background: #e4f2ff;
    box-shadow: none;
    transform: translateY(-2px)
}

.certification-program-objective:nth-child(6n+1) .site-program-feature-icon {color:#7048b5;background:#f0eafd}.certification-program-objective:nth-child(6n+2) .site-program-feature-icon {color:#16804b;background:#e7f6ed}.certification-program-objective:nth-child(6n+3) .site-program-feature-icon {color:#bd7300;background:#fff3dc}.certification-program-objective:nth-child(6n+4) .site-program-feature-icon {color:#b04478;background:#fceaf3}.certification-program-objective:nth-child(6n+5) .site-program-feature-icon {color:#c34444;background:#fdeaea}.certification-program-objective:nth-child(6n) .site-program-feature-icon {color:#0f8f83;background:#e3f6f3}
.certification-program-objective:nth-child(n):hover .site-program-feature-icon {box-shadow:none}

.certification-program-objective p {
    margin: 0
}

.certification-program-audience-list {
    display: grid;
    gap: 9px
}

.certification-program-audience-item {
    grid-template-columns: 22px 1fr;
    gap: 7px;
    padding: 3px 0;
    border: 0
}

.certification-program-audience-item:first-child,
.certification-program-audience-item:last-child {
    padding: 3px 0
}

.certification-program-audience-item i {
    margin-top: 5px
}

.certification-program-module {
    min-height: 76px;
    padding: 13px 15px;
    grid-template-columns: 40px 1fr;
    gap: 11px
}

.certification-program-module i {
    width: 38px;
    height: 38px;
    border-radius: 10px
}

.certification-program-module:nth-child(6n+1) i {color:#7048b5;background:#f0eafd}.certification-program-module:nth-child(6n+2) i {color:#16804b;background:#e7f6ed}.certification-program-module:nth-child(6n+3) i {color:#bd7300;background:#fff3dc}.certification-program-module:nth-child(6n+4) i {color:#b04478;background:#fceaf3}.certification-program-module:nth-child(6n+5) i {color:#c34444;background:#fdeaea}.certification-program-module:nth-child(6n) i {color:#0f8f83;background:#e3f6f3}

.certification-program-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding-left: 0
}

.certification-program-steps:before {
    display: none
}

.certification-program-step {
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 8px;
    row-gap: 3px;
    min-height: 76px;
    padding: 13px 15px;
    background: linear-gradient(135deg, #fff, #f5faff);
    border: 1px solid #d8e8f8;
    border-radius: 15px;
    box-shadow: none;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease
}

.certification-program-step:last-child {
    border-bottom: 1px solid #d8e8f8
}

.certification-program-step-number {
    grid-row: 1;
    align-self: center;
    width: auto;
    height: auto;
    color: #005db5;
    background: transparent;
    border-radius: 0;
    font-size: .88rem;
    line-height: 1
}

.certification-program-step h3 {
    grid-column: 2;
    align-self: center;
    margin: 0
}

.certification-program-step p {
    grid-column: 1/-1;
    margin-top: 0
}

.certification-program-step:hover {
    border-color: #8bc9ff;
    box-shadow: 0 16px 34px rgba(22, 62, 98, .11);
    transform: translateY(-3px)
}

.certification-program-schedule-wrap {
    background: transparent
}

.site-schedule-grid.certification-program-schedule-grid {
    background: #fff
}

.certification-program-schedule-grid .site-schedule-card {
    flex: 0 0 311px;
    width: 311px;
    box-shadow: none
}

.certification-program-schedule-grid .site-schedule-card:hover {
    box-shadow: none
}

.certification-program-investment-price:after {
    display: none
}

.certification-program-investment-price {
    justify-content: flex-start
}

.certification-program-investment-price strong {
    margin: 0
}

.certification-program-investment {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    overflow: hidden;
    padding: 30px;
    background: #fff;
    border: 1px solid #d8e8f8;
    border-radius: 20px;
    box-shadow: 0 14px 36px rgba(22, 62, 98, .07)
}

.certification-program-investment-price {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: row;
    width: 100%;
    min-height: 0;
    padding: 4px 0 25px;
    background: transparent;
    border: 0;
    border-bottom: 1px dashed #cbddec
}

.certification-program-investment-price strong {
    max-width: none;
    color: #0067b8;
    background: linear-gradient(90deg, #004f9e, #1697df);
    -webkit-background-clip: text;
    background-clip: text;
    font-size: clamp(1.65rem, 2.8vw, 2.2rem);
    font-weight: 850;
    letter-spacing: -.035em;
    line-height: 1.2;
    text-align: left;
    -webkit-text-fill-color: transparent
}

.certification-program-investment-details {
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 24px 0 0
}

.certification-program-investment-details h3 {
    margin: 0 0 12px;
    color: var(--color-heading);
    font-size: 1rem;
    font-weight: 800
}

.certification-program-investment-details ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 24px
}

.certification-program-investment-details li {
    align-items: flex-start;
    gap: 10px;
    min-height: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    line-height: 1.55
}

.certification-program-investment-details li i {
    display: grid;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    color: #16804b;
    background: #e8f7ef;
    border-radius: 50%;
    place-items: center;
    font-size: .65rem
}

.certification-program-investment-note {
    margin-top: 16px;
    padding-left: 0;
    color: #718096
}

.certification-program-page #investasi {
    overflow: hidden;
    color: #fff;
    background-color: #022f65;
    background-image: radial-gradient(circle at 76% 18%, rgba(92, 173, 255, .34), transparent 30%), linear-gradient(122deg, rgba(0, 25, 67, .99), rgba(0, 63, 130, .97) 48%, rgba(0, 104, 190, .9)), url("/images/bg_blue.webp");
    background-position: center;
    background-size: cover;
    border-color: rgba(255, 255, 255, .14)
}

.certification-program-page #investasi .certification-program-heading h2 {
    color: #fff
}

.certification-program-page #investasi .certification-program-heading h2>i {
    color: #fff;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .18)
}

.certification-program-page #investasi .certification-program-investment {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .18);
    box-shadow: 0 18px 42px rgba(0, 22, 54, .2);
    backdrop-filter: blur(10px)
}

.certification-program-page #investasi .certification-program-investment-price {
    border-bottom-color: rgba(255, 255, 255, .22)
}

.certification-program-page #investasi .certification-program-investment-price strong {
    color: #fff;
    background: linear-gradient(90deg, #fff, #8bd2ff);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent
}

.certification-program-page #investasi .certification-program-investment-details h3 {
    color: #fff
}

.certification-program-page #investasi .certification-program-investment-details {
    background: transparent
}

.certification-program-page #investasi .certification-program-investment-details li {
    color: rgba(255, 255, 255, .84)
}

.certification-program-page #investasi .certification-program-investment-details li i {
    color: #7ff0b6;
    background: rgba(45, 196, 116, .16);
    border: 1px solid rgba(127, 240, 182, .28)
}

.certification-program-page #investasi .certification-program-investment-note {
    color: rgba(255, 255, 255, .68)
}

.certification-program-inhouse-cta h3 {
    font-weight: 800
}

.certification-program-inhouse-cta .site-final-cta-actions {
    justify-self: end
}

@media(max-width:991.98px) {
    .certification-program-hero-visual {
        width: 72vw;
        opacity: .7
    }
}

@media(max-width:767.98px) {
    .certification-program-tabs {
        border-radius: 18px
    }

    .certification-program-tab {
        padding: 7px 11px
    }

    .certification-program-heading h2>i {
        width: 40px;
        height: 40px
    }

    .certification-program-steps {
        grid-template-columns: 1fr
    }

    .certification-program-schedule-grid .site-schedule-card {
        flex-basis: 311px
    }

    .certification-program-inhouse-cta .site-final-cta-actions {
        grid-column: 1/-1;
        justify-self: stretch
    }

    .certification-program-inhouse-cta .site-final-cta-actions .btn {
        width: 100%
    }

    .certification-program-investment {
        grid-template-columns: 1fr
    }

    .certification-program-investment-price {
        min-height: 0;
        padding: 2px 0 22px
    }

    .certification-program-investment-details {
        padding: 22px 0 0
    }

    .certification-program-investment-details ul {
        grid-template-columns: 1fr
    }

    .certification-program-investment {
        padding: 24px 20px
    }

    .certification-program-hero-visual {
        right: calc((100vw - 100%) / -2);
        width: 100vw;
        opacity: .42;
        -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .55) 35%, #000 100%);
        mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, .55) 35%, #000 100%)
    }
}

.certification-program-page--cpof .certification-program-hero-visual {
    background-image: url("/images/cpof.webp")
}

.certification-program-page--cpsp .certification-program-hero-visual {
    background-image: url("/images/cpsp.webp")
}

.certification-program-page--ccms .certification-program-hero-visual {
    background-image: url("/images/ccms.webp")
}

.certification-program-page--cpst .certification-program-hero-visual {
    background-image: url("/images/cpst.webp")
}
