.ecology-page{--ecology-text:#18324e;--ecology-muted:#7890aa;--ecology-line:#dce7f4;background:#f4f7fb;color:var(--ecology-text)}
.ecology-page [hidden]{display:none!important}.ecology-page *{box-sizing:border-box}.ecology-page figure{margin:0}.ecology-page button{font:inherit}.ecology-page .eyebrow{font-size:10px;letter-spacing:2.4px;color:#0878ff;font-weight:600}.ecology-page a:focus-visible,.ecology-page button:focus-visible{outline:3px solid #73aeff;outline-offset:4px}.ecology-page .breadcrumbs{font-size:11px;color:#8397ae;margin:0 0 24px}.ecology-page .breadcrumbs a{color:inherit}
.ecology-hero{background:linear-gradient(130deg,#edf5ff 0%,#f6faff 50%,#e9f0fb 100%);padding:48px 0 50px}.ecology-hero-inner{width:88%;max-width:1400px;margin:auto;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.4fr);align-items:center;gap:40px}.ecology-hero-copy h1{font-size:clamp(32px,3.25vw,49px);letter-spacing:-1.5px;line-height:1.26;margin:15px 0 21px}.ecology-hero-copy h1 span{color:#0878ff}.ecology-hero-copy h2{font-size:clamp(20px,1.9vw,27px);line-height:1.55;letter-spacing:-.5px;margin:0 0 16px}.ecology-hero-copy>p:last-of-type{font-size:13px;color:#6d86a3;line-height:1.95;max-width:460px}.ecology-hero .actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:24px}.ecology-hero .button{font-size:12px;padding:13px 18px}.ecology-jump{font-size:12px;color:#6084af}.ecology-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.ecology-hero-tags span{font-size:10px;color:#6688b0;padding:6px 10px;border:1px solid #d5e5f8;border-radius:5px;background:#ffffff8a}
.ecology-media{min-width:0;border-radius:15px;overflow:hidden;border:1px solid #d4e1f1;background:#fff;box-shadow:0 12px 32px #0a3c6210}.ecology-media>a{display:block;background:#071c36;overflow:hidden}.ecology-media img{display:block;width:100%;height:auto;transition:transform .4s ease}.ecology-media>a:hover img{transform:scale(1.015)}.ecology-media figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;font-size:11px;color:#7991ad;line-height:1.6}.ecology-media figcaption>a{color:#0878ff;font-size:10px;white-space:nowrap}.ecology-hero-media{box-shadow:0 24px 48px #123d7423;border:5px solid #fff;border-radius:17px}.ecology-hero-media figcaption{padding:10px 12px;font-size:10px}.ecology-page .water-local-nav{border-bottom:1px solid #e2eaf5}.ecology-page .platform-subnav{z-index:45}.ecology-wrap{width:88%;max-width:1320px;margin:auto;padding-bottom:80px}.ecology-section{padding-top:70px;scroll-margin-top:90px}.ecology-section-head{max-width:860px;margin-bottom:28px}.ecology-section-head h2{font-size:clamp(24px,2.5vw,34px);line-height:1.5;letter-spacing:-.75px;margin:12px 0}.ecology-section-head>p:last-child{font-size:14px;line-height:1.85;color:var(--ecology-muted);margin:0}
.ecology-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ecology-overview-grid article{background:#fff;border:1px solid var(--ecology-line);border-radius:15px;padding:27px;position:relative;transition:transform .25s,box-shadow .25s}.ecology-overview-grid article:hover{transform:translateY(-4px);box-shadow:0 16px 32px #21446710}.ecology-overview-grid svg{width:29px;height:29px;display:block;color:#0878ff}.ecology-overview-grid small{position:absolute;right:25px;top:29px;color:#bdd1e9;font-size:23px}.ecology-overview-grid h3{font-size:19px;margin:24px 0 13px}.ecology-overview-grid p{font-size:13px;line-height:1.85;color:var(--ecology-muted);margin:0}.ecology-factor-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.ecology-factor-strip>span{font-size:12px;color:#20629e;min-width:67px;background:#e8f2ff;border:1px solid #d4e5fa;border-radius:7px;padding:9px 14px;text-align:center}.ecology-factor-strip small{font-size:10px;color:#8da0b7;margin-left:auto}
.ecology-monitoring-detail{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.35fr);gap:40px;align-items:center;margin-top:35px;border:1px solid var(--ecology-line);border-radius:18px;padding:38px;background:#fff}.ecology-monitoring-detail h3{font-size:29px;line-height:1.5;margin:14px 0 21px}.ecology-points{display:grid;gap:17px}.ecology-points article{padding-left:17px;border-left:2px solid #d4e6ff}.ecology-points h3{font-size:14px;line-height:1.6;margin:0 0 5px}.ecology-points p{font-size:12px;color:var(--ecology-muted);line-height:1.9;margin:0}.ecology-sample-media{max-width:none;justify-self:center;width:100%}.ecology-sample-media>a{padding:0;background:#edf4fb}.ecology-sample-media img{height:auto;max-height:none;width:100%;object-fit:contain}.ecology-analysis-tabs{display:flex;gap:10px;align-items:stretch;margin-bottom:18px}.ecology-analysis-tabs button{min-width:184px;text-align:left;border:1px solid var(--ecology-line);background:#fff;color:#748ea8;border-radius:11px;padding:15px 20px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s}.ecology-analysis-tabs button span{display:block;font-size:10px;font-weight:400;margin-top:6px}.ecology-analysis-tabs button[aria-selected=true]{background:#0878ff;color:#fff;border-color:#0878ff;box-shadow:0 8px 20px #0878ff20}.ecology-analysis-panel{background:#fff;border:1px solid var(--ecology-line);border-radius:17px;overflow:hidden;animation:ecology-panel-in .25s ease-out}.ecology-analysis-panel .ecology-media{border:0;border-radius:0;box-shadow:none}.ecology-analysis-panel .ecology-media figcaption{border-bottom:1px solid #e7edf5}.ecology-analysis-copy{display:grid;grid-template-columns:.7fr 1fr;gap:35px;padding:25px}.ecology-analysis-copy h3{font-size:18px;line-height:1.7;margin:0}.ecology-analysis-copy p{font-size:12px;line-height:1.9;color:var(--ecology-muted);margin:0}.ecology-analysis-flow{display:flex;justify-content:center;align-items:center;gap:22px;padding:25px 10px;font-size:12px;color:#607f9f}.ecology-analysis-flow i{font-style:normal;color:#9db7d4}
.ecology-report-panel{background:linear-gradient(120deg,#eef5ff,#fff);padding:42px;border:1px solid var(--ecology-line);border-radius:20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.65fr);gap:65px;align-items:center}.ecology-report-panel h2{font-size:clamp(26px,2.6vw,35px);line-height:1.5;margin:14px 0}.ecology-report-lead{font-size:13px;color:var(--ecology-muted);line-height:1.85;margin:0 0 25px}.ecology-report-panel .text-link{display:inline-block;font-size:13px;color:#0878ff;margin-top:25px}.ecology-report-media{max-width:360px;width:100%;justify-self:center;border-radius:12px;box-shadow:0 16px 36px #16395813}.ecology-report-media>a{background:#fff;padding:16px}.ecology-report-media figcaption{font-size:10px;padding:10px 14px}
.ecology-scene-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.ecology-scene-grid article{border:1px solid var(--ecology-line);border-radius:13px;background:#fff;padding:23px;transition:transform .25s}.ecology-scene-grid article:hover{transform:translateY(-4px)}.ecology-scene-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.ecology-scene-grid svg{width:27px;height:27px;color:#0878ff}.ecology-scene-grid small{color:#91a9c1;font-size:9px;letter-spacing:1px}.ecology-scene-grid h3{font-size:16px;line-height:1.6;margin:22px 0 12px}.ecology-scene-grid p{font-size:12px;color:var(--ecology-muted);line-height:1.85;margin:0}.ecology-solution-link{display:flex;justify-content:space-between;margin-top:18px;color:#0878ff;font-size:13px;padding:15px 18px;border:1px solid #d7e5f7;border-radius:10px;background:#eaf3ff}.ecology-delivery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ecology-delivery-grid article{padding:25px;background:#fff;border:1px solid var(--ecology-line);border-radius:14px}.ecology-delivery-grid b{font-size:29px;color:#b7d2f1;font-weight:500;display:block}.ecology-delivery-grid small{font-size:10px;color:#0878ff;display:block;margin:17px 0 9px}.ecology-delivery-grid h3{font-size:16px;line-height:1.7;margin:0 0 12px}.ecology-delivery-grid p{font-size:12px;line-height:1.9;color:var(--ecology-muted);margin:0}.ecology-delivery-steps{list-style:none;padding:22px;margin:20px 0;background:#eaf2fd;border:1px solid #dbe7f6;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;border-radius:13px}.ecology-delivery-steps li{display:flex;align-items:center;gap:9px;font-size:12px;color:#55799e}.ecology-delivery-steps span{font-size:11px;color:#0878ff;background:#fff;border-radius:6px;padding:7px}.ecology-related-links{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:24px}.ecology-related-links a{font-size:12px;color:#6889ae}.ecology-page .platform-cta{margin-top:65px}.ecology-page .team-cta h2{font-size:clamp(21px,2vw,29px);line-height:1.6}
@keyframes ecology-panel-in{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.ecology-hero-inner{gap:25px;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr)}.ecology-hero-copy h1{font-size:36px}.ecology-hero-copy h2{font-size:21px}.ecology-hero-copy>p:last-of-type{font-size:12px}.ecology-scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecology-monitoring-detail{gap:30px;padding:28px}.ecology-report-panel{gap:35px;padding:32px}.ecology-delivery-grid h3{font-size:14px}.ecology-media figcaption{padding:12px 14px;font-size:10px}}
@media(max-width:900px){.ecology-hero-inner{grid-template-columns:1fr;gap:30px}.ecology-hero{padding:32px 0 35px}.ecology-hero-copy>p:last-of-type{max-width:600px;font-size:13px}.ecology-hero-copy h1{font-size:39px}.ecology-hero-copy h2 br{display:none}.ecology-hero .actions{margin-top:20px}.ecology-hero-tags{margin-top:19px}.ecology-monitoring-detail,.ecology-report-panel{grid-template-columns:1fr}.ecology-sample-media{max-width:none}.ecology-report-media{max-width:340px}.ecology-overview-grid article{padding:21px}.ecology-overview-grid h3{font-size:17px}.ecology-delivery-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.ecology-analysis-copy{grid-template-columns:1fr;gap:10px}.ecology-analysis-flow{gap:14px;font-size:11px}.ecology-section{padding-top:55px}}
@media(max-width:600px){.ecology-wrap,.ecology-hero-inner{width:90%}.ecology-hero-copy h1{font-size:34px;letter-spacing:-.8px}.ecology-hero-copy h2{font-size:19px}.ecology-hero-copy>p:last-of-type{font-size:12px}.ecology-page .breadcrumbs{font-size:10px;margin-bottom:19px}.ecology-page .eyebrow{font-size:9px;letter-spacing:1.7px}.ecology-hero .actions{gap:14px}.ecology-hero .button{font-size:11px;padding:12px 15px}.ecology-jump{font-size:11px}.ecology-hero-tags span{font-size:9px}.ecology-hero-media{border-width:3px;border-radius:11px}.ecology-media figcaption{gap:8px;font-size:9px;padding:10px 11px}.ecology-media figcaption>a{font-size:9px}.ecology-overview-grid,.ecology-delivery-grid{grid-template-columns:1fr;gap:12px}.ecology-overview-grid article{padding:22px}.ecology-overview-grid h3{margin:18px 0 10px}.ecology-section-head h2{font-size:24px;letter-spacing:-.4px}.ecology-section-head>p:last-child{font-size:12px}.ecology-section-head{margin-bottom:21px}.ecology-factor-strip{gap:6px}.ecology-factor-strip>span{min-width:60px;font-size:10px;padding:8px 10px}.ecology-factor-strip small{font-size:9px;margin-left:0;width:100%;margin-top:4px}.ecology-monitoring-detail{padding:21px;gap:24px}.ecology-monitoring-detail h3{font-size:24px}.ecology-points h3{font-size:13px}.ecology-points p{font-size:11px}.ecology-sample-media img{max-height:none}.ecology-analysis-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ecology-analysis-tabs button{min-width:0;padding:13px 15px;font-size:14px}.ecology-analysis-copy{padding:19px}.ecology-analysis-copy h3{font-size:16px}.ecology-analysis-copy p{font-size:11px}.ecology-analysis-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:11px;text-align:center;padding:19px 0;font-size:10px}.ecology-analysis-flow i:nth-of-type(2){display:none}.ecology-report-panel{padding:23px;gap:27px}.ecology-report-panel h2{font-size:26px}.ecology-report-lead{font-size:12px}.ecology-report-media{max-width:290px}.ecology-scene-grid{gap:12px}.ecology-scene-grid article{padding:18px}.ecology-scene-grid h3{font-size:14px;margin-top:16px}.ecology-scene-grid p{font-size:11px}.ecology-scene-grid small{font-size:8px;letter-spacing:0}.ecology-delivery-grid h3{font-size:16px}.ecology-delivery-steps{padding:16px;gap:14px}.ecology-delivery-steps li{font-size:10px;gap:6px}.ecology-delivery-steps span{font-size:10px;padding:6px}.ecology-related-links{gap:15px}.ecology-related-links a{font-size:10px}.ecology-page .platform-cta{margin-top:45px}}
@media(prefers-reduced-motion:reduce){.ecology-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.ecology-custom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:25px}.ecology-custom-grid article{border:1px solid var(--ecology-line);background:#fff;border-radius:14px;padding:25px}.ecology-custom-grid span{font-size:12px;color:#0878ff;background:#ecf4ff;padding:7px 10px;border-radius:7px;display:inline-block}.ecology-custom-grid h3{font-size:18px;margin:18px 0 10px}.ecology-custom-grid p{font-size:12px;line-height:1.9;color:var(--ecology-muted);margin:0}.ecology-sensor-panel{background:#fff;border:1px solid var(--ecology-line);border-radius:18px;color:var(--ecology-text);padding:30px 38px;box-shadow:0 8px 28px #21446708}.ecology-sensor-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.ecology-sensor-heading .eyebrow{color:#0878ff}.ecology-sensor-heading h3{font-size:24px;margin:10px 0}.ecology-sensor-heading>span{font-size:11px;color:#0878ff;border:1px solid #d8e8ff;background:#f0f6ff;padding:8px 12px;border-radius:6px}.ecology-sensor-scroll{overflow-x:auto;border:1px solid #e1eaf5;border-radius:12px}.ecology-sensor-panel table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px;text-align:left}.ecology-sensor-panel th,.ecology-sensor-panel td{padding:16px 20px;border-bottom:1px solid #e8eef6;white-space:nowrap}.ecology-sensor-panel thead th{color:#2469b8;background:#edf5ff;font-weight:600;border-bottom-color:#dce8f7}.ecology-sensor-panel tbody th{font-weight:600;color:#244568}.ecology-sensor-panel th:first-child,.ecology-sensor-panel td:first-child{width:15%;color:#8ba0b8}.ecology-sensor-panel tbody tr:nth-child(even){background:#f8faff}.ecology-sensor-panel tbody tr:hover{background:#eef6ff}.ecology-sensor-panel tbody tr:last-child>*{border-bottom:0}.ecology-sensor-panel tbody td:not(:first-child){color:#607a96}.ecology-sensor-note{font-size:11px;line-height:1.8;color:#7b91ab;margin:18px 0 0;padding:12px 15px;background:#f4f8fe;border-radius:8px;border-left:3px solid #b4d5ff}.ecology-custom-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.ecology-custom-cta p{font-size:12px;line-height:1.8;color:var(--ecology-muted)}.ecology-custom-cta .button{font-size:12px;white-space:nowrap;padding:13px 20px}
.ecology-scene-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.ecology-scene-grid .ecology-scene-card{padding:0;overflow:hidden;box-shadow:0 8px 24px #174d7310}.ecology-scene-media{display:block;aspect-ratio:16/9;overflow:hidden;background:#e5edf5}.ecology-scene-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.ecology-scene-media:hover img{transform:scale(1.035)}.ecology-scene-grid .ecology-scene-copy{display:block;padding:27px 29px}.ecology-scene-copy small{color:#0878ff;letter-spacing:1.2px}.ecology-scene-grid h3{font-size:21px;margin:14px 0 13px}.ecology-scene-grid p{font-size:13px}.ecology-scene-grid p+p{margin-top:10px}
@media(max-width:900px){.ecology-sensor-panel{padding:25px}.ecology-scene-grid .ecology-scene-copy{padding:22px}.ecology-scene-grid h3{font-size:18px}.ecology-custom-grid article{padding:21px}.ecology-custom-grid h3{font-size:16px}}
@media(max-width:600px){.ecology-custom-grid,.ecology-scene-grid{grid-template-columns:1fr;gap:14px}.ecology-sensor-panel{padding:23px 18px;border-radius:13px}.ecology-sensor-heading{display:block;margin-bottom:16px}.ecology-sensor-heading>span{display:inline-block;font-size:10px;margin-top:8px}.ecology-sensor-heading h3{font-size:21px}.ecology-sensor-panel table{min-width:0;font-size:10px}.ecology-sensor-panel th,.ecology-sensor-panel td{padding:13px 4px}.ecology-sensor-note{font-size:10px}.ecology-custom-cta{align-items:flex-start;flex-direction:column;gap:6px}.ecology-custom-cta p{font-size:11px}.ecology-custom-cta .button{font-size:11px}.ecology-scene-grid .ecology-scene-copy{padding:22px}.ecology-scene-grid h3{font-size:19px}.ecology-scene-grid p{font-size:12px}.ecology-scene-grid small{font-size:9px}}
