@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#102c3e;--muted:#536774;--blue:#007ead;--navy:#092b3d;--line:#dce5e9;--pale:#f2f7f9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #00aee8;outline-offset:5px}[hidden]{display:none!important}.wrap{max-width:1240px;padding-inline:40px;margin-inline:auto}header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:flex;align-items:center;gap:22px}.brand img{width:193px;height:auto}.brand>span{border-left:1px solid var(--line);padding-left:22px;font-size:12px;letter-spacing:.14em;font-weight:700}nav{display:flex;align-items:center;gap:30px}.nav-text{text-decoration:none;font-size:14px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--blue);color:white;min-height:58px;padding:15px 24px;border-radius:5px;text-decoration:none;font-weight:700;border:0;cursor:pointer;transition:background .2s,transform .2s;line-height:1.4}.button:hover{background:#00678f;transform:translateY(-2px)}.button span{font-size:22px;font-weight:400}.button.small{min-height:46px;padding:10px 18px;font-size:14px;gap:20px}.hero{position:relative;background:#0b2737;isolation:isolate;color:white;min-height:660px;overflow:hidden}.hero-image{position:absolute;inset:0;z-index:-2;background:#092439}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,27,40,.96),rgba(5,27,40,.83) 35%,rgba(5,27,40,.19) 73%,rgba(5,27,40,.05))}.hero-content{padding-top:77px;padding-bottom:72px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.16em;color:var(--blue);margin:0 0 19px}.eyebrow.light{color:#96d8eb}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.15;margin:0;letter-spacing:-.04em}h1{font-size:clamp(44px,5.3vw,72px);font-weight:650;max-width:800px}em{font-style:normal;color:#81d5ee}h2{font-size:clamp(32px,3.3vw,44px);font-weight:650}h3{font-size:24px;font-weight:650;line-height:1.3}.hero-lead{font-size:21px;line-height:1.6;margin:26px 0 15px;color:#ecf4f6}.hero-description{max-width:445px;color:#bdd0da;margin:0 0 30px;font-size:17px}.reassurance{display:flex;align-items:center;gap:12px;font-size:14px;color:#d5e3e9;margin:17px 0 0}.reassurance i{width:3px;height:3px;border-radius:50%;background:#81d5ee}.hero-caption{position:absolute;right:max(40px,calc((100vw - 1160px)/2));bottom:34px;font-size:13px;line-height:1.6;padding-left:18px;border-left:2px solid #8acde1;text-shadow:0 1px 8px #001a2e}.hero-caption strong{font-weight:500}.test-strip{border-bottom:1px solid var(--line);background:#f5f9fb}.test-strip>.wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:21px}.test-strip span{font-size:12px;letter-spacing:.12em;font-weight:700}.test-strip p{margin:0;font-size:16px}.test-strip b{margin:0 24px;color:#8cabb9;font-weight:400}.section{padding-top:88px;padding-bottom:88px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:38px}.section-head p:last-child{color:var(--muted);margin-bottom:2px}.question-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.question{border:1px solid var(--line);padding:30px 28px;text-decoration:none;display:flex;flex-direction:column;border-radius:7px;background:white;transition:border-color .2s,box-shadow .2s,transform .2s}.question:hover{border-color:#168dad;box-shadow:0 12px 28px #143c5010;transform:translateY(-4px)}.number{font-size:12px;color:var(--blue);font-weight:700;letter-spacing:.09em;margin-bottom:35px}.question h3{font-size:25px}.question p{color:var(--muted);margin:18px 0 28px}.question-link{border-top:1px solid var(--line);padding-top:20px;margin-top:auto;font-size:14px;font-weight:700;display:flex;justify-content:space-between;gap:12px}.question-link span{font-size:21px;line-height:1}.context-note{max-width:860px;font-size:13px;line-height:1.65;color:var(--muted);margin:24px 0 0}.visit{background:var(--pale)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.visit h2 em{color:var(--blue)}.visit-intro{max-width:400px;color:var(--muted);font-size:17px;margin:26px 0}.text-link{font-weight:700;color:var(--blue);text-underline-offset:6px}.text-link span{padding-left:15px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:25px;border-bottom:1px solid #d3e1e7;padding:26px 0}.steps li:first-child{padding-top:0}.steps li:last-child{border-bottom:0;padding-bottom:0}.steps>li>span{font-size:14px;color:var(--blue);padding-top:5px}.steps h3{font-size:21px}.steps p{margin:10px 0 0;color:var(--muted)}.questions-more{max-width:1040px}.questions-more h2{margin-bottom:34px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:17px;font-weight:600;padding:23px 0;list-style:none}summary::-webkit-details-marker{display:none}.faq summary span{font-size:25px;color:var(--blue);font-weight:400}.faq details[open] summary span{transform:rotate(45deg)}details p{margin:0 40px 25px 0;color:var(--muted);max-width:780px}details a{color:var(--blue);text-underline-offset:4px}.contact{background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.contact-copy{padding-top:20px}.contact h2{line-height:1.2}.contact-copy>p:not(.eyebrow){color:#c1d3dc;font-size:18px;max-width:410px;margin:24px 0}.contact ul{list-style:none;padding:0;margin:30px 0}.contact li{margin:13px 0;color:#e0edf2;display:flex;gap:12px}.contact li:before{content:'✓';color:#79d5ed}.signature{border-top:1px solid #355365;margin-top:40px;padding-top:25px;display:flex;flex-direction:column;gap:5px}.signature strong{font-size:18px}.signature span{font-size:14px;color:#b8ced9}.form-card{background:white;border-radius:9px;padding:32px;color:var(--ink);box-shadow:0 15px 60px #00172426}.form-card h3{font-size:25px}.form-card>p:not(.eyebrow){color:var(--muted);font-size:14px}.form-card>.eyebrow{margin-bottom:12px}.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;margin-top:24px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.field label span{font-weight:400;color:var(--muted)}.field input,.field select{width:100%;height:48px;border:1px solid #b6c7cf;border-radius:4px;background:#fff;color:var(--ink);padding:10px;min-width:0}.field.full,.consent,.lead-form>.button,.lead-form>.btn{grid-column:1/-1}.consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--muted);line-height:1.55}.consent input{width:17px;height:17px;margin:3px 0 0;flex:none;accent-color:var(--blue)}.lead-form>.btn{font:inherit;border:0;border-radius:4px;background:var(--blue);color:white;padding:16px;cursor:pointer;font-weight:700;min-height:55px}.lead-form>.btn:hover{background:#00678f}.preview-note{font-size:12px!important;text-align:center;margin-bottom:0}.success{padding-block:25px}.success p{color:var(--muted)}.success-symbol{font-size:30px;color:var(--blue)}footer{padding-block:34px}.footer-row{display:flex;justify-content:space-between;gap:24px}.footer-row strong{font-size:16px}.footer-row p{font-size:12px;color:var(--muted);margin:5px 0}.mobile-cta{display:none}.skip{position:fixed;left:15px;top:-100px;z-index:100;background:white;color:var(--ink);padding:12px}.skip:focus{top:12px}
@media(min-width:1600px){.hero{min-height:730px}.hero-content{padding-top:105px}.hero-image{background-position:center 53%}}@media(max-width:1050px){.brand>span{display:none}.visit-grid,.contact-grid{gap:45px}.hero-caption{display:none}.question{padding:25px 21px}.question h3{font-size:22px}.question-link{font-size:13px}.test-strip b{margin:0 12px}}@media(max-width:760px){.wrap{padding-inline:22px}.nav{min-height:78px;gap:15px}.brand img{width:155px}.nav-text{display:none}.button.small{font-size:12px;padding:10px 12px;gap:9px;min-height:43px}.button.small span{display:none}.hero{min-height:660px}.hero-content{padding-top:60px;padding-bottom:62px}.hero:after{background:linear-gradient(90deg,#062435ed,#062435a8)}.hero-image{background-position:62% center}.hero h1{font-size:clamp(40px,8.8vw,64px)}.hero .eyebrow{font-size:11px;letter-spacing:.12em}.hero-lead{font-size:19px}.hero-description{font-size:16px;max-width:350px}.desktop{display:none}.test-strip>.wrap{display:block;padding-block:22px}.test-strip p{font-size:14px;margin-top:8px}.test-strip b{margin:0 8px}.section{padding-block:58px}.section-head{display:block;margin-bottom:25px}.section-head>p{margin-top:18px}.question-grid{grid-template-columns:1fr;gap:14px}.question{padding:26px}.number{margin-bottom:18px}.question h3{font-size:26px}.question h3 br{display:none}.question p{margin:14px 0 22px}.question-link{font-size:14px}.visit-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.steps{margin-top:6px}.contact-copy{padding-top:0}.signature{margin-top:26px;padding-top:20px}.form-card{padding:26px 22px}.footer-row{display:block}.footer-row>p{margin-top:16px}footer{padding-bottom:105px}.mobile-cta{display:flex;position:fixed;bottom:12px;left:16px;right:16px;z-index:12;box-shadow:0 4px 24px #001f3440;min-height:52px;font-size:15px}.mobile-cta.is-hidden{display:none}.lead-form{gap:16px 12px}summary{font-size:16px}.eyebrow{font-size:11px}.context-note{font-size:12px}.contact h2{font-size:36px}.form-card h3{font-size:24px}}@media(max-width:370px){.brand img{width:135px}.lead-form{grid-template-columns:1fr}.contact h2{font-size:32px}.button{gap:18px}.hero h1{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Water Score campaign and interactive showerhead */
.shower-score-control input { appearance: none; -webkit-appearance: none; width: 100%; height: 54px; margin: -5px 0; background: transparent; cursor: grab; }
.shower-score-control input:active { cursor: grabbing; }
.shower-score-control input::-webkit-slider-runnable-track { height: 26px; border: 2px solid var(--ink); border-radius: 999px; background: linear-gradient(90deg, #f47b20 0%, #ef5c3b 14.28%, #ee3f76 28.57%, #d63591 42.85%, #a04cab 57.14%, #7674c6 71.42%, #42a9dc 85.71%, #17b9e8 100%); box-shadow: inset 0 0 0 2px rgba(255,255,255,.3); }
.shower-score-control input::-moz-range-track { height: 22px; border: 2px solid var(--ink); border-radius: 999px; background: linear-gradient(90deg, #f47b20 0%, #ef5c3b 14.28%, #ee3f76 28.57%, #d63591 42.85%, #a04cab 57.14%, #7674c6 71.42%, #42a9dc 85.71%, #17b9e8 100%); }
.shower-score-control input::-webkit-slider-thumb { -webkit-appearance: none; width: 40px; height: 40px; margin-top: -8px; border: 5px solid white; border-radius: 50% 50% 50% 0; background: var(--ink); box-shadow: 0 0 0 3px var(--ink), 0 6px 16px rgba(0,0,0,.32); transform: rotate(-45deg); }
.shower-score-control input::-moz-range-thumb { width: 32px; height: 32px; border: 5px solid white; border-radius: 50% 50% 50% 0; background: var(--ink); box-shadow: 0 0 0 3px var(--ink), 0 6px 16px rgba(0,0,0,.32); transform: rotate(-45deg); }
.shower-score-control input:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; border-radius: 999px; }
.shower-stage-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.shower-stage-low { z-index: 1; }
.shower-stage-high { z-index: 2; opacity: .357; will-change: opacity; }
.shower-stage canvas { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; pointer-events: none; mix-blend-mode: screen; }
.score-hero{min-height:0;background:#092b3d}.score-hero:after{display:none}.score-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding-block:58px}.score-hero .hero-content{padding:0;margin:0}.score-hero h1{font-size:clamp(42px,4.3vw,59px);line-height:1.13}.score-hero .hero-lead{max-width:440px;font-size:19px}.score-hero .hero-description{max-width:390px}.water-score-panel{min-width:0;background:white;color:var(--ink);border-radius:10px;overflow:hidden;box-shadow:0 20px 55px #00142040}.water-score-brand{padding:20px 22px 18px;background:white}.water-score-brand img{display:block;width:100%;height:auto}.shower-stage{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;background:#082238;isolation:isolate}.shower-stage:after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(180deg,transparent 65%,#02121f9c)}.shower-stage figcaption{position:absolute;bottom:15px;left:20px;right:20px;z-index:5;color:white;font-size:12px;text-shadow:0 1px 5px #001a2e}.hero-shower-controls{padding:22px 24px 18px}.shower-score-readout{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.shower-score-readout .eyebrow{margin-bottom:6px;font-size:11px}.shower-score-readout strong{font-size:14px;font-weight:600}.shower-score-readout output{color:var(--blue);font-family:Manrope,sans-serif;font-weight:750;font-size:48px;line-height:1;letter-spacing:-.04em}.shower-score-label{display:block;font-size:14px;font-weight:600;margin-bottom:9px}.shower-score-control{padding:0 7px}.shower-score-numbers{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:4px}.slider-note{font-size:12px;line-height:1.55;color:var(--muted);margin:15px 0 0}.shower-score-control input::-webkit-slider-runnable-track{height:18px;border:0;box-shadow:none}.shower-score-control input::-webkit-slider-thumb{margin-top:-9px;width:33px;height:33px;border-width:3px;box-shadow:0 0 0 2px var(--ink),0 3px 8px #001e3330}.shower-score-control input::-moz-range-track{height:18px;border:0}.shower-score-control input::-moz-range-thumb{width:27px;height:27px;border-width:3px;box-shadow:0 0 0 2px var(--ink),0 3px 8px #001e3330}
@media(max-width:1050px){.score-hero-grid{gap:30px}.score-hero h1{font-size:45px}.hero-shower-controls{padding:20px}.shower-score-readout strong{font-size:13px}}
@media(max-width:760px){.score-hero-grid{grid-template-columns:1fr;gap:36px;padding-block:44px}.score-hero h1{font-size:clamp(40px,9vw,60px)}.score-hero h1 br:last-child{display:none}.score-hero .hero-lead{font-size:18px}.water-score-panel{max-width:550px;width:100%;margin-inline:auto}.water-score-brand{padding:18px}.hero-shower-controls{padding:20px}.shower-score-readout strong{font-size:14px}.test-strip p{font-size:14px}.shower-score-control input{min-height:54px}.score-hero .hero-content{padding-inline:0}.shower-score-readout output{font-size:44px}}

/* A brighter expression of the original Water Score palette. */
:root{--ink:#102b50;--blue:#005ab8;--navy:#09264d;--pale:#eef8ff;--spectrum:linear-gradient(90deg,#f7801d,#fa6154 20%,#ed168a 42%,#9561bc 64%,#00b3e5)}
header{border-bottom:0;box-shadow:0 2px 20px #0826500a}header:before{content:'';display:block;height:4px;background:var(--spectrum)}.nav{min-height:85px}.brand>span{color:#386282}.button,.lead-form>.btn{border-radius:10px;background:#005ab8;box-shadow:0 7px 18px #00499a20;transition:transform .2s,box-shadow .2s,background .2s}.button:hover,.lead-form>.btn:hover{background:#004a99;box-shadow:0 10px 24px #00499a30}.button.small{border-radius:8px}.score-hero{background:radial-gradient(ellipse at 95% 0%,#0076af75,transparent 52%),radial-gradient(ellipse at 5% 95%,#754da366,transparent 50%),linear-gradient(120deg,#071f43,#0a3760);overflow:hidden}.score-hero-grid{gap:64px;padding-top:55px;padding-bottom:60px;position:relative}.score-hero h1{font-size:clamp(48px,5.2vw,70px);font-weight:750;line-height:1.04;letter-spacing:-.045em}.score-hero h1 em{color:#6cdeff;background:linear-gradient(115deg,#7ceaff,#62c7ff 55%,#c8b8ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-tag{display:inline-block;padding:8px 12px;border:1px solid #6bcdec55;background:#0a609f40;border-radius:6px;color:#c5f0ff!important;font-size:11px;letter-spacing:.1em;margin-bottom:24px}.score-hero .hero-lead{font-size:20px;color:#f1f6ff;margin-top:25px;max-width:410px}.score-hero .hero-description{font-size:17px;color:#c2d9ee;max-width:410px}.score-hero .hero-content>.button{background:#75e3fa;color:#072a50;box-shadow:0 8px 30px #00c8ff24;min-height:62px;padding-inline:26px}.score-hero .hero-content>.button:hover{background:#a5eeff;box-shadow:0 10px 35px #00c8ff40}.reassurance{color:#c6daee}.water-score-panel{border-radius:18px;box-shadow:0 24px 64px #00102765,0 0 0 1px #92dfff35}.water-score-brand{padding:21px 24px;background:#fff}.shower-stage{aspect-ratio:16/11}.hero-shower-controls{background:linear-gradient(130deg,#fff,#f1faff);padding:20px 25px}.shower-score-readout output{padding:10px 13px;border-radius:12px;background:#e8f5ff;color:#075cad;min-width:82px;text-align:center;font-size:45px}.shower-score-readout{margin-bottom:12px}.shower-score-readout .eyebrow{color:#075cad;letter-spacing:.1em}.shower-score-label{color:#163853}.slider-note{color:#506781}.test-strip{background:#e5f8ff;border:0;position:relative;color:#084568}.test-strip:after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--spectrum)}.test-strip>.wrap{padding-block:23px}.test-strip span{color:#0b5e88}.test-strip b{color:#3386a4}.section-head h2{font-size:clamp(38px,4.1vw,54px)}.section-head .eyebrow{color:#005ab8}.question-grid{gap:22px}.question{position:relative;border:1px solid #f2d5c6;border-radius:16px;padding:30px;background:#fff3e8;overflow:hidden;box-shadow:0 6px 20px #143c5005}.question:before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:#f88021}.question:nth-child(2){background:#fff0f6;border-color:#f0cfe0}.question:nth-child(2):before{background:#e82786}.question:nth-child(3){background:#ecf9ff;border-color:#c9e8f7}.question:nth-child(3):before{background:#00a6d9}.question:hover{border-color:#df9a66;box-shadow:0 14px 28px #94562a15;transform:translateY(-5px)}.question:nth-child(2):hover{border-color:#d66da3;box-shadow:0 14px 28px #96376015}.question:nth-child(3):hover{border-color:#61bcdb;box-shadow:0 14px 28px #08638615}.question .number{color:#914216;font-size:12px;margin-bottom:30px}.question:nth-child(2) .number{color:#aa235f}.question:nth-child(3) .number{color:#006c94}.question h3{font-size:26px;line-height:1.23}.question p{color:#4e5c6e}.question-link{border-color:#122f501c;color:#753913}.question:nth-child(2) .question-link{color:#9c245c}.question:nth-child(3) .question-link{color:#00618e}.question-link>span{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#fff9;transform:translateY(-4px)}.visit{background:linear-gradient(115deg,#eff6ff,#e8f9ff);position:relative}.visit:before{content:'';display:block;position:absolute;top:0;left:0;right:0;height:1px;background:#dce9f8}.visit h2{line-height:1.2}.visit h2 em{color:#075db8}.steps li{gap:20px;border-color:#b5d0e066}.steps>li>span{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;padding:0;border-radius:12px;color:#fff;font-weight:700;background:#f87920}.steps>li:nth-child(2)>span{background:#cb327f}.steps>li:nth-child(3)>span{background:#007daa}.steps h3{padding-top:5px}.faq details{margin-bottom:12px;border:1px solid #d9e5f0!important;border-radius:12px;padding-inline:22px;background:#f8fbff}.faq details[open]{background:#edf7ff;border-color:#8cc6e5!important}.faq summary{padding-block:20px}.faq summary span{border-radius:50%;background:#e4f0fc;width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex:none;font-size:22px}.contact{position:relative;background:radial-gradient(ellipse at 0% 100%,#65429377,transparent 60%),linear-gradient(120deg,#0b2853,#084b75)}.contact:before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:var(--spectrum)}.contact-copy h2{font-size:clamp(36px,3.8vw,50px)}.contact h2 em{color:#7ee7ff}.contact-copy>p:not(.eyebrow){color:#d2e5f5}.contact li:before{background:#73e5f922;color:#86edff;width:24px;height:24px;flex:none;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:13px}.signature{border-color:#a8d8f440}.form-card{border-radius:18px;border-top:5px solid #4dcdf0;box-shadow:0 20px 60px #00193340}.field input,.field select{border-radius:7px;background:#f8fbff;border-color:#b9cadd}.field input:focus,.field select:focus{background:#fff}.footer-row{color:#224668}
@media(max-width:1050px){.score-hero-grid{gap:35px}.score-hero h1{font-size:56px}.question{padding:26px 23px}.question h3{font-size:24px}.hero-tag{font-size:10px;letter-spacing:.07em}}
@media(max-width:760px){.nav{min-height:74px}.score-hero-grid{padding-top:36px;padding-bottom:40px;gap:32px}.score-hero h1{font-size:clamp(46px,11.4vw,67px);line-height:1.05}.score-hero h1 br:last-child{display:initial}.hero-tag{font-size:10px;letter-spacing:.06em;margin-bottom:20px;padding:7px 10px}.score-hero .hero-lead{font-size:18px;margin-top:20px}.score-hero .hero-description{font-size:16px;margin-bottom:24px}.score-hero .hero-content>.button{min-height:56px}.water-score-panel{border-radius:14px}.water-score-brand{padding:17px 19px}.shower-stage{aspect-ratio:4/3}.hero-shower-controls{padding:19px 20px}.question{padding:27px}.question .number{margin-bottom:20px}.question h3{font-size:27px}.question-grid{gap:18px}.test-strip>.wrap{padding-block:20px}.test-strip span{font-size:11px}.section-head h2{font-size:42px}.steps>li>span{width:36px;height:36px;border-radius:10px}.steps li{gap:15px}.faq details{padding-inline:17px}.faq summary{font-size:16px}.contact-copy h2{font-size:37px}.form-card{border-radius:14px}.mobile-cta{background:#005ab8;box-shadow:0 5px 25px #00295b55}}
@media(prefers-reduced-motion:reduce){.question:hover,.button:hover{transform:none}}

/* Keep the showerhead visible beneath the animation. */
.shower-stage canvas{opacity:.76}

/* One continuous photographic shower scene. */
.seamless-hero{background:#092439;min-height:780px;isolation:isolate}.seamless-scene{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.scene-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:75% top;inset:0}.scene-high{opacity:.357}.seamless-scene canvas{position:absolute;inset:0;width:100%;height:100%;opacity:1}.seamless-hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#031a2ddd 0%,#031a2d9c 31%,#031a2d1a 58%,transparent 76%),linear-gradient(0deg,#051b2ebb,transparent 36%)}.seamless-hero .score-hero-grid{max-width:none;grid-template-columns:1fr 1fr;gap:0;padding:64px 0 38px;min-height:780px;align-items:center}.seamless-hero .hero-content{width:min(100% - 72px,530px);margin-inline:auto}.seamless-hero h1{font-size:clamp(46px,4.3vw,66px);text-shadow:0 3px 26px #00132744}.seamless-hero h1 em{background:none;-webkit-text-fill-color:initial;color:#86e8ff}.seamless-hero .hero-tag{background:none;border:0;border-radius:0;padding:0;font-size:11px;letter-spacing:.12em}.seamless-hero .water-score-panel{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;width:min(100% - 72px,520px);margin:0 auto;color:white}.seamless-hero .shower-space{height:440px}.seamless-hero .hero-shower-controls{background:none;padding:0;box-shadow:none;border:0}.seamless-hero .shower-score-readout output{background:none;padding:0;border-radius:0;color:#87e6ff;font-size:54px;min-width:80px}.seamless-hero .shower-score-readout .eyebrow{color:#a0e5fb}.seamless-hero .shower-score-readout strong{color:#e5f4ff;text-shadow:0 2px 6px #00192d}.seamless-hero .shower-score-label{color:white;font-size:16px}.seamless-hero .shower-score-numbers{color:#d5e8f6;font-size:13px}.seamless-hero .slider-note{color:#c1d7e5;text-shadow:0 2px 5px #00162c}.seamless-hero .shower-score-control input:focus-visible{outline-color:#92e6ff}.seamless-hero .shower-score-control input::-webkit-slider-thumb{background:#08a8d7;box-shadow:0 0 0 2px #e7faff,0 3px 10px #00182766}.seamless-hero .shower-score-control input::-moz-range-thumb{background:#08a8d7;box-shadow:0 0 0 2px #e7faff,0 3px 10px #00182766}.test-strip{display:none}
@media(min-width:1800px){.seamless-hero,.seamless-hero .score-hero-grid{min-height:880px}.seamless-hero .shower-space{height:520px}.seamless-hero .hero-content{width:560px}.seamless-hero .water-score-panel{width:560px}}
@media(max-width:760px){.seamless-hero,.seamless-hero .score-hero-grid{min-height:0}.seamless-hero .score-hero-grid{grid-template-columns:1fr;padding:38px 22px 36px;gap:0}.seamless-hero .hero-content{width:100%;margin:0}.seamless-hero h1{font-size:clamp(44px,11vw,62px)}.seamless-hero .water-score-panel{width:100%;max-width:none;margin:0}.seamless-hero .shower-space{height:410px}.seamless-hero .hero-shower-controls{padding:0}.seamless-hero .scene-image{object-fit:fill;inset:auto;width:var(--scene-width);height:var(--scene-height);left:var(--scene-left);top:var(--scene-top)}.seamless-scene{background:#092439}.seamless-hero:before{background:linear-gradient(180deg,#031a2da6 0%,#031a2d80 36%,transparent 54%,#031a2d99 100%)}.seamless-hero .hero-tag{font-size:10px;letter-spacing:.08em}.seamless-hero .shower-score-readout output{font-size:48px}.seamless-hero .hero-content>.button{margin-top:0}.seamless-hero .shower-score-numbers{font-size:12px}}

@media(min-width:1800px){.seamless-hero,.seamless-hero .score-hero-grid{min-height:1060px}.seamless-hero .shower-space{height:670px}}

@media(max-width:760px){.seamless-hero .scene-image{inset:0;width:100%;height:100%;object-fit:fill;object-position:center top}.seamless-scene{background:#092439}.seamless-hero .score-hero-grid{min-height:1260px}.seamless-hero .shower-space{height:450px}.seamless-hero:before{background:linear-gradient(180deg,#031a2d99 0%,#031a2d66 38%,transparent 52%,#031a2d80 100%)}}

/* Water flows continuously behind the controls and fades into the scene. */
.seamless-scene canvas{mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%)}
.seamless-hero .hero-shower-controls{position:relative;z-index:1;text-shadow:0 2px 8px #001423,0 0 18px #00142380}
/* A feathered shadow separates control text from moving water without a panel. */
.seamless-hero .hero-shower-controls{isolation:isolate;text-shadow:0 1px 3px #000,0 2px 12px #00101c}
.seamless-hero .hero-shower-controls:before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:-48px -54px -36px;background:radial-gradient(ellipse at 50% 50%,rgba(2,16,28,.94) 0%,rgba(2,16,28,.83) 39%,rgba(2,16,28,.4) 65%,transparent 80%);filter:blur(12px)}
.seamless-hero .shower-score-readout .eyebrow{color:#b3edff;font-size:12px;font-weight:700}
.seamless-hero .shower-score-readout strong{color:#fff;font-size:16px;font-weight:650;text-shadow:0 2px 6px #000}
.seamless-hero .shower-score-label{color:#fff;font-size:18px;font-weight:700}
.seamless-hero .shower-score-numbers{color:#f1f9ff;font-size:14px;font-weight:550}
.seamless-hero .shower-score-readout output{color:#8debff;text-shadow:0 2px 8px #00101c;font-weight:750}
.seamless-hero .slider-note{color:#dbeaf5;font-size:13px;line-height:1.6}
@media(max-width:760px){.seamless-hero .hero-shower-controls:before{inset:-40px -22px -32px}.seamless-hero .shower-score-readout strong{font-size:15px}.seamless-hero .shower-score-label{font-size:17px}.seamless-hero .shower-score-numbers{font-size:13px}}
/* Local contrast only: keep the water above and around the controls unobscured. */
.seamless-hero .hero-shower-controls:before{inset:1px -8px -5px;background:linear-gradient(180deg,transparent 0%,rgba(2,16,28,.78) 8%,rgba(2,16,28,.84) 87%,transparent 100%);filter:blur(5px);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.seamless-hero:before{background:linear-gradient(90deg,#031a2ddd 0%,#031a2d9c 31%,transparent 55%)}
@media(max-width:760px){.seamless-hero .hero-shower-controls:before{inset:1px -6px -5px}.seamless-hero:before{background:linear-gradient(180deg,#031a2d99 0%,#031a2d66 35%,transparent 48%)}}
/* Separate, content-sized contrast halos; no shared control backdrop. */
.seamless-hero .hero-shower-controls:before{display:none}
.seamless-hero .hero-shower-controls{background:none;text-shadow:none}
.seamless-hero .shower-score-readout .eyebrow,
.seamless-hero .shower-score-readout strong,
.seamless-hero .shower-score-label,
.seamless-hero .shower-score-numbers span,
.seamless-hero .slider-note{text-shadow:0 1px 2px #000,0 0 3px #000,0 0 6px #00101c,0 0 6px #00101c,0 0 11px #00101c,0 0 17px #00101c}
.seamless-hero .shower-score-readout output{text-shadow:0 2px 3px #000,0 0 6px #00101c,0 0 10px #00101c,0 0 10px #00101c,0 0 22px #00101c}
.seamless-hero .shower-score-control input::-webkit-slider-runnable-track{box-shadow:0 0 7px 4px #00101cee,0 0 15px 5px #00101c88}
.seamless-hero .shower-score-control input::-moz-range-track{box-shadow:0 0 7px 4px #00101cee,0 0 15px 5px #00101c88}

/* Minimal shower controls: score, slider, and discreet right-side note. */
.seamless-hero .shower-score-readout{justify-content:flex-end;margin-bottom:10px}
.seamless-hero .slider-note{font-size:10px;line-height:1.5;max-width:175px;text-align:right;margin:16px 0 0 auto;color:#cfdeea}
@media(min-width:1400px){.seamless-hero .slider-note{position:absolute;left:calc(100% + 24px);bottom:14px;width:104px;max-width:none;text-align:left;margin:0}}

/* A generous drop handle with a wordless two-way drag cue. */
.seamless-hero .shower-score-control input{height:68px;touch-action:pan-y}
.seamless-hero .shower-score-control input::-webkit-slider-thumb{box-sizing:border-box;width:52px;height:52px;border:3px solid #f2fcff;background-color:#069fce;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cg%20transform%3D%22rotate%2845%2024%2024%29%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%2018l-6%206%206%206M29%2018l6%206-6%206%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-size:100% 100%;box-shadow:0 0 0 2px #73ddf580,0 5px 18px #00121dcc,0 0 22px #51d9ff66;margin-top:-17px;}
.seamless-hero .shower-score-control input::-moz-range-thumb{box-sizing:border-box;width:52px;height:52px;border:3px solid #f2fcff;background-color:#069fce;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cg%20transform%3D%22rotate%2845%2024%2024%29%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%2018l-6%206%206%206M29%2018l6%206-6%206%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-size:100% 100%;box-shadow:0 0 0 2px #73ddf580,0 5px 18px #00121dcc,0 0 22px #51d9ff66;}
 .seamless-hero .shower-score-control input:hover{filter:brightness(1.12)}

/* Keep the scale legible beside the larger handle and falling water. */
.seamless-hero .shower-score-numbers{color:#fff;font-weight:750;font-size:15px}
.seamless-hero .shower-score-numbers span{text-shadow:0 1px 2px #000,0 0 4px #000,0 0 7px #00101c,0 0 7px #00101c,0 0 13px #00101c}
@media(max-width:760px){.seamless-hero .shower-score-numbers{font-size:14px}}

/* Center-out track shimmer invites movement without lettering. */
.seamless-hero .shower-score-control{position:relative}
.seamless-hero .shower-score-control input::-webkit-slider-thumb{background-image:none}
.seamless-hero .shower-score-control input::-moz-range-thumb{background-image:none}
.slider-motion{position:absolute;left:7px;right:7px;top:20px;height:18px;border-radius:99px;overflow:hidden;pointer-events:none;z-index:2;display:flex;gap:52px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.slider-motion i{position:relative;flex:1;overflow:hidden}
.slider-motion i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);width:35%;animation:track-out-left 2.6s ease-out infinite}
.slider-motion i+ i:after{animation-name:track-out-right}
@keyframes track-out-left{0%,15%{left:100%;opacity:0}25%{opacity:.9}75%,100%{left:-35%;opacity:0}}
@keyframes track-out-right{0%,15%{left:-35%;opacity:0}25%{opacity:.9}75%,100%{left:100%;opacity:0}}
.has-interacted .slider-motion{display:none}
@media(prefers-reduced-motion:reduce){.slider-motion{display:none}}
.seamless-hero .shower-score-control input::-webkit-slider-runnable-track{height:28px}
.seamless-hero .shower-score-control input::-moz-range-track{height:28px}
.seamless-hero .shower-score-control input::-webkit-slider-thumb{margin-top:-12px}
.slider-motion{top:15px;height:28px}
.seamless-hero .shower-score-control input::-webkit-slider-thumb{border-color:#07324d;box-shadow:0 0 0 2px #07324d80,0 5px 18px #00121dcc}
.seamless-hero .shower-score-control input::-moz-range-thumb{border-color:#07324d;box-shadow:0 0 0 2px #07324d80,0 5px 18px #00121dcc}
/* Let the shimmer pass behind the actual rounded thumb, without a square gap. */
.slider-motion{gap:0;z-index:0}
.seamless-hero .shower-score-control input{position:relative;z-index:1}
.seamless-hero .shower-score-control input::-webkit-slider-runnable-track{background:linear-gradient(90deg,#f47b20d9,#ee3f76d9 28.57%,#a04cabd9 57.14%,#17b9e8d9);box-shadow:0 0 7px 4px #00101cee,0 0 15px 5px #00101c88}
.seamless-hero .shower-score-control input::-moz-range-track{background:linear-gradient(90deg,#f47b20d9,#ee3f76d9 28.57%,#a04cabd9 57.14%,#17b9e8d9);box-shadow:0 0 7px 4px #00101cee,0 0 15px 5px #00101c88}
.slider-motion{background:linear-gradient(90deg,#f47b20,#ef5c3b 14.28%,#ee3f76 28.57%,#d63591 42.85%,#a04cab 57.14%,#7674c6 71.42%,#42a9dc 85.71%,#17b9e8);mask-image:none}
.seamless-hero .shower-score-control input::-webkit-slider-runnable-track{background:transparent}
.seamless-hero .shower-score-control input::-moz-range-track{background:transparent}
.has-interacted .slider-motion{display:flex}
.has-interacted .slider-motion i{visibility:hidden}
@media(prefers-reduced-motion:reduce){.slider-motion{display:flex}.slider-motion i{visibility:hidden}}
/* Feather the moving light in both directions, eliminating rectangular bands. */
.slider-motion i{overflow:visible}
.slider-motion i:after{top:-5px;bottom:-5px;width:48%;background:radial-gradient(ellipse at center,rgba(255,255,255,.72) 0%,rgba(255,255,255,.35) 30%,rgba(255,255,255,.08) 57%,transparent 73%)}
@keyframes track-out-left{0%,10%{left:90%;opacity:0}22%{opacity:.85}78%,100%{left:-48%;opacity:0}}
@keyframes track-out-right{0%,10%{left:-38%;opacity:0}22%{opacity:.85}78%,100%{left:100%;opacity:0}}
/* Brighter center-out pulses, retaining feathered rounded edges. */
.slider-motion i:after{background:radial-gradient(ellipse at center,rgba(255,255,255,.98) 0%,rgba(255,255,255,.65) 28%,rgba(255,255,255,.22) 53%,transparent 75%)}
@keyframes track-out-left{0%,10%{left:90%;opacity:0}22%,48%{opacity:1}82%,100%{left:-48%;opacity:0}}
@keyframes track-out-right{0%,10%{left:-38%;opacity:0}22%,48%{opacity:1}82%,100%{left:100%;opacity:0}}
/* Directional light arrows travel outward on the track. */
.slider-motion i:after{top:3px;bottom:3px;width:38px;background:linear-gradient(90deg,#ffffffed,#ffffff70);clip-path:polygon(0 50%,42% 0,62% 0,32% 39%,100% 39%,100% 61%,32% 61%,62% 100%,42% 100%);filter:drop-shadow(0 0 3px #ffffff88)}
.slider-motion i+i:after{transform:scaleX(-1)}
/* Mirrored tapered glows share the exact center beneath the droplet. */
.slider-motion i:after{top:2px;bottom:2px;width:64px;filter:none;background:radial-gradient(ellipse at 60% 50%,rgba(255,255,255,.78) 0%,rgba(255,255,255,.40) 30%,rgba(255,255,255,.10) 60%,transparent 78%);clip-path:polygon(0 50%,40% 0,100% 0,100% 100%,40% 100%);transform:none;animation:soft-out-left 2.8s ease-out infinite}
.slider-motion i+i:after{transform:scaleX(-1);animation-name:soft-out-right}
@keyframes soft-out-left{0%,10%{left:calc(100% - 32px);opacity:0}25%{opacity:.9}75%,100%{left:-64px;opacity:0}}
@keyframes soft-out-right{0%,10%{left:-32px;opacity:0}25%{opacity:.9}75%,100%{left:100%;opacity:0}}

/* Concave inner edges echo the rounded droplet. */
.slider-motion i:after{clip-path:none;mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2024%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M22%201%20C12%201%205%205%205%2012%20C5%2019%2012%2023%2022%2023%20H64%20Q40%2012%2064%201%20Z%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2024%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M22%201%20C12%201%205%205%205%2012%20C5%2019%2012%2023%2022%2023%20H64%20Q40%2012%2064%201%20Z%22%2F%3E%3C%2Fsvg%3E");mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}

/* Feather the concave edge into the colored track. */
.slider-motion i:after{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2024%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22soft%22%20x%3D%22-30%25%22%20y%3D%22-50%25%22%20width%3D%22160%25%22%20height%3D%22200%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%221.6%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22white%22%20filter%3D%22url%28%23soft%29%22%20d%3D%22M22%201%20C12%201%205%205%205%2012%20C5%2019%2012%2023%2022%2023%20H64%20Q40%2012%2064%201%20Z%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2024%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22soft%22%20x%3D%22-30%25%22%20y%3D%22-50%25%22%20width%3D%22160%25%22%20height%3D%22200%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%221.6%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22white%22%20filter%3D%22url%28%23soft%29%22%20d%3D%22M22%201%20C12%201%205%205%205%2012%20C5%2019%2012%2023%2022%2023%20H64%20Q40%2012%2064%201%20Z%22%2F%3E%3C%2Fsvg%3E")}

/* Water-inspired forward cue for primary calls to action. */
.button .cta-drop{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50% 50% 50% 12%;background:#ffffff24;transform:rotate(-45deg);transition:transform .22s ease,background .22s ease;font-size:0}
.button .cta-drop svg{width:20px;height:20px;transform:rotate(45deg)}
.score-hero .hero-content>.button .cta-drop{background:#07324d;color:#8beaff;box-shadow:inset 0 1px 1px #ffffff30}
.button:hover .cta-drop{transform:translateX(3px) rotate(-45deg)}
.button.small .cta-drop{flex-basis:28px;width:28px;height:28px}
.button.small .cta-drop svg{width:17px;height:17px}
@media(prefers-reduced-motion:reduce){.button .cta-drop{transition:none}.button:hover .cta-drop{transform:rotate(-45deg)}}

/* Simple directional chevrons keep the call to action uncluttered. */
.button .cta-drop,.score-hero .hero-content>.button .cta-drop{background:none;box-shadow:none;border-radius:0;transform:none;color:inherit;flex-basis:20px;width:20px;height:24px}
.button .cta-drop svg,.button.small .cta-drop svg{width:20px;height:20px;transform:none}
.button.small .cta-drop{flex-basis:18px;width:18px;height:22px}
.button:hover .cta-drop{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){.button:hover .cta-drop{transform:none}}

/* Consistent chevrons for the question cards and visit link. */
.question-link>.link-chevron,.text-link>.link-chevron{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;background:none;border-radius:0;transform:none;vertical-align:middle}
.link-chevron svg{width:20px;height:20px;display:block}

.calculator-nav-link{font-size:13px;font-weight:650;text-decoration:none;white-space:nowrap}.calculator-nav-link:hover{color:#007ead}
@media(max-width:760px){.nav{flex-wrap:wrap;gap:10px;padding-block:12px}.nav nav{gap:14px}.calculator-nav-link{font-size:12px}}

/* A brief gesture hint moves only the existing thumb; its shape stays fixed. */
.seamless-hero .gesture-hint input::-webkit-slider-thumb{animation:drop-gesture-hint 2.4s ease-in-out .6s 2}
.seamless-hero .gesture-hint input::-moz-range-thumb{animation:drop-gesture-hint 2.4s ease-in-out .6s 2}
@keyframes drop-gesture-hint{0%,12%,68%,100%{translate:0 0}28%{translate:-6px 0}48%{translate:6px 0}}
@media(prefers-reduced-motion:reduce){.seamless-hero .gesture-hint input::-webkit-slider-thumb{animation:none}.seamless-hero .gesture-hint input::-moz-range-thumb{animation:none}}

/* Material-style touch point demonstrates a short drag of the existing drop. */
.touch-gesture{position:absolute;left:50%;top:29px;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:#ffffff55;border:2px solid #fff;box-shadow:0 0 0 7px #ffffff18,0 2px 9px #06283b66;pointer-events:none;z-index:4;opacity:0}
.seamless-hero .gesture-hint input::-webkit-slider-thumb{animation:drop-touch-demo 3.4s ease-in-out .8s infinite}
.seamless-hero .gesture-hint input::-moz-range-thumb{animation:drop-touch-demo 3.4s ease-in-out .8s infinite}
.gesture-hint .touch-gesture{animation:touch-point-demo 3.4s ease-in-out .8s infinite}
@keyframes drop-touch-demo{0%,22%,80%,100%{translate:0 0}46%{translate:26px 0}64%{translate:-16px 0}}
@keyframes touch-point-demo{0%{opacity:0;transform:translate(0,15px) scale(1.2)}12%{opacity:.9;transform:translate(0,0) scale(1)}22%{opacity:.9;transform:translate(0,0) scale(.82)}46%{opacity:.9;transform:translate(26px,0) scale(.82)}64%{opacity:.9;transform:translate(-16px,0) scale(.82)}80%{opacity:.9;transform:translate(0,0) scale(.82)}90%,100%{opacity:0;transform:translate(0,10px) scale(1.15)}}
@media(prefers-reduced-motion:reduce){.touch-gesture{display:none}.seamless-hero .gesture-hint input::-webkit-slider-thumb,.seamless-hero .gesture-hint input::-moz-range-thumb{animation:none}}

/* Responsive polish: readable reassurance, deliberate navigation and touch targets. */
.reassurance{flex-wrap:wrap;gap:8px 10px;line-height:1.6}
.reassurance span{display:inline-block}
.reassurance i{flex:0 0 3px}
.nav nav,.hero-content,.water-score-panel,.form-card{min-width:0}
.field input,.field select{min-width:0;max-width:100%}
@media(min-width:761px) and (max-width:1100px){
 .nav{gap:18px;padding-inline:24px}.brand{gap:12px}.brand>span{display:none}
 .nav nav{gap:18px}.nav .button.small{white-space:nowrap}
 .seamless-hero .hero-content,.seamless-hero .water-score-panel{width:calc(100% - 48px)}
 .seamless-hero h1{font-size:clamp(40px,5vw,55px)}
 .seamless-hero .hero-lead{font-size:18px}
 .question-grid{gap:16px}.question{padding:24px}.question h3{font-size:24px}
 .visit-grid,.contact-grid{gap:32px}
}
@media(max-width:760px){
 html{scroll-padding-top:140px}
 .nav{display:grid;grid-template-columns:1fr;gap:8px;min-height:0;padding:12px 20px}
 .brand{justify-content:center}.brand>span{display:none}.brand img{width:166px}
 .nav nav{display:flex;width:100%;justify-content:space-between;gap:12px}
 .nav .calculator-nav-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
 .nav .button.small{min-height:44px;font-size:12px;white-space:nowrap;padding:10px 12px}
 .seamless-hero .score-hero-grid{padding-inline:24px}
 .seamless-hero .hero-content>.button{width:100%;max-width:360px}
 .seamless-hero .reassurance{font-size:12px;gap:6px 8px;max-width:360px}
 .seamless-hero .reassurance span:last-child{flex-basis:100%}
 .seamless-hero .reassurance i:nth-of-type(2){display:none}
 .seamless-hero .shower-score-numbers{font-size:13px;font-variant-numeric:tabular-nums}
 .seamless-hero .slider-note{font-size:11px;max-width:190px}
 .lead-form{grid-template-columns:1fr}.lead-form>*{grid-column:1/-1}
 .field input,.field select{font-size:16px;min-height:48px}
 .faq summary{min-height:60px;gap:16px}.faq summary span{flex-shrink:0}
 .mobile-cta{bottom:calc(12px + env(safe-area-inset-bottom,0px));left:20px;right:20px}
 footer{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
 .question h3{font-size:26px}.section-head h2{font-size:clamp(32px,9vw,42px)}
}
@media(max-width:360px){
 .nav{padding-inline:16px}.nav nav{gap:8px}.nav .button.small{font-size:11px;padding-inline:10px}
 .seamless-hero .score-hero-grid{padding-inline:20px}
 .seamless-hero h1{font-size:40px}.seamless-hero .hero-lead{font-size:17px}
 .question{padding:22px}.form-card{padding:24px 18px}
}

.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{grid-column:1/-1;margin:0;min-height:1.4em;color:#a12c2c;font-size:13px;font-weight:600;text-align:center}
.lead-form>.btn[disabled]{cursor:wait;opacity:.72}
