/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@500;600;700&display=swap');

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.no-scrollbar {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}

/* Custom styles for Hero Spotlights */
.hero-underline {
    stroke-dasharray: 0 100;
}

/* Spring transition physics helper */
.spring-transition {
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Cookie consent modal positioning */
.cookie-consent-fixed {
    position: fixed;
    bottom: 24px;
    left: 24px;
    right: 24px;
    z-index: 90;
    max-width: 450px;
}

@media (max-width: 640px) {
    .cookie-consent-fixed {
        left: 12px;
        right: 12px;
        bottom: 12px;
        max-width: none;
    }
}

/* Infinite Marquee Scroll */
@keyframes infinite-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-50% - 1.5rem)); /* Offset by half the gap spacing */
    }
}

.animate-infinite-scroll {
    animation: infinite-scroll 30s linear infinite;
}

.animate-infinite-scroll:hover {
    animation-play-state: paused;
}

