.hero-banners.est-home-banners {
    padding: 20px 0;
    display: grid;
    grid-template-columns: 69% 29%;
    max-width: 100%;
    align-items: flex-start;
    justify-content: space-between;
}

.hero-banners {
    padding: 20px 0;
    display: grid;
    grid-template-columns: 69% 29%;
    max-width: 100%;
    align-items: flex-start;
    justify-content: space-between;
}

.est-home-banners__coll {
    min-width: 0;
}

.est-home-banners__rect-slider,
.est-home-banners__rect-slider .swiper-wrapper,
.est-home-banners__rect-slider .swiper-slide {
    width: 100%;
}

.est-home-banners__rect-slider {
    position: relative;
    overflow: hidden;
}

.est-home-banner {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    background: #f2f2f2;
}

.est-home-banner--rect {
    aspect-ratio: 848 / 355;
    border-radius: 50px;
}

.est-home-banner--square {
    aspect-ratio: 1 / 1;
    border-radius: 50px;
}

.hero-banners.est-home-banners img,
.est-home-banner__bg {
    width: 100% !important;
    height: 100% !important;
}

.est-home-banner__bg {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    object-fit: cover;
}

.est-home-banner__bg--video {
    background: #111111;
    pointer-events: none;
}

.hero-banners.est-hb--square-only {
    grid-template-columns: minmax(0, 29%);
    justify-content: end;
}

.est-home-banner__text {
    position: absolute;
    left: var(--est-text-left, 8%);
    top: var(--est-text-top, 20%);
    z-index: 2;
    max-width: 70%;
    color: #ffffff;
    font-family: "Open Sans", Arial, sans-serif;
    font-size: clamp(18px, 2.4vw, 36px);
    line-height: 1.2;
    font-weight: 600;
}

.est-home-banner__text p,
.est-home-banner__text div {
    margin-top: 0;
}

.est-home-banner__text p:last-child,
.est-home-banner__text div:last-child {
    margin-bottom: 0;
}

.est-home-banner__text hr {
    margin: 8px 0;
    border: 0;
    border-top: 1px solid currentColor;
    opacity: 0.6;
}

.est-text-left {
    text-align: left;
}

.est-text-center {
    text-align: center;
}

.est-text-right {
    text-align: right;
}

.est-home-banner__buttons {
    position: absolute;
    left: var(--est-buttons-left, 8%);
    bottom: 10%;
    z-index: 3;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    align-items: center;
}

.est-home-banner__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 28px;
    border: 2px solid #ffffff;
    border-radius: 8px;
    font-family: "Open Sans", Arial, sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
}

.est-home-banner__button + .est-home-banner__button {
    margin-left: 8px;
}

.est-home-banner__button:hover,
.est-home-banner__button:focus {
    filter: brightness(1.15);
    text-decoration: none;
}

.est-home-banner__button--square {
    position: absolute;
    left: 50%;
    bottom: 10%;
    z-index: 3;
    transform: translateX(-50%);
    margin-left: 0;
}

.est-home-banner__full-link {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: block;
    overflow: hidden;
    text-indent: -9999px;
}

.est-home-banner--has-buttons .est-home-banner__full-link {
    display: none;
}

.est-home-banners__pagination {
    position: absolute;
    z-index: 5;
    bottom: 12px !important;
}

/* Homepage composition: two configured banners, 4/6 + 2/6. */
.ef-home-section.est-home-banners {
    width: min(100% - 32px, 1360px);
    margin: 0 auto 32px;
}

.ef-home-section.est-home-banners > .ef-home-section__wrapper {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 16px;
    height: 90px;
}

.est-home-banners__wrapper {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 16px;
    height: 90px;
}

.est-home-banners__primary,
.est-home-banners__secondary,
.est-home-banners__primary > *,
.est-home-banners__secondary > *,
.est-home-banners__rect-slider,
.est-home-banners__rect-slider .swiper-wrapper,
.est-home-banners__rect-slider .swiper-slide {
    min-width: 0;
    height: 90px;
}

.est-home-banners__primary .est-hb__rect-slider,
.est-home-banners__primary .est-hb__rect-slider .swiper-wrapper,
.est-home-banners__primary .est-hb__rect-slider .swiper-slide {
    width: 100%;
    height: 90px;
}

.est-home-banners__primary > .est-home-banner,
.est-home-banners__secondary > .est-home-banner {
    height: 90px;
}

.est-home-banners__primary .est-home-banner,
.est-home-banners__secondary .est-home-banner {
    height: 90px;
    aspect-ratio: auto;
    border-radius: 10px;
}

.est-home-banners__secondary .est-home-banner__text {
    max-width: 62%;
    font-size: 10px;
    line-height: 1.1;
}

.est-home-banners__secondary .est-home-banner__title {
    font-size: 14px;
    line-height: 1.05;
}

.est-home-banners__secondary .est-home-banner__subtitle {
    margin-top: 3px;
    font-size: 8px;
    line-height: 1.1;
}

.est-home-banners__secondary .est-home-banner__body-text {
    display: none;
}

.est-home-banners__secondary .est-home-banner__button {
    min-height: 22px;
    padding: 3px 12px;
    border-width: 1px;
    border-radius: 11px;
    font-size: 9px;
}

.est-page-banners__primary,
.est-page-banners__secondary {
    min-width: 0;
    height: 90px;
}

.est-page-banners__primary .est-home-banner,
.est-page-banners__secondary .est-home-banner {
    height: 90px;
    aspect-ratio: auto;
    border-radius: 10px;
}

.est-page-banners__secondary .est-home-banner__text {
    max-width: 62%;
    font-size: 10px;
    line-height: 1.1;
}

.est-page-banners__secondary .est-home-banner__title {
    font-size: 14px;
    line-height: 1.05;
}

.est-page-banners__secondary .est-home-banner__subtitle {
    font-size: 8px;
}

@media (max-width: 767px) {
    .est-page-banners__primary,
    .est-page-banners__secondary,
    .est-page-banners__primary .est-home-banner,
    .est-page-banners__secondary .est-home-banner {
        height: 110px;
    }
}

/* Two static banners: promo + steps. Isolated from legacy banner styles. */
.ef-home-section.est-second-banner {
    margin-bottom: 32px;
}

.est-second-banner > .est-second-banner__wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    min-width: 0;
}

.est-second-banner__promo,
.est-second-banner__steps {
    min-width: 0;
    min-height: 220px;
    border-radius: 12px;
    overflow: hidden;
}

.est-second-banner__promo {
    position: relative;
    display: flex;
    align-items: stretch;
    background-color: var(--est-second-banner-bg, #eef4ff);
    background-image: var(--est-second-banner-image);
    background-repeat: no-repeat;
    background-position: center right;
    background-size: cover;
}

.est-second-banner__promo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, var(--est-second-banner-bg, #eef4ff) 0%, var(--est-second-banner-bg, #eef4ff) 37%, rgba(238, 244, 255, .93) 46%, rgba(238, 244, 255, 0) 70%);
    pointer-events: none;
}

.est-second-banner__promo-copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 58%;
    padding: 28px 20px 24px 32px;
    color: var(--est-second-banner-color, #172033);
}

.est-second-banner__promo-copy h2 {
    margin: 0;
    color: inherit;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
}

.est-second-banner__steps > h2 {
    margin: 0;
    color: #071b3a;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
}

.est-second-banner__promo-copy ul {
    display: grid;
    gap: 8px;
    margin: 16px 0 18px;
    padding: 0;
    list-style: none;
    font-size: 13px;
    line-height: 1.35;
}

.est-second-banner__promo-copy li {
    position: relative;
    padding-left: 20px;
}

.est-second-banner__promo-copy li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #075bf1;
    font-weight: 800;
}

.est-second-banner__promo-copy > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 18px;
    border: 1px solid var(--est-second-banner-button-bg, #075bf1);
    border-radius: 8px;
    background: var(--est-second-banner-button-bg, #075bf1);
    color: var(--est-second-banner-button-color, #fff);
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    text-decoration: none;
    transition: filter 160ms ease;
}

.est-second-banner__promo-copy > a:hover,
.est-second-banner__promo-copy > a:focus-visible {
    border-color: var(--est-second-banner-button-bg, #075bf1);
    background: var(--est-second-banner-button-bg, #075bf1);
    color: var(--est-second-banner-button-color, #fff);
    filter: brightness(.92);
    text-decoration: none;
}

.est-second-banner__steps {
    padding: 26px 28px 22px;
    background: #fff;
    border: 1px solid #dce4f0;
}

.est-second-banner__steps-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 24px;
}

.est-second-banner__step {
    position: relative;
    min-width: 0;
    padding: 0 14px;
    text-align: center;
}

.est-second-banner__step:first-child {
    padding-left: 0;
}

.est-second-banner__step:last-child {
    padding-right: 0;
}

.est-second-banner__step + .est-second-banner__step::before {
    content: "";
    position: absolute;
    left: 0;
    top: 26px;
    width: 1px;
    height: 62px;
    background: #e1e7f0;
}

.est-second-banner__step-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: #eef4ff;
    color: #075bf1;
}

.est-second-banner__step-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.est-second-banner__step h3 {
    overflow: hidden;
    margin: 0 0 7px;
    color: #172033;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.est-second-banner__step p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #667085;
    font-size: 11px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (max-width: 900px) {
    .est-second-banner > .est-second-banner__wrapper {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .est-second-banner__promo {
        min-height: 260px;
        background-position: 62% center;
    }

    .est-second-banner__promo-copy {
        width: 66%;
        padding: 24px 14px 22px 20px;
    }

    .est-second-banner__promo-copy h2,
    .est-second-banner__steps > h2 {
        font-size: 18px;
    }

    .est-second-banner__steps {
        padding: 22px 20px;
    }

    .est-second-banner__steps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 24px;
    }

    .est-second-banner__step:nth-child(3)::before {
        display: none;
    }
}

/* Independent first-screen hero: [est_main_hero]. */
body .ef-home-section.est-main-hero {
    position: relative;
    width: 100%;
    min-height: var(--est-main-hero-height, 360px);
    margin-inline: 0;
    padding-inline: 0;
    overflow: hidden;
    background: linear-gradient(135deg, #dff2ff 0%, #bfddf7 52%, #e7f4ff 100%);
}

.est-main-hero .est-main-hero__wrapper {
    position: relative;
    z-index: 2;
    width: min(100% - 32px, var(--ef-ui-container, 1360px));
    min-height: var(--est-main-hero-height, 360px);
    margin-inline: auto;
    padding-inline: 32px;
    box-sizing: border-box;
}

.est-main-hero__media,
.est-main-hero__media picture,
.est-main-hero__media img,
.est-main-hero__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.est-main-hero__media {
    z-index: 0;
}

.est-main-hero__media img {
    object-fit: cover;
    object-position: center;
}

.est-main-hero__overlay {
    z-index: 1;
    background: var(--est-main-hero-overlay, #fff);
    opacity: var(--est-main-hero-overlay-opacity, .12);
    pointer-events: none;
}

.est-main-hero__copy {
    position: absolute;
    z-index: 2;
    top: var(--est-main-hero-text-top, 12%);
    left: 60px;
    width: min(56%, 700px);
}

.est-main-hero__copy h1 {
    max-width: 32ch;
    margin: 0 0 10px;
    font-family: "Open Sans", Arial, sans-serif;
    font-weight: 750;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.est-main-hero__subtitle {
    max-width: 46ch;
    font-family: "Open Sans", Arial, sans-serif;
    font-weight: 400;
    line-height: 1.45;
}

.est-main-hero__promo {
    position: absolute;
    z-index: 3;
    top: 22px;
    right: 60px;
    bottom: 22px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42%;
    width: min(31%, 350px);
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 18px;
    color: var(--est-promo-color, #172033);
    background: var(--est-promo-bg, #fff8f1);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .12);
}

.est-main-hero__promo-copy {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 24px 0 24px 22px;
    box-sizing: border-box;
}

.est-main-hero__promo h2 {
    margin: 0 0 8px;
    color: inherit;
    font: 700 18px/1.25 "Open Sans", Arial, sans-serif;
}

.est-main-hero__promo p {
    margin: 0 0 18px;
    color: inherit;
    font: 400 12px/1.45 "Open Sans", Arial, sans-serif;
}

.est-main-hero__promo a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 8px;
    text-decoration: none;
    font: 700 13px/1 "Open Sans", Arial, sans-serif;
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.est-main-hero__promo a:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(255, 107, 53, .24);
}

.est-main-hero__promo img {
    align-self: stretch;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .2) 18%, rgba(0, 0, 0, .72) 48%, #000 72%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .2) 18%, rgba(0, 0, 0, .72) 48%, #000 72%);
}

.est-main-hero__search-card {
    position: absolute;
    z-index: 4;
    right: 430px;
    bottom: 20px;
    left: 60px;
    padding: 12px 14px 10px;
    border: 1px solid rgba(226, 232, 240, .95);
    border-radius: 14px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 14px 35px rgba(15, 23, 42, .16);
    backdrop-filter: blur(10px);
}

.est-main-hero--without-promo .est-main-hero__search-card {
    right: 60px;
}

.est-main-hero__categories {
    display: flex;
    align-items: center;
    gap: 4px;
    overflow-x: auto;
    margin: -4px 0 8px;
    scrollbar-width: none;
}

.est-main-hero__categories::-webkit-scrollbar {
    display: none;
}

.est-main-hero__categories button {
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 0;
    border-radius: 8px;
    color: #475569;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
    font: 600 11px/1 "Open Sans", Arial, sans-serif;
    transition: color 160ms ease, background-color 160ms ease;
}

.est-main-hero__categories button.is-active,
.est-main-hero__categories button[aria-pressed="true"],
.est-main-hero__categories button:hover,
.est-main-hero__categories button:focus-visible {
    color: #0554f2;
    background: #eff5ff;
    outline: none;
}

.est-main-hero__search-form {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) 112px;
    gap: 8px;
}

.est-main-hero__search-field {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
}

.est-main-hero__search-field svg {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    fill: none;
    stroke: #94a3b8;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.est-main-hero__search-field input,
.est-main-hero__search-field select {
    min-width: 0;
    width: 100%;
    height: 42px;
    padding: 0;
    border: 0;
    outline: 0;
    color: #172033;
    background: transparent;
    box-shadow: none;
    font: 400 12px/1.2 "Open Sans", Arial, sans-serif;
}

.est-main-hero__search-field select {
    padding-right: 22px;
    appearance: none;
    cursor: pointer;
}

.est-main-hero__search-field--location {
    position: relative;
}

.est-main-hero__search-field--location::after {
    position: absolute;
    right: 15px;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid #64748b;
    border-bottom: 1.5px solid #64748b;
    content: "";
    pointer-events: none;
    transform: translateY(-2px) rotate(45deg);
}

.est-main-hero__search-field:focus-within {
    border-color: #9bbcff;
    box-shadow: 0 0 0 2px rgba(5, 84, 242, .08);
}

.est-main-hero__search-form > button {
    min-height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: #0554f2;
    cursor: pointer;
    font: 700 13px/1 "Open Sans", Arial, sans-serif;
    transition: background-color 160ms ease, box-shadow 160ms ease;
}

.est-main-hero__search-form > button:hover {
    background: #0046cf;
    box-shadow: 0 5px 14px rgba(5, 84, 242, .24);
}

.est-main-hero__popular {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 20px;
    margin-top: 7px;
    color: #64748b;
    font: 400 10px/1.3 "Open Sans", Arial, sans-serif;
}

.est-main-hero__popular-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 12px;
}

.est-main-hero__popular-links a {
    color: #0554f2;
    text-decoration: none;
    font-weight: 600;
}

.est-main-hero__popular-links a:hover {
    text-shadow: 0 1px 8px rgba(5, 84, 242, .24);
}

@media (max-width: 1100px) {
    .est-main-hero__copy {
        width: 52%;
    }

    .est-main-hero__promo {
        width: 34%;
    }

    .est-main-hero__search-card {
        right: calc(36% + clamp(56px, 7vw, 72px));
    }

    .est-main-hero__search-form {
        grid-template-columns: 1fr 1fr 96px;
    }
}

@media (min-width: 1440px) {
    .est-main-hero .est-main-hero__wrapper {
        width: 100%;
        padding-inline: 60px;
    }

    .est-main-hero__copy {
        left: 60px;
        width: min(52%, 860px);
    }

    .est-main-hero__copy h1 {
        font-size: clamp(34px, 2.2vw, 44px) !important;
    }

    .est-main-hero__subtitle {
        font-size: clamp(15px, .95vw, 18px) !important;
    }

    .est-main-hero__promo {
        right: 60px;
        width: clamp(300px, 20vw, 420px);
    }

    .est-main-hero__search-card {
        right: calc(60px + clamp(300px, 20vw, 420px) + 24px);
        left: 60px;
    }

    .est-main-hero--without-promo .est-main-hero__search-card {
        right: 60px;
    }

    .est-main-hero__categories button,
    .est-main-hero__search-field input,
    .est-main-hero__search-field select {
        font-size: clamp(12px, .72vw, 14px);
    }
}

@media (max-width: 767px) {
    .ef-home-section.est-home-banners {
        --est-page-banner-mobile-button-bottom: 7%;
    }

    body .ef-home-section.est-main-hero {
        padding-inline: 0;
    }

    .est-main-hero .est-main-hero__wrapper {
        display: flex;
        flex-direction: column;
        min-height: var(--est-main-hero-mobile-height, 680px);
        padding: 28px 16px 16px;
        box-sizing: border-box;
    }

    .est-main-hero__media img {
        object-position: center;
    }

    .est-main-hero__copy,
    .est-main-hero__promo,
    .est-main-hero__search-card {
        position: relative;
        inset: auto;
        width: auto;
    }

    .est-main-hero__copy {
        z-index: 2;
        margin: 0 8px;
    }

    .est-main-hero__copy h1 {
        max-width: 17ch;
        font-size: clamp(26px, 8vw, 34px) !important;
    }

    .est-main-hero__subtitle {
        max-width: 38ch;
        font-size: 14px !important;
    }

    .est-main-hero__promo {
        z-index: 3;
        grid-template-columns: minmax(0, 1fr) 38%;
        min-height: 150px;
        margin-top: 20px;
        border-radius: 14px;
        transform: none;
    }

    .est-main-hero__promo-copy {
        padding: 18px 0 18px 18px;
    }

    .est-main-hero__promo h2 {
        font-size: 15px;
    }

    .est-main-hero__promo p {
        margin-bottom: 12px;
        font-size: 10px;
    }

    .est-main-hero__promo a {
        min-height: 34px;
        padding: 7px 12px;
        font-size: 11px;
    }

    .est-main-hero__search-card {
        z-index: 4;
        margin-top: 16px;
        padding: 10px;
    }

    .est-main-hero__search-form {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .est-main-hero__search-field,
    .est-main-hero__search-form > button {
        min-height: 42px;
    }

    .est-main-hero__popular {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}

@media (max-width: 767px) {
    .ef-home-section.est-home-banners {
        width: min(100% - 24px, 1360px);
    }

    .ef-home-section.est-home-banners > .ef-home-section__wrapper {
        grid-template-columns: 1fr;
        height: auto;
        gap: 12px;
    }

    .est-home-banners__wrapper {
        grid-template-columns: 1fr;
        height: auto;
        gap: 12px;
    }

    .est-home-banners__primary,
    .est-home-banners__secondary,
    .est-home-banners__primary > *,
    .est-home-banners__secondary > *,
    .est-home-banners__rect-slider,
    .est-home-banners__rect-slider .swiper-wrapper,
    .est-home-banners__rect-slider .swiper-slide,
    .est-home-banners__primary .est-home-banner,
    .est-home-banners__secondary .est-home-banner {
        height: 110px;
    }
}

@media (max-width: 767px) {
    .est-hb-container.container {
        padding: 10px 16px;
    }

    .hero-banners,
    .hero-banners.est-home-banners {
        grid-template-columns: 100%;
        gap: 20px;
        display: grid;
    }

    .est-hb__coll--square {
        display: none;
    }

    .est-home-banner--rect {
        aspect-ratio: 848 / 469;
        border-radius: 16px;
    }

    .est-home-banner__text {
        max-width: 78%;
        line-height: 1.12;
    }

    .est-home-banner__title {
        font-size: clamp(12px, 4.4vw, 20px);
        line-height: 1.08;
    }

    .est-home-banner__subtitle {
        display: none;
    }

    .est-home-banner__body-text {
        display: none;
    }

    .est-home-banner__buttons {
        gap: clamp(8px, 3vw, 14px);
        bottom: 8%;
        max-width: 86%;
    }

    .est-home-banner__button {
        min-height: clamp(28px, 8vw, 34px);
        padding: clamp(4px, 1.4vw, 5px) clamp(10px, 4vw, 16px);
        border-width: clamp(1px, 0.45vw, 2px);
        border-radius: 8px;
        font-size: 12px;
    }

    .est-home-banner__button + .est-home-banner__button {
        margin-left: 0;
    }
}

/* Page banners: keep the two-column section inside its wrapper and fit content to the banner height. */
.ef-home-section.est-home-banners,
.ef-home-section.est-home-banners > .ef-home-section__wrapper,
.ef-home-section.est-home-banners .est-page-banners__primary,
.ef-home-section.est-home-banners .est-page-banners__secondary {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}

.ef-home-section.est-home-banners > .ef-home-section__wrapper {
    width: 100%;
    overflow: hidden;
}

.ef-home-section.est-home-banners .est-page-banners__primary,
.ef-home-section.est-home-banners .est-page-banners__secondary,
.ef-home-section.est-home-banners .est-home-banner {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 90px;
    box-sizing: border-box;
    overflow: hidden;
}

.ef-home-section.est-home-banners .est-home-banner__text {
    max-width: 52%;
    line-height: 1.1;
}

.ef-home-section.est-home-banners .est-home-banner__title {
    font-size: 18px;
    line-height: 1.08;
}

.ef-home-section.est-home-banners .est-home-banner__subtitle {
    margin-top: 4px;
    font-size: 10px;
    line-height: 1.15;
}

.ef-home-section.est-home-banners .est-home-banner__body-text {
    margin-top: 3px;
    font-size: 9px;
    line-height: 1.1;
}

.ef-home-section.est-home-banners .est-home-banner__buttons {
    bottom: 8%;
    max-width: 48%;
}

.ef-home-section.est-home-banners .est-home-banner__button {
    min-height: 28px;
    padding: 4px 14px;
    border-width: 1px;
    border-radius: 8px;
    font-size: 12px;
}

.ef-home-section.est-home-banners .est-page-banners__secondary .est-home-banner__text {
    max-width: 62%;
}

.ef-home-section.est-home-banners .est-page-banners__secondary .est-home-banner__title {
    font-size: 14px;
}

@media (max-width: 767px) {
    .ef-home-section.est-home-banners > .ef-home-section__wrapper {
        overflow: visible;
    }

    .ef-home-section.est-home-banners .est-page-banners__primary,
    .ef-home-section.est-home-banners .est-page-banners__secondary,
    .ef-home-section.est-home-banners .est-home-banner {
        height: 110px;
    }

    .ef-home-section.est-home-banners .est-home-banner__text {
        max-width: 58%;
    }
}

/* Final page-banner proportions. */
.ef-home-section.est-home-banners > .ef-home-section__wrapper,
.ef-home-section.est-home-banners .est-page-banners__primary,
.ef-home-section.est-home-banners .est-page-banners__secondary,
.ef-home-section.est-home-banners .est-home-banner {
    height: 113px;
}

@media (min-width: 1440px) {
    .ef-home-section.est-home-banners {
        width: 100%;
    }

    .ef-home-section.est-home-banners > .ef-home-section__wrapper,
    .ef-home-section.est-home-banners .est-page-banners__primary,
    .ef-home-section.est-home-banners .est-page-banners__secondary,
    .ef-home-section.est-home-banners .est-home-banner {
        height: clamp(113px, 8.4vw, 180px);
    }

    .ef-home-section.est-home-banners .est-home-banner__title {
        font-size: clamp(18px, 1.15vw, 24px);
    }

    .ef-home-section.est-home-banners .est-home-banner__subtitle {
        font-size: clamp(10px, .7vw, 14px);
    }

    .ef-home-section.est-home-banners .est-home-banner__body-text {
        font-size: clamp(9px, .62vw, 12px);
    }

    .ef-home-section.est-home-banners .est-home-banner__button {
        min-height: clamp(28px, 2vw, 38px);
        padding-inline: clamp(14px, 1.1vw, 22px);
        border-radius: 8px;
        font-size: clamp(12px, .78vw, 15px);
    }

    .ef-home-section.est-home-banners .est-page-banners__secondary .est-home-banner__title {
        font-size: clamp(14px, .9vw, 18px);
    }
}

@media (max-width: 767px) {
    .ef-home-section.est-home-banners > .ef-home-section__wrapper {
        height: auto;
    }

    .ef-home-section.est-home-banners .est-page-banners__primary,
    .ef-home-section.est-home-banners .est-page-banners__primary .est-home-banner {
        height: auto;
        aspect-ratio: 2.35 / 1;
    }

    .ef-home-section.est-home-banners .est-page-banners__secondary,
    .ef-home-section.est-home-banners .est-page-banners__secondary .est-home-banner {
        height: auto;
        aspect-ratio: 2.35 / 1;
    }

    .ef-home-section.est-home-banners .est-page-banners__primary .est-home-banner,
    .ef-home-section.est-home-banners .est-page-banners__secondary .est-home-banner {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 16px;
        padding-left: var(--est-text-left, 8%);
        box-sizing: border-box;
    }

    .ef-home-section.est-home-banners .est-home-banner__text {
        position: relative;
        inset: auto;
        transform: none;
        max-width: 62%;
        text-align: left !important;
    }

    .ef-home-section.est-home-banners .est-page-banners__primary .est-home-banner__text {
        max-width: 68%;
    }

    .ef-home-section.est-home-banners .est-page-banners__primary .est-home-banner__title {
        font-size: 14px !important;
        line-height: 1.12;
    }

    .ef-home-section.est-home-banners .est-page-banners__primary .est-home-banner__subtitle {
        margin-top: 6px;
        font-size: 9px !important;
        line-height: 1.25;
    }

    .ef-home-section.est-home-banners .est-page-banners__secondary .est-home-banner__text {
        max-width: 60%;
    }

    .ef-home-section.est-home-banners .est-home-banner__subtitle,
    .ef-home-section.est-home-banners .est-home-banner__body-text {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .ef-home-section.est-home-banners .est-home-banner__title {
        font-size: 16px;
        line-height: 1.12;
    }

    .ef-home-section.est-home-banners .est-home-banner__subtitle {
        margin-top: 9px;
        font-size: 11px;
        line-height: 1.25;
    }

    .ef-home-section.est-home-banners .est-home-banner__body-text {
        margin-top: 6px;
        font-size: 10px;
        line-height: 1.25;
    }

    .ef-home-section.est-home-banners .est-page-banners__secondary .est-home-banner__title {
        font-size: 14px;
    }

    .ef-home-section.est-home-banners .est-page-banners__secondary .est-home-banner__subtitle {
        margin-top: 7px;
        font-size: 10px;
    }

    .ef-home-section.est-home-banners .est-page-banners__secondary .est-home-banner__body-text {
        margin-top: 5px;
        font-size: 9px;
    }

    .ef-home-section.est-home-banners .est-home-banner__buttons {
        position: relative;
        inset: auto;
        transform: none;
        max-width: 58%;
    }
}
/* Desktop page banners — пропорция основного изображения 1800 × 560 */
@media (min-width: 768px) {
    .ef-home-section.est-home-banners > .ef-home-section__wrapper {
        height: auto !important;
        align-items: stretch;
    }

    .ef-home-section.est-home-banners .est-page-banners__primary,
    .ef-home-section.est-home-banners .est-page-banners__secondary {
        position: relative;
        min-height: 0;
        overflow: hidden;
    }

    .ef-home-section.est-home-banners .est-page-banners__primary {
        height: auto !important;
        aspect-ratio: 1800 / 540;
    }

    .ef-home-section.est-home-banners .est-page-banners__secondary {
        align-self: stretch;
        height: 100% !important;
        contain: size layout;
    }

    .ef-home-section.est-home-banners .est-page-banners__primary > .est-home-banner,
    .ef-home-section.est-home-banners .est-page-banners__secondary > .est-home-banner,
    .ef-home-section.est-home-banners .est-page-banners__primary > .est-page-banners__slider,
    .ef-home-section.est-home-banners .est-page-banners__secondary > .est-page-banners__slider {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100% !important;
    }

    .ef-home-section.est-home-banners .est-home-banner__bg--video {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
    }
}

/* Independent page-banner sliders must inherit the exact slot height. */
.est-page-banners__slider,
.est-page-banners__slider > .swiper-wrapper,
.est-page-banners__slider > .swiper-wrapper > .swiper-slide {
    width: 100%;
    height: 100%;
    min-width: 0;
}

.est-page-banners__slider {
    position: relative;
    overflow: hidden;
}

.est-page-banners__slider .est-home-banner {
    height: 100% !important;
    aspect-ratio: auto;
}

.est-hb__pagination {
    position: absolute;
    z-index: 6;
    bottom: 8px !important;
}

.est-hb__pagination .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    background: #ffffff;
    box-shadow: 0 1px 4px rgb(0 0 0 / 35%);
    opacity: .55;
}

.est-hb__pagination .swiper-pagination-bullet-active {
    opacity: 1;
}
