*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--ink:#252a2f;--muted:#66727c;--line:#dfe5e9;--blue:#1d86bd;--blue-dark:#15658f;--blue-soft:#e9f5fb;--paper:#fff;--bg:#f4f6f7;--shadow:0 18px 44px rgba(28,44,55,.12);--radius:18px}body{margin:0;font-family:Arial,"Helvetica Neue",sans-serif;background:var(--bg);color:var(--ink);line-height:1.65}a{color:var(--blue-dark);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px}.utility-bar{display:flex;justify-content:space-between;gap:18px;padding:8px clamp(18px,5vw,72px);background:#242a2f;color:#fff;font-size:.88rem}.utility-bar>div{display:flex;gap:18px}.utility-bar a{color:#fff}.site-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:13px clamp(18px,5vw,72px);background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(22,36,46,.06)}.brand{width:min(410px,42vw)}.brand img{width:100%;height:82px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;gap:5px}.main-nav>a,.nav-group-toggle{display:block;padding:11px 12px;border:0;background:transparent;color:#3d444a;font:inherit;font-weight:700;cursor:pointer}.main-nav>a:hover,.nav-group-toggle:hover{text-decoration:none;color:var(--blue-dark);background:var(--blue-soft);border-radius:10px}.nav-portal{background:var(--blue)!important;color:#fff!important;border-radius:999px!important;padding-inline:18px!important}.nav-group{position:relative}.nav-dropdown{display:none;position:absolute;top:100%;left:0;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px}.nav-group:hover .nav-dropdown,.nav-group.open .nav-dropdown{display:grid}.nav-dropdown a{padding:10px 12px;color:var(--ink);border-radius:8px}.nav-dropdown a:hover{background:var(--blue-soft);text-decoration:none}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 14px;font-weight:700}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);align-items:center;gap:50px;min-height:520px;padding:70px clamp(18px,6vw,92px);background:linear-gradient(120deg,#edf8fd 0%,#fff 58%,#eef1f3 100%);border-bottom:1px solid var(--line)}.hero-copy h1,.page-hero h1,.simple-page-hero h1{font-size:clamp(2.5rem,5vw,5rem);line-height:1.02;letter-spacing:-.055em;margin:12px 0 18px}.hero-copy p,.page-hero p,.simple-page-hero p{font-size:1.16rem;color:var(--muted);max-width:720px}.hero-art{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:34px;text-align:center}.hero-art img{width:100%;max-height:260px;object-fit:contain}.hero-art span{display:block;margin-top:12px;color:var(--muted);font-weight:700}.eyebrow,.card-kicker{display:block;color:var(--blue-dark);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:999px;font-weight:800;border:1px solid transparent;text-decoration:none!important}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue-dark)}.btn.secondary,.btn.light{background:#fff;color:var(--ink);border-color:#ccd5da}.account-strip{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:32px clamp(18px,5vw,72px);background:#fff}.account-strip article{display:grid;grid-template-columns:210px 1fr;gap:22px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(28,44,55,.07)}.account-strip img{width:100%;height:145px;object-fit:cover;border-radius:12px}.account-strip h2{margin:2px 0 6px}.account-strip p{margin:0 0 8px;color:var(--muted)}.text-link{font-weight:800}.section{padding:72px clamp(18px,5vw,72px)}.intro-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.65fr);gap:48px;align-items:start}.intro-section h2,.section-heading h2,.pure-water-feature h2,.cta-section h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;letter-spacing:-.04em;margin:10px 0 16px}.intro-section>div>p,.section-heading p,.pure-water-feature p{font-size:1.08rem;color:var(--muted)}.feature-panel,.side-card,.content-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px rgba(28,44,55,.07)}.feature-panel{padding:28px}.feature-panel h3,.side-card h2{margin-top:0}.check-list{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}.check-list li{position:relative;padding-left:28px}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}.services-section{background:#eef2f4}.section-heading{max-width:800px;margin-bottom:30px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px rgba(28,44,55,.08);color:var(--ink);transition:.18s transform,.18s box-shadow}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);text-decoration:none}.service-card img{width:100%;height:235px;object-fit:cover}.service-card>div{padding:22px}.service-card h3{font-size:1.35rem;margin:0 0 8px}.service-card p{color:var(--muted);margin:0 0 14px}.service-card span{font-weight:800;color:var(--blue-dark)}.pure-water-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding:60px clamp(18px,6vw,92px);background:#fff}.water-image{background:#fff}.water-image img{width:100%;max-height:430px;object-fit:contain}.cta-section{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#1f2b33;color:#fff}.cta-section .eyebrow{color:#72cef4}.cta-section p{color:#d8e0e5}.page-hero{display:grid;grid-template-columns:1fr minmax(300px,.65fr);align-items:center;gap:40px;padding:55px clamp(18px,6vw,92px);background:#eaf5fa;border-bottom:1px solid var(--line)}.page-hero img{width:100%;height:330px;object-fit:cover;border-radius:20px;box-shadow:var(--shadow)}.breadcrumb{display:inline-block;margin-bottom:22px;font-weight:800}.simple-page-hero{padding:60px clamp(18px,6vw,92px);background:linear-gradient(120deg,#edf8fd,#fff);border-bottom:1px solid var(--line)}.simple-page-hero h1{font-size:clamp(2.4rem,5vw,4.4rem)}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px;align-items:start}.content-card{padding:clamp(24px,4vw,46px)}.side-card{padding:26px;position:sticky;top:130px}.side-card .btn{width:100%;margin-top:10px}.prose{font-size:1.04rem}.prose .lead{font-size:1.2rem;color:#45515a}.prose h2{font-size:2rem;margin:36px 0 12px;line-height:1.15}.prose h3{font-size:1.35rem;margin:28px 0 8px}.prose p{margin:0 0 18px}.prose ul,.prose ol{padding-left:24px;margin:0 0 20px}.prose li{margin:7px 0}.page-shell{max-width:1050px;margin:auto}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.gallery-grid img{width:100%;height:250px;object-fit:cover;border-radius:14px}.site-footer{background:#20272c;color:#d8e0e4;padding:46px clamp(18px,5vw,72px) 20px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:38px}.footer-grid h3{color:#fff;margin-top:0}.footer-grid a{display:block;color:#d8e0e4;margin:7px 0}.footer-logo{background:#fff;border-radius:12px;padding:8px;max-width:310px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:35px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}.footer-bottom a{color:#fff}@media(max-width:1050px){.main-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:12px 18px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.main-nav.open{display:grid}.menu-toggle{display:block}.nav-dropdown{position:static;box-shadow:none;border:0;padding-left:14px}.nav-group:hover .nav-dropdown{display:none}.nav-group.open .nav-dropdown{display:grid}.main-nav>a,.nav-group-toggle{text-align:left;width:100%}.brand{width:min(360px,68vw)}.home-hero,.intro-section,.page-hero,.content-layout{grid-template-columns:1fr}.account-strip{grid-template-columns:1fr}.side-card{position:static}.footer-grid{grid-template-columns:1fr 1fr}.pure-water-feature{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.utility-bar{display:none}.site-header{padding:8px 14px}.brand img{height:62px}.home-hero{padding:44px 18px;grid-template-columns:1fr}.hero-copy h1{font-size:2.65rem}.hero-art{padding:18px}.account-strip{padding:18px}.account-strip article{grid-template-columns:1fr}.account-strip img{height:180px}.section{padding:50px 18px}.service-grid,.gallery-grid{grid-template-columns:1fr}.pure-water-feature{padding:50px 18px}.cta-section{display:block}.content-card{padding:24px}.page-hero,.simple-page-hero{padding:42px 18px}.page-hero img{height:250px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.btn{width:100%}}

.before-after-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.before-after-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(28,44,55,.08)}.before-after-photos{display:grid;grid-template-columns:1fr 1fr}.before-after-photos a{position:relative}.before-after-photos img{width:100%;height:280px;object-fit:cover}.before-after-photos span{position:absolute;left:10px;top:10px;background:rgba(31,43,51,.82);color:#fff;padding:5px 10px;border-radius:999px;font-size:.76rem;font-weight:800}.before-after-body{padding:22px}.before-after-body h2{margin:0 0 8px}@media(max-width:800px){.before-after-grid{grid-template-columns:1fr}}@media(max-width:500px){.before-after-photos img{height:190px}}
.notice-section{background:#fff}.notice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.notice-grid .content-card{padding:24px}.notice-grid h3{margin-top:0}@media(max-width:850px){.notice-grid{grid-template-columns:1fr}}
.request-service-hero{text-align:center}.request-service-hero p{margin-inline:auto}.request-choice-section{max-width:1180px;margin:auto}.request-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.request-choice-card{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(26px,4vw,42px);background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.request-choice-card h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.08;margin:10px 0 14px}.request-choice-card p{color:var(--muted);font-size:1.06rem}.request-choice-card .choice-note{padding:14px 16px;border-radius:12px;background:var(--blue-soft);color:var(--ink);width:100%}.choice-label{display:inline-block;padding:6px 11px;border-radius:999px;background:#e7f5fb;color:var(--blue-dark);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.new-customer-card .choice-label{background:#eef1f3;color:#46515a}.request-choice-card .btn{width:100%;margin-top:10px}.request-choice-card .choice-note+.btn{margin-top:auto}@media(max-width:760px){.request-choice-grid{grid-template-columns:1fr}}

/* Structured page builder blocks - v1.0.0 update6 */
.block-page-shell{display:grid;gap:1.25rem}
.content-block{min-width:0}
.block-rich-text,.block-callout,.block-checklist,.block-image-text{background:#fff;border:1px solid var(--line,#dfe5eb);border-radius:18px;padding:clamp(1.25rem,2vw,2rem);box-shadow:0 12px 30px rgba(15,23,42,.06)}
.block-heading{padding:.25rem 0}
.block-heading h2,.block-heading h3,.block-heading h4{margin:0}
.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}
.block-image{margin:0 auto;text-align:center}
.block-image img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 12px 30px rgba(15,23,42,.10)}
.block-image figcaption{margin-top:.65rem;color:#607086;font-size:.92rem}
.block-image.size-small{max-width:420px}.block-image.size-medium{max-width:720px}.block-image.size-large{max-width:1050px}.block-image.size-full{max-width:none}
.block-image.align-left{margin-left:0}.block-image.align-right{margin-right:0}
.block-image-text{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.15fr);gap:clamp(1.2rem,3vw,2.5rem);align-items:center}
.block-image-text.image-right .block-image-text-media{order:2}
.block-image-text-media img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:14px}
.block-image-text-copy h2{margin-top:0}
.block-buttons{display:flex;flex-wrap:wrap;gap:.75rem}
.block-buttons.align-center{justify-content:center}.block-buttons.align-right{justify-content:flex-end}
.block-callout{border-left:6px solid #2b7bbb}
.block-callout.callout-success{border-left-color:#1d8f5a;background:#f2fbf6}
.block-callout.callout-warning{border-left-color:#d39018;background:#fff9eb}
.block-callout.callout-neutral{border-left-color:#77869a;background:#f7f9fb}
.block-callout h2,.block-checklist h2,.block-gallery h2{margin-top:0}
.block-checklist .check-list{margin-bottom:0}
.block-gallery{display:grid;gap:1rem}
.block-gallery .gallery-grid{margin:0}
.block-divider{height:1px;background:#d9e2ec;margin:1rem 0}
.block-divider.divider-dots{height:auto;background:none;border-top:4px dotted #c8d2df}
.block-divider.divider-none{background:none}
.block-spacer.spacer-small{height:1rem}.block-spacer.spacer-medium{height:2.5rem}.block-spacer.spacer-large{height:5rem}
.page-layout-wide .page-shell{max-width:1500px}
.page-layout-landing .simple-page-hero{padding-bottom:1.25rem}
.custom-home-section .content-block+ .content-block{margin-top:1.2rem}

@media (max-width:760px){
  .block-image-text{grid-template-columns:1fr}
  .block-image-text.image-right .block-image-text-media{order:0}
  .block-buttons,.block-buttons.align-right,.block-buttons.align-center{justify-content:stretch}
  .block-buttons .btn{width:100%;text-align:center}
  .block-spacer.spacer-large{height:2.5rem}
}


/* Flexible image display controls - v1.0.0 update9 */
.img-fit-cover{object-fit:cover!important}.img-fit-contain{object-fit:contain!important}
.img-pos-center{object-position:center center!important;background-position:center center!important}.img-pos-top{object-position:center top!important;background-position:center top!important}.img-pos-bottom{object-position:center bottom!important;background-position:center bottom!important}.img-pos-left{object-position:left center!important;background-position:left center!important}.img-pos-right{object-position:right center!important;background-position:right center!important}
.img-pos-top-left{object-position:left top!important;background-position:left top!important}.img-pos-top-right{object-position:right top!important;background-position:right top!important}.img-pos-bottom-left{object-position:left bottom!important;background-position:left bottom!important}.img-pos-bottom-right{object-position:right bottom!important;background-position:right bottom!important}
img.img-height-auto{height:auto!important}img.img-height-small{height:180px!important}img.img-height-medium{height:280px!important}img.img-height-large{height:420px!important}img.img-height-tall{height:560px!important}img.img-height-screen{height:min(78vh,760px)!important}
.img-shape-square{border-radius:0!important}.img-shape-soft{border-radius:8px!important}.img-shape-rounded{border-radius:18px!important}.img-shape-circle{border-radius:999px!important}
.img-shadow-none{box-shadow:none!important}.img-shadow-soft{box-shadow:0 12px 30px rgba(15,23,42,.10)!important}.img-shadow-strong{box-shadow:0 22px 55px rgba(15,23,42,.22)!important}
.img-aspect-landscape img,.img-aspect-landscape>a,.img-aspect-landscape a img{aspect-ratio:16/9}.img-aspect-wide img,.img-aspect-wide>a,.img-aspect-wide a img{aspect-ratio:21/9}.img-aspect-square img,.img-aspect-square>a,.img-aspect-square a img{aspect-ratio:1/1}.img-aspect-portrait img,.img-aspect-portrait>a,.img-aspect-portrait a img{aspect-ratio:4/5}
.img-aspect-landscape img,.img-aspect-wide img,.img-aspect-square img,.img-aspect-portrait img{width:100%;height:100%}

/* Header and footer logo controls */
.brand{overflow:hidden}.brand.logo-height-small img{height:54px}.brand.logo-height-medium img{height:82px}.brand.logo-height-large img{height:112px}
.brand.logo-fit-contain img,.footer-logo.logo-fit-contain{object-fit:contain}.brand.logo-fit-cover img,.footer-logo.logo-fit-cover{object-fit:cover}
.logo-bg-transparent{background:transparent!important}.logo-bg-white{background:#fff!important}.logo-bg-soft{background:var(--blue-soft)!important}
.footer-logo{width:100%;height:110px}.footer-logo-width-small{max-width:190px}.footer-logo-width-medium{max-width:310px}.footer-logo-width-large{max-width:440px}

.overlay-light{color:var(--ink)!important}.overlay-light .eyebrow,.overlay-light p,.overlay-light a{color:inherit}.overlay-dark,.overlay-darker{color:#fff}

/* Homepage hero layouts */
.home-hero{position:relative;overflow:hidden;background-size:cover;background-repeat:no-repeat}
.home-hero.hero-text-center .hero-copy{text-align:center;margin-inline:auto}.home-hero.hero-text-center .button-row{justify-content:center}
.home-hero.hero-layout-card-left .hero-art{order:-1}
.home-hero.hero-layout-full-width{grid-template-columns:1fr;gap:30px}.home-hero.hero-layout-full-width .hero-copy{max-width:950px}.home-hero.hero-layout-full-width .hero-art{width:100%;max-width:none;padding:0;overflow:hidden}.home-hero.hero-layout-full-width .hero-art img{max-height:none;height:100%;border-radius:22px}
.home-hero.hero-layout-background{display:flex;align-items:center;min-height:520px;color:#fff;background-position:center center}
.home-hero.hero-layout-background .hero-copy{position:relative;z-index:1;max-width:850px}.home-hero.hero-layout-background .eyebrow,.home-hero.hero-layout-background p{color:inherit}.home-hero.hero-layout-background .btn.secondary{background:rgba(255,255,255,.94)}
.home-hero.hero-layout-no-image{grid-template-columns:1fr}.home-hero.hero-layout-no-image .hero-copy{max-width:900px}
.home-hero.img-height-small{min-height:380px}.home-hero.img-height-medium{min-height:520px}.home-hero.img-height-large{min-height:650px}.home-hero.img-height-tall{min-height:760px}.home-hero.img-height-screen{min-height:min(90vh,900px)}
.hero-art{overflow:hidden}.hero-art.img-height-small{min-height:180px}.hero-art.img-height-medium{min-height:280px}.hero-art.img-height-large{min-height:420px}.hero-art.img-height-tall{min-height:560px}.hero-art.img-height-screen{min-height:min(78vh,760px)}
.hero-art img{height:100%;max-height:none}

/* Customer portal and payment card image layouts */
.account-strip article.account-card{position:relative;overflow:hidden}
.account-layout-right article{grid-template-columns:1fr 210px}.account-layout-right article>img{order:2}
.account-layout-top article{grid-template-columns:1fr}.account-layout-top article>img{width:100%}
.account-layout-background article{display:flex;min-height:250px;align-items:flex-end;background-size:cover;background-position:center;color:#fff}
.account-layout-background article>div{position:relative;z-index:1;padding:18px}.account-layout-background .card-kicker,.account-layout-background p,.account-layout-background a{color:inherit}
.account-layout-hidden article{grid-template-columns:1fr}
.account-layout-background article.img-height-small{min-height:190px}.account-layout-background article.img-height-medium{min-height:250px}.account-layout-background article.img-height-large{min-height:340px}.account-layout-background article.img-height-tall{min-height:440px}
.account-strip img.img-height-small{height:100px!important}.account-strip img.img-height-medium{height:145px!important}.account-strip img.img-height-large{height:210px!important}.account-strip img.img-height-tall{height:280px!important}
.account-strip article.img-shape-square{border-radius:0}.account-strip article.img-shape-soft{border-radius:10px}.account-strip article.img-shape-rounded{border-radius:18px}

/* Service-card and feature images */
.service-card-height-small img{height:170px}.service-card-height-medium img{height:235px}.service-card-height-large img{height:320px}
.service-card.img-shape-square{border-radius:0}.service-card.img-shape-soft{border-radius:10px}.service-card.img-shape-rounded{border-radius:18px}
.pure-water-feature{position:relative;overflow:hidden;background-size:cover;background-position:center}
.pure-water-feature.pure-layout-right .water-image{order:2}.pure-water-feature.pure-layout-hidden{grid-template-columns:1fr}.pure-water-feature.pure-layout-background{display:flex;min-height:520px;color:#fff}.pure-water-feature.pure-layout-background .pure-water-copy{position:relative;z-index:1;max-width:760px}.pure-water-feature.pure-layout-background p,.pure-water-feature.pure-layout-background .eyebrow{color:inherit}
.water-image{overflow:hidden}.water-image img{max-height:none}

/* Page and service hero image layouts */
.page-hero{position:relative;overflow:hidden;background-size:cover;background-position:center}
.page-hero.hero-layout-left img{order:-1}.page-hero.hero-layout-full-width{grid-template-columns:1fr}.page-hero.hero-layout-full-width img{width:100%}.page-hero.hero-layout-background{display:flex;align-items:center;color:#fff;min-height:420px}.page-hero.hero-layout-background .page-hero-copy{position:relative;z-index:1;max-width:850px}.page-hero.hero-layout-background p,.page-hero.hero-layout-background .eyebrow,.page-hero.hero-layout-background .breadcrumb{color:inherit}
.page-hero.hero-layout-hidden,.content-page-hero.hero-layout-none{grid-template-columns:1fr}
.page-hero.img-height-small{min-height:250px}.page-hero.img-height-medium{min-height:380px}.page-hero.img-height-large{min-height:520px}.page-hero.img-height-tall{min-height:650px}.page-hero.img-height-screen{min-height:min(82vh,800px)}
.page-hero img{width:100%;min-height:220px;max-height:none}.page-hero.img-height-small img{height:250px}.page-hero.img-height-medium img{height:380px}.page-hero.img-height-large img{height:520px}.page-hero.img-height-tall img{height:650px}.page-hero.img-height-screen img{height:min(82vh,800px)}

/* Structured block image controls */
.block-image{overflow:hidden}.block-image img{max-height:none}
.block-image.img-aspect-auto img{height:auto}
.block-image.img-aspect-landscape img{aspect-ratio:16/9}.block-image.img-aspect-wide img{aspect-ratio:21/9}.block-image.img-aspect-square img{aspect-ratio:1/1}.block-image.img-aspect-portrait img{aspect-ratio:4/5}
.block-image.img-shape-square img{border-radius:0}.block-image.img-shape-soft img{border-radius:8px}.block-image.img-shape-rounded img{border-radius:18px}.block-image.img-shape-circle img{border-radius:999px}
.block-image-text.valign-top{align-items:start}.block-image-text.valign-center{align-items:center}.block-image-text.valign-bottom{align-items:end}
.block-image-text-media{overflow:hidden}.block-image-text-media.img-aspect-landscape{aspect-ratio:16/9}.block-image-text-media.img-aspect-wide{aspect-ratio:21/9}.block-image-text-media.img-aspect-square{aspect-ratio:1/1}.block-image-text-media.img-aspect-portrait{aspect-ratio:4/5}.block-image-text-media.img-aspect-auto{aspect-ratio:auto}
.block-image-text-media img{width:100%;height:100%;max-height:none}.block-image-text-media.img-aspect-auto img{height:auto}
.block-image-text-media.img-shape-square,.block-image-text-media.img-shape-square img{border-radius:0}.block-image-text-media.img-shape-soft,.block-image-text-media.img-shape-soft img{border-radius:8px}.block-image-text-media.img-shape-rounded,.block-image-text-media.img-shape-rounded img{border-radius:14px}.block-image-text-media.img-shape-circle,.block-image-text-media.img-shape-circle img{border-radius:999px}

/* Gallery controls */
.gallery-grid.gallery-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid.gallery-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid.gallery-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gallery-grid.gallery-gap-compact{gap:6px}.gallery-grid.gallery-gap-normal{gap:15px}.gallery-grid.gallery-gap-wide{gap:28px}
.gallery-grid a{display:block;overflow:hidden}.gallery-grid.img-aspect-landscape a{aspect-ratio:16/9}.gallery-grid.img-aspect-wide a{aspect-ratio:21/9}.gallery-grid.img-aspect-square a{aspect-ratio:1/1}.gallery-grid.img-aspect-portrait a{aspect-ratio:4/5}.gallery-grid.img-aspect-auto a{aspect-ratio:auto}
.gallery-grid a img{display:block;width:100%;height:100%}.gallery-grid.img-aspect-auto a img{height:auto}
.gallery-grid.img-shape-square a,.gallery-grid.img-shape-square img{border-radius:0}.gallery-grid.img-shape-soft a,.gallery-grid.img-shape-soft img{border-radius:8px}.gallery-grid.img-shape-rounded a,.gallery-grid.img-shape-rounded img{border-radius:14px}.gallery-grid.img-shape-circle a,.gallery-grid.img-shape-circle img{border-radius:999px}

/* Before-and-after display controls */
.before-after-card.img-height-small .before-after-photos img{height:190px}.before-after-card.img-height-medium .before-after-photos img{height:280px}.before-after-card.img-height-large .before-after-photos img{height:380px}.before-after-card.img-height-tall .before-after-photos img{height:500px}
.before-after-card.img-shape-square{border-radius:0}.before-after-card.img-shape-soft{border-radius:8px}.before-after-card.img-shape-rounded{border-radius:18px}

@media(max-width:1050px){
  .gallery-grid.gallery-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .brand.logo-height-small img{height:48px}.brand.logo-height-medium img{height:62px}.brand.logo-height-large img{height:78px}
  .home-hero.hero-layout-background,.page-hero.hero-layout-background,.pure-water-feature.pure-layout-background{min-height:420px}
  .home-hero.hero-layout-card-left .hero-art{order:0}
  .account-layout-right article,.account-layout-left article{grid-template-columns:1fr}.account-layout-right article>img{order:0}
  .gallery-grid.gallery-columns-2,.gallery-grid.gallery-columns-3,.gallery-grid.gallery-columns-4{grid-template-columns:1fr}
  .page-hero.hero-layout-left img{order:0}
  img.img-height-screen{height:520px!important}
}


/* update11: full-site text and box styling */
h1,h2,h3,h4,h5,h6{color:var(--heading)}
a{color:var(--link)}
.main-nav>a,.nav-group-toggle,.nav-dropdown a{color:var(--ink)}
.hero-copy p,.page-hero p,.simple-page-hero p,.account-strip p,.intro-section>div>p,.section-heading p,.pure-water-feature p,.service-card p,.request-choice-card p,.prose .lead{color:var(--muted)}
.utility-bar,.site-footer,.cta-section,.home-hero.hero-layout-background,.page-hero.hero-layout-background,.pure-water-feature.pure-layout-background,.account-layout-background article{color:var(--on-dark)}
.utility-bar a,.site-footer a,.site-footer h3,.cta-section h2,.cta-section .eyebrow,.home-hero.hero-layout-background h1,.home-hero.hero-layout-background .eyebrow,.home-hero.hero-layout-background p,.page-hero.hero-layout-background h1,.page-hero.hero-layout-background p,.page-hero.hero-layout-background .eyebrow,.page-hero.hero-layout-background .breadcrumb,.pure-water-feature.pure-layout-background h2,.pure-water-feature.pure-layout-background p,.pure-water-feature.pure-layout-background .eyebrow,.account-layout-background article h2,.account-layout-background article .card-kicker,.account-layout-background article p,.account-layout-background article a{color:var(--on-dark)}
.hero-art,.account-strip article,.feature-panel,.side-card,.content-card,.service-card,.request-choice-card,.block-rich-text,.block-callout,.block-checklist,.block-image-text,.before-after-card{background:var(--card-bg);color:var(--card-text);border-color:var(--box-border);border-radius:var(--radius);box-shadow:var(--box-shadow)}
.hero-art,.feature-panel,.side-card,.content-card,.request-choice-card,.block-rich-text,.block-callout,.block-checklist,.block-image-text{padding:var(--box-pad)}
.service-card>div,.before-after-body{padding:var(--box-pad)}
.account-strip article{grid-template-columns:var(--account-image-width) minmax(0,1fr);min-height:var(--account-card-min-height);padding:var(--box-pad)}
.account-layout-right article{grid-template-columns:minmax(0,1fr) var(--account-image-width)}
.account-layout-top article,.account-layout-hidden article{grid-template-columns:1fr}
.account-strip article>div{min-width:0;align-self:center}.account-strip h2{color:var(--heading)}.account-strip .text-link{color:var(--link)}
.account-strip article.account-card.img-height-small,.account-strip article.account-card.img-height-medium,.account-strip article.account-card.img-height-large,.account-strip article.account-card.img-height-tall{height:auto!important}
.account-layout-background article.account-card.img-height-small{min-height:190px}.account-layout-background article.account-card.img-height-medium{min-height:250px}.account-layout-background article.account-card.img-height-large{min-height:340px}.account-layout-background article.account-card.img-height-tall{min-height:440px}
@media(max-width:680px){.account-strip article{min-height:0}.account-layout-right article,.account-layout-left article{grid-template-columns:1fr}}

/* update12: typography, full-site box sizing, and editable portal/payment boxes */
body{font-family:var(--font-body);font-size:var(--body-size);line-height:var(--body-line-height)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--heading-weight)}
.hero-copy h1,.simple-page-hero h1{font-size:clamp(var(--hero-heading-min),5vw,var(--hero-heading-max))}
.intro-section h2,.section-heading h2,.cta-section h2,.pure-water-feature h2{font-size:clamp(var(--section-heading-min),3.7vw,var(--section-heading-max))}
.btn.primary{background:var(--button-bg);color:var(--button-text);border-color:var(--button-bg)}
.btn.primary:hover{filter:brightness(.92);color:var(--button-text);text-decoration:none}

.section,.pure-water-feature,.cta-section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.account-strip,.service-grid,.before-after-grid,.request-choice-grid,.gallery-grid,.block-page-shell{gap:var(--box-gap)}
.account-strip article,.service-card,.feature-panel,.request-choice-card,.block-rich-text,.block-callout,.block-checklist,.block-image-text,.before-after-card{min-height:var(--box-min-height)}

.account-strip article{background:var(--account-bg);color:var(--account-text);padding:var(--account-pad);min-height:max(var(--account-card-min-height),var(--box-min-height))}
.account-strip h2{color:var(--account-heading)}
.account-strip p,.account-strip .card-kicker{color:var(--account-text)}
.account-strip .text-link{color:var(--account-link)}
.account-grid-stacked{grid-template-columns:1fr}
.account-text-center article>div{text-align:center}
.account-text-center article>div .text-link{display:inline-block}
.account-layout-background article{color:var(--on-dark);background-color:var(--account-bg)}
.account-layout-background article h2,.account-layout-background article .card-kicker,.account-layout-background article p,.account-layout-background article a{color:var(--on-dark)}

@media(max-width:680px){
  .account-grid-side-by-side,.account-grid-stacked{grid-template-columns:1fr}
}

/* v1.0.0 update14: individual website-admin overrides */
.account-card.account-layout-right{grid-template-columns:minmax(0,1fr) var(--account-image-width)}
.account-card.account-layout-right>img{order:2}
.account-card.account-layout-top,.account-card.account-layout-hidden{grid-template-columns:1fr}
.account-card.account-layout-top>img{width:100%}
.account-card.account-layout-background{display:flex;min-height:250px;align-items:flex-end;background-size:cover;background-position:center;color:var(--on-dark)}
.account-card.account-layout-background>div{position:relative;z-index:1;padding:18px}
.account-card.account-layout-background h2,.account-card.account-layout-background .card-kicker,.account-card.account-layout-background p,.account-card.account-layout-background a{color:inherit}
.account-card.account-layout-background.img-height-small{min-height:190px}
.account-card.account-layout-background.img-height-medium{min-height:250px}
.account-card.account-layout-background.img-height-large{min-height:340px}
.account-card.account-layout-background.img-height-tall{min-height:440px}
.gallery-grid figure{margin:0;min-width:0}
.gallery-grid figure>a{display:block;overflow:hidden}
.gallery-grid figcaption{padding:.5rem .15rem 0;color:var(--muted);font-size:.9rem}
.gallery-grid.img-aspect-landscape figure>a{aspect-ratio:16/9}
.gallery-grid.img-aspect-wide figure>a{aspect-ratio:21/9}
.gallery-grid.img-aspect-square figure>a{aspect-ratio:1/1}
.gallery-grid.img-aspect-portrait figure>a{aspect-ratio:4/5}
.gallery-grid.img-aspect-auto figure>a{aspect-ratio:auto}
.gallery-grid figure>a img{display:block;width:100%;height:100%}
.gallery-grid.img-aspect-auto figure>a img{height:auto}
.gallery-grid.img-shape-square figure>a,.gallery-grid.img-shape-square figure img{border-radius:0}
.gallery-grid.img-shape-soft figure>a,.gallery-grid.img-shape-soft figure img{border-radius:8px}
.gallery-grid.img-shape-rounded figure>a,.gallery-grid.img-shape-rounded figure img{border-radius:14px}
.gallery-grid.img-shape-circle figure>a,.gallery-grid.img-shape-circle figure img{border-radius:999px}
@media(max-width:680px){.account-card.account-layout-right,.account-card.account-layout-left{grid-template-columns:1fr}.account-card.account-layout-right>img{order:0}}

/* v1.0.0 update20: published reviews and testimonial blocks */
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--box-gap);align-items:stretch}
.review-card{display:flex;flex-direction:column;min-width:0;min-height:100%;padding:var(--box-pad);background:var(--card-bg);color:var(--card-text);border:1px solid var(--box-border);border-radius:var(--radius);box-shadow:var(--box-shadow);overflow-wrap:anywhere}
.review-card blockquote{margin:1rem 0 1.15rem;font-size:1.02rem;line-height:1.65;color:var(--card-text);white-space:normal}
.review-card footer{display:flex;flex-direction:column;gap:.22rem;margin-top:auto}
.review-card footer strong{color:var(--heading)}
.review-card footer span,.review-card footer small{color:var(--muted)}
.review-card footer small a{color:var(--link)}
.review-rating{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.review-stars{font-size:1.08rem;letter-spacing:.08em;color:#c68300;white-space:nowrap}
.review-rating-text{font-size:.82rem;font-weight:700;color:var(--muted)}
.review-intro{max-width:760px;margin:0 0 1.5rem;color:var(--muted)}
.review-button-row{margin:1.5rem 0 0;text-align:center}
.block-reviews>h2{margin-top:0}
.block-reviews .review-grid{margin-top:1.25rem}
@media(max-width:920px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.review-grid{grid-template-columns:1fr}.review-card{padding:20px}}

/* v1.0.0 update23: scheduled announcement banner */
.announcement-banner{background:var(--blue-dark);color:var(--on-dark);border-bottom:1px solid rgba(255,255,255,.18)}
.announcement-banner[hidden]{display:none!important}
.announcement-inner{display:flex;align-items:center;justify-content:center;gap:16px;max-width:1280px;margin:0 auto;padding:11px clamp(18px,5vw,72px);text-align:center}
.announcement-inner p{margin:0;color:inherit;font-weight:700;line-height:1.4}
.announcement-action{flex:0 0 auto;padding:7px 14px;border:1px solid currentColor;border-radius:999px;color:inherit;font-weight:800;white-space:nowrap}
.announcement-action:hover{background:rgba(255,255,255,.12);color:inherit;text-decoration:none}
.announcement-dismiss{flex:0 0 auto;width:34px;height:34px;border:0;border-radius:999px;background:transparent;color:inherit;font:700 1.5rem/1 sans-serif;cursor:pointer}
.announcement-dismiss:hover,.announcement-dismiss:focus-visible{background:rgba(255,255,255,.14);outline:2px solid currentColor;outline-offset:2px}
@media(max-width:680px){.announcement-inner{align-items:stretch;flex-direction:column;gap:9px;padding:12px 46px 12px 16px;position:relative}.announcement-action{align-self:center}.announcement-dismiss{position:absolute;right:8px;top:8px}}

