:root{--blue:#1769c2;--blue-dark:#0d3151;--sky:#e8f3fd;--ink:#142d40;--muted:#627689;--line:#dce7ef;--paper:#fff;--wash:#f4f8fc;--radius:22px;--shadow:0 14px 40px rgba(22,61,91,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Tilda Sans","Trebuchet MS","Segoe UI",Arial,sans-serif;line-height:1.62;letter-spacing:.015em}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{touch-action:manipulation}.site-header{height:82px;padding:0 max(4vw,24px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:16}.brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:800;white-space:nowrap}.brand-logo{width:48px;height:48px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:clamp(12px,1.7vw,26px);font-size:13px;font-weight:700;color:#365167}.main-nav a,.main-nav button{border:0;background:none;color:inherit;padding:10px 0;cursor:pointer}.main-nav a:hover,.main-nav a.active,.main-nav button:hover{color:var(--blue)}.menu-toggle{display:none;border:0;background:transparent;color:var(--blue);font-size:24px}.container{width:min(1160px,90vw);margin:0 auto}.catalog-shade{display:none;position:fixed;inset:82px 0 0;background:#071b2b83;z-index:14}.catalog-shade.open{display:block}.catalog-mega{display:none;position:fixed;z-index:15;top:82px;left:0;right:0;padding:34px max(5vw,24px) 42px;background:#eef5f9;box-shadow:0 20px 40px #092c471a;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.catalog-mega.open{display:grid}.catalog-mega h3{margin:0 0 16px;color:var(--blue-dark);font-size:17px}.catalog-mega section>div{display:grid;gap:10px}.catalog-mega a{color:#365167;font-size:14px}.catalog-mega a:hover{color:var(--blue)}
.hero{min-height:510px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:62px 0 72px}.hero h1,.page-hero h1{max-width:800px;margin:18px 0;font-size:clamp(42px,5.2vw,68px);line-height:1.08;letter-spacing:.005em;color:var(--blue-dark)}.hero p,.page-hero p{max-width:780px;color:var(--muted);font-size:18px}.hero-art{height:365px;display:grid;place-items:center;overflow:hidden;border-radius:32px;background:#eef5f9}.hero-photo{width:100%;height:100%;object-fit:cover}.hero-placeholder{max-width:260px;padding:22px;text-align:center;color:#62829b}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;background:var(--blue);border:1px solid var(--blue);border-radius:999px;color:white;font-size:14px;font-weight:800;cursor:pointer}.button:hover{background:#0e56a4}.section{padding:76px 0}.section.wash{background:var(--wash)}.section-head{max-width:780px;margin:0 auto 38px;text-align:center}.section-head h2,.page-heading h1{margin:10px 0;font-size:clamp(32px,4vw,48px);line-height:1.16;color:var(--blue-dark)}.section-head p,.page-heading p{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature{padding:24px;background:#fff;border:1px solid var(--line);border-radius:18px}.feature-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:19px;border-radius:14px;background:var(--sky);color:var(--blue);font-weight:800}.feature h3,.category-card h3{margin:0;color:var(--blue-dark);font-size:17px}.feature p{margin:8px 0 0;color:var(--muted);font-size:14px}.feature-photo{width:100%;height:120px;object-fit:cover;margin-bottom:18px;border-radius:12px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.category-card{display:flex;flex-direction:column;min-height:310px;padding:25px;border:1px solid var(--line);border-radius:22px;background:#fff;transition:transform .2s,box-shadow .2s}.category-card:hover,.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.category-visual,.product-image{display:grid;place-items:center;overflow:hidden;background:linear-gradient(140deg,#e9f5ff,#d5eafb);border-radius:16px}.category-visual{height:145px;margin-bottom:20px}.category-visual img,.product-image img{width:100%;height:100%;object-fit:cover}.category-symbol{font-size:44px;color:var(--blue)}.category-card p{margin:8px 0 18px;color:var(--muted);font-size:14px}.text-link{margin-top:auto;color:var(--blue);font-size:13px;font-weight:800}.catalog-tools{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.catalog-tools input,.catalog-tools select{padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}.catalog-tools input{flex:1 1 260px}.catalog-tools select{flex:1 1 200px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.product-card{padding:12px;border:1px solid var(--line);border-radius:20px;background:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s}.product-image{height:220px;border-radius:14px}.product-placeholder{color:#5796cb;font-size:12px;font-weight:700}.product-copy{padding:16px 9px 8px}.product-copy h3{margin:0 0 6px;font-size:17px;line-height:1.4;color:var(--blue-dark)}.product-copy p{margin:0;color:var(--muted);font-size:14px}.product-category{display:inline-block;margin-bottom:8px;color:var(--blue);font-size:11px;font-weight:800}.product-price{display:block;margin-top:12px;color:var(--blue-dark);font-size:17px}.empty-state{grid-column:1/-1;padding:42px 20px;text-align:center;border:1px dashed #b7cada;border-radius:18px;color:var(--muted)}
.page-hero{padding:82px 0 76px;background-color:var(--hero-bg,#eaf4fb);background-size:cover;background-position:center}.page-hero h1{font-size:clamp(38px,4.6vw,60px)}.page-hero p{font-size:17px}.content-band{padding:74px 0;background-color:var(--band-bg,#f4f8fc);background-size:cover;background-position:center;color:var(--band-fg,var(--ink))}.content-band.band-white{background-color:#fff}.band-heading{max-width:860px;margin:0 auto 30px}.band-heading h2{margin:0 0 10px;color:inherit;font-size:clamp(30px,3.5vw,44px);line-height:1.2}.band-heading p{margin:0;color:inherit;opacity:.8;font-size:16px}.large-service-list{display:grid;gap:16px}.large-service-card{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:28px 32px;background:#ffffffde;border:1px solid #dce7ef;border-radius:20px}.large-service-card h3{margin:0 0 8px;color:var(--blue-dark);font-size:22px}.large-service-card p{margin:0;color:#536c80;font-size:16px}.section-photo{display:block;width:100%;max-height:320px;object-fit:cover;border-radius:14px}.page-heading{padding:70px 0 26px}.contact-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:stretch}.contact-info{padding:30px;border-radius:22px;background:#fff;border:1px solid var(--line)}.contact-info h2{margin:0 0 8px;color:var(--blue-dark);font-size:30px}.branch{padding:17px 0;border-top:1px solid var(--line)}.branch h3{margin:0 0 8px;font-size:16px;color:var(--blue)}.contact-line{display:block;margin:4px 0;color:#38566b;font-size:14px}.map-frame,.map-empty,.map-link{display:grid;place-items:center;min-height:350px;width:100%;height:100%;border:0;border-radius:22px;background:#e9f3fa;color:#557a96}.map-link{font-weight:800;color:var(--blue)}.site-footer{padding:40px 0 26px;background:#0c2f4d;color:#e8f4ff}.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer-links{display:flex;flex-wrap:wrap;gap:18px;color:#c7dced;font-size:12px}.footer-note{margin:24px 0 0;color:#9db8cf;font-size:11px}.modal{position:fixed;inset:0;z-index:30;display:none;place-items:center;padding:20px;background:#0b223dcc;backdrop-filter:blur(5px)}.modal.open{display:grid}.modal-card{position:relative;width:min(800px,100%);max-height:90vh;overflow:auto;border-radius:24px;background:#fff;box-shadow:0 30px 90px #081c2c55}.modal-close{position:absolute;top:14px;right:14px;z-index:1;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:23px;cursor:pointer}.modal-product-image{height:330px;background:#e9f5ff}.modal-product-image img{width:100%;height:100%;object-fit:contain}.modal-body{padding:28px}.modal-body h2{margin:0 0 10px;color:var(--blue-dark);font-size:30px}.modal-body p{color:#536c80}.modal-contact{padding:18px 20px;margin-top:22px;border-radius:16px;background:var(--wash)}.modal-contact strong{display:block;margin-bottom:8px;color:var(--blue-dark)}.loading{padding:100px;text-align:center;color:var(--muted)}
@media(max-width:900px){.main-nav{gap:12px;font-size:12px}.hero{gap:24px}.grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.contact-section{grid-template-columns:1fr}}
@media(max-width:680px){.site-header{height:68px;padding:0 5vw}.brand-logo{width:40px;height:40px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:68px;padding:14px 5vw 20px;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #1b456115;font-size:14px}.main-nav.open{display:flex}.main-nav a,.main-nav button{text-align:left;padding:8px 0}.catalog-mega{top:68px;max-height:calc(100vh - 68px);overflow:auto;grid-template-columns:1fr;gap:22px}.catalog-shade{inset:68px 0 0}.hero{grid-template-columns:1fr;min-height:0;padding:48px 0}.hero h1{font-size:42px}.hero p,.page-hero p{font-size:16px}.hero-art{height:230px}.section,.content-band{padding:54px 0}.section-head{margin-bottom:26px}.grid{gap:12px}.feature{padding:17px}.category-grid,.product-grid{grid-template-columns:1fr}.category-card{min-height:0}.category-visual{height:130px}.page-hero{padding:56px 0}.page-hero h1{font-size:38px}.large-service-card{padding:22px}.large-service-card h3{font-size:19px}.large-service-card p{font-size:15px}.footer-row{align-items:flex-start;flex-direction:column}.modal{padding:10px}.modal-card{border-radius:20px}.modal-product-image{height:230px}.modal-body{padding:22px}.modal-body h2{font-size:24px}}

.call-button{display:block;width:100%;margin-top:14px;padding:11px 14px;border:0;border-radius:999px;background:#1769c2;color:#fff;font-size:13px;font-weight:800;cursor:pointer}.call-button:hover{background:#0e56a4}

#water-process .large-service-list{grid-template-columns:repeat(4,minmax(0,1fr))}#water-process .large-service-card{min-height:190px;align-content:center;background:#fff}#water-process .large-service-card h3{font-size:18px}@media(max-width:900px){#water-process .large-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){#water-process .large-service-list{grid-template-columns:1fr}}
.content-band.band-white{background-color:var(--band-bg,#fff)}

/* Editable site typography */
body{font-size:var(--font-body,16px)}
.main-nav{font-size:var(--font-nav,24px)}
.brand{font-size:var(--font-brand,36px)}
.catalog-mega h3{font-size:var(--font-catalogTitle,24px)}
.catalog-mega a{font-size:var(--font-catalogLink,20px)}
.section-head h2,.page-heading h1,.band-heading h2{font-size:var(--font-section,32px)}
.product-copy h3{font-size:var(--font-product,19px)}
.footer-links,.footer-note{font-size:var(--font-footer,18px)}

/* Full-width home hero with the image behind its copy */
.hero{position:relative;display:flex;align-items:center;min-height:510px;padding:64px 0;background-color:#123b5c;background-size:cover;background-position:center;color:#fff}
.hero-content{position:relative;z-index:1}
.hero h1,.hero p{color:#fff}
.hero h1{max-width:850px}
.hero p{max-width:700px}

/* Product actions stay aligned whether a price is present or not */
.product-card{display:flex;flex-direction:column;cursor:default}
.product-copy{display:flex;flex:1;flex-direction:column}
.product-card-bottom{display:grid;grid-template-rows:24px 42px;gap:10px;margin-top:auto;padding-top:14px}
.product-price{align-self:end;margin:0;line-height:24px}
.price-empty{visibility:hidden;height:24px}
.call-button{align-self:stretch;margin:0;min-height:42px}
.product-placeholder{display:none}

/* Service pages use steady tile cards */
.content-band--about .large-service-list,.content-band--services .large-service-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.content-band--about .large-service-card,.content-band--services .large-service-card{min-height:245px;align-content:start;padding:26px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 24px #163d5b0b;transition:box-shadow .18s,border-color .18s}
.content-band--about .large-service-card:hover,.content-band--services .large-service-card:hover{transform:none;border-color:#bad7ea;box-shadow:0 14px 30px #163d5b16}

/* Analysis process tiles */
.content-band--process .band-heading{color:var(--ink)}
.content-band--process .large-service-card{position:relative;display:flex;align-items:center;min-height:280px;padding:26px;background-color:#16364d;background-image:linear-gradient(145deg,#0b223cbb,#061827bf);background-size:cover;background-position:center;border:0;border-radius:18px;color:#fff;overflow:hidden}
.content-band--process .large-service-card>div{position:relative;z-index:1}
.content-band--process .large-service-card h3,.content-band--process .large-service-card p{color:#fff}
.content-band--process .large-service-card p{opacity:.9}
.tile-action{display:inline-flex;align-items:center;min-height:42px;margin-top:18px;padding:0 18px;border:1px solid #ffffffa8;border-radius:999px;background:#ffffff18;color:#fff;font-size:14px;font-weight:800;opacity:0;transform:translateY(6px);transition:opacity .18s,transform .18s}
.process-tile:hover .tile-action,.process-tile:focus-within .tile-action{opacity:1;transform:none}

/* Contacts and map */
.site-contacts{padding:68px 0;background:#0b2d49;color:#edf6fd;scroll-margin-top:82px}
.contact-group+.contact-group{margin-top:48px}
.contact-group h2{margin:0 0 22px;color:#fff;font-size:var(--font-section,32px)}
.contact-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.contact-tile{min-height:150px;padding:22px;border:1px solid #ffffff24;border-radius:16px;background:#ffffff0d;color:#eaf5fc}
.contact-tile h3{margin:0 0 8px;color:#fff;font-size:var(--font-footer,18px)}
.contact-tile p{margin:0 0 12px;color:#bdd2e2;font-size:15px}
.contact-value{margin:10px 0;color:#fff;font-size:18px;font-weight:800;overflow-wrap:anywhere}
.copy-button{padding:7px 12px;border:1px solid #ffffff55;border-radius:999px;background:transparent;color:#eaf5fc;font-size:13px;cursor:pointer}
.copy-button:hover{background:#ffffff18}
.contact-line{color:#d8e9f5;font-size:15px}
.contact-empty{padding:18px;border:1px dashed #ffffff50;border-radius:14px;color:#bdd2e2}
.contact-map{margin-top:22px;min-height:300px}
.contact-map .map-frame,.contact-map .map-empty,.contact-map .map-link{min-height:340px;border-radius:16px}
.site-footer{padding:30px 0 26px;background:#071f33;color:#eaf5fc}
.footer-links{gap:16px 26px;color:#d5e7f4}
.footer-note{margin-top:22px;color:#a9c2d6}

@media(max-width:1100px){.site-header{gap:16px}.main-nav{gap:12px;font-size:clamp(15px,var(--font-nav,24px),19px)}.brand{font-size:clamp(20px,var(--font-brand,36px),28px)}.content-band--about .large-service-list,.content-band--services .large-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.main-nav{display:none;position:absolute;left:0;right:0;top:82px;padding:14px 5vw 20px;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #1b456115}.main-nav.open{display:flex}.menu-toggle{display:block}.main-nav a,.main-nav button{text-align:left;padding:8px 0;font-size:18px}.catalog-mega{top:82px;max-height:calc(100vh - 82px);overflow:auto}.catalog-mega h3{font-size:22px}.catalog-mega a{font-size:18px}.catalog-shade{inset:82px 0 0}}
@media(max-width:680px){.site-header{height:68px}.main-nav{top:68px}.catalog-mega{top:68px;max-height:calc(100vh - 68px)}.catalog-shade{inset:68px 0 0}.brand{font-size:clamp(20px,var(--font-brand,36px),25px)}.hero{min-height:430px;padding:52px 0}.hero h1{font-size:clamp(36px,10vw,48px)}.content-band--about .large-service-list,.content-band--services .large-service-list{grid-template-columns:1fr}.content-band--process .large-service-list{grid-template-columns:1fr}.content-band--process .large-service-card{min-height:220px}.tile-action{opacity:1;transform:none}.site-contacts{padding:52px 0}.contact-group h2{font-size:28px}.contact-map .map-frame,.contact-map .map-empty,.contact-map .map-link{min-height:260px}}
.section-head p,.page-heading p,.feature p,.category-card p,.text-link,.product-copy p,.product-category,.page-hero p,.band-heading p,.large-service-card p,.contact-line,.contact-tile p{font-size:var(--font-body,16px)}
/* Final layout and content tweaks */
.main-nav #catalog-toggle::after{content:none}
.site-contacts{background:#f4f8fc;color:#18364e}
.contact-group h2{color:#123653}
.contact-tile{background:#fff;border:1px solid #dce7ef;color:#18364e;box-shadow:0 8px 24px #163d5b0b}
.contact-tile h3,.contact-value{color:#123653}
.contact-tile p,.contact-line,.contact-empty{color:#526b7f}
.contact-empty{border-color:#bfd0dd}
.copy-button{border-color:#9bb8cd;color:#1769c2}
.copy-button:hover{background:#eaf4fd}
.contact-map .map-empty{background:#e5f0f7}
/* Analysis tiles use fixed grids and a dark image overlay */
.content-band--analysis:not(.content-band--process) .large-service-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.content-band--analysis:not(.content-band--process) .large-service-card{min-height:220px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 24px #163d5b0b}
#water-process .large-service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.content-band--process#water-process .large-service-card{min-height:280px;background:#102b40;background-image:linear-gradient(145deg,#0b223cbb,#061827bf);background-size:cover;background-position:center;color:#fff}
.content-band--process#water-process .large-service-card h3,.content-band--process#water-process .large-service-card p{color:#fff}
.service-card-image{display:block;width:100%;max-height:140px;margin:0 0 16px;border-radius:12px;object-fit:cover}
.service-card-content{width:100%;min-width:0}
/* Explicit line breaks entered in the editor are honored on the site */
.hero h1,.page-hero h1,.section-head h2,.band-heading h2,.feature h3,.category-card h3,.product-copy h3,.large-service-card h3,.product-copy p,.feature p,.category-card p,.page-hero p,.band-heading p{white-space:pre-line}
@media(max-width:900px){.content-band--analysis:not(.content-band--process) .large-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.content-band--analysis:not(.content-band--process) .large-service-list,#water-process .large-service-list{grid-template-columns:1fr}}

.content-band .large-service-card.has-background{position:relative;overflow:hidden;background-color:#102b40;color:#fff;border-color:transparent}
.large-service-card.has-background .tile-background{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center}
.large-service-card.has-background::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(145deg,#0b223c55,#06182766);pointer-events:none}
.large-service-card.has-background .service-card-content{position:relative;z-index:2}
.large-service-card.has-background h3,.large-service-card.has-background p{color:#fff}
.large-service-card.has-background p{opacity:.98}
.large-service-card.has-background .tile-action{border-color:#ffffffc7;background:#ffffff20;color:#fff}

.contact-list-group{margin-top:14px}.contact-list-group h4{margin:0 0 6px;color:#526b7f;font-size:var(--font-body,16px);font-weight:700}.contact-list-group .contact-line{overflow-wrap:anywhere}

.hero.has-background{overflow:hidden}.hero-background{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero.has-background::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#09273dcc,#09273d45);pointer-events:none}.hero-content{position:relative;z-index:2}

.page-hero.has-background{position:relative;isolation:isolate;overflow:hidden}.page-hero-background{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}.page-hero.has-background::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ffffffa8,#ffffff36);pointer-events:none}.page-hero.has-background .container{position:relative;z-index:0}.address-entries{display:grid;gap:24px}.address-entry{display:grid;gap:16px}.address-entry .contact-map{margin-top:0}
