.hover-scale,
.img-hover-zoom,
.transition-slow {
    transition: transform 2.0s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.project-card:hover .img-hover-zoom,
.hover-translate-y:hover .img-hover-zoom,
.hover-translate-y:hover .transition-slow,
.hover-scale:hover {
    transform: scale(1.1) !important;
}

/* =========================================================================
   RESPONSIVE STYLES (Tablet & Mobile)
   ========================================================================= */

/* Desktop only scaling */
@media (min-width: 992px) {
    .scale-desktop {
        transform: scale(1.05);
    }
}

/* --- Mobile Portrait & Landscape (up to 767px) --- */
@media (max-width: 767.98px) {
    /* Prevent horizontal scroll */
    html, body {
        overflow-x: hidden;
        width: 100%;
    }

    /* Typography */
    h1.display-3 { font-size: 2.2rem !important; }
    h2.display-4 { font-size: 1.8rem !important; }
    .section-title { font-size: 1.6rem !important; }
    p.lead { font-size: 1rem !important; padding: 0 10px; }
    
    /* Layout Adjustments */
    .hero-section {
        min-height: 100vh;
        height: auto;
        padding-top: 120px;
        padding-bottom: 60px;
    }
    .section-padding { padding-top: 50px !important; padding-bottom: 50px !important; }
    
    /* Buttons */
    .btn-lg {
        padding: 12px 20px !important;
        font-size: 0.95rem !important;
        width: 100%;
        margin-bottom: 10px;
    }
    .d-flex.flex-sm-row.gap-3 {
        gap: 0.5rem !important;
    }

    /* Header & Logo */
    .main-header .logo img { height: 40px !important; object-fit: contain; }
    .main-header .logo { width: auto !important; max-width: 150px; }
    
    /* Component specific */
    #about .card-body, #investment .card-body { padding: 1.5rem !important; }
    
    /* Stats padding optimization */
    #vmg .row.g-4 { 
        --bs-gutter-x: 0.5rem;
        --bs-gutter-y: 0.5rem;
    }
    #vmg .col-6 { margin-top: 0; }
    #vmg .p-3 { padding: 1rem 0.5rem !important; }
    #vmg h2.display-4 { font-size: 1.5rem !important; margin-bottom: 5px !important; }
    #vmg p.small { font-size: 0.75rem !important; letter-spacing: 0px !important; }
    
    /* Features */
    #services .card { padding: 1.5rem !important; }
    
    /* Override desktop scaling */
    .scale-desktop { transform: none !important; }
}

/* --- Tablet (iPad Portrait) (768px to 991.98px) --- */
@media (min-width: 768px) and (max-width: 991.98px) {
    h1.display-3 { font-size: 2.8rem !important; }
    .section-padding { padding-top: 70px !important; padding-bottom: 70px !important; }
    .btn-lg { padding: 12px 24px !important; }
    .hero-section { min-height: 80vh; height: auto; padding-top: 100px; }
    
    .scale-desktop { transform: none !important; }
}

/* Override old navy theme to purple gradient */
.bg-navy, .bg-modern-navy { 
    background-color: #7b2cbf !important;
    background: linear-gradient(135deg, #7b2cbf 0%, #3c096c 100%) !important; 
    color: white !important; 
}
:root { 
    --clr-luxury-navy: #7b2cbf !important; 
    --bg-navy-deep: #3c096c !important;
}
.sidebar-block-header.bg-navy { 
    background: linear-gradient(135deg, #7b2cbf 0%, #3c096c 100%) !important; 
}

/* Override preloader */
.website-interface #preloader {
    background: linear-gradient(135deg, #3c096c 0%, #7b2cbf 100%) !important;
}

