.msi-home {
    overflow: clip;
}

.msi-home > * {
    min-width: 0;
}

@media (min-width: 52.0625rem) {
    .msi-home .courses__layout,
    .msi-home .services__layout,
    .msi-home .certificates__inner {
        width: 100%;
        max-width: var(--page-max-width);
        margin-inline: auto;
    }
}

@media (min-width: 68.0625rem) {
    .msi-home .courses__title,
    .msi-home .services__title {
        margin-left: var(--page-content-offset);
    }

    .msi-home .certificates__heading {
        padding-left: var(--page-content-offset);
    }
}

@media (min-width: 52.0625rem) and (max-width: 68rem) {
    .msi-home .hero__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.5rem;
    }

    .msi-home .hero__content {
        max-width: 42rem;
        margin-left: 0;
    }

    .msi-home .hero__content h1,
    .msi-home .hero__title,
    .msi-home .hero__content .hero__title--long {
        width: auto;
        margin-top: 2rem;
        font-size: clamp(3.25rem, 7.5vw, 4.5rem);
        line-height: .96;
    }

    .msi-home .hero__image img {
        width: 100%;
        max-height: 35rem;
        object-fit: cover;
    }

    .msi-home .courses__layout,
    .msi-home .services__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
    }

    .msi-home .courses__aside,
    .msi-home .services__aside {
        order: -1;
    }

    .msi-home .courses__aside-image,
    .msi-home .services__aside-image {
        width: 100%;
        max-height: 28rem;
        object-fit: cover;
    }

    .msi-home .certificates__heading {
        padding-left: var(--page-content-offset);
    }

    .msi-home .work-scheme__layout {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
    }

    .msi-home .work-scheme__intro {
        padding: 3rem 0 2rem;
        border-right: 0;
        border-bottom: var(--border-2);
    }

    .msi-home .work-scheme__description {
        max-width: 42rem;
    }

    .msi-home .work-scheme__steps {
        padding: 2.5rem 0 3rem;
    }
}

@media (max-width: 52rem) {
    .msi-home > .page-container {
        width: 100%;
        max-width: none;
        padding-inline: 0;
    }

    .msi-home .hero__inner,
    .msi-home .msi-numbers,
    .msi-home .courses__inner,
    .msi-home .services__inner,
    .msi-home .advantages__inner,
    .msi-home .work-scheme__inner,
    .msi-home .certificates__inner,
    .msi-home .reviews__inner {
        width: 100%;
        padding-inline: max(var(--layout-gutter), var(--safe-area-left));
        padding-right: max(var(--layout-gutter), var(--safe-area-right));
    }

    .msi-home .content-offset {
        margin-inline: 0;
    }

    .msi-home .hero__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.5rem;
    }

    .msi-home .hero__content {
        max-width: 42rem;
        margin-left: 0;
    }

    .msi-home .hero__content h1,
    .msi-home .hero__title {
        margin-top: 2rem;
        width: auto;
        font-size: clamp(3.25rem, 9vw, 4.5rem);
        line-height: .96;
    }

    .msi-home .hero__image img {
        width: 100%;
        max-height: 35rem;
        object-fit: cover;
    }

    .msi-home .numbers__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .msi-home .numbers__item {
        padding: 1.5rem 1rem;
    }

    .msi-home .courses__layout,
    .msi-home .services__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
    }

    .msi-home .courses__aside,
    .msi-home .services__aside {
        order: -1;
    }

    .msi-home .courses__aside-image,
    .msi-home .services__aside-image {
        width: 100%;
        max-height: 28rem;
        object-fit: cover;
    }

    .msi-home .advantages__grid,
    .msi-home .work-scheme__layout {
        margin-inline: 0;
    }

    .msi-home .advantages__grid {
        padding-block: 1rem 2rem;
    }

    .msi-home .work-scheme__layout {
        grid-template-columns: minmax(0, 1fr);
        min-height: 0;
        padding: 0;
    }

    .msi-home .work-scheme__intro {
        padding: 2rem 0 1.5rem;
        border-right: 0;
        border-bottom: var(--border-2);
    }

    .msi-home .work-scheme__steps {
        padding: 2rem 0;
    }

    .msi-home .certificates__inner {
        display: block;
        border-bottom: 0;
    }

    .msi-home .certificates__heading,
    .msi-home .certificates__content {
        padding-left: 0;
        border-right: 0;
    }

    .msi-home .certificates__topline {
        display: none;
    }

    .msi-home .certificates__copy {
        padding-right: 0;
    }

    .msi-home .certificates__dots {
        gap: 0;
    }

    .msi-home .certificates__dot {
        position: relative;
        width: var(--control-min-size);
        height: var(--control-min-size);
        border: 0;
        background: transparent;
    }

    .msi-home .certificates__dot::before {
        position: absolute;
        top: 50%;
        left: 50%;
        width: .5rem;
        height: .5rem;
        border: 1px solid var(--color-white);
        border-radius: 50%;
        content: "";
        transform: translate(-50%, -50%);
    }

    .msi-home .certificates__dot--active::before {
        background: var(--color-white);
    }

    .msi-home .certificates__dot:focus-visible {
        outline: 2px solid var(--color-white);
        outline-offset: -6px;
    }

    .msi-home .reviews__track {
        grid-auto-columns: minmax(26rem, 75vw);
    }
}

@media (max-width: 32rem) {
    .msi-home .hero__inner,
    .msi-home .msi-numbers,
    .msi-home .courses__inner,
    .msi-home .services__inner,
    .msi-home .advantages__inner,
    .msi-home .work-scheme__inner,
    .msi-home .certificates__inner,
    .msi-home .reviews__inner {
        padding-inline: max(var(--layout-gutter), var(--safe-area-left));
        padding-right: max(var(--layout-gutter), var(--safe-area-right));
    }

    .msi-home .hero {
        padding: 3.3125rem 0 0;
    }

    .msi-home .hero__inner {
        display: block;
    }

    .msi-home .hero__content h1,
    .msi-home .hero__title {
        width: 20.382rem;
        max-width: 100%;
        min-height: 7.875rem;
        margin: 0;
        color: var(--color-title);
        font-size: 2.25rem;
        line-height: 2.2rem;
        text-transform: uppercase;
    }

    .msi-home .hero__content .hero__title--long {
        font-size: 2.25rem;
        line-height: 2.2rem;
    }

    .msi-home .hero__title-line {
        display: block;
        max-width: 100%;
    }

    .msi-home .hero__title-accent {
        display: inline;
    }

    .msi-home .hero__text {
        width: 100%;
        margin-top: .9375rem;
        font-size: .875rem;
        line-height: 1.14;
    }

    .msi-home .hero__text p {
        margin: 0;
    }

    .msi-home .hero__image {
        margin-top: 3.875rem;
    }

    .msi-home .hero__image img {
        width: 100%;
        height: 20.441rem;
        border: 1px solid var(--color-text);
        object-fit: cover;
    }

    .msi-home .msi-numbers {
        padding-top: 2.25rem;
    }

    .msi-home .numbers__title h2 {
        margin: 0 0 .9375rem;
        color: var(--color-title);
        font-size: 2.75rem;
        line-height: 3rem;
        text-transform: uppercase;
    }

    .msi-home .numbers__grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: .9375rem;
    }

    .msi-home .numbers__item {
        min-height: 12.5rem;
        padding: 1.15625rem 1rem;
        border: 1px solid var(--color-title);
    }

    .msi-home .numbers--title {
        min-height: 3.625rem;
        margin: 0 0 .6875rem;
        line-height: 1;
    }

    .msi-home .numbers--value,
    .msi-home .numbers--text,
    .msi-home .msi-numbers .numbers--title:first-child span {
        font-family: var(--font-display);
        font-size: 1.875rem;
        line-height: 1;
        text-transform: uppercase;
    }

    .msi-home .numbers--value {
        color: var(--color-accent);
    }

    .msi-home .numbers--text {
        color: var(--color-marked);
    }

    .msi-home .numbers--description {
        margin: 0;
        font-size: .875rem;
        line-height: 1.43;
    }

    .msi-home .courses {
        padding: 2.0625rem 0 2rem;
    }

    .msi-home .courses__title,
    .msi-home .services__title,
    .msi-home .advantages__title,
    .msi-home .work-scheme__title,
    .msi-home .certificates__title,
    .msi-home .reviews__title {
        margin: 0;
        color: var(--color-title);
        font-family: var(--font-display);
        font-size: 2.75rem;
        line-height: 3rem;
        text-transform: uppercase;
    }

    .msi-home .courses__title {
        font-size: 2.375rem;
        line-height: 2.625rem;
    }

    .msi-home .courses__layout {
        display: flex;
        flex-direction: column;
        gap: 0;
        margin-top: 2.125rem;
    }

    .msi-home .courses__list {
        order: 1;
    }

    .msi-home .courses__aside {
        order: 2;
        margin-top: 1rem;
    }

    .msi-home .courses__item,
    .msi-home .courses__item--reverse {
        display: flex;
        min-height: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: .875rem 0 1rem;
        border-top: 1px solid var(--color-title);
    }

    .msi-home .courses__item:last-child {
        border-bottom: 1px solid var(--color-title);
    }

    .msi-home .courses__item:nth-child(odd) .courses__media {
        order: 1 !important;
        align-self: flex-start;
    }

    .msi-home .courses__item:nth-child(odd) .courses__content {
        order: 2 !important;
    }

    .msi-home .courses__item:nth-child(even) .courses__content {
        order: 1 !important;
    }

    .msi-home .courses__item:nth-child(even) .courses__media {
        order: 2 !important;
        align-self: flex-end;
        margin-top: .875rem;
    }

    .msi-home .courses__media {
        width: 14.375rem;
        max-width: 67%;
        margin-bottom: .875rem;
    }

    .msi-home .courses__image {
        width: 100%;
        height: 8.25rem;
        border-width: .5px;
        object-fit: cover;
    }

    .msi-home .courses__heading {
        margin: 0 0 .5rem;
        font-size: 1rem;
        line-height: 1.2;
    }

    .msi-home .courses__text {
        font-size: .875rem;
        line-height: 1.36;
    }

    .msi-home .courses__aside-image {
        width: 100%;
        height: 34.345rem;
        max-height: none;
        object-fit: cover;
    }

    .msi-home .services {
        padding: 0 0 2rem;
    }

    .msi-home .services__layout {
        display: flex;
        flex-direction: column;
        gap: 0;
        margin-top: 1.0625rem;
    }

    .msi-home .services__aside {
        order: 1;
        width: 100%;
    }

    .msi-home .services__aside-image {
        width: 100%;
        height: 11.598rem;
        max-height: none;
        border: 1px solid var(--color-text);
        object-fit: cover;
    }

    .msi-home .services__list {
        order: 2;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-bottom: 1px solid var(--color-title);
        border-left: 1px solid var(--color-title);
    }

    .msi-home .services__item,
    .msi-home .services__item--reverse {
        display: block;
        min-height: 12.25rem;
        padding: 1rem .5rem;
        border-top: 1px solid var(--color-title);
        border-right: 1px solid var(--color-title);
    }

    .msi-home .services__media {
        display: none;
    }

    .msi-home .services__image {
        width: 100%;
        height: 12.0625rem;
        border: 0;
        object-fit: cover;
    }

    .msi-home .services__media + .services__content {
        margin-top: 0;
    }

    .msi-home .services__heading {
        margin: 0 0 .625rem;
        font-size: .875rem;
        line-height: 1.28;
    }

    .msi-home .services__text {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 6;
        font-size: .875rem;
        line-height: 1.36;
    }

    .msi-home .advantages {
        padding-top: .6875rem;
    }

    .msi-home .advantages__grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: .6875rem;
        padding: 1.9375rem 0 0;
    }

    .msi-home .advantages__card,
    .msi-home .advantages__card:nth-child(-n + 2),
    .msi-home .advantages__card:nth-last-child(-n + 2) {
        min-height: 10.365rem;
        padding: 1.875rem 1rem;
        cursor: default;
    }

    .msi-home .advantages__heading {
        margin: 0 0 .75rem;
        padding-right: 2rem;
        font-family: var(--font-body);
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.2;
    }

    .msi-home .advantages__card--linked .advantages__heading::after {
        width: 1rem;
        height: 1rem;
        top: 0;
        right: 0;
        background: url("../../images/icons/home-advantage-arrow.svg") center / .75rem .75rem no-repeat;
        font-size: 0;
        transform: rotate(-90deg);
    }

    .msi-home .advantages__card--linked:hover .advantages__heading::after {
        transform: rotate(-90deg) translate(0, 0);
    }

    .msi-home .advantages__text {
        font-size: .875rem;
        line-height: 1.36;
    }

    .msi-home .work-scheme {
        padding-top: 2.3rem;
    }

    .msi-home .work-scheme__intro {
        padding: 0 0 1.1875rem;
        border-bottom-width: 1px;
    }

    .msi-home .work-scheme__title {
        margin-bottom: .6875rem;
    }

    .msi-home .work-scheme__description {
        max-width: 20.4375rem;
        font-size: .875rem;
        line-height: 1.14;
    }

    .msi-home .work-scheme__steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.25rem .5rem;
        padding: 1.125rem 0 1.875rem;
    }

    .msi-home .work-scheme__steps::after {
        height: 1px;
    }

    .msi-home .work-scheme__icon {
        width: 6.25rem;
        height: 6.25rem;
        overflow: hidden;
        border-radius: 50%;
    }

    .msi-home .work-scheme__image {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .msi-home .work-scheme__heading {
        margin-top: .9375rem;
        font-family: var(--font-body);
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.3;
        text-transform: uppercase;
    }

    .msi-home .work-scheme__text {
        margin: .25rem 0 0;
        font-size: .875rem;
        line-height: 1.36;
    }

    .msi-home .msi-request-form {
        width: 100%;
        min-height: 42.75rem;
        margin: 2.875rem auto 1.5625rem;
        padding: 2.5rem 0 2.875rem;
    }

    .msi-home .msi-request-form .page-container {
        padding-inline: var(--layout-gutter);
    }

    .msi-home .msi-request-form__title {
        margin: 0 0 1.6875rem;
        font-size: 1.625rem;
        line-height: 1;
    }

    .msi-home .msi-request-form__description {
        margin-bottom: 1.6875rem;
        font-size: .875rem;
        line-height: 1.36;
    }

    .msi-home .msi-request-form__row {
        gap: 1.875rem;
    }

    .msi-home .msi-request-form__control input:not([type="radio"]):not([type="checkbox"]),
    .msi-home .msi-request-form__control select,
    .msi-home .msi-request-form__control textarea {
        height: 2.5rem;
    }

    .msi-home .msi-request-form__control input::placeholder,
    .msi-home .msi-request-form__control textarea::placeholder {
        font-family: var(--font-body);
        font-size: 1rem;
        font-weight: 700;
    }

    .msi-home .msi-request-form__submit {
        min-height: 3.125rem;
        margin-top: .25rem;
        font-size: 1rem;
    }

    .msi-home .msi-request-form__policy {
        margin-top: 1.5625rem;
        font-size: .875rem;
        line-height: 1.36;
    }

    .msi-home .certificates {
        padding-bottom: 1.5rem;
    }

    .msi-home .certificates__inner {
        padding-inline: var(--layout-gutter);
    }

    .msi-home .certificates__heading {
        padding-bottom: .875rem;
        border-bottom-width: 1px;
    }

    .msi-home .certificates__copy {
        padding: 1.625rem 0 1.25rem;
        font-size: .875rem;
        line-height: 1.43;
    }

    .msi-home .certificates__copy p {
        margin-bottom: 1.25rem;
    }

    .msi-home .certificates__copy h3 {
        margin-bottom: .5rem;
        font-size: 1rem;
        line-height: 1.25;
    }

    .msi-home .certificates__showcase {
        min-height: 25.625rem;
        padding: 1.109rem 1rem 1rem;
    }

    .msi-home .certificates__paper {
        width: 100%;
        height: 13.746rem;
        padding: 0;
        object-fit: cover;
    }

    .msi-home .certificates__caption {
        margin-top: 1.3125rem;
        font-size: .875rem;
        line-height: 1.43;
    }

    .msi-home .certificates__caption h3 {
        margin: 0 0 .625rem;
        font-size: 1rem;
        line-height: 1.25;
    }

    .msi-home .certificates__caption p {
        margin: 0;
    }

    .msi-home .certificates__dots {
        margin-top: auto;
        padding-top: 1rem;
    }

    .msi-home .reviews {
        padding-bottom: 1.875rem;
    }

    .msi-home .reviews__inner {
        padding-inline: 0;
    }

    .msi-home .reviews__head {
        min-height: 6.0625rem;
        padding-inline: var(--layout-gutter);
        border-bottom-width: 1px;
    }

    .msi-home .reviews__track {
        grid-auto-columns: 100%;
        padding: 0;
        scroll-padding-inline: 0;
        border-bottom-width: 1px;
    }

    .msi-home .reviews__card {
        min-height: 25.25rem;
        padding: 1.6875rem 2.09375rem 1.8125rem;
        border-right-width: 1px;
        gap: 1.5rem;
    }

    .msi-home .reviews__text {
        font-size: .875rem;
        line-height: 1.43;
    }

    .msi-home .reviews__photo {
        width: 3.25rem;
        height: 3.25rem;
    }

    .msi-home .reviews__name {
        font-size: 1rem;
        line-height: 1.25;
    }

    .msi-home .reviews__role {
        font-size: .875rem;
        line-height: 1.43;
    }
}

@media (max-width: 22.4375rem) {
    .msi-home .hero__content h1,
    .msi-home .hero__title,
    .msi-home .hero__content .hero__title--long {
        min-height: 6rem;
        font-size: 2rem;
        line-height: 2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .msi-home *,
    .msi-home *::before,
    .msi-home *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
