@media (max-width: 992px) {
    .hero h1 {
        font-size: 5rem !important; /* Larger hero text on tablets */
        margin-bottom: 2.5rem !important; /* Increased gap */
    }
    
    .hero p {
        font-size: 1.5rem !important; /* Larger subtext on tablets */
    }
}

@media (max-width: 768px) {                                                              
    .hero-title {                                                                        
        font-size: clamp(2rem, 8vw, 3.5rem) !important;                                  
        margin-bottom: 2rem !important;
        margin-top: 1rem !important; /* Adjust margin-top for mobile */
    }
    
    .hero-description {
        font-size: clamp(0.8rem, 3vw, 1rem) !important;
    }
    
    .hero-content {
        max-width: 90% !important;
        padding: 0 1rem !important;
    }
    
    .hero-btns {
        flex-direction: column;
        align-items: center;
    }
    
    .vm-container {
        flex-direction: column;
    }

    .testimonials-grid {
        gap: 5rem;
    }







    .hamburger {
        display: block; /* Show hamburger on mobile */
        z-index: 1002; /* Ensure it's above the nav-links overlay */
    }

    .hamburger.active .bar:nth-child(2) {
        opacity: 0;
    }

    .hamburger.active .bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .hamburger.active .bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }
}

@media (max-width: 480px) {
    /* General adjustments for very small screens */
    .section-title {
        font-size: 1.8rem;
    }

    /* Contact Hero section adjustments */
    .contact-hero {
        height: 40vh; /* Reduced height for very small screens */
    }
    .contact-hero h1 {
        font-size: 2.5rem; /* Adjusted font size for very small screens */
    }
    .contact-hero p {
        font-size: 1rem; /* Adjusted font size for very small screens */
    }

    /* Aggressive width constraint for contact section and its children */
    .contact-section {
        padding: 3rem 1rem; /* Reduce horizontal padding significantly */
        overflow-x: hidden;
    }

    .contact-container {
        width: 100%;
        min-width: 0; /* Allow grid items to shrink as much as possible */
    }

    .contact-info, .contact-form {
        padding: 1rem; /* Further reduce padding inside the cards */
        min-width: 0; /* Allow flex/grid items to shrink */
    }

    /* Ensure children within contact items don't overflow */
    .contact-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
        min-width: 0; /* Allow flex item to shrink */
    }

    .contact-details {
        min-width: 0; /* Allow flex item to shrink */
        width: 100%; /* Ensure it takes full available width */
        display: flex; /* Use flexbox for robust centering */
        flex-direction: column; /* Stack children vertically */
        align-items: center; /* Center items horizontally within the flex container */
        text-align: center; /* Fallback for older browsers or if flex fails */
    }

    /* General constraint for all elements within contact-info and contact-form */
    .contact-info *, .contact-form * {
        max-width: 100%;
        box-sizing: border-box;
    }

    .contact-details h4 {
        font-size: 1rem;
        /* text-align: center; Removed as flexbox on parent handles this */
    }
    .contact-details p {
        font-size: 0.9rem;
        display: flex; /* Ensure flex behavior */
        flex-direction: column; /* Stack vertically */
        gap: 0.2rem; /* Reduce gap between phone numbers */
        /* text-align: center !important; Removed as flexbox on parent handles this */
    }

    .contact-details p .inline-map-redirect-svg {
        margin-left: 0; /* Remove left margin if it's on a new line */
        display: inline-block; /* Keep it inline-block but let it flow with text */
        vertical-align: middle; /* Align with text */
    }
    .contact-details p .contact-link { /* Ensure each contact link is on its own line */
        display: block;
    }

    /* Form control adjustments to prevent overflow */
    .form-control {
        max-width: 100%;
        box-sizing: border-box;
    }

    /* Footer adjustments (same as about-us page) */
    .footer-content {
        gap: 2rem;
    }
    .footer-section h4 {
        margin-bottom: 0.8rem;
    }
    .footer-bottom {
        padding-top: 1.5rem;
    }
    .footer-bottom .btn {
        margin-bottom: 1.5rem;
    }
}