/* Prodígito · Elementor · páginas de SOLUÇÃO (v1)
   Carregue DEPOIS de prodigito-elementor.css (pacote da Home).
   Nada aqui mexe em body, a, h1–h6 ou em classes do tema: só nas classes ps-*
   que você escreve em Avançado > Classes CSS, e dentro de .ps-html (widgets HTML).

   Convenção: toda classe começa com ps-. As que terminam em "card", "grid" ou
   "ic" são de composição; as outras são de aparência. */

/* ============================================================
   0 · tokens que o pacote da Home já define (repetidos aqui só
       para o arquivo funcionar sozinho em um ambiente de teste)
   ============================================================ */
:root{
  --ps-ink:#001720;--ps-white:#fff;--ps-soft:#F0F6F5;--ps-mut:#41606C;--ps-bd:#DCE8E6;
  --ps-bd2:#5E7882;--ps-soft2:#C5D6DB;--ps-dark-bd:#1B3E4C;--ps-dark-bd2:#2B5361;--ps-aqua:#19EFC7;--ps-green:#67ED3F;
}

/* ============================================================
   1 · HERO DA SOLUÇÃO
   ============================================================ */
/* ps-solhero vai no container da seção do hero */
.ps-solhero{position:relative;overflow:hidden;isolation:isolate;border-bottom:4px solid var(--ps-ink)}
/* ps-solbg vai no WIDGET HTML do fundo (malha + brilho).
   Sem esta classe o widget absoluto fica com 0 × 0 e o fundo some. */
.ps-solbg{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;
  margin:0!important;padding:0!important;z-index:0;pointer-events:none}
.ps-solmesh{position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(0,23,32,.055) 0 1px,transparent 1px 40px),
             repeating-linear-gradient(0deg,rgba(0,23,32,.055) 0 1px,transparent 1px 40px);
  -webkit-mask-image:radial-gradient(120% 90% at 100% 0%,#000 10%,transparent 68%);
  mask-image:radial-gradient(120% 90% at 100% 0%,#000 10%,transparent 68%)}
.ps-solglow{position:absolute;right:-180px;top:-220px;width:620px;height:620px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(25,239,199,.30) 0%,rgba(103,237,63,.12) 45%,transparent 70%);
  animation:ps-breathe 14s ease-in-out infinite alternate}
@keyframes ps-breathe{from{transform:scale(1) translate(0,0)}to{transform:scale(1.14) translate(-40px,30px)}}
.ps-z1{position:relative;z-index:1}

/* trilha (shortcode do Rank Math ou HTML manual) */
.ps-crumb{font:400 13px/20px var(--font-text,"Lato",system-ui,sans-serif);color:var(--ps-mut)}
.ps-crumb .rank-math-breadcrumb p{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ps-crumb .rank-math-breadcrumb a{font:inherit;color:var(--ps-mut)!important;text-decoration:none}
.ps-crumb .rank-math-breadcrumb a:hover{color:var(--ps-ink)!important;text-decoration:underline}
.ps-crumb .rank-math-breadcrumb .separator{color:#8FADB6;font-weight:400}
.ps-crumb .rank-math-breadcrumb .last{color:var(--ps-ink)!important;font-weight:700}

/* etiqueta preta "Solução" e rótulo de cada seção (widget Título, tag DIV) */
.ps-kick .elementor-heading-title{display:inline-flex;align-items:center;height:32px;padding:0 16px;border-radius:9999px;
  background:var(--ps-ink);color:var(--ps-white);font:700 12px/32px var(--font-text);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.ps-band .ps-kick .elementor-heading-title{background:var(--ps-white);color:var(--ps-ink)}

/* ficha "O que está incluído" */
.ps-incl{position:relative;overflow:hidden;border:2px solid var(--ps-ink)!important;border-radius:16px!important;background:var(--ps-white)}
.ps-incl::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;z-index:2;
  background:linear-gradient(90deg,#67ED3F 0%,#19EFC7 100%)}
.ps-incl .ps-incl-t .elementor-heading-title{font:700 11px/16px var(--font-text);letter-spacing:.14em;text-transform:uppercase;color:var(--ps-mut)}
/* a lista é UM widget Lista de ícones com seis itens */
.ps-incl-list .elementor-icon-list-items{--e-icon-list-icon-size:13px;--e-icon-list-icon-margin:0}
.ps-incl-list .elementor-icon-list-item{align-items:flex-start}
.ps-incl-list .elementor-icon-list-icon{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:6px;
  padding:0!important;margin-top:1px;background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%)}
.ps-incl-list .elementor-icon-list-icon svg,.ps-incl-list .elementor-icon-list-icon i{
  display:block;margin:0;width:13px;height:13px;font-size:13px;line-height:1;color:var(--ps-ink);fill:var(--ps-ink);stroke:none}
.ps-incl-list .elementor-icon-list-text{padding-left:12px}

/* linha de fatos no pé do hero */
.ps-facts{border-top:1px solid var(--ps-bd)}
.ps-fact-l .elementor-heading-title{font:700 11px/16px var(--font-text);letter-spacing:.12em;text-transform:uppercase;color:var(--ps-mut)}
.ps-fact-v .elementor-heading-title{font:700 15px/22px var(--font-text);color:var(--ps-ink)}

/* ============================================================
   2 · CANAIS (cartões)
   ============================================================ */
.ps-chancard{position:relative;overflow:hidden;transition:border-color .3s,transform .3s,box-shadow .3s}
.ps-chancard::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;z-index:2;
  background:linear-gradient(90deg,#67ED3F 0%,#19EFC7 100%);transform:scaleX(0);transform-origin:0 50%;
  transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.ps-chancard:hover{border-color:var(--ps-ink)!important;transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,23,32,.12)}
.ps-chancard:hover::before{transform:scaleX(1)}
.ps-chanic .elementor-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;
  background:var(--ps-ink);color:var(--ps-white);
  transition:background .3s,color .3s,transform .45s cubic-bezier(.2,.8,.2,1)}
.ps-chancard:hover .ps-chanic .elementor-icon{background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%);color:var(--ps-ink);
  transform:rotate(-7deg) scale(1.06)}
.ps-chanic .elementor-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ps-badge .elementor-heading-title{display:inline-flex;align-items:center;height:28px;padding:0 14px;border-radius:9999px;
  background:var(--ps-soft);font:700 10px/28px var(--font-text);letter-spacing:.12em;text-transform:uppercase;color:var(--ps-mut)}
.ps-when{border-radius:16px;background:var(--ps-soft);transition:background .3s}
.ps-chancard:hover .ps-when{background:linear-gradient(90deg,rgba(103,237,63,.16),rgba(25,239,199,.16))}
.ps-when .elementor-icon{color:var(--ps-ink)}
.ps-when .elementor-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
/* Variante de um widget só: ps-when direto no Editor de texto. O check vem
   daqui, não do editor — assim ele não se perde quando você reescreve a frase.
   Tipografia e preenchimento continuam no painel; aqui só o lugar do ícone. */
.ps-when.elementor-widget-text-editor p{position:relative;margin:0;padding-left:29px}
.ps-when.elementor-widget-text-editor p::before{content:"";position:absolute;left:0;top:3px;width:17px;height:17px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23001720' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 13 4 4L19 7'/%3E%3C/svg%3E") 0 0/17px 17px no-repeat}
.ps-when b,.ps-when strong{color:var(--ps-ink)}

/* ============================================================
   3 · COMO FUNCIONA (linha do tempo)
   ============================================================ */
.ps-steps{position:relative}
/* o fio nasce em cada passo e morre no próximo: começa e termina no centro
   dos círculos, seja qual for a largura da coluna */
.ps-step::before,.ps-step::after{content:"";position:absolute;left:84px;right:-28px;top:37px;height:3px;border-radius:2px}
.ps-step::before{background:var(--ps-bd)}
.ps-step::after{background:linear-gradient(90deg,#67ED3F 0%,#19EFC7 100%);transform:scaleX(0);transform-origin:0 50%}
.ps-step:last-child::before,.ps-step:last-child::after{display:none}
.ps-steps.is-in .ps-step::after{transform:scaleX(1);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.ps-steps.is-in .ps-step:nth-child(2)::after{transition-delay:.3s}
.ps-steps.is-in .ps-step:nth-child(3)::after{transition-delay:.6s}
.ps-stepn .elementor-heading-title{position:relative;z-index:1;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;
  background:var(--ps-white);border:3px solid var(--ps-bd);font:700 28px/1 var(--font-display);color:var(--ps-mut);
  transition:border-color .3s,color .3s,background .3s}
.ps-steps.is-in .ps-stepn .elementor-heading-title{border-color:var(--ps-ink);color:var(--ps-ink)}
.ps-steps.is-in .ps-step:last-child .ps-stepn .elementor-heading-title{
  background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%);border-color:transparent}

/* ============================================================
   4 · COMO MEDIMOS (faixa escura)
   ============================================================ */
.ps-band{position:relative;overflow:hidden;background:var(--ps-ink);color:var(--ps-white)}
.ps-band::before{content:"";position:absolute;right:-160px;top:-180px;width:640px;height:640px;border-radius:50%;z-index:0;
  background:radial-gradient(circle,rgba(25,239,199,.18),transparent 66%);pointer-events:none}
.ps-band>*{position:relative;z-index:1}
.ps-mnote{border-left:3px solid var(--ps-dark-bd)}
.ps-mnote--on{border-left-color:var(--ps-aqua)}

/* o conteúdo animado vive em um widget HTML só: mapa + caminho em pé +
   painéis do CRM e do relatório. Veja medicao.html. */
.ps-html .ps-mapa{margin:8px 0 44px}
.ps-html .ps-mapa svg{display:block;width:100%;height:auto;overflow:visible}
.ps-html .ps-mapa .wire path{fill:none;stroke:#1B3E4C;stroke-width:2}
.ps-html .ps-mapa .chip rect{fill:rgba(255,255,255,.05);stroke:#1B3E4C;stroke-width:1;transition:fill .3s,stroke .3s}
.ps-html .ps-mapa .chip text{fill:#fff;font:700 15px/1 var(--font-text)}
.ps-html .ps-mapa .chip.is-on rect{fill:rgba(25,239,199,.12);stroke:#19EFC7}
.ps-html .ps-mapa .node rect{fill:rgba(255,255,255,.05);stroke:#1B3E4C;stroke-width:1;transition:fill .3s,stroke .3s}
.ps-html .ps-mapa .node.is-hit rect{fill:rgba(25,239,199,.10);stroke:#19EFC7}
.ps-html .ps-mapa .node--end rect{fill:url(#psgEnd);stroke:none}
/* O relatório é o único nó em gradiente. O realce dos outros troca o
   preenchimento; aqui isso apagaria o verde e deixaria o texto escuro
   ilegível por um instante. Então o gradiente fica e o realce vira halo. */
.ps-html .ps-mapa .node--end.is-hit rect{fill:url(#psgEnd);stroke:none}
.ps-html .ps-mapa .node--end{transition:filter .3s}
.ps-html .ps-mapa .node--end.is-hit{filter:drop-shadow(0 0 14px rgba(103,237,63,.6))}
.ps-html .ps-mapa .t{fill:#fff;font:700 17px/1 var(--font-display)}
.ps-html .ps-mapa .t--sm{fill:#C5D6DB;font:400 13px/1 var(--font-text)}
.ps-html .ps-mapa .t--stage{fill:#8FADB6;font:700 11px/1 var(--font-text);letter-spacing:.14em}
.ps-html .ps-mapa .t--dark{fill:#001720}
.ps-html .ps-mapa .t--dark-sm{fill:rgba(0,23,32,.75);font:400 13px/1 var(--font-text)}
.ps-html .ps-mapa #psPktTxt{fill:#19EFC7;font:700 12px/1 var(--font-text)}

.ps-html .ps-mgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.ps-html .ps-rep{border:1px solid #1B3E4C;border-radius:24px;background:rgba(255,255,255,.04);padding:28px;
  display:flex;flex-direction:column;gap:18px;min-height:320px}
.ps-html .ps-rep__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ps-html .ps-rep__top b{font:700 19px/26px var(--font-display);color:#fff}
.ps-html .ps-rep__tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:9999px;border:1px solid #2B5361;
  font:700 10px/24px var(--font-text);letter-spacing:.14em;text-transform:uppercase;color:#8FADB6}
.ps-html .ps-rep__rows{display:flex;flex-direction:column;gap:16px;flex:1}
.ps-html .ps-rep__row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;font-size:14px;line-height:20px;color:#fff;
  padding:8px 10px;margin:-8px -10px;border-radius:16px;transition:background .3s}
.ps-html .ps-rep__row span{color:#8FADB6;transition:color .3s}
.ps-html .ps-rep__row b{font-weight:700;font-variant-numeric:tabular-nums}
.ps-html .ps-rep__row i{grid-column:1/-1;display:block;height:7px;border-radius:9999px;background:rgba(255,255,255,.07);position:relative;overflow:hidden}
.ps-html .ps-rep__row i::after{content:"";position:absolute;inset:0 auto 0 0;width:0;border-radius:9999px;
  background:linear-gradient(90deg,#67ED3F 0%,#19EFC7 100%);transition:width 1s cubic-bezier(.2,.8,.2,1)}
.ps-html .ps-rep.is-in .ps-rep__row i::after{width:calc(var(--w)*1%)}
.ps-html .ps-rep.is-in .ps-rep__row:nth-child(2) i::after{transition-delay:.1s}
.ps-html .ps-rep.is-in .ps-rep__row:nth-child(3) i::after{transition-delay:.2s}
.ps-html .ps-rep.is-in .ps-rep__row:nth-child(4) i::after{transition-delay:.3s}
.ps-html .ps-rep__row.is-hit{background:rgba(25,239,199,.10)}
.ps-html .ps-rep__row.is-hit span{color:#fff}
.ps-html .ps-rep small{font-size:12px;line-height:19px;color:#8FADB6}
.ps-html .ps-crm__head,.ps-html .ps-crm__rows li{display:grid;grid-template-columns:76px 1fr 104px;gap:12px;align-items:center}
.ps-html .ps-crm__head{font:700 10px/14px var(--font-text);letter-spacing:.12em;text-transform:uppercase;color:#5E7882;
  padding-bottom:10px;border-bottom:1px solid #1B3E4C}
.ps-html .ps-crm__rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;flex:1}
.ps-html .ps-crm__rows li{padding:13px 0;border-bottom:1px solid #12313D;font-size:14px;line-height:20px;color:#fff;
  animation:ps-crmIn .5s cubic-bezier(.2,.8,.2,1) both}
.ps-html .ps-crm__rows li b{font-weight:700;font-variant-numeric:tabular-nums}
.ps-html .ps-crm__rows li .og{display:inline-flex;align-items:center;gap:7px;color:#C5D6DB;font-size:13px}
.ps-html .ps-crm__rows li .og::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;
  background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%)}
.ps-html .ps-crm__rows li em{justify-self:end;font-style:normal;font:700 11px/22px var(--font-text);letter-spacing:.06em;
  text-transform:uppercase;color:#19EFC7;border:1px solid #2B5361;border-radius:9999px;padding:0 10px}
@keyframes ps-crmIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.ps-html .ps-crm__vazio{padding:13px 0;font-size:14px;line-height:20px;color:#5E7882}

/* caminho em pé (tablet e celular) */
.ps-html .ps-vflow{display:none;list-style:none;margin:0 0 32px;padding:0;position:relative}
.ps-html .ps-vflow::before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:#1B3E4C}
.ps-html .ps-vflow::after{content:"";position:absolute;left:11px;top:14px;width:2px;height:0;
  background:linear-gradient(180deg,#67ED3F 0%,#19EFC7 100%);transition:height 1.6s cubic-bezier(.2,.8,.2,1)}
.ps-html .ps-vflow.is-in::after{height:calc(100% - 28px)}
.ps-html .ps-vflow li{position:relative;padding:0 0 26px 40px}
.ps-html .ps-vflow li:last-child{padding-bottom:0}
.ps-html .ps-vflow li::before{content:"";position:absolute;left:4px;top:7px;width:16px;height:16px;border-radius:50%;
  background:#001720;border:2px solid #2B5361;z-index:1;transition:border-color .3s,background .3s}
.ps-html .ps-vflow.is-in li::before{border-color:#19EFC7}
.ps-html .ps-vflow.is-in li.is-end::before{background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%);border-color:transparent}
.ps-html .ps-vflow b{display:block;font:700 17px/24px var(--font-text);color:#fff}
.ps-html .ps-vflow span{font-size:14px;line-height:22px;color:#C5D6DB}

/* ============================================================
   5 · LIMITES (cartões)
   ============================================================ */
.ps-limcard{position:relative;overflow:hidden;transition:border-color .3s,transform .3s,box-shadow .3s}
.ps-limcard:hover{border-color:var(--ps-ink)!important;transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,23,32,.12)}
.ps-limcard::after{content:"✕";position:absolute;right:-6px;bottom:-30px;font:700 120px/1 var(--font-display);
  color:var(--ps-soft);pointer-events:none;z-index:0}
.ps-limcard>*{position:relative;z-index:1}
.ps-limx .elementor-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ps-ink);color:var(--ps-white)}
.ps-limx .elementor-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}

/* ============================================================
   6 · REGRAS (cartões)
   ============================================================ */
.ps-rulecard{transition:border-color .3s,transform .3s,box-shadow .3s}
.ps-rulecard:hover{border-color:var(--ps-ink)!important;transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,23,32,.12)}
.ps-ruleic .elementor-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  border:2px solid var(--ps-bd2);color:var(--ps-ink);
  transition:background .3s,border-color .3s,transform .45s cubic-bezier(.2,.8,.2,1)}
.ps-rulecard:hover .ps-ruleic .elementor-icon{background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%);
  border-color:transparent;transform:rotate(-8deg) scale(1.06)}
.ps-ruleic .elementor-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ============================================================
   7 · POR SEGMENTO e SOLUÇÕES RELACIONADAS (widgets HTML)
   ============================================================ */
.ps-html .ps-segl{list-style:none;margin:0;padding:0;border-top:1px solid var(--ps-bd)}
.ps-html .ps-segl li{border-bottom:1px solid var(--ps-bd)}
.ps-html .ps-segl a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,32ch) 150px 36px;gap:24px;
  align-items:center;padding:22px 16px;text-decoration:none;color:var(--ps-ink);border-radius:16px;transition:background .25s}
.ps-html .ps-segl a::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:2px;
  background:linear-gradient(180deg,#67ED3F 0%,#19EFC7 100%);transform:scaleY(0);transform-origin:50% 0;
  transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.ps-html .ps-segl a:hover{background:var(--ps-soft)}
.ps-html .ps-segl a:hover::before{transform:scaleY(1)}
.ps-html .ps-segl b{font:700 21px/28px var(--font-display);letter-spacing:-.01em}
.ps-html .ps-segl p{margin:0;font-size:15px;line-height:23px;color:var(--ps-mut)}
.ps-html .ps-segl .res{justify-self:start;display:inline-flex;align-items:center;gap:8px;font:700 13px/20px var(--font-text);color:var(--ps-ink)}
.ps-html .ps-segl .res i{width:8px;height:8px;border-radius:50%;flex:none;background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%)}
.ps-html .ps-segl .go{justify-self:end;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--ps-bd);transition:background .25s,border-color .25s,color .25s}
.ps-html .ps-segl a:hover .go{background:var(--ps-ink);border-color:var(--ps-ink);color:var(--ps-white)}
.ps-html .ps-segl .go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.ps-html .ps-rel{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ps-html .ps-rel a{display:flex;align-items:center;gap:18px;padding:26px;border:1px solid var(--ps-bd);border-radius:24px;
  background:var(--ps-white);text-decoration:none;color:var(--ps-ink);transition:border-color .3s,transform .3s,box-shadow .3s}
.ps-html .ps-rel a:hover{border-color:var(--ps-ink);transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,23,32,.12)}
.ps-html .ps-rel .ic{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ps-soft);
  color:var(--ps-ink);flex:none;transition:background .3s}
.ps-html .ps-rel a:hover .ic{background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%)}
.ps-html .ps-rel .ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ps-html .ps-rel b{display:block;font:700 19px/26px var(--font-display);letter-spacing:-.01em;margin-bottom:4px}
.ps-html .ps-rel .d{display:block;font-size:14px;line-height:22px;color:var(--ps-mut)}
.ps-html .ps-rel .go{margin-left:auto;flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--ps-bd);transition:background .25s,border-color .25s,color .25s}
.ps-html .ps-rel a:hover .go{background:var(--ps-ink);border-color:var(--ps-ink);color:var(--ps-white)}
.ps-html .ps-rel .go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ============================================================
   8 · DEPOIMENTOS (cartões nativos)
   ============================================================ */
.ps-qcard{position:relative;overflow:hidden;transition:border-color .3s,transform .3s,box-shadow .3s}
.ps-qcard:hover{border-color:var(--ps-ink)!important;transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,23,32,.12)}
.ps-qcard::before{content:"”";position:absolute;right:30px;top:20px;font:700 92px/1 var(--font-display);pointer-events:none;z-index:0;
  background:linear-gradient(90deg,#67ED3F 0%,#19EFC7 100%);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;opacity:.24}
.ps-qcard>*{position:relative;z-index:1}
.ps-quote p{font:italic 300 22px/34px var(--font-text);color:var(--ps-ink);letter-spacing:-.01em}
.ps-qlogo .elementor-heading-title{display:grid;place-items:center;width:132px;height:42px;border-radius:10px;background:var(--ps-soft);
  font:700 10px/14px var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ps-mut);text-align:center}
.ps-qctx{border-top:1px solid var(--ps-bd)}

/* ============================================================
   9 · FAQ (widget HTML)
   ============================================================ */
.ps-html .ps-faq{border-top:1px solid var(--ps-bd);max-width:92ch}
.ps-html .ps-faq details{position:relative;border-bottom:1px solid var(--ps-bd);transition:background .25s}
.ps-html .ps-faq details::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,#67ED3F 0%,#19EFC7 100%);transform:scaleY(0);transform-origin:50% 0;transition:transform .3s}
.ps-html .ps-faq details[open]{background:var(--ps-soft)}
.ps-html .ps-faq details[open]::before{transform:scaleY(1)}
.ps-html .ps-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;
  padding:24px 20px;font:700 18px/27px var(--font-text);color:var(--ps-ink)}
.ps-html .ps-faq summary::-webkit-details-marker{display:none}
.ps-html .ps-faq summary .pm{position:relative;width:28px;height:28px;flex:none;border-radius:50%;border:1px solid var(--ps-bd2);
  transition:background .25s,border-color .25s}
.ps-html .ps-faq summary .pm::before,.ps-html .ps-faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;
  background:var(--ps-ink);border-radius:2px;transition:transform .25s,background .25s}
.ps-html .ps-faq summary .pm::before{width:12px;height:2px;margin:-1px 0 0 -6px}
.ps-html .ps-faq summary .pm::after{width:2px;height:12px;margin:-6px 0 0 -1px}
.ps-html .ps-faq details[open] .pm{background:var(--ps-ink);border-color:var(--ps-ink)}
.ps-html .ps-faq details[open] .pm::before,.ps-html .ps-faq details[open] .pm::after{background:var(--ps-white)}
.ps-html .ps-faq details[open] .pm::after{transform:scaleY(0)}
.ps-html .ps-faq p{margin:0;padding:0 20px 26px;max-width:72ch;font-size:16px;line-height:27px;color:var(--ps-mut)}

/* ============================================================
   10 · DIAGNÓSTICO (seção verde + formulário)
   ============================================================ */
.ps-cta{position:relative;overflow:hidden;background:#67ED3F!important;color:var(--ps-ink)}
.ps-cta::before{content:"";position:absolute;right:-180px;top:-220px;width:640px;height:640px;border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(25,239,199,.75),transparent 66%)}
.ps-cta::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;z-index:0;
  background:repeating-linear-gradient(90deg,rgba(0,23,32,.05) 0 1px,transparent 1px 40px),
             repeating-linear-gradient(0deg,rgba(0,23,32,.05) 0 1px,transparent 1px 40px);
  -webkit-mask-image:radial-gradient(120% 90% at 0% 100%,#000 10%,transparent 70%);
  mask-image:radial-gradient(120% 90% at 0% 100%,#000 10%,transparent 70%)}
.ps-cta>*{position:relative;z-index:1}
.ps-cta .ps-hl{background:var(--ps-ink);color:var(--ps-white)}
.ps-person{border-top:1px solid rgba(0,23,32,.28)}
/* o formulário é um widget HTML: veja formulario.html */
.ps-html .ps-form{position:relative;overflow:hidden;border-radius:24px;background:var(--ps-white);padding:32px;
  display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 60px rgba(0,23,32,.22)}
.ps-html .ps-form::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--ps-ink)}
.ps-html .ps-form[hidden]{display:none}   /* sem isto o display:flex vence o [hidden] no envio */
.ps-html .ps-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ps-html .ps-form fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ps-html .ps-form legend{padding:0;font:700 14px/20px var(--font-text);color:var(--ps-ink)}
.ps-html .ps-form .opts{display:flex;flex-direction:column;gap:8px}
.ps-html .ps-field{display:flex;flex-direction:column;gap:8px}
.ps-html .ps-field__label{font:700 14px/20px var(--font-text);color:var(--ps-ink)}
.ps-html .ps-input{width:100%;height:52px;padding:0 16px;border:2px solid var(--ps-bd2);border-radius:16px;background:var(--ps-white);
  color:var(--ps-ink);font:400 16px/24px var(--font-text);transition:box-shadow .2s,border-color .2s}
.ps-html .ps-input::placeholder{color:var(--ps-mut);opacity:1}
.ps-html .ps-input:focus{border-color:var(--ps-ink);box-shadow:0 0 0 4px rgba(25,239,199,.45);outline:none}
.ps-html .ps-input.sel{appearance:none;-webkit-appearance:none;padding-right:44px;
  background-image:linear-gradient(45deg,transparent 50%,#001720 50%),linear-gradient(135deg,#001720 50%,transparent 50%);
  background-position:calc(100% - 24px) 23px,calc(100% - 18px) 23px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.ps-html .ps-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:22px;color:var(--ps-ink)}
.ps-html .ps-check input{width:22px;height:22px;margin:0;accent-color:var(--ps-ink);flex:none}
.ps-html .ps-hint{margin:0;font-size:12px;line-height:18px;color:var(--ps-mut)}
/* estados de erro — o home.js cria o <p> quando a validação falha */
.ps-html .ps-field--error .ps-input{border-color:#E5484D}
.ps-html .ps-field__error{display:flex;gap:8px;align-items:center;margin:0;
  font:700 12px/18px var(--font-text);color:#E5484D}
/* confirmação depois do envio */
.ps-html .ps-ok{display:flex;flex-direction:column;align-items:flex-start;gap:16px;
  border-radius:24px;background:var(--ps-white);padding:40px 32px;box-shadow:0 30px 60px rgba(0,23,32,.22)}
.ps-html .ps-ok[hidden]{display:none}
.ps-html .ps-okic{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;
  background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%)}
.ps-html .ps-okic svg{width:36px;height:36px;fill:none;stroke:#001720;stroke-width:2.4;
  stroke-linecap:round;stroke-linejoin:round}
.ps-html .ps-ok h3{margin:0;font:700 32px/38px var(--font-display);letter-spacing:-.01em;color:var(--ps-ink)}
.ps-html .ps-ok p{margin:0;font:400 16px/26px var(--font-text);color:var(--ps-mut);max-width:46ch}

/* ============================================================
   11 · RESPONSIVO
   ============================================================ */
@media (max-width:1199px){
  .ps-html .ps-mgrid{grid-template-columns:1fr}
  .ps-html .ps-rep{min-height:0}
  .ps-html .ps-segl a{grid-template-columns:minmax(0,1fr) 150px 36px}
  .ps-html .ps-segl p{grid-column:1/-1;order:3}
}
@media (max-width:1023px){
  .ps-step::before,.ps-step::after{display:none}
  .ps-html .ps-mapa{display:none}
  .ps-html .ps-vflow{display:block}
  .ps-html .ps-rel{grid-template-columns:1fr}
}
@media (max-width:699px){
  .ps-limcard::after{font-size:92px}
  .ps-qcard::before{font-size:72px;top:16px;right:20px}
  .ps-html .ps-segl a{grid-template-columns:minmax(0,1fr) 36px;padding:18px 12px}
  .ps-html .ps-segl .res{grid-column:1/-1;order:4}
  .ps-html .ps-segl b{font-size:19px;line-height:26px}
  .ps-html .ps-faq summary{font-size:16px;line-height:25px;padding:20px 14px}
  .ps-html .ps-faq p{padding:0 14px 22px;font-size:15px;line-height:25px}
  .ps-html .ps-form{padding:24px}
  .ps-html .ps-form .row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .ps-solglow{animation:none!important}
  .ps-steps .ps-step::after{transform:scaleX(1)}
  .ps-html .ps-rep .ps-rep__row i::after{width:calc(var(--w)*1%)}
}