@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;900&display=swap');

* {
    font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: white;
}

.gradient-text {
    background: linear-gradient(135deg, #efbe1d 0%, #ffd700 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 30px rgba(239, 190, 29, 0.6); }
    50% { box-shadow: 0 0 50px rgba(239, 190, 29, 0.9); }
}

.pulse-glow {
    animation: pulse-glow 2s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-15px); }
}

.float-animation {
    animation: float 3s ease-in-out infinite;
}

/* Sticky CTA Mobile */
.sticky-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
    transform: translateY(100%);
    transition: transform 0.3s ease-out;
}

.sticky-cta.visible {
    transform: translateY(0);
}

/* Carousel */
.carousel-container {
    position: relative;
    overflow: hidden;
    padding-bottom: 0.5rem;
}

.carousel-track {
    display: flex;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    gap: 2rem;
}

.carousel-item {
    flex: 0 0 100%;
    max-width: 100%;
}

@media (min-width: 768px) {
    .carousel-item {
        flex: 0 0 calc(50% - 1rem);
        max-width: calc(50% - 1rem);
    }
}

@media (min-width: 1024px) {
    .carousel-item {
        flex: 0 0 calc(33.333% - 1.333rem);
        max-width: calc(33.333% - 1.333rem);
    }
}

.bg-pattern {
    background-image: 
        radial-gradient(circle at 20% 50%, rgba(239, 190, 29, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(0, 80, 30, 0.08) 0%, transparent 50%);
}
