/* ===========================================
   RIZTO - RELAXED & PREMIUM ANIMATIONS
   Smooth, Slow, Cinematic
   =========================================== */

/* Base Settings */
:root {
    --anim-distance: 30px;
    --anim-duration: 0.8s;
    --anim-delay-base: 0.1s;
    --anim-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Utility Classes for JS Observer (optional) or Load */
.animate-fade-up {
    opacity: 0;
    animation: fadeUp var(--anim-duration) var(--anim-ease) forwards;
}

.animate-fade-in {
    opacity: 0;
    animation: fadeIn var(--anim-duration) var(--anim-ease) forwards;
}

/* Stagger Delays */
.delay-1 {
    animation-delay: 0.1s;
}

.delay-2 {
    animation-delay: 0.2s;
}

.delay-3 {
    animation-delay: 0.3s;
}

.delay-4 {
    animation-delay: 0.4s;
}

.delay-5 {
    animation-delay: 0.5s;
}

/* Keyframes */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(var(--anim-distance));
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* Continuous Animations */

/* 1. Subtle Float */
.float-slow {
    animation: float 6s ease-in-out infinite;
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

/* 2. Soft Pulse (Glow) */
.pulse-glow {
    animation: pulseGlow 4s ease-in-out infinite;
}

@keyframes pulseGlow {

    0%,
    100% {
        box-shadow: 0 0 0 0 var(--primary-glow);
    }

    50% {
        box-shadow: 0 0 20px 0 var(--primary-glow);
    }
}

/* 3. Rotate Slow */
.rotate-slow {
    animation: rotate 20s linear infinite;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Scroll Trigger helper (applies when class 'in-view' is added) */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s var(--anim-ease);
}

.reveal.in-view {
    opacity: 1;
    transform: translateY(0);
}