.alp-testimonial-slider {
    box-sizing: border-box;
    margin: 0 32px;
    padding: 0;
    border-radius: 34px;
    background: #f3f2ef;
    color: #050505;
    overflow: hidden
}

.alp-testimonial-stage {
    display: flex;
    box-sizing: border-box;
    min-height: 500px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: min(1540px, calc(100% - 80px));
    padding: 72px 24px;
    text-align: center
}

.alp-testimonial-stage>.eyebrow {
    margin-bottom: 28px
}

.alp-testimonial-slides {
    display: grid;
    width: 100%;
    place-items: center
}

.alp-testimonial-slide {
    grid-area: 1/1;
    width: 100%;
    animation: alpTestimonialIn .55s cubic-bezier(.22, 1, .36, 1)
}

.alp-testimonial-slide blockquote {
    max-width: 1250px;
    margin: 0 auto;
    color: #050505;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(34px, 4.5vw, 68px);
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: -.045em
}

.alp-testimonial-slide cite {
    display: block;
    margin-top: 42px;
    font-size: 12px;
    font-style: normal;
    font-weight: 650;
    letter-spacing: .13em;
    text-transform: uppercase
}

.alp-testimonial-controls {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 42px
}

.alp-testimonial-controls>button {
    display: grid;
    width: 46px;
    height: 46px;
    padding: 0;
    place-items: center;
    border: 1px solid #d0cfcc;
    border-radius: 50%;
    background: #fff;
    color: #000;
    font-size: 20px;
    cursor: pointer
}

.alp-testimonial-dots {
    display: flex;
    gap: 8px
}

.alp-testimonial-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #b9b9b6;
    cursor: pointer;
    transition: width .25s ease, background .25s ease
}

.alp-testimonial-dots button.is-active {
    width: 26px;
    border-radius: 9px;
    background: #000
}

@keyframes alpTestimonialIn {
    from {
        opacity: 0;
        transform: translateY(18px)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@media(max-width:600px) {
    .alp-testimonial-slider {
        margin: 0 8px;
        border-radius: 26px
    }
    .alp-testimonial-stage {
        min-height: 440px;
        width: calc(100% - 30px);
        padding: 54px 4px
    }
    .alp-testimonial-slide blockquote {
        font-size: clamp(28px, 9vw, 40px)
    }
    .alp-testimonial-slide cite {
        margin-top: 30px;
        font-size: 10px
    }
    .alp-testimonial-controls {
        margin-top: 30px
    }
}

@media(prefers-reduced-motion:reduce) {
    .alp-testimonial-slide {
        animation: none
    }
}