/* Páginas de serviço (sessão 2 da revisão de 02/11/2026): o que todas dividem.
   A cena de cada serviço fica no arquivo da própria página (servicos-<serviço>.css), que carrega depois deste. */

/* palavra com hífen que não pode quebrar no título (ar-condicionado) */
.sem-quebra{white-space:nowrap}

/* capa: a nota do Google na linha de prova (as estrelas são o acento amarelo da página) */
.hero .prova .nota-google{display:inline-flex;align-items:center;gap:8px}
.hero .prova .estrelas{color:var(--amarelo);letter-spacing:.14em;font-size:.82rem;line-height:1}

/* quem assina o que a Vestra entrega */
.quem-assina{display:flex;align-items:center;gap:18px;max-width:560px;margin:clamp(40px,5vw,64px) 0 0 auto;padding:18px 22px;border:1px solid var(--linha);border-radius:var(--raio);background:var(--branco)}
.quem-assina picture{flex:none;width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--linha)}
.quem-assina img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.quem-assina p{margin:0;font-size:.95rem;line-height:1.5;color:var(--suave)}
.quem-assina b{display:block;font-family:var(--titulo);font-weight:var(--peso-titulo);font-size:1rem;color:var(--noite);margin-bottom:2px}
.secao-branca .quem-assina{background:var(--fundo)}
@media (max-width:900px){.quem-assina{margin:36px auto 0}}

/* conversa de WhatsApp: mensagem com fotos e com arquivo */
.msg.fotos .miniaturas{display:grid;grid-template-columns:repeat(3,58px);gap:4px;margin:2px 0 6px}
.msg.fotos .miniaturas i{height:58px;border-radius:6px;background:linear-gradient(160deg,#cfd8dd,#8fa1ab)}
.msg.arquivo{display:flex;align-items:center;gap:10px;padding-bottom:10px}
.msg.arquivo .pdf{flex:none;width:34px;height:42px;border-radius:5px;background:#e5484d;color:#fff;font-size:.6rem;font-weight:600;letter-spacing:.04em;display:grid;place-items:end center;padding-bottom:5px}
.msg.arquivo b{display:block;font-size:.84rem}
.msg.arquivo small{color:#6b7d86;font-size:.72rem}

/* papéis que o cliente recebe (laudo, TRT, prancha): a arrumação de cada página fica no arquivo dela */
.papeis{display:grid;max-width:420px;width:100%;margin:0 auto;padding:20px 26px}
.papel{grid-area:1/1;aspect-ratio:210/297;display:flex;flex-direction:column;gap:10px;position:relative;padding:9% 9% 7%;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(11,26,36,.06),0 18px 40px -18px rgba(11,26,36,.3);font-size:.74rem;line-height:1.4;color:var(--texto);transition:transform 1.1s var(--sai) .2s}
.papel-topo{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;border-bottom:2px solid var(--noite);font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--suave)}
.papel-topo img{width:66px;height:auto}
.papel-titulo{font-family:var(--titulo);font-weight:var(--peso-titulo);font-size:1.02rem;line-height:1.2;color:var(--noite)}
.papel small{color:var(--suave)}
.papel-itens{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:8px}
.papel-itens li{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px dashed var(--linha)}
.papel-itens li::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;background:#d6f5e3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B7F4B' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/10px no-repeat}
.papel-conclusao{margin-top:auto;padding:10px 12px;border-radius:8px;background:#e9f7ef;color:var(--verde);font-weight:600}
.papel-assina{display:grid;gap:4px;justify-items:center;color:var(--suave);font-size:.66rem}
.papel-assina i{width:60%;height:22px;border-bottom:1.5px solid var(--texto)}
.papel .linhas{display:grid;gap:9px;margin-top:6px}
.papel .linhas i{height:7px;border-radius:4px;background:#e8ecef}
.papel .linhas i:nth-child(3n){width:70%}

.titulo-fluxo{margin-bottom:clamp(36px,5vw,64px)}
/* fluxo de etapas: a linha enche com a rolagem e cada etapa acende quando ela chega (servicos-comum.js);
   o número de etapas vai no style da lista: style="--n:4" (sem ele, 3) */
.fluxo{--n:3;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:clamp(20px,3.5vw,48px);position:relative}
.fluxo::before,.fluxo::after{content:"";position:absolute;top:59px;left:calc(100% / (2 * var(--n)));height:2px;border-radius:2px}
.fluxo::before{right:calc(100% / (2 * var(--n)));background:var(--linha)}
.fluxo::after{width:calc((100% - 100% / var(--n)) * var(--p,0));background:var(--noite)}
.fluxo li{position:relative;text-align:center}
.fluxo-ilustra{position:relative;z-index:1;width:120px;height:120px;margin:0 auto 26px;border-radius:50%;display:grid;place-items:center;background:var(--fundo);border:1px solid var(--linha);color:#93a7b3;transition:background .6s var(--curva),border-color .6s var(--curva),color .6s var(--curva)}
.secao:not(.secao-branca) .fluxo-ilustra{background:var(--branco)}
.fluxo-ilustra svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fluxo-ilustra .ok-ilustra{stroke-width:2.6}
.fluxo li.acesa .fluxo-ilustra,html:not(.js) .fluxo-ilustra{background:var(--noite);border-color:var(--noite);color:#fff}
.fluxo li.acesa .ok-ilustra{stroke:#7ee0a8}
.fluxo .dono{display:inline-block;margin-bottom:10px;padding:3px 10px;border-radius:999px;border:1px solid var(--linha);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--suave)}
.fluxo .dono.vestra{background:var(--noite);border-color:var(--noite);color:#fff}
.fluxo h3{font-size:clamp(1.15rem,1.7vw,1.35rem);margin-bottom:.45em}
.fluxo p{color:var(--suave);font-size:1rem;max-width:340px;margin:0 auto}
@media (max-width:860px){
  .fluxo{grid-template-columns:1fr;gap:34px}
  .fluxo::before,.fluxo::after{left:43px;top:44px;width:2px}
  .fluxo::before{bottom:44px;height:auto;right:auto}
  .fluxo::after{height:calc((100% - 88px) * var(--p,0))}
  .fluxo li{display:grid;grid-template-columns:88px 1fr;grid-auto-rows:min-content;column-gap:20px;text-align:left;align-items:start}
  .fluxo li>*:not(.fluxo-ilustra){grid-column:2}
  .fluxo-ilustra{width:88px;height:88px;margin:0;grid-row:1 / span 4}
  .fluxo-ilustra svg{width:42px;height:42px}
  .fluxo .dono{justify-self:start;margin:14px 0 8px}
  .fluxo h3{margin-top:14px}
  .fluxo .dono+h3{margin-top:0}
  .fluxo p{margin:0}
}

/* carimbo: entra girando e assenta */
.carimbo{position:absolute;padding:4px 10px;border:3px solid var(--verde);border-radius:7px;color:var(--verde);font-family:var(--titulo);font-weight:600;letter-spacing:.14em;line-height:1.2;opacity:0;transform:rotate(-14deg) scale(2.2);pointer-events:none}
@keyframes carimba{to{opacity:.92;transform:rotate(-14deg) scale(1)}}
.papel .carimbo{right:6%;top:47%;font-size:1.05rem}
.papeis.visivel .papel .carimbo{animation:carimba .45s 1.1s cubic-bezier(.3,1.5,.5,1) forwards}
