/* ============ PARTNER LOGO ============ */
.partner-logo { width: 100%; height: 80px; overflow: hidden; }
.partner-logo img { width: 100%; height: 100%; object-fit: cover; }

/* ============ ROCKET ANIMATION ============ */
.rocket {
    display: inline-block;
    animation: thrust 1s ease-in-out infinite;
    filter: drop-shadow(0 0 6px rgba(16,169,166,0.9));
}
@keyframes thrust {
    0%   { transform: translateY(0) rotate(-2deg); filter: drop-shadow(0 0 4px rgba(16,169,166,0.6)); }
    50%  { transform: translateY(-6px) rotate(2deg); filter: drop-shadow(0 0 10px rgba(16,169,166,1)); }
    100% { transform: translateY(0) rotate(-2deg); filter: drop-shadow(0 0 4px rgba(16,169,166,0.6)); }
}

/* ============ PAGINATION ============ */
.pagination .page-item.active .page-link {
    background: #192f59; border-color: #192f59;
    color: white; font-weight: 600;
}

/* ============ AVATAR GROUP ============ */
.avatar-group .avatar,
.avatar-group .avatar-badge {
    width: 45px; height: 45px;
    border-radius: 50% !important;
    border: 2px solid #fff;
    margin-left: -20px;
    transition: transform 0.2s;
    object-fit: cover;
}
.avatar-group .avatar:first-child { margin-left: 0; }
.avatar-group .avatar:hover { transform: translateY(-5px); z-index: 10; }
.avatar-badge {
    background-color: #0d9488;
    color: white; font-size: 0.75rem; z-index: 1;
}

/* ============ MARQUEE ============ */
.marquee-wrapper { position: relative; overflow: hidden; }
.marquee-wrapper::before,
.marquee-wrapper::after {
    content: ""; position: absolute;
    top: 0; width: 60px; height: 100%;
    z-index: 2; pointer-events: none;
}
.marquee-wrapper::before { left: 0; background: linear-gradient(to right, #10a9a6, transparent); }
.marquee-wrapper::after  { right: 0; background: linear-gradient(to left, #10a9a6, transparent); }
.marquee-track { display: flex; width: max-content; animation: marquee 15s linear infinite; }
.marquee-item  { white-space: nowrap; padding-right: 80px; }
.marquee-wrapper:hover .marquee-track { animation-play-state: paused; }
@keyframes marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ============ CARD IMAGE ============ */
.card-img-top img { width: 100%; height: 100%; object-fit: cover; }
.img-ratio { aspect-ratio: 16 / 9; overflow: hidden; }

/* ============ STATUS DOT ============ */
.status-dot {
    width: 8px; height: 8px;
    background-color: #00ff88;
    border-radius: 50%; display: inline-block;
    animation: pulse 1.8s infinite;
}
@keyframes pulse {
    0%   { box-shadow: 0 0 0 0 rgba(0,255,136,0.7); }
    70%  { box-shadow: 0 0 0 8px rgba(0,255,136,0); }
    100% { box-shadow: 0 0 0 0 rgba(0,255,136,0); }
}

/* ============ CLIENTS ============ */
.clients { position: relative; overflow: hidden; }
.clients::before {
    content: ""; position: absolute;
    top: 0; left: 0; width: 80px; height: 100%;
    z-index: 2; pointer-events: none;
    background: linear-gradient(to right, #f3f4f6, rgba(243,244,246,0));
}
.clients::after {
    content: ""; position: absolute;
    top: 0; right: 0; width: 80px; height: 100%;
    z-index: 2; pointer-events: none;
    background: linear-gradient(to left, #f3f4f6, rgba(243,244,246,0));
}

/* ============ AVATAR INITIAL ============ */
.avatar-initial {
    width: 45px; height: 45px;
    font-size: 15px; font-weight: 600;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #1e40af);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* ============ TESTIMONIAL ============ */
.testimonial-text {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blockquote-details { display: flex; align-items: center; margin-top: 15px; }

/* ============ BACKGROUND GRID ============ */
.background-grid {
    background-image:
        linear-gradient(rgba(0,0,0,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,0,0,0.03) 1px, transparent 1px),
        radial-gradient(ellipse 60% 60% at 80% 20%, rgba(16,169,166,0.15), transparent 60%),
        linear-gradient(180deg, #FFFFFF 0%, #F7F9FC 100%) !important;
    background-size: 40px 40px, 40px 40px, auto, auto;
}

/* ============ MISC ============ */
.card .avatar { border-radius: 50% !important; }
.btn-filter { padding: 2px 12px; font-size: 12px; border-radius: 20px; }