/* Nature refresh: locally bundled imagery, no external font or image services. */
:root{--blue:#086d7c;--blue2:#078995;--cyan:#64d5cf;--dark:#073b43;--ink:#173d43;--muted:#586f73;--ice:#edf7f5;--soft:#f5f9f7;--line:#dae7e3;--radius:18px}
body{background:#fff;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
section{padding:88px 0}
h1,h2,h3{text-wrap:balance}
.eyebrow{letter-spacing:.13em}
.site-header{background:rgba(255,255,255,.97)}
.btn{border-radius:8px;min-height:48px}
.btn-primary{background:#086d7c;box-shadow:none}
.btn-primary:hover{background:#075560}
a:focus-visible,button:focus-visible{outline:3px solid #098b97;outline-offset:5px}
.river-hero{isolation:isolate;min-height:720px;padding:104px 0 88px;background:#073b43;color:#fff;display:flex;align-items:center}
.river-hero .river-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2}
.river-hero:before{content:"";position:absolute;inset:0;width:auto;height:auto;filter:none;mask-image:none;-webkit-mask-image:none;opacity:1;background:linear-gradient(90deg,rgba(3,30,34,.87),rgba(3,30,34,.65) 44%,rgba(3,30,34,.10) 100%);z-index:-1}
.river-hero:after{display:none}
.river-hero .hero-grid{display:block}
.river-hero .hero-copy{max-width:760px}
.river-hero .eyebrow{color:#b5efdf;font-size:12px}
.river-hero .eyebrow:before{background:#b5efdf}
.river-hero .hero-copy h1{font-size:clamp(44px,4.6vw,68px);line-height:1.08;letter-spacing:-.045em;color:#fff;margin:24px 0;max-width:760px}
.river-hero h1 em{font-style:normal;font-weight:400;color:#e2f7ef}
.river-hero .hero-copy>p{max-width:580px;color:#ecf3f1;font-size:18px;line-height:1.75}
.river-hero .actions{margin-top:32px;gap:14px}
.river-hero .btn-primary{background:#fff;color:#12484b;border:1px solid #fff}
.river-hero .btn-primary:hover{background:#dff2eb}
.river-hero .btn-secondary{background:rgba(3,30,34,.25);border:1px solid rgba(255,255,255,.65);color:#fff}
.river-hero .trust-row{border-top:1px solid rgba(255,255,255,.25);padding-top:26px;margin-top:44px;max-width:635px;gap:32px;color:#e1eeeb}
.river-hero .trust-row strong{color:#fff;font-size:16px}
.river-caption{position:absolute;right:32px;bottom:22px;font-size:11px;color:#fff;letter-spacing:.09em}
.logo-strip{padding:0;background:#f0f6f3}
.logo-strip .container{padding:23px 0;gap:32px}
.logo-strip strong{font-weight:600;color:#355d5d}
.section-head h2{font-size:clamp(32px,3.3vw,46px);letter-spacing:-.035em}
.card,.reference-card,.product-overview-card,.hub-card{border-radius:16px;box-shadow:0 8px 30px rgba(7,59,67,.035)}
.card-accent{background:#073b43}
.card-accent .eyebrow{color:#b5efdf}
.visual-capabilities{background:#f3f8f5}
.visual-cap-card{border-radius:18px}
.band{background:#073b43}
.journey>div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);box-shadow:none}
.water-photo-section{padding:0;background:linear-gradient(90deg,rgba(2,41,49,.91),rgba(2,41,49,.74)),url('images/water-surface.webp') center/cover;color:#fff}
.water-photo-section:after{display:none}
.water-promise-grid{padding:100px 0;gap:65px}
.water-promise h2{font-size:clamp(34px,3.7vw,54px)}
.water-fact{border-radius:12px;background:rgba(2,38,43,.45)}
.water-fact strong{font-size:25px}
.water-promise .eyebrow{color:#b5efdf}
.about-split{background:#f3f8f5}
.cta{border-radius:18px;background:linear-gradient(95deg,rgba(2,41,49,.94),rgba(2,41,49,.78)),url('images/water-surface.webp') center/cover;box-shadow:none}
.cta:after{display:none}
.page-hero:not(.product-photo-hero){background:linear-gradient(95deg,rgba(241,248,245,.98) 35%,rgba(241,248,245,.77)),url('images/water-surface.webp') center/cover}
.product-photo-hero{background:#f0f6f3}
.product-photo,.company-photo-strip img,.service-photo-banner img{border-radius:18px}
.reveal{opacity:1;transform:none}
.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none;display:block}
.main-nav li:focus-within>.mega-menu{display:grid}
.breadcrumbs{background:#fff;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);padding:14px 0}
.breadcrumbs .container{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.breadcrumbs a{color:var(--blue)}
.breadcrumbs [aria-current]{overflow-wrap:anywhere;min-width:0}
.company-photo-strip{padding-top:0}
.page-hero .container,.product-hero-grid>*,.contact-grid>*{min-width:0}
.media-hero{margin:0;border-radius:18px;overflow:hidden;background:#e9f3ef}
.media-hero img{display:block;width:100%;height:360px;object-fit:cover}
.media-hero figcaption{padding:14px 20px;font-size:12px;color:var(--muted);background:#fff}
.page-hero .page-lead{line-height:1.75}
.soft-section{background:#f3f8f5}
.system-card,.fact-card,.aside-box,.benefit,.press-card,.press-feature{border-radius:16px}
.reference-table th{background:#073b43;color:#fff}
.reference-table tbody tr:nth-child(even){background:#f4f8f6}
.reference-table tbody tr:hover{background:#e4f1eb}
.reference-table-wrap{max-width:100%;overflow:auto}
.reference-tools input{min-height:48px}
.contact-form .form-check input{width:20px;height:20px;min-width:20px;accent-color:var(--blue)}
.contact-form .form-check a{text-decoration:underline;text-underline-offset:3px}
.contact-lines strong{overflow-wrap:anywhere}
.water-cta{background:#073b43}
.project-art:not(.project-art-photo){background:linear-gradient(120deg,rgba(3,44,49,.9),rgba(3,44,49,.7)),url('images/water-surface.webp') center/cover}
.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.split-section>*,.tech-intro>*,.prose{min-width:0}
main h2,main h3{overflow-wrap:anywhere}
@media(max-width:650px){.media-hero img{height:270px}.breadcrumbs{font-size:11px;padding:11px 0}.contact-grid{gap:24px}.download-card{align-items:flex-start;flex-direction:column}.project-detail-facts{grid-template-columns:1fr}.product-card-body h3{overflow-wrap:anywhere}.reference-tools{flex-wrap:wrap}.reference-tools input{width:100%}.contact-form button[type=submit]{width:100%}}
@media(max-width:1100px) and (min-width:981px){.header-inner{gap:12px}.main-nav .menu{gap:8px}.main-nav .menu>li>a{font-size:12px}.header-contact{display:none}.brand-fallback-logo{max-width:185px}}
@media(max-width:980px){section{padding:68px 0}.river-hero{min-height:700px;padding:80px 0}.river-hero .hero-copy{max-width:670px}.river-hero:before{background:linear-gradient(90deg,rgba(3,30,34,.88),rgba(3,30,34,.55))}.water-promise-grid{padding:72px 0;gap:32px}.main-nav.open{position:fixed;inset:82px 0 0;max-height:none}.logo-strip .container{gap:20px}}
@media(max-width:650px){.river-hero{min-height:0;padding:64px 0 55px}.river-hero .hero-copy h1{font-size:clamp(35px,9.1vw,48px);line-height:1.12}.river-hero .hero-copy>p{font-size:16px}.river-hero .eyebrow{font-size:10px;letter-spacing:.08em}.river-hero .actions{align-items:stretch;flex-direction:column;max-width:380px}.river-hero .trust-row{display:grid;grid-template-columns:1fr;gap:14px;margin-top:30px;padding-top:20px}.river-hero .trust-row>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12px}.river-hero .trust-row strong{font-size:14px}.river-caption{display:none}.logo-strip .container{gap:14px 22px;justify-content:center}.logo-strip strong{font-size:13px}.logo-strip span{width:100%;text-align:center}.water-facts{grid-template-columns:1fr 1fr;gap:10px}.water-fact{padding:16px}.water-fact strong{font-size:21px}.water-fact span{font-size:11px}.page-hero h1{font-size:clamp(30px,8vw,44px);overflow-wrap:anywhere}.section-head h2{font-size:32px}.header-inner{min-height:76px}.main-nav.open{top:76px}.product-photo img{object-fit:contain;background:#fff}.cta h2{overflow-wrap:anywhere}}

/* 10.13: deeper water-blue page backgrounds; content and imagery unchanged. */
body{background:#daeaf0}
.breadcrumbs{background:#daeaf0}
.logo-strip,.product-photo-hero{background:#cbdfe7}
.visual-capabilities,.about-split,.soft-section,.reference-teaser{background:#d2e5ec}
.page-hero:not(.product-photo-hero){background:linear-gradient(95deg,rgba(211,230,238,.98) 35%,rgba(211,230,238,.90)),url('images/water-surface.webp') center/cover}

/* User-supplied blue water motif, limited to the engineering band and project callouts. */
.band,.cta{background-color:#24628b;background-image:linear-gradient(90deg,rgba(5,39,64,.83),rgba(5,39,64,.40)),url('images/water-bubbles-ai.png');background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff}
.band h2,.band h3,.cta h2{color:#fff}.band p,.cta p{color:#f0f7fb}
.band .eyebrow,.cta .eyebrow{color:#d4f4fa}

/* Show the complete supplied bubble motif rather than cropping it under an overlay. */
.visual-capabilities{background:#337fb4 url('images/water-bubbles-ai.png') center top / auto 300px repeat;padding-top:170px;padding-bottom:100px}
.visual-capabilities .section-head{background:rgba(255,255,255,.96);padding:28px;border-radius:16px;margin-bottom:30px}
.band{background:#337fb4 url('images/water-bubbles-ai.png') center top / auto 300px repeat;padding-top:150px}
.band .band-grid{background:rgba(5,39,64,.88);padding:32px;border-radius:18px}
.cta{background:#337fb4 url('images/water-bubbles-ai.png') center top / auto 230px repeat;padding-top:115px}
.cta>div{background:rgba(5,39,64,.88);padding:22px;border-radius:12px}
@media(max-width:650px){.visual-capabilities{padding-top:145px;padding-bottom:60px;background-position:right top;background-size:auto 180px}.visual-capabilities .section-head{padding:20px}.band{padding-top:130px;background-position:right top;background-size:auto 180px}.band .band-grid{padding:22px}.cta{padding-top:115px;background-position:right top;background-size:auto 180px}}

/* High-resolution generated motif: one continuous image, no tile seams. */
.visual-capabilities,.band,.cta{background-image:url('images/water-bubbles-ai.png');background-size:cover;background-repeat:no-repeat;background-position:center}
@media(max-width:650px){.visual-capabilities,.band,.cta{background-position:72% center}}

/* Brighter panoramic river, with shade concentrated behind the existing white text. */
.river-hero .river-backdrop{object-position:center 62%}
.river-hero:before{background:linear-gradient(90deg,rgba(3,30,34,.78),rgba(3,30,34,.62) 38%,rgba(3,30,34,.12) 66%,transparent 85%)}
@media(max-width:980px){.river-hero:before{background:linear-gradient(90deg,rgba(3,30,34,.76),rgba(3,30,34,.54) 65%,rgba(3,30,34,.14))}}

/* New air filter: full product visible, including the inspection opening. */
.airfilter-new{background:#eef7fa}.airfilter-new-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,80px)}.airfilter-new figure{margin:0;text-align:center}.airfilter-new img{display:block;width:100%;max-height:640px;object-fit:contain;border-radius:20px}.airfilter-new figcaption{font-size:14px;padding:12px}.airfilter-new .eyebrow{color:#075875}.airfilter-new h2{font-size:clamp(28px,3vw,44px)}@media(max-width:700px){.airfilter-new-grid{grid-template-columns:1fr}.airfilter-new img{max-height:520px}}

/* Centered brand, with navigation in its own row. */
.site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px 20px;padding-top:12px;padding-bottom:10px}.site-header .brand{grid-column:2;grid-row:1;justify-self:center}.site-header .brand img,.site-header .custom-logo{width:215px;height:88px;max-height:88px;object-fit:contain}.site-header .header-contact{grid-column:3;grid-row:1;justify-self:end}.site-header .main-nav{grid-column:1/-1;grid-row:2;justify-self:center}.site-header .main-nav>ul{justify-content:center}.site-header .mobile-toggle{grid-column:3;grid-row:1;justify-self:end}
.social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.social-links a{display:inline-flex;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid currentColor;border-radius:10px}.social-links svg{width:22px;height:22px;flex:none;fill:currentColor}.social-links a:hover{background:#fff;color:#075875}.social-setup-note{font-size:13px;line-height:1.5}
.airfilter-flyer-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start}.airfilter-flyer figure{margin:0}.airfilter-flyer img{width:100%;height:auto;border-radius:12px;box-shadow:0 12px 32px #082f431a}.airfilter-flyer figcaption{padding:15px 0}.airfilter-flyer .table-wrap{overflow-x:auto}.airfilter-flyer table{width:100%;border-collapse:collapse;font-size:15px}.airfilter-flyer th,.airfilter-flyer td{padding:14px 10px;text-align:left;border-bottom:1px solid #bdcfd6}.airfilter-flyer thead{background:#e1eef3}.airfilter-flyer .btn{margin-top:18px}
.job-ad{background:#fff;border:1px solid #d5e4eb;border-radius:18px;padding:clamp(24px,5vw,64px);box-shadow:0 15px 45px #0b354312}.job-ad>h2{color:#075b8e;font-size:clamp(27px,3vw,40px)}.job-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0}.job-facts dt{font-weight:750;color:#075b8e}.job-facts dd{margin:4px 0 0}.job-ad h3{display:flex;gap:16px;align-items:center;margin-top:36px;color:#075b8e}.job-ad h3:after{content:'';height:1px;background:#a9cbdc;flex:1}.job-ad li{margin:10px 0}.job-contact,.job-privacy{font-size:15px}.job-contact a,.job-privacy a{text-decoration:underline;overflow-wrap:anywhere}
@media(max-width:980px){.site-header .header-inner{grid-template-columns:1fr auto 1fr}.site-header .brand img,.site-header .custom-logo{width:185px;height:76px;max-height:76px}.site-header .main-nav{justify-self:stretch}.site-header .header-contact{display:none}.site-header .main-nav>ul{justify-content:flex-start}}
@media(max-width:700px){.airfilter-flyer-grid{grid-template-columns:1fr;gap:28px}.job-facts{grid-template-columns:1fr;gap:18px}.job-ad{padding:24px 20px}.site-header .brand img,.site-header .custom-logo{width:170px;height:70px;max-height:70px}.airfilter-flyer th,.airfilter-flyer td{padding:10px 6px;font-size:13px}}
/* Stronger text contrast on the requested darker, pale-blue surfaces. */
:root{--muted:#38545e}.section-head p,.feature-list span,.breadcrumbs span,.page-lead{color:#38545e}.page-hero .eyebrow{color:#075566}.airfilter-flyer .text-link{color:#075875;text-decoration:underline}

/* Version 11.1: larger left-aligned logo, without header telephone number. */
.site-header .header-inner{grid-template-columns:minmax(0,1fr) auto}.site-header .brand{grid-column:1;grid-row:1;justify-self:start}.site-header .brand img,.site-header .custom-logo{width:250px;height:104px;max-height:104px;object-fit:contain;object-position:left center}.site-header .mobile-toggle{grid-column:2;grid-row:1;justify-self:end}.site-header .main-nav{grid-column:1/-1;grid-row:2}
@media(max-width:980px){.site-header .header-inner{grid-template-columns:minmax(0,1fr) auto}.site-header .brand img,.site-header .custom-logo{width:220px;height:92px;max-height:92px}}
@media(max-width:700px){.site-header .brand img,.site-header .custom-logo{width:205px;height:86px;max-height:86px}}

/* Version 11.2: restore the original logo dimensions, retaining left alignment. */
.site-header .brand img,.site-header .custom-logo{width:205px;height:auto;max-height:76px;object-fit:contain;object-position:left center}
@media(max-width:1100px) and (min-width:981px){.site-header .brand img,.site-header .custom-logo{max-width:185px}}
@media(max-width:650px){.site-header .brand img,.site-header .custom-logo{width:160px;height:auto;max-height:76px}}

/* Version 11.3: compact single-row header. */
.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding-top:6px;padding-bottom:6px}.site-header .brand{flex:0 0 auto}.site-header .brand img,.site-header .custom-logo{display:block;width:205px;height:auto;max-height:64px;object-position:left center}.site-header .main-nav{margin-left:auto;min-width:0}.site-header .main-nav>ul{justify-content:flex-end;gap:20px}.site-header .mobile-toggle{flex:0 0 44px;margin-left:auto}
@media(min-width:981px) and (max-width:1100px){.site-header .header-inner{gap:14px}.site-header .brand img,.site-header .custom-logo{width:175px;max-width:175px}.site-header .main-nav>ul{gap:8px}}
@media(max-width:980px){.site-header .header-inner{min-height:64px;gap:16px;padding-top:6px;padding-bottom:6px}.site-header .brand img,.site-header .custom-logo{width:160px;max-height:52px}.site-header .main-nav,.site-header .main-nav.open{position:absolute;inset:100% 0 auto 0;margin:0;max-height:calc(100dvh - 64px);overflow-y:auto}.site-header .main-nav>ul{justify-content:flex-start}}

/* Version 11.4: cropped wordmark, full image visible without distortion. */
.site-header .brand img{width:188px;height:auto;max-width:188px;max-height:76px;object-fit:contain}.site-header .header-inner{min-height:88px}
@media(max-width:980px){.site-header .brand img{width:128px;max-width:128px;height:auto;max-height:52px}.site-header .header-inner{min-height:64px}}

.airfilter-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.airfilter-gallery figure{margin:0;padding:24px;background:#fff;border:1px solid #c4dbe4;border-radius:18px}.airfilter-gallery img{display:block;width:100%;height:500px;object-fit:contain}.airfilter-gallery figcaption{padding-top:18px;color:#173b4c;text-align:center;font-size:16px}@media(max-width:700px){.airfilter-gallery-grid{grid-template-columns:1fr}.airfilter-gallery figure{padding:16px}.airfilter-gallery img{height:auto;max-height:460px}}
