.hot-testimonials {
    --hot-brand: #5E9FB1;
    --hot-accent: #5E9FB1;
    --hot-ink: color-mix(in srgb, var(--hot-brand) 36%, black);
    --hot-muted: color-mix(in srgb, var(--hot-brand) 58%, black);
    --hot-panel: white;
    --hot-line: color-mix(in srgb, var(--hot-brand) 24%, transparent);
    --hot-shadow: 0 24px 58px color-mix(in srgb, var(--hot-brand) 22%, transparent);
    background:
        linear-gradient(120deg, color-mix(in srgb, var(--hot-brand) 10%, white), color-mix(in srgb, var(--hot-brand) 4%, white) 48%, color-mix(in srgb, var(--hot-brand) 14%, white)),
        white;
    color: var(--hot-ink);
    font-weight: 300;
    padding: clamp(40px, 7vw, 96px) 20px;
}

.hot-testimonials *,
.hot-testimonials *::before,
.hot-testimonials *::after {
    box-sizing: border-box;
}

.hot-testimonials__inner {
    margin: 0 auto;
    max-width: 1180px;
}

.hot-testimonials__heading {
    display: grid;
    gap: 12px;
    margin-bottom: clamp(28px, 4vw, 48px);
    max-width: 760px;
}

.hot-testimonials__kicker {
    color: var(--hot-brand);
    font-size: 0.78rem;
    font-weight: 300;
    letter-spacing: 0;
    margin: 0;
    text-transform: uppercase;
}

.hot-testimonials__heading h2 {
    color: var(--hot-ink);
    font-size: clamp(2rem, 5vw, 4.5rem);
    font-weight: 300;
    line-height: 0.96;
    letter-spacing: 0;
    margin: 0;
    max-width: 11ch;
}

.hot-testimonials__heading p:last-child {
    color: var(--hot-muted);
    font-size: clamp(1rem, 1.8vw, 1.18rem);
    line-height: 1.45;
    margin: 0;
    max-width: 680px;
}

.hot-testimonials__stage {
    align-items: stretch;
    display: grid;
    gap: clamp(18px, 3vw, 34px);
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
}

.hot-testimonials__spotlight {
    min-width: 0;
    position: relative;
}

.hot-testimonial-card {
    background: var(--hot-panel);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--hot-accent), transparent 89%), transparent 48%),
        var(--hot-panel);
    border: 1px solid var(--hot-line);
    border-radius: 8px;
    box-shadow: var(--hot-shadow);
    isolation: isolate;
    min-height: clamp(420px, 46vw, 580px);
    overflow: hidden;
    padding: clamp(28px, 5vw, 58px);
    position: relative;
}

.hot-testimonial-card.is-featured {
    box-shadow: 0 28px 72px color-mix(in srgb, var(--hot-brand) 27%, transparent);
}

.hot-testimonial-card::before {
    background: var(--hot-accent);
    content: "";
    height: 100%;
    left: 0;
    opacity: 0.92;
    position: absolute;
    top: 0;
    width: 8px;
}

.hot-testimonial-card::after {
    border: 1px solid color-mix(in srgb, var(--hot-accent), transparent 45%);
    border-radius: 999px;
    content: "";
    height: 190px;
    pointer-events: none;
    position: absolute;
    right: clamp(20px, 5vw, 58px);
    top: clamp(20px, 5vw, 58px);
    width: 190px;
    z-index: -1;
}

.hot-testimonial-card[hidden] {
    display: none;
}

.hot-testimonial-card.is-active {
    animation: hot-card-in 420ms ease both;
}

.hot-testimonial-card__texture {
    align-items: end;
    display: flex;
    gap: 8px;
    height: 72px;
    position: absolute;
    right: clamp(28px, 6vw, 78px);
    top: clamp(34px, 6vw, 78px);
    width: 132px;
    z-index: -1;
}

.hot-testimonial-card__texture span {
    background: color-mix(in srgb, var(--hot-accent), transparent 25%);
    border-radius: 999px;
    display: block;
    width: 10px;
}

.hot-testimonial-card__texture span:nth-child(1) {
    height: 42px;
}

.hot-testimonial-card__texture span:nth-child(2) {
    height: 72px;
}

.hot-testimonial-card__texture span:nth-child(3) {
    height: 54px;
}

.hot-testimonial-card__texture span:nth-child(4) {
    height: 28px;
}

.hot-testimonial-card__context {
    align-items: center;
    color: var(--hot-brand);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 1.25em;
    margin: 0 0 clamp(22px, 3vw, 38px);
    max-width: min(100%, 540px);
    text-transform: uppercase;
}

.hot-testimonial-card blockquote {
    color: var(--hot-ink);
    font-family: inherit;
    font-size: clamp(1.02rem, 1.45vw, 1.38rem);
    font-weight: 300;
    letter-spacing: 0;
    line-height: 1.25em;
    margin: 0;
    max-width: 820px;
}

.hot-testimonial-card blockquote::before {
    color: var(--hot-accent);
    content: "\201C";
    display: block;
    font-size: clamp(4rem, 8vw, 7.4rem);
    font-weight: 300;
    line-height: 0.7;
    margin-bottom: 12px;
}

.hot-testimonial-card footer {
    align-items: center;
    border-top: 1px solid var(--hot-line);
    display: flex;
    justify-content: space-between;
    margin-top: clamp(28px, 5vw, 52px);
    padding-top: 22px;
}

.hot-testimonial-card footer strong {
    color: var(--hot-ink);
    display: block;
    font-size: 1.04rem;
    font-weight: 300;
}

.hot-testimonial-card footer span {
    color: var(--hot-muted);
    display: block;
    font-size: 0.94rem;
    margin-top: 4px;
}

.hot-testimonials__controls {
    bottom: 24px;
    display: flex;
    gap: 10px;
    position: absolute;
    right: 24px;
}

.hot-testimonials__arrow,
.hot-testimonials__jump {
    appearance: none;
    border: 0;
    cursor: pointer;
    font: inherit;
}

.hot-testimonials__arrow {
    align-items: center;
    background: var(--hot-brand);
    border-radius: 999px;
    color: white;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    transition: transform 180ms ease, background 180ms ease;
    width: 44px;
}

.hot-testimonials__arrow:hover,
.hot-testimonials__arrow:focus-visible {
    background: color-mix(in srgb, var(--hot-brand) 82%, black);
    transform: translateY(-2px);
}

.hot-testimonials__arrow:focus-visible,
.hot-testimonials__jump:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--hot-brand) 35%, transparent);
    outline-offset: 3px;
}

.hot-testimonials__rail {
    align-content: start;
    display: grid;
    gap: 12px;
}

.hot-testimonials__jump {
    background: color-mix(in srgb, var(--hot-brand) 7%, white);
    border: 1px solid color-mix(in srgb, var(--hot-brand) 18%, transparent);
    border-radius: 8px;
    color: var(--hot-ink);
    display: grid;
    gap: 4px;
    grid-template-columns: auto 1fr;
    min-height: 92px;
    padding: 16px;
    text-align: left;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.hot-testimonials__jump span {
    align-items: center;
    background: color-mix(in srgb, var(--hot-brand) 18%, white);
    border-radius: 999px;
    color: var(--hot-ink);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 300;
    grid-row: span 2;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.hot-testimonials__jump strong {
    align-self: end;
    font-size: 1rem;
    font-weight: 300;
}

.hot-testimonials__jump small {
    color: var(--hot-muted);
    font-size: 0.88rem;
}

.hot-testimonials__jump:hover,
.hot-testimonials__jump:focus-visible,
.hot-testimonials__jump.is-active {
    background: white;
    border-color: color-mix(in srgb, var(--hot-accent), transparent 25%);
    box-shadow: 0 16px 36px color-mix(in srgb, var(--hot-brand) 16%, transparent);
    transform: translateY(-2px);
}

.hot-testimonials__jump.is-active {
    border-left: 6px solid var(--hot-accent);
}

@keyframes hot-card-in {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 860px) {
    .hot-testimonials__stage {
        grid-template-columns: 1fr;
    }

    .hot-testimonials__rail {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .hot-testimonials__jump {
        min-height: 112px;
    }
}

@media (max-width: 640px) {
    .hot-testimonials {
        padding-left: 12px;
        padding-right: 12px;
    }

    .hot-testimonials__heading h2 {
        font-size: clamp(1.45rem, 8vw, 2rem);
        line-height: 1.02;
        max-width: 100%;
    }

    .hot-testimonials__heading p:last-child {
        font-size: 0.87rem;
        line-height: 1.35;
    }

    .hot-testimonial-card {
        min-height: 0;
        padding: 24px 18px 78px;
    }

    .hot-testimonial-card__context {
        font-size: 0.68rem;
        line-height: 1.25em;
        margin-bottom: 18px;
    }

    .hot-testimonial-card::after,
    .hot-testimonial-card__texture {
        display: none;
    }

    .hot-testimonial-card blockquote {
        font-size: 0.86rem;
        font-weight: 300;
        line-height: 1.25em;
    }

    .hot-testimonial-card blockquote::before {
        font-size: 2.6rem;
        margin-bottom: 8px;
    }

    .hot-testimonial-card footer {
        margin-top: 22px;
        padding-top: 16px;
    }

    .hot-testimonial-card footer strong {
        font-size: 0.92rem;
    }

    .hot-testimonial-card footer span {
        font-size: 0.82rem;
    }

    .hot-testimonials__controls {
        bottom: 20px;
        left: 22px;
        right: auto;
    }

    .hot-testimonials__rail {
        display: flex;
        overflow-x: auto;
        padding-bottom: 8px;
        scroll-snap-type: x mandatory;
    }

    .hot-testimonials__jump {
        flex: 0 0 min(82vw, 280px);
        scroll-snap-align: start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hot-testimonial-card.is-active,
    .hot-testimonials__arrow,
    .hot-testimonials__jump {
        animation: none;
        transition: none;
    }
}
