/* v1.6.0 — three alternating rows */
.gastineau-team-strip {
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.gastineau-team-strip__row {
    width: 100%;
    overflow: hidden;
}
.gastineau-team-strip__track {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    will-change: transform;
}
/* Top row — left to right */
.gastineau-team-strip__row--top .gastineau-team-strip__track {
    animation: gg-marquee-right 40s linear infinite;
}
/* Middle row — right to left */
.gastineau-team-strip__row--middle .gastineau-team-strip__track {
    animation: gg-marquee-left 40s linear infinite;
}
/* Bottom row — left to right */
.gastineau-team-strip__row--bottom .gastineau-team-strip__track {
    animation: gg-marquee-right 40s linear infinite;
}
/* Pause on hover */
.gastineau-team-strip__row:hover .gastineau-team-strip__track {
    animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
    .gastineau-team-strip__track {
        animation: none !important;
    }
}
@keyframes gg-marquee-left {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@keyframes gg-marquee-right {
    from { transform: translateX(-50%); }
    to   { transform: translateX(0); }
}

/* -------------------------
   Card
------------------------- */
.gastineau-team-strip__card {
    flex-shrink: 0;
    width: clamp(140px, 18vw, 260px);
    aspect-ratio: var(--ratio, 5/4);
    overflow: hidden;
    background: var(--clr-secondary-100, #E5EBF0);
    position: relative;
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.gastineau-team-strip__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.gastineau-team-strip__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--clr-secondary-100, #E5EBF0);
}
.gastineau-team-strip__placeholder svg {
    width: 40%;
    height: 40%;
    fill: var(--clr-secondary-400, #A9BDCD);
}
/* Dim all cards when any card is hovered */
.gastineau-team-strip.is-hovering .gastineau-team-strip__card {
    opacity: 0.45;
}
/* Keep the hovered card bright */
.gastineau-team-strip.is-hovering .gastineau-team-strip__card.is-hovered {
    opacity: 1;
    transform: scale(1.03);
}

/* -------------------------
   Name overlay — visible on card hover
------------------------- */
.gastineau-team-strip__name {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem 0.875rem 0.625rem;
    background: linear-gradient(to top, rgba(15, 25, 30, 0.72) 0%, transparent 100%);
    color: #fff;
    font-family: "Manrope", system-ui, sans-serif;
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.25s ease, transform 0.25s ease;
    pointer-events: none;
}
.gastineau-team-strip__card:hover .gastineau-team-strip__name {
    opacity: 1;
    transform: translateY(0);
}
.gastineau-team-strip__empty {
    color: var(--clr-secondary-600, #778A9A);
    font-size: 0.875rem;
    padding: 1rem 0;
}