@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--white:#fafafa;--off-white:#f2f2f0;--light-gray:#e8e8e4;--mid-gray:#a0a09c;--graphite:#3a3a38;--dark:#1a1a18;--black:#0d0d0c;--green-accent:#4a6741;--green-dark:#3b5534;--green-olive:#5c7a4e;--green-light:#6b8f5c;--font-primary:"Inter", sans-serif;--font-display:"Playfair Display", serif;--transition:cubic-bezier(.25, .46, .45, .94)}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-primary);color:var(--graphite);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}.container{max-width:1280px;margin:0 auto;padding:0 2rem}.navbar{z-index:1000;width:100%;transition:all .5s var(--transition);padding:1.25rem 0;position:fixed;top:0;left:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#fafafad9;padding:.75rem 0;box-shadow:0 1px 30px #0000000f}.navbar .container{justify-content:space-between;align-items:center;display:flex}.nav-logo{font-family:var(--font-primary);letter-spacing:4px;color:var(--white);font-size:1.5rem;font-weight:800;transition:color .4s}.navbar.scrolled .nav-logo{color:var(--dark)}.nav-links{align-items:center;gap:2.5rem;display:flex}.nav-links a{letter-spacing:1.5px;text-transform:uppercase;color:#ffffffd9;font-size:.8rem;font-weight:500;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--green-accent);width:0;height:1px;transition:width .4s var(--transition);position:absolute;bottom:-4px;left:0}.nav-links a:hover:after{width:100%}.navbar.scrolled .nav-links a{color:var(--graphite)}.nav-links a:hover,.navbar.scrolled .nav-links a:hover{color:var(--green-accent)}.nav-cta{border:1px solid #fff6;border-radius:2px;padding:.6rem 1.5rem;letter-spacing:2px!important;font-size:.75rem!important;transition:all .3s!important}.nav-cta:hover{background:var(--green-accent);border-color:var(--green-accent);color:#fff!important}.navbar.scrolled .nav-cta{border-color:var(--green-accent);color:var(--green-accent)!important}.mobile-toggle{cursor:pointer;z-index:1001;flex-direction:column;gap:5px;display:none}.mobile-toggle span{background:var(--white);width:24px;height:1.5px;transition:all .3s}.navbar.scrolled .mobile-toggle span{background:var(--dark)}.mobile-toggle.active span:first-child{transform:rotate(45deg)translate(4px,5px)}.mobile-toggle.active span:nth-child(2){opacity:0}.mobile-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(4px,-5px)}.hero{align-items:center;height:100vh;min-height:700px;display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%;animation:20s ease-in-out infinite alternate heroZoom;transform:scale(1.05)}@keyframes heroZoom{0%{transform:scale(1.05)}to{transform:scale(1.12)}}.hero-overlay{background:linear-gradient(135deg,#0d0d0cbf 0%,#1a1a1880 50%,#3a3a3866 100%);position:absolute;inset:0}.hero-content{z-index:2;max-width:800px;position:relative}.hero-badge{letter-spacing:3px;text-transform:uppercase;color:#ffffffb3;backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #fff3;border-radius:2px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.5rem 1.25rem;font-size:.7rem;display:inline-flex}.hero-badge .dot{background:var(--green-accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.hero h1{font-family:var(--font-display);color:var(--white);letter-spacing:-.5px;margin-bottom:1.5rem;font-size:clamp(2.5rem,5vw,4.2rem);font-weight:400;line-height:1.15}.hero h1 span{color:var(--green-light)}.hero p{color:#ffffffb3;max-width:600px;margin-bottom:2.5rem;font-size:1.05rem;font-weight:300;line-height:1.8}.hero-buttons{flex-wrap:wrap;gap:1rem;display:flex}.btn-primary{background:var(--green-accent);color:#fff;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .4s var(--transition);border:none;padding:1rem 2.5rem;font-size:.75rem;font-weight:600;position:relative;overflow:hidden}.btn-primary:before{content:"";background:var(--green-dark);transition:transform .4s var(--transition);position:absolute;inset:0;transform:translate(-100%)}.btn-primary:hover:before{transform:translate(0)}.btn-primary span{z-index:1;position:relative}.btn-outline{color:var(--white);letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .4s var(--transition);background:0 0;border:1px solid #ffffff4d;padding:1rem 2.5rem;font-size:.75rem;font-weight:600}.btn-outline:hover{background:#ffffff1a;border-color:#fff9}.hero-scroll{z-index:2;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:3rem;left:50%;transform:translate(-50%)}.hero-scroll span{letter-spacing:3px;text-transform:uppercase;color:#fff6;font-size:.65rem}.scroll-line{background:linear-gradient(#fff6,#0000);width:1px;height:40px;animation:2s ease-in-out infinite scrollAnim}@keyframes scrollAnim{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}section{padding:8rem 0}.section-label{letter-spacing:4px;text-transform:uppercase;color:var(--green-accent);align-items:center;gap:1rem;margin-bottom:1rem;font-size:.7rem;font-weight:600;display:flex}.section-label:before{content:"";background:var(--green-accent);width:30px;height:1px}.section-title{font-family:var(--font-display);color:var(--dark);margin-bottom:1.5rem;font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1.2}.section-desc{color:var(--mid-gray);max-width:600px;font-size:1rem;font-weight:300;line-height:1.8}.reveal{opacity:0;transition:opacity .8s var(--transition), transform .8s var(--transition);transform:translateY(40px)}.reveal.active{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.about{background:var(--white)}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:6rem;margin-top:4rem;display:grid}.about-text p{color:var(--graphite);margin-bottom:1.5rem;font-size:.95rem;font-weight:300;line-height:1.9}.about-tags{flex-wrap:wrap;gap:.5rem;margin-top:2rem;display:flex}.about-tags span{background:var(--off-white);letter-spacing:1px;text-transform:uppercase;color:var(--graphite);border-radius:2px;padding:.4rem 1rem;font-size:.72rem;transition:all .3s}.about-tags span:hover{background:var(--green-accent);color:#fff}.about-metrics{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.metric-card{background:var(--off-white);border-radius:2px;padding:2.5rem;transition:all .4s;position:relative;overflow:hidden}.metric-card:before{content:"";background:var(--green-accent);width:3px;height:0;transition:height .6s var(--transition);position:absolute;top:0;left:0}.metric-card:hover:before{height:100%}.metric-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px #0000000f}.metric-number{font-family:var(--font-display);color:var(--dark);font-size:3rem;font-weight:600;line-height:1}.metric-number span{color:var(--green-accent);font-size:1.5rem}.metric-label{letter-spacing:2px;text-transform:uppercase;color:var(--mid-gray);margin-top:.75rem;font-size:.75rem;font-weight:500}.services{background:var(--off-white)}.services-header{justify-content:space-between;align-items:flex-end;margin-bottom:4rem;display:flex}.services-header .section-desc{margin-bottom:0}.services-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.service-card{background:var(--white);transition:all .5s var(--transition);cursor:pointer;border-radius:2px;padding:2.5rem 2rem;position:relative;overflow:hidden}.service-card:after{content:"";background:var(--green-accent);width:100%;height:2px;transition:transform .5s var(--transition);position:absolute;bottom:0;left:0;transform:scaleX(0)}.service-card:hover:after{transform:scaleX(1)}.service-card:hover{transform:translateY(-8px);box-shadow:0 30px 80px #00000014}.service-icon{width:48px;height:48px;color:var(--green-accent);justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.service-icon svg{stroke-width:1.5px;width:32px;height:32px}.service-card h3{color:var(--dark);margin-bottom:.75rem;font-size:1rem;font-weight:600;line-height:1.4}.service-card p{color:var(--mid-gray);font-size:.85rem;font-weight:300;line-height:1.7}.service-card .arrow{letter-spacing:2px;text-transform:uppercase;color:var(--green-accent);opacity:0;transition:all .4s var(--transition);align-items:center;gap:.5rem;margin-top:1.5rem;font-size:.7rem;font-weight:600;display:flex;transform:translate(-10px)}.service-card:hover .arrow{opacity:1;transform:translate(0)}.projects{background:var(--white)}.projects-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:4rem;display:grid}.project-card{cursor:pointer;aspect-ratio:4/3;border-radius:2px;text-decoration:none;display:block;position:relative;overflow:hidden}.project-card img{object-fit:cover;filter:grayscale(0%);width:100%;height:100%;transition:filter .6s var(--transition), transform .8s var(--transition)}.project-card:hover img{filter:grayscale();transform:scale(1.08)}.project-overlay{opacity:0;background:#1a1a18b8;flex-direction:column;justify-content:flex-end;padding:2rem;transition:opacity .5s;display:flex;position:absolute;inset:0}.project-card:hover .project-overlay{opacity:1}.project-overlay span{letter-spacing:3px;text-transform:uppercase;color:var(--green-light);margin-bottom:.5rem;font-size:.65rem}.project-overlay h3{font-family:var(--font-display);color:var(--white);font-size:1.3rem;font-weight:400}.project-card.large{aspect-ratio:auto;grid-area:span 2/span 2}.benefits{background:var(--dark);color:var(--white)}.benefits .section-label{color:var(--green-light)}.benefits .section-label:before{background:var(--green-light)}.benefits .section-title{color:var(--white)}.benefits .section-desc{color:#ffffff80}.benefits-grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;display:grid}.benefit-item{border:1px solid #ffffff14;border-radius:2px;padding:2.5rem;transition:all .4s;position:relative;overflow:hidden}.benefit-item:before{content:"";opacity:0;background:linear-gradient(135deg,#4a67411a 0%,#0000 60%);transition:opacity .4s;position:absolute;inset:0}.benefit-item:hover:before{opacity:1}.benefit-item:hover{border-color:#4a67414d;transform:translateY(-4px)}.benefit-icon{margin-bottom:1.25rem;font-size:1.8rem}.benefit-item h3{color:var(--white);margin-bottom:.75rem;font-size:1rem;font-weight:600}.benefit-item p{color:#ffffff80;font-size:.85rem;font-weight:300;line-height:1.7}.testimonials{background:var(--off-white)}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;display:grid}.testimonial-card{background:var(--white);border-radius:2px;padding:2.5rem;transition:all .4s;position:relative}.testimonial-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px #0000000f}.testimonial-quote{color:var(--green-accent);font-size:2.5rem;font-family:var(--font-display);margin-bottom:1rem;line-height:1}.testimonial-card p{color:var(--graphite);margin-bottom:1.5rem;font-size:.9rem;font-style:italic;font-weight:300;line-height:1.8}.testimonial-author{border-top:1px solid var(--light-gray);align-items:center;gap:1rem;padding-top:1.5rem;display:flex}.testimonial-avatar{background:var(--green-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:.85rem;font-weight:700;display:flex}.testimonial-info h4{color:var(--dark);font-size:.85rem;font-weight:600}.testimonial-info span{color:var(--mid-gray);letter-spacing:.5px;font-size:.72rem}.contact{background:var(--white)}.contact-grid{grid-template-columns:1fr 1fr;gap:6rem;margin-top:4rem;display:grid}.contact-info p{color:var(--mid-gray);margin-bottom:2.5rem;font-weight:300;line-height:1.8}.contact-detail{align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.contact-detail-icon{background:var(--off-white);width:40px;height:40px;color:var(--green-accent);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-detail h4{letter-spacing:1.5px;text-transform:uppercase;color:var(--mid-gray);margin-bottom:.25rem;font-size:.75rem;font-weight:500}.contact-detail span{color:var(--dark);font-size:.95rem;font-weight:400}.contact-social{gap:.75rem;margin-top:2.5rem;display:flex}.contact-social a{border:1px solid var(--light-gray);width:40px;height:40px;color:var(--graphite);border-radius:2px;justify-content:center;align-items:center;transition:all .3s;display:flex}.contact-social a:hover{background:var(--green-accent);border-color:var(--green-accent);color:#fff}.contact-form{flex-direction:column;gap:1.25rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.form-group{position:relative}.form-group label{letter-spacing:1.5px;text-transform:uppercase;color:var(--mid-gray);margin-bottom:.5rem;font-size:.7rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--light-gray);background:var(--off-white);width:100%;font-family:var(--font-primary);color:var(--dark);border-radius:2px;outline:none;padding:.9rem 1rem;font-size:.9rem;transition:all .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--green-accent);background:var(--white);box-shadow:0 0 0 3px #4a67411a}.form-group textarea{resize:vertical;min-height:130px}.btn-submit{background:var(--green-accent);color:#fff;font-family:var(--font-primary);letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:none;align-self:flex-start;padding:1rem 3rem;font-size:.75rem;font-weight:600;transition:all .4s}.btn-submit:hover{background:var(--green-dark);transform:translateY(-2px);box-shadow:0 10px 30px #4a67414d}.footer{background:var(--black);color:var(--white);padding:5rem 0 2rem}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;margin-bottom:4rem;display:grid}.footer-brand p{color:#fff6;max-width:300px;margin-top:1rem;font-size:.85rem;font-weight:300;line-height:1.8}.footer-col h4{letter-spacing:3px;text-transform:uppercase;color:#ffffff4d;margin-bottom:1.5rem;font-size:.7rem;font-weight:500}.footer-col a{color:#fff9;margin-bottom:.75rem;font-size:.85rem;font-weight:300;transition:color .3s;display:block}.footer-col a:hover{color:var(--green-light)}.footer-bottom{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-top:2rem;display:flex}.footer-bottom p{color:#ffffff4d;font-size:.75rem;font-weight:300}.footer-tagline{font-family:var(--font-display);color:#fff3;font-size:.85rem;font-style:italic}@media (width<=1024px){.services-grid,.projects-grid{grid-template-columns:repeat(2,1fr)}.project-card.large{grid-area:span 1/span 1}.benefits-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}}@media (width<=768px){section{padding:5rem 0}.nav-links{background:var(--dark);width:80%;max-width:400px;height:100vh;transition:right .5s var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:2rem;position:fixed;top:0;right:-100%}.nav-links.active{right:0}.nav-links a{font-size:.9rem;color:#ffffffb3!important}.mobile-toggle{display:flex}.about-grid{grid-template-columns:1fr;gap:3rem}.services-grid{grid-template-columns:1fr}.services-header{flex-direction:column;align-items:flex-start;gap:1rem}.projects-grid,.benefits-grid,.testimonials-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:3rem}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-bottom{text-align:center;flex-direction:column;gap:1rem}.hero-buttons{flex-direction:column}.btn-primary,.btn-outline{text-align:center}}.team-container{text-align:center;margin-top:5rem}.team-section-title{font-family:var(--font-display);color:var(--dark);margin-bottom:.5rem;font-size:2.2rem;font-weight:400}.team-section-desc{color:var(--mid-gray);max-width:600px;margin-bottom:3.5rem;margin-left:auto;margin-right:auto;font-size:.95rem;font-weight:300}.team-grid{grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:2rem;display:grid}.team-card{background:var(--off-white);text-align:center;transition:all .4s var(--transition);border-top:3px solid #0000;border-radius:2px;padding:3rem 2rem}.team-card:hover{border-top-color:var(--green-accent);transform:translateY(-6px);box-shadow:0 20px 50px #0000000d}.team-img-wrapper{border:4px solid var(--white);border-radius:50%;width:140px;height:140px;margin:0 auto 1.75rem;overflow:hidden;box-shadow:0 10px 30px #0000000d}.team-img-wrapper img{object-fit:cover;width:100%;height:100%}.team-card h4{font-family:var(--font-display);color:var(--dark);margin-bottom:.35rem;font-size:1.25rem;font-weight:500}.team-role{letter-spacing:2px;text-transform:uppercase;color:var(--green-accent);margin-bottom:1.25rem;font-size:.72rem;font-weight:600;display:block}.team-bio{color:var(--graphite);font-size:.85rem;font-weight:300;line-height:1.7}.project-filters{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:3rem 0;display:flex}.filter-btn{background:var(--off-white);font-family:var(--font-primary);letter-spacing:1.5px;text-transform:uppercase;color:var(--graphite);cursor:pointer;border:none;border-radius:2px;padding:.6rem 1.4rem;font-size:.75rem;font-weight:500;transition:all .3s}.filter-btn:hover{background:var(--light-gray);color:var(--dark)}.filter-btn.active{background:var(--green-accent);color:var(--white);box-shadow:0 10px 25px #4a674140}.project-card.hidden-by-filter,.project-card.hidden-by-limit{display:none!important}.project-card{display:block}.project-desc-text{-webkit-line-clamp:5;text-overflow:ellipsis;-webkit-box-orient:vertical;margin-top:1rem;display:-webkit-box;overflow:hidden;color:#ffffffb3!important;text-transform:none!important;letter-spacing:0!important;font-size:.78rem!important;font-weight:300!important;line-height:1.6!important}.service-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:2000;opacity:0;pointer-events:none;transition:opacity .4s var(--transition);background:#0d0d0ccc;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.service-modal-overlay.active{opacity:1;pointer-events:auto}.service-modal-content{background:var(--white);width:100%;max-width:680px;max-height:90vh;transition:transform .4s var(--transition);border-radius:2px;position:relative;overflow-y:auto;transform:translateY(40px);box-shadow:0 30px 100px #0000004d}.service-modal-overlay.active .service-modal-content{transform:translateY(0)}.service-modal-close{color:var(--mid-gray);cursor:pointer;z-index:10;background:0 0;border:none;outline:none;font-size:2.2rem;line-height:1;transition:color .3s;position:absolute;top:1.5rem;right:1.5rem}.service-modal-close:hover{color:var(--dark)}.service-modal-body{padding:4rem 3.5rem}.service-modal-body h3{font-family:var(--font-display);color:var(--dark);border-bottom:1px solid var(--light-gray);margin-bottom:2rem;padding-bottom:1rem;font-size:2rem;font-weight:400;line-height:1.2}.service-modal-body img{object-fit:cover;border-radius:2px;width:100%;height:260px;margin-bottom:2rem}.service-modal-body p{color:var(--graphite);margin-bottom:1.5rem;font-size:.95rem;font-weight:300;line-height:1.8}.service-modal-body h4{color:var(--dark);margin-top:2rem;margin-bottom:1rem;font-size:1.05rem;font-weight:600}.service-modal-body ul{margin-bottom:1.5rem;padding-left:0;list-style:none}.service-modal-body li{color:var(--graphite);margin-bottom:.75rem;padding-left:1.5rem;font-size:.9rem;font-weight:300;line-height:1.7;position:relative}.service-modal-body li:before{content:"✓";color:var(--green-accent);font-weight:700;position:absolute;left:0}.source-note{margin-top:3rem;font-style:italic;color:var(--mid-gray)!important;font-size:.75rem!important}@media (width<=1024px){.team-grid{gap:1.5rem}}@media (width<=768px){.team-grid{grid-template-columns:1fr;gap:2rem}.service-modal-body{padding:3rem 2rem}.service-modal-body h3{font-size:1.6rem}}.btn-yellow{color:#d4af37;letter-spacing:2px;text-transform:uppercase;transition:all .4s var(--transition);text-align:center;background:0 0;border:2px solid #d4af37;border-radius:2px;padding:.9rem 2.2rem;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-block}.btn-yellow:hover{color:var(--dark);background:#d4af37;transform:translateY(-2px);box-shadow:0 10px 30px #d4af3740}
