html, body {
    max-width: 100%;
    overflow-x: hidden;
}
/* Main Font Families */
body { 
    font-family: 'Inter', sans-serif; 
}

.font-londrina { 
    font-family: 'Londrina Solid', sans-serif; 
}

/* Hero Section 
   Darker, more industrial overlay for text readability 
*/
.hero-bg {
    /* REPLACE 'images/excavator-on-site.jpeg' WITH A REAL PHOTO OF YOUR FLEET ON SITE */
    background-image: linear-gradient(rgba(15, 23, 42, 0.85), rgba(15, 23, 42, 0.75)), url('images/excavator-on-site.jpeg');
    background-size: cover;
    background-position: center;
}

/* Interactive Card Styling 
   Used in the Services section for hover effects
*/
.service-card {
    cursor: pointer;
    transition: all 0.3s ease;
}

.service-card:hover {
    transform: translateY(-5px);
    border-bottom: 4px solid #f59e0b; /* Amber-500 */
}

.service-card:hover .service-icon {
    transform: scale(1.1);
    color: #d97706; /* Amber-600 */
}

.service-icon {
    transition: transform 0.3s ease;
}

/* Partner Logo Styling 
   Grayscale to Color on hover
*/
.partner-logo img {
    max-height: 120px; /* INCREASED SIZE FOR BIGGER LOGOS (now 150px) */
    height: auto !important; /* Forces the height calculation to prioritize auto sizing */
    width: auto;
    transition: transform 0.3s ease-in-out;
    filter: grayscale(30%); /* Make logos B&W for sleekness */
    opacity: 0.7;
}

.partner-logo:hover img {
    transform: scale(1.3);
    filter: grayscale(0%); /* Color on hover */
    opacity: 1;
}

/* Mobile Action Bar Spacing - REMOVED per request */

/* Modal Styles 
   For project image zooming
*/
.zoomable-image { 
    cursor: pointer; 
    transition: opacity 0.2s ease-in-out; 
}

.zoomable-image:hover { 
    opacity: 0.9; 
}

#modalImage { 
    max-height: 90vh; 
    max-width: 90vw; 
}

#modalImage.zoomed { 
    transform: scale(2); 
    cursor: zoom-out; 
}