:is(body.home, body.trimed-service-page) .home-request {
    box-sizing: border-box;
    background: var(--color-white);
}

:is(body.home, body.trimed-service-page) .home-request .request-grid {
    position: relative;
    box-sizing: border-box;
    overflow: hidden;
    background: var(--gradient-light-green);
}

:is(body.home, body.trimed-service-page) .home-request .request-text {
    color: var(--color-white);
}

:is(body.home, body.trimed-service-page) .home-request .request-form-wrap {
    box-sizing: border-box;
    background: var(--color-white);
    border-radius: var(--radius-card);
}

:is(body.home, body.trimed-service-page) .home-request .request-copy-mobile {
    display: none;
}

@media (min-width: 992px) {
    :is(body.home, body.trimed-service-page) .home-request {
        padding: 56px 0 140px;
    }

    :is(body.home, body.trimed-service-page) .home-request .container,
    :is(body.home, body.trimed-service-page) .home-request .request-grid {
        width: 1200px;
        max-width: 1200px;
    }

    :is(body.home, body.trimed-service-page) .home-request .container {
        margin: 0 auto;
        padding: 0;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-grid {
        display: flex;
        justify-content: flex-end;
        height: auto;
        min-height: 507px;
        padding: 30px;
        border-radius: 20px;
        background: linear-gradient(22.609deg, var(--color-light-green-1) 18.162%, var(--color-light-green-2) 79.556%);
    }

    :is(body.home, body.trimed-service-page) .home-request .request-text {
        position: absolute;
        left: 48px;
        top: 316px;
        width: 445px;
        padding: 0;
        transform: none;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-text::before {
        display: none;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-text .section-title {
        width: 445px;
        margin: 0 0 16px;
        font: 600 36px/1.1 'Exo 2', sans-serif;
        letter-spacing: -1.08px;
        color: var(--color-white);
    }

    :is(body.home, body.trimed-service-page) .home-request .request-text .section-title em {
        font-style: italic;
        font-weight: 600;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-text p {
        margin: 0;
        font: 400 16px/1.1 'Exo 2', sans-serif;
        color: var(--color-white);
        opacity: 1;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-plus {
        position: absolute;
        left: 48px;
        top: 83px;
        width: 40px;
        height: 40px;
        color: var(--color-white);
        background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0C25.5 0 28 4.5 28 10C28 12.2 29.8 14 32 14C37.5 14 40 16.8 40 20C40 23.2 37.5 26 32 26C29.8 26 28 27.8 28 30C28 35.5 25.5 40 20 40C14.5 40 12 35.5 12 30C12 27.8 10.2 26 8 26C2.5 26 0 23.2 0 20C0 16.8 2.5 14 8 14C10.2 14 12 12.2 12 10C12 4.5 14.5 0 20 0Z' fill='%23EFEFEF'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-plus path {
        display: none;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-form-wrap {
        position: static;
        flex: 0 0 490px;
        width: 490px;
        height: auto;
        min-height: 447px;
        margin: 0;
        padding: 30px;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-row {
        margin-bottom: 12px;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-field-label {
        display: none;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-field input,
    :is(body.home, body.trimed-service-page) .home-request-form .form-field textarea {
        box-sizing: border-box;
        width: 429px;
        height: var(--control-height);
        padding: 20px 16px;
        border: 0;
        border-radius: var(--radius-control);
        background: var(--color-gray);
        font-size: 12px;
        font-weight: 400;
        line-height: 1;
        letter-spacing: -0.24px;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-field textarea {
        height: 53px;
        min-height: 53px;
        resize: none;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-field-phone .phone-flag {
        left: 16px;
        top: 50%;
        bottom: auto;
        width: 20px;
        height: 13px;
        transform: translateY(-50%);
        object-fit: cover;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-field-phone input {
        height: 53px;
        padding-left: 44px;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-agree {
        margin-top: 20px;
        margin-bottom: 12px;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .checkbox-label {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        width: 301px;
        color: var(--color-dark-green);
    }

    :is(body.home, body.trimed-service-page) .home-request-form .checkbox-label input[type="checkbox"] {
        flex: 0 0 var(--form-checkbox-size);
        width: var(--form-checkbox-size);
        height: var(--form-checkbox-size);
        margin: 0;
        appearance: none;
        -webkit-appearance: none;
        position: relative;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .checkbox-label span {
        width: 278px;
        font: 400 12px/1.1 'HelveticaNeueCyr', 'Helvetica Neue', Arial, sans-serif;
        letter-spacing: -0.24px;
        color: var(--color-dark-green);
        opacity: 0.6;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .request-submit {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 429px;
        min-width: 0;
        height: var(--button-height);
        padding: 20px 14px;
        border-radius: var(--radius-control);
        background: linear-gradient(-78.711deg, var(--color-green) 0%, var(--color-dark-green) 100%);
    }
}

@media (max-width: 991px) {
    :is(body.home, body.trimed-service-page) .home-request {
        height: auto;
        padding: 0 0 100px;
        overflow: visible;
    }

    :is(body.home, body.trimed-service-page) .home-request .container {
        width: calc(100vw - 32px);
        max-width: calc(100vw - 32px);
        margin: 0 auto;
        padding: 0;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-grid {
        display: block;
        width: 343px;
        max-width: 100%;
        height: auto;
        min-height: 675px;
        margin: 0 auto;
        padding: 0 0 24px;
        border-radius: var(--radius-card);
    }

    :is(body.home, body.trimed-service-page) .home-request .request-plus {
        position: absolute;
        display: block;
        left: 50%;
        top: 38px;
        width: 16px;
        height: 16px;
        transform: translateX(-50%);
        color: var(--color-white);
        background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0C25.5 0 28 4.5 28 10C28 12.2 29.8 14 32 14C37.5 14 40 16.8 40 20C40 23.2 37.5 26 32 26C29.8 26 28 27.8 28 30C28 35.5 25.5 40 20 40C14.5 40 12 35.5 12 30C12 27.8 10.2 26 8 26C2.5 26 0 23.2 0 20C0 16.8 2.5 14 8 14C10.2 14 12 12.2 12 10C12 4.5 14.5 0 20 0Z' fill='%23EFEFEF'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-plus path,
    :is(body.home, body.trimed-service-page) .home-request .request-text::before {
        display: none;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-text {
        position: static;
        box-sizing: border-box;
        height: auto;
        padding: 100px 23px 0;
        text-align: center;
        transform: none;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-text .section-title,
    :is(body.home, body.trimed-service-page) .home-request .request-text p {
        width: 100%;
        max-width: 297px;
        margin-left: auto;
        margin-right: auto;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-text .section-title {
        margin-top: 0;
        margin-bottom: 12px;
        font-size: 24px;
        line-height: 26px;
        letter-spacing: 0;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-text p {
        margin-top: 0;
        margin-bottom: 0;
        font-size: 14px;
        line-height: 1.1;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-form-wrap {
        position: static;
        width: min(308px, calc(100% - 35px));
        height: auto;
        min-height: 423px;
        margin: 33px auto 0;
        padding: 20px;
        transform: none;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-copy-desktop {
        display: none;
    }

    :is(body.home, body.trimed-service-page) .home-request .request-copy-mobile {
        display: inline;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-row {
        margin-bottom: 12px;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-field-label {
        display: none;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-field input,
    :is(body.home, body.trimed-service-page) .home-request-form .form-field textarea {
        box-sizing: border-box;
        width: 100%;
        height: var(--control-height);
        padding: 20px 16px;
        border-radius: var(--radius-control);
        font-size: 12px;
        font-weight: 400;
        letter-spacing: -0.24px;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-field textarea {
        height: 53px;
        min-height: 53px;
        overflow: hidden;
        resize: none;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-field-phone .phone-flag {
        left: 16px;
        top: 50%;
        bottom: auto;
        width: 20px;
        height: 13px;
        transform: translateY(-50%);
        object-fit: cover;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .form-field-phone input {
        padding-left: 44px;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .checkbox-label {
        gap: 8px;
        width: 265px;
        font-size: 12px;
        line-height: normal;
        letter-spacing: -0.24px;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .checkbox-label span {
        width: 242px;
        font-size: 12px;
        letter-spacing: -0.24px;
        opacity: 0.6;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .checkbox-label input[type="checkbox"] {
        width: var(--form-checkbox-size);
        height: var(--form-checkbox-size);
        flex: 0 0 var(--form-checkbox-size);
        margin: 0;
        border: 1px solid var(--color-dark-green);
        border-radius: 2px;
        background: transparent;
        appearance: none;
        -webkit-appearance: none;
    }

    :is(body.home, body.trimed-service-page) .home-request-form .checkbox-label input[type="checkbox"]:checked {
        background: var(--color-green);
    }

    :is(body.home, body.trimed-service-page) .home-request-form .checkbox-label input[type="checkbox"]:checked::after {
        content: '';
        position: absolute;
        left: 4px;
        top: 2px;
        width: 4px;
        height: 7px;
        border: solid var(--color-white);
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }

    :is(body.home, body.trimed-service-page) .home-request-form .request-submit {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        height: var(--button-height);
        padding: 0 16px;
        border-radius: var(--radius-control);
        background: linear-gradient(-78.711deg, var(--color-green) 0%, var(--color-dark-green) 100%);
        font: 600 14px/17px 'Exo 2', sans-serif;
        color: var(--color-white);
        text-align: center;
    }
}

/* Keep submission feedback inside the fixed-height white form card. */
:is(body.home, body.trimed-service-page) .home-request .home-request-form .form-message:empty {
    display: none;
    min-height: 0;
    margin: 0;
}

:is(body.home, body.trimed-service-page) .home-request .home-request-form .form-message:not(:empty) {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
    text-align: center;
}

:is(body.home, body.trimed-service-page) .home-request .home-request-form .form-message.success:not(:empty) {
    color: var(--color-green);
}

:is(body.home, body.trimed-service-page) .home-request .home-request-form .form-message.error:not(:empty) {
    color: #c62828;
}

/* The feedback replaces the consent row after submission. */
:is(body.home, body.trimed-service-page) .home-request .home-request-form:has(.form-message:not(:empty)) .form-agree {
    display: none;
}
