/* Preloader */
    @keyframes rotate-zoom {0%{transform:rotate(0deg) scale(1);}50%{transform:rotate(180deg) scale(1.1);}100%{transform:rotate(360deg) scale(1);}}
    .animate-rotate-zoom {animation: rotate-zoom 2s linear infinite;}
    @keyframes exit-zoom-fade {0%{opacity:1;transform:scale(1);}100%{opacity:0;transform:scale(1.5);}}
    .exit-zoom-fade {animation:exit-zoom-fade 3s forwards;}

    /* Scroll Fade + Zoom */
    .fade-slide-zoom {opacity:0; transform: scale(0.95) translateY(50px); transition: all 0.8s ease-out;}
    .fade-slide-zoom.in-view {opacity:1; transform: scale(1) translateY(0);}

    /* Hero Button 3D Hover */
    .hero-btn {transition: transform 0.3s, box-shadow 0.3s;}
    .hero-btn:hover {transform: translateY(-5px) scale(1.05); box-shadow: 0 10px 25px rgba(0,0,0,0.3);}

    /* Cards 3D Hover */
    .card-btn {transition: transform 0.3s, box-shadow 0.3s;}
    .card-btn:hover {transform: translateY(-5px) scale(1.05); box-shadow: 0 8px 20px rgba(0,0,0,0.2);}

    /* Mobile Menu */
    #mobile-menu {position: fixed; top:0; right:-100%; width:70%; max-width:250px; height:100%; background-color:#fff; color:#111; transition:0.3s; z-index:60; overflow-y:auto; padding:1rem;}
    #mobile-menu.dark {background-color:#1f2937; color:#f9fafb;}
    #mobile-menu.open {right:0;}
    .accordion-content {max-height:0; overflow:hidden; transition:max-height 0.3s ease;}

/* Mobile / Desktop Topspace */
.topspace { margin-top: 0; }
@media (min-width: 768px) { .topspace { margin-top: 100px; } }
