/* WV System · site de vendas (wvsystem.com) — estilo comum a todas as telas */
:root{
  --g:#101114;--g1:#15171C;--g2:#1E2129;--g3:#2A2E38;--l:#E8552D;--l2:#C9431F;--l3:#FF7A4D;--p:#F5F3EE;--p2:#ECE9E2;--b:#FFFFFF;
  --t:#2A2E38;--s:#5C6170;--s2:#8B8F98;--li:#E4E1DA;
  --marm:#2F2F2F;--marm2:#F5A623;--pisc:#0A7BC4;--pisc2:#F7931E;--flux:#3E5A43;--flux2:#B8653F;--odon:#E07A35;--odon2:#C95F1B;--odon3:#F4EBDD;
  --raio:22px;--sombra:0 1px 2px rgba(16,17,20,.05),0 12px 32px rgba(16,17,20,.08)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--p);color:var(--g);font:16px/1.65 Mulish,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Sora,system-ui,sans-serif;line-height:1.12;margin:0;letter-spacing:-.4px}
a{color:inherit}
img,svg{display:block}
.in{max-width:1120px;margin:0 auto;padding:0 16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.bt{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border-radius:14px;font:700 16px Mulish,sans-serif;text-decoration:none;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
.bt:hover{transform:translateY(-1px)}
.bt.la{background:linear-gradient(180deg,var(--l3),var(--l));color:#fff;box-shadow:0 10px 24px rgba(232,85,45,.35)}
.bt.la:hover{box-shadow:0 14px 30px rgba(232,85,45,.45)}
.bt.cl{background:rgba(255,255,255,.06);color:#fff;border:1.5px solid rgba(255,255,255,.22)}
.bt.es{background:var(--g1);color:#fff}
.bt.br{background:#fff;color:var(--g);border:1.5px solid var(--li)}
.selo{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font:700 12px Mulish,sans-serif;letter-spacing:.6px;text-transform:uppercase;background:rgba(232,85,45,.12);color:var(--l3);border:1px solid rgba(232,85,45,.35)}
.selo.cl{background:#fff;color:var(--l2);border-color:rgba(232,85,45,.25)}

/* topo */
.topo{background:rgba(16,17,20,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#F4F3EF;position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(255,255,255,.06)}
.topo .in{display:flex;align-items:center;gap:16px;min-height:68px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 19px Sora,sans-serif;color:#F4F3EF}
.marca small{display:block;font:600 9px Mulish,sans-serif;letter-spacing:2.4px;color:#B4B8C0}
.topo nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.topo nav a.ln{color:#C9CBD1;text-decoration:none;font-weight:600;font-size:15px;padding:8px 12px;border-radius:10px}
.topo nav a.ln:hover,.topo nav a.ln[aria-current]{color:#fff;background:rgba(255,255,255,.07)}
.topo .bt{min-height:44px;padding:0 18px;font-size:15px;margin-left:8px}
.menu-bt{display:none;margin-left:auto;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;align-items:center;justify-content:center;cursor:pointer}
@media (max-width:920px){
  .menu-bt{display:flex}
  .topo nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--g);flex-direction:column;align-items:stretch;padding:10px 16px 18px;gap:2px;border-bottom:1px solid rgba(255,255,255,.08)}
  .topo nav.aberto{display:flex}
  .topo nav a.ln{padding:14px 12px;font-size:16px}
  .topo .bt{margin:10px 0 0}
}

/* abertura escura (todas as telas começam assim) */
.capa{position:relative;overflow:hidden;background:var(--g);color:#F4F3EF;padding:64px 0 72px}
.capa::before{content:"";position:absolute;inset:-20% -10% auto auto;width:720px;height:720px;background:radial-gradient(circle,rgba(232,85,45,.32),transparent 62%);pointer-events:none}
.capa::after{content:"";position:absolute;inset:auto auto -30% -15%;width:620px;height:620px;background:radial-gradient(circle,rgba(255,255,255,.06),transparent 60%);pointer-events:none}
.capa .in{position:relative;z-index:1}
.capa .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
@media (max-width:900px){.capa .grid{grid-template-columns:1fr}}
.capa h1{font-size:clamp(34px,5.2vw,56px);margin-top:16px}
.capa h1 em{font-style:normal;background:linear-gradient(90deg,var(--l3),var(--l));-webkit-background-clip:text;background-clip:text;color:transparent}
.capa p.l{font-size:clamp(17px,2vw,19px);color:#C9CBD1;margin:18px 0 28px;max-width:560px}
.capa .bts{display:flex;gap:12px;flex-wrap:wrap}
.capa .marcas{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;color:#B4B8C0;font-size:14px}
.capa .marcas span{display:flex;align-items:center;gap:8px}
.capa .marcas span::before{content:"";width:18px;height:18px;border-radius:50%;background:rgba(232,85,45,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF7A4D' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.capa.curta{padding:52px 0 56px}
.capa.curta .grid{grid-template-columns:1.2fr .8fr}

/* celular ilustrativo com a logo da WV */
.cena{position:relative;height:560px}
@media (max-width:900px){.cena{height:520px;margin-top:10px}}
@media (max-width:480px){.cena{height:470px;transform:scale(.9);transform-origin:top center}}
.fone{position:absolute;width:262px;height:532px;border-radius:44px;padding:11px;background:linear-gradient(145deg,#2B2E36,#0B0C0F 55%);box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 40px 80px rgba(0,0,0,.55),0 0 60px rgba(232,85,45,.12)}
.fone::before{content:"";position:absolute;top:18px;left:50%;transform:translateX(-50%);width:84px;height:22px;border-radius:12px;background:#0B0C0F;z-index:3}
.fone .tela{width:100%;height:100%;border-radius:34px;overflow:hidden;background:#F6F4EF;display:flex;flex-direction:column;font-size:12px;color:#222;position:relative}
.fone .bar-s{height:34px;flex-shrink:0}
.fone .cab{padding:4px 14px 16px;color:#fff;position:relative}
.fone .cab .lg{display:flex;align-items:center;gap:8px}
.fone .cab .lg b{font:700 15px Sora,sans-serif;letter-spacing:-.2px}
.fone .cab .lg small{display:block;font:600 8px Mulish,sans-serif;letter-spacing:1.8px;opacity:.75}
.fone .cab .t1{font:700 17px Sora,sans-serif;margin-top:12px}
.fone .cab .t2{font-size:11px;opacity:.8}
.fone .cx{margin:8px 12px 0;background:#fff;border-radius:14px;padding:10px 12px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.fone .cx b{display:block;font-size:12.5px;color:#15171C}.fone .cx span{color:#6B6F78;font-size:11px}
.fone .cx .v{font:800 17px Sora,sans-serif;margin-top:4px;color:#15171C}
.fone .bar{height:6px;border-radius:3px;background:#EEE;margin-top:7px;overflow:hidden}.fone .bar i{display:block;height:100%}
.fone .tag{display:inline-block;font:700 9.5px Mulish,sans-serif;padding:2px 7px;border-radius:7px;margin-top:5px}
/* desenho do orçamento dentro do celular (planta / 3D tirados do próprio app) */
.fone .cx.foto{padding:6px;position:relative}
.fone .cx.foto img{display:block;width:100%;height:auto;border-radius:10px}
.fone .cx.foto .abas{position:absolute;top:12px;left:12px;z-index:1;display:flex;gap:2px;background:rgba(255,255,255,.92);border-radius:8px;padding:2px;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.fone .cx.foto .abas span{font:800 9px Mulish,sans-serif;color:#555;padding:3px 8px;border-radius:6px}.fone .cx.foto .abas span.on{color:#fff}
.fone .nav{margin-top:auto;display:flex;justify-content:space-around;padding:10px 6px 16px;background:#fff;border-top:1px solid #EEE;font-size:10px;color:#8B8F98}
.fone .nav span.on{font-weight:800}
.fone.a{left:50%;top:6px;transform:translateX(-30%) rotate(4deg);z-index:2}
.fone.b{left:50%;top:40px;transform:translateX(-102%) rotate(-7deg) scale(.9);z-index:1;opacity:.96}
.fone.so{left:50%;top:10px;transform:translateX(-50%) rotate(3deg)}
.flut{position:absolute;z-index:4;background:rgba(255,255,255,.96);color:var(--g);border-radius:16px;padding:10px 14px;box-shadow:0 18px 40px rgba(0,0,0,.35);font-size:13px;display:flex;align-items:center;gap:10px;max-width:220px}
.flut b{display:block;font:700 13.5px Sora,sans-serif}
.flut i{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal}
@media (max-width:480px){.flut{display:none}}

/* seções claras */
.sec{padding:76px 0}
.sec.br{background:#fff}
.sec.cin{background:var(--p2)}
.sec.esc{background:var(--g1);color:#F4F3EF}
.cab-s{max-width:700px;margin:0 auto 40px;text-align:center}
.cab-s h2{font-size:clamp(28px,3.8vw,40px);margin-top:12px}
.cab-s p{color:var(--s);margin:12px 0 0;font-size:18px}
.sec.esc .cab-s p{color:#B4B8C0}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:960px){.g3,.g4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.g3,.g4,.g2{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--li);border-radius:var(--raio);padding:26px;box-shadow:var(--sombra)}
.card h3{font-size:21px}
.card p{color:var(--s);margin:8px 0 0}
.ico{width:50px;height:50px;border-radius:15px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:16px}
.sec.esc .card{background:var(--g2);border-color:rgba(255,255,255,.06);box-shadow:none}
.sec.esc .card p{color:#C9CBD1}

/* cartões dos sistemas (início) */
.sis{display:flex;flex-direction:column;position:relative;overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.sis:hover{transform:translateY(-4px);box-shadow:0 1px 2px rgba(16,17,20,.05),0 24px 48px rgba(16,17,20,.14)}
.sis .faixa{height:6px;margin:-26px -26px 22px}
.sis ul{list-style:none;margin:14px 0 20px;padding:0;display:flex;flex-direction:column;gap:8px}
.sis .rod{margin-top:auto;padding-top:16px;border-top:1px solid var(--li);display:flex;align-items:center;justify-content:space-between;gap:10px}
.sis .rod b{font:800 24px Sora,sans-serif}.sis .rod small{color:var(--s)}
.sis .mais{font-weight:800;color:var(--l2);display:flex;align-items:center;gap:6px}
ul.ok{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
ul.ok li{padding-left:28px;position:relative;color:var(--t)}
ul.ok li::before{content:"";position:absolute;left:0;top:4px;width:18px;height:18px;border-radius:50%;background:var(--cc,var(--l)) 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='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.sec.esc ul.ok li{color:#E4E5E8}

/* blocos de função (telas dos sistemas) */
.func{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:30px 0}
.func + .func{border-top:1px solid var(--li)}
.func.inv .txt{order:2}
@media (max-width:860px){.func{grid-template-columns:1fr;gap:20px}.func.inv .txt{order:0}}
.func h3{font-size:clamp(23px,2.8vw,30px);margin:10px 0 10px}
.func p{color:var(--s);font-size:17px;margin:0 0 16px}
.quadro{border-radius:26px;padding:26px;min-height:260px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.quadro .mini{background:#fff;border-radius:18px;padding:16px 18px;box-shadow:0 20px 40px rgba(0,0,0,.18);width:100%;max-width:340px;font-size:14px}
.quadro .mini b{display:block}.quadro .mini .lin{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #F0EEE9}
.quadro .mini .lin:last-child{border:none}.quadro .mini span{color:var(--s)}

/* antes x depois */
.av{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:760px){.av{grid-template-columns:1fr}}
.av .card h3{display:flex;align-items:center;gap:10px}
.av .antes li::before{background:#C9CBD1 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'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/11px no-repeat}
.av .antes li{color:var(--s)}

/* passos */
.passos{counter-reset:p}
.passos .card{counter-increment:p;position:relative;padding-top:64px}
.passos .card::before{content:counter(p);position:absolute;top:22px;left:26px;width:34px;height:34px;border-radius:50%;background:var(--l);color:#fff;display:flex;align-items:center;justify-content:center;font:800 15px Sora,sans-serif}

/* números */
.nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;text-align:center}
@media (max-width:760px){.nums{grid-template-columns:1fr 1fr}}
.nums b{display:block;font:800 clamp(30px,4vw,42px) Sora,sans-serif;background:linear-gradient(90deg,var(--l3),var(--l));-webkit-background-clip:text;background-clip:text;color:transparent}
.nums span{color:#B4B8C0;font-size:15px}

/* planos */
.plano{display:flex;flex-direction:column}
.plano .pr{display:flex;align-items:baseline;gap:6px;margin:14px 0 4px}
.plano .pr b{font:800 40px Sora,sans-serif}
.plano .pr small{color:var(--s)}
.plano ul{margin:18px 0 22px}
/* plano anual (preenchido pelo site.js a partir da Central; some se o plano não tiver anual) */
[hidden]{display:none!important}
.anual{display:block;font-size:14px;font-weight:700;color:#2E9E5B;line-height:1.4}
.sis .anual{margin-top:12px}
.plano .bt{margin-top:auto;width:100%}
.plano.dest{border:2px solid var(--l);position:relative}
.plano.dest::after{content:"Mais completo";position:absolute;top:-13px;left:26px;background:var(--l);color:#fff;font:800 11px Mulish,sans-serif;letter-spacing:.6px;text-transform:uppercase;padding:4px 10px;border-radius:999px}

/* chamada final */
.cta{background:radial-gradient(circle at 80% 0%,rgba(232,85,45,.35),transparent 55%),var(--g);color:#F4F3EF;border-radius:28px;padding:44px 32px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta h2{font-size:clamp(26px,3.4vw,36px)}
.cta p{color:#C9CBD1;margin:8px 0 0}

/* dúvidas */
.faq details{background:#fff;border:1px solid var(--li);border-radius:18px;padding:18px 20px;margin-bottom:10px}
.faq summary{font:700 17px Sora,sans-serif;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;letter-spacing:-.2px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--l);font-weight:800;font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--s);margin:10px 0 0}
.faq h3{font-size:20px;margin:28px 0 12px}

/* formulário */
form.ft{background:#fff;border:1px solid var(--li);border-radius:26px;padding:28px;box-shadow:var(--sombra)}
form.ft label{display:block;font-weight:700;font-size:14px;margin:14px 0 6px}
form.ft input,form.ft select{width:100%;min-height:52px;border:1.5px solid var(--li);border-radius:12px;padding:0 14px;font:16px Mulish,sans-serif;background:#fff;color:var(--g)}
form.ft input:focus,form.ft select:focus{outline:none;border-color:var(--l);box-shadow:0 0 0 3px rgba(232,85,45,.15)}
form.ft .d2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:520px){form.ft .d2{grid-template-columns:1fr}}
form.ft .ck{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;color:var(--s);margin-top:16px}
form.ft .ck input{width:20px;height:20px;min-height:0;margin-top:2px;accent-color:var(--l);flex-shrink:0}
form.ft .bt{width:100%;margin-top:20px}
.msg{margin-top:12px;font-size:15px;padding:12px 14px;border-radius:12px;display:none}
.msg.ok{display:block;background:#E9F5EC;color:#1E5B2E}.msg.er{display:block;background:#FDECE7;color:#9A2F14}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* rodapé */
.rodape{background:var(--g);color:#B4B8C0;padding:48px 0 34px;font-size:14px}
.rodape .g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
@media (max-width:760px){.rodape .g{grid-template-columns:1fr 1fr}}
.rodape b{display:block;color:#F4F3EF;font:700 14px Sora,sans-serif;margin-bottom:10px}
.rodape a{display:block;color:#C9CBD1;text-decoration:none;padding:4px 0}.rodape a:hover{color:#fff}
.rodape .fim{border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding-top:20px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.zap-fixo{position:fixed;right:16px;bottom:16px;z-index:50;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(0,0,0,.28)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bt,.sis{transition:none}}

/* logos dos sistemas (wv odonto, wv piscinas, wv marmoraria) */
.ico.prod{background:none!important;width:auto;height:auto}
.lock-prod{display:flex;width:fit-content;align-items:center;gap:12px;margin-bottom:18px;font:700 26px Sora,sans-serif;letter-spacing:-.8px;color:#fff}
.lock-prod b{font-weight:800}
.fone .cab .lg[data-logo-produto]{gap:8px}