body{background-color:#f5f5f5}.hero{min-height:calc(100vh - 8rem);display:flex;align-items:center;justify-content:center;text-align:center;padding:0}.hero-main-container{background:#fff;width:calc(100% - 2rem);max-width:1600px;height:100%;min-height:calc(100vh - 8rem);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:var(--space-6);margin:0 auto 1rem;position:relative;overflow:hidden}.hero-content{max-width:800px;transition:opacity 1s ease,transform 1s ease;opacity:1}.hero-main-container.video-active .hero-content{opacity:0;transform:translateY(20px);pointer-events:none;position:absolute}#hero-video-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:16px;overflow:hidden;opacity:0;pointer-events:none;z-index:5;background:#000}.hero-main-container.video-active #hero-video-wrapper{opacity:1;pointer-events:auto}#hero-video-player{width:100%;height:100%;object-fit:cover;display:block}#hero-video-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#0006;z-index:2}#hero-dynamic-title{color:#fff!important;font-size:var(--font-2xl);font-weight:400;text-align:center;width:100%;padding:0 var(--space-6);line-height:1.1;letter-spacing:-1.5px}.dynamic-industry-container{display:inline-grid;text-align:left;vertical-align:baseline;position:relative;margin-left:.2em}.dynamic-industry-container span{grid-area:1 / 1;white-space:nowrap}#dynamic-industry{color:#fff;z-index:1;position:relative;display:inline-block}#dynamic-industry:after{content:"|";margin-left:2px;animation:blink .8s infinite;color:#72be44}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.industry-spacer{visibility:hidden;pointer-events:none;text-decoration:underline}.hero h1{font-size:var(--font-2xl);font-weight:500;color:#000;margin-bottom:1.5rem;line-height:1.1;letter-spacing:-1.5px}.hero p{font-size:var(--font-md);color:#333;max-width:600px;margin:0 auto;line-height:1.3;font-weight:400}.mission-section{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-8);align-items:center;background:#fff;border-radius:16px;width:calc(100% - 2rem);max-width:1600px;margin:0 auto}.mission-image{position:relative;overflow:hidden}.mission-image:before,.mission-image:after{content:"";position:absolute;left:0;right:0;height:120px;z-index:2;pointer-events:none}.mission-image:before{top:0;background:linear-gradient(to bottom,#ffffff 0%,transparent 100%)}.mission-image:after{bottom:0;background:linear-gradient(to top,#ffffff 0%,transparent 100%)}.content-wrapper{background:#fff;border-radius:16px;width:calc(100% - 2rem);max-width:1600px;margin:1rem auto;padding:0 var(--space-4)}.section-block{padding:var(--space-10) 0}.mission-content{padding-left:var(--space-6);padding-right:var(--space-6)}.mission-content h2{font-size:var(--font-2xl);font-weight:500;margin-bottom:1.5rem}.mission-intro{font-size:var(--font-md);font-weight:500;line-height:1.5;color:#333;margin-bottom:1rem}.mission-body{font-size:var(--font-base);line-height:1.6;color:var(--text-primary);margin-bottom:2rem;font-weight:300}.mission-stats{display:flex;justify-content:space-between;gap:1.5rem;padding-top:1.5rem}.stat{display:flex;flex-direction:column}.stat-label{font-size:var(--font-xs);text-transform:uppercase;color:var(--text-muted);font-weight:400;letter-spacing:.5px;margin-bottom:.2rem}.stat-value{font-size:var(--font-lg);font-weight:500;color:var(--text-primary)}.origin-section{max-width:860px;margin:0 auto;padding:var(--space-10) var(--space-6)}.origin-tag{font-size:var(--font-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--primary);font-weight:600;margin-bottom:var(--space-3)}.origin-headline{font-size:clamp(32px,4.5vw,56px);font-weight:700;line-height:1.1;color:var(--secondary);margin-bottom:var(--space-6)}.origin-body{margin-bottom:var(--space-8)}.origin-body p{font-size:var(--font-md);line-height:1.7;color:var(--text-secondary);margin-bottom:var(--space-4);font-weight:400}.origin-body p.origin-closing{font-size:var(--font-md);font-weight:600;color:var(--secondary);margin-bottom:0}#industries{background-color:var(--bg-dark);color:var(--text-light);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-6)}#industries h2{color:var(--text-light)!important;text-align:left}.industries-section{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-10);align-items:stretch}.industry-content{display:flex;flex-direction:column}.industry-image-wrapper{width:100%;height:500px;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--bg-secondary);position:relative}.industry-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:opacity .5s ease,transform .5s ease}.industry-text{position:absolute;bottom:0;left:0;right:0;padding:var(--space-4);background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.2) 80%,transparent 100%)}.industry-text p{font-size:var(--font-md);max-width:480px;font-weight:400;line-height:1.6;color:#fff;transition:opacity .5s ease;margin:0}.industry-slider{display:flex;gap:var(--space-4);align-items:center;justify-content:center}.industry-slider-track{width:.5px;height:220px;background-color:#fff3;border-radius:.5px;position:relative;flex-shrink:0}.industry-slider-indicator{position:absolute;left:50%;transform:translate(-50%);width:12px;height:12px;background-color:#fff;border-radius:50%;transition:top .6s cubic-bezier(.4,0,.2,1);top:0}.industry-labels{display:flex;flex-direction:column}.industry-label{padding:var(--space-2) 0;cursor:pointer;transition:all .3s ease;position:relative}.industry-label span{font-size:var(--font-base);font-weight:400;color:#fff9;transition:all .3s ease;display:block}.industry-label.active span{color:#fff;font-weight:500}.industry-label:hover span{color:#fff}.mobile-industry-info{display:none}.case-studies-grid-carousel{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4)}.carousel-pagination{display:none;justify-content:center;gap:8px;margin-top:var(--space-6)}.carousel-pagination .dot{width:8px;height:8px;border-radius:50%;background-color:#ddd;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.carousel-pagination .dot.active{background-color:var(--primary);width:24px;border-radius:4px}@media(max-width:767px){.case-studies-grid-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;margin:0 calc(var(--space-2) * -1);padding:0;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}.case-studies-grid-carousel:active{cursor:grabbing}.case-studies-grid-carousel::-webkit-scrollbar{display:none}.case-studies-grid-carousel .card{flex:0 0 100%;scroll-snap-align:center;background:transparent;padding:0 var(--space-2);border-radius:0;box-shadow:none}.carousel-pagination{display:flex}}.partners-marquee{width:100%;overflow:hidden;background:#fff;position:relative}.partners-track{display:flex;width:max-content;gap:var(--space-12);animation:marquee 30s linear infinite;align-items:center}.partners-track img{height:100px;width:auto;object-fit:contain;flex-shrink:0}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.partners-marquee:hover .partners-track{animation-play-state:paused}@media(max-width:768px){.partners-track img{height:100px}.partners-track{gap:var(--space-8);animation-duration:20s}}.cta-wrapper{width:calc(100% - 2rem);max-width:1600px;margin:1rem auto;padding:var(--space-4);background-color:#c7e5b4;border-radius:16px}.footer{width:calc(100% - 2rem);max-width:1600px;margin:1rem auto 2rem;border-radius:16px;overflow:hidden}@media(max-width:991px){.mission-section{grid-template-columns:1fr}div.mission-section{padding:0}.mission-content{padding-left:0;margin-top:var(--space-6)}.mission-content .btn{width:100%;justify-content:center}.origin-section{padding:var(--space-8) var(--space-4)}.mission-stats{flex-direction:column;gap:2rem}.stat{flex:1 1 100%}.stat-label{font-size:var(--font-xs)}.stat-value{font-size:var(--font-2xl);font-weight:500;line-height:1.1}.cta-banner{flex-direction:column;text-align:center;gap:var(--space-4)}}@media(max-width:767px){.hero-main-container{width:calc(100% - 1rem);padding:var(--space-4);min-height:calc(100vh - 6rem)}.hero h1{font-size:var(--font-2xl)}.hero p{font-size:var(--font-base)}.content-wrapper{width:calc(100% - 1rem);padding:var(--space-10) var(--space-2)}.section-block{padding:var(--space-8) 0}.origin-section{padding:var(--space-8) var(--space-3)}.origin-body p{font-size:var(--font-base)}h2,.section-title,.ecosystem-title,.mission-content h2{font-size:var(--font-xl)!important}#industries{width:calc(100% + 2rem);margin-left:-1rem;margin-right:-1rem;border-radius:0;padding:var(--space-8) var(--space-2)}.industries-section{grid-template-columns:1fr;gap:var(--space-4)}.industry-slider{display:none}.industry-image-wrapper{height:300px}.industry-text{display:none}.mobile-industry-info{display:block;text-align:left;margin-top:var(--space-1);padding:0 var(--space-1)}.mobile-industry-title{font-size:var(--font-lg);font-weight:500;color:#fff;margin-bottom:var(--space-2)}.mobile-industry-description{font-size:var(--font-base);font-weight:400;color:#fffc;line-height:1.6}}.ecosystem-container{max-width:1400px;margin:0 auto}.ecosystem-header{text-align:left;margin-bottom:var(--space-6)}.ecosystem-title{font-size:var(--font-2xl);font-weight:400;margin-top:.5rem}.ecosystem-gallery{display:flex;width:100%;height:600px;gap:10px}.eco-item{flex:1;height:100%;position:relative;overflow:hidden;cursor:pointer;border-radius:12px;transition:all .7s cubic-bezier(.23,1,.32,1)}.eco-video-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:hidden;background:#000}.eco-bg-video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.1);transition:transform .8s cubic-bezier(.23,1,.32,1)}.eco-item:hover .eco-bg-video,.eco-item.active .eco-bg-video{transform:scale(1)}.eco-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:grayscale(100%) brightness(.8);backdrop-filter:grayscale(100%) brightness(.8);transition:all .7s cubic-bezier(.23,1,.32,1);z-index:1}.eco-item:hover,.eco-item.active{flex:6}.eco-item:hover:before,.eco-item.active:before{background:transparent;-webkit-backdrop-filter:grayscale(0%) brightness(1);backdrop-filter:grayscale(0%) brightness(1)}.eco-item-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:2.5rem;z-index:2;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.3) 50%,transparent 100%);opacity:0;transform:translateY(20px);transition:all .3s ease 0s;pointer-events:none}.eco-item:hover .eco-item-inner,.eco-item.active .eco-item-inner{opacity:1;transform:translateY(0);transition:all .5s ease .2s;pointer-events:auto}.eco-sector{font-size:11px;font-weight:600;letter-spacing:2px;color:#72be44;text-transform:uppercase;margin-bottom:.5rem;display:block}.eco-name{font-size:2.5rem;font-weight:500;color:#fff;margin-bottom:1rem;line-height:1.1}.eco-desc{font-size:1rem;color:#ffffffe6;max-width:400px;margin-bottom:2rem;line-height:1.5}.eco-link{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:500;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;transition:gap .3s ease}.eco-link:hover{gap:12px;color:#72be44}@media(max-width:991px){.ecosystem-gallery{height:500px}}@media(max-width:767px){.ecosystem-gallery{flex-direction:column;height:auto;gap:15px}.eco-item{flex:none;width:100%;height:150px;transition:height .6s cubic-bezier(.23,1,.32,1)}.eco-item:hover,.eco-item.active{flex:none;height:400px}.eco-item-inner{padding:1.5rem}.eco-name{font-size:1.8rem}}.os-wrapper{max-width:960px;margin:0 auto;padding:var(--space-10) var(--space-6)}.os-header{margin-bottom:var(--space-8)}.os-headline{font-size:clamp(28px,4vw,52px);font-weight:700;line-height:1.1;color:var(--secondary);margin:var(--space-2) 0 var(--space-3)}.os-subline{font-size:var(--font-base);color:var(--text-secondary);max-width:580px;line-height:1.7;margin:0}.os-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-8)}.os-col-head{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;flex-direction:column;gap:4px}.os-col-head--cost{background:#f5f5f5;border:1px solid rgba(0,0,0,.08);border-bottom:none}.os-col-head--group{background:#f0f7ea;border:1px solid rgba(114,190,68,.25);border-bottom:none}.os-col-title{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--secondary)}.os-col-note{font-size:.75rem;color:var(--text-muted)}.os-list{list-style:none;margin:0;padding:0}.os-row{display:flex;align-items:center;gap:.75rem;padding:.8rem var(--space-4);border:1px solid rgba(0,0,0,.07);border-top:none;opacity:0;transition:opacity .4s ease,transform .4s ease}.os-list--left .os-row{transform:translate(-16px)}.os-list--right .os-row{transform:translate(16px);border-color:#72be4426}.os-list--left .os-row:last-child,.os-list--right .os-row:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.os-row.visible{opacity:1;transform:translate(0)}.os-x{font-size:.8rem;font-weight:700;color:#bbb;flex-shrink:0;width:16px;text-align:center}.os-check{font-size:.8rem;font-weight:700;color:var(--primary);flex-shrink:0;width:16px;text-align:center}.os-item-label{font-size:.875rem;color:var(--text-secondary);flex:1}.os-tag{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-full);flex-shrink:0;white-space:nowrap}.os-tag--energy{background:#fff8e1;color:#9a6f00}.os-tag--water{background:#e3f2fd;color:#1565c0}.os-tag--health{background:#fff3e0;color:#c45400}.os-tag--food{background:#f1f8e9;color:#33691e}.os-tag--shared{background:#eceff1;color:#546e7a}.os-thesis{text-align:center;padding:var(--space-6) var(--space-4);border-top:1px solid rgba(0,0,0,.07)}.os-thesis p{font-size:clamp(15px,1.8vw,20px);font-weight:500;color:var(--secondary);max-width:560px;margin:0 auto;line-height:1.6}@media(max-width:768px){.os-compare-grid{grid-template-columns:1fr;gap:var(--space-3)}.os-wrapper{padding:var(--space-8) var(--space-3)}.os-list--left .os-row,.os-list--right .os-row{transform:translateY(12px)}}
