.academy-hero .sub-hero__body {
    padding-block: 65px;
}

.site-nav__link[aria-current='page'] {
    text-decoration: underline;
    text-underline-offset: 5px;
}

.academy-hero .sub-hero__eyebrow {
    font-weight: 400;
}

.academy-section {
    padding-block: clamp(70px, 6.25vw, 120px);
}

.academy-heading {
    margin-bottom: 36px;
}

.academy-heading h2 {
    margin-top: 20px;
}

.academy-heading > p:last-child:not(.eyebrow) {
    font-size: clamp(13px, 0.833333vw, 16px);
    margin-top: 20px;
}

.academy-introduction {
    display: grid;
    grid-template-columns: 446fr 854fr;
    background: linear-gradient(120deg, #292929, #050505);
    color: #fff;
}

.academy-director-photo {
    aspect-ratio: 446 / 604;
    background: #dedede url('../images/academy/academy-reference.png') 21.031208% 44.657403% / 430.493274%
        auto no-repeat;
}

.academy-introduction__copy {
    padding: clamp(30px, 2.5vw, 48px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.academy-introduction__eyebrow {
    display: flex;
    align-items: center;
    gap: 20px;
    font: 12px / 1.8 monospace;
    letter-spacing: 2px;
    color: #ddd;
}

.academy-introduction__eyebrow span {
    width: 30px;
    height: 1px;
    background: #aaa;
}

.academy-introduction__copy h3 {
    font-size: clamp(28px, 2.083333vw, 40px);
    letter-spacing: -1.8px;
    margin-top: 24px;
    line-height: 1.35;
}

.academy-introduction__text {
    font-size: clamp(14px, 0.9375vw, 18px);
    line-height: 1.45;
    color: #ddd;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.academy-introduction__text p {
    margin-top: 24px;
}

.academy-signature {
    display: flex;
    align-items: baseline;
    gap: 18px;
    border-top: 1px solid #ffffff1a;
    padding-top: 28px;
    margin-top: auto;
}

.academy-signature span {
    color: #aaa;
    font-size: 14px;
}

.academy-signature strong {
    font-size: 22px;
    letter-spacing: 3px;
}

.academy-introduction__text + .academy-signature {
    margin-top: 56px;
}

.trainers-notice {
    color: #777;
    font-size: 15px;
    line-height: 1.8;
    padding-block: 32px;
}

.academy-trainer {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.academy-trainer__photo {
    min-width: 0;
    aspect-ratio: 644 / 427;
    background-color: #ddd;
}

.academy-trainer__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.academy-trainer__profile {
    min-width: 0;
    min-height: 0;
    height: clamp(300px, 22.291667vw, 428px);
    border-top: 2px solid #333;
    background: #fff;
    padding: 38px 40px 32px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 22px;
}

.academy-trainer__preview {
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #ddd #fff;
    padding-right: 12px;
}

.academy-trainer__preview:focus-visible {
    outline-offset: -2px;
}

.academy-trainer__preview .trainer-bio {
    font-size: 14px;
    line-height: 2.05;
}

.academy-trainer__preview .trainer-bio section {
    margin-top: 20px;
}

.academy-trainer__preview .trainer-bio h4 {
    font-size: 15px;
}

.trainer-more {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    padding: 5px 0;
    font-weight: 600;
}

.trainer-more:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.trainer-more.is-read {
    visibility: hidden;
    pointer-events: none;
}

.academy-trainer-tabs {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 32px;
    margin-top: 70px;
    overflow-x: auto;
    padding-bottom: 5px;
}

.academy-trainer-tab {
    min-width: 0;
    text-align: left;
    padding: 0;
    background: transparent;
    font-size: 16px;
    font-weight: 700;
}

.academy-trainer-tab__photo {
    display: block;
    width: 100%;
    aspect-ratio: 190 / 127;
    background-color: #d9d9d9;
    margin-bottom: 16px;
    overflow: hidden;
}

.academy-trainer-tab__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.academy-trainer-tab:disabled {
    cursor: default;
    color: #444;
}

.academy-trainer-tab:enabled:hover .academy-trainer-tab__photo {
    filter: brightness(0.93);
}

.academy-trainer-tab[aria-pressed='true'] > span:last-child {
    text-decoration: underline;
    text-underline-offset: 5px;
}

.academy-trainer-tab:focus-visible {
    outline-offset: -2px;
}

.academy-trainer-progress {
    margin-top: 60px;
    background: #ddd;
    height: 1px;
}

.academy-trainer-progress span {
    display: block;
    width: 29.5%;
    height: 2px;
    background: #222;
    transition: transform 0.2s;
}

@media (max-width: 1100px) {
    .academy-introduction {
        grid-template-columns: 0.85fr 1.15fr;
    }

    .academy-director-photo {
        align-self: start;
    }

    .academy-introduction__copy {
        padding: 30px;
    }

    .academy-introduction__copy h3 {
        font-size: 28px;
    }

    .academy-introduction__text {
        font-size: 14px;
        line-height: 1.65;
    }

    .academy-introduction__text p {
        margin-top: 20px;
    }

    .academy-introduction__text + .academy-signature {
        margin-top: 28px;
    }

    .academy-signature {
        padding-top: 20px;
        flex-wrap: wrap;
        gap: 10px;
    }

    .academy-desktop-break {
        display: none;
    }

    .academy-trainer__profile {
        padding: 22px;
        height: 320px;
    }

    .academy-trainer__photo {
        aspect-ratio: auto;
    }

    .academy-trainer-tabs {
        gap: 20px;
        margin-top: 42px;
    }

    .academy-trainer-progress {
        margin-top: 40px;
    }
}

@media (max-width: 760px) {
    .academy-hero > .sub-container {
        min-height: 350px;
    }

    .academy-hero .sub-hero__body {
        padding-block: 60px;
    }

    .academy-section {
        padding-block: 65px;
    }

    .academy-heading {
        margin-bottom: 28px;
    }

    .academy-heading h2 {
        font-size: 28px;
        line-height: 1.45;
    }

    .academy-heading .eyebrow {
        font-size: 13px;
        letter-spacing: 1.7px;
    }

    .academy-introduction,
    .academy-trainer {
        grid-template-columns: 1fr;
    }

    .academy-director-photo {
        width: 100%;
    }

    .academy-introduction__copy {
        padding: 32px 24px;
    }

    .academy-introduction__copy h3 {
        margin-top: 20px;
    }

    .academy-signature span {
        font-size: 12px;
    }

    .academy-signature strong {
        font-size: 20px;
    }

    .academy-trainer__photo {
        aspect-ratio: 644 / 427;
    }

    .academy-trainer__profile {
        height: 350px;
        padding: 25px 22px 20px;
    }

    .academy-trainer-tabs {
        display: flex;
        gap: 16px;
        margin-top: 32px;
        scroll-snap-type: x proximity;
    }

    .academy-trainer-tab {
        flex: 0 0 calc((100% - 32px) / 3);
        font-size: 13px;
        scroll-snap-align: start;
    }

    .academy-trainer-tab__photo {
        margin-bottom: 10px;
    }

    .academy-trainer-progress {
        margin-top: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .academy-trainer-progress span {
        transition: none;
    }
}
