/* BOSTAN GROUP - Animation Styles */

@keyframes float {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-20px) rotate(5deg);
    }
}

@keyframes floatSlow {

    0%,
    100% {
        transform: translateY(0) translateX(0);
    }

    50% {
        transform: translateY(-30px) translateX(10px);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }

    40% {
        transform: translateY(-10px);
    }

    60% {
        transform: translateY(-5px);
    }
}

@keyframes glow {

    0%,
    100% {
        box-shadow: 0 0 20px rgba(74, 124, 64, 0.3);
    }

    50% {
        box-shadow: 0 0 40px rgba(74, 124, 64, 0.5);
    }
}

/* Reveal animations */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity var(--duration-slow) var(--ease-premium),
        transform var(--duration-slow) var(--ease-premium);
}

.reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

.reveal-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity var(--duration-slow) var(--ease-premium),
        transform var(--duration-slow) var(--ease-premium);
}

.reveal-left.revealed {
    opacity: 1;
    transform: translateX(0);
}

.reveal-right {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity var(--duration-slow) var(--ease-premium),
        transform var(--duration-slow) var(--ease-premium);
}

.reveal-right.revealed {
    opacity: 1;
    transform: translateX(0);
}

/* Hero animations */
.hero__title {
    animation: fadeInUp 1s var(--ease-premium) 0.3s forwards;
    opacity: 0;
}

.hero__subtitle {
    animation: fadeInUp 1s var(--ease-premium) 0.5s forwards;
    opacity: 0;
}

.hero__cta {
    animation: fadeInUp 1s var(--ease-premium) 0.7s forwards;
    opacity: 0;
}

.hero__scroll {
    animation: fadeIn 1s var(--ease-premium) 1.2s forwards;
    opacity: 0;
}

.hero__scroll-icon {
    animation: bounce 2s infinite;
}

/* Floating elements */
.floating-leaf {
    position: absolute;
    pointer-events: none;
    opacity: 0.6;
}

.floating-leaf:nth-child(1) {
    animation: floatSlow 8s ease-in-out infinite;
}

.floating-leaf:nth-child(2) {
    animation: float 6s ease-in-out infinite 1s;
}

.floating-leaf:nth-child(3) {
    animation: floatSlow 7s ease-in-out infinite 2s;
}

/* Hover effects */
.hover-lift {
    transition: transform var(--duration-normal) var(--ease-premium),
        box-shadow var(--duration-normal) var(--ease-smooth);
}

.hover-lift:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-xl);
}

.hover-scale {
    transition: transform var(--duration-normal) var(--ease-premium);
}

.hover-scale:hover {
    transform: scale(1.05);
}

.hover-glow {
    transition: box-shadow var(--duration-normal) var(--ease-smooth);
}

.hover-glow:hover {
    box-shadow: var(--shadow-glow-strong);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}