:root{--az:#0b3d91;--az2:#082a66;--vm:#d7262d;--vd:#18b857;--vd2:#0f8f43;--bg:#f3f7fc;--tx:#17202e;--mu:#56627a;--bd:#dbe4f1;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--tx);background:#fff;padding-bottom:64px}
img,svg{max-width:100%;height:auto}a{color:var(--az)}a:hover{color:var(--vm)}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.sr{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
/* header */
.top{background:var(--az2);color:#fff;font-size:14px}.top .wrap{display:flex;justify-content:space-between;gap:8px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}.top a{color:#fff;text-decoration:none;font-weight:600}
header.h{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--bd);box-shadow:0 2px 10px rgba(11,61,145,.08)}
header.h .wrap{display:flex;align-items:center;gap:14px;padding-top:6px;padding-bottom:6px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;flex:0 0 auto}.brand img{width:52px;height:auto}
.brand b{display:block;line-height:1.1;color:var(--vm);font-size:17px}.brand small{color:var(--tx);font-weight:700;font-size:12px}
nav.m{flex:1;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
nav.m a{display:inline-block;padding:10px 12px;text-decoration:none;font-weight:600;font-size:15px;color:var(--az2);border-radius:8px}
nav.m a:hover,nav.m a[aria-current]{background:var(--bg);color:var(--vm)}
/* hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--az2),var(--az) 60%,#1456c4);color:#fff;padding:34px 0 40px}
.hero .wrap{position:relative;z-index:2;display:grid;gap:22px;align-items:center}
.hero h1{font-size:clamp(26px,5vw,42px);line-height:1.15;margin:0 0 10px}.hero h1 a{color:#fff;text-decoration:none;border-bottom:3px solid var(--vm)}
.hero p{margin:0 0 14px;font-size:18px;opacity:.95}
.hero.s{padding:22px 0 26px}.hero.s h1{font-size:clamp(24px,4.2vw,34px)}
.crumb{font-size:14px;margin:0 0 8px;opacity:.9}.crumb a{color:#cfe0ff}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;font-weight:700;text-decoration:none;color:#fff!important;border:0;font-size:16px;transition:transform .2s,box-shadow .2s}
.btn svg{width:22px;height:22px}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.25)}
.b-wa{background:var(--vd)}.b-tel{background:var(--vm)}.b-wa{animation:ring 2.4s infinite}
.hero-img{border-radius:var(--r);box-shadow:0 14px 34px rgba(0,0,0,.35);width:100%;height:auto}
.tag{display:inline-flex;gap:6px;align-items:center;background:rgba(255,255,255,.14);padding:4px 12px;border-radius:999px;font-size:14px;margin:0 6px 6px 0}
.tag svg{width:16px;height:16px;color:#7bffb0}
/* bolhas e gotas */
.fx{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.fx i{position:absolute;bottom:-30px;border-radius:50%;border:2px solid rgba(255,255,255,.55);background:rgba(255,255,255,.12);animation:up 9s linear infinite}
.fx i:nth-child(1){left:6%;width:14px;height:14px;animation-duration:7s}.fx i:nth-child(2){left:16%;width:26px;height:26px;animation-delay:2s}
.fx i:nth-child(3){left:30%;width:10px;height:10px;animation-delay:4s;animation-duration:6s}.fx i:nth-child(4){left:46%;width:20px;height:20px;animation-delay:1s}
.fx i:nth-child(5){left:58%;width:12px;height:12px;animation-delay:3s;animation-duration:8s}.fx i:nth-child(6){left:72%;width:30px;height:30px;animation-delay:5s;animation-duration:11s}
.fx i:nth-child(7){left:84%;width:16px;height:16px;animation-delay:2.5s}.fx i:nth-child(8){left:93%;width:22px;height:22px;animation-delay:6s;animation-duration:10s}
.fx .ic{position:absolute;color:rgba(255,255,255,.22);animation:fl 6s ease-in-out infinite}.fx .ic svg{width:100%;height:100%}
.fx .i1{left:3%;top:12%;width:54px}.fx .i2{right:4%;top:10%;width:62px;animation-delay:1s}.fx .i3{left:44%;top:6%;width:44px;animation-delay:2s}.fx .i4{right:30%;bottom:8%;width:50px;animation-delay:3s}
@keyframes up{0%{transform:translateY(0) scale(.7);opacity:0}15%{opacity:1}100%{transform:translateY(-420px) scale(1.15);opacity:0}}
@keyframes fl{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-12px) rotate(5deg)}}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(24,184,87,.65)}70%{box-shadow:0 0 0 16px rgba(24,184,87,0)}100%{box-shadow:0 0 0 0 rgba(24,184,87,0)}}
/* seções */
main section{padding:26px 0}main section:nth-of-type(even){background:var(--bg)}
h2{font-size:clamp(22px,3.4vw,30px);line-height:1.25;margin:0 0 12px;color:var(--az2)}h3{margin:14px 0 6px;font-size:19px;color:var(--az)}
.lead{font-size:18px;color:var(--mu)}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.card{background:#fff;border:1px solid var(--bd);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--tx);display:block;transition:transform .25s,box-shadow .25s,border-color .25s}
main section:nth-of-type(even) .card{background:#fff}
.card:hover{transform:translateY(-5px);box-shadow:0 12px 26px rgba(11,61,145,.16);border-color:var(--az);color:var(--tx)}
.card b{display:block;color:var(--az2);margin:6px 0 2px}.card span{font-size:14px;color:var(--mu)}
.ico{display:inline-flex;width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--az),#2a6ee0);color:#fff;align-items:center;justify-content:center}
.ico svg{width:28px;height:28px;transform-origin:50% 90%;animation:wob 4s ease-in-out infinite}
.card:hover .ico svg{animation:push .6s ease-in-out infinite}
@keyframes wob{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@keyframes push{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(5px) scaleY(.85)}}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:8px 0;padding:0}
.chips a{display:inline-block;background:#fff;border:1px solid var(--bd);padding:6px 12px;border-radius:999px;text-decoration:none;font-size:14px;transition:background .2s,transform .2s,color .2s}
.chips a:hover{background:var(--az);color:#fff;transform:translateY(-2px)}
main section:nth-of-type(even) .chips a{background:#fff}
.two{display:grid;gap:22px;align-items:center}
.photo{border-radius:var(--r);width:100%;height:auto;box-shadow:0 8px 22px rgba(11,61,145,.18)}
.steps{counter-reset:s;list-style:none;margin:0;padding:0;display:grid;gap:12px}
.steps li{counter-increment:s;position:relative;background:#fff;border:1px solid var(--bd);border-radius:var(--r);padding:14px 14px 14px 60px}
.steps li:before{content:counter(s);position:absolute;left:14px;top:12px;width:34px;height:34px;border-radius:50%;background:var(--vm);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;animation:ring2 2.8s infinite}
@keyframes ring2{0%{box-shadow:0 0 0 0 rgba(215,38,45,.5)}70%{box-shadow:0 0 0 12px rgba(215,38,45,0)}100%{box-shadow:0 0 0 0 rgba(215,38,45,0)}}
.ck{list-style:none;padding:0;margin:8px 0}.ck li{padding:4px 0 4px 30px;position:relative}
.ck li:before{content:"";position:absolute;left:0;top:9px;width:18px;height:18px;border-radius:50%;background:var(--vd) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M14 34l13 13 24-28' fill='none' stroke='%23fff' stroke-width='9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat}
details.f{background:#fff;border:1px solid var(--bd);border-radius:12px;margin:8px 0;padding:0 14px}details.f summary{cursor:pointer;font-weight:700;padding:12px 0;color:var(--az2)}details.f p{margin:0 0 12px}
.mapa{width:100%;max-width:100%;min-width:0;position:relative;aspect-ratio:16/9;min-height:260px;border-radius:var(--r);overflow:hidden;border:1px solid var(--bd);background:var(--bg)}
.mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cta{background:linear-gradient(135deg,var(--vm),#a81a20);color:#fff;border-radius:var(--r);padding:22px;text-align:center}.cta h2{color:#fff}.cta .btns{justify-content:center}
.rodov{background:var(--az2);color:#cfdcf5;padding:26px 0 16px;font-size:14px}.rodov a{color:#fff}.rodov h2{color:#fff;font-size:18px}
.rodov ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 16px}
.legal{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.2);font-size:14px}
/* barra fixa mobile + zap flutuante */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;background:#fff;box-shadow:0 -4px 14px rgba(0,0,0,.18)}
.bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 8px;font-weight:700;color:#fff;text-decoration:none}.bar svg{width:22px;height:22px}
.bar .w{background:var(--vd)}.bar .t{background:var(--vm)}
/* faixa animada de serviços */
.tick{background:var(--az);color:#fff;overflow:hidden;white-space:nowrap;padding:10px 0}
.tick div{display:inline-flex;gap:34px;animation:mq 38s linear infinite;padding-left:100%}
.tick span{display:inline-flex;gap:8px;align-items:center;font-weight:600}.tick svg{width:22px;height:22px}
.tick:hover div{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-100%)}}
/* encanamento animado (divisor) */
.pipe{height:18px;background:repeating-linear-gradient(90deg,var(--az) 0 22px,#2a6ee0 22px 44px);position:relative;overflow:hidden}
.pipe:after{content:"";position:absolute;inset:4px 0;background:repeating-linear-gradient(90deg,transparent 0 30px,rgba(255,255,255,.75) 30px 40px);animation:flow 1.6s linear infinite}
@keyframes flow{to{transform:translateX(40px)}}
/* mapa animado svg */
.vmapa{background:#eef4fb;border:1px solid var(--bd);border-radius:var(--r);overflow:hidden}
.vmapa svg{display:block;width:100%;height:auto}
.vmapa .zona{fill:#fff;stroke:#b9c9e3;stroke-width:1.5}.vmapa .zl{font:700 13px system-ui,sans-serif;fill:#0b3d91;pointer-events:none}
.vmapa .zona.c{fill:#e6f0ff}
.pin circle.d{fill:var(--vd);transform-box:fill-box;transform-origin:center;animation:blink 1.8s ease-in-out infinite;animation-delay:var(--d,0s)}
.pin circle.o{fill:none;stroke:var(--vd);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:halo 1.8s ease-out infinite;animation-delay:var(--d,0s)}
.pin:hover circle.d,.pin:focus circle.d{fill:var(--vm);animation:none;transform:scale(1.7)}
.pin text{font:600 11px system-ui,sans-serif;fill:#0a2a66;opacity:0;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none}
.pin:hover text,.pin:focus text{opacity:1}
.pin.mun text{opacity:1}
.lig{stroke:#8fb0e6;stroke-width:1.2;stroke-dasharray:5 5;fill:none;animation:dash 1.4s linear infinite}
@keyframes blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.7)}}
@keyframes halo{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
@keyframes dash{to{stroke-dashoffset:-20}}
.leg{display:flex;flex-wrap:wrap;gap:14px;font-size:14px;color:var(--mu);margin:8px 0}.leg b{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--vd);margin-right:6px;vertical-align:middle;animation:blink 1.8s infinite}
/* revelar ao rolar (progressivo, sem JS) */
@supports (animation-timeline:view()){.rv{animation:rv both linear;animation-timeline:view();animation-range:entry 0% cover 28%}}
@keyframes rv{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@media(min-width:760px){body{padding-bottom:0}.bar{display:none}.hero .wrap{grid-template-columns:1.15fr .85fr}.two{grid-template-columns:1fr 1fr}.two.rev .photo{order:-1}
 .zap{display:flex!important}}
.zap{display:none;position:fixed;right:18px;bottom:18px;z-index:60;width:60px;height:60px;border-radius:50%;background:var(--vd);color:#fff;align-items:center;justify-content:center;animation:ring 2.4s infinite}.zap svg{width:34px;height:34px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
.vmapa.big .pin text{font-size:13px}.vmapa.big .pin circle.d{r:6px}
