body.training-page {
    --training-ink: #12223a;
    --training-muted: #68778c;
    --training-blue: #536dfe;
    --training-cyan: #40d9dc;
    --training-border: #e6ebf2;
    color: var(--training-ink);
    background: #f5f7fb;
}

.training-dashboard {
    overflow: hidden;
}

.training-hero {
    position: relative;
    overflow: hidden;
    padding: 3.25rem 0 5.25rem;
    color: #fff;
    background:
        radial-gradient(ellipse at 82% 10%, rgba(83, 109, 254, .26), transparent 34rem),
        linear-gradient(118deg, #08152b 0%, #0c1b35 52%, #112854 100%);
}

@media (min-width: 992px) {
    .training-hero {
        padding-top: 7rem;
    }
}

.training-hero::before {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 46px 46px;
    content: "";
    mask-image: linear-gradient(90deg, transparent, #000 65%);
    pointer-events: none;
}

.training-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(330px, .8fr);
    align-items: center;
    gap: clamp(2.5rem, 7vw, 6.5rem);
}

.training-hero-orb {
    position: absolute;
    border: 1px solid rgba(123, 164, 255, .15);
    border-radius: 50%;
    pointer-events: none;
}

.training-hero-orb-one {
    top: 5rem;
    right: -9rem;
    width: 31rem;
    height: 31rem;
}

.training-hero-orb-two {
    top: 8rem;
    right: -6rem;
    width: 25rem;
    height: 25rem;
}

.training-eyebrow,
.training-section-kicker {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: 0 0 1rem;
    color: #92a7c7;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .16em;
}

.training-eyebrow-dot,
.training-featured-label span {
    width: .48rem;
    height: .48rem;
    border-radius: 50%;
    background: var(--training-cyan);
    box-shadow: 0 0 14px rgba(64, 217, 220, .8);
}

.training-hero-copy h1 {
    max-width: 720px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.8rem, 5.8vw, 5.25rem);
    font-weight: 700;
    letter-spacing: -.055em;
    line-height: 1.02;
}

.training-hero-copy h1 span {
    color: #79e3e3;
}

.training-hero-description {
    max-width: 540px;
    margin: 1.45rem 0 0;
    color: #b7c4d7;
    font-size: 1.05rem;
    line-height: 1.75;
}

.training-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
}

.training-primary-link,
.training-secondary-link {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 1.15rem;
    padding: .8rem 1.25rem;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: .92rem;
    font-weight: 700;
    transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.training-primary-link {
    color: #08172d;
    background: #79e3e3;
}

.training-primary-link:hover,
.training-primary-link:focus {
    color: #08172d;
    background: #a4eeee;
    transform: translateY(-2px);
}

.training-primary-link span {
    font-size: 1.2rem;
    line-height: 1;
}

.training-secondary-link {
    color: #e3eaf4;
    border-color: rgba(209, 222, 243, .25);
}

.training-secondary-link:hover,
.training-secondary-link:focus {
    color: #fff;
    border-color: rgba(209, 222, 243, .6);
    background: rgba(255, 255, 255, .06);
}

.training-hero-proof {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    margin-top: 2.8rem;
}

.training-hero-proof div {
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.training-hero-proof strong {
    color: #fff;
    font-size: 1.35rem;
    font-weight: 700;
}

.training-hero-proof span {
    color: #91a3bd;
    font-size: .72rem;
}

.training-hero-proof > i {
    width: 1px;
    height: 2rem;
    background: rgba(190, 207, 232, .24);
}

.training-featured {
    overflow: hidden;
    padding: .65rem;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 19px;
    background: rgba(255, 255, 255, .08);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .28);
    backdrop-filter: blur(12px);
    transform: rotate(1.25deg);
}

.training-featured-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1.55;
    border-radius: 13px;
    background: #132d5f;
}

.training-featured-image::after {
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(transparent, rgba(4, 12, 27, .7));
    content: "";
}

.training-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.training-featured-label {
    position: absolute;
    z-index: 1;
    right: .8rem;
    bottom: .8rem;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .48rem .7rem;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 99px;
    color: #fff;
    background: rgba(8, 21, 43, .76);
    font-size: .59rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.training-featured-label span {
    width: .4rem;
    height: .4rem;
}

.training-featured-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem .7rem .65rem;
}

.training-featured-category {
    color: #8fe4e5;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .13em;
}

.training-featured-content h2 {
    margin: .35rem 0;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
}

.training-featured-content p {
    margin: 0;
    color: #b8c5d8;
    font-size: .82rem;
    line-height: 1.55;
}

.training-featured-content > a {
    display: grid;
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    place-items: center;
    border-radius: 50%;
    color: #07162b;
    background: #79e3e3;
    font-size: 1.1rem;
}

.training-featured-content > a:hover {
    color: #07162b;
    background: #fff;
}

.training-hero-bottom {
    position: absolute;
    right: 0;
    bottom: 1.4rem;
    display: flex;
    gap: .35rem;
    padding-right: max(calc((100vw - 1140px) / 2), 1.5rem);
}

.training-hero-bottom span {
    width: 1.7rem;
    height: .2rem;
    border-radius: 2px;
    background: rgba(255, 255, 255, .2);
}

.training-hero-bottom span:first-child {
    width: 3rem;
    background: var(--training-cyan);
}

.training-catalog {
    padding: 5rem 0 5.5rem;
    background: #f5f7fb;
}

.training-catalog-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.training-catalog-heading .training-section-kicker,
.training-contact-card .training-section-kicker {
    margin-bottom: .65rem;
    color: #6476a1;
}

.training-catalog-heading h2 {
    margin: 0;
    color: var(--training-ink);
    font-size: clamp(1.9rem, 3.5vw, 2.7rem);
    font-weight: 700;
    letter-spacing: -.045em;
}

.training-catalog-intro {
    margin: .65rem 0 0;
    color: var(--training-muted);
    font-size: .98rem;
}

.training-catalog-count {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .7rem 1rem;
    border: 1px solid var(--training-border);
    border-radius: 12px;
    background: #fff;
}

.training-catalog-count strong {
    color: var(--training-blue);
    font-size: 1.75rem;
    line-height: 1;
}

.training-catalog-count span {
    color: var(--training-muted);
    font-size: .72rem;
    line-height: 1.35;
}

.training-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 2rem 0 1.1rem;
    padding: .8rem;
    border: 1px solid var(--training-border);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 26px rgba(25, 45, 80, .04);
}

.training-filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.training-filter {
    min-height: 39px;
    padding: .55rem .85rem;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #5f6e83;
    background: transparent;
    font-size: .79rem;
    font-weight: 600;
    transition: color 160ms ease, background 160ms ease, border-color 160ms ease;
}

.training-filter:hover,
.training-filter:focus-visible {
    color: var(--training-blue);
    background: #f3f5ff;
}

.training-filter.is-active {
    color: #fff;
    background: #172b4d;
}

.training-filter span {
    margin-left: .35rem;
    color: #b7c5df;
    font-size: .68rem;
}

.training-search {
    display: flex;
    min-width: 230px;
    min-height: 42px;
    align-items: center;
    gap: .65rem;
    margin: 0;
    padding: 0 .75rem;
    border: 1px solid var(--training-border);
    border-radius: 9px;
    color: #8997aa;
    background: #f9fafc;
}

.training-search:focus-within {
    border-color: #9daafa;
    box-shadow: 0 0 0 3px rgba(83, 109, 254, .1);
}

.training-search i {
    font-size: .78rem;
}

.training-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    color: var(--training-ink);
    background: transparent;
    font-size: .8rem;
}

.training-search input::placeholder {
    color: #9aa6b5;
}

.training-search kbd {
    min-width: 20px;
    padding: .12rem .3rem;
    border: 1px solid #dfe5ec;
    border-radius: 4px;
    color: #8793a4;
    background: #fff;
    font-size: .65rem;
    text-align: center;
}

.training-results-status {
    margin: 0 0 1rem;
    color: #8491a4;
    font-size: .76rem;
}

.training-course-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.3rem;
}

.training-course-card {
    overflow: hidden;
    min-width: 0;
    border: 1px solid var(--training-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(24, 42, 74, .045);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.training-course-card:hover,
.training-course-card:focus-within {
    transform: translateY(-4px);
    border-color: #cbd4ff;
    box-shadow: 0 16px 36px rgba(24, 42, 74, .12);
}

.training-course-card[hidden] {
    display: none;
}

.training-course-image {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 1.78;
    background: #e9edf4;
}

.training-course-image::after {
    position: absolute;
    inset: 50% 0 0;
    background: linear-gradient(transparent, rgba(10, 22, 42, .3));
    content: "";
    pointer-events: none;
}

.training-course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 320ms ease;
}

.training-course-card:hover .training-course-image img,
.training-course-card:focus-within .training-course-image img {
    transform: scale(1.045);
}

.training-course-index {
    position: absolute;
    z-index: 1;
    top: .8rem;
    left: .8rem;
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 9px;
    color: #fff;
    background: rgba(9, 23, 45, .6);
    font-size: .68rem;
    font-weight: 700;
    backdrop-filter: blur(6px);
}

.training-course-arrow {
    position: absolute;
    z-index: 1;
    right: .8rem;
    bottom: .8rem;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    color: #152745;
    background: #fff;
    font-size: 1rem;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 180ms ease, transform 180ms ease;
}

.training-course-card:hover .training-course-arrow,
.training-course-card:focus-within .training-course-arrow {
    opacity: 1;
    transform: translateY(0);
}

.training-course-body {
    display: flex;
    min-height: 222px;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.15rem 1.2rem 1.1rem;
}

.training-course-category {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: .22rem .5rem;
    border-radius: 5px;
    color: #596cce;
    background: #eef0ff;
    font-size: .59rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.training-course-card[data-category="business"] .training-course-category {
    color: #9a6a21;
    background: #fff5e3;
}

.training-course-card[data-category="digital"] .training-course-category {
    color: #22816f;
    background: #e7f7f1;
}

.training-course-card[data-category="development"] .training-course-category {
    color: #a85270;
    background: #ffedf3;
}

.training-course-body h3 {
    margin: .7rem 0 .4rem;
    color: var(--training-ink);
    font-size: 1.08rem;
    font-weight: 700;
    letter-spacing: -.02em;
}

.training-course-body p {
    margin: 0;
    color: var(--training-muted);
    font-size: .83rem;
    line-height: 1.6;
}

.training-course-link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: auto;
    padding-top: 1rem;
    color: #435de0;
    font-size: .8rem;
    font-weight: 700;
}

.training-course-link span {
    transition: transform 160ms ease;
}

.training-course-link:hover {
    color: #263fca;
}

.training-course-link:hover span {
    transform: translateX(3px);
}

.training-empty-state {
    padding: 4rem 1rem;
    color: var(--training-muted);
    text-align: center;
}

.training-empty-state[hidden] {
    display: none;
}

.training-empty-state > span {
    display: block;
    color: #8a9afa;
    font-size: 3rem;
}

.training-empty-state h3 {
    margin: .5rem 0;
    color: var(--training-ink);
    font-size: 1.3rem;
}

.training-empty-state p {
    margin-bottom: 1rem;
}

.training-empty-state button {
    padding: .65rem 1rem;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: #172b4d;
    font-weight: 600;
}

.training-contact-section {
    padding: 0 0 5rem;
    background: #f5f7fb;
}

.training-contact-card {
    display: flex;
    align-items: center;
    gap: 1.3rem;
    padding: 2rem 2.2rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 18px;
    color: #fff;
    background:
        radial-gradient(circle at 85% 20%, rgba(83, 109, 254, .32), transparent 20rem),
        #101f3a;
    box-shadow: 0 18px 42px rgba(17, 33, 60, .12);
}

.training-contact-mark {
    display: grid;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    place-items: center;
    border: 1px solid rgba(121, 227, 227, .35);
    border-radius: 15px;
    color: #79e3e3;
    background: rgba(121, 227, 227, .1);
    font-size: 1.25rem;
}

.training-contact-card > div:nth-child(2) {
    flex: 1;
}

.training-contact-card .training-section-kicker {
    color: #87dcdf;
    font-size: .64rem;
}

.training-contact-card h2 {
    margin: 0 0 .35rem;
    color: #fff;
    font-size: 1.55rem;
    font-weight: 700;
}

.training-contact-card > div:nth-child(2) > p:last-child {
    margin: 0;
    color: #bcc8d9;
    font-size: .88rem;
}

.training-contact-card .training-primary-link {
    flex: 0 0 auto;
}

@media (max-width: 991px) {
    .training-hero-inner {
        grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr);
        gap: 2rem;
    }

    .training-course-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    .training-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .training-search {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .training-hero {
        padding: 3.5rem 0 4.5rem;
    }

    .training-hero-inner {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .training-hero-copy h1 {
        font-size: clamp(2.7rem, 10vw, 4.2rem);
    }

    .training-hero-description {
        font-size: .97rem;
    }

    .training-featured {
        max-width: 520px;
        margin: 0 auto;
        transform: none;
    }

    .training-hero-proof {
        gap: 1rem;
        margin-top: 2.2rem;
    }

    .training-hero-proof span {
        font-size: .65rem;
    }

    .training-catalog {
        padding: 3.7rem 0 4rem;
    }

    .training-catalog-heading {
        align-items: flex-start;
    }

    .training-catalog-count {
        flex: 0 0 auto;
    }

    .training-course-body {
        min-height: 230px;
        padding: 1rem;
    }

    .training-contact-card {
        align-items: flex-start;
        flex-wrap: wrap;
        padding: 1.4rem;
    }

    .training-contact-card > div:nth-child(2) {
        flex-basis: calc(100% - 75px);
    }

    .training-contact-card .training-primary-link {
        margin-left: 4.25rem;
    }
}

@media (max-width: 575px) {
    .training-hero-inner,
    .training-catalog > .container,
    .training-contact-section > .container {
        padding-right: 1.1rem;
        padding-left: 1.1rem;
    }

    .training-hero-copy h1 {
        font-size: clamp(2.55rem, 11vw, 3.5rem);
    }

    .training-hero-proof {
        justify-content: space-between;
        gap: .55rem;
    }

    .training-hero-proof > i {
        height: 1.7rem;
    }

    .training-hero-proof strong {
        font-size: 1.2rem;
    }

    .training-featured-content h2 {
        font-size: 1.05rem;
    }

    .training-featured-content p {
        font-size: .75rem;
    }

    .training-catalog-heading {
        gap: .75rem;
    }

    .training-catalog-heading h2 {
        font-size: 1.75rem;
    }

    .training-catalog-intro {
        font-size: .87rem;
    }

    .training-catalog-count {
        gap: .45rem;
        padding: .55rem;
    }

    .training-catalog-count strong {
        font-size: 1.45rem;
    }

    .training-catalog-count span {
        font-size: .62rem;
    }

    .training-toolbar {
        padding: .65rem;
    }

    .training-filter-list {
        gap: .2rem;
    }

    .training-filter {
        min-height: 36px;
        padding: .45rem .6rem;
        font-size: .72rem;
    }

    .training-course-grid {
        grid-template-columns: 1fr;
        gap: .9rem;
    }

    .training-course-image {
        aspect-ratio: 1.9;
    }

    .training-course-body {
        min-height: 0;
        padding: 1rem 1.05rem;
    }

    .training-course-link {
        margin-top: .65rem;
        padding-top: .35rem;
    }

    .training-contact-section {
        padding-bottom: 3.5rem;
    }

    .training-contact-card {
        gap: .85rem;
        padding: 1.2rem;
    }

    .training-contact-mark {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
    }

    .training-contact-card > div:nth-child(2) {
        flex-basis: calc(100% - 60px);
    }

    .training-contact-card h2 {
        font-size: 1.25rem;
    }

    .training-contact-card > div:nth-child(2) > p:last-child {
        font-size: .8rem;
    }

    .training-contact-card .training-primary-link {
        margin-left: 3.7rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .training-dashboard *,
    .training-dashboard *::before,
    .training-dashboard *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
