.nt-training-page {
    --nt-trn-text-primary: var(--mia-text-primary, #ffffff);
    --nt-trn-text-secondary: var(--mia-text-secondary, #b0b0b0);
    --nt-trn-text-muted: var(--mia-text-muted, #808080);
    background: var(--mia-bg-primary);
    color: var(--nt-trn-text-primary);
}

.nt-trn-wrap {
    width: min(1280px, calc(100% - clamp(2.5rem, 8vw, 6rem)));
    margin: 0 auto;
}
.nt-trn-text-link:focus-visible { outline: 2px solid var(--nt-link-color); outline-offset: 5px; }
.nt-trn-text-link { display: inline-block; padding: .65rem 0; margin-top: .5rem; color: var(--nt-link-color); font-weight: 600; text-underline-offset: .25em; }

.nt-trn-section {
    padding: clamp(72px, 9vw, 112px) 0;
    scroll-margin-top: 10rem;
}

.nt-trn-section--alt {
    background: var(--mia-bg-secondary);
}

.nt-trn-section--dark {
    background: #04121f;
    color: #ffffff;
}

.nt-trn-section-heading {
    max-width: 760px;
}

.nt-trn-section-heading > span,
.nt-trn-feature-copy > span,
.nt-trn-control-copy > span,
.nt-trn-closing .nt-trn-wrap > span {
    display: block;
    margin-bottom: 10px;
    color: var(--mia-blue);
    font-family: var(--mia-font-display);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.nt-trn-section-heading h2,
.nt-trn-feature-copy h2,
.nt-trn-closing h2 {
    margin: 0;
    color: var(--nt-trn-text-primary);
    font-family: var(--mia-font-display);
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -.035em;
    line-height: 1.12;
}

.nt-trn-section-heading p {
    margin: 16px 0 0;
    color: var(--nt-trn-text-secondary);
    font-size: 1.05rem;
    line-height: 1.72;
}

.nt-trn-intro {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr);
    gap: clamp(44px, 8vw, 88px);
    align-items: start;
}

.nt-trn-path {
    border-top: 1px solid var(--mia-border);
}

.nt-trn-path article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 18px;
    padding: 24px 0;
    border-bottom: 1px solid var(--mia-border);
}

.nt-trn-path article > span {
    color: var(--mia-blue);
    font-family: var(--mia-font-display);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .09em;
}

.nt-trn-path h3,
.nt-trn-capabilities h3,
.nt-trn-control h3 {
    margin: 0;
    color: var(--nt-trn-text-primary);
    font-family: var(--mia-font-display);
}

.nt-trn-path h3 {
    font-size: 1.15rem;
}

.nt-trn-path p {
    margin: 7px 0 0;
    color: var(--nt-trn-text-secondary);
    font-size: .94rem;
    line-height: 1.6;
}

.nt-trn-feature {
    display: grid;
    grid-template-columns: minmax(460px, 1.12fr) minmax(0, .88fr);
    gap: clamp(42px, 7vw, 78px);
    align-items: center;
}

.nt-trn-feature--reverse {
    grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
}

.nt-trn-feature--reverse .nt-trn-feature-media {
    order: 2;
}

.nt-trn-feature-media {
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(64, 196, 255, .22);
    border-radius: 18px;
    background: #061826;
}

.nt-trn-feature-media img {
    display: block;
    width: 100%;
    height: auto;
}

.nt-trn-feature-media figcaption,
.nt-trn-control figcaption {
    padding: 10px 14px;
    color: #92a7b5;
    font-size: .76rem;
    line-height: 1.4;
}

.nt-trn-feature-media--light {
    border-color: var(--mia-border);
    background: var(--mia-bg-secondary);
}

.nt-trn-feature-media--light figcaption {
    color: var(--nt-trn-text-muted);
}

.nt-trn-feature-copy > span {
    color: #40c4ff;
}

.nt-trn-feature-copy h2 {
    color: #ffffff;
}

.nt-trn-feature-copy p {
    margin: 17px 0 0;
    color: #b9c8d3;
    font-size: 1.02rem;
    line-height: 1.72;
}

.nt-trn-certification {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 24px;
    padding: 14px 16px;
    border: 1px solid rgba(64, 196, 255, .3);
    border-radius: 10px;
    background: rgba(255, 255, 255, .04);
}

.nt-trn-certification__logo {
    display: block;
    flex: 0 0 92px;
    width: 92px;
    height: auto;
}

.nt-trn-certification p {
    margin: 0;
    color: #b9c8d3;
    font-size: .84rem;
    line-height: 1.5;
}

.nt-trn-certification strong {
    color: #ffffff;
}

.nt-trn-feature-copy a {
    display: inline-flex;
    gap: 7px;
    margin-top: 24px;
    color: #40c4ff;
    font-weight: 700;
    text-decoration: none;
    transform-origin: left center;
    transition: transform 100ms ease-out;
}

.nt-trn-feature-copy a:hover,
.nt-trn-feature-copy a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.nt-trn-feature-copy a:active {
    transform: scale(.97);
}

.nt-trn-feature-copy--light > span,
.nt-trn-feature-copy--light a {
    color: var(--mia-blue);
}

.nt-trn-feature-copy--light h2 {
    color: var(--nt-trn-text-primary);
}

.nt-trn-feature-copy--light p {
    color: var(--nt-trn-text-secondary);
}

.nt-trn-capabilities {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 44px;
}

.nt-trn-capabilities article {
    padding: 28px 24px;
    border: 1px solid var(--mia-border);
    border-radius: 14px;
    background: var(--mia-bg-primary);
}

.nt-trn-capabilities h3 {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.35;
}

.nt-trn-capabilities p {
    margin: 11px 0 0;
    color: var(--nt-trn-text-secondary);
    font-size: .93rem;
    line-height: 1.62;
}

.nt-trn-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr);
    gap: clamp(36px, 7vw, 74px);
    align-items: center;
    margin-top: clamp(56px, 8vw, 88px);
    padding: clamp(30px, 5vw, 50px);
    border-radius: 18px;
    background: #061826;
    color: #ffffff;
}

.nt-trn-control h3 {
    color: #ffffff;
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    letter-spacing: -.03em;
    line-height: 1.18;
}

.nt-trn-control p {
    margin: 16px 0 0;
    color: #b9c8d3;
    font-size: 1rem;
    line-height: 1.7;
}

.nt-trn-control figure {
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(64, 196, 255, .22);
    border-radius: 14px;
    background: #04121f;
}

.nt-trn-control img {
    display: block;
    width: 100%;
    height: auto;
}

.nt-trn-access {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(460px, 1.15fr);
    gap: clamp(44px, 8vw, 88px);
    align-items: start;
}

.nt-trn-roles {
    display: grid;
    gap: 1px;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(0, 156, 221, .24);
    border-radius: 14px;
    background: rgba(0, 156, 221, .24);
}

.nt-trn-roles > div {
    padding: 23px 25px;
    background: var(--mia-bg-primary);
}

.nt-trn-roles dt {
    color: var(--nt-trn-text-primary);
    font-family: var(--mia-font-display);
    font-size: 1.05rem;
    font-weight: 700;
}

.nt-trn-roles dd {
    margin: 7px 0 0;
    color: var(--nt-trn-text-secondary);
    font-size: .92rem;
    line-height: 1.58;
}

.nt-trn-closing {
    padding: clamp(78px, 10vw, 116px) 0;
    background: radial-gradient(120% 120% at 20% 0, #0d2b40, #04121f);
    color: #ffffff;
    text-align: center;
}

.nt-trn-closing .nt-trn-wrap {
    max-width: 780px;
}

.nt-trn-closing h2 {
    color: #ffffff;
}

.nt-trn-closing p {
    margin: 17px auto 28px;
    color: #b9c8d3;
    font-size: 1.1rem;
    line-height: 1.65;
}

.nt-training-page .nt-btn-primary:active {
    transform: scale(.97);
    transition-duration: 100ms;
}

@media (max-width: 980px) {
    .nt-trn-intro,
    .nt-trn-feature,
    .nt-trn-feature--reverse,
    .nt-trn-control,
    .nt-trn-access {
        grid-template-columns: 1fr;
    }

    .nt-trn-feature--reverse .nt-trn-feature-media {
        order: 0;
    }

    .nt-trn-capabilities {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .nt-trn-wrap {
        width: calc(100% - 2.5rem);
    }

    .nt-trn-capabilities {
        grid-template-columns: 1fr;
    }

    .nt-trn-control {
        padding: 28px 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nt-trn-feature-copy a,
    .nt-training-page .nt-btn-primary {
        transition: none;
    }

    .nt-trn-feature-copy a:active,
    .nt-training-page .nt-btn-primary:active {
        transform: none;
        opacity: .76;
    }
}

/* Full media heroes retained from 3.5.98. */

.nt-trn-hero .nt-trn-wrap {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
}

.nt-trn-hero {
    position: relative;
    min-height: clamp(48rem, 84svh, 56rem);
    overflow: hidden;
    padding: clamp(106px, 13vw, 160px) 0 54px;
    background: #04121f;
    color: #ffffff;
}

.nt-trn-hero-media,
.nt-trn-hero-overlay {
    position: absolute;
    inset: 0;
}

.nt-trn-hero-media {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.nt-trn-hero-overlay {
    background:
        linear-gradient(90deg, rgba(4, 18, 31, .96) 0%, rgba(4, 18, 31, .77) 52%, rgba(4, 18, 31, .42) 100%),
        linear-gradient(0deg, rgba(4, 18, 31, .8) 0%, rgba(4, 18, 31, .08) 58%);
}

.nt-trn-hero > .nt-trn-wrap {
    position: relative;
    z-index: 1;
}

.nt-trn-badge {
    display: inline-block;
    color: rgba(190, 219, 233, .82);
    font-family: var(--mia-font-display);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.nt-trn-hero h1 {
    max-width: 880px;
    margin: 24px 0 20px;
    color: #ffffff;
    font-family: var(--mia-font-display);
    font-size: clamp(2.7rem, 6vw, 5rem);
    font-weight: 700;
    letter-spacing: -.055em;
    line-height: 1.03;
}

.nt-trn-hero h1 span {
    color: var(--mia-blue);
}

.nt-trn-hero-lead {
    max-width: 760px;
    margin: 0;
    color: #c2d0da;
    font-size: clamp(1.05rem, 1.6vw, 1.25rem);
    line-height: 1.7;
}

.nt-training-page .nt-hero-evidence--topics {
    list-style: none;
}

@media (max-width: 720px) {
    .nt-trn-hero .nt-trn-wrap {
        width: min(100% - 30px, 1200px);
    }

    .nt-trn-hero {
        min-height: 45rem;
        padding-top: 96px;
    }

	.nt-trn-hero-media {
		object-position: 61% center;
	}
}
