:root{
  --deep:#063b5c;
  --blue:#0a5d8c;
  --aqua:#0a8fc4;
  --sky:#7fd0ea;
  --mist:#e8f6fb;
  --paper:#f7fbfd;
  --ink:#10222e;
  --muted:#4d6573;
  --line:#d4e6ee;
  --wa:#1fa855;
  --wa-dark:#178a45;
  --alert:#d9480f;
  --radius:18px;
  --shadow:0 10px 30px -12px rgba(6,59,92,.25);
  --font-h:"Sora",system-ui,sans-serif;
  --font-b:"Inter",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--font-b);overflow-x:hidden}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--font-h);line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem);font-weight:800}
h2{font-size:clamp(1.65rem,3.6vw,2.5rem);font-weight:700}
h3{font-size:1.15rem;font-weight:700}
p{margin:0 0 1em}
a{color:var(--blue)}
.wrap{width:min(1160px,100% - 32px);margin-inline:auto}
.skip{position:absolute;left:-999px}
.skip:focus{left:16px;top:16px;z-index:99;background:#fff;padding:8px 12px;border-radius:8px}
:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}

.eyebrow{font:600 .8rem/1.2 var(--font-b);text-transform:uppercase;letter-spacing:.12em;color:var(--aqua);margin-bottom:.9em}
.eyebrow--light{color:var(--sky)}
.hl{color:var(--aqua)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font:600 1rem/1 var(--font-b);padding:.95em 1.4em;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
.btn svg{width:1.25em;height:1.25em;flex:none}
.btn:active{transform:scale(.97)}
.btn--wa{background:var(--wa);color:#fff;box-shadow:0 8px 20px -8px rgba(31,168,85,.6)}
.btn--wa:hover{background:var(--wa-dark)}
.btn--ghost{border-color:rgba(255,255,255,.5);color:#fff}
.btn--ghost:hover{background:rgba(255,255,255,.1)}
.btn--line{border-color:var(--blue);color:var(--blue);background:transparent}
.btn--line:hover{background:var(--blue);color:#fff}
.btn--sm{padding:.7em 1.1em;font-size:.92rem}
.btn--lg{padding:1.1em 1.8em;font-size:1.1rem}
.btn--block{width:100%}

/* Topbar */
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar__in{display:flex;align-items:center;gap:24px;height:70px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--deep);margin-right:auto}
.brand__drop{width:34px;height:41px;flex:none}
.brand__txt{display:flex;flex-direction:column;line-height:1}
.brand__txt strong{font:800 1.45rem/1 var(--font-h);letter-spacing:-.02em;color:var(--deep)}
.brand__txt small{font:600 .62rem/1 var(--font-h);letter-spacing:.28em;color:var(--aqua);margin-top:.35em}
.nav{display:flex;gap:22px}
.nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem}
.nav a:hover{color:var(--aqua)}
@media (max-width:900px){.nav{display:none}}
@media (max-width:420px){.topbar .btn--sm span{display:none}.topbar .btn--sm{padding:.7em}}

/* Hero */
.hero{position:relative;background:radial-gradient(1200px 600px at 85% 10%,#0e79aa 0%,transparent 60%),linear-gradient(160deg,var(--deep),#04293f);color:#fff;padding:72px 0 120px;overflow:hidden}
.hero__in{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero .lead{font-size:1.15rem;color:#cfe7f2;max-width:34em}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
.hero__proof{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:.95rem;color:#cfe7f2}
.hero__proof li{display:flex;align-items:center;gap:6px}
.hero__proof svg{width:18px;height:18px;color:var(--sky)}
.wave{position:absolute;bottom:-1px;left:0;width:100%;height:70px;fill:var(--paper)}
@media (max-width:860px){.hero__in{grid-template-columns:1fr}.hero{padding:48px 0 100px}}

/* Glasses */
.hero__art{text-align:center}
.glasses{display:flex;justify-content:center;align-items:flex-end;gap:clamp(14px,3vw,28px)}
.glass{margin:0}
.glass__body{position:relative;width:clamp(78px,11vw,110px);height:clamp(120px,16vw,165px);border:3px solid rgba(255,255,255,.75);border-top:none;border-radius:0 0 18px 18px;clip-path:polygon(0 0,100% 0,92% 100%,8% 100%);overflow:hidden;background:rgba(255,255,255,.06)}
.glass__water{position:absolute;inset:22% 0 0;animation:slosh 5s ease-in-out infinite}
.glass--tap .glass__water{background:linear-gradient(#d8c79a,#b89f63)}
.glass--bottle .glass__water{background:linear-gradient(#dfe9e2,#bfd3c8)}
.glass--pure .glass__water{background:linear-gradient(#bdeeff,#59c4ec)}
.glass__water i{position:absolute;width:5px;height:5px;border-radius:50%;background:#6d5a2c;opacity:.7;animation:float 6s linear infinite}
.glass__water i:nth-child(1){left:20%;top:30%}
.glass__water i:nth-child(2){left:60%;top:55%;animation-delay:-2s;width:3px;height:3px}
.glass__water i:nth-child(3){left:40%;top:75%;animation-delay:-4s}
.glass__water i:nth-child(4){left:75%;top:20%;animation-delay:-1s;width:4px;height:4px}
.glass__water i:nth-child(5){left:30%;top:60%;animation-delay:-3s;width:3px;height:3px}
.glass--bottle .glass__water i{background:#8a9a8e}
.glass__water b{position:absolute;bottom:0;width:6px;height:6px;border-radius:50%;border:1.5px solid rgba(255,255,255,.9);animation:rise 3.5s ease-in infinite}
.glass__water b:nth-child(1){left:25%}
.glass__water b:nth-child(2){left:55%;animation-delay:-1.2s}
.glass__water b:nth-child(3){left:72%;animation-delay:-2.4s;width:4px;height:4px}
.glass figcaption{margin-top:10px;font:600 .9rem var(--font-h);color:#cfe7f2}
.glass--pure figcaption{color:#fff}
.hero__note{margin-top:18px;font-size:.88rem;color:#9fc7da}
@keyframes slosh{50%{transform:translateY(3px)}}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(4px,-8px)}}
@keyframes rise{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(-130px);opacity:0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Sections */
.sec{padding:88px 0}
.sec__head{max-width:720px;margin-bottom:44px}
.sec__head p:last-child{color:var(--muted);font-size:1.08rem}
@media (max-width:640px){.sec{padding:64px 0}}

/* Journey */
.journey{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px 24px}
.step__n{position:absolute;top:18px;right:20px;font:800 2.4rem/1 var(--font-h);color:var(--mist)}
.step__ic{width:54px;height:54px;border-radius:14px;background:var(--mist);color:var(--blue);display:grid;place-items:center;margin-bottom:18px}
.step__ic svg{width:34px;height:34px}
.step p{color:var(--muted);font-size:.97rem;margin:0}
.step--alert{border-color:#f3c3a8;background:#fff8f3}
.step--alert .step__ic{background:#ffe6d6;color:var(--alert)}
.step--alert .step__n{color:#fde0cd}
@media (max-width:980px){.journey{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.journey{grid-template-columns:1fr}}

.diseases{margin-top:28px;display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:center;background:var(--deep);color:#fff;border-radius:var(--radius);padding:32px}
.diseases__txt p{color:#b9d9e8;margin:0}
.diseases__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.dz{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px}
.dz strong{display:block;font-family:var(--font-h);color:var(--sky);margin-bottom:4px}
.dz span{font-size:.92rem;color:#dbecf4}
@media (max-width:860px){.diseases{grid-template-columns:1fr}.diseases__grid{grid-template-columns:1fr}}

/* Conta de água */
.sec--bill{background:#fff;border-top:1px solid var(--line)}
.bill{display:grid;grid-template-columns:1.05fr .95fr;gap:24px 56px;align-items:start}
.bill__copy>p{color:var(--muted);font-size:1.06rem}
.bill__copy strong{color:var(--ink)}
.bill__punch{margin-top:8px;background:#fff4ec;border-left:5px solid var(--alert);border-radius:12px;padding:18px 20px;font-size:1.08rem;line-height:1.5}
.bill__punch strong{color:var(--alert)}
.bill__side{display:grid;gap:16px}
.bill__card{margin:0;background:var(--paper);border:1px dashed #9fb8c4;border-radius:14px;padding:18px;font-size:.92rem;transform:rotate(-1deg);box-shadow:var(--shadow)}
.bill__card figcaption{font:700 1rem var(--font-h);margin-bottom:10px;display:flex;flex-direction:column}
.bill__card figcaption small{font:400 .78rem var(--font-b);color:var(--muted);margin-top:2px}
.bill__card table{width:100%;border-collapse:collapse}
.bill__card th,.bill__card td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line)}
.bill__card th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.bill__card tr:last-child td{border-bottom:none}
.bill__card .is-hot td{background:#fff1e8;font-weight:600}
.bill__card .is-hot td:first-child{color:var(--alert)}
.bill__ecoli{background:var(--deep);color:#fff;border-radius:14px;padding:20px 22px}
.bill__ecoli h3{color:var(--sky);margin-bottom:8px}
.bill__ecoli ul{margin:0 0 10px;padding-left:20px;color:#dbecf4;display:grid;gap:4px}
.bill__ecoli p{margin:0;font-size:.9rem;color:#9fc7da}
.bill__cta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;padding-top:12px}
.bill__src{margin:0;flex:1 1 320px;font-size:.78rem;color:var(--muted);line-height:1.5}
@media (max-width:900px){.bill{grid-template-columns:1fr}.bill__card{transform:none}}

/* Checklist */
.sec--check{background:var(--mist)}
.check{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
.check__head p:last-child{color:var(--muted)}
.check__form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check__form label{display:flex;gap:12px;align-items:flex-start;background:#fff;border:2px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;font-size:.97rem;transition:border-color .15s,background .15s}
.check__form label:hover{border-color:var(--sky)}
.check__form input{appearance:none;flex:none;width:22px;height:22px;border:2px solid var(--blue);border-radius:6px;margin:1px 0 0;display:grid;place-items:center;cursor:pointer}
.check__form input:checked{background:var(--blue)}
.check__form input:checked::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}
.check__form label:has(input:checked){border-color:var(--blue);background:#f2fafd}
.check__result{grid-column:1/-1;background:#fff;border-radius:14px;padding:18px 20px;border-left:5px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.check__result.is-mid{border-left-color:#f0a500}
.check__result.is-high{border-left-color:var(--alert)}
.check__result.is-low{border-left-color:var(--aqua)}
.check__msg{margin:0;flex:1 1 280px}
.check__msg strong{font-family:var(--font-h)}
@media (max-width:860px){.check{grid-template-columns:1fr;gap:24px}}
@media (max-width:560px){.check__form{grid-template-columns:1fr}}

/* Test */
.sec--test{background:linear-gradient(160deg,var(--deep),#04293f);color:#fff}
.test{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.test__copy>p{color:#cfe7f2;font-size:1.08rem}
.test__steps{list-style:none;padding:0;margin:28px 0 0;counter-reset:t;display:grid;gap:16px}
.test__steps li{counter-increment:t;position:relative;padding-left:52px;color:#cfe7f2}
.test__steps li::before{content:counter(t);position:absolute;left:0;top:-2px;width:36px;height:36px;border-radius:50%;background:var(--aqua);color:#fff;font:700 1rem/36px var(--font-h);text-align:center}
.test__steps strong{color:#fff}
.lead-form{background:#fff;color:var(--ink);border-radius:22px;padding:30px;box-shadow:0 30px 60px -20px rgba(0,0,0,.45);display:grid;gap:14px}
.lead-form h3{font-size:1.4rem;margin:0}
.lead-form__sub{color:var(--muted);margin:-6px 0 4px;font-size:.95rem}
.lead-form label{display:grid;gap:6px;font-weight:600;font-size:.9rem}
.lead-form input,.lead-form select{font:400 1rem var(--font-b);padding:.8em .9em;border:2px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);width:100%}
.lead-form input:focus,.lead-form select:focus{border-color:var(--aqua);outline:none;background:#fff}
.lead-form input[aria-invalid="true"]{border-color:var(--alert)}
.lead-form__err{color:var(--alert);margin:0;font-size:.9rem}
@media (max-width:860px){.test{grid-template-columns:1fr}.lead-form{padding:24px}}

/* Products / linhas */
.lines{display:grid;gap:56px}
.line{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:start}
.line__head{position:sticky;top:96px;display:flex;flex-direction:column;gap:6px}
.line__head h3{font-size:1.45rem;margin:0}
.line__head p{color:var(--muted);font-size:.97rem;margin:0 0 4px}
.line__pts{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:6px;font-size:.94rem}
.line__pts li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--aqua);margin-right:10px;vertical-align:middle}
.line__head .btn{align-self:flex-start}
.line__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
#linha-industrial .line__grid{grid-template-columns:repeat(2,1fr)}
#linha-acessorios .line__grid{grid-template-columns:1fr 2fr}
.tag{align-self:flex-start;font:600 .75rem/1 var(--font-b);text-transform:uppercase;letter-spacing:.08em;background:var(--mist);color:var(--blue);padding:.5em .8em;border-radius:999px;margin-bottom:4px}
.model{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.model:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.model__img{aspect-ratio:4/3;background:var(--mist);overflow:hidden}
.model__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.model:hover .model__img img{transform:scale(1.04)}
.model--tall .model__img{background:#15365e}
.model--tall .model__img img{object-fit:contain}
.model__body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.model__body h4{font:700 1.08rem var(--font-h);margin:0 0 4px}
.model__body p{color:var(--muted);font-size:.92rem;margin:0 0 12px;line-height:1.5}
.model__cta{margin-top:auto;font-weight:600;font-size:.92rem;color:var(--wa-dark);text-decoration:none}
.model__cta span{display:inline-block;transition:transform .15s}
.model__cta:hover span{transform:translateX(4px)}
.parts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-content:start}
.part{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.part img{aspect-ratio:4/3;width:100%;object-fit:cover}
.part figcaption{padding:8px 10px;font-size:.85rem;font-weight:600;text-align:center}
@media (max-width:1060px){.line{grid-template-columns:1fr;gap:20px}.line__head{position:static}.line__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.line__grid,#linha-industrial .line__grid,#linha-acessorios .line__grid{grid-template-columns:1fr}.parts{grid-template-columns:repeat(2,1fr)}}

/* Compare */
.sec--compare{padding-top:0}
.table-scroll{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--line);background:#fff}
.compare{width:100%;border-collapse:collapse;min-width:620px;font-size:.97rem}
.compare th,.compare td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line)}
.compare thead th{font:700 .95rem var(--font-h);background:var(--paper)}
.compare tbody th{font-weight:600;color:var(--ink)}
.compare td{color:var(--muted)}
.compare .win{background:#eaf7fc;color:var(--deep);font-weight:600}
.compare thead .win{background:var(--blue);color:#fff}
.compare tr:last-child th,.compare tr:last-child td{border-bottom:none}

/* Services */
.sec--services{background:#fff;border-block:1px solid var(--line)}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.svc{padding:26px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line)}
.svc svg{width:34px;height:34px;color:var(--aqua);margin-bottom:14px}
.svc p{color:var(--muted);font-size:.96rem;margin:0}
@media (max-width:980px){.services{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.services{grid-template-columns:1fr}}

/* Confiança */
.sec--trust{padding:48px 0;background:var(--deep);color:#fff}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}
.trust__item strong{display:block;font:800 1.5rem/1.2 var(--font-h);color:var(--sky);margin-bottom:4px}
.trust__item span{color:#cfe7f2;font-size:.97rem}
@media (max-width:700px){.trust{grid-template-columns:1fr;gap:18px}}

/* Area */
.sec--area{padding:56px 0;background:var(--mist)}
.area{text-align:center}
.area h2{font-size:1.5rem}
.area__list{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.area__list li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.5em 1.1em;font-weight:600;color:var(--deep)}
.area p{color:var(--muted);margin:0}
.area__list .is-hl{background:var(--deep);color:#fff;border-color:var(--deep)}

/* FAQ */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font:600 1.08rem var(--font-h);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.6rem;color:var(--aqua);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{color:var(--muted);padding-bottom:20px;margin:0}

/* Final */
.sec--final{background:radial-gradient(800px 400px at 50% 0%,#0e79aa,transparent 70%),var(--deep);color:#fff;text-align:center}
.final{max-width:720px}
.final>p{color:#cfe7f2;font-size:1.1rem;margin-bottom:28px}
.final__phone{margin-top:20px!important;font-size:.95rem!important}
.final__phone a{color:#fff}

/* Footer */
.footer{background:#04293f;color:#9fc7da;padding:36px 0;font-size:.92rem}
.footer__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-end}
.footer strong{color:#fff;font-family:var(--font-h)}
.footer__logo{width:180px;height:auto;margin:0 0 12px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.footer p{margin:4px 0 0}
.footer__small{font-size:.8rem;opacity:.75}

/* Float WhatsApp */
.float-wa{position:fixed;right:18px;bottom:18px;z-index:60;width:60px;height:60px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 10px 25px -6px rgba(0,0,0,.35);transition:transform .2s}
.float-wa:hover{transform:scale(1.07)}
.float-wa svg{width:32px;height:32px}
.float-wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:ping 2.4s ease-out infinite}
@keyframes ping{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.6);opacity:0}}
