 /* Fonts - Google Fonts */
 /* @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Open+Sans:wght@400;600;700;800&display=swap'); */
 /* MOVED this to style.css to avoid duplicate import. Ensure it's only in one file. */

 /* Responsive Styles */

 /* Tablets (Max 992px) */
 @media (max-width: 992px) {
     .header .container {
         flex-wrap: wrap;
         justify-content: center;
     }

     .logo {
         margin-bottom: 10px;
     }

     .nav-menu ul {
         /* Desktop menu on tablet */
         flex-wrap: wrap;
         justify-content: center;
         margin-top: 10px;
     }

     .nav-menu ul li {
         margin: 0 15px 10px 15px;
     }

     .hero h1 {
         font-size: 2.8em;
     }

     .hero p {
         font-size: 1.1em;
     }

     .service-item {
         padding: 25px;
     }

     .projects-grid {
         grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     }

     .contact-layout {
         flex-direction: column;
         align-items: center;
     }

     .contact-map,
     .contact-form-section {
         width: 100%;
         max-width: 600px;
         /* Constrain width on smaller tablets */
     }

     /* About Page Specific Adjustments for Tablet */
     .about-hero {
         padding: 80px 20px;
         /* Adjusted padding for tablet */
     }

     .about-hero h1 {
         font-size: 3em;
         /* Adjusted heading size for tablet */
     }

     .about-hero p {
         font-size: 1em;
         /* Adjusted text size for tablet */
         max-width: 600px;
         /* Adjusted max-width for tablet */
     }

     .commitment-section {
         flex-direction: column;
         align-items: center;
         gap: 40px;
         padding: 80px 20px;
         /* Added padding to container for consistency */
     }

     .commitment-left,
     .commitment-right {
         width: 100%;
         max-width: 700px;
         /* Max width for content blocks on tablets */
         min-width: unset;
     }

     .commitment-left {
         padding: 40px;
     }

     .commitment-left h2 {
         font-size: 3em;
     }

     .sustainability-practices {
         padding: 80px 20px;
         /* Added padding */
     }

     .sustainability-practices h2 {
         font-size: 2.8em;
     }

     .sustainability-grid {
         grid-template-columns: 1fr;
         /* Single column layout on tablets */
         gap: 50px;
         padding: 40px;
     }

     .sustainability-content {
         padding-right: 0;
         /* No right padding in single column */
     }

     /* NEW: Vision & Mission Exact Match Adjustments for Tablet */
     .vision-mission-exact-match {
         /* No specific padding adjustment here, grid itself will be full width of container */
     }

     .vm-grid-exact-match {
         grid-template-columns: 1fr;
         /* Stack columns on tablets */
     }

     .vm-grid-item {
         min-height: 400px;
         /* Slightly reduce height on tablets */
         padding: 50px 80px;
         /* Adjust padding for text blocks */
         /* Re-apply/adjust borders for stacked layout */
         border: 1px solid #e0e0e0;
         border-radius: 0 !important;
         /* Remove individual item radius on stacked layout */
     }

     /* Remove top/right/bottom borders that conflict with stacked layout */
     .vm-grid-item:nth-child(1) {
         border-top: none;
         border-right: none;
         /* Ensure no right border when stacked */
     }

     .vm-grid-item:nth-child(2) {
         border-top: none;
         border-right: none;
         /* Ensure no right border when stacked */
     }

     /* second item also gets top border removed in stacked layout */
     .vm-grid-item:nth-child(3) {
         border-bottom: none;
         border-right: none;
         /* Ensure no right border when stacked */
     }

     .vm-grid-item:nth-child(4) {
         border-bottom: none;
         border-right: none;
         /* Ensure no right border when stacked */
     }

     .yellow-bottom-line-exact-match {
         height: 10px;
         /* Slight reduction for tablet */
     }

     /* Sustainability Page New Layout for Tablet */
     .sustainability-page-layout {
         flex-direction: column;
         min-height: auto;
     }

     .sustainability-left-pane,
     .sustainability-right-pane {
         width: 100%;
         padding: 50px 30px;
     }

     .sustainability-left-pane h1 {
         font-size: 2.8em;
     }

     .vision-2030-logo-display {
         max-width: 220px;
         margin-top: 30px;
     }

     .sustainability-right-pane {
         padding-top: 50px;
         /* Ensure spacing from yellow block */
     }

     .sustainability-topic h3 {
         font-size: 1.2em;
     }

     .sustainability-topic h3 span {
         font-size: 1.7em;
     }

     .admin-container {
         margin: 20px;
         padding: 20px;
     }

     /* NEW: FULL SERVICES TABS (Tablet) */
     .services-tabs-grid {
         grid-template-columns: repeat(2, 1fr);
         /* 2x2 grid on tablets */
         gap: 40px;
         /* Increase gap a bit for 2x2 layout */
     }

     .full-services-section .section-title {
         font-size: 2.5em;
         margin-bottom: 50px;
     }

     /* MEP DETAILED SERVICES (Tablet) */
     .mep-services-grid {
         grid-template-columns: 1fr;
         /* Stack columns */
         gap: 0;
     }

     .mep-column-left,
     .mep-column-right {
         text-align: center;
         /* Center align titles in stacked view */
     }

     .mep-column-left {
         grid-row: 1;
         /* Order: Left content */
     }

     .mep-column-center {
         grid-row: 2;
         /* Order: Center deco */
         flex-direction: row;
         /* Change to horizontal for stacked view */
         width: 100%;
         height: auto;
         margin: 50px 0;
     }

     .mep-column-right {
         grid-row: 3;
         /* Order: Right content */
     }

     .center-bar {
         height: 50px;
         /* Container for two 15px bars + 20px gap */
         width: auto;
         flex-grow: 1;
         position: relative;
     }

     .center-bar::before,
     .center-bar::after {
         content: '';
         position: absolute;
         left: 0;
         width: 100%;
         height: 15px;
         /* Thickness of each horizontal bar */
         background-color: #ffd700;
         border-radius: 0;
         /* Square ends */
     }

     .center-bar::before {
         top: 0;
     }

     .center-bar::after {
         bottom: 0;
     }

     .center-icon-wrapper {
         margin: 0 30px;
         padding: 20px 30px;
     }

     .mep-column h2 {
         text-align: center;
     }
 }

 /* Mobile Devices (Max 768px) */
 @media (max-width: 768px) {
     .header {
         padding: 10px 0;
     }

     .header .container {
         flex-wrap: nowrap;
         /* Prevent wrapping in header */
         justify-content: space-between;
         /* Space between logo and hamburger */
         align-items: center;
         /* Vertically align logo and hamburger */
     }

     .logo {
         margin-bottom: 0;
         /* Remove bottom margin if any */
     }

     .nav-menu {
         display: none !important;
         /* Hide desktop nav */
     }

     .hamburger-menu {
         display: block !important;
         /* Show hamburger */
     }

     .hero {
         padding: 100px 20px;
     }

     .hero h1 {
         font-size: 2.2em;
     }

     .hero p {
         font-size: 1em;
     }

     .services-home,
     .projects-section,
     .clients-section,
     .get-in-touch,
     .about-hero,
     .commitment-section,
     .sustainability-practices,
     .sustainability-intro,
     /* Keep if you have a separate intro for some reason */
     .sustainability-content-main,
     /* Keep if you have a separate content for some reason */
     .services-page-intro,
     .projects-page-intro,
     .contact-page-intro,
     .contact-page-layout,
     .full-services-section {
         /* Added new section here */
         padding: 50px 20px;
         /* Reduce section padding and add side padding */
     }

     .services-home h2,
     .projects-section h2,
     .clients-section h2,
     .get-in-touch h2,
     .about-hero h1,
     /* Note: .about-hero h1 is already defined specifically below */
     .sustainability-intro h1,
     .services-page-intro h1,
     .projects-page-intro h1,
     .contact-page-intro h1 {
         font-size: 2em;
         margin-bottom: 20px;
     }

     .service-item,
     .project-item,
     /* project-item uses project-info for text */
     .service-card {
         padding: 20px;
     }

     .project-info {
         /* Ensure padding for project items */
         padding: 20px;
     }

     .service-item h3,
     .project-info h3,
     .service-card-content h3 {
         font-size: 1.3em;
     }

     .counter-item {
         margin: 15px;
     }

     .counter-item .number {
         font-size: 2.5em;
     }

     .counter-item .text {
         font-size: 1em;
     }

     .clients-grid {
         gap: 20px;
     }

     .client-logo img {
         max-width: 100px;
     }

     .contact-form-section h3 {
         font-size: 1.5em;
     }

     .contact-map {
         height: 300px;
         /* Smaller map on mobile */
     }

     /* About Page Specific Adjustments for Mobile */
     .about-hero {
         padding: 60px 20px;
         /* Consistent padding */
     }

     .about-hero h1 {
         font-size: 2.2em;
     }

     .about-hero p {
         font-size: 0.9em;
         max-width: 90%;
         /* Use percentage for better fit */
     }

     .commitment-section {
         padding: 50px 20px;
         /* Consistent padding */
         gap: 30px;
     }

     .commitment-left {
         padding: 30px;
     }

     .commitment-left h2 {
         font-size: 2.5em;
     }

     .commitment-left h2 span {
         font-size: 1.1em;
         letter-spacing: 1px;
     }

     .commitment-right h3 {
         font-size: 1.8em;
     }

     .commitment-right p {
         font-size: 1em;
     }

     .sustainability-practices {
         padding: 50px 20px;
         /* Consistent padding */
     }

     .sustainability-practices h2 {
         font-size: 2.2em;
         margin-bottom: 30px;
     }

     .sustainability-grid {
         gap: 30px;
         padding: 25px;
     }

     .sustainability-content h3 {
         font-size: 1.8em;
     }

     .sustainability-content p {
         font-size: 1em;
     }

     /* NEW: Vision & Mission Exact Match Adjustments for Mobile */
     .vm-grid-item {
         min-height: 300px;
         /* Further reduce height on mobile */
         padding: 30px 30px;
         /* Reduce padding more */
     }

     .vm-grid-item.vm-text-exact-match h3 {
         font-size: 1.8em;
     }

     .vm-grid-item.vm-text-exact-match p {
         font-size: 0.9em;
         max-width: 90%;
         /* Use percentage */
     }

     .yellow-bottom-line-exact-match {
         height: 6px;
         /* Final reduction for mobile */
     }

     /* Sustainability Page New Layout for Mobile */
     .sustainability-left-pane {
         padding: 40px 20px;
     }

     .sustainability-left-pane h1 {
         font-size: 2.2em;
     }

     .sustainability-left-pane p {
         font-size: 0.9em;
     }

     .vision-2030-logo-display {
         max-width: 200px;
         margin-top: 25px;
     }

     .sustainability-right-pane {
         padding: 40px 20px;
     }

     .sustainability-topic h3 {
         font-size: 1.1em;
         margin-bottom: 20px;
     }

     .sustainability-topic h3 span {
         font-size: 1.5em;
         margin-right: 10px;
     }

     .sustainability-topic ul li strong {
         font-size: 0.95em;
     }

     .sustainability-topic ul li p {
         font-size: 0.9em;
     }

     /* NEW: FULL SERVICES TABS (Mobile) */
     .services-tabs-grid {
         grid-template-columns: 1fr;
         /* Stack into a single column */
         gap: 50px;
         /* Increase gap for single column layout */
     }

     .service-tab-item {
         max-width: 350px;
         /* Constrain width in single column */
         margin: 0 auto;
     }

     .service-tab-item:hover {
         transform: translateY(-5px);
         /* Less dramatic hover effect on mobile */
     }

     .admin-table th,
     .admin-table td {
         display: block;
         /* Stack table cells */
         width: 100%;
         box-sizing: border-box;
         border: none;
         /* Remove individual cell borders if stacking */
         padding: 8px 10px;
     }

     .admin-table thead {
         /* Hide table header on mobile */
         display: none;
     }

     .admin-table td:before {
         content: attr(data-label);
         /* Show header as data-label */
         font-weight: bold;
         display: block;
         margin-bottom: 5px;
         color: #333;
     }

     .admin-table tr {
         margin-bottom: 15px;
         /* Increased margin */
         border: 1px solid #ddd;
         /* Softer border */
         display: block;
         border-radius: 8px;
         overflow: hidden;
         background-color: #fff;
         /* Ensure background for stacked rows */
     }

     .admin-table tr:nth-child(even) {
         /* Reset alternating background for stacked rows */
         background-color: #fff;
     }

     /* MEP DETAILED SERVICES (Mobile) */
     .mep-detailed-services {
         padding: 60px 20px;
     }

     .mep-column h2 {
         font-size: 1.8em;
     }

     .service-category h4 {
         font-size: 1em;
     }

     .mep-column ul li {
         font-size: 0.95em;
     }
 }

 /* Small Mobile Devices (Max 480px) */
 @media (max-width: 480px) {
     .container {
         padding: 0 15px;
         /* Tighter padding for very small screens */
     }

     .hero h1 {
         font-size: 1.8em;
     }

     .hero p {
         font-size: 0.9em;
     }

     .button {
         padding: 10px 20px;
         font-size: 0.9em;
     }

     .services-grid,
     .projects-grid,
     /* Ensures single column for projects */
     .service-card-grid {
         grid-template-columns: 1fr;
         /* Single column layout */
     }

     /* About Page Specific Adjustments for Small Mobile */
     .about-hero {
         padding: 50px 15px;
         /* Further adjusted padding */
     }

     .about-hero h1 {
         font-size: 2em;
     }

     /* .about-hero p already adjusted with max-width: 90% */

     .commitment-left {
         padding: 25px;
     }

     .commitment-left h2 {
         font-size: 2em;
     }

     .commitment-left h2 span {
         font-size: 1em;
     }

     .commitment-right h3 {
         font-size: 1.6em;
     }

     .sustainability-practices h2 {
         font-size: 1.8em;
         margin-bottom: 25px;
         /* Slightly reduced */
     }

     .sustainability-grid {
         padding: 20px;
     }

     .sustainability-content h3 {
         font-size: 1.5em;
     }

     /* NEW: Vision & Mission Exact Match Adjustments for Small Mobile */
     .vm-grid-item {
         min-height: 250px;
         /* Further reduction for very small screens */
         padding: 25px 25px;
         /* Reduce padding more */
     }

     /* .vm-grid-item.vm-text-exact-match styles for h3, p already handled by percentage width */

     /* Sustainability Page New Layout for Small Mobile */
     .sustainability-left-pane h1 {
         font-size: 2em;
     }

     .vision-2030-logo-display {
         max-width: 160px;
     }

     .sustainability-topic h3 {
         font-size: 1.05em;
     }

     .sustainability-topic h3 span {
         font-size: 1.4em;
     }

     /* NEW: FULL SERVICES TABS (Small Mobile) */
     .full-services-section .section-title {
         font-size: 2em;
     }

     .service-tab-icon {
         width: 80px;
         height: 80px;
     }

     .service-tab-icon i {
         font-size: 2.2em;
     }

     .service-tab-link {
         padding: 15px 15px;
         font-size: 0.85em;
     }

     /* Admin table styles are generally inherited from the 768px breakpoint */
     /* No need to repeat unless specific overrides for 480px are needed */
 }