/* ==========================================================================
   Заявка — адаптив. Базовые правила hero/футера приходят из responsive.css.
   ========================================================================== */

@media (max-width: 1599px) {
    .hero--app .hero__content {
        top: 14.19vw;
        width: 60%;
    }

    .hero--app .hero__title {
        width: auto;
    }

    .hero__subtitle {
        width: auto;
        margin: .25vw 0 0 .56vw;
        font-size: clamp(30px, 3.088vw, 49.411px);
        line-height: clamp(33px, 3.346vw, 53.529px);
        letter-spacing: -.103vw;
    }
}

@media (max-width: 1279px) {
    .app-chips {
        flex-wrap: wrap;
    }

    .app-box--plain,
    .app-box--student {
        min-height: 0;
    }

    .app-intro__lead {
        font-size: 28px;
        line-height: 40px;
        letter-spacing: -1px;
    }

    .app-card {
        padding: 28px 40px 60px;
    }

    .app-card--member {
        padding-bottom: 80px;
    }

    .app-submit,
    .app-message,
    .app-member {
        margin-left: 40px;
    }

    .app-timer {
        left: auto;
        right: 0;
    }
}

@media (max-width: 1023px) {
    .hero--app .hero__content {
        width: 100%;
        max-width: 640px;
    }

    .hero__subtitle {
        margin: 6px 0 0;
        font-size: 34px;
        line-height: 40px;
        letter-spacing: -1px;
    }

    .app-intro {
        padding-top: 28px;
    }

    .app-intro__lead {
        font-size: 24px;
        line-height: 34px;
        letter-spacing: -.6px;
    }

    .app-intro__note {
        font-size: 17px;
        margin-top: 24px;
    }

    .app-intro__foot {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 12px 24px;
    }

    .app-timer {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
    }

    .app-card__inner {
        width: 100%;
    }

    .app-chip {
        width: calc(33.333% - 7px);
        min-width: 150px;
    }

    .app-modal__box {
        padding: 28px 56px 28px 28px;
    }
}

@media (max-width: 767px) {
    .hero--app .hero__content {
        margin-top: 150px;
    }

    .hero__subtitle {
        font-size: 26px;
        line-height: 30px;
        letter-spacing: -.6px;
    }

    .app-intro__lead {
        font-size: 20px;
        line-height: 28px;
    }

    .app-btn {
        gap: 14px;
        padding: 10px 16px;
        font-size: 13px;
        line-height: 18px;
        letter-spacing: .6px;
        white-space: normal;
    }

    .app-intro__note {
        font-size: 16px;
    }

    .app-form {
        margin-top: 28px;
    }

    .app-card {
        padding: 20px 16px 36px;
        border-radius: 12px;
    }

    .app-card--member {
        padding-bottom: 48px;
    }

    .app-card__heading,
    .app-card__sub,
    .app-box__label,
    .app-box__note {
        font-size: 16px;
        line-height: 21px;
    }

    .app-field {
        min-height: 52px;
        padding: 14px;
        font-size: 16px;
        line-height: 22px;
    }

    .app-box {
        padding: 14px;
    }

    .app-box--choice {
        min-height: 0;
    }

    .app-chip {
        width: calc(50% - 5px);
        min-width: 0;
    }

    .app-submit,
    .app-message,
    .app-member {
        margin-left: 0;
    }

    .app-submit {
        width: 100%;
        margin-top: 28px;
    }

    .app-member,
    .app-member[aria-expanded='true'] {
        margin-top: 28px;
        margin-left: 0;
        width: 100%;
    }

    .app-card--member {
        margin-top: 20px;
    }

    .app-modal__box {
        min-height: 0;
        padding: 24px 44px 24px 20px;
    }

    .app-modal__text {
        font-size: 16px;
        letter-spacing: .6px;
    }

    .app-modal__close {
        right: 16px;
        top: 14px;
    }

    .app-closed {
        padding: 24px 16px;
        font-size: 18px;
        line-height: 26px;
    }
}

@media (max-width: 479px) {
    .app-chip {
        width: 100%;
    }

    .app-timer {
        transform: scale(.9);
        transform-origin: left center;
    }
}
