.bw-reviews{
    --bw-reviews-accent:#F30101;
    --bw-reviews-bg:#fbfaf7;
    --bw-reviews-card:#fffdf8;
    --bw-reviews-line:rgba(243,1,1,.28);
    --bw-reviews-text:#111;
    position:relative;
    overflow:hidden;
    isolation:isolate;
    padding:
        clamp(24px,var(--bw-reviews-desktop-top,30px),34px)
        0
        clamp(50px,var(--bw-reviews-desktop-bottom,58px),64px);
    background:
        radial-gradient(circle at 50% 24%,rgba(243,1,1,.025),transparent 34%),
        var(--bw-reviews-bg);
    color:var(--bw-reviews-text);
}

.bw-reviews__shell{
    position:relative;
    z-index:2;
}

.bw-reviews__header{
    width:min(100%,980px);
    margin:0 auto 13px;
    text-align:center;
}

.bw-reviews__eyebrow{
    margin:0;
    color:var(--bw-reviews-accent);
    font-family:inherit;
    font-size:clamp(.68rem,.64rem + .12vw,.82rem);
    font-weight:700;
    letter-spacing:.21em;
    line-height:1.25;
    text-transform:uppercase;
}

.bw-reviews__eyebrow-line{
    position:relative;
    display:block;
    width:98px;
    height:1px;
    margin:8px auto 10px;
    background:linear-gradient(90deg,transparent,var(--bw-reviews-accent) 24%,var(--bw-reviews-accent) 76%,transparent);
}

.bw-reviews__eyebrow-line::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:7px;
    height:7px;
    border:1px solid var(--bw-reviews-accent);
    background:var(--bw-reviews-bg);
    transform:translate(-50%,-50%) rotate(45deg);
}

.bw-reviews__title{
    margin:0;
    color:#111;
    font-family:var(--font-display,inherit);
    font-size:clamp(2.15rem,1.68rem + 1.7vw,3.65rem);
    font-weight:600;
    letter-spacing:-.03em;
    line-height:.98;
}

.bw-reviews__carousel{
    position:relative;
}

.bw-reviews__viewport{
    position:relative;
    width:100%;
    height:342px;
    overflow:hidden;
}

.bw-reviews__track{
    position:relative;
    width:100%;
    height:100%;
}

.bw-reviews__card{
    position:absolute;
    top:4px;
    left:50%;
    width:min(630px,52vw);
    min-height:325px;
    opacity:0;
    pointer-events:none;
    transform:translateX(-50%) scale(.9);
    transition:
        transform var(--bw-reviews-transition,360ms) cubic-bezier(.22,.61,.36,1),
        opacity var(--bw-reviews-transition,360ms) ease,
        left var(--bw-reviews-transition,360ms) cubic-bezier(.22,.61,.36,1);
    z-index:1;
}

.bw-reviews__card--active{
    left:50%;
    opacity:1;
    pointer-events:auto;
    transform:translateX(-50%) scale(1);
    z-index:4;
}

.bw-reviews__card--prev,
.bw-reviews__card--next{
    top:15px;
    width:min(385px,31vw);
    min-height:300px;
    opacity:.72;
    z-index:2;
}

.bw-reviews__card--prev{
    left:1.5%;
    transform:translateX(-58%) scale(.94);
}

.bw-reviews__card--next{
    left:98.5%;
    transform:translateX(-42%) scale(.94);
}

.bw-reviews[data-side-desktop="false"] .bw-reviews__card--prev,
.bw-reviews[data-side-desktop="false"] .bw-reviews__card--next,
.bw-reviews__card--hidden{
    opacity:0;
    pointer-events:none;
    visibility:hidden;
}

.bw-reviews__ticket{
    position:relative;
    min-height:325px;
    filter:drop-shadow(0 13px 22px rgba(25,12,12,.08));
}

.bw-reviews__ticket-frame{
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    display:block;
    object-fit:fill;
    pointer-events:none;
    user-select:none;
}

.bw-reviews__ticket-content{
    position:relative;
    z-index:2;
    min-height:325px;
    display:flex;
    flex-direction:column;
    padding:20px 31px 18px;
}

.bw-reviews__service-row{
    position:relative;
    min-height:40px;
    display:flex;
    align-items:center;
    gap:11px;
    padding-right:176px;
}

.bw-reviews__service-icon{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    padding:7px;
    border:1px solid rgba(243,1,1,.34);
    border-radius:50%;
    color:var(--bw-reviews-accent);
    background:#fff;
}

.bw-reviews__service-icon svg,
.bw-reviews__reviewer-avatar svg,
.bw-reviews__meta-icon svg,
.bw-reviews__arrow svg,
.bw-reviews__cta-icon svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.bw-reviews__service{
    margin:0;
    color:var(--bw-reviews-accent);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.065em;
    line-height:1.2;
    text-transform:uppercase;
}

.bw-reviews__skyline{
    position:absolute;
    top:-8px;
    right:0;
    width:166px;
    height:54px;
    object-fit:contain;
    object-position:right center;
    opacity:.8;
}

.bw-reviews__divider{
    position:relative;
    height:1px;
    margin:10px 0 11px;
    background:linear-gradient(90deg,transparent,var(--bw-reviews-accent) 10%,var(--bw-reviews-accent) 90%,transparent);
    opacity:.42;
}

.bw-reviews__divider span{
    position:absolute;
    left:50%;
    top:50%;
    width:7px;
    height:7px;
    border:1px solid var(--bw-reviews-accent);
    background:var(--bw-reviews-card);
    transform:translate(-50%,-50%) rotate(45deg);
}

.bw-reviews__divider--short{
    width:76%;
    margin:9px auto 10px;
}

.bw-reviews__quote{
    position:relative;
    margin:0;
    padding:0 24px;
    min-height:75px;
    display:flex;
    align-items:center;
}

.bw-reviews__quote p{
    width:100%;
    margin:0;
    color:#151515;
    font-family:inherit;
    font-size:clamp(.96rem,.9rem + .22vw,1.12rem);
    font-style:normal;
    line-height:1.44;
}

.bw-reviews__quote-open,
.bw-reviews__quote-close{
    position:absolute;
    color:var(--bw-reviews-accent);
    font-family:Georgia,serif;
    font-size:3.25rem;
    line-height:1;
    opacity:.73;
}

.bw-reviews__quote-open{left:-1px;top:-8px}
.bw-reviews__quote-close{right:0;bottom:-14px}

.bw-reviews__reviewer{
    display:flex;
    align-items:center;
    gap:11px;
}

.bw-reviews__reviewer-avatar{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    padding:7px;
    border:1px solid rgba(243,1,1,.38);
    border-radius:50%;
    color:var(--bw-reviews-accent);
    background:#fff;
}

.bw-reviews__reviewer-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:1px;
}

.bw-reviews__reviewer-copy strong{
    color:#111;
    font-size:.9rem;
    line-height:1.2;
}

.bw-reviews__reviewer-copy span{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    color:rgba(0,0,0,.63);
    font-size:.75rem;
    line-height:1.3;
}

.bw-reviews__reviewer-copy i{
    width:1px;
    height:12px;
    background:rgba(0,0,0,.2);
}

.bw-reviews__meta{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    margin:10px 0 0;
    padding:5px 0 0;
    border-top:1px dashed rgba(243,1,1,.21);
}

.bw-reviews__meta-item{
    min-width:0;
    display:grid;
    grid-template-columns:25px minmax(0,1fr);
    align-items:center;
    gap:7px;
    padding:6px 9px;
}

.bw-reviews__meta-item:nth-child(odd){border-right:1px solid rgba(243,1,1,.13)}
.bw-reviews__meta-item:nth-child(n+3){border-top:1px solid rgba(243,1,1,.1)}

.bw-reviews__meta-icon{
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    color:var(--bw-reviews-accent);
}

.bw-reviews__meta dt{
    margin:0;
    color:rgba(0,0,0,.52);
    font-size:.56rem;
    font-weight:700;
    letter-spacing:.04em;
    line-height:1.15;
    text-transform:uppercase;
}

.bw-reviews__meta dd{
    margin:2px 0 0;
    color:#111;
    font-size:.7rem;
    line-height:1.25;
}

.bw-reviews__card--prev .bw-reviews__ticket,
.bw-reviews__card--next .bw-reviews__ticket,
.bw-reviews__card--prev .bw-reviews__ticket-content,
.bw-reviews__card--next .bw-reviews__ticket-content{
    min-height:300px;
}

.bw-reviews__card--prev .bw-reviews__ticket-content,
.bw-reviews__card--next .bw-reviews__ticket-content{
    padding:20px 25px 18px;
}

.bw-reviews__card--prev .bw-reviews__service-row,
.bw-reviews__card--next .bw-reviews__service-row{
    padding-right:0;
}

.bw-reviews__card--prev .bw-reviews__skyline,
.bw-reviews__card--next .bw-reviews__skyline,
.bw-reviews__card--prev .bw-reviews__meta,
.bw-reviews__card--next .bw-reviews__meta{
    display:none;
}

.bw-reviews__card--prev .bw-reviews__quote,
.bw-reviews__card--next .bw-reviews__quote{
    min-height:112px;
    padding-inline:17px;
}

.bw-reviews__card--prev .bw-reviews__quote p,
.bw-reviews__card--next .bw-reviews__quote p{
    display:-webkit-box;
    overflow:hidden;
    font-size:.88rem;
    line-height:1.47;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
}

.bw-reviews__card--prev .bw-reviews__divider--short,
.bw-reviews__card--next .bw-reviews__divider--short{
    width:85%;
}

.bw-reviews__controls{
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:17px;
    margin-top:2px;
}

.bw-reviews__arrow{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    padding:9px;
    border:1px solid var(--bw-reviews-accent);
    border-radius:50%;
    background:var(--bw-reviews-accent);
    color:#fff;
    cursor:pointer;
    box-shadow:0 7px 16px rgba(243,1,1,.17);
    transition:transform .25s ease,filter .25s ease,box-shadow .25s ease;
}

.bw-reviews__arrow:hover{
    transform:translateY(-2px);
    filter:brightness(.92);
    box-shadow:0 10px 20px rgba(243,1,1,.22);
}

.bw-reviews__arrow:focus-visible,
.bw-reviews__dot:focus-visible,
.bw-reviews__cta:focus-visible{
    outline:3px solid rgba(243,1,1,.25);
    outline-offset:3px;
}

.bw-reviews__dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
}

.bw-reviews__dot{
    width:8px;
    height:8px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(0,0,0,.16);
    cursor:pointer;
    transition:transform .25s ease,background-color .25s ease;
}

.bw-reviews__dot:hover{transform:scale(1.18)}
.bw-reviews__dot--active{background:var(--bw-reviews-accent);transform:scale(1.25)}

.bw-reviews__cta-wrap{
    display:flex;
    justify-content:center;
    margin-top:7px;
}

.bw-reviews__cta{
    min-height:44px;
    min-width:258px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    padding:10px 23px;
    border:1px solid var(--bw-reviews-accent);
    border-radius:6px;
    background:var(--bw-reviews-accent);
    color:#fff;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.085em;
    line-height:1.2;
    text-decoration:none;
    text-transform:uppercase;
    box-shadow:0 9px 20px rgba(243,1,1,.19);
    transition:transform .25s ease,filter .25s ease,box-shadow .25s ease;
}

.bw-reviews__cta:hover{
    transform:translateY(-2px);
    filter:brightness(.92);
    box-shadow:0 12px 24px rgba(243,1,1,.23);
}

.bw-reviews__cta-icon{
    width:19px;
    height:19px;
    display:grid;
    place-items:center;
    transition:transform .25s ease;
}

.bw-reviews__cta:hover .bw-reviews__cta-icon{transform:translateX(4px)}

.bw-reviews__bottom-curve{
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    z-index:1;
    width:100%;
    height:56px;
    display:block;
    object-fit:fill;
    pointer-events:none;
}

@media (max-width:1199px){
    .bw-reviews__viewport{height:338px}
    .bw-reviews__card,
    .bw-reviews__card--active{width:min(610px,59vw)}
    .bw-reviews__card--prev,
    .bw-reviews__card--next{width:min(350px,34vw)}
}

@media (max-width:1023px){
    .bw-reviews{
        padding:
            clamp(25px,var(--bw-reviews-tablet-top,30px),34px)
            0
            clamp(48px,var(--bw-reviews-tablet-bottom,54px),60px);
    }

    .bw-reviews__header{margin-bottom:12px}
    .bw-reviews__title{font-size:clamp(2.1rem,5vw,3.25rem)}
    .bw-reviews__viewport{height:350px}
    .bw-reviews__card,
    .bw-reviews__card--active{width:min(590px,72vw)}
    .bw-reviews__card--prev,
    .bw-reviews__card--next{width:min(310px,39vw)}

    .bw-reviews[data-side-tablet="false"] .bw-reviews__card--prev,
    .bw-reviews[data-side-tablet="false"] .bw-reviews__card--next{
        opacity:0;
        visibility:hidden;
    }

    .bw-reviews__service-row{padding-right:145px}
    .bw-reviews__skyline{width:138px}
}

@media (max-width:767px){
    .bw-reviews{
        padding:
            clamp(28px,var(--bw-reviews-mobile-top,32px),38px)
            0
            clamp(46px,var(--bw-reviews-mobile-bottom,52px),58px);
    }

    .bw-reviews__header{margin-bottom:15px}
    .bw-reviews__title{font-size:clamp(2rem,9.6vw,2.9rem)}
    .bw-reviews__viewport{height:auto;overflow:visible}
    .bw-reviews__track{height:auto}

    .bw-reviews__card,
    .bw-reviews__card--active{
        position:relative;
        top:auto;
        left:auto;
        width:100%;
        min-height:0;
        opacity:1;
        transform:none;
    }

    .bw-reviews__card:not(.bw-reviews__card--active){display:none}
    .bw-reviews[data-side-mobile="true"] .bw-reviews__card--prev,
    .bw-reviews[data-side-mobile="true"] .bw-reviews__card--next{display:none}

    .bw-reviews__ticket,
    .bw-reviews__ticket-content{
        min-height:0;
    }

    .bw-reviews__ticket-content{
        padding:24px 20px 21px;
    }

    .bw-reviews__service-row{padding-right:0}
    .bw-reviews__service-icon{width:39px;height:39px;padding:7px}
    .bw-reviews__skyline{display:none}
    .bw-reviews__quote{min-height:0;padding:0 20px}
    .bw-reviews__quote p{font-size:.96rem;line-height:1.52}
    .bw-reviews__quote-open,
    .bw-reviews__quote-close{font-size:3rem}
    .bw-reviews__reviewer-avatar{width:42px;height:42px}
    .bw-reviews__meta{grid-template-columns:1fr}
    .bw-reviews__meta-item:nth-child(odd){border-right:0}
    .bw-reviews__meta-item:nth-child(n+2){border-top:1px solid rgba(243,1,1,.1)}
    .bw-reviews__controls{gap:15px;margin-top:14px}
    .bw-reviews__dots{gap:8px}
    .bw-reviews__cta-wrap{margin-top:11px}
    .bw-reviews__cta{width:100%;min-width:0;min-height:46px}
    .bw-reviews__bottom-curve{height:44px}
}

@media (max-width:389px){
    .bw-reviews__ticket-content{padding-inline:17px}
    .bw-reviews__quote{padding-inline:17px}
    .bw-reviews__reviewer-copy span{font-size:.72rem}
    .bw-reviews__meta-item{padding-inline:5px}
}

@media (prefers-reduced-motion:reduce){
    .bw-reviews__card,
    .bw-reviews__arrow,
    .bw-reviews__dot,
    .bw-reviews__cta,
    .bw-reviews__cta-icon{
        transition:none!important;
        scroll-behavior:auto!important;
    }
}
