/* Fonts */
.font-display {
    font-family: 'Noto Serif Display', serif;
}
.font-body {
    font-family: 'Poppins', sans-serif;
}

/* HEADER */
.header-logo {
    height: 82px; 
    width: auto;
}


/* ANIMATIONS */
.fade-slide-left {
    opacity: 0;
    transform: translateX(-40px);
    animation: fadeSlideLeft .9s ease-out forwards;
}

.fade-slide-right {
    opacity: 0;
    transform: translateX(40px);
    animation: fadeSlideRight .9s ease-out forwards;
}

@keyframes fadeSlideLeft {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeSlideRight {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.fade-zoom {
    opacity: 0;
    transform: scale(.95);
    animation: fadeZoom .8s ease-out forwards;
}

@keyframes fadeZoom {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.reveal {
    opacity: 0;
    transform: translateY(55px);  
    transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

.reveal:nth-child(1) { transition-delay: .1s; }
.reveal:nth-child(2) { transition-delay: .2s; }
.reveal:nth-child(3) { transition-delay: .3s; }
.reveal:nth-child(4) { transition-delay: .4s; }

.reveal-side {
    opacity: 0;
    transform: translateX(-60px);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-side:nth-child(1) { transition-delay: .2s; }
.reveal-side:nth-child(2) { transition-delay: .4s; }
.reveal-side:nth-child(3) { transition-delay: .6s; }
.reveal-side:nth-child(4) { transition-delay: .8s; }
.reveal-side:nth-child(5) { transition-delay: 1.0s; }
.reveal-side:nth-child(6) { transition-delay: 1.2s; }

.reveal-side.visible {
    opacity: 1;
    transform: translateX(0);
}

.stat-animate {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.stat-animate.visible {
  opacity: 1;
  transform: translateY(0);
}

.stat-animate:nth-child(1) { transition-delay: .2s; }
.stat-animate:nth-child(2) { transition-delay: .4s; }

.fade-section {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-section.visible {
  opacity: 1;
  transform: translateY(0);
}


/* CLIENTS */
.carousel-container {
    overflow: hidden;
    position: relative;
    width: 100%;
}
.carousel-track {
    display: flex;
    animation: scroll-left 30s linear infinite; 
}
.carousel-item {
    flex: 0 0 auto;
    width: 200px;
    height: 100px;
    margin-right: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.carousel-item img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%) opacity(60%);
    transition: filter 0.3s ease-in-out;
}
.carousel-item img:hover {
    filter: grayscale(0%) opacity(100%);
}

@keyframes scroll-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-200px * 8 - 2rem * 8)); } 
}

@media (max-width: 768px) {
    .carousel-track {
        animation: scroll-left-sm 20s linear infinite;
    }
    @keyframes scroll-left-sm {
        0% { transform: translateX(0); }
        100% { transform: translateX(calc(-150px * 10 - 1rem * 10)); }
    }
    .carousel-item {
        width: 150px;
        height: 75px;
        margin-right: 1rem;
    }
}

.inclusions-list li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.5rem;
    font-size: 0.95rem; 
    color: #4b5563; 
}

.inclusions-list .icon {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.5rem;
    color: #d4af37; 
}

.inclusions-list.dark-text li {
    color: #f5f5f5;
}

.inclusions-list.dark-text .icon {
    color: #f5f5f5;
}