﻿:root{--color-dark-brown:#5D4037;--color-medium-brown:#8D6E63;--color-sage-green:#7CB342;--color-warm-gray:#757575;--color-light-beige:#F5F5DC;--color-white:#FFFFFF;--color-black:#212121;--font-heading:'Montserrat',sans-serif;--font-body:'Open Sans',sans-serif;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:3rem;--container-max-width:1200px;--container-padding:1rem;--border-radius-sm:3px;--border-radius-md:5px;--border-radius-lg:8px;--transition-fast:0.2s ease;--transition-medium:0.3s ease}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-black);line-height:1.6;background-color:var(--color-white)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;margin-top:0;color:var(--color-dark-brown)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:var(--spacing-md)}a{color:var(--color-sage-green);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-dark-brown)}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.col{flex:1 0 0%;padding-right:15px;padding-left:15px}.col-12{flex:0 0 100%;max-width:100%}.col-6{flex:0 0 50%;max-width:50%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-3{flex:0 0 25%;max-width:25%}@media (max-width:768px){.col-md-12{flex:0 0 100%;max-width:100%}.col-md-6{flex:0 0 50%;max-width:50%}}@media (max-width:576px){.col-sm-12{flex:0 0 100%;max-width:100%}}.btn{display:inline-block;font-weight:600;text-align:center;white-space:nowrap;vertical-align:middle;user-select:none;border:1px solid transparent;padding:0.5rem 1rem;font-size:1rem;line-height:1.5;border-radius:var(--border-radius-md);transition:all var(--transition-fast);cursor:pointer}.btn-primary{background-color:var(--color-sage-green);color:var(--color-white);border-color:var(--color-sage-green)}.btn-primary:hover{background-color:#6BA535;border-color:#6BA535;color:var(--color-white)}.btn-secondary{background-color:var(--color-medium-brown);color:var(--color-white);border-color:var(--color-medium-brown)}.btn-secondary:hover{background-color:#7D5E53;border-color:#7D5E53;color:var(--color-white)}.btn-outline{background-color:transparent;color:var(--color-sage-green);border-color:var(--color-sage-green)}.btn-outline:hover{background-color:var(--color-sage-green);color:var(--color-white)}.btn-lg{padding:0.75rem 1.5rem;font-size:1.125rem}.btn-sm{padding:0.25rem 0.5rem;font-size:0.875rem}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:600}.form-control{display:block;width:100%;padding:0.5rem 0.75rem;font-size:1rem;line-height:1.5;color:var(--color-black);background-color:var(--color-white);background-clip:padding-box;border:1px solid #ced4da;border-radius:var(--border-radius-md);transition:border-color var(--transition-fast)}.form-control:focus{border-color:var(--color-sage-green);outline:0}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:var(--color-white);background-clip:border-box;border:1px solid rgba(0,0,0,0.125);border-radius:var(--border-radius-md);overflow:hidden;transition:transform var(--transition-medium),box-shadow var(--transition-medium)}.card:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,0.1)}.card-img-top{width:100%}.card-body{flex:1 1 auto;padding:var(--spacing-md)}.card-title{margin-bottom:var(--spacing-sm)}.card-text{margin-bottom:var(--spacing-md)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.py-1{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-2{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-3{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-4{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-5{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.px-1{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-2{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-3{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-4{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-5{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.site-header{position:sticky;top:0;background-color:var(--color-white);box-shadow:0 2px 10px rgba(0,0,0,0.1);z-index:1000;padding:var(--spacing-sm) 0}.header-wrapper{display:flex;justify-content:space-between;align-items:center}.logo a{display:flex;align-items:center;text-decoration:none}.logo h1{font-size:1.5rem;margin:0;color:var(--color-dark-brown)}.main-navigation{display:flex;align-items:center}.nav-menu{display:flex;list-style:none;margin:0;padding:0}.nav-item{margin-left:var(--spacing-md);position:relative}.nav-item a{color:var(--color-black);font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);display:block;transition:color var(--transition-fast)}.nav-item a:hover{color:var(--color-sage-green)}.nav-item.current a{color:var(--color-sage-green)}.nav-item.current::after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:3px;background-color:var(--color-sage-green);border-radius:2px}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--spacing-xs)}.hamburger-icon,.hamburger-icon::before,.hamburger-icon::after{display:block;width:24px;height:3px;background-color:var(--color-dark-brown);position:relative;transition:all var(--transition-medium)}.hamburger-icon::before,.hamburger-icon::after{content:'';position:absolute;left:0}.hamburger-icon::before{top:-8px}.hamburger-icon::after{bottom:-8px}.mobile-menu-open .hamburger-icon{background-color:transparent}.mobile-menu-open .hamburger-icon::before{top:0;transform:rotate(45deg)}.mobile-menu-open .hamburger-icon::after{bottom:0;transform:rotate(-45deg)}.skip-link{position:absolute;top:-40px;left:0;background-color:var(--color-sage-green);color:var(--color-white);padding:var(--spacing-xs) var(--spacing-sm);z-index:1001;transition:top var(--transition-fast)}.skip-link:focus{top:0}@media (max-width:768px){.mobile-menu-toggle{display:block}.nav-menu{position:absolute;top:100%;left:0;right:0;background-color:var(--color-white);flex-direction:column;box-shadow:0 5px 10px rgba(0,0,0,0.1);max-height:0;overflow:hidden;transition:max-height var(--transition-medium)}.mobile-menu-open .nav-menu{max-height:300px}.nav-item{margin:0;width:100%;text-align:center}.nav-item a{padding:var(--spacing-md)}.nav-item.current::after{display:none}.nav-item.current{background-color:rgba(124,179,66,0.1)}}.hero-section{position:relative;height:600px;background-color:#5D4037;background-size:cover;background-position:center;background-repeat:no-repeat;color:var(--color-white);display:flex;align-items:center;text-align:center}.hero-section.loaded{background-image:url('../images/hero/construction-site.jpg')}.hero-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:1}.hero-content{position:relative;z-index:2;max-width:800px;margin:0 auto;padding:var(--spacing-lg)}.hero-content h2{font-size:3rem;margin-bottom:var(--spacing-md);color:var(--color-white);text-shadow:1px 1px 3px rgba(0,0,0,0.5)}.hero-content p{font-size:1.5rem;margin-bottom:var(--spacing-lg);color:var(--color-white);text-shadow:1px 1px 2px rgba(0,0,0,0.5)}@media (max-width:768px){.hero-section{height:450px}.hero-content h2{font-size:2.25rem}.hero-content p{font-size:1.25rem}}@media (max-width:576px){.hero-section{height:350px}.hero-content h2{font-size:1.75rem}.hero-content p{font-size:1rem}}.section-padding{padding:var(--spacing-xl) 0}.bg-light{background-color:#f8f9fa}.company-overview{position:relative;overflow:hidden}.company-overview h2{margin-bottom:var(--spacing-md);position:relative}.company-overview h2::after{content:'';position:absolute;bottom:-10px;left:0;width:60px;height:3px;background-color:var(--color-sage-green)}.company-overview p{margin-bottom:var(--spacing-lg);font-size:1.1rem;line-height:1.8;color:var(--color-warm-gray)}.company-image{height:100%;width:100%;min-height:350px;background-color:#f5f5f5;background-size:cover;background-position:center;border-radius:var(--border-radius-lg);box-shadow:0 10px 30px rgba(0,0,0,0.1)}.company-image.loaded{background-image:url('../images/company-overview.jpg')}@media (max-width:768px){.company-image{margin-top:var(--spacing-lg);min-height:250px}}.section-title{margin-bottom:var(--spacing-lg);position:relative;display:inline-block}.section-title::after{content:'';position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:60px;height:3px;background-color:var(--color-sage-green)}.projects-slider{position:relative;margin:0 auto;max-width:100%;overflow:hidden}.slider-container{display:flex;transition:transform 0.5s ease}.slider-slide{flex:0 0 100%;max-width:100%;padding:0 var(--spacing-sm);box-sizing:border-box}@media (min-width:768px){.slider-slide{flex:0 0 50%;max-width:50%}}@media (min-width:992px){.slider-slide{flex:0 0 33.333333%;max-width:33.333333%}}.project-card{background-color:var(--color-white);border-radius:var(--border-radius-md);overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,0.1);height:100%;transition:transform var(--transition-medium),box-shadow var(--transition-medium)}.project-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,0.15)}.project-image{height:250px;background-size:cover;background-position:center;position:relative}.project-status{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:0.75rem;font-weight:600;text-transform:uppercase}.status-completed{background-color:var(--color-sage-green);color:var(--color-white)}.status-ongoing{background-color:var(--color-medium-brown);color:var(--color-white)}.project-details{padding:var(--spacing-md)}.project-details h3{margin-bottom:var(--spacing-xs);font-size:1.25rem}.project-meta{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);font-size:0.875rem;color:var(--color-warm-gray)}.slider-controls{display:flex;justify-content:center;margin-top:var(--spacing-lg)}.slider-arrow{background-color:var(--color-white);border:1px solid var(--color-sage-green);color:var(--color-sage-green);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;margin:0 var(--spacing-xs);transition:all var(--transition-fast)}.slider-arrow:hover{background-color:var(--color-sage-green);color:var(--color-white)}.slider-dots{display:flex;justify-content:center;margin-top:var(--spacing-md)}.slider-dot{width:10px;height:10px;border-radius:50%;background-color:#ccc;margin:0 var(--spacing-xs);cursor:pointer;transition:background-color var(--transition-fast)}.slider-dot.active{background-color:var(--color-sage-green)}.services-overview{position:relative}.service-card{background-color:var(--color-white);border-radius:var(--border-radius-md);padding:var(--spacing-lg);height:100%;box-shadow:0 5px 15px rgba(0,0,0,0.05);transition:transform var(--transition-medium),box-shadow var(--transition-medium);display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--spacing-lg)}.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,0.1)}.service-icon{width:80px;height:80px;background-color:rgba(124,179,66,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md);color:var(--color-sage-green);font-size:2rem}.service-card h3{margin-bottom:var(--spacing-sm);font-size:1.25rem}.service-card p{color:var(--color-warm-gray);margin-bottom:var(--spacing-md);flex-grow:1}.service-link{color:var(--color-sage-green);font-weight:600;text-decoration:none;display:inline-flex;align-items:center}.service-link:hover{color:var(--color-dark-brown)}.service-link::after{content:'â†’';margin-left:var(--spacing-xs);transition:transform var(--transition-fast)}.service-link:hover::after{transform:translateX(5px)}.testimonials{position:relative}.testimonials-wrapper{max-width:900px;margin:0 auto}.testimonial-item{background-color:var(--color-white);border-radius:var(--border-radius-md);padding:var(--spacing-lg);box-shadow:0 5px 15px rgba(0,0,0,0.05);margin-bottom:var(--spacing-md);position:relative}.testimonial-content{position:relative;padding-left:var(--spacing-lg);margin-bottom:var(--spacing-md)}.testimonial-content::before{content:'"';position:absolute;left:0;top:-20px;font-size:4rem;color:var(--color-sage-green);font-family:Georgia,serif;opacity:0.5;line-height:1}.testimonial-rating{color:#FFD700;margin-bottom:var(--spacing-sm)}.testimonial-author{display:flex;align-items:center}.testimonial-author-image{width:60px;height:60px;border-radius:50%;background-color:#e9e9e9;margin-right:var(--spacing-md);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--color-warm-gray);font-size:1.5rem}.testimonial-author-image img{width:100%;height:100%;object-fit:cover}.testimonial-author-info h4{margin:0;font-size:1.1rem}.testimonial-author-info p{margin:0;color:var(--color-warm-gray);font-size:0.9rem}.testimonial-nav{display:flex;justify-content:center;margin-top:var(--spacing-md)}.testimonial-nav-item{width:12px;height:12px;border-radius:50%;background-color:#ccc;margin:0 var(--spacing-xs);cursor:pointer;transition:background-color var(--transition-fast)}.testimonial-nav-item.active{background-color:var(--color-sage-green)}.site-footer{background-color:var(--color-dark-brown);color:var(--color-white);padding:var(--spacing-lg) 0 var(--spacing-md);margin-top:var(--spacing-xl)}.site-footer h3{color:var(--color-white);font-size:1.25rem;margin-bottom:var(--spacing-md)}.site-footer p{margin-bottom:var(--spacing-sm);color:rgba(255,255,255,0.8)}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:var(--spacing-xs)}.footer-links a{color:rgba(255,255,255,0.8);text-decoration:none;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-sage-green)}.footer-bottom{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,0.1);text-align:center;font-size:0.875rem;color:rgba(255,255,255,0.6)}.map-container{height:250px;background-color:#e9e9e9;border-radius:var(--border-radius-md);overflow:hidden;margin-top:var(--spacing-md)}.contact-info a{color:rgba(255,255,255,0.8);transition:color var(--transition-fast)}.contact-info a:hover{color:var(--color-sage-green)}@media (max-width:768px){.site-footer [class*="col-"]{margin-bottom:var(--spacing-lg)}.site-footer .col-md-12:last-child{margin-bottom:0}}.company-history{position:relative}.company-history .section-title{margin-bottom:var(--spacing-lg);display:inline-block}.company-history .section-title::after{left:0;transform:none}.history-content{margin-bottom:var(--spacing-lg)}.history-content p{margin-bottom:var(--spacing-md);line-height:1.8}.history-milestone{display:flex;margin-bottom:var(--spacing-md);position:relative;padding-left:var(--spacing-lg)}.history-milestone::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--color-sage-green);border-radius:3px}.milestone-year{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;color:var(--color-sage-green);margin-right:var(--spacing-md);min-width:60px}.milestone-content{flex:1}.milestone-content h4{margin-top:0;margin-bottom:var(--spacing-xs);color:var(--color-dark-brown)}.milestone-content p{margin-bottom:var(--spacing-sm);color:var(--color-warm-gray)}.history-image-container{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center}.history-main-image{width:100%;border-radius:var(--border-radius-lg);box-shadow:0 10px 30px rgba(0,0,0,0.1);margin-bottom:var(--spacing-lg)}.history-stats{display:flex;justify-content:space-between;margin-top:var(--spacing-md)}.stat-item{text-align:center;flex:1;padding:var(--spacing-md);background-color:var(--color-white);border-radius:var(--border-radius-md);box-shadow:0 5px 15px rgba(0,0,0,0.05)}.stat-number{font-family:var(--font-heading);font-weight:700;font-size:2.5rem;color:var(--color-sage-green);line-height:1;margin-bottom:var(--spacing-xs)}.stat-label{font-size:0.9rem;color:var(--color-warm-gray)}@media (max-width:768px){.history-image-container{margin-top:var(--spacing-lg)}.history-stats{flex-wrap:wrap}.stat-item{flex:0 0 calc(50% - var(--spacing-md));margin-bottom:var(--spacing-md)}}@media (max-width:576px){.history-milestone{flex-direction:column}.milestone-year{margin-bottom:var(--spacing-xs)}}.core-values{position:relative}.values-intro{max-width:800px;margin:0 auto var(--spacing-xl);font-size:1.1rem;line-height:1.8;color:var(--color-warm-gray)}.values-container{margin-bottom:var(--spacing-xl)}.value-card{background-color:var(--color-white);border-radius:var(--border-radius-md);padding:var(--spacing-lg);height:100%;box-shadow:0 5px 15px rgba(0,0,0,0.05);transition:transform var(--transition-medium),box-shadow var(--transition-medium);display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--spacing-lg)}.value-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,0.1)}.value-icon{width:100px;height:100px;background-color:rgba(124,179,66,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md);color:var(--color-sage-green)}.value-card h3{margin-bottom:var(--spacing-sm);font-size:1.5rem;position:relative;padding-bottom:var(--spacing-sm)}.value-card h3::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:40px;height:2px;background-color:var(--color-sage-green)}.value-card p{color:var(--color-warm-gray);line-height:1.8}.values-cta{margin-top:var(--spacing-xl)}.values-cta p{font-size:1.2rem;margin-bottom:var(--spacing-md);color:var(--color-dark-brown);font-weight:600}@media (max-width:992px){.offset-md-3{margin-left:25%}}@media (max-width:768px){.offset-md-3{margin-left:0}}/ * Team Section Styles - Task 4.3 */ .team-section{position:relative}.team-intro{max-width:800px;margin:0 auto var(--spacing-xl);font-size:1.1rem;line-height:1.8;color:var(--color-warm-gray)}.team-container{margin-bottom:var(--spacing-xl)}.team-member{display:flex;flex-direction:column;background-color:var(--color-white);border-radius:var(--border-radius-md);overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,0.05);margin-bottom:var(--spacing-lg);transition:transform var(--transition-medium),box-shadow var(--transition-medium);height:100%}.team-member:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,0.1)}.member-image{height:250px;background-color:#e9e9e9;position:relative;overflow:hidden}.image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;font-size:3rem;color:var(--color-medium-brown);background-color:#f5f5f5}.member-info{padding:var(--spacing-lg);flex-grow:1;display:flex;flex-direction:column}.member-info h3{margin-top:0;margin-bottom:var(--spacing-xs);font-size:1.5rem}.member-position{color:var(--color-sage-green);font-weight:600;margin-bottom:var(--spacing-md);font-size:1.1rem}.member-bio{margin-bottom:var(--spacing-md);color:var(--color-warm-gray);line-height:1.8;flex-grow:1}.member-expertise{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:auto}.member-expertise span{background-color:rgba(124,179,66,0.1);color:var(--color-sage-green);font-size:0.8rem;padding:var(--spacing-xs) var(--spacing-sm);border-radius:20px;display:inline-block}.team-cta{margin-top:var(--spacing-xl)}.team-cta p{font-size:1.2rem;margin-bottom:var(--spacing-md);color:var(--color-dark-brown);font-weight:600}@media (max-width:992px){.team-member{margin-bottom:var(--spacing-lg)}}@media (max-width:768px){.member-image{height:200px}.member-info{padding:var(--spacing-md)}.member-info h3{font-size:1.25rem}.member-position{font-size:1rem}}@media (max-width:576px){.member-expertise{flex-direction:column;gap:var(--spacing-xs)}.member-expertise span{display:inline-block;margin-right:var(--spacing-xs);margin-bottom:var(--spacing-xs)}}.page-hero{background-color:var(--color-dark-brown);color:var(--color-white);padding:var(--spacing-xl) 0;text-align:center}.page-hero h1{color:var(--color-white);margin-bottom:var(--spacing-sm)}.page-hero p{font-size:1.25rem;max-width:800px;margin:0 auto;opacity:0.9}.services-overview-section{background-color:var(--color-white)}.services-intro{max-width:900px;margin:0 auto var(--spacing-xl);text-align:center}.services-intro p{font-size:1.1rem;line-height:1.8;color:var(--color-warm-gray);margin-bottom:var(--spacing-md)}.service-categories{margin-top:var(--spacing-xl)}.service-categories h3{text-align:center;margin-bottom:var(--spacing-lg)}.service-category{margin-bottom:var(--spacing-xl)}.category-header{margin-bottom:var(--spacing-lg);border-bottom:1px solid rgba(0,0,0,0.1);padding-bottom:var(--spacing-sm)}.category-header h4{margin-bottom:var(--spacing-xs);color:var(--color-dark-brown);font-size:1.5rem}.category-header p{color:var(--color-warm-gray);margin-bottom:var(--spacing-sm)}.services-cta{background-color:rgba(124,179,66,0.1);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);margin-top:var(--spacing-xl)}.services-cta p{font-size:1.25rem;margin-bottom:var(--spacing-md);color:var(--color-dark-brown);font-weight:600}.icon-building::before{content:'ðŸ¢'}.icon-road::before{content:'ðŸ›£ï¸'}.icon-plumbing::before{content:'ðŸ”§'}.icon-blueprint::before{content:'ðŸ“'}.icon-structure::before{content:'ðŸ—ï¸'}.icon-calculator::before{content:'ðŸ§®'}.icon-sun::before{content:'â˜€ï¸'}.icon-landscape::before{content:'ðŸŒ³'}.icon-materials::before{content:'ðŸ§±'}@media (max-width:992px){.service-category .row{justify-content:center}}@media (max-width:768px){.page-hero{padding:var(--spacing-lg) 0}.page-hero h1{font-size:2rem}.page-hero p{font-size:1.1rem}.services-intro p{font-size:1rem}.category-header h4{font-size:1.25rem}}.service-details-section{position:relative}.service-detail{margin-bottom:var(--spacing-xl)}.service-detail:last-child{margin-bottom:0}.service-detail-content{padding:var(--spacing-lg) 0}.service-detail-content h3{margin-bottom:var(--spacing-md);position:relative;padding-bottom:var(--spacing-sm)}.service-detail-content h3::after{content:'';position:absolute;bottom:0;left:0;width:60px;height:3px;background-color:var(--color-sage-green)}.service-detail-content h4{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);font-size:1.2rem}.service-detail-content p{margin-bottom:var(--spacing-md);line-height:1.8;color:var(--color-warm-gray)}.service-features{list-style:none;padding-left:0;margin-bottom:var(--spacing-md)}.service-features li{position:relative;padding-left:30px;margin-bottom:var(--spacing-sm);line-height:1.6}.service-features li::before{content:'âœ“';position:absolute;left:0;top:0;color:var(--color-sage-green);font-weight:bold}.service-detail-image{height:100%;display:flex;align-items:center;justify-content:center}.service-detail-image img{width:100%;border-radius:var(--border-radius-lg);box-shadow:0 10px 30px rgba(0,0,0,0.1)}.related-projects h4{margin-bottom:var(--spacing-md);position:relative;padding-bottom:var(--spacing-sm);display:inline-block}.related-projects h4::after{content:'';position:absolute;bottom:0;left:0;width:40px;height:2px;background-color:var(--color-sage-green)}.border-top{border-top:1px solid rgba(0,0,0,0.1)}@media (max-width:768px){.service-detail-content{padding:var(--spacing-md) 0}.service-detail-image{margin-bottom:var(--spacing-md)}.order-md-1{order:1}.order-md-2{order:2}}.projects-filter{background-color:var(--color-white);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:0 5px 15px rgba(0,0,0,0.05)}.projects-filter h2{margin-top:0;margin-bottom:var(--spacing-md);font-size:1.5rem}.filter-container{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--color-dark-brown)}.filter-select{width:100%;padding:0.5rem;border:1px solid #ced4da;border-radius:var(--border-radius-sm);font-family:var(--font-body);font-size:1rem;color:var(--color-black);background-color:var(--color-white);cursor:pointer;transition:border-color var(--transition-fast)}.filter-select:focus{border-color:var(--color-sage-green);outline:none}.active-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-md)}.filter-tag{display:inline-flex;align-items:center;background-color:rgba(124,179,66,0.1);color:var(--color-sage-green);padding:var(--spacing-xs) var(--spacing-sm);border-radius:20px;font-size:0.9rem;margin-right:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.filter-tag .remove-filter{background:none;border:none;color:var(--color-sage-green);margin-left:var(--spacing-xs);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;padding:0;width:16px;height:16px;border-radius:50%;transition:background-color var(--transition-fast)}.filter-tag .remove-filter:hover{background-color:rgba(124,179,66,0.2)}#clear-filters{padding:0.5rem 1rem;align-self:flex-end}.loading-message{text-align:center;padding:var(--spacing-lg);color:var(--color-warm-gray);font-style:italic}@media (max-width:768px){.filter-container{flex-direction:column;gap:var(--spacing-sm)}.filter-group{width:100%}#clear-filters{width:100%;margin-top:var(--spacing-sm)}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.project-card{background-color:var(--color-white);border-radius:var(--border-radius-md);overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,0.05);transition:transform var(--transition-medium),box-shadow var(--transition-medium);height:100%;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,0.1)}.project-image{height:200px;background-size:cover;background-position:center;position:relative}.project-status{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:0.75rem;font-weight:600;text-transform:uppercase}.status-completed{background-color:var(--color-sage-green);color:var(--color-white)}.status-ongoing{background-color:var(--color-medium-brown);color:var(--color-white)}.project-details{padding:var(--spacing-md);flex-grow:1;display:flex;flex-direction:column}.project-details h3{margin-top:0;margin-bottom:var(--spacing-xs);font-size:1.25rem}.project-meta{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);font-size:0.875rem;color:var(--color-warm-gray)}.project-details p{margin-bottom:var(--spacing-md);color:var(--color-warm-gray);flex-grow:1}.view-project-details{align-self:flex-start;margin-top:auto}.no-results{grid-column:1 / -1;text-align:center;padding:var(--spacing-lg);color:var(--color-warm-gray);font-style:italic}@media (max-width:768px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:576px){.projects-grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:1000;display:none}.project-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.9);background-color:var(--color-white);width:90%;max-width:1000px;max-height:90vh;border-radius:var(--border-radius-lg);box-shadow:0 10px 30px rgba(0,0,0,0.2);z-index:1001;display:none;opacity:0;overflow:hidden;transition:transform 0.3s ease,opacity 0.3s ease}.project-modal.active{display:block;opacity:1;transform:translate(-50%,-50%) scale(1)}.modal-overlay.active{display:block}.modal-content{display:flex;flex-direction:column;height:100%;max-height:90vh}.modal-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.75rem}.close-modal{background:none;border:none;font-size:1.75rem;color:var(--color-warm-gray);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color var(--transition-fast)}.close-modal:hover{background-color:rgba(0,0,0,0.05);color:var(--color-dark-brown)}.modal-body{padding:var(--spacing-lg);overflow-y:auto;flex-grow:1;display:flex;flex-direction:column}@media (min-width:768px){.modal-body{flex-direction:row;gap:var(--spacing-lg)}}.project-gallery{flex:1;margin-bottom:var(--spacing-lg)}@media (min-width:768px){.project-gallery{flex:0 0 50%;margin-bottom:0}}.main-image-container{width:100%;height:300px;border-radius:var(--border-radius-md);overflow:hidden;margin-bottom:var(--spacing-md)}.main-image-container img{width:100%;height:100%;object-fit:cover}.thumbnail-gallery{display:flex;gap:var(--spacing-xs);overflow-x:auto;padding-bottom:var(--spacing-xs)}.thumbnail{width:80px;height:60px;border-radius:var(--border-radius-sm);overflow:hidden;cursor:pointer;opacity:0.7;transition:opacity var(--transition-fast);flex-shrink:0}.thumbnail:hover,.thumbnail.active{opacity:1}.thumbnail img{width:100%;height:100%;object-fit:cover}.project-info{flex:1}.info-section{margin-bottom:var(--spacing-lg)}.info-section h3{margin-top:0;margin-bottom:var(--spacing-sm);font-size:1.25rem;position:relative;padding-bottom:var(--spacing-xs)}.info-section h3::after{content:'';position:absolute;bottom:0;left:0;width:40px;height:2px;background-color:var(--color-sage-green)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.info-item{display:flex;flex-direction:column}.info-label{font-weight:600;color:var(--color-warm-gray);font-size:0.9rem;margin-bottom:var(--spacing-xs)}.info-value{font-size:1.1rem;color:var(--color-dark-brown)}.features-list{padding-left:var(--spacing-lg);margin:0}.features-list li{margin-bottom:var(--spacing-xs);position:relative}.features-list li::before{content:'âœ“';color:var(--color-sage-green);position:absolute;left:calc(-1 * var(--spacing-lg))}.modal-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:var(--spacing-md)}@media (max-width:576px){.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}.info-grid{grid-template-columns:1fr}}.contact-section{background-color:var(--color-white)}.contact-form{margin-bottom:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--color-dark-brown)}.required{color:#e74c3c;margin-left:var(--spacing-xs)}.form-control{display:block;width:100%;padding:0.75rem;font-size:1rem;line-height:1.5;color:var(--color-black);background-color:var(--color-white);background-clip:padding-box;border:1px solid #ced4da;border-radius:var(--border-radius-md);transition:border-color var(--transition-fast)}.form-control:focus{border-color:var(--color-sage-green);outline:0;box-shadow:0 0 0 0.2rem rgba(124,179,66,0.25)}.form-control.error{border-color:#e74c3c}.error-message{color:#e74c3c;font-size:0.875rem;margin-top:var(--spacing-xs);display:none}textarea.form-control{resize:vertical;min-height:120px}.form-success{background-color:rgba(124,179,66,0.1);border-radius:var(--border-radius-md);padding:var(--spacing-lg);text-align:center}.success-icon{width:60px;height:60px;background-color:var(--color-sage-green);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-md);font-size:2rem}.form-success h3{margin-bottom:var(--spacing-sm);color:var(--color-sage-green)}.form-success p{margin-bottom:var(--spacing-md)}.contact-info-placeholder,.map-placeholder{background-color:#f5f5f5;border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);text-align:center;color:var(--color-warm-gray);min-height:200px;display:flex;align-items:center;justify-content:center}.contact-info-container{margin-bottom:var(--spacing-lg)}.contact-info-list{margin-top:var(--spacing-lg)}.contact-info-item{display:flex;margin-bottom:var(--spacing-lg);align-items:flex-start}.contact-icon{width:50px;height:50px;background-color:rgba(124,179,66,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:var(--spacing-md);color:var(--color-sage-green);flex-shrink:0}.contact-info-content{flex:1}.contact-info-content h3{margin-top:0;margin-bottom:var(--spacing-xs);font-size:1.25rem}.contact-info-content p{margin-bottom:var(--spacing-xs);color:var(--color-warm-gray);line-height:1.6}.contact-info-content a{color:var(--color-warm-gray);transition:color var(--transition-fast);text-decoration:none}.contact-info-content a:hover{color:var(--color-sage-green)}@media (max-width:768px){.contact-info-container{margin-top:var(--spacing-lg)}}.map-container{margin-bottom:var(--spacing-lg)}.map-container h3{margin-bottom:var(--spacing-md)}.google-map{height:400px;border-radius:var(--border-radius-md);overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,0.1);margin-bottom:var(--spacing-md)}.map-actions{display:flex;justify-content:flex-end}.map-directions-btn{display:inline-flex;align-items:center}.map-icon{margin-right:var(--spacing-xs)}@media (max-width:768px){.google-map{height:300px}}/ * Lazy loading styles */ .lazy-background{background-color:#f5f5f5;background-size:cover;background-position:center;transition:opacity 0.3s ease}.lazy-image{opacity:0;transition:opacity 0.3s ease}.lazy-image.loaded{opacity:1}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.hero-content{-webkit-animation-duration:1s;animation-duration:1s}input[type="date"]{-webkit-appearance:none;appearance:none;padding:0.5rem 0.75rem}@supports (-webkit-touch-callout:none){input[type="date"]{background-color:var(--color-white)}}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}@supports (-ms-ime-align:auto){.hero-section::before{opacity:0.5;background-color:#000}}@-moz-document url-prefix(){.service-icon{line-height:normal}}@media not all and (min-resolution:.001dpcm){@supports (-webkit-appearance:none){.project-card{-webkit-backface-visibility:hidden;backface-visibility:hidden}}}