.app-box {
    backface-visibility: hidden;
    transform-style: preserve-3d;
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.app-box[data-animated="false"] {
    visibility: hidden;
    opacity: 0;
    filter: blur(1px);
    transform: translateY(40px) scale(0.9) translateZ(0);
    will-change: transform, opacity, filter;
}

.app-box[data-animated="true"] {
    visibility: visible;
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) scale(1) translateZ(0);
}

.app-box[data-animated="true"]:hover {
    filter: brightness(1.03);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15);
    transform: translateY(-5px) scale(1.02) translateZ(0);
    transition-duration: 0.3s;
}

.fl-line {
    position: relative;
    margin: 1rem 0;
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.fl-line.visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 768px) {
    .app-box[data-animated="true"]:hover {
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
        transform: translateY(-3px) scale(1.01) translateZ(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .app-box,
    .fl-line {
        visibility: visible;
        opacity: 1;
        filter: none;
        transform: none;
        transition: none;
    }
}
