/* TRUST BAR — scrolling client logo marquee beneath the hero */

.trust-bar {
    background: #ffffff;
    padding: 43px 0;
    border-bottom: none;
}

.trust-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
}

/* Sentence-case label, regular weight, no mono uppercase */
.trust-label {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 0.95rem;
    color: var(--clr-navy);
    letter-spacing: 1.2px;
    margin: 0;
    text-transform: none;
}

/* Marquee viewport — soft fade at both edges so logos slide in/out cleanly */
.trust-marquee {
    width: 100%;
    overflow: hidden;
    position: relative;
    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0,
        #000 8%,
        #000 92%,
        transparent 100%
    );
            mask-image: linear-gradient(
        to right,
        transparent 0,
        #000 8%,
        #000 92%,
        transparent 100%
    );
}

.trust-marquee-track {
    display: inline-flex;
    align-items: center;
    gap: 72px;
    padding: 4px 36px;
    white-space: nowrap;
    animation: trust-marquee-slide 38s linear infinite;
    will-change: transform;
}

.trust-marquee-track:hover {
    animation-play-state: paused;
}

@keyframes trust-marquee-slide {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

/* Uniform sizing: fix the height, let widths follow each logo's aspect ratio */
.trust-logo {
    flex: 0 0 auto;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.trust-logo img {
    height: 100%;
    width: auto;
    max-width: 180px;
    object-fit: contain;
    display: block;
}

/* Per-logo optical balance — bump logos whose source artwork includes
   stacked taglines / extra whitespace so the mark itself reads larger. */
.trust-logo--lg { height: 88px; }
.trust-logo--lg img { max-width: 230px; }

.trust-logo--xl { height: 84px; }
.trust-logo--xl img { max-width: 220px; }

.trust-logo--xxl { height: 110px; }
.trust-logo--xxl img { max-width: 260px; }

@media (max-width: 1024px) {
    .trust-marquee-track { gap: 56px; }
    .trust-logo { height: 44px; }
    .trust-logo img { max-width: 150px; }
    .trust-logo--lg { height: 72px; }
    .trust-logo--xl { height: 72px; }
    .trust-logo--xxl { height: 90px; }
}

@media (max-width: 768px) {
    .trust-bar { padding: 32px 0; }
    .trust-container { gap: 14px; padding: 0 20px; }
    .trust-label { font-size: 0.85rem; text-align: center; }
    .trust-marquee-track { gap: 40px; animation-duration: 30s; }
    .trust-logo { height: 36px; }
    .trust-logo img { max-width: 120px; }
    .trust-logo--lg { height: 56px; }
    .trust-logo--xl { height: 56px; }
    .trust-logo--xxl { height: 68px; }
}

@media (prefers-reduced-motion: reduce) {
    .trust-marquee-track { animation: none; }
}
