/* Suprema Desentupidora — branco, vermelho e azul */
:root{
  --azul:#0b3aa4;--azul-esc:#06215e;--azul-900:#041537;--azul-claro:#e9f0ff;--azul-borda:#c9d8fb;
  --verm:#e11d2e;--verm-esc:#b3101f;--verm-claro:#fdecee;
  --tinta:#0f172a;--texto:#334155;--suave:#64748b;--linha:#e2e8f0;--fundo:#f5f8fe;--branco:#fff;
  --raio:14px;--raio-g:22px;--sombra:0 1px 2px rgba(6,33,94,.06),0 8px 24px rgba(6,33,94,.08);
  --env:1180px;
  --fonte:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--fonte);font-size:17px;line-height:1.65;color:var(--texto);background:var(--branco)}
img{max-width:100%;height:auto;display:block}
svg{width:1.15em;height:1.15em;flex:none;vertical-align:middle}
a.cartao{color:var(--texto)}
a.cartao h3{color:var(--tinta)}
a.cartao .mais{color:var(--azul)}
a.cartao:hover .mais{color:var(--verm)}
a{color:var(--azul);text-underline-offset:3px}
a:hover{color:var(--verm)}
h1,h2,h3,h4{color:var(--tinta);line-height:1.18;margin:0 0 .5em;letter-spacing:-.015em}
h1{font-size:clamp(2rem,4.6vw,3.25rem);font-weight:850}
h2{font-size:clamp(1.55rem,3vw,2.2rem);font-weight:800}
h3{font-size:1.18rem;font-weight:750}
p{margin:0 0 1em}
ul,ol{padding-left:1.2em}
:focus-visible{outline:3px solid var(--verm);outline-offset:2px;border-radius:6px}
.pular{position:absolute;left:-9999px;top:0;background:var(--azul);color:#fff;padding:10px 16px;z-index:99}
.pular:focus{left:12px;top:12px}
.env{max-width:var(--env);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Faixa superior */
.faixa{background:var(--azul-900);color:#dbe6ff;font-size:.86rem}
.faixa .env{display:flex;gap:18px;justify-content:space-between;align-items:center;min-height:38px;flex-wrap:wrap}
.faixa a{color:#fff;font-weight:700;text-decoration:none}
.faixa .pulso{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;margin-right:7px;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:pulso 2s infinite}
@keyframes pulso{70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}

/* Cabeçalho */
.topo{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--linha)}
.topo .env{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:74px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none}
.marca img{height:54px;width:auto}
.marca span{display:flex;flex-direction:column;line-height:1.05}
.marca b{color:var(--verm);font-size:1.25rem;font-weight:900;font-style:italic;letter-spacing:.02em}
.marca small{color:var(--tinta);font-weight:800;font-size:.78rem;letter-spacing:.08em}
.menu{display:flex;align-items:center;gap:4px}
.menu a{color:var(--tinta);text-decoration:none;font-weight:650;font-size:.95rem;padding:9px 12px;border-radius:10px;white-space:nowrap}
.menu a:hover,.menu a[aria-current]{background:var(--azul-claro);color:var(--azul)}
.menu-btn{display:none}
@media (max-width:980px){
  .menu-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--linha);background:#fff;border-radius:10px;padding:9px 12px;font:inherit;font-weight:700;color:var(--tinta);cursor:pointer}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--linha);flex-direction:column;align-items:stretch;padding:10px 16px 18px;box-shadow:var(--sombra)}
  .menu.aberto{display:flex}
  .menu a{padding:12px}
  .topo .bt-topo{display:none}
}

/* Botões */
.bt{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;text-decoration:none;border-radius:999px;padding:14px 24px;font-size:1rem;line-height:1.2;border:2px solid transparent;transition:transform .15s ease,background .15s ease;cursor:pointer}
.bt:hover{transform:translateY(-1px)}
.bt svg{width:20px;height:20px;flex:none}
.bt--verm{background:var(--verm);color:#fff}
.bt--verm:hover{background:var(--verm-esc);color:#fff}
.bt--azul{background:var(--azul);color:#fff}
.bt--azul:hover{background:var(--azul-esc);color:#fff}
.bt--contorno{background:#fff;color:var(--azul);border-color:var(--azul-borda)}
.bt--contorno:hover{border-color:var(--azul);color:var(--azul)}
.bt--branco{background:#fff;color:var(--azul-esc)}
.bt--branco:hover{color:var(--verm)}
.bt--p{padding:10px 18px;font-size:.92rem}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 8px}

/* Hero */
.hero{position:relative;background:linear-gradient(180deg,var(--fundo),#fff);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--verm) 0 50%,var(--azul) 50% 100%)}
.hero .env{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center;padding-top:52px;padding-bottom:56px}
.selo{display:inline-flex;align-items:center;gap:8px;background:var(--verm-claro);color:var(--verm-esc);font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:7px 12px;border-radius:999px;margin-bottom:16px}
.hero h1 em{font-style:normal;color:var(--azul)}
.hero .lead{font-size:1.14rem;color:var(--texto);max-width:60ch}
.garantias{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:18px 0 0;font-weight:650;color:var(--tinta);font-size:.95rem}
.garantias li{display:flex;align-items:center;gap:7px}
.garantias svg{width:18px;height:18px;color:var(--verm)}
.hero__foto{position:relative}
.hero__foto img{border-radius:var(--raio-g);box-shadow:0 30px 60px -20px rgba(6,33,94,.35);aspect-ratio:1505/1024;object-fit:cover;width:100%}
.hero__card{position:absolute;left:-22px;bottom:-22px;background:#fff;border-radius:16px;box-shadow:var(--sombra);padding:14px 18px;display:flex;gap:12px;align-items:center;max-width:280px}
.hero__card b{display:block;color:var(--tinta);font-size:1.02rem}
.hero__card small{color:var(--suave);font-size:.84rem;line-height:1.35;display:block}
.hero__card .ico{width:42px;height:42px;border-radius:12px;background:var(--azul);color:#fff;display:grid;place-items:center;flex:none}
.hero__card .ico svg{width:22px;height:22px}
@media (max-width:900px){.hero .env{grid-template-columns:1fr;gap:34px;padding-top:36px}.hero__card{left:12px;bottom:-18px}}

/* Trilha */
.trilha{font-size:.88rem;color:var(--suave);margin-bottom:14px}
.trilha ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.trilha li+li::before{content:"›";margin-right:6px;color:var(--suave)}
.trilha a{color:var(--suave);text-decoration:none}
.trilha a:hover{color:var(--azul)}

/* Seções */
.secao{padding:72px 0}
.secao--fundo{background:var(--fundo)}
.secao--azul{background:linear-gradient(135deg,var(--azul-esc),var(--azul));color:#dbe6ff}
.secao--azul h2,.secao--azul h3{color:#fff}
.secao--azul a{color:#fff}
.cab{max-width:760px;margin-bottom:34px}
.cab--centro{margin-left:auto;margin-right:auto;text-align:center}
.rotulo{display:inline-block;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--verm);margin-bottom:10px}
.secao--azul .rotulo{color:#ffb3ba}
.cab p{font-size:1.06rem}
.artigo{max-width:820px}
.artigo h2{margin-top:1.4em}
.artigo h3{margin-top:1.3em}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media (max-width:860px){.duas{grid-template-columns:1fr}}

/* Números */
.numeros{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-34px;position:relative;z-index:2}
.numero{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:18px 20px;box-shadow:var(--sombra)}
.numero b{display:block;font-size:1.6rem;color:var(--azul);font-weight:850;line-height:1.1}
.numero span{font-size:.9rem;color:var(--suave)}
@media (max-width:860px){.numeros{grid-template-columns:repeat(2,1fr)}}

/* Cartões */
.grade{display:grid;gap:18px}
.grade--3{grid-template-columns:repeat(3,1fr)}
.grade--4{grid-template-columns:repeat(4,1fr)}
.grade--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:980px){.grade--4{grid-template-columns:repeat(2,1fr)}.grade--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.grade--4,.grade--3,.grade--2{grid-template-columns:1fr}}
.cartao{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:24px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,box-shadow .15s}
.cartao:hover{border-color:var(--azul-borda);box-shadow:var(--sombra)}
.cartao h3{margin-bottom:4px}
.cartao p{margin:0;font-size:.97rem}
.cartao .ico{width:46px;height:46px;border-radius:12px;background:var(--azul-claro);color:var(--azul);display:grid;place-items:center;margin-bottom:8px}
.cartao .ico svg{width:24px;height:24px}
.cartao .mais{margin-top:auto;padding-top:12px;font-weight:750;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.cartao--foto{padding:0;overflow:hidden}
.cartao--foto img{aspect-ratio:3/2;object-fit:cover;width:100%}
.cartao--foto .corpo{padding:18px 20px 22px}
.cartao--foto figcaption{padding:14px 18px 18px;font-size:.93rem}
.cartao--foto figcaption b{display:block;color:var(--tinta)}
figure{margin:0}

details.cartao summary{cursor:pointer;color:var(--tinta);list-style:none}
details.cartao summary::-webkit-details-marker{display:none}
details.cartao summary::after{content:" +";color:var(--verm);font-weight:800}
details.cartao[open] summary::after{content:" –"}
/* Listas */
.check{list-style:none;padding:0;margin:0 0 1em}
.check li{position:relative;padding-left:30px;margin-bottom:10px}
.check li::before{content:"";position:absolute;left:0;top:.42em;width:18px;height:18px;border-radius:50%;background:var(--azul) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") center/12px no-repeat}
.alerta li::before{background-color:var(--verm)}
.pilulas{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 1em}
.pilulas li{background:#fff;border:1px solid var(--azul-borda);color:var(--azul-esc);border-radius:999px;padding:6px 14px;font-size:.92rem;font-weight:600}
.pilulas a{text-decoration:none;color:inherit}
.pilulas a:hover{color:var(--verm)}
.colunas{columns:3 220px;column-gap:28px;padding-left:1.1em}
.colunas li{break-inside:avoid;margin-bottom:6px}
.vias{counter-reset:v;list-style:none;padding:0;columns:2 260px;column-gap:28px}
.vias li{counter-increment:v;break-inside:avoid;padding:7px 0 7px 40px;position:relative;border-bottom:1px dashed var(--linha)}
.vias li::before{content:counter(v);position:absolute;left:0;top:7px;width:28px;height:24px;border-radius:7px;background:var(--azul-claro);color:var(--azul);font-weight:800;font-size:.8rem;display:grid;place-items:center}
.vias small{color:var(--suave)}

/* Passos */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:p;list-style:none;padding:0;margin:0}
.passos li{counter-increment:p;background:#fff;border-radius:var(--raio);border:1px solid var(--linha);padding:24px;position:relative}
.passos li::before{content:counter(p);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--verm);color:#fff;font-weight:850;margin-bottom:12px}
.passos h3{font-size:1.06rem}
.passos p{margin:0;font-size:.95rem}
@media (max-width:980px){.passos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.passos{grid-template-columns:1fr}}

/* Dados locais */
.dados{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 22px}
.dado{background:#fff;border:1px solid var(--linha);border-left:4px solid var(--azul);border-radius:12px;padding:14px 16px}
.dado b{display:block;font-size:1.35rem;color:var(--tinta);font-weight:850}
.dado span{font-size:.85rem;color:var(--suave);line-height:1.35;display:block}
@media (max-width:860px){.dados{grid-template-columns:repeat(2,1fr)}}
.fonte{font-size:.84rem;color:var(--suave)}

/* Tabela de preços */
.tabela{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--raio);overflow:hidden;border:1px solid var(--linha);font-size:.97rem}
.tabela th,.tabela td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--linha);vertical-align:top}
.tabela th{background:var(--azul-esc);color:#fff;font-weight:700}
.tabela tr:last-child td{border-bottom:0}
.tabela td:last-child{white-space:nowrap;font-weight:700;color:var(--tinta)}
.rolagem{overflow-x:auto}

/* Destaque */
.destaque{background:var(--verm-claro);border:1px solid #f9c5ca;border-radius:var(--raio);padding:20px 22px;margin:22px 0}
.destaque b{color:var(--verm-esc)}
.nota{background:var(--azul-claro);border:1px solid var(--azul-borda);border-radius:var(--raio);padding:18px 20px;margin:18px 0;font-size:.97rem}

/* FAQ */
.faq{display:grid;gap:10px;max-width:880px}
.faq--centro{margin:0 auto}
.faq details{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:0 20px}
.faq details[open]{border-color:var(--azul-borda);box-shadow:var(--sombra)}
.faq summary{cursor:pointer;list-style:none;font-weight:750;color:var(--tinta);padding:17px 30px 17px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:1.5rem;color:var(--verm);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq .resp{padding-bottom:16px}
.faq .resp p:last-child{margin-bottom:0}
.faq .src{font-size:.82rem;color:var(--suave)}
.faq-grupo{margin-top:36px}
.faq-grupo:first-child{margin-top:0}

/* Galeria */
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:860px){.galeria{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.galeria{grid-template-columns:1fr}}

/* CTA final */
.cta{background:linear-gradient(120deg,var(--verm-esc),var(--verm) 55%,#f04050);color:#fff;border-radius:var(--raio-g);padding:42px;display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center}
.cta h2{color:#fff}
.cta p{color:#ffe4e6;margin:0}
.cta .acoes{justify-content:flex-end;margin:0}
@media (max-width:860px){.cta{grid-template-columns:1fr;padding:30px}.cta .acoes{justify-content:flex-start}}
.cta-linha{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:var(--azul-claro);border:1px solid var(--azul-borda);border-radius:var(--raio);padding:16px 20px;margin:26px 0 0}
.cta-linha p{margin:0;font-weight:650;color:var(--tinta)}

/* Formulário WhatsApp */
.form{background:#fff;border:1px solid var(--linha);border-radius:var(--raio-g);padding:28px;box-shadow:var(--sombra)}
.form label{display:block;font-weight:700;color:var(--tinta);margin:14px 0 6px;font-size:.95rem}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:1rem;padding:12px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:var(--tinta)}
.form textarea{min-height:110px;resize:vertical}
.form .bt{width:100%;margin-top:18px}
.form small{display:block;color:var(--suave);margin-top:10px;font-size:.84rem}

/* Rodapé */
.rodape{background:var(--azul-900);color:#b9c7e6;padding:60px 0 0;margin-top:72px;font-size:.95rem}
.rodape .env{display:grid;grid-template-columns:1.3fr 1fr .9fr 1.2fr .9fr;gap:32px}
.rodape h2{color:#fff;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.rodape ul{list-style:none;padding:0;margin:0}
.rodape li{margin-bottom:8px}
.rodape a{color:#e2e8ff;text-decoration:none}
.rodape a:hover{color:#ff8a94}
.rodape .marca-rod{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.rodape .marca-rod img{background:#fff;border-radius:12px;padding:6px;height:72px;width:auto}
.redes a{display:flex;flex-direction:column;line-height:1.3}
.redes small{color:#8ea0c8;font-size:.8rem;word-break:break-all}
.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding:20px 0 28px;text-align:center;font-size:.86rem;color:#9fb0d6}
.legal p{margin:4px 0}
.listra{height:6px;background:linear-gradient(90deg,var(--verm) 0 50%,#fff 50% 52%,var(--azul) 52% 100%)}
@media (max-width:900px){.rodape .env{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rodape .env{grid-template-columns:1fr}}

/* Botões flutuantes */
.flutuante{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;flex-direction:column;gap:10px}
.flutuante a{display:inline-flex;align-items:center;gap:9px;border-radius:999px;padding:13px 18px 13px 15px;font-weight:800;text-decoration:none;color:#fff;box-shadow:0 10px 26px -6px rgba(0,0,0,.35)}
.flutuante svg{width:24px;height:24px}
.flutuante .wpp{background:var(--verm)}
.flutuante .wpp:hover{background:var(--verm-esc);color:#fff}
.flutuante .tel{background:var(--azul);display:none}
@media (max-width:640px){
  body{padding-bottom:74px}
  .flutuante{left:0;right:0;bottom:0;flex-direction:row;gap:0;background:#fff;border-top:1px solid var(--linha);padding:8px}
  .flutuante a{flex:1;justify-content:center;border-radius:12px;box-shadow:none;margin:0 4px}
  .flutuante .tel{display:inline-flex}
}
/* ---------------- Movimento ---------------- */
/* Água correndo no rodapé do hero */
.ondas{position:absolute;left:0;right:0;bottom:0;height:70px;pointer-events:none;overflow:hidden;z-index:0}
.ondas i{position:absolute;bottom:0;left:0;width:200%;height:100%;background-repeat:repeat-x;background-size:50% 100%;animation:onda 14s linear infinite}
.ondas i:nth-child(1){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 70' preserveAspectRatio='none'%3E%3Cpath d='M0 40 Q150 10 300 40 T600 40 T900 40 T1200 40 V70 H0Z' fill='%230b3aa4' fill-opacity='.07'/%3E%3C/svg%3E")}
.ondas i:nth-child(2){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 70' preserveAspectRatio='none'%3E%3Cpath d='M0 50 Q150 25 300 50 T600 50 T900 50 T1200 50 V70 H0Z' fill='%23e11d2e' fill-opacity='.06'/%3E%3C/svg%3E");animation-duration:9s;animation-direction:reverse}
@keyframes onda{to{transform:translateX(-50%)}}
.bolhas{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.bolhas b{position:absolute;bottom:-30px;width:14px;height:14px;border-radius:50%;border:2px solid rgba(11,58,164,.18);animation:bolha 11s ease-in infinite}
.bolhas b:nth-child(1){left:6%;animation-delay:0s}
.bolhas b:nth-child(2){left:22%;width:9px;height:9px;animation-delay:3s;border-color:rgba(225,29,46,.2)}
.bolhas b:nth-child(3){left:47%;width:18px;height:18px;animation-delay:6s}
.bolhas b:nth-child(4){left:71%;width:10px;height:10px;animation-delay:1.5s;border-color:rgba(225,29,46,.2)}
.bolhas b:nth-child(5){left:89%;animation-delay:8s}
@keyframes bolha{0%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:1}100%{transform:translateY(-520px) translateX(24px);opacity:0}}
.hero .env{position:relative;z-index:1}

/* Cano com fluxo de água (decorativo) */
.cano{display:block;width:100%;height:18px;margin:22px 0 0;border-radius:9px;background:#e8eefb;position:relative;overflow:hidden;max-width:420px}
.cano::after{content:"";position:absolute;inset:4px 0;background:repeating-linear-gradient(90deg,var(--azul) 0 26px,transparent 26px 44px,var(--verm) 44px 58px,transparent 58px 76px);border-radius:5px;opacity:.55;animation:fluxo 1.6s linear infinite}
@keyframes fluxo{to{background-position:76px 0}}

/* Destaque do H1 desenhando */
.hero h1 em{position:relative;white-space:nowrap;isolation:isolate}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.16em;background:var(--verm);border-radius:4px;transform-origin:left;transform:scaleX(0);animation:risco .9s .5s cubic-bezier(.2,.8,.2,1) forwards;z-index:-1;opacity:.85}
@keyframes risco{to{transform:scaleX(1)}}

/* Entrada do hero */
.hero h1,.hero .lead,.hero .acoes,.hero .garantias,.hero .selo{animation:sobe .7s cubic-bezier(.2,.8,.2,1) both}
.hero .selo{animation-delay:.05s}.hero h1{animation-delay:.12s}.hero .lead{animation-delay:.22s}.hero .acoes{animation-delay:.32s}.hero .garantias{animation-delay:.42s}
@keyframes sobe{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero__foto{animation:entra .9s .2s cubic-bezier(.2,.8,.2,1) both}
@keyframes entra{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.hero__foto img{animation:flutua 7s 1.2s ease-in-out infinite}
.hero__card{animation:flutua 6s 2s ease-in-out infinite}
@keyframes flutua{50%{transform:translateY(-8px)}}

/* Botões com brilho */
.bt--verm,.bt--azul{position:relative;overflow:hidden}
.bt--verm::after,.bt--azul::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);transition:left .6s}
.bt--verm:hover::after,.bt--azul:hover::after{left:120%}
.flutuante .wpp{animation:chama 2.6s 3s ease-in-out infinite}
@keyframes chama{0%,100%{box-shadow:0 10px 26px -6px rgba(0,0,0,.35),0 0 0 0 rgba(225,29,46,.45)}50%{box-shadow:0 10px 26px -6px rgba(0,0,0,.35),0 0 0 12px rgba(225,29,46,0)}}

/* Cartões elevando */
.cartao{transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .15s,box-shadow .25s}
.cartao:hover{transform:translateY(-4px)}
.cartao .ico{transition:transform .3s}
.cartao:hover .ico{transform:rotate(-8deg) scale(1.08);background:var(--azul);color:#fff}
.cartao--foto img{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.cartao--foto:hover img{transform:scale(1.05)}

/* Faixa rolante de serviços */
.rolante{overflow:hidden;background:var(--azul-esc);color:#fff;padding:14px 0;margin-top:44px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.rolante div{display:flex;gap:42px;width:max-content;animation:rola 38s linear infinite;font-weight:750;font-size:1.02rem;white-space:nowrap}
.rolante span::before{content:"●";color:var(--verm);margin-right:42px;font-size:.7em;vertical-align:middle}
.rolante:hover div{animation-play-state:paused}
@keyframes rola{to{transform:translateX(-50%)}}

/* CTA com degradê vivo */
.cta{background-size:200% 200%;animation:vivo 10s ease infinite}
@keyframes vivo{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Revelar ao rolar (só com JS ativo) */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.js .rv.vis{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.topo,.faixa,.flutuante,.rodape{display:none}}
