*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.6;color:#333;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.about a,.contact a,.featured-project a,.services a,main a:not(.cta-button):not(.section-link),section a:not(.cta-button):not(.section-link){color:#2e6b4f;text-decoration:underline;text-underline-offset:3px;transition:color .3s ease}.about a:hover,.contact a:hover,.featured-project a:hover,.services a:hover,main a:not(.cta-button):not(.section-link):hover,section a:not(.cta-button):not(.section-link):hover{color:#245a3f;font-weight:700;text-decoration:none}section.hero a:not(.cta-button){color:#fff!important;text-decoration:underline;text-underline-offset:3px;transition:opacity .3s ease}section.hero a:not(.cta-button):hover{color:#fff!important;opacity:.9;font-weight:700;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 20px}.navbar{position:fixed;top:0;width:100%;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);z-index:1000;padding:1rem 0;transition:all .3s ease}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.nav-logo{display:flex;align-items:center;gap:.75rem;z-index:1001;position:relative;text-decoration:none;transition:opacity .3s ease}.nav-logo:hover{opacity:.8}.nav-logo:focus{outline:2px solid #499F74;outline-offset:2px;border-radius:4px}.logo-img{height:40px;width:auto;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .1));pointer-events:auto}.nav-logo h2{color:#499f74;font-weight:700}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-menu a{text-decoration:none;color:#333;font-weight:500;transition:color .3s ease;padding:.5rem 1rem;display:block;min-height:44px;display:flex;align-items:center;justify-content:center}.nav-menu a:hover{color:#499f74}.nav-login-link{background:linear-gradient(135deg,#499f74 0,#5bb088 100%);color:#fff!important;padding:.5rem 1rem!important;border-radius:6px;font-weight:600;transition:all .3s ease}.nav-login-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(73,159,116,.4);color:#fff!important}.hamburger{display:none;flex-direction:column;cursor:pointer;z-index:1001;position:relative;padding:.5rem;min-width:44px;min-height:44px;justify-content:center;align-items:center;background:0 0;border:none}.hamburger span{width:25px;height:3px;background:#333;margin:3px 0;transition:.3s;display:block;border-radius:2px}.hamburger.active span:first-child{transform:rotate(-45deg) translate(-5px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}.hero{padding:120px 0 80px;background:linear-gradient(135deg,#3d8a62 0,#499f74 100%);color:#fff;min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.hero-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:center;align-items:center;width:100%}.hero-content{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;width:100%;max-width:800px;margin:0 auto;padding:0 1rem}.hero-logo{margin-bottom:1.5rem;text-align:center;display:flex;justify-content:center}.hero-logo-img{height:180px;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0, 0, 0, .3))}.hero-content h1{font-size:2.25rem;font-weight:700;margin-bottom:1.5rem;line-height:1.2;text-align:center!important;width:100%;display:block;margin-left:auto;margin-right:auto}.hero-content p{font-size:1.25rem;margin-bottom:2rem;opacity:.9;text-align:center}.cta-button{display:block;background:#fff;color:#2e6b4f;padding:1rem 2rem;border-radius:50px;text-decoration:none;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.1);margin:0 auto;width:fit-content}.cta-button:hover{background:#f8fafc;color:#245a3f;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.hero-graphic{display:flex;justify-content:center;align-items:center;font-size:8rem;color:rgba(255,255,255,.2)}.services{padding:80px 0;background:#f8fafc}.services h2{text-align:center;font-size:2.5rem;margin-bottom:1rem;color:#1f2937}.section-subtitle{text-align:center;font-size:1.125rem;color:#6b7280;margin-bottom:3rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.service-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 6px rgba(0,0,0,.05);transition:all .3s ease;border:1px solid #e5e7eb}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 25px rgba(0,0,0,.1)}.service-icon{width:60px;height:60px;background:linear-gradient(135deg,#499f74,#5bb088);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.service-icon i{font-size:1.5rem;color:#fff}.service-card h3{font-size:1.25rem;margin-bottom:1rem;color:#1f2937}.service-card p{color:#6b7280;line-height:1.6}.about{padding:80px 0;background:#fff}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-text h2{font-size:2.5rem;margin-bottom:1.5rem;color:#1f2937}.about-text p{margin-bottom:1.5rem;color:#4b5563;font-size:1.125rem}.about-text ul{list-style:none;margin-top:1rem}.about-text li{padding:.5rem 0;color:#4b5563;position:relative;padding-left:1.5rem}.about-text li::before{content:"✓";position:absolute;left:0;color:#499f74;font-weight:700}.about-graphic{display:flex;justify-content:center;align-items:center;font-size:6rem;color:#e5e7eb}.profile-photo{width:100%;max-width:300px;height:auto;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15);object-fit:cover;display:block;margin:0 auto}.about-image{display:flex;justify-content:center;align-items:center}.contact{padding:80px 0;background:#f8fafc}.contact h2{text-align:center;font-size:2.5rem;margin-bottom:1rem;color:#1f2937}.contact-expectation{text-align:center;color:#2e6b4f;font-size:1rem;font-weight:500;margin:0 auto 2rem}.contact-expectation i{margin-right:.35rem}.contact-container{display:grid;grid-template-columns:1fr 2fr;gap:4rem;margin-top:3rem}.contact-info h3{font-size:1.5rem;margin-bottom:1.5rem;color:#1f2937}.contact-item{display:flex;align-items:center;margin-bottom:1rem;color:#4b5563}.contact-item i{width:20px;margin-right:1rem;color:#499f74}#header-email,#protected-email{cursor:pointer;color:#2e6b4f;text-decoration:underline;font-weight:600;background:rgba(46,107,79,.15);padding:2px 6px;border-radius:4px;border:1px solid rgba(46,107,79,.4);transition:all .3s ease;display:inline-block}#header-email:hover,#protected-email:hover{color:#245a3f;background:rgba(46,107,79,.2);border-color:rgba(46,107,79,.6);transform:translateY(-1px);box-shadow:0 2px 8px rgba(46,107,79,.25)}.contact-form{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 6px rgba(0,0,0,.05)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;line-height:1.5;color:#333;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:#2563eb}.form-group.field-error-state input,.form-group.field-error-state textarea{border-color:#c53030;box-shadow:0 0 0 2px rgba(197,48,48,.15)}.field-error{display:block;font-size:.875rem;color:#c53030;margin-top:.35rem;font-weight:500}.submit-button{background:linear-gradient(135deg,#499f74,#3d8a62);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.submit-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(73,159,116,.3)}.featured-project{padding:5rem 0;background:linear-gradient(135deg,#f8fafc 0,#e0e7ff 100%)}.featured-project h2{text-align:center;color:#1f2937;margin-bottom:1rem;font-size:2.5rem;font-weight:700}.featured-project .section-subtitle{text-align:center;color:#6b7280;margin-bottom:3rem;font-size:1.1rem}.project-overview{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:3rem;align-items:start;-webkit-display:grid;-webkit-grid-template-columns:1fr 1fr;width:100%}.project-description h3{color:#1f2937;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.project-description p{color:#4b5563;margin-bottom:1rem;line-height:1.6}.project-description ul{margin:1rem 0;padding-left:1.5rem}.project-description li{color:#4b5563;margin-bottom:.5rem;line-height:1.6}.project-images{display:flex;flex-direction:column;gap:1.5rem}.image-comparison{display:flex;flex-direction:column;gap:1.5rem}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%;-webkit-display:grid;-webkit-grid-template-columns:1fr 1fr}.image-container{text-align:center;max-width:100%;overflow:hidden;position:relative;display:flex;flex-direction:column;align-items:center}.image-container h4{color:#374151;margin-bottom:.5rem;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.project-image{width:100%;max-width:100%;height:auto;max-height:300px;object-fit:cover;object-position:center;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:transform .3s ease;display:block;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-box-sizing:border-box;box-sizing:border-box}.project-image:hover{transform:scale(1.02);-webkit-transform:scale(1.02)}.project-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.detail-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.08);text-align:center;border:1px solid #e5e7eb;transition:all .3s ease}.detail-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(5,150,105,.15)}.detail-icon{width:60px;height:60px;background:linear-gradient(135deg,#499f74,#5bb088);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.detail-icon i{font-size:1.5rem;color:#fff}.detail-card h4{color:#1f2937;margin-bottom:1rem;font-size:1.125rem;font-weight:600}.detail-card p{color:#6b7280;line-height:1.6;font-size:.875rem}@media (max-width:768px){.project-overview{grid-template-columns:1fr;gap:2rem}.image-pair{grid-template-columns:1fr;gap:1rem}.project-details{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.project-image{max-height:250px;object-fit:contain;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-box-sizing:border-box;box-sizing:border-box}}@supports (-webkit-touch-callout:none){.project-image{width:100%!important;max-width:100%!important;height:auto!important;max-height:200px!important;object-fit:contain!important;-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important;-webkit-box-sizing:border-box!important;box-sizing:border-box!important;-webkit-transform-style:preserve-3d!important;transform-style:preserve-3d!important;display:block!important;float:none!important;clear:both!important}.image-container{width:100%!important;max-width:100%!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;align-items:center!important;-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}.image-pair{gap:.75rem!important;width:100%!important}.image-container h4{font-size:.75rem!important;margin-bottom:.25rem!important}}@media only screen and (max-device-width:768px) and (-webkit-min-device-pixel-ratio:2){.project-image{max-height:180px!important;object-fit:contain!important;-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important}}.privacy-content{padding:120px 0 5rem;background:#f8fafc;min-height:100vh}.privacy-header{text-align:center;margin-bottom:3rem;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.08)}.privacy-header h1{color:#1f2937;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.last-updated{color:#6b7280;font-size:1rem;font-style:italic}.privacy-body{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px rgba(0,0,0,.08)}.policy-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.policy-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.policy-section h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.policy-section h3{color:#374151;font-size:1.25rem;font-weight:600;margin:1.5rem 0 1rem}.policy-section p{color:#4b5563;line-height:1.6;margin-bottom:1rem}.policy-section ul{margin:1rem 0;padding-left:1.5rem}.policy-section li{color:#4b5563;margin-bottom:.5rem;line-height:1.6}.policy-section a{color:#2e6b4f;text-decoration:none;transition:color .3s ease}.policy-section a:hover{color:#245a3f;text-decoration:underline}.contact-info{background:#f8fafc;padding:1.5rem;border-radius:8px;margin-top:1rem}.contact-info p{margin-bottom:.5rem}.contact-info p:last-child{margin-bottom:0}@media (max-width:768px){.privacy-content{padding:100px 0 3rem}.privacy-header h1{font-size:2rem}.privacy-body{padding:1.5rem}.policy-section{margin-bottom:2rem;padding-bottom:1.5rem}.policy-section h2{font-size:1.25rem}.policy-section h3{font-size:1.125rem}}@supports (-webkit-touch-callout:none) and (max-width:768px){.project-overview{display:flex!important;flex-direction:column!important;gap:2rem!important}.image-pair{display:flex!important;flex-direction:column!important;gap:1rem!important;width:100%!important}.image-container{width:100%!important;max-width:100%!important;flex:1!important}.project-image{width:100%!important;max-width:100%!important;height:auto!important;max-height:200px!important;object-fit:contain!important;display:block!important;float:none!important;clear:both!important;-webkit-transform:translate3d(0,0,0)!important;transform:translate3d(0,0,0)!important;-webkit-box-sizing:border-box!important;box-sizing:border-box!important}}.image-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.4, 0, .2, 1)}.image-modal.active{opacity:1;visibility:visible}.modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);width:90%;max-width:900px;max-height:90vh;background:#fff;border-radius:20px;box-shadow:0 25px 50px rgba(0,0,0,.3);overflow:hidden;transition:all .4s cubic-bezier(.4, 0, .2, 1)}.image-modal.active .modal-content{transform:translate(-50%,-50%) scale(1)}.modal-close{position:absolute;top:20px;right:20px;width:50px;height:50px;background:rgba(255,255,255,.9);border:none;border-radius:50%;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.2)}.modal-close:hover{background:#fff;transform:scale(1.1);box-shadow:0 6px 20px rgba(0,0,0,.3)}.modal-close i{font-size:1.2rem;color:#374151}.modal-image-container{width:100%;max-height:70vh;overflow:hidden;position:relative}.modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:rgba(255,255,255,.9);border:none;border-radius:50%;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.2)}.modal-nav:hover{background:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px rgba(0,0,0,.3)}.modal-nav i{font-size:1.2rem;color:#374151}.modal-prev{left:15px}.modal-next{right:15px}.modal-nav.hidden{display:none}.modal-image{width:100%;height:auto;max-height:70vh;object-fit:contain;display:block;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.modal-caption{padding:2rem;background:linear-gradient(135deg,#f8fafc 0,#e0e7ff 100%)}.modal-caption h3{color:#1f2937;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.modal-caption p{color:#4b5563;line-height:1.6;font-size:1rem}.clickable-image{cursor:pointer;transition:all .3s ease}.clickable-image:hover{transform:scale(1.05);box-shadow:0 8px 25px rgba(0,0,0,.15)}@keyframes modalFadeIn{from{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes backdropFadeIn{from{opacity:0}to{opacity:1}}@media (max-width:768px){.modal-content{width:95%;max-height:95vh}.modal-caption{padding:1.5rem}.modal-caption h3{font-size:1.25rem}.modal-close{width:40px;height:40px;top:15px;right:15px}.modal-nav{width:40px;height:40px}.modal-prev{left:10px}.modal-next{right:10px}.floating-cta{bottom:1.25rem;right:1.25rem;padding:.6rem 1rem;font-size:.875rem}.floating-cta span{display:none}.floating-cta i{margin:0}}@supports (-webkit-touch-callout:none){.modal-content{-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.image-modal.active .modal-content{-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1)}}@supports (-webkit-touch-callout:none) and (max-width:768px){.hero{min-height:-webkit-fill-available;min-height:100vh;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.hero-container{width:100%;max-width:100%;padding:0 15px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.hero-content{width:100%;max-width:100%;padding:0 .5rem;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.hero-logo{width:100%;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;margin-bottom:1.5rem}.hero-logo-img{height:auto;max-height:120px;max-width:90%;width:auto;object-fit:contain;aspect-ratio:auto}.navbar{position:fixed;top:0;width:100%;z-index:1000;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.nav-container{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:0 15px}.nav-logo{z-index:1001;position:relative;min-height:44px;min-width:44px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.hamburger{z-index:1001;position:relative;min-height:44px;min-width:44px;padding:.5rem;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.nav-menu{position:fixed;left:-100%;top:60px;width:100%;height:calc(100vh - 60px);background-color:#fff;z-index:9999;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.nav-menu.active{left:0}.nav-menu a{min-height:44px;padding:1rem;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;font-size:1.1rem;border-bottom:1px solid #f3f4f6}}.portfolio{padding:5rem 0;background:#f8fafc}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.portfolio-item{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,.08);transition:all .3s ease;border:1px solid #e5e7eb}.portfolio-icon{width:60px;height:60px;background:linear-gradient(135deg,#499f74,#5bb088);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.portfolio-icon i{font-size:1.5rem;color:#fff}.portfolio-item h3{color:#1f2937;margin-bottom:1rem;font-size:1.25rem}.portfolio-item p{color:#6b7280;margin-bottom:1.5rem;line-height:1.6}.portfolio-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:#d1fae5;color:#3d8a62;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.testimonials{padding:5rem 0;background:#fff}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.testimonial{background:#f8fafc;padding:2rem;border-radius:12px;border-left:4px solid #499f74;transition:all .3s ease}.testimonial-content p{color:#374151;font-style:italic;margin-bottom:1.5rem;line-height:1.6;font-size:1.1rem}.testimonial-author{display:flex;align-items:center}.author-info h4{color:#1f2937;margin:0 0 .25rem 0;font-size:1.1rem}.author-info span{color:#6b7280;font-size:.9rem}.about,.contact,.detail-card,.featured-project,.footer,.hero,.navbar,.portfolio,.portfolio-item,.project-description,.project-details,.project-images,.service-card,.services,.testimonial,.testimonials,div,h1,h2,h3,h4,h5,h6,li,p,span{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#header-email,#protected-email,.contact-info,.contact-item,.form-group input,.form-group select,.form-group textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.hero-logo-img,.logo-img,.modal-image,.project-image,img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;pointer-events:auto}.modal-image,.project-image{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none}.modal-image,.project-image{position:relative}.modal-image::before,.project-image::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:0 0;pointer-events:none;z-index:1}.submit-button .loading-spinner{display:none;margin-left:.5rem}.submit-button.loading{cursor:wait;opacity:.9;pointer-events:none}.submit-button.loading:hover{transform:none;box-shadow:inherit}.submit-button.loading .button-text{opacity:1}.submit-button.loading .button-icon{display:none!important}.submit-button.loading .loading-spinner{display:inline-block!important}.form-message.sending{color:#6b7280;background:#f3f4f6}.form-message{margin-top:1rem;padding:1rem;border-radius:8px;text-align:center;font-weight:500}.form-message.success{background:#d1fae5;color:#3d8a62;border:1px solid #a7f3d0}.form-message.error{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.modal-image,.project-image{will-change:transform;backface-visibility:hidden;transform:translateZ(0)}.hero,.hero-content h1,.hero-content p,.navbar{contain:layout style paint}.breadcrumb{margin-bottom:1.5rem}.breadcrumb-list{display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:0;margin:0;flex-wrap:nowrap;white-space:nowrap;overflow:hidden}.breadcrumb-item{display:flex;align-items:center;flex-shrink:0;white-space:nowrap}.breadcrumb-item:not(:last-child)::after{content:'>';margin-left:.5rem;color:#9ca3af;font-weight:600}@supports (-webkit-appearance:none){.breadcrumb-list{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-flex-wrap:nowrap;-webkit-justify-content:flex-start;-webkit-align-items:center}.breadcrumb-item{-webkit-box-flex:0;-webkit-flex-shrink:0;-webkit-flex-grow:0}}.breadcrumb a{color:#2e6b4f;text-decoration:none;transition:color .3s ease}.breadcrumb a:hover{color:#245a3f;text-decoration:underline}.breadcrumb li[aria-current=page]{color:#6b7280;font-weight:500}.modal-image,.project-image{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.footer{background:#1f2937;color:#fff;text-align:center;padding:2rem 0}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:1rem;gap:0 .5rem}.footer-nav a{color:#d1d5db;text-decoration:none;transition:color .2s ease}.footer-nav a:hover{color:#fff}.footer-nav-sep{color:#b3bcc6;margin:0 .5rem;user-select:none}.content-freshness{font-size:.8125rem;color:#d1d5db;margin-top:.75rem}.legal-notice{font-size:.875rem;color:#d1d5db;margin-top:.5rem;font-style:italic}.floating-cta{position:fixed;bottom:2rem;right:2rem;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#499f74;color:#fff;text-decoration:none;border-radius:50px;font-weight:600;font-size:.9375rem;box-shadow:0 4px 20px rgba(73,159,116,.4);z-index:999;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s ease}.floating-cta.visible{opacity:1;visibility:visible;transform:translateY(0)}.floating-cta:hover{background:#3d8a62;color:#fff;transform:translateY(-2px);box-shadow:0 6px 24px rgba(73,159,116,.5)}@media (max-width:768px){.hamburger{display:flex!important}.nav-menu{display:none}.hero{padding:100px 0 60px;min-height:calc(100vh - 160px)}.hero-container{padding:0 15px;width:100%;max-width:100%}.hero-content{padding:0 .5rem;width:100%;max-width:100%}.hero-content h1{font-size:1.75rem}.hero-logo-img{height:auto;max-height:120px;max-width:90%;width:auto;object-fit:contain}.about-content{grid-template-columns:1fr;gap:2rem;text-align:center}.contact-container{grid-template-columns:1fr;gap:2rem}.footer-nav{flex-wrap:wrap;justify-content:center;gap:.25rem}.footer-nav-sep{display:none}.footer-nav a{display:inline-block}.services-grid{grid-template-columns:1fr}#schools{padding:2rem 0!important}#schools .project-details{grid-template-columns:1fr;gap:1.5rem}#schools .detail-card{padding:1.5rem}#schools .project-description h3{font-size:1.5rem}#schools .project-description h4{font-size:1.25rem;margin-top:1.5rem}#schools .project-description ul{padding-left:1.5rem}#schools .project-description li{margin-bottom:.75rem;line-height:1.6}.cta-button,.nav-menu a,.submit-button,a[href^="#"]{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.section-subtitle{font-size:1rem;line-height:1.6}h2{font-size:2rem;line-height:1.3}h3{font-size:1.5rem;line-height:1.4}}@media (max-width:480px){.hero{padding:80px 0 40px;min-height:calc(100vh - 120px)}.hero-content h1{font-size:1.5rem}.hero-content p{font-size:1rem}.hero-logo-img{height:auto;max-height:100px;max-width:85%;width:auto;object-fit:contain}.container{padding:0 15px}.contact-form,.service-card{padding:1.5rem}.nav-menu{top:60px}#schools .project-description{padding:0}#schools .project-description h3{font-size:1.25rem}#schools .project-description h4{font-size:1.125rem}#schools .detail-card h4{font-size:1.125rem}#schools .detail-card p{font-size:.9rem}.container{padding-left:15px;padding-right:15px}ol,ul{padding-left:1.25rem}li{margin-bottom:.5rem}}.fade-in{opacity:0;transform:translateY(30px);transition:all .8s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.slide-in-left{opacity:0;transform:translateX(-50px);transition:all .8s ease}.slide-in-left.visible{opacity:1;transform:translateX(0)}.slide-in-right{opacity:0;transform:translateX(50px);transition:all .8s ease}.slide-in-right.visible{opacity:1;transform:translateX(0)}.scale-in{opacity:0;transform:scale(.8);transition:all .8s ease}.scale-in.visible{opacity:1;transform:scale(1)}.services-grid .service-card:first-child{transition-delay:0.1s}.services-grid .service-card:nth-child(2){transition-delay:0.2s}.services-grid .service-card:nth-child(3){transition-delay:0.3s}.services-grid .service-card:nth-child(4){transition-delay:0.4s}.portfolio-grid .portfolio-item:first-child{transition-delay:0.1s}.portfolio-grid .portfolio-item:nth-child(2){transition-delay:0.2s}.portfolio-grid .portfolio-item:nth-child(3){transition-delay:0.3s}.testimonial-grid .testimonial:first-child{transition-delay:0.1s}.testimonial-grid .testimonial:nth-child(2){transition-delay:0.2s}.testimonial-grid .testimonial:nth-child(3){transition-delay:0.3s}