/* A static strip remains usable before the carousel is enhanced. */
.lm-cert-section { scroll-margin-top: 110px; }
.lm-cert-carousel {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    padding-block: 24px;
    color: var(--sf-text);
    background: var(--sf-surface);
}
.lm-cert-carousel .lm-cert-slide { display: block; flex: 0 0 26%; min-width: 180px; }
.lm-cert-carousel .lm-cert-slide img { display: block; width: 100%; height: auto; aspect-ratio: 800 / 1131; object-fit: contain; background: var(--sf-surface); }
.lm-cert-carousel.is-ready {
    display: block;
    position: relative;
    height: clamp(340px, 44vw, 620px);
    overflow: hidden;
    perspective: 1400px;
    isolation: isolate;
    padding: 0;
    touch-action: pan-y;
}
.lm-cert-carousel.is-ready .lm-cert-slide {
    position: absolute;
    top: 50%;
    left: 50%;
    width: clamp(210px, 29vw, 370px);
    min-width: 0;
    transform-origin: center;
    backface-visibility: hidden;
    box-shadow: var(--sf-shadow-card);
}
.lm-cert-carousel .lm-cert-slide:focus-visible { outline: 2px solid var(--sf-focus); outline-offset: 4px; }
@media (max-width: 600px) {
    .lm-cert-carousel.is-ready { height: 370px; perspective: 900px; }
    .lm-cert-carousel.is-ready .lm-cert-slide { width: 220px; }
}
