.bshReviews {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 58%) minmax(420px, 42%);
    min-height: clamp(760px, 49vw, 940px);
    overflow: hidden;
    isolation: isolate;
    background: var(--bsh-color-white);
}

.bshReviews__panel {
    position: relative;
    z-index: 2;
    display: flex;
    min-width: 0;
    align-items: center;
    overflow: visible;
    padding: var(--bsh-section-y) var(--bsh-container-pad);
    background: var(--bsh-color-white);
}

.bshReviews__content {
    width: min(100%, 1060px);
    min-width: 0;
    margin-left: max(0px, calc((100vw - var(--bsh-container-max)) / 2));
}

.bshReviews__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: clamp(28px, 4vw, 64px);
    margin-bottom: clamp(42px, 4.8vw, 78px);
}

.bshReviews__headingText {
    min-width: 0;
}

.bshReviews :is(h1, h2) {
    max-width: 850px;
    margin: 0;
    color: var(--bsh-color-headline);
    font-size: var(--bsh-fs-h2);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.045em;
}

.bshReviews__navigation {
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
    padding-bottom: 4px;
}

.bshReviews__navigation button {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    padding: 0;
    border: 1px solid rgb(94 94 94 / .28);
    border-radius: 50%;
    color: var(--bsh-color-headline);
    background: transparent;
    cursor: pointer;
    transition: color var(--bsh-transition-fast), border-color var(--bsh-transition-fast), background var(--bsh-transition-fast);
}

.bshReviews__navigation button:hover,
.bshReviews__navigation button:focus-visible {
    border-color: var(--bsh-color-pastel-1);
    color: var(--bsh-color-white);
    background: var(--bsh-color-pastel-1);
}

.bshReviews__navigation button:focus-visible {
    outline: 2px solid var(--bsh-color-headline);
    outline-offset: 3px;
}

.bshReviews__navigation svg {
    width: 19px;
    height: 19px;
}

.bshReviews__swiper {
    width: min(calc(100% + clamp(170px, 13vw, 260px)), calc(100vw - (var(--bsh-container-pad) * 2)));
    min-width: 0;
    overflow: hidden;
}

.bshReviews .swiper-slide.bshReviews__slide {
    display: grid;
    grid-template-columns: minmax(470px, 1.72fr) minmax(260px, .88fr);
    align-items: stretch;
    gap: 0;
    height: auto;
    padding-top: clamp(46px, 4vw, 72px);
}

.bshReviews__quote {
    display: grid;
    min-height: clamp(365px, 25vw, 440px);
    place-items: center;
    overflow: hidden;
    color: var(--bsh-color-white);
    background: var(--bsh-color-pastel-1);
}

.bshReviews__quote span {
    display: block;
    height: .82em;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(130px, 10vw, 190px);
    font-weight: 300;
    line-height: 1;
    transform: translateY(-.08em);
}

.bshReviews__card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: clamp(365px, 25vw, 440px);
    flex-direction: column;
    justify-content: center;
    padding: clamp(40px, 4vw, 72px) clamp(42px, 4.6vw, 80px);
    border: 1px solid rgb(94 94 94 / .08);
    color: var(--bsh-color-body);
    background: var(--bsh-color-white);
    box-shadow: 0 24px 65px rgb(51 42 38 / .08);
}

.bshReviews__guestPhoto {
    position: absolute;
    top: clamp(-58px, -3vw, -46px);
    left: clamp(42px, 4.6vw, 80px);
    width: clamp(82px, 7vw, 104px);
    height: clamp(82px, 7vw, 104px);
    margin: 0;
    object-fit: cover;
}

.bshReviews__card--hasPhoto {
    padding-top: clamp(76px, 6vw, 104px);
}

.bshReviews__stars {
    display: flex;
    gap: 6px;
    color: rgb(148 138 133 / .28);
}

.bshReviews__stars svg {
    width: 20px;
    height: 20px;
}

.bshReviews__stars .is-filled {
    color: #f5b84f;
    fill: currentColor;
}

.bshReviews blockquote {
    margin: 24px 0 30px;
    color: var(--bsh-color-headline);
    font-size: clamp(1.12rem, .99rem + .42vw, 1.45rem);
    line-height: 1.7;
    letter-spacing: -.015em;
}

.bshReviews blockquote p {
    margin: 0;
}

.bshReviews__slide footer {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.bshReviews__slide footer strong {
    color: var(--bsh-color-headline);
    font-size: 1rem;
}

.bshReviews__slide footer a,
.bshReviews__slide footer span {
    color: var(--bsh-color-body);
    font-size: .95rem;
    text-decoration: none;
}

.bshReviews__slide footer a:hover,
.bshReviews__slide footer a:focus-visible {
    color: var(--bsh-color-pastel-2);
}

.bshReviews__trustindex {
    min-height: 260px;
    padding: clamp(28px, 4vw, 56px);
    border: 1px solid var(--bsh-color-border);
    background: var(--bsh-color-white);
}

.bshReviews__media {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    background: var(--bsh-color-pastel-2);
}

.bshReviews__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1240px) {
    .bshReviews {
        grid-template-columns: minmax(0, 61%) minmax(360px, 39%);
    }

    .bshReviews__swiper {
        width: calc(100% + clamp(90px, 9vw, 150px));
    }

    .bshReviews .swiper-slide.bshReviews__slide {
        grid-template-columns: minmax(390px, 1.72fr) minmax(230px, .88fr);
    }
}

@media (max-width: 1024px) {
    .bshReviews {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .bshReviews__panel {
        grid-row: 2;
        overflow: hidden;
    }

    .bshReviews__content {
        width: 100%;
        margin-left: 0;
    }

    .bshReviews__swiper {
        width: 100%;
    }

    .bshReviews .swiper-slide.bshReviews__slide {
        grid-template-columns: minmax(0, 1.72fr) minmax(220px, .88fr);
    }

    .bshReviews__media {
        grid-row: 1;
        min-height: min(64vw, 620px);
    }
}

@media (max-width: 720px) {
    .bshReviews__heading {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 34px;
    }

    .bshReviews__navigation button {
        width: 48px;
        height: 48px;
    }

    .bshReviews .swiper-slide.bshReviews__slide {
        grid-template-columns: 1fr;
        gap: 0;
        padding-top: 0;
    }

    .bshReviews__quote {
        min-height: 150px;
    }

    .bshReviews__quote span {
        font-size: 120px;
    }

    .bshReviews__card {
        min-height: 0;
        padding: 30px 24px 34px;
        box-shadow: none;
    }

    .bshReviews__card--hasPhoto {
        padding-top: 30px;
    }

    .bshReviews__guestPhoto {
        position: static;
        width: 82px;
        height: 82px;
        margin-bottom: 20px;
    }

    .bshReviews blockquote {
        margin-block: 20px 24px;
        font-size: 1.08rem;
        line-height: 1.62;
    }

    .bshReviews__media {
        min-height: min(76vw, 500px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .bshReviews__navigation button {
        transition: none;
    }
}
