.banner {
    background-image: url('../img/contract_banner.png');
    background-position: bottom;
    position: relative;
}


.banner-left {
	position: relative;
	z-index: 88;
}

.banner:after {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 380px;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.00) 0%, #0D1219 100%);
backdrop-filter: blur(1.0499999523162842px);
}

.banner .title {
    color: #FFF;
    leading-trim: both;
    text-edge: cap;
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
    font-size: 86px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 120.4px */
    letter-spacing: -1.72px;
    text-transform: uppercase;
    position: relative;
    z-index: 3;
}

.banner .subtitle {
    color: #FFF;
    leading-trim: both;
    text-edge: cap;
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
    font-size: 400px;
        font-family: 'UAFSans NameTape';
    font-style: normal;
    font-weight: 700;
    line-height: 75%; /* 560px */
    letter-spacing: -8px;
    text-transform: uppercase;
}

.banner .text {
    color: #FFF;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    opacity: 0.8;
    margin-bottom: 36px;
}

.banner-btn {
    display: flex;
    width: 409px;
    margin: 0 auto;
    height: 61px;
    padding: 16px 32px;
    justify-content: center;
    align-items: center;
    gap: 42px;
    border-radius: 5px;
    border: 1px solid rgba(255, 255, 255, 0.20);
    background: #F19003;
    box-shadow: 4px 8px 21.2px 0 rgba(0, 0, 0, 0.25);
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-size: 21px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%; /* 29.4px */
    letter-spacing: -0.42px;
    text-decoration: none;
}

.info {
    margin-top: 65px;
    margin-bottom: 68px;
}

.info .title {
    color: #8D8D8D;
    leading-trim: both;
    text-edge: cap;
    font-size: 68px;
    font-style: normal;
    font-weight: 400;
    line-height: 95%; /* 64.6px */
    text-transform: uppercase;
    margin-bottom: 42px;
    margin-left: -5px;
}

.info .subtitle {
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-family: 'UAFSans NameTape';
    font-size: 200px;
    font-style: normal;
    font-weight: 700;
    line-height: 75%; /* 280px */
    letter-spacing: -4px;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.info .text {
    color: #000;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 21.6px */
}

.info-left .top, .info-right .top {
    padding-bottom: 68px;
    margin-bottom: 57px;
    border-bottom: 1px solid #000;
}

.info-left {
    padding-right: 102px;
    border-right: 1px solid #000;
}

.info-right {
    padding-left: 102px;
}

.prepearing {
    background: #D0D0D0;
    padding-top: 56px;
    padding-bottom: 68px;
}

.prepearing .title {
    color: #000;
    font-size: 56px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 14px;
}

.prepearing .subtitle {
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-size: 26px;
    font-style: normal;
    font-weight: 600;
    line-height: 110%; /* 28.6px */
    margin-bottom: 46px;
}


.prepearing .text {
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px; /* 156.25% */
}

.table {
    border-color: #000;
    background: transparent;
}

.table>:not(caption)>*>* {
    background: transparent;
    width: 50%;
    text-align: center;
}

.table th {
    color: #000;
leading-trim: both;
text-edge: cap;
font-size: 32px;
font-style: normal;
font-weight: 600;
line-height: normal;
text-transform: uppercase;
padding: 19px;
}

.table .number {
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-size: 200px;
    font-style: normal;
    font-weight: 700;
    line-height: 115%; /* 280px */
    letter-spacing: -4px;
    text-transform: uppercase;
    font-family: 'UAFSans NameTape';
    margin-left: 23px;
}

.text-vertical {
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-family: 'UAFSans NameTape';
    font-size: 100px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 140px */
    letter-spacing: -2px;
    text-transform: uppercase;
        transform: rotate(270deg);
        margin-bottom: 7px;
}

.prepearing-right {
    padding-left: 30px;
}

.paiment {
    margin: 56px 0;
}

.paiment-left .title {
    color: #000;
font-size: 56px;
font-style: normal;
font-weight: 400;
line-height: 100%; /* 56px */
letter-spacing: -1.68px;
margin-bottom: 62px;
}


.garantie-title {
    color: #000;
font-size: 26px;
font-style: normal;
font-weight: 600;
line-height: 100%; /* 26px */
letter-spacing: -0.78px;
margin-bottom: 30px;
}

.garantie-block ul {
    list-style: none;
    padding: 0;
    display: flex;
    width: 405px;
    flex-direction: column;
    align-items: flex-start;
    gap: 27px;
    
}

.paiment-left {
    padding-right: 59px;
    border-right: 1px solid #000;
}

.garantie-block ul li {
    color: #000;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: normal;
letter-spacing: 0.32px;
}

.img-block {
    display: flex;
width: 36px;
height: 36px;
padding: 0 11px;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 10px;
border-radius: 5px;
border: 1px solid #F19003;
background: #F19003;
margin-right: 19px;
}

.paiment-right {
    padding-left: 85px;
}

.paiment-right .text {
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 21.6px */
    margin-bottom: 26px;
}

.paiment-number {
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-size: 276px;
    font-style: normal;
    font-weight: 700;
    line-height: 75%; /* 420px */
    letter-spacing: -6px;
    text-transform: uppercase;
    font-family: 'UAFSans NameTape';
        align-items: baseline;
}

.paiment-number span {
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-family: "UAFSans";
    font-size: 28px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%; /* 39.2px */
    letter-spacing: -0.56px;
    text-transform: uppercase;
    margin-left: 9px;
}

.paiment-right .top {
    margin-top: 44px;
}

.paiment-number span.before {
    margin-left: 0;
}

.entire-form__button .wpcf7-submit {
    justify-content: center !important;
}

.entire-form__button .wpcf7-submit svg {
    margin-left: 42px;
}

.anketa {
    margin-bottom: 56px;
}

/* ==================== Адаптив: планшети та менше (стек колонок col-xl-*) ==================== */
@media (max-width: 1199.98px) {
    .info-left {
        padding-right: 0;
        border-right: none;
        margin-bottom: 40px;
    }

    .info-right {
        padding-left: 0;
    }

    .prepearing-right {
        padding-left: 0;
        margin-top: 32px;
    }

    .paiment-left {
        padding-right: 0;
        border-right: none;
        margin-bottom: 40px;
    }

    .paiment-right {
        padding-left: 0;
    }

    .garantie-block ul {
        width: 100%;
    }
}

/* ==================== Адаптив: планшети ==================== */
@media (max-width: 991.98px) {
    .banner .title {
        font-size: 52px;
        letter-spacing: -1px;
    }

    .banner .subtitle {
        font-size: 160px;
        line-height: 80%;
        letter-spacing: -3px;
    }

    .banner .text {
        font-size: 16px;
    }

    .banner-btn {
        width: 100%;
        max-width: 360px;
        height: auto;
        padding: 14px 24px;
        gap: 20px;
        font-size: 18px;
    }

    .info {
        margin-top: 48px;
        margin-bottom: 48px;
    }

    .info .title {
        font-size: 42px;
        margin-bottom: 24px;
        margin-left: 0;
    }

    .info .subtitle {
        font-size: 100px;
        letter-spacing: -2px;
        margin-bottom: 16px;
    }

    .prepearing .title {
        font-size: 36px;
    }

    .prepearing .subtitle {
        font-size: 22px;
        margin-bottom: 24px;
    }

    .table th {
        font-size: 22px;
        padding: 12px;
    }

    .table .number {
        font-size: 100px;
        letter-spacing: -2px;
        margin-left: 10px;
    }

    .text-vertical {
        font-size: 48px;
        letter-spacing: -1px;
    }

    .paiment-left .title {
        font-size: 36px;
        margin-bottom: 32px;
    }

    .paiment-number {
        font-size: 130px;
        letter-spacing: -3px;
    }

    .paiment-number span {
        font-size: 20px;
    }

    .garantie-title {
        font-size: 22px;
    }
}

/* ==================== Адаптив: мобільні ==================== */
@media (max-width: 767.98px) {
    .banner .title {
        font-size: 38px;
    }

    .banner .subtitle {
        font-size: 90px;
        line-height: 85%;
        letter-spacing: -2px;
    }

    .banner .text {
        font-size: 15px;
        margin-bottom: 24px;
    }

    .banner-btn {
        font-size: 16px;
        padding: 14px 20px;
        gap: 16px;
    }

    .info .title {
        font-size: 30px;
    }

    .info .subtitle {
        font-size: 64px;
        letter-spacing: -1px;
        margin-bottom: 16px;
    }

    .info .text {
        font-size: 16px;
    }

    .info-left .top,
    .info-right .top {
        padding-bottom: 32px;
        margin-bottom: 32px;
    }

    .prepearing {
        padding-top: 40px;
        padding-bottom: 48px;
    }

    .prepearing .title {
        font-size: 26px;
        margin-bottom: 8px;
    }

    .prepearing .subtitle {
        font-size: 18px;
        margin-bottom: 16px;
    }

    .prepearing .text {
        font-size: 15px;
        line-height: 22px;
    }

    .table th {
        font-size: 16px;
        padding: 8px;
    }

    .table .number {
        font-size: 56px;
        letter-spacing: -1px;
        margin-left: 6px;
    }

    .text-vertical {
        font-size: 24px;
        letter-spacing: 0;
        margin-bottom: 0;
    }

    .paiment {
        margin: 40px 0;
    }

    .paiment-left .title {
        font-size: 28px;
        margin-bottom: 24px;
    }

    .garantie-block ul {
        gap: 16px;
    }

    .garantie-block ul li {
        font-size: 14px;
    }

    .paiment-right .top {
        margin-top: 24px;
    }

    .paiment-right .text {
        font-size: 16px;
        margin-bottom: 16px;
    }

    .paiment-number {
        font-size: 64px;
        letter-spacing: -1px;
    }

    .paiment-number span {
        font-size: 16px;
        margin-left: 4px;
    }

    .anketa {
        margin-bottom: 40px;
    }
}

/* ==================== Адаптив: маленькі мобільні ==================== */
@media (max-width: 575.98px) {
    .banner .subtitle {
        font-size: 60px;
    }

    .banner .title {
        font-size: 30px;
    }

    .info .subtitle {
        font-size: 44px;
    }

    .table .number {
        font-size: 40px;
        margin-left: 4px;
    }

    .text-vertical {
        font-size: 18px;
    }

    .paiment-number {
        font-size: 48px;
    }

    .paiment-number span {
        font-size: 14px;
    }
}