.sutr-endorsements {
    --sutr-endorsements-visible: 3;
    --sutr-endorsements-columns: min(var(--sutr-endorsements-visible), var(--sutr-endorsements-total, 3));
    --sutr-endorsements-gap: clamp(18px, 2.2vw, 32px);
    color: var(--sutr-ink, #171717);
    width: 100%;
    min-width: 0;
    position: relative;
    font-family: var(--sutr-font, Arial, sans-serif);
}
.sutr-endorsements__viewport { min-width: 0; width: 100%; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
.sutr-endorsements__viewport::-webkit-scrollbar { display: none; }
.sutr-endorsements__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - (var(--sutr-endorsements-columns, var(--sutr-endorsements-visible)) - 1) * var(--sutr-endorsements-gap)) / var(--sutr-endorsements-columns, var(--sutr-endorsements-visible)));
    gap: var(--sutr-endorsements-gap);
    align-items: stretch;
}
/* Every card contributes to one row's height, so changing slides never resizes it.
   No fixed height or clipped quote text; the tallest approved quote sets the row. */
.sutr-endorsements[data-endorsements-ready="true"] .sutr-endorsements__viewport { overflow: hidden; scroll-snap-type: none; touch-action: pan-y; }
.sutr-endorsements[data-endorsements-ready="true"] .sutr-endorsements__track {
    transition: transform 420ms cubic-bezier(.22, .61, .36, 1);
}
.sutr-endorsements[data-endorsements-dragging="true"] .sutr-endorsements__track { transition: none; user-select: none; cursor: grabbing; }
.sutr-endorsements .sutr-endorsements__card {
    min-width: 0;
    margin: 0;
    padding: clamp(24px, 2.5vw, 38px);
    background: var(--sutr-white, #fff);
    border: 1px solid var(--sutr-line, #dcded5);
    border-radius: var(--sutr-card-radius, 32px);
    scroll-snap-align: start;
}
.sutr-endorsements [hidden] { display: none !important; }
.sutr-endorsements .sutr-endorsements__quote {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    color: inherit;
    font: inherit;
    text-align: left;
}
.sutr-endorsements__quote::before,
.sutr-endorsements__quote::after { content: none !important; }
.sutr-endorsements__words {
    font-size: var(--sutr-body-size, 20px);
    line-height: 1.6;
    overflow-wrap: break-word;
}
.sutr-endorsements__words p { margin: 0 0 1em; }
.sutr-endorsements__words p:last-child { margin-bottom: 0; }
.sutr-endorsements .sutr-endorsements__attribution {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 0;
    background: none;
    color: inherit;
}
.sutr-endorsements .sutr-endorsements__portrait {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    max-width: 72px;
    margin: 0;
    object-fit: cover;
    border-radius: 50%;
}
.sutr-endorsements__person { min-width: 0; }
.sutr-endorsements .sutr-endorsements__name {
    display: block;
    font-family: var(--sutr-heading, 'Arial Narrow', sans-serif);
    font-size: clamp(25px, 2vw, 31px);
    font-style: normal;
    line-height: 1.05;
    overflow-wrap: normal;
    word-break: normal;
}
.sutr-endorsements__role,
.sutr-endorsements__organisation {
    display: block;
    margin-top: 5px;
    color: var(--sutr-muted, #62645e);
    font-size: var(--sutr-small-size, 18px);
    line-height: 1.5;
}
.sutr-endorsements__controls {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 22px;
    margin-top: 0;
    padding-bottom: 5px;
}
/* Reserve controls from first paint, only when there are more cards than columns.
   The same space carries a scroll hint for the native no-JS fallback. */
.sutr-endorsements:has(.sutr-endorsements__card:nth-child(n+4)) { padding-bottom: 88px; }
.sutr-endorsements__fallback { display: none; position: absolute; inset-inline: 0; bottom: 0; min-height: 60px; margin: 0; align-items: center; justify-content: center; text-align: center; font-size: var(--sutr-small-size, 18px); }
.sutr-endorsements:has(.sutr-endorsements__card:nth-child(n+4)) .sutr-endorsements__fallback { display: flex; }
.sutr-endorsements .sutr-endorsements__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 55px;
    width: 55px;
    height: 55px;
    min-height: 55px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--sutr-button-border, #000);
    border-radius: var(--sutr-button-radius, 999px);
    background: var(--sutr-yellow, #ffee20);
    color: var(--sutr-ink, #171717);
    box-shadow: var(--sutr-button-shadow, 0 4px 0 #000);
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.sutr-endorsements .sutr-endorsements__arrow-icon { display: block; width: 16px; height: 16px; flex: none; fill: currentColor; }
.sutr-endorsements [data-endorsement-previous] .sutr-endorsements__arrow-icon { transform: rotate(180deg); }
.sutr-endorsements:dir(rtl) .sutr-endorsements__arrow-icon { transform: rotate(180deg); }
.sutr-endorsements:dir(rtl) [data-endorsement-previous] .sutr-endorsements__arrow-icon { transform: none; }
.sutr-endorsements .sutr-endorsements__arrow:hover:not([aria-disabled="true"]) {
    background: var(--sutr-pink, #e6007e);
    color: #fff;
    box-shadow: var(--sutr-button-hover-shadow, 0 0 0 #000);
    transform: translateY(4px);
}
.sutr-endorsements .sutr-endorsements__arrow[aria-disabled="true"] {
    opacity: .45;
    cursor: default;
    box-shadow: none;
}
.sutr-endorsements__arrow:focus-visible,
.sutr-endorsements__viewport:focus-visible {
    outline: 3px solid var(--sutr-pink, #e6007e);
    outline-offset: 5px;
}
.sutr-endorsements__count {
    min-width: 76px;
    font-size: var(--sutr-small-size, 18px);
    font-weight: 700;
    text-align: center;
    font-variant-numeric: tabular-nums;
}
.sutr-endorsements__sr {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
@media (max-width: 1023px) {
    .sutr-endorsements { --sutr-endorsements-visible: 2; }
    .sutr-endorsements:has(.sutr-endorsements__card:nth-child(n+3)) { padding-bottom: 88px; }
    .sutr-endorsements:has(.sutr-endorsements__card:nth-child(n+3)) .sutr-endorsements__fallback { display: flex; }
}
@media (max-width: 767px) {
    .sutr-endorsements { --sutr-endorsements-visible: 1; }
    .sutr-endorsements:has(.sutr-endorsements__card:nth-child(n+2)) { padding-bottom: 88px; }
    .sutr-endorsements:has(.sutr-endorsements__card:nth-child(n+2)) .sutr-endorsements__fallback { display: flex; }
    .sutr-endorsements__words { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .sutr-endorsements[data-endorsements-ready="true"] .sutr-endorsements__track { transition: none; }
    .sutr-endorsements .sutr-endorsements__arrow { transition: none; transform: none !important; }
}
