/* ===============================
   ANIMATIONS – PREMIUM / SAFE
   =============================== */

/* ===============================
   DEFAULT STATE
   (NOT HIDDEN BY DEFAULT)
   =============================== */

.fade-in,
.slide-in-right {
    opacity: 1;
    transform: none;
}

/* ===============================
   ACTIVATE ONLY WITH .animate
   =============================== */

/* Subtle fade + lift */
.fade-in.animate {
    opacity: 0;
    transform: translateY(14px);
    animation: fadeInUp 1.1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Subtle slide from right */
.slide-in-right.animate {
    opacity: 0;
    transform: translateX(28px);
    animation: slideInRight 1.1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* ===============================
   KEYFRAMES
   =============================== */

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

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

/* ===============================
   BRAND LOGOS (NO GLOW, NO SCALE)
   =============================== */

.brand-logo {
    transition: opacity 0.3s ease;
}

.brand-logo:hover {
    opacity: 1;
}

/* ===============================
   ACCESSIBILITY
   =============================== */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }
}
