.user-avatar-wrapper{display:flex;align-items:center;margin-left:15px}.user-avatar-container{display:flex;align-items:center;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.user-avatar-container:focus{outline:2px solid #3a7068;outline-offset:2px}.MuiModal-hidden{visibility:hidden!important}.MuiMenu-paper{border-radius:8px!important;min-width:220px!important;box-shadow:0 4px 20px #00000014!important}.MuiMenuItem-root{padding:8px 16px!important;font-size:.9rem!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important}.MuiMenuItem-root:hover{background-color:#0000000d!important}.MuiMenuItem-root .MuiListItemIcon-root{min-width:36px!important;color:inherit!important}@media (max-width: 768px){.user-avatar-wrapper{margin-left:10px}}:root{--primary-color: #3a7068 !important;--primary-dark: #2a5550 !important;--secondary-color: #f8f9fa !important;--text-color: #333 !important;--text-light: #6c757d !important;--white: #ffffff !important;--nav-background: rgba(255, 255, 255, .95) !important;--nav-border: rgba(0, 0, 0, .1) !important}.navbar{position:fixed;top:0;left:0;right:0;height:80px;z-index:1000;background-color:#fff;box-shadow:0 0 3px #0000001a}.navbar-container{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1400px;margin:0 auto;height:100%;width:100%}body .navbar .navbar-logo{font-size:1.5rem!important;font-weight:700!important;color:var(--primary-dark)!important;text-decoration:none!important;background:linear-gradient(to right,#213604,#3a5c08)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important}.desktop-nav{display:flex;align-items:center;gap:2rem}.navbar-logo{font-style:italic;display:flex;align-items:center;padding:.5rem 0!important;margin:0!important;line-height:1!important}.nav-links{display:flex!important;gap:2.9rem!important;list-style:none!important;margin:12px 0 0;padding:0;align-items:center!important}.nav-link{color:var(--text-color)!important;text-decoration:none!important;font-weight:500!important;padding:.5rem 0!important;position:relative;transition:color .3s ease;align-items:center!important}.nav-link:hover{color:var(--primary-color)!important;text-decoration:none}.nav-link.active{color:var(--primary-color)!important}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--primary-color)!important}.nav-actions{display:flex;align-items:center;gap:1rem}.primary-button{background-color:var(--primary-color);color:var(--white);border:none;border-radius:4px;padding:.5rem 1.25rem;cursor:pointer;transition:background-color .3s ease}.primary-button:hover{background-color:var(--primary-dark)}.secondary-button{background-color:var(--white);color:var(--primary-color)!important;border:1px solid var(--primary-color)!important;border-radius:4px;padding:.48rem 1.24rem!important;cursor:pointer;transition:background-color .3s ease}.secondary-button:hover{background-color:var(--secondary-color)}.mobile-menu-button{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text-color)}.mobile-menu{position:fixed;top:70px;right:-100%;width:300px;height:calc(100vh - 70px);background:var(--nav-background);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1001;padding:0;transition:right .3s ease,visibility 0s linear .3s;visibility:hidden}.mobile-menu.open{right:0;visibility:visible;opacity:1}.mobile-user-info{display:flex;align-items:center;padding:1.5rem;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid rgba(0,0,0,.1)}.mobile-user-info:hover{background-color:#0000000d}.mobile-user-avatar{width:48px;height:48px;border-radius:50%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;margin-right:1rem}.mobile-user-details{flex:1}.mobile-user-name{font-weight:600;color:var(--text-color);margin-bottom:.25rem}.mobile-user-email{font-size:.875rem;color:var(--text-light);word-break:break-all}.mobile-menu ul{list-style:none;padding:0;margin:0}.mobile-nav-link{display:block;padding:1rem 1.5rem;color:var(--text-color)!important;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.1);transition:background-color .2s ease}.mobile-nav-link:hover{background-color:#0000000d;text-decoration:none}.mobile-nav-link.active{color:var(--primary-color)!important;font-weight:500}.mobile-actions{display:flex;flex-direction:column;gap:.8rem;padding:1rem}.mobile-primary-button,.mobile-secondary-button,.mobile-logout-button{width:100%;border-radius:4px;cursor:pointer;transition:all .3s ease;font-size:.9rem}.mobile-primary-button:hover{background-color:var(--primary-dark)}.mobile-secondary-button:hover{background-color:var(--secondary-color)}.mobile-logout-button{width:100%;padding:.75rem 1rem;background-color:#dc3545;color:var(--white);border:none;border-radius:4px;cursor:pointer;transition:opacity .3s ease;margin-top:.5rem}.mobile-secondary-button{width:100%;padding:.75rem 1rem;background-color:var(--white);color:var(--primary-color);border:1px solid var(--primary-color);border-radius:4px;cursor:pointer;transition:background-color .3s ease}.mobile-primary-button{width:100%;padding:.75rem 1rem;background-color:var(--primary-color);color:var(--white);border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.mobile-logout-button:hover{background-color:#bb2d3b;opacity:.9}.login-notice-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--white);padding:2rem;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1002;width:90%;max-width:400px}.login-notice-content{text-align:center}.login-notice-content p{margin-bottom:1.5rem;color:var(--text-color)}.login-notice-buttons{display:flex;gap:1rem;justify-content:center}.login-notice-buttons button{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;transition:opacity .3s ease}.login-notice-buttons button:first-child{background-color:var(--primary-color);color:var(--white)}.login-notice-buttons button:last-child{background-color:#6c757d;color:var(--white)}.login-notice-buttons button:hover{opacity:.9}.nav-dropdown,.dropdown{position:relative;display:inline-block}.dropdown-toggle{padding:.5rem 0!important;margin:0!important;display:flex;align-items:center;gap:.3rem;background:none;border:none;font-weight:500;font-size:1rem;cursor:pointer;color:var(--text-color);padding:.5rem 1rem;transition:background-color .2s ease}.dropdown-menu{position:absolute;top:85px;left:0;background-color:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 6px 20px #0000001f;border-radius:10px;z-index:1002;min-width:240px;padding:.5rem 0;opacity:0;transform:translateY(10px);visibility:hidden;transition:all .25s ease-out;pointer-events:none}.dropdown-menu.show{opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto}.dropdown-item{display:flex;align-items:center;width:100%;padding:.75rem 1.25rem;color:#2a2a2a!important;text-align:left;background:none;border:none;text-decoration:none;font-size:.95rem;cursor:pointer;transition:all .2s ease;position:relative}.dropdown-item:hover,.dropdown-item:focus{background-color:#e9ebec;color:#1a2e2a;text-decoration:none}.dropdown-item:active{background-color:#929394}.dropdown-item.active{color:#2a7f7b;font-weight:500}.dropdown-item:before{content:"";display:inline-block;width:10px;height:10px;margin-right:12px;background-color:#3da8a3;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.dropdown-item:not(:last-child){border-bottom:1px solid rgba(0,0,0,.03)}.dropdown-menu.show .dropdown-item{animation:fadeInUp .3s ease forwards}.dropdown-menu.show .dropdown-item:nth-child(1){animation-delay:.05s}.dropdown-menu.show .dropdown-item:nth-child(2){animation-delay:.1s}.dropdown-menu.show .dropdown-item:nth-child(3){animation-delay:.15s}.dropdown-menu.show .dropdown-item:nth-child(4){animation-delay:.2s}.mobile-dropdown-item{display:flex;flex-direction:column;width:100%}.mobile-dropdown-header{padding:1rem 1.5rem!important;color:var(--text-color)!important;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.1);transition:all .2s ease;display:flex;justify-content:space-between;align-items:center;width:100%;font-weight:400;background:none;border:none;cursor:pointer;font-size:1rem;text-align:left}.mobile-dropdown-header:hover{background-color:#0000000d;color:var(--primary-color)!important}.mobile-dropdown-content{max-height:0;overflow:hidden;transition:max-height .3s ease;padding-left:1.5rem;background-color:#00000005}.mobile-dropdown-content.open{max-height:1000px}.mobile-nav-link.sub-item{padding:.75rem 1rem .75rem 1.5rem!important;font-size:.9rem;color:var(--text-light)!important;border-bottom:1px solid rgba(0,0,0,.05);display:block;transition:all .2s ease}.mobile-nav-link.sub-item:hover{background-color:#00000008;color:var(--primary-color)!important}.mobile-dropdown-header svg{margin-left:.5rem;font-size:1rem;transition:transform .3s ease}.mobile-dropdown-header svg.rotate{transform:rotate(180deg)}.mobile-dropdown-item.active .mobile-dropdown-header,.mobile-nav-link.sub-item.active{color:var(--primary-color)!important;font-weight:500}@keyframes fadeInUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.navbar-container{padding:1rem}.desktop-nav{display:none}.mobile-menu-button{display:block}.navbar-logo{font-size:1.3rem}}@media (max-width: 768px){.navbar-container{padding:1rem}.desktop-nav{display:none}.mobile-menu-button,.mobile-menu{display:block}.navbar-logo{font-size:1.3rem}}.main-content{margin-top:80px}@media (max-width: 480px){.mobile-menu{width:100%;right:-100%}.mobile-menu.open{right:0}.mobile-user-info{padding:1rem;flex-direction:column;text-align:center}.mobile-user-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;margin-right:1rem;color:#fff!important}.mobile-user-name{font-size:.9rem;margin-bottom:.2rem}.mobile-user-email{font-size:.75rem}.mobile-nav-link{padding:.75rem 1rem;font-size:.9rem;text-align:center}.mobile-primary-button,.mobile-secondary-button{padding:.75rem;font-size:.9rem}.MuiMenu-paper{min-width:280px!important;max-width:90vw!important}.MuiMenuItem-root{padding:6px 12px!important;font-size:.85rem!important;min-height:40px!important}.MuiMenuItem-root .MuiListItemIcon-root{min-width:32px!important}.MuiMenuItem-root .MuiSvgIcon-root{font-size:1rem!important}.login-notice-popup{width:95%;padding:1rem}.login-notice-content p{font-size:.9rem;margin-bottom:1rem}.login-notice-buttons button{padding:.5rem 1rem;font-size:.85rem}}.cookie-consent{position:fixed;bottom:20px;left:20px;right:20px;max-width:400px;background:#fff;padding:20px;border-radius:10px;box-shadow:0 4px 6px #0000001a;z-index:1000}.cookie-content h3{margin-top:0;color:#2b6cb0}.cookie-buttons{margin-top:15px;display:flex;gap:10px}.accept-btn{background:#2b6cb0;color:#fff;border:none;padding:8px 15px;border-radius:5px;cursor:pointer}.decline-btn{background:#e53e3e;color:#fff;border:none;padding:8px 15px;border-radius:5px;cursor:pointer}.services-container h1{color:#2e5550;font-size:2.25rem;margin-bottom:3rem;font-weight:600;position:relative;display:inline-block;padding:0 1rem .5rem}.service-name,.service-item,.item-description{list-style:none!important}.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:1rem;max-width:1200px;margin:0 auto;list-style:none!important}.service-item{background:#fff;border-radius:8px;overflow:hidden;transition:all .3s ease;box-shadow:0 4px 16px #2e555014;position:relative;text-align:center;display:flex;flex-direction:column;margin-top:1.5rem;list-style:none!important}.service-content{padding:1.5rem 1.5rem 0;flex:1;display:flex;flex-direction:column;justify-content:space-between;list-style:none}@media (max-width: 1280px){.services-container{padding:5rem 1.5rem 3rem}}@media (max-width: 1024px){.services{grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:800px}.services-container h1{font-size:2rem}}@media (max-width: 768px){.services-container{padding:4rem 1rem 2rem}.service-item img{height:180px}.price{font-size:.9rem;padding:.45rem 1.2rem}.show-more-button{margin:3rem auto 0}}@media (max-width: 640px){.services{grid-template-columns:1fr;max-width:500px;gap:1.5rem}.services-container h1{font-size:1.8rem;margin-bottom:2.5rem}.service-item{max-width:400px}.service-content{padding:1.25rem 1rem 0}.service-item h3{font-size:1.25rem}.service-item p{font-size:.9rem}}@media (max-width: 480px){.services-container{padding:3.5rem 1rem 2rem}.services-container h1{font-size:1.6rem;margin-bottom:2rem}.service-item img{height:160px}.price{min-width:100px;padding:.4rem 1rem}.show-more-button{width:100%;max-width:260px;padding:.8rem 2rem;font-size:.9rem}}@media (max-width: 360px){.services-container{padding:3rem .5rem 1.5rem}.service-item{margin-top:1rem}.service-item h3{font-size:1.2rem;padding:0}.service-item p{padding:0 .5rem;font-size:.85rem}.price{font-size:.85rem;padding:.35rem .8rem}}:root{--primary: #23574d;--secondary: #4a9c91;--accent: #4a9c91;--dark: #1a2e2a;--light: #f8fbfa;--text: #405753;--text-light: #6b8c86}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1a2e2af2;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--light);padding:2rem;border-radius:12px;max-width:800px;width:90%;box-shadow:0 8px 30px #1a2e2a33;overflow-y:auto;max-height:90vh;position:relative}.close-button{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--dark);padding:5px;transition:color .3s ease}.close-button:hover{color:var(--secondary)}.modal-content h2{margin:0 0 15px;font-size:1.8em;color:var(--dark);padding-right:30px}.modal-image{width:100%;max-height:400px;object-fit:contain;border-radius:4px;margin:1rem 0;border:2px solid var(--secondary)}.details-section{margin:1.5rem 0}.detail-item{margin:1.2rem 0;padding:1rem;background:#4a9c9114;border-radius:6px;border-left:4px solid var(--secondary)}.detail-item strong{color:var(--dark);display:block;margin-bottom:.5rem;font-size:1.1em}.faq-section{margin:2rem 0}.faq-item{margin:1.5rem 0;padding:1rem;background:var(--light);border:1px solid rgba(74,156,145,.15);border-radius:6px}.cta-section{margin-top:2rem;padding:1.5rem;background:#23574d0d;border-radius:12px;position:relative}.cta-text{font-size:1.2rem;color:var(--dark);margin-bottom:1.5rem;text-align:center;font-weight:600}.cta-animation{display:flex;flex-direction:column;align-items:center;gap:1rem}.book-now-button{display:inline-flex;align-items:center;gap:12px;padding:1rem 2rem;background:var(--primary);color:var(--light);border-radius:6px;text-decoration:none;font-weight:600;transition:all .3s ease;border:2px solid var(--primary)}.book-now-button:hover{background:var(--dark);border-color:var(--dark);transform:translateY(-2px);box-shadow:0 4px 15px #23574d33}.animated-arrow{animation:bounce 1.5s infinite;width:48px;height:48px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.arrow-icon{transition:transform .3s ease}.book-now-button:hover .arrow-icon{transform:translate(4px)}@media (max-width: 768px){.modal-content{padding:1.5rem}.modal-image{max-height:300px}.cta-text{font-size:1.1rem}.book-now-button{width:100%;justify-content:center}}@media (max-width: 480px){.modal-content{padding:1rem}.modal-content h2{font-size:1.4rem}.detail-item{padding:.8rem}.animated-arrow{width:36px;height:36px}}.services-container{padding:6rem 1.5rem 4rem;background:linear-gradient(160deg,#f8fbfa,#e8f0ee);max-width:1440px;margin:0 auto;text-align:center;position:relative}.services-container h1{margin-top:30px!important;color:#2e5550;font-size:2.25rem;margin-bottom:3rem;font-weight:600;position:relative;display:inline-block;padding:0 1rem .5rem}.services-container h1:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:3px;background:#5ba89e;border-radius:2px}.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:1rem;max-width:1200px;margin:0 auto}.service-item{background:#fff;border-radius:8px;overflow:hidden;transition:all .3s ease;box-shadow:0 4px 16px #2e555014;position:relative;text-align:center;display:flex;flex-direction:column;margin-top:1.5rem}.service-item:hover{transform:translateY(-5px);box-shadow:0 8px 24px #3a70681a}.service-item img{width:100%;height:200px;object-fit:cover;border-bottom:2px solid #5BA89E;transition:all .3s ease}.service-item:hover img{transform:scale(1.03)}.service-content{padding:1.5rem 1.5rem 0;flex:1;display:flex;flex-direction:column;justify-content:space-between}.service-item h3{font-size:1.3rem;color:#2e5550;margin-bottom:.75rem;font-weight:600;line-height:1.4;padding:0 .5rem}.service-item p{color:#405753;line-height:1.6;font-size:.95rem;margin-bottom:1.5rem;padding:0 1rem}.price-container{margin-top:auto;padding:1rem 0 1.5rem}.price{display:inline-flex;align-items:center;justify-content:center;background:#5ba89e;color:#fff;padding:.6rem 1.8rem;border-radius:8px;font-size:1rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #5ba89e26;min-width:120px}.service-item:hover .price{background:#3a7068;transform:scale(1.03)}.show-more-button{display:inline-flex;margin:4rem auto 0;padding:.9rem 2.5rem;background:#5ba89e;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;font-size:.95rem;letter-spacing:.3px;text-transform:uppercase}.show-more-button:hover{background:#3a7068;transform:translateY(-2px);box-shadow:0 4px 16px #3a706826}.services-hero{max-width:800px;margin:0 auto 4rem;padding:0 1.5rem}.services-intro{color:#405753;font-size:1.1rem;line-height:1.8;margin:2rem 0}.core-capabilities{padding:4rem 1.5rem;background:#fff;margin:3rem 0;border-radius:12px;box-shadow:0 4px 24px #2e55500f}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.tech-card{padding:2rem;background:#f8fbfa;border-radius:8px;border:1px solid #e0e7e5;transition:transform .3s ease}.tech-card:hover{transform:translateY(-3px)}.tech-card h3{color:#2e5550;font-size:1.2rem;margin-bottom:1rem}.tech-card p{color:#5a6d69;font-size:.95rem;line-height:1.6}.industry-applications{padding:4rem 0}.industry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:2rem auto}.industry-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 16px #2e555014}.industry-card h3{color:#2e5550;font-size:1.3rem;margin-bottom:1rem}.industry-card ul{list-style:none;padding-left:1.5rem}.industry-card li{position:relative;margin-bottom:.8rem;color:#5a6d69}.industry-card li:before{content:"•";color:#5ba89e;position:absolute;left:-1.2rem}.technology-stack{padding:4rem 1.5rem;background:#f5f9f8;margin:3rem 0}.tech-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1200px;margin:2rem auto}.tech-item{background:#fff;padding:2rem;border-radius:8px;border:1px solid #e0e7e5}.tech-item h3{color:#3a7068;font-size:1.2rem;margin-bottom:1.2rem}.tech-item ul{list-style:none;padding-left:1rem}.tech-item li{margin-bottom:.6rem;color:#5a6d69;position:relative;padding-left:1.5rem}.tech-item li:before{content:"▹";color:#5ba89e;position:absolute;left:0}.case-studies{padding:4rem 1.5rem;font-size:1rem}.case-study{max-width:800px;margin:2rem auto;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 4px 16px #2e55500f}.case-study h4{color:#2e5550;font-size:1.3rem;margin-bottom:1rem}.service-faq{padding:4rem 1.5rem;background:#f8fbfa}.faq-list{max-width:800px;margin:2rem auto}.faq-list dt{color:#2e5550;font-weight:600;margin-top:1.5rem;cursor:pointer;padding:1rem;background:#fff;border-radius:6px;box-shadow:0 2px 8px #2e55500f}.faq-list dd{color:#5a6d69;padding:1rem 1.5rem;margin:.5rem 0 2rem;line-height:1.7}.related-links{padding:3rem 1.5rem;text-align:center}.related-links ul{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.related-link{color:#3a7068;font-weight:500;text-decoration:none;padding:.5rem 1rem;border-radius:6px;transition:all .3s ease}.related-link:hover{background:#e8f0ee;color:#2e5550;text-decoration:none}.technology-spectrum{padding:5rem 1.5rem;background:linear-gradient(15deg,#f4faf9,#fff)}.spectrum-container{max-width:1200px;margin:0 auto}.gis-spectrum{display:grid;grid-template-columns:1fr;gap:2rem;margin:3rem 0}.gis-category{padding:1.5rem;background:#ffffffe6;border-radius:12px;box-shadow:0 8px 32px #2e55500d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.category-header{margin-bottom:1.5rem;text-align:center}.category-description{color:#405753;font-size:1rem;line-height:1.6;margin-bottom:1.5rem;padding:0 1rem}.tech-list{list-style:none;padding:0;margin:0}.tech-list li{display:flex;align-items:flex-start;margin:1rem 0;padding:1rem;background:#f8fbfa!important;border-radius:8px;transition:transform .3s ease;text-align:left}.tech-icon{font-size:1.4rem;margin-right:1rem;flex-shrink:0;width:40px;text-align:center;color:initial!important;background-color:transparent!important;display:inline-block}.tech-list li strong{color:#2e5550;display:block;margin-bottom:.5rem}.tech-list li span{display:block;color:#5a6d69;font-size:.95rem;line-height:1.5}.tech-convergence{margin-top:3rem;text-align:center}.convergence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.convergence-item{padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 16px #2e55500f}.software-training{padding:5rem 1.5rem;background:#79d1c4;color:#4d4949}.training-container{max-width:1200px;margin:0 auto}.training-lead{font-size:1.25rem;margin-bottom:2rem;text-align:center}.software-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin:2rem 0}.software-card{background:#ffffff1a;padding:1.5rem;border-radius:8px;text-align:center;transition:transform .3s ease}.software-card:hover{transform:translateY(-5px)}.software-icon{width:60px;height:60px;margin:0 auto 1rem}.pricing-box{text-align:center;margin:2rem 0}.price-tag{font-size:1.5rem;margin:1rem 0;position:relative}.original-price{text-decoration:line-through;opacity:.7;margin-right:1rem;color:#ee2f0d}.discount-price{color:#379c37;font-size:2rem;margin:0 1rem}.discount-badge{background:#ff4d4d;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;position:absolute;top:-10px;right:0;color:#e0e7e5}.cta-box{background:#fff;padding:2rem;border-radius:12px;text-align:center;margin-top:2rem}.cta-box h3{color:#2e5550;margin-bottom:1rem}.cta-text{color:#5a6d69;margin-bottom:1.5rem}.booking-button{background:#3a7068;color:#fff!important;padding:1rem 2rem;border-radius:8px;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease;position:relative;overflow:hidden;text-decoration:none!important}.booking-button:hover{background:#5ba89e;transform:translateY(-2px)}.booking-button:hover .arrow-icon{animation-play-state:paused}.arrow-icon{width:20px;height:20px;animation:arrowAnim 1.5s infinite ease-in-out;will-change:transform}@keyframes arrowAnim{0%{transform:translate(0)}50%{transform:translate(.5em)}to{transform:translate(0)}}.tech-pair{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1rem 0;font-size:1.1rem;font-weight:500}.tech-badge{padding:.5rem 1rem;border-radius:20px;font-size:.9rem}.tech-badge.spatial{background:#5ba89e;color:#fff}.tech-badge.blockchain{background:#2e5550;color:#fff}.comprehensive-support{padding:5rem 1.5rem;background:#f8fbfa}.support-container{max-width:1200px;margin:0 auto}.support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:3rem 0}.support-card{background:#fff;padding:2rem;border-radius:8px;text-align:center;transition:transform .3s ease;box-shadow:0 4px 16px #2e55500f}.support-card:hover{transform:translateY(-5px)}.support-icon{font-size:2rem;margin-bottom:1rem;display:inline-block}.support-cta{text-align:center;margin-top:3rem}.cta-text{color:#2e5550;font-size:1.1rem;margin-bottom:1.5rem}.support-button{background:#3a7068;color:#fff!important;padding:1rem 2rem;border-radius:8px;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease;text-decoration:none!important}.support-button:hover{background:#5ba89e;transform:translateY(-2px);text-decoration:none}.partnership{position:relative;min-height:500px;display:flex;align-items:center;justify-content:center;isolation:isolate}.partnership-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.background-image{width:100%;height:100%;object-fit:cover;object-position:center 30%}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#2e5550e6;mix-blend-mode:multiply}.partnership-content{position:relative;max-width:800px;padding:2rem;color:#fff;text-align:center}.partnership-text{font-size:1.1rem;line-height:1.8;margin:1.5rem auto 2rem;max-width:600px}.cta-button{background:#5ba89e;color:#fff!important;padding:1rem 2.5rem;border-radius:8px;font-weight:600;display:inline-flex;align-items:center;gap:.75rem;transition:all .3s ease;border:2px solid transparent;text-decoration:none!important}.cta-button:hover{background:transparent;border-color:#5ba89e;transform:translateY(-2px)}.arrow-icon{width:20px;height:20px}.related-links-content{max-width:1200px;margin:0 auto;padding:2rem}.link-group{margin-bottom:2rem}.link-intro{color:#2e5550;font-size:1.1rem;margin-bottom:1.5rem;text-align:center}.link-description{color:#5a6d69;font-size:.9rem;margin-left:.5rem;display:inline-block}.expertise-note{background:#5ba89e1a;padding:1.5rem;border-radius:8px;margin-top:2rem;width:100%;box-sizing:border-box}.note-text{color:#222b29;text-align:center;margin-bottom:1rem}.expertise-list{list-style:none;padding:0;max-width:600px;margin:0 auto}.expertise-list li{color:#405753;position:relative;padding:.5rem 0 .5rem 1.5rem}.expertise-list li:before{content:"▹";color:#5ba89e;position:absolute;left:0}.closing-cta{position:relative;min-height:600px;display:flex;align-items:center;isolation:isolate}.cta-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.cta-image{width:100%;height:100%;object-fit:cover;object-position:center 35%}.cta-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#2e5550e6;mix-blend-mode:multiply}.cta-content{position:relative;max-width:1200px;margin:0 auto;padding:2rem;color:#fff;text-align:center}.cta-heading{font-size:2.5rem;margin-bottom:1.5rem;line-height:1.2}#closing-heading{color:#e8f0ee!important}.cta-message{font-size:1.2rem;margin-bottom:3rem;opacity:.9;color:#e0e7e5!important}.trust-markers{display:flex;justify-content:center;gap:4rem;margin:3rem 0}.trust-item{display:flex;flex-direction:column}.trust-number{font-size:2.5rem;font-weight:700;color:#5ba89e}.trust-label{font-size:.9rem;text-transform:uppercase;letter-spacing:1px;margin-top:.5rem}.cta-action{margin-top:2rem}.cta-button{background:#5ba89e;color:#fff;padding:1.25rem 3rem;border-radius:8px;font-size:1.1rem;display:inline-flex;align-items:center;gap:1rem;transition:all .3s ease;border:2px solid transparent;text-decoration:none!important}.cta-button:hover{background:transparent;border-color:#5ba89e;transform:translateY(-3px);text-decoration:none}.commitment-text{margin-top:1.5rem;font-size:.9rem;opacity:.9}.highlight{color:#5ba89e;font-weight:500}.gratitude-footer{background:#f8fbfa;border-top:1px solid #e0e7e5;padding:2rem 1.5rem;margin-top:4rem}.footer-content{max-width:1200px;margin:0 auto;text-align:center}.appreciation-note{color:#5a6d69;font-size:.9rem;line-height:1.6;max-width:800px;margin:0 auto 1.5rem}.legal-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.legal-link{color:#3a7068;font-size:.85rem;text-decoration:none;transition:opacity .3s ease}.legal-link:hover{opacity:.8;text-decoration:underline}.copyright{color:#5a6d69;font-size:.85rem;display:block;width:100%;margin-bottom:.5rem}.tech-spectrum-section{padding:5rem 1.5rem;background:linear-gradient(15deg,#f4faf9,#fff)}.tech-spectrum-container{max-width:1200px;margin:0 auto}.tech-spectrum-title{font-size:2.25rem;color:#2a7f7b;text-align:center;margin-bottom:1rem;font-weight:700;position:relative;padding-bottom:1rem}.tech-spectrum-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:4px;background:var(--secondary);border-radius:2px}.tech-spectrum-subtitle{color:var(--text-light);text-align:center;max-width:700px;margin:0 auto 3rem;font-size:1.1rem;line-height:1.6}.tech-spectrum-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin:3rem 0}.tech-spectrum-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 8px 32px #2e55500d;transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.tech-spectrum-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #2e55501a}.tech-spectrum-card.foundation{border-top:4px solid #5BA89E}.tech-spectrum-card.innovation{border-top:4px solid #f8b400}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.card-icon{width:50px;height:50px;border-radius:50%;background:#2a7f7b1a;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--primary);flex-shrink:0}.card-title{font-size:1.5rem;color:var(--dark);margin:0}.card-description{color:var(--text-light);line-height:1.6;margin-bottom:1.5rem}.tech-features-list{list-style:none;padding:0;margin:0}.tech-feature{display:flex;gap:1rem;padding:1rem;border-radius:8px;margin-bottom:.75rem;transition:background .3s ease}.tech-feature:hover{background:#2a7f7b0d}.feature-icon{width:40px;height:40px;border-radius:50%;background:#2a7f7b1a;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--primary);flex-shrink:0}.feature-content{flex:1}.feature-content strong{color:var(--dark);font-weight:600;display:block;margin-bottom:.25rem}.feature-content p{color:var(--text-light);margin:0;font-size:.95rem;line-height:1.5}.tech-convergence{margin-top:4rem;text-align:center}.convergence-title{font-size:1.75rem;color:var(--dark);margin-bottom:1rem;position:relative;display:inline-block}.convergence-title h3{color:#222b29}.convergence-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:60px;height:3px;background:var(--primary)}.convergence-description{color:var(--text-light);max-width:700px;margin:0 auto 2rem;line-height:1.6}.convergence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.convergence-item{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 16px #2e55500f;transition:transform .3s ease}.convergence-item:hover{transform:translateY(-5px)}.tech-pair{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.tech-badge{padding:.5rem 1.25rem;border-radius:20px;font-weight:600;font-size:.9rem}.tech-badge.spatial{background:var(--primary);color:#fff}.tech-badge.blockchain{background:var(--dark);color:#fff}.tech-badge.ai{background:#3a7068;color:#fff}.plus-icon{font-weight:700;color:var(--text-light)}.convergence-text{color:var(--text-light);line-height:1.6;margin:0;text-align:center}#technology-stack-heading{color:#413c3c!important}#case-studies-heading,#industry-applications-heading,#core-services-heading,#software-training-heading,#comprehensive-heading,#tech-spectrum-heading{color:#353131!important}@media (max-width: 768px){#technology-stack-heading{color:#413c3c!important}#case-studies-heading,#industry-applications-heading,#core-services-heading,#software-training-heading,#comprehensive-heading,#tech-spectrum-heading{color:#353131!important}}.services-container{padding-left:1rem!important;padding-right:1rem!important}.services-intro{padding:0 1rem!important;margin-left:auto!important;margin-right:auto!important;max-width:100%!important;box-sizing:border-box!important}.gis-category{margin:0 -1rem;width:calc(100% + 2rem)}.gis-spectrum{grid-template-columns:1fr 1fr;gap:3rem}.tech-list li{flex-direction:column;align-items:flex-start;padding:1rem}.tech-icon{margin-bottom:.5rem}.training-content{flex-direction:column}.software-card{padding:1rem}.discount-price{font-size:1.5rem}.services-container{padding:4rem 1rem 2rem}.service-item img{height:180px}.price{font-size:.9rem;padding:.45rem 1.2rem}.show-more-button{margin:3rem auto 0}.services-hero{margin-bottom:3rem}.tech-card,.industry-card,.tech-item,.case-study{padding:1.5rem}.gis-spectrum{grid-template-columns:1fr}.tech-list li{margin:1rem 0;padding:.8rem}.convergence-item,.support-card{padding:1.5rem}.support-icon{font-size:1.5rem}.expertise-note{padding:1.2rem .5rem;margin:2rem -1rem 0;width:calc(100% + 2rem);border-radius:0}.closing-cta{display:none}.cta-heading{font-size:2rem}.trust-markers{flex-direction:column;gap:2rem}.link-description{display:block;margin-left:0;margin-top:.25rem}.expertise-note{padding:1rem}.services{grid-template-columns:1fr;max-width:500px;gap:1.5rem}.discount-badge{background:#ff4d4d;position:absolute;padding:.25rem .55rem;top:-18px;font-size:.6rem}.cta-button{font-size:1rem!important;text-align:center}.arrow-icon{text-align:center!important;margin-top:5px}.services-container h1{font-size:1.8rem;margin-bottom:2.5rem}.service-item{max-width:400px}.service-content{padding:1.25rem 1rem 0}.service-item h3{font-size:1.25rem}.service-item p{font-size:.9rem}.partnership{min-height:400px}.partnership-text{font-size:1rem}.cta-button{padding:.8rem 2rem}} @media (max-width: 480px){.services-main-title{padding-top:6rem!important}.services-container{padding:3.5rem 1rem 2rem}.services-container h1{font-size:1.6rem;margin-bottom:2rem}.service-item img{height:160px}.price{min-width:100px;padding:.4rem 1rem}.show-more-button{width:100%;max-width:260px;padding:.8rem 2rem;font-size:.9rem}.services-intro{font-size:1rem}.tech-card h3,.industry-card h3,.tech-item h3{font-size:1.1rem}.faq-list dt{font-size:.95rem}.related-links ul{gap:1rem}.related-link{font-size:.9rem}.tech-pair{flex-direction:column;gap:.5rem}.tech-badge{width:100%;text-align:center}.technology-spectrum{padding:3rem 1rem}.gis-category{padding:1rem}.category-description{padding:0}}@media (max-width: 360px){.services-main-title{margin-top:3rem}.services-container{padding:3rem .5rem 1.5rem}.service-item{margin-top:1rem}.service-item h3{font-size:1.2rem;padding:0}.service-item p{padding:0 .5rem;font-size:.85rem}.price{font-size:.85rem;padding:.35rem .8rem}}@media (max-width: 1024px){.services{grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:800px}.services-container h1{font-size:2rem}.core-capabilities,.technology-stack{padding:3rem 1rem}.tech-grid,.tech-list{gap:1.5rem}.tech-spectrum-title{font-size:1.8rem}.tech-spectrum-cards{grid-template-columns:1fr}.tech-feature{padding:.75rem}.convergence-grid{grid-template-columns:1fr}}@media (max-width: 480px){.tech-spectrum-section{padding:3rem 1rem}.tech-spectrum-title{font-size:1.6rem}.card-header{flex-direction:column;text-align:center;gap:.75rem}.tech-pair{flex-direction:column;gap:.5rem}.tech-badge{width:100%;text-align:center}}:root{--primary: #23574d;--secondary: hsl(172, 36%, 45%);--accent: #4a9c91;--dark: #1a2e2a;--light: #f8fbfa;--gradient: linear-gradient(135deg, var(--primary), var(--secondary))}html,body,#root{margin:0;padding:0;width:100%;min-height:100vh;overflow-x:hidden;font-family:sans-serif!important}.app-container{display:flex;flex-direction:column;min-height:100vh;position:relative;top:0!important}html{scroll-behavior:smooth;scroll-padding-top:80px}@media (max-width: 768px){html{scroll-padding-top:60px}.navbar{height:70px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px)}to{transform:translateY(0)}}@keyframes checkmark-circle{0%{stroke-dashoffset:166}to{stroke-dashoffset:0}}@keyframes checkmark-check{0%{stroke-dashoffset:48}to{stroke-dashoffset:0}}.welcome-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;transition:opacity .3s ease}.welcome-popup-overlay.visible{opacity:1}.welcome-popup-overlay.animating{animation:fadeIn .3s ease-out forwards}.welcome-popup-container{background:#fff;border-radius:12px;width:90%;max-width:500px;padding:2rem;box-shadow:0 10px 25px #0003;transform:translateY(20px);transition:transform .3s ease;position:relative}.welcome-popup-container.visible{transform:translateY(0)}.welcome-popup-content{display:flex;flex-direction:column;align-items:center;text-align:center}.success-animation{width:80px;height:80px;margin-bottom:1.5rem}.checkmark{width:100%;height:100%}.checkmark-circle{stroke:#4caf50;stroke-width:2;stroke-dasharray:166;stroke-dashoffset:166;animation:checkmark-circle .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark-check{stroke:#4caf50;stroke-width:2;stroke-dasharray:48;stroke-dashoffset:48;animation:checkmark-check .3s cubic-bezier(.65,0,.45,1) .6s forwards}.welcome-title{color:#2c3e50;margin-bottom:1rem;font-size:1.8rem}.welcome-message{margin-bottom:2rem;color:#34495e;line-height:1.6}.welcome-message strong{color:#2c3e50;font-weight:600}.welcome-actions{width:100%}.primary-action-button{background:#3498db;color:#fff;border:none;padding:.8rem 2rem;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s;margin-bottom:1.5rem}.primary-action-button:hover{background:#2980b9}.quick-tips{background:#f8f9fa;border-radius:8px;padding:1rem;text-align:left;margin-top:1rem}.quick-tips h4{margin-top:0;margin-bottom:.5rem;color:#2c3e50}.quick-tips ul{padding-left:1.2rem;margin:.5rem 0 0;color:#7f8c8d}.quick-tips li{margin-bottom:.3rem}.close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;padding:.5rem;opacity:.6;transition:opacity .2s}.close-button:hover{opacity:1}.close-button svg{width:20px;height:20px;fill:#7f8c8d}.auth-method-tag{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;margin-left:.5rem;background:#f1f1f1;color:#555}.auth-method-tag.google{background:#e8f0fe;color:#4285f4}.cart-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;visibility:hidden;opacity:0;transition:var(--transition)}.cart-overlay.open{visibility:visible;opacity:1}.cart-container{position:fixed;top:0;right:0;width:100%;max-width:400px;height:100vh;background:var(--light);box-shadow:var(--shadow);transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding:20px;overflow-y:auto}.cart-overlay.open .cart-container{transform:translate(0)}.cart-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:2px solid var(--primary);margin-bottom:1.5rem}.cart-header h2{margin:0;font-size:1.5rem;color:var(--dark)}.close-cart{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0 10px;color:var(--dark);transition:var(--transition)}.close-cart:hover{color:var(--accent)}.cart-items{margin-bottom:20px}.cart-item{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--light)}.cart-item-image{width:60px;height:60px;object-fit:cover;border-radius:var(--radius)}.quantity-controls{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.quantity-controls button{background:var(--light);border:2px solid var(--primary);color:var(--primary);padding:5px 12px;border-radius:var(--radius);cursor:pointer;transition:var(--transition)}.quantity-controls button:hover{background:var(--primary);color:#fff}.quantity-controls button:disabled{opacity:.5;cursor:not-allowed}.remove-item{background:none;border:none;color:#f44;cursor:pointer;margin-left:auto;padding:5px;transition:var(--transition)}.remove-item:hover{color:#c00}.cart-footer{border-top:2px solid var(--primary);padding-top:20px}.cart-total{display:flex;justify-content:space-between;font-size:1.1rem;margin-bottom:1.5rem;color:var(--dark);font-weight:600}.terms-notice{font-size:.9rem;color:var(--dark);text-align:center;margin:1rem 0;padding:.5rem;background:var(--light);border-radius:var(--radius)}.terms-link{color:var(--primary);text-decoration:none;font-weight:500;transition:var(--transition)}.terms-link:hover{text-decoration:underline;color:var(--secondary)}.checkout-button{width:100%;padding:1rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:var(--transition)}.checkout-button:hover{background:var(--secondary);box-shadow:var(--shadow);transform:translateY(-2px)}@media (max-width: 768px){.cart-container{width:90%;padding:15px}.cart-item{flex-direction:row;align-items:center}.cart-header h2{font-size:1.3rem}}@media (max-width: 450px){.cart-item-image{width:50px;height:50px}.quantity-controls button{padding:4px 8px}.checkout-button{padding:.8rem;font-size:.9rem}}:root{--dark: #1a2e2a;--light: #f8fbfa;--error: #dc2626;--error-light: #fee2e2;--radius-sm: 4px;--radius-md: 6px}.navbar-logo{margin-top:20px;font-size:1.8rem;font-weight:700;color:var(--primary-dark);text-decoration:none;background:linear-gradient(to right,#213604,#3a5c08);-webkit-background-clip:text;-webkit-text-fill-color:transparent;align-items:center!important;text-align:center!important}.login-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.login-content{background:#fff;border-radius:var(--radius-md);box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;padding:1.25rem;position:relative}.login-form{display:flex;flex-direction:column;gap:.75rem}.login-form h2{font-size:1.25rem;text-align:center;margin-bottom:.25rem}.login-subtitle{font-size:.875rem;color:#666;text-align:center;margin-bottom:.75rem}.error-message{font-size:.875rem;color:var(--error);background:var(--error-light);padding:.5rem;border-radius:var(--radius-sm);margin-bottom:.5rem;text-align:center}.text-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.875rem;padding:0}.text-link:hover{text-decoration:none!important}.oauth-button{display:flex;align-items:center;justify-content:center;height:40px;padding:0 1rem;border-radius:var(--radius-sm);font-size:.875rem;gap:.5rem}.oauth-button.google-button{background:#fff;border:1px solid #ddd}.oauth-button.github-button{background:#24292e;color:#fff}.auth-message.error{background-color:#fee;border:2px solid #ff4444;border-radius:6px;padding:1rem;margin:1rem 0;color:#c00;font-weight:500;display:flex;flex-direction:column;gap:.5rem;position:relative}.auth-message.error:before{content:"⚠️";margin-right:.5rem}.auth-message.error.AUTH_PROVIDER_MISMATCH{border-left:4px solid #ff6b6b;background-color:#fff0f0}.auth-message.error.GOOGLE_ACCOUNT_NOT_FOUND{border-left:4px solid #ff5252;background-color:#ffebee}.auth-message.error .error-message{color:#d32f2f;font-size:.9rem;line-height:1.4}.auth-message.error .text-link,.auth-message.error .switch-method-btn{color:#b71c1c!important;text-decoration:underline;font-weight:600;padding:.3rem 0;background:none;border:none;cursor:pointer;align-self:flex-start}.auth-message.error .text-link:hover,.auth-message.error .switch-method-btn:hover{color:#ff1744!important}.auth-message.error .text-link[disabled]{opacity:.7;cursor:not-allowed}.auth-message.error .fa-spinner{margin-right:.5rem}.auth-message{transition:all .3s ease;animation:slideIn .3s ease forwards}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-button{width:100%;height:40px;background:var(--secondary)!important;color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9375rem;margin-top:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem}.login-footer{font-size:.875rem;text-align:center;margin-top:.75rem}.login-footer p{margin-top:.5rem}.logged-in-status{text-align:center;padding:2rem}.user-info{margin-bottom:1.5rem}.welcome-text{font-size:1.1rem;color:#4a5568;display:block;margin-bottom:.5rem}.user-email{font-size:1.2rem;font-weight:600;color:#2b6cb0;word-break:break-all}.logout-button{background-color:#f56565;color:#fff;padding:.75rem 1.5rem;border-radius:4px;border:none;cursor:pointer;transition:background-color .2s}.logout-button:hover{background-color:#c53030}@media (max-width: 480px){.login-modal{padding:.5rem;width:100%;align-items:center;display:flex;flex-direction:column;margin:auto}.login-content{padding:1rem;width:100%!important;max-width:500px!important}.login-form h2{font-size:1.1rem}input,.oauth-button,.login-button{height:38px}}:root{--primary: #2a6559;--secondary: #3a7068;--accent: #5ba89e;--dark: #1a2e2a;--light: #f8fbfa;--error: #dc2626;--error-light: #fee2e2;--success: #2e7d32;--radius-sm: 4px;--radius-md: 6px}.signup-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;align-items:stretch}.signup-content{background:#fff;border-radius:var(--radius-md);box-shadow:0 2px 10px #0000001a;width:70%!important;max-width:400px!important;max-height:90vh;overflow-y:auto;padding:1.5rem;position:relative}.navbar-logo{font-size:1.8rem;font-weight:700;color:var(--primary-dark);text-decoration:none;background:linear-gradient(to right,#213604,#3a5c08);-webkit-background-clip:text;-webkit-text-fill-color:transparent;align-items:center!important;text-align:center!important}.close-button{position:absolute;top:.75rem;right:.75rem;background:none;border:none;padding:.25rem;cursor:pointer;color:var(--dark)}.signup-form{display:flex;flex-direction:column;gap:1rem}.signup-form h2{font-size:1.3rem!important;text-align:center;margin-bottom:.5rem;color:var(--primary)}.signup-form-grid{display:flex;flex-direction:column;gap:.75rem}.form-group{margin-bottom:.5rem}.form-group label{display:block;margin-bottom:.25rem;font-size:.875rem;color:var(--dark)}input{width:100%;height:40px;padding:0 12px;border:1px solid #ddd;border-radius:var(--radius-sm);font-size:.9375rem}input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #5ba89e1a}.password-input-wrapper{position:relative}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#666}.password-requirements{font-size:.8125rem;color:var(--secondary);background:var(--light);padding:.75rem;border-radius:var(--radius-sm);margin:-.5rem 0 .5rem}.password-requirements ul{margin:.25rem 0 0 1rem;padding:0;list-style:none}.password-requirements li{margin-bottom:.25rem;position:relative;padding-left:1.25rem}.password-requirements li:before{content:"✗";position:absolute;left:0;color:var(--error)}.password-requirements li.valid:before{content:"✓";color:var(--success)}.terms-checkbox{display:flex;align-items:center;margin:.5rem 0;font-size:.875rem}.terms-checkbox input{margin-right:.5rem;width:1rem;height:1rem}.terms-checkbox a{color:var(--primary);text-decoration:none}.terms-checkbox a:hover{text-decoration:none;color:#9797eb!important}.login-button{width:100%;height:40px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;cursor:pointer;margin-top:.5rem}.login-button:hover{background:var(--secondary)}.login-button:disabled{background:#a0aec0;cursor:not-allowed}.error-message{color:var(--error);background:var(--error-light);padding:.75rem;border-radius:var(--radius-sm);font-size:.875rem;text-align:center;margin-bottom:.5rem}.signup-success{text-align:center;padding:1rem}.signup-success h2{color:var(--primary);margin-bottom:.5rem;font-size:1.25rem}.signup-success p{color:var(--dark);font-size:.9375rem}.oauth-buttons{display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0}.oauth-button{display:flex;align-items:center;justify-content:center;height:40px;padding:0 1rem;border-radius:var(--radius-sm);font-size:.875rem;gap:.5rem;border:1px solid #ddd;background:#fff}.oauth-button:hover{background:#f8f9fa}.oauth-logo{width:16px;height:16px}.separator{display:flex;align-items:center;margin:.5rem 0;color:#666;font-size:.75rem}.separator:before,.separator:after{content:"";flex:1;height:1px;background:#eee}.separator span{padding:0 .5rem}.terms-link{text-align:center;margin-top:.75rem;font-size:.875rem;text-decoration:none!important}.terms-link button{background:none;border:none;color:var(--primary);cursor:pointer;padding:0}.terms-link button:hover{text-decoration:none!important}.terms-link-paragraph{text-decoration:none!important;color:#3a3939!important}.terms-link-paragraph:hover{color:#3a3939!important}.terms-link p :hover{text-decoration:none!important}.signup-notification{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:15px 25px;background:#4caf50;color:#fff;border-radius:4px;box-shadow:0 2px 10px #0000001a;z-index:1000;animation:slideIn .3s ease-out}@keyframes slideIn{0%{top:-50px}to{top:20px}}@media (min-width: 768px){.signup-modal{padding:2rem}.signup-content{padding:2rem;max-width:600px}.signup-form h2{font-size:1.5rem;margin-bottom:1rem}.signup-form-grid{grid-template-columns:1fr 1fr;gap:1rem}.password-requirements{padding:1rem;margin:-.75rem 0 .75rem}.terms-checkbox{font-size:.9375rem}.login-button{height:44px;font-size:1rem}.oauth-buttons{flex-direction:row;justify-content:center}.oauth-button{flex:1;max-width:200px}.separator{margin:1rem 0;font-size:.875rem}}@media (min-width: 1024px){.signup-content{max-width:700px;padding:2.5rem}.signup-form h2{font-size:1.75rem}.form-group label{font-size:.9375rem}input{height:44px;font-size:1rem}.password-requirements{font-size:.875rem;padding:1rem 1.5rem}.terms-checkbox{margin:.75rem 0}.oauth-button{height:44px;font-size:.9375rem}.oauth-logo{width:18px;height:18px}.signup-success h2{font-size:1.5rem}.signup-success p{font-size:1rem}}@media (min-width: 1200px){.signup-content{max-width:800px}.signup-form h2{font-size:2rem;margin-bottom:1.5rem}.signup-form-grid{gap:1.25rem}.password-requirements ul{margin-left:1.25rem}}@media (max-width: 480px){.signup-modal{padding:.5rem;width:100%;align-items:center;display:flex;flex-direction:column;margin:auto}.signup-content{width:100%!important;max-width:500px!important}.signup-form h2{font-size:1.1rem}input{height:38px;font-size:.875rem}.password-requirements{font-size:.75rem;padding:.5rem}.terms-checkbox{font-size:.8125rem}.login-button{height:38px;font-size:.875rem}.oauth-button{font-size:.8125rem}.signup-notification{padding:10px 20px;font-size:.875rem}}@media (max-height: 600px) and (orientation: landscape){.signup-content{max-height:80vh;padding:1rem}.signup-form h2{margin-bottom:.5rem}.signup-form-grid{gap:.5rem}.password-requirements{padding:.5rem}}:root{--primary: #2a6559;--secondary: #3a7068;--accent: #5ba89e;--dark: #1a2e2a;--light: #f8fbfa;--gradient: linear-gradient(135deg, var(--primary), var(--accent))}.activation-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:1rem;background:var(--light);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px}.toast{position:fixed;top:6rem;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;overflow:hidden;z-index:50;animation:toastSlideIn .3s ease-out;width:90%;max-width:400px;text-align:center;border:1px solid rgba(255,255,255,.2)}.toast-content{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}.toast-close{background:transparent;border:none;color:#fff;font-size:1rem;cursor:pointer;padding:0 .25rem;opacity:.8;transition:opacity .2s}.toast-close:hover{opacity:1}.activation-main{width:100%;max-width:360px;background:#fff;border-radius:.75rem;box-shadow:0 4px 12px #00000014;padding:1.5rem;text-align:center;border:1px solid rgba(0,0,0,.05)}.activation-header{margin-bottom:1.5rem}.activation-icon{width:2.5rem;height:2.5rem;margin-bottom:.75rem;color:var(--accent)}.activation-header h1{font-size:1.25rem;font-weight:600;color:var(--dark);margin-bottom:.5rem}.activation-subtitle{color:var(--secondary);margin:.25rem 0;font-size:.8125rem;opacity:.9}.user-email{font-size:.875rem;font-weight:500;color:var(--dark);margin:.5rem 0;padding:.375rem .75rem;background:#2b655914;border-radius:.375rem;display:inline-block}.resend-counter{font-size:.75rem;color:var(--secondary);margin-top:.25rem;opacity:.7}.activation-form{margin:1.5rem 0}.code-input-group{margin-bottom:1rem}.code-input{width:100%;padding:.75rem;font-size:1.125rem;text-align:center;letter-spacing:.25rem;border:1px solid rgba(58,112,104,.3);border-radius:.5rem;outline:none;transition:all .2s ease;background:var(--light);color:var(--dark);font-weight:500}.code-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #5ba89e33}.code-input.error{border-color:#ef4444;animation:shake .5s}.error-alert{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;background:#fef2f2;color:#b91c1c;border-radius:.375rem;margin-bottom:1rem;font-size:.8125rem}.error-icon{width:1rem;height:1rem;flex-shrink:0}.text-button{background:none;border:none;color:var(--accent);font-weight:500;cursor:pointer;margin-left:.25rem;font-size:.8125rem;text-decoration:underline}.verify-button{width:100%;padding:.75rem;background:var(--gradient);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.verify-button:hover{background:linear-gradient(135deg,#23574d,#4a9c91);transform:translateY(-1px)}.verify-button:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s linear infinite}.activation-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(58,112,104,.1);font-size:.8125rem}.countdown-timer{display:flex;align-items:center;gap:.25rem;color:var(--secondary)}.timer-icon{width:.875rem;height:.875rem;color:var(--secondary)}.secondary-button{background:none;border:1px solid var(--accent);color:var(--accent);font-weight:500;cursor:pointer;padding:.4rem 1rem;border-radius:.5rem;display:flex;align-items:center;gap:.25rem;transition:all .2s ease;font-size:.9375rem}.secondary-button:hover{background:#5ba89e1a}.secondary-button:disabled{color:#cbd5e1;cursor:not-allowed;background:none}.loading-icon{width:.875rem;height:.875rem;animation:spin 1s linear infinite;color:var(--accent)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}@media (max-width: 640px){.activation-wrapper{padding:1rem}.activation-main{padding:1.25rem}.toast{top:1rem;width:calc(100% - 2rem)}.code-input{font-size:1rem;letter-spacing:.2rem;padding:.625rem}.activation-footer{flex-direction:column;gap:.75rem}.countdown-timer{order:2}.secondary-button{order:1;width:100%;justify-content:center}}:root{--primary: #23574d;--secondary: #4a9c91;--accent: #ff6b6b;--dark: #1a2e2a;--light: #f8fbfa;--error: #dc3545;--success: #28a745;--border-radius: .5rem;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);--transition: all .3s ease;--gradient: linear-gradient( 135deg, var(--primary), var(--secondary) )}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,system-ui,sans-serif;line-height:1.6;color:var(--dark);background-color:var(--light)}button{cursor:pointer;border:none;background:none;transition:var(--transition)}svg{vertical-align:middle}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem;text-align:center}.loading-spinner{font-size:3rem;animation:spin 1s linear infinite;color:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}.loading-fallback{text-align:center;margin-top:1rem}.retry-button{background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:var(--border-radius);margin-top:1rem}.testimonials-container{padding:4rem 2rem;max-width:1200px;margin:0 auto}.testimonials-heading{font-size:2.5rem;color:var(--dark);text-align:center;margin-bottom:1rem}.testimonials-subheading{text-align:center;color:var(--secondary);margin-bottom:3rem}.error-message{position:fixed;top:20px;right:20px;background:#fee2e2;color:var(--error);padding:1rem 1.5rem;border-radius:var(--border-radius);display:flex;align-items:center;gap:1rem;z-index:1000;box-shadow:var(--shadow);animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.close-error{color:var(--error);font-size:1.25rem;margin-left:.5rem}.rate-us-section{background:#fff;padding:2rem;border-radius:var(--border-radius);box-shadow:var(--shadow);margin-bottom:3rem;max-width:600px;margin:0 auto 3rem}.rate-us-heading{font-size:1.5rem;color:var(--dark);margin-bottom:1.5rem}.rate-us-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.star-container{display:flex;gap:.5rem}.star{font-size:1.5rem;transition:var(--transition)}.star.filled{color:var(--primary)}.comment-input{width:100%;padding:1rem;border:2px solid var(--secondary);border-radius:var(--border-radius);min-height:120px;resize:vertical;transition:var(--transition)}.comment-input:focus{outline:none;border-color:var(--primary)}.submit-button{background:#fff;background-color:var(--secondary)!important;color:#fff;padding:1rem 2rem;border-radius:var(--border-radius);font-weight:600;align-self:center}.submit-button:hover{opacity:.9;transform:translateY(-1px)}.testimonials-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:3rem}.review-card{background:#fff;padding:1.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow);transition:var(--transition)}.review-card:hover{transform:translateY(-5px)}.review-header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}.review-name{font-size:1.1rem;color:var(--dark)}.review-date{color:#666;font-size:.9rem}.review-text{color:var(--dark);margin-bottom:1rem}.edit-form{display:flex;flex-direction:column;gap:1rem}.edit-comment-input{width:100%;padding:1rem;border:2px solid var(--secondary);border-radius:var(--border-radius);min-height:100px}.edit-actions{display:flex;gap:1rem;margin-top:1rem}.save-button{background:var(--success);color:#fff;padding:.5rem 1.5rem;border-radius:var(--border-radius)}.cancel-button{background:var(--error);color:#fff;padding:.5rem 1.5rem;border-radius:var(--border-radius)}.like-button{display:flex;align-items:center;gap:.5rem;color:var(--dark);padding:.5rem 1rem;border-radius:var(--border-radius);transition:var(--transition)}.like-button:hover:not(:disabled){background:#4a9c911a}.like-button:disabled{cursor:not-allowed;opacity:.7}.like-button svg{font-size:1.2rem}.like-button .liked{color:var(--error)}.action-buttons{display:flex;gap:.5rem}.edit-button{color:var(--primary);padding:.25rem .5rem}.delete-button{color:var(--error);padding:.25rem .5rem}.additional-reviews-section{text-align:center;margin-top:2rem}.show-more-button{background:var(--primary);color:#fff;padding:.75rem 2rem;border-radius:var(--border-radius);display:inline-flex;align-items:center;gap:.5rem;transition:var(--transition)}.show-more-button:hover{background:var(--secondary)}.arrow{transition:transform .3s ease}.arrow.upside-down{transform:rotate(180deg)}.hidden-reviews{display:none;margin-top:2rem}.hidden-reviews.visible{display:grid;gap:2rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.testimonials-container{padding:2rem 1rem}.testimonials-heading{font-size:2rem}.rate-us-section{padding:1.5rem}.testimonials-grid{grid-template-columns:1fr}.review-header{flex-direction:column}}.login-welcome-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px}.welcome-card{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 4px 6px #0000001a;text-align:center;max-width:500px;width:100%}.success-icon{color:#4bb543;margin-bottom:1.5rem}.user-details{background:#f8f9fa;padding:1rem;border-radius:8px;margin:1.5rem 0}.user-details p{margin:.5rem 0}.redirect-message{color:#6c757d;margin:1.5rem 0}.go-home-button{background-color:#4bb543;color:#fff;border:none;padding:.8rem 1.5rem;border-radius:25px;cursor:pointer;font-size:1rem;transition:background-color .3s ease}.go-home-button:hover{background-color:#3a9c33}@media (max-width: 480px){.login-welcome-page{padding:10px;min-height:calc(100vh - 40px)}.welcome-card{padding:1.2rem;border-radius:10px;max-width:100%;margin:10px 0}.success-icon{font-size:2rem;margin-bottom:.8rem}h2{font-size:1.3rem;margin-bottom:.6rem}.user-details{padding:.6rem;margin:.8rem 0;border-radius:6px}.user-details p{font-size:.85rem;margin:.3rem 0}.redirect-message{font-size:.8rem;margin:.8rem 0;line-height:1.3}.go-home-button{padding:.6rem 1rem;font-size:.85rem;border-radius:18px}@media (max-width: 360px){.welcome-card{padding:1rem}h2{font-size:1.2rem}.user-details p{font-size:.8rem}}@media (max-height: 600px){.login-welcome-page{min-height:auto;padding-top:5px;padding-bottom:5px}}}:root{--primary: #23574d;--secondary: #4a9c91;--accent: #4a9c91;--dark: #1a2e2a;--light: #f8fbfa;--text: #405753;--text-light: #6b8c86;--radius: 12px;--shadow: 0 8px 32px rgba(26, 46, 42, .1)}.login-prompt-container{margin-top:6.5rem;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--light);padding:2rem}.login-prompt-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:3rem;max-width:560px;width:100%;text-align:center}.prompt-header{margin-bottom:2rem}.warning-icon{font-size:3.5rem;color:var(--primary);margin-bottom:1.5rem}.prompt-header h1{color:var(--dark);font-size:2.2rem;margin-bottom:.5rem}.prompt-content p{color:var(--text);font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.action-buttons{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.login-button{background:var(--primary);color:#fff;padding:1rem 2rem;border-radius:var(--radius);text-decoration:none;display:inline-flex;align-items:center;gap:.8rem;transition:all .3s ease;font-size:1.1rem;font-weight:600}.login-button:hover{background:var(--secondary);transform:translateY(-2px);box-shadow:0 4px 15px #4a9c914d}.signup-text{color:var(--text-light);margin-top:1.5rem;font-size:.95rem}.signup-link{color:var(--secondary);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;font-weight:500;transition:color .3s ease}.signup-link:hover{color:var(--primary)}.button-icon,.link-icon{font-size:1.2rem}@media (max-width: 768px){.login-prompt-card{padding:2rem;margin:1rem}.prompt-header h1{font-size:1.8rem}.prompt-content p{font-size:1rem}}@media (max-width: 480px){.login-prompt-container{padding:1rem}.login-button{width:100%;justify-content:center;padding:1rem}}html,body{line-height:1.9;color:#333;background:#f5f5f5}.gis-zimbabwe-container{width:100%;max-width:1300px;margin:0 auto}.gis-introduction,.gis-header,section{width:100%;text-align:center;padding:1.2rem 1rem;margin:0 auto}.gis-header{background:#3b3d41;color:#fff}.header-content{max-width:800px;margin:0 auto}.gis-header h1{font-size:2rem;margin-bottom:.8rem;color:#f5f5f5}.subtitle{font-size:1.1rem;margin-bottom:1.5rem}.header-stats{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.stat-item{background:#ffffff1a;padding:.8rem;border-radius:4px}.stat-number{font-size:1.5rem;font-weight:700;color:#7fd3ff}section{background:#fff;margin:1rem auto}section h2{font-size:1.6rem;color:#f4f5f7;margin-bottom:1.2rem;display:flex;justify-content:center;align-items:center;gap:.5rem}section h3{font-size:1.3rem;color:#22634d;margin:1rem 0}.organization,.municipal-highlight,.mining-application,.mining-limitation,.sector{max-width:800px;margin:0 auto 1.5rem;text-align:left;padding:1rem}ul{padding-left:1.2rem;margin:.8rem 0;text-align:left}li{margin-bottom:.4rem}.applications-section .sector-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;max-width:1100px;margin:0 auto}.applications-section .sector{background:#f8f8f8;padding:1.2rem;border-radius:6px;text-align:center}.applications-section .sector h3{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.8rem}.applications-section .sector ul{text-align:left;padding-left:1.2rem}.conclusion-section .future-trends{max-width:800px;margin:1.5rem auto;text-align:center}.conclusion-section .future-trends ul{display:inline-block;text-align:left;margin:1rem auto;padding-left:1.5rem}.company-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;max-width:1100px;margin:1.5rem auto}.municipal-section .other-municipal{text-align:center;max-width:800px;margin:0 auto;padding:1rem}.municipal-section .other-municipal h3{margin-bottom:1rem}.municipal-section .other-municipal ul{display:inline-block;text-align:left;margin:0 auto;padding-left:1.5rem}.municipal-section .municipal-highlight{text-align:center;max-width:800px;margin:0 auto 1.5rem;padding:1.2rem}.municipal-section .municipal-highlight ul{display:inline-block;text-align:left;margin:1rem auto;padding-left:1.5rem}.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.4rem;margin:1.8rem 0}.gis-footer{background:#393a39;color:#fff;padding:1.5rem;text-align:center;margin-bottom:20px}.gis-footer-content{max-width:800px;margin:0 auto}.gis-footer-links{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem;color:#ccd0d4!important}#GIS-heading-2{color:#413f3f!important}@media (max-width: 768px){#GIS-heading-2{color:#4e4d4d!important}.gis-header h1{font-size:2.2rem}section{padding:2rem}.company-list{grid-template-columns:repeat(2,1fr)}.gis-footer-links{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem;color:#ccd0d4!important;text-decoration:none!important}}@media (max-width: 992px){.company-list{grid-template-columns:repeat(3,1fr)}.gis-introduction,section{padding:2rem}}.gis-introduction{background:#fff}.intro-content{max-width:800px;margin:0 auto;text-align:center}.intro-content h2{margin-top:40px}.gis-introduction h2{font-size:1.8rem}.gis-introduction h3{font-size:1.4rem}.resource-links{list-style:none;padding-left:0;text-align:center}.resource-links li{margin-bottom:.8rem}.svg-inline--fa{margin-right:.5rem}
