:root{--ink:#102535;--navy:#07131f;--blue:#115bea;--muted:#586c7a;--line:#d4e0e7;--paper:#f5f8fa;--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #398bff;outline-offset:6px}img,svg{display:block;max-width:100%}button[hidden],[hidden]{display:none!important}.skip{position:fixed;left:20px;top:-100px;background:white;color:var(--ink);padding:15px;z-index:100}.skip:focus{top:20px}.header{height:99px;display:flex;align-items:center;justify-content:space-between;padding:0 5.4%;background:var(--navy);color:#fff;border-bottom:1px solid #ffffff1b;position:relative;z-index:10}.brand{display:flex;gap:12px;align-items:center;font-size:23px;font-weight:600;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:5.1px;margin-top:5px;font-weight:400}.brand-symbol{width:37px;height:45px;color:#b2daff;font-size:54px;line-height:.85;letter-spacing:-8px;font-weight:500;position:relative}.brand-symbol span{font-size:29px;vertical-align:top;line-height:.55;color:#4678ee}.desktop-nav{display:flex;gap:33px;font-size:13px;color:#cbd6df}.desktop-nav a{padding:12px 0;transition:color .2s}.desktop-nav a:hover{color:#73bbff}.header-phone{font-size:14px;letter-spacing:.4px}.header-phone span{padding-left:14px;color:#77b5ff;font-size:23px}.menu-toggle,.mobile-nav{display:none}.hero{min-height:720px;position:relative;background:var(--navy);color:#fff;overflow:hidden;display:flex;align-items:center}.hero-content{position:relative;z-index:2;padding:65px 0 64px 5.4%;width:66%;pointer-events:none}.hero-content a{pointer-events:auto}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.5;color:var(--blue);margin:0 0 26px}.eyebrow.light{color:#a8c3dd}.status-dot{display:inline-block;width:6px;height:6px;background:#78baff;border-radius:50%;margin-right:9px;vertical-align:1px;box-shadow:0 0 15px #91c7ff}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.9vw,88px);letter-spacing:-4px;line-height:1.035;font-weight:500;margin-bottom:25px}h1 span{background:linear-gradient(100deg,#789be1 2%,#cbecff 55%,#6597e0);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-description{color:#b9c8d5;font-size:17px;line-height:1.7;max-width:470px;margin-bottom:31px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:19px 23px;font-size:13px;font-weight:600;min-height:52px;transition:transform .25s,background .25s,box-shadow .25s;border-radius:3px}.button span{font-size:20px;font-weight:400;line-height:.5}.button:hover{transform:translateY(-3px)}.primary{color:white;background:var(--blue);box-shadow:inset 0 1px 0 #67a5ff}.primary:hover{background:#2674ff;box-shadow:0 8px 35px #005dff40}.text-link{display:inline-flex;gap:25px;align-items:center;font-size:13px;font-weight:600;color:var(--blue);padding:12px 0;border-bottom:1px solid #9bb9e9}.text-link span{font-size:20px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.light-link{color:#e1ecf5;border-color:#ffffff35}.hero-footnote{font-size:10px;color:#92a7b9;margin:28px 0 0;letter-spacing:.2px}.hero-footnote a{color:#d2e0eb}.hero-footnote span{margin:0 9px}.hero-art{position:absolute;right:-5%;top:-5%;height:110%;width:67%;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;animation:liquid-drift 12s ease-in-out infinite alternate}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,#07131fc7 14%,transparent 44%),linear-gradient(0deg,var(--navy) 0%,transparent 19%)}.art-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 45%,#bddcff0a 50%,transparent 57%);background-size:250% 100%;animation:shine 15s ease-in-out infinite}.hero-caption{position:absolute;bottom:39px;right:5.4%;display:flex;gap:13px;align-items:center;z-index:3;color:#b6cce0;font-size:8px;line-height:1.7;letter-spacing:2px}.small-cross{font-size:26px;color:#80aedd;font-weight:200}.community-line{display:flex;align-items:center;gap:40px;justify-content:space-between;border-bottom:1px solid var(--line);padding:24px 5.4%;background:#edf3f7}.community-line>span{font-size:9px;letter-spacing:1.6px;color:#446476;white-space:nowrap}.community-line p{margin:0;font-size:12px;line-height:1.6;color:#4c6373}.community-line i{font-style:normal;margin:0 17px;color:#98afbe}.section{padding:96px 7%;scroll-margin-top:0}h2{font-size:clamp(35px,3.7vw,52px);font-weight:500;letter-spacing:-2px;line-height:1.09;margin-bottom:24px}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:35px;margin-bottom:52px}.section-heading>.eyebrow{padding-top:10px}.section-heading>div{display:flex;gap:65px;align-items:end;justify-content:space-between}.section-heading h2{margin:0;flex-shrink:0}.section-heading>div>p{font-size:14px;line-height:1.75;color:var(--muted);max-width:235px;margin-bottom:4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #bfcfd9;border-bottom:1px solid #bfcfd9}.service{padding:34px 34px 25px 0;position:relative;transition:background .3s;display:flex;flex-direction:column}.service+ .service{border-left:1px solid var(--line);padding-left:34px}.service-number{position:absolute;right:30px;top:36px;color:#859eaf;font-size:10px}.service svg{width:66px;height:66px;fill:none;stroke:#2467da;stroke-width:1.3;margin:0 0 29px}.service h3{font-size:25px;line-height:1.2;font-weight:500;letter-spacing:-.6px;margin-bottom:17px}.service p{font-size:13px;line-height:1.8;color:var(--muted);max-width:280px;margin-bottom:35px}.service-bottom{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.15px;color:var(--blue);margin-top:auto}.service-bottom>span{font-size:25px;transition:transform .2s}.service:hover .service-bottom>span{transform:translate(4px,-4px)}.service:hover h3{color:var(--blue)}.water{padding-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.water-visual{align-self:stretch;min-height:550px;position:relative;background:radial-gradient(ellipse at 50% 38%,#e2efff,#d5e6f7 55%,#c8ddf0);border-radius:4px;display:flex;align-items:center;justify-content:center;overflow:hidden}.water-orbit{width:91%;animation:liquid-drift 10s ease-in-out infinite alternate}.visual-note{position:absolute;left:32px;bottom:28px;font-size:8px;letter-spacing:2px;color:#517394;line-height:1.7}.water-content{padding:30px 0}.section-intro{font-size:15px;line-height:1.85;max-width:435px;color:var(--muted)}.tabs{display:flex;gap:25px;margin:31px 0 24px;border-bottom:1px solid var(--line)}.tabs button{color:var(--muted);font-size:13px;padding:15px 0;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.tab-panel{min-height:180px}.tab-panel h3{font-size:20px;font-weight:500;letter-spacing:-.4px;margin-bottom:14px}.tab-panel p{font-size:13px;line-height:1.8;color:var(--muted);max-width:420px}.resource-link{display:block;border-top:1px solid var(--line);margin-top:26px;padding-top:22px;color:var(--ink);font-size:12px}.resource-link>span{display:block;color:#687f8d;font-size:9px;padding-left:19px;margin-top:7px}.resource-link:hover{color:var(--blue)}.power{margin:0 3%;padding:75px 7%;border-radius:5px;background:#082c69;color:#fff;display:grid;grid-template-columns:1.1fr 1fr;gap:10%;position:relative;overflow:hidden}.power:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 75% 100%,#1e63bc80,transparent 65%);pointer-events:none}.power-copy{position:relative;z-index:2}.power-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#b9cde5;max-width:410px;margin-bottom:29px}.white{background:#f2f7fc;color:#183c70}.white:hover{background:#d3e8ff}.power-graphic{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px}.power-graphic>svg{height:290px;filter:drop-shadow(0 5px 30px #6aa7ff45);position:relative;z-index:1;transform:rotate(8deg);animation:bolt-float 8s ease-in-out infinite alternate}.power-ring{position:absolute;border:1px solid #77a9e338;border-radius:50%;width:350px;height:350px}.ring-two{width:270px;height:270px}.power-graphic>span{position:absolute;bottom:-8px;font-size:8px;letter-spacing:2px;color:#94b8e4}.areas{display:grid;grid-template-columns:1.15fr 1fr;gap:14%;padding-top:110px;padding-bottom:110px}.area-list{padding-top:5px}.area-list>p{font-size:9px;letter-spacing:1.7px;color:#7790a1;margin-bottom:24px}.area-list>div{display:flex;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line);font-size:24px;letter-spacing:-.5px}.area-list>div>span:last-child{color:#6f9eda}.area-list small{display:block;font-size:10px;line-height:1.6;color:#708797;margin-top:18px}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:9%;padding-top:65px;border-top:1px solid var(--line);background:#edf3f7}.faq h2{font-size:40px}.faq-list{border-top:1px solid #bdcedb}.faq details{border-bottom:1px solid #bdcedb}.faq summary{list-style:none;cursor:pointer;font-size:14px;line-height:1.5;padding:22px 0;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-size:21px;font-weight:400;line-height:1;color:#5785b0;transition:transform .2s}.faq details[open] summary>span{transform:rotate(45deg)}.faq details>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:90%;padding-bottom:9px}.faq details a{color:var(--blue);text-decoration:underline}.contact{background:#0d53c9;color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:10%;position:relative;overflow:hidden}.contact:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 100% 0%,#4893f890,transparent 60%);pointer-events:none}.contact>div{z-index:1}.contact h2{font-size:clamp(37px,3.6vw,51px)}.contact>div>p:not(.eyebrow){color:#c8dfff;font-size:14px;line-height:1.8;margin-bottom:0}.contact-right{padding-top:28px}.big-phone{font-size:clamp(27px,3.5vw,50px);white-space:nowrap;letter-spacing:-1.5px;display:block}.big-phone>span{font-size:35px;display:inline-block;margin-left:10px}.contact-right>p{font-size:12px!important;margin:20px 0 26px!important}.contact .eyebrow{color:#b7d3ff}footer{padding:55px 5.4% 24px;background:var(--navy);color:#c6d5e0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;align-items:center}.footer-brand{font-size:20px;letter-spacing:1.5px;color:white}.footer-brand small{font-size:8px;letter-spacing:4.4px}footer>p{font-size:10px;color:#879eb0;line-height:1.6;margin:0}.socials{display:flex;justify-content:end;gap:20px;font-size:10px}.socials a:hover{color:#76b4ff}.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff1b;display:flex;justify-content:space-between;padding-top:22px;font-size:9px;color:#7e94a6;margin-top:15px}@keyframes liquid-drift{from{transform:translateY(0) scale(1)}to{transform:translateY(-9px) scale(1.025)}}@keyframes bolt-float{from{transform:translateY(0) rotate(8deg)}to{transform:translateY(-10px) rotate(12deg)}}@keyframes shine{0%,100%{background-position:100% 0}50%{background-position:0 0}}
@media(min-width:1600px){.hero{min-height:800px}.header,.hero-content{padding-left:max(5.4%,calc((100vw - 1450px)/2))}.section{padding-left:max(7%,calc((100vw - 1350px)/2));padding-right:max(7%,calc((100vw - 1350px)/2))}.hero-art{width:62%}}
@media(max-width:1100px){.header{padding-left:4%;padding-right:4%}.desktop-nav{gap:23px}.hero-content{padding-left:5%;width:70%}.hero{min-height:680px}h1{font-size:68px;letter-spacing:-3px}.hero-art{right:-13%;width:78%}.hero-actions{gap:20px}.hero-actions .button{padding:18px;font-size:12px}.hero-caption{right:4%;font-size:7px}.community-line{gap:20px}.community-line i{margin:0 8px}.section{padding:75px 5%}.section-heading{grid-template-columns:1fr 3fr}.section-heading>div{gap:30px}.section-heading h2{font-size:38px}.section-heading>div>p{font-size:12px;max-width:210px}.water{gap:6%;padding-top:0}.water-visual{min-height:510px}.power{padding:65px 6%}.power-ring{width:290px;height:290px}.ring-two{width:230px;height:230px}.areas{gap:8%}.faq{gap:6%}.contact{gap:5%}footer{gap:25px;grid-template-columns:1fr 1fr}.socials{grid-column:1/-1;justify-content:start}.footer-bottom{margin-top:0}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{height:81px;padding:0 6%;gap:18px}.brand{font-size:18px;gap:9px;letter-spacing:1.5px}.brand small{font-size:7px;letter-spacing:4px}.brand-symbol{font-size:44px;width:32px;height:38px}.brand-symbol span{font-size:25px}.desktop-nav{display:none}.header-phone{font-size:11px;margin-left:auto;white-space:nowrap;letter-spacing:0}.header-phone span{font-size:16px;padding-left:2px}.menu-toggle{display:block;position:relative;background:transparent;border:0;width:34px;height:44px;padding:10px 2px;flex-shrink:0}.menu-toggle span{display:block;background:#c4d9eb;width:24px;height:1px;margin:7px 0;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{display:flex;position:absolute;top:80px;left:0;right:0;background:#0c1c2c;box-shadow:0 18px 30px #0004;padding:20px 7%;flex-direction:column;gap:0;border-top:1px solid #294054}.mobile-nav a{padding:16px 0;border-bottom:1px solid #ffffff18;font-size:14px}.hero{min-height:890px;align-items:start}.hero-content{padding:47px 7% 50px;width:100%;pointer-events:auto}.hero .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:24px}h1{font-size:clamp(43px,8.9vw,66px);line-height:1.07;letter-spacing:-2.7px;margin-bottom:23px}.hero-description{font-size:14px;line-height:1.7;color:#c7d5df;margin-bottom:25px;max-width:320px}.hero-actions{gap:19px;align-items:start;flex-wrap:nowrap;flex-direction:column}.hero-actions .button{padding:17px 20px;font-size:12px;gap:24px}.hero-actions .text-link{font-size:11px;padding:7px 0}.hero-footnote{font-size:9px;margin-top:22px}.hero-art{width:100%;height:490px;top:auto;bottom:-27px;right:-10%;opacity:.94}.hero-art:after{background:linear-gradient(180deg,var(--navy) 0%,#07131f88 15%,transparent 45%),linear-gradient(0deg,var(--navy),transparent 15%)}.hero-art img{object-fit:cover;object-position:center 40%}.hero-caption{bottom:26px;right:7%;font-size:6px;letter-spacing:1.4px}.community-line{padding:24px 7%;display:block}.community-line>span{display:block;font-size:8px;margin-bottom:10px}.community-line p{font-size:11px;line-height:1.9;max-width:370px}.community-line i{margin:0 7px}.section{padding:62px 7%}.section-heading{display:block;margin-bottom:35px}.eyebrow{font-size:9px;margin-bottom:22px}.section-heading>div{display:block}.section-heading h2,h2{font-size:37px;letter-spacing:-1.6px}.section-heading>div>p{font-size:13px;max-width:310px;margin:21px 0 0}.service-grid{grid-template-columns:1fr}.service,.service+.service{padding:27px 0 26px 82px;border-left:0;min-height:210px}.service+.service{border-top:1px solid var(--line)}.service svg{position:absolute;left:0;top:33px;width:53px;height:53px}.service h3{font-size:24px;margin-bottom:12px;padding-right:20px}.service p{font-size:12px;margin-bottom:16px;max-width:270px}.service-number{right:0;top:29px;font-size:8px}.service-bottom{font-size:10px}.water{display:flex;flex-direction:column;gap:0;padding-top:0}.water-visual{min-height:345px;width:100%;height:345px;order:2;margin-top:38px}.water-orbit{height:100%;width:100%}.water-orbit svg{height:100%;margin:auto}.visual-note{font-size:6px;left:20px;bottom:20px}.water-content{padding:0;width:100%}.section-intro{font-size:14px;max-width:380px}.tabs{margin-top:23px;gap:28px}.tabs button{font-size:12px}.tab-panel{min-height:170px}.tab-panel h3{font-size:20px}.tab-panel p{font-size:13px}.resource-link{margin-top:20px}.power{margin:0 4%;padding:45px 7% 30px;display:block}.power h2{font-size:35px}.power-copy>p:not(.eyebrow){font-size:13px}.power-graphic{min-height:260px;margin-top:20px}.power-graphic>svg{height:215px}.power-ring{width:245px;height:245px}.ring-two{width:190px;height:190px}.power-graphic>span{bottom:0;font-size:7px}.areas{display:block}.area-list{margin-top:42px}.area-list>div{font-size:24px;padding:17px 0}.area-list>p{font-size:8px;margin-bottom:19px}.area-list small{font-size:9px}.faq{display:block;padding-top:48px}.faq h2{font-size:35px}.faq-list{margin-top:34px}.faq summary{font-size:13px;gap:15px;padding:21px 0}.faq details>p{font-size:12px;max-width:95%}.contact{display:block;padding-top:54px;padding-bottom:54px}.contact h2{font-size:37px}.contact>div>p:not(.eyebrow){font-size:13px;max-width:280px}.contact-right{padding-top:32px}.big-phone{font-size:35px;letter-spacing:-1px}.big-phone>span{font-size:26px}.contact-right>p{font-size:11px!important}footer{padding:41px 7% 24px;display:flex;flex-direction:column;align-items:start;gap:25px}.footer-brand{font-size:20px}.footer-brand small{font-size:8px}.socials{gap:24px;font-size:10px}.footer-bottom{width:100%;font-size:8px;padding-top:20px;gap:25px}footer>p{font-size:9px}}
@media(max-width:370px){.header{padding:0 5%;gap:8px}.header-phone{font-size:10px}.brand{font-size:16px}.brand small{letter-spacing:3.2px}.hero{min-height:870px}.hero-content{padding-left:6%;padding-right:6%}h1{font-size:42px}.hero-description{font-size:13px}.hero-footnote{font-size:8px}.big-phone{font-size:31px}.service,.service+.service{padding-left:68px}.service h3{font-size:22px}.service p{font-size:11px}.button{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.footer-legal{display:flex;gap:20px;flex-wrap:wrap}.email-link{display:block;margin-top:20px;color:#d5e7ff;font-size:12px;overflow-wrap:anywhere}@media(max-width:760px){.footer-bottom{flex-wrap:wrap}.footer-legal{gap:13px}.email-link{font-size:11px}}

/* Decorative layers never capture taps or swipe gestures. */
.hero-art,.hero-caption,.water-orbit,.visual-note,.power-graphic{pointer-events:none;user-select:none;-webkit-user-select:none}
.hero-art img{-webkit-user-drag:none}
/* Let touch browsers use native scrolling; avoid continuous image compositing. */
@media(hover:none),(pointer:coarse){
  html{scroll-behavior:auto}
  .hero-art img,.art-shine,.water-orbit,.power-graphic>svg{animation:none;transform:none}
}
@media(max-width:760px){
  html{scroll-behavior:auto}
  .header.menu-open{height:auto;min-height:81px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}
  .header.menu-open .mobile-nav{position:static;flex:0 0 100%;padding:8px 0 0;background:transparent;box-shadow:none;border-top:1px solid #ffffff1b}
  .header.menu-open .mobile-nav a:last-child{border-bottom:0}
}

/* EWG is an external resource. This GET form uses browser-native navigation. */
.tapwater-resource{margin-top:28px;padding:25px;background:#e7f0fc;border:1px solid #bfd2ed;border-radius:5px}
.tapwater-resource .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:13px}
.tapwater-resource h3{font-size:24px;font-weight:500;line-height:1.2;letter-spacing:-.6px;margin-bottom:12px}
.tapwater-resource>p:not(.eyebrow){font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:19px}
.tapwater-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.zip-field{flex:1 1 100px;min-width:100px}
.zip-field label{display:block;font-size:11px;color:var(--ink);margin-bottom:8px}
.zip-field input{font:inherit;font-size:16px;line-height:1.4;color:var(--ink);background:#fff;border:1px solid #92afd2;border-radius:3px;min-height:51px;width:100%;padding:13px 12px;-webkit-appearance:none;appearance:none}
.zip-field input:focus-visible{outline:3px solid #398bff;outline-offset:3px}
.tapwater-form .button{font-size:11px;border:0;min-height:51px;padding:16px;gap:12px;flex:1 1 180px}
.tapwater-resource>p.tapwater-privacy{font-size:10px;margin:12px 0}
.tapwater-direct{font-size:11px;line-height:1.6;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.tapwater-resource{padding:22px}.tapwater-resource h3{font-size:23px}}
@media(max-width:420px){.tapwater-form{display:block}.tapwater-form .button{margin-top:12px;width:100%;justify-content:space-between}.zip-field input{min-height:48px}}
