body {
    background-color: #f8fafc; /* Tailwind gray-50 */
}

.brand-bg-dark {
    background-color: #1d285a;
}

.brand-bg-orange {
    background-color: #ee7522;
}

.brand-text-orange {
    color: #ee7522;
}

.font-headline {
    font-family: 'Montserrat', sans-serif;
}

body {
    font-family: 'Lato', sans-serif;
}

.feature-card {
    background-color: white;
    border: 1px solid #e2e8f0; /* Tailwind gray-200 */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* Custom drop shadow for transparent images */
.img-drop-shadow {
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.15));
    -webkit-filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.15));
}

/* --- Scrolling Partner Banner Styles --- */

.partner-scroll-container {
    width: 100%;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
}

.partner-track {
    display: inline-block;
    animation: scroll 30s linear infinite;
}

.partner-logo-item {
    display: inline-block;
    margin: 0 40px;
    vertical-align: middle;
}

.partner-logo-item img {
    height: 50px; 
    width: auto;
    object-fit: contain;
    filter: grayscale(100%); 
    opacity: 0.7;
    transition: all 0.3s ease;
}

.partner-logo-item img:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.1);
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

.partner-scroll-container:hover .partner-track {
    animation-play-state: paused;
}