/* Dr. PCD — camada visual (formas da marca, gráficos e animações sutis) */
.vz-tile{flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
article:hover .vz-tile,li:hover > .vz-tile,a:hover .vz-tile{transform:translateY(-3px) rotate(-5deg)}

/* topo em duas colunas */
.vz-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
@media (max-width:900px){.vz-hero{grid-template-columns:minmax(0,1fr)}}

/* revelar ao rolar */
.vz .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease-out,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--rd,0s)}
.vz .rv.on{opacity:1;transform:none}

/* formas do mosaico (símbolo da marca) como decoração */
.vz-deco{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.vz-deco i{position:absolute;display:block;animation:vz-flutua 9s ease-in-out infinite}
.vz-deco .c{border-radius:999px}
.vz-deco .q{border-radius:0 100% 0 0}
.vz-deco .s{border-radius:28%}
.vz-sobre{position:relative;z-index:1}
@keyframes vz-sobe{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes vz-flutua{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(0,-14px) rotate(4deg)}}

/* mosaico grande montado (2 x 2) */
.vz-mosaico{display:grid;grid-template-columns:1fr 1fr;gap:6%;width:100%;max-width:300px;aspect-ratio:1;margin:0 auto}
.vz-mosaico span{display:block;transform:translate(var(--x,0),var(--y,0)) scale(.6);opacity:0;transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .8s;transition-delay:var(--d)}
.vz-mosaico.on span{transform:none;opacity:1}
.vz-mosaico .m1{background:#1C46C8;border-radius:999px;--x:-30%;--y:-30%;--d:.05s}
.vz-mosaico .m2{background:#F6B93B;border-radius:0 100% 0 0;--x:30%;--y:-30%;--d:.2s}
.vz-mosaico .m3{background:#0F766E;border-radius:26%;--x:-30%;--y:30%;--d:.35s}
.vz-mosaico .m4{background:#0E1B33;border-radius:26%;--x:30%;--y:30%;--d:.5s;position:relative}
.vz-mosaico .m4 svg{position:absolute;inset:22%;width:56%;height:56%}
.vz-mosaico .m4 path{stroke-dasharray:40;stroke-dashoffset:40;transition:stroke-dashoffset .8s 1.1s ease-out}
.vz-mosaico.on .m4 path{stroke-dashoffset:0}
.vz-mosaico.claro .m4{background:#FFFFFF}

/* chips flutuantes */
.vz-chip{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;background:#FFFFFF;border:1px solid #D6DEEA;border-radius:999px;padding:8px 14px 8px 8px;font-size:14px;font-weight:700;color:#0E1B33;box-shadow:0 10px 26px rgba(14,27,51,.14);white-space:nowrap;animation:vz-sobe 7s ease-in-out infinite}
.vz-chip b{display:inline-flex;width:26px;height:26px;border-radius:999px;background:#E1F3F0;color:#0F766E;align-items:center;justify-content:center}

/* painel com gráficos (empresas) */
.vz-painel{position:relative;z-index:1;background:#FFFFFF;border:1px solid #D6DEEA;border-radius:24px;box-shadow:0 24px 60px rgba(14,27,51,.14);padding:22px;display:flex;flex-direction:column;gap:18px}
.vz-painel-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;color:#4A5874}
.vz-painel-topo b{font-size:17px;color:#0E1B33}
.vz-pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;border-radius:999px;padding:4px 10px;background:#E1F3F0;color:#0F766E}
.vz-pill::before{content:"";width:8px;height:8px;border-radius:999px;background:#0F766E;animation:vz-pisca 1.8s ease-in-out infinite}
.vz-painel-corpo{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center}
.vz-donut{position:relative;width:150px;height:150px}
.vz-donut > svg{width:100%;height:100%;transform:rotate(-90deg)}
.vz-donut .trilho{fill:none;stroke:#EEF2F8;stroke-width:14}
.vz-donut .arco{fill:none;stroke:url(#vz-grad);stroke-width:14;stroke-linecap:round;stroke-dasharray:314;stroke-dashoffset:314;transition:stroke-dashoffset 1.8s .3s cubic-bezier(.4,0,.2,1)}
.vz-on .vz-donut .arco,.vz-donut.on .arco{stroke-dashoffset:0}
.vz-donut .centro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:12px;color:#4A5874;line-height:1.25}
.vz-donut .centro b{display:inline-flex;width:38px;height:38px;border-radius:999px;background:#0F766E;color:#FFFFFF;align-items:center;justify-content:center;margin-bottom:4px;transform:scale(0);transition:transform .5s 1.9s cubic-bezier(.2,1.4,.4,1)}
.vz-donut.on .centro b{transform:scale(1)}
.vz-barras{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.vz-barras li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;font-size:14px;font-weight:700;color:#33415C}
.vz-barras li i{grid-column:1/-1;display:block;height:9px;border-radius:999px;background:#EEF2F8;overflow:hidden;position:relative}
.vz-barras li i::after{content:"";position:absolute;inset:0;width:0;border-radius:999px;background:var(--c,#1C46C8);transition:width 1.3s cubic-bezier(.4,0,.2,1);transition-delay:var(--d)}
.vz-barras.on li i::after{width:100%}
.vz-barras li em{font-style:normal;display:inline-flex;width:20px;height:20px;border-radius:999px;background:#0F766E;color:#FFFFFF;align-items:center;justify-content:center;transform:scale(0);transition:transform .4s cubic-bezier(.2,1.4,.4,1);transition-delay:calc(var(--d) + 1.2s)}
.vz-barras.on li em{transform:scale(1)}
.vz-painel-rodape{display:flex;flex-wrap:wrap;gap:8px}
.vz-painel-rodape span{font-size:13px;font-weight:700;color:#1C46C8;background:#E8EEFC;border-radius:999px;padding:5px 11px}

/* documento sendo emitido (médicos) */
.vz-doc{position:relative;z-index:1;background:#FFFFFF;border:1px solid #D6DEEA;border-radius:20px;box-shadow:0 24px 60px rgba(14,27,51,.14);padding:26px;display:flex;flex-direction:column;gap:12px;max-width:420px;margin:0 auto}
.vz-doc .cab{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #E4E9F2}
.vz-doc .cab b{display:block;font-size:17px}.vz-doc .cab small{display:block;font-size:13px;color:#4A5874}
.vz-doc .ln{height:10px;border-radius:999px;background:#EEF2F8;position:relative;overflow:hidden}
.vz-doc .ln::after{content:"";position:absolute;inset:0;width:0;background:#C9D6F5;border-radius:999px;transition:width .9s ease-out;transition-delay:var(--d)}
.vz-doc.on .ln::after{width:var(--w,100%)}
.vz-doc .rotulo-ln{font-size:12px;font-weight:700;color:#8794AD;letter-spacing:.06em;margin-top:6px}
.vz-doc .assin{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:8px}
.vz-doc .assin svg path{stroke-dasharray:160;stroke-dashoffset:160;transition:stroke-dashoffset 1.6s 1.6s ease-in-out}
.vz-doc.on .assin svg path{stroke-dashoffset:0}
.vz-doc .selo{display:inline-flex;align-items:center;gap:6px;background:#0E1B33;color:#FFFFFF;font-size:12px;font-weight:700;border-radius:999px;padding:6px 12px;transform:scale(0) rotate(-8deg);transition:transform .5s 3.1s cubic-bezier(.2,1.4,.4,1)}
.vz-doc.on .selo{transform:scale(1) rotate(-4deg)}
.vz-doc .selo i{color:#F6B93B;font-style:normal}

/* barras da cota (quem somos) */
.vz-cota{display:flex;flex-direction:column;gap:14px}
.vz-cota div{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px 12px;align-items:center;font-size:17px}
.vz-cota div b{text-align:right;font-size:18px}
.vz-cota div i{grid-column:1/-1;height:12px;border-radius:999px;background:#EEF2F8;position:relative;overflow:hidden}
.vz-cota div i::after{content:"";position:absolute;inset:0;width:0;border-radius:999px;background:var(--c);transition:width 1.2s cubic-bezier(.4,0,.2,1);transition-delay:var(--d)}
.vz-cota.on div i::after{width:var(--w)}

/* passos numerados coloridos (início) */
.vz-passos{position:relative}
.vz-num{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.vz-passos li{transition:transform .3s,box-shadow .3s}
.vz-passos li:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(14,27,51,.1)}
.vz-passos li:hover .vz-num{transform:scale(1.08) rotate(-6deg)}

/* faixa escura com brilho */
.vz-brilho{position:relative;overflow:hidden}
.vz-brilho::before,.vz-brilho::after{content:"";position:absolute;border-radius:999px;pointer-events:none;filter:blur(2px)}
.vz-brilho::before{width:420px;height:420px;right:-120px;top:-180px;background:radial-gradient(circle,rgba(28,70,200,.55),rgba(28,70,200,0) 70%);animation:vz-flutua 12s ease-in-out infinite}
.vz-brilho::after{width:320px;height:320px;left:-120px;bottom:-160px;background:radial-gradient(circle,rgba(246,185,59,.28),rgba(246,185,59,0) 70%);animation:vz-flutua 14s ease-in-out infinite reverse}
.vz-brilho > *{position:relative;z-index:1}

/* perguntas frequentes */
.vz-faq details{transition:border-color .2s,box-shadow .2s}
.vz-faq details[open]{border-color:#1C46C8 !important;box-shadow:0 10px 26px rgba(28,70,200,.1)}
.vz-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.vz-faq summary::-webkit-details-marker{display:none}
.vz-faq summary::after{content:"";flex:none;width:32px;height:32px;border-radius:999px;background:#E8EEFC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C46C8' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .3s}
.vz-faq details[open] summary::after{transform:rotate(45deg)}
.vz-faq details p{animation:vz-abre .3s ease-out}
@keyframes vz-abre{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes vz-pisca{0%,100%{opacity:1}50%{opacity:.35}}

/* selo flutuante no cartão do topo (início) */
.vz-selo-topo{position:absolute;top:-18px;right:20px;display:inline-flex;align-items:center;gap:8px;background:#0E1B33;color:#FFFFFF;border-radius:999px;padding:8px 14px 8px 10px;font-size:14px;font-weight:700;box-shadow:0 10px 24px rgba(14,27,51,.25);animation:vz-sobe 7s ease-in-out infinite}

@media (max-width:640px){
  .vz-painel-corpo{grid-template-columns:110px minmax(0,1fr);gap:14px}
  .vz-donut{width:110px;height:110px}
  .vz-donut .centro{font-size:0}.vz-donut .centro b{margin:0}
  .vz-chip{font-size:12px}
  .vz-deco i{opacity:.6}
}
@media (prefers-reduced-motion:reduce){
  .vz .rv{opacity:1;transform:none;transition:none}
  .vz-deco i,.vz-chip,.vz-brilho::before,.vz-brilho::after,.vz-selo-topo,.vz-pill::before{animation:none}
  .vz-mosaico span{transform:none;opacity:1;transition:none}
  .vz-mosaico .m4 path,.vz-doc .assin svg path{stroke-dashoffset:0;transition:none}
  .vz-donut .arco{stroke-dashoffset:0;transition:none}.vz-donut .centro b,.vz-barras li em,.vz-doc .selo{transform:scale(1);transition:none}
  .vz-barras li i::after,.vz-doc .ln::after,.vz-cota div i::after{transition:none}
  .vz-barras li i::after{width:100%}.vz-doc .ln::after{width:var(--w,100%)}.vz-cota div i::after{width:var(--w)}
}
